diff --git a/README.md b/README.md index 259a47e7..daf5b7cb 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,11 @@ Executes Javascript, Typescript Scripts. --> ## Changelog +### **WORK IN PROGRESS** +* (Eistee82) Fix: AI chat mode tooltip no longer covers the dropdown options (issue #2201) — moved tooltip to the left of the selector +* (Eistee82) Clarified the AI chat mode descriptions in the tooltip: Agent is for larger models with tool support and handles both analysis and script creation, Code is for smaller models without tool support (uses two-step plan-then-code) — translations updated in all 11 languages + + ### 9.2.1 (2026-04-30) * (@GermanBluefox) See previous changelog entries diff --git a/admin/assets/AiChatPanel-4DJVrj_d.js b/admin/assets/AiChatPanel-DBNjwmH-.js similarity index 83% rename from admin/assets/AiChatPanel-4DJVrj_d.js rename to admin/assets/AiChatPanel-DBNjwmH-.js index c5049856..bfacc621 100644 --- a/admin/assets/AiChatPanel-4DJVrj_d.js +++ b/admin/assets/AiChatPanel-DBNjwmH-.js @@ -1,4 +1,4 @@ -import{c as Se,j as i}from"./createSvgIcon-DYs_tNrE.js";import{k as U,j as te,b as ne,c as xe,l as Ae}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{z as $,P as ve,o as we,a0 as ct,a1 as lt,i as We,J as dt,r as ut,s as mt,u as pt,a2 as He,c as ft,f as Fe,g as ze,a3 as Oe,a4 as Ve,a5 as ht}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{_ as u}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{_ as Ze}from"./preload-helper-BDBacUwf.js";import{C as gt,b as yt,I as bt,R as xt}from"./index-SHs7_wDh.js";import{i as vt,k as qe,l as wt,n as St}from"./index-4KpiUWnm.js";import{g as kt,c as jt}from"./index-wHNMOf-c.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";const et=Se(i.jsx("path",{d:"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.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 8"}),"AddCircleOutline"),_t=Se(i.jsx("path",{d:"M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4zM17 11h-4v4h-2v-4H7V9h4V5h2v4h4z"}),"AddComment"),Ct=Se(i.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10h5v-2h-5c-4.34 0-8-3.66-8-8s3.66-8 8-8 8 3.66 8 8v1.43c0 .79-.71 1.57-1.5 1.57s-1.5-.78-1.5-1.57V12c0-2.76-2.24-5-5-5s-5 2.24-5 5 2.24 5 5 5c1.38 0 2.64-.56 3.54-1.47.65.89 1.77 1.47 2.96 1.47 1.97 0 3.5-1.6 3.5-3.57V12c0-5.52-4.48-10-10-10m0 13c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3"}),"AlternateEmail"),It=Se(i.jsx("path",{d:"M9.01 14H2v2h7.01v3L13 15l-3.99-4zm5.98-1v-3H22V8h-7.01V5L11 9z"}),"CompareArrows"),Tt=Se(i.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 4m0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"Person"),Ot=Se(i.jsx("path",{d:"M3 10h11v2H3zm0-4h11v2H3zm0 8h7v2H3zm17.59-2.07-4.25 4.24-2.12-2.12-1.41 1.41L16.34 19 22 13.34z"}),"PlaylistAddCheck"),Et=Se(i.jsx("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send"),Rt=Se(i.jsx("path",{d:"M20 9V7c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3S9 3.34 9 5H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3M7.5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S9.83 13 9 13s-1.5-.67-1.5-1.5M16 17H8v-2h8zm-1-4c-.83 0-1.5-.67-1.5-1.5S14.17 10 15 10s1.5.67 1.5 1.5S15.83 13 15 13"}),"SmartToy"),Nt=Ze(()=>import("./docs-compact-CKNGiYh2.js"),[],import.meta.url),$t={openai:"img/openai.svg",anthropic:"img/anthropic.svg",gemini:"img/gemini.svg",deepseek:"img/deepseek.svg",custom:"img/custom.svg"},Lt={width:16,height:16,flexShrink:0,opacity:.7},Mt={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"};let $e=null,Ue=null,Le=null,Me=null;function Dt(){$e=null,Ue=null,Le=null,Me=null}async function De(r,e){if($e)return $e;const n=Object.keys(e)[0];if(!n)return null;const t=await r.sendTo(n,"getAvailableAiProviders",{}),o=((t==null?void 0:t.providers)||[]).map(d=>d.provider),s=((t==null?void 0:t.providers)||[]).find(d=>d.provider==="custom");return o.length?($e={providers:o,gptBaseUrl:s==null?void 0:s.baseUrl},$e):null}const Bt=["embedding","text-embedding","textembedding","embeddinggemma","embed-","-embed","bge-","mxbai-embed","nomic-embed","arctic-embed","snowflake-arctic-embed","all-minilm","multilingual-e5","jina-embed","voyage-","gecko","paraphrase-multilingual","dall-e","gpt-image","image-edit","-image-preview","-image-latest","flash-image","nano-banana","stable-diffusion","sdxl","midjourney","flux-","imagen","sora","veo-","cogvideo","runway-","lumiere","lyria","whisper","tts-","-tts","speech-","audio-preview","mini-tts","mini-transcribe","-transcribe","native-audio","flash-live","gpt-audio","realtime","bark-","xtts","voicebox","moderation","omni-moderation","llama-guard","shieldgemma","prompt-guard","-guardian","safeguard","rerank","reranker","babbage-","davinci-","curie-","text-ada-","text-davinci","text-curie","text-babbage","instructgpt","code-davinci","code-cushman","-turbo-instruct","-search-preview","-search-api","code-search","text-search","similarity-","computer-use-preview","deep-research","robotics","aqa","reader-lm","-nsql","minicheck"];function zt(r){const e=r.toLowerCase();return!(Bt.some(n=>e.includes(n))||e.startsWith("claude-1")||e.startsWith("claude-instant"))}async function Pt(r,e){const n=await De(r,e);if(!n)return{models:[],providerMap:{},errors:["No API keys configured"]};const t=Object.keys(e)[0];if(!t)return{models:[],providerMap:{},errors:[u.I18n.t("No running javascript instance found")]};const o=[],s={},d=[],m=(a,y)=>{for(const l of a)zt(l)&&(s[l]||(o.push(l),s[l]=y))},c=[],p=(a,y)=>{c.push(r.sendTo(t,"testApiConnection",{provider:a==="custom"?"openai":a}).then(l=>{l.models?m(l.models,a):l.error&&d.push(`${y||a}: ${l.error}`)}).catch(l=>{d.push(`${y||a}: ${String(l)}`)}))},g={openai:"OpenAI",anthropic:"Anthropic",gemini:"Gemini",deepseek:"DeepSeek",custom:"Custom"};for(const a of n.providers)p(a,g[a]);return await Promise.all(c),o.sort(),{models:o,providerMap:s,errors:d}}async function Re(r,e,n){var o;return await r.sendTo(e,"chatCompletion",{timeout:n.timeout||6e5,model:n.model,provider:n.provider,messages:n.messages,...n.baseUrl?{baseUrl:n.baseUrl}:{},...(o=n.tools)!=null&&o.length?{tools:n.tools}:{}})}async function tt(r){if(Me)return Me;const e=await r.getObjectViewSystem("state","","香"),n=await r.getObjectViewSystem("channel","","香"),t=await r.getObjectViewSystem("device","","香"),o=await r.getObjectViewSystem("folder","","香"),s=await r.getObjectViewSystem("enum","","香");return Me=Object.assign(e,n,t,o,s),Me}async function nt(r){return tt(r)}function Ie(r,e){return r&&typeof r=="object"?r[e]||r.en:r||""}async function Ye(r){var S,b,v,F;if(Ue)return Ue;const e=u.I18n.getLanguage(),n=await tt(r),t=Object.keys(n).sort(),o=new gt,s=[],d=["UNREACH_STICKY"],m=[yt.Types.info],c=[],p=[],g=[],a=[];t.forEach(E=>{var I,x,w;((I=n[E])==null?void 0:I.type)==="enum"?c.push(E):(w=(x=n[E])==null?void 0:x.common)!=null&&w.smartName&&a.push(E)}),c.forEach(E=>{E.startsWith("enum.rooms.")?p.push(E):E.startsWith("enum.functions.")&&g.push(E);const I=n[E].common.members;I!=null&&I.length&&I.forEach(x=>{n[x]&&!a.includes(x)&&a.push(x)})});const y={id:"",objects:n,_keysOptional:t,_usedIdsOptional:s,ignoreIndicators:d,excludedTypes:m},l=[];a.forEach(E=>{y.id=E;const I=o.detect(y);I&&I.forEach(x=>{var de;const w=(de=x.states.find(T=>T.id))==null?void 0:de.id;if(!w||l.find(T=>T.id===w))return;const M=n[w],re={id:w,name:Ie(M.common.name,e),type:M.type,deviceType:x.type,states:x.states.filter(T=>T.id).map(T=>({id:T.id,name:T.name,role:T.defaultRole,type:n[T.id].common.type,unit:n[T.id].common.unit,read:n[T.id].common.read??!0,write:n[T.id].common.write??!0}))},Y=w.split(".");let _,G;(M.type==="channel"||M.type==="state")&&(Y.pop(),_=Y.join("."),n[_]&&(n[_].type==="channel"||n[_].type==="folder")?(Y.pop(),G=Y.join("."),(!n[G]||n[G].type!=="device"&&n[_].type!=="folder")&&(G=void 0)):_=void 0);const le=p.find(T=>{var A,X,Q;return(A=n[T].common.members)!=null&&A.includes(w)||_&&((X=n[T].common.members)!=null&&X.includes(_))?!0:G&&((Q=n[T].common.members)==null?void 0:Q.includes(G))});le&&(re.room=Ie(n[le].common.name,e));const K=g.find(T=>{var A,X,Q;return(A=n[T].common.members)!=null&&A.includes(w)||_&&((X=n[T].common.members)!=null&&X.includes(_))?!0:G&&((Q=n[T].common.members)==null?void 0:Q.includes(G))});K&&(re.function=Ie(n[K].common.name,e)),l.push(re)})});for(let E=0;Eimport("./docs-compact-CKNGiYh2.js"),[],import.meta.url),$t={openai:"img/openai.svg",anthropic:"img/anthropic.svg",gemini:"img/gemini.svg",deepseek:"img/deepseek.svg",custom:"img/custom.svg"},Lt={width:16,height:16,flexShrink:0,opacity:.7},Mt={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"};let $e=null,Ae=null,Le=null,Me=null;function Dt(){$e=null,Ae=null,Le=null,Me=null}async function De(r,e){if($e)return $e;const n=Object.keys(e)[0];if(!n)return null;const t=await r.sendTo(n,"getAvailableAiProviders",{}),o=((t==null?void 0:t.providers)||[]).map(d=>d.provider),s=((t==null?void 0:t.providers)||[]).find(d=>d.provider==="custom");return o.length?($e={providers:o,gptBaseUrl:s==null?void 0:s.baseUrl},$e):null}const Bt=["embedding","text-embedding","textembedding","embeddinggemma","embed-","-embed","bge-","mxbai-embed","nomic-embed","arctic-embed","snowflake-arctic-embed","all-minilm","multilingual-e5","jina-embed","voyage-","gecko","paraphrase-multilingual","dall-e","gpt-image","image-edit","-image-preview","-image-latest","flash-image","nano-banana","stable-diffusion","sdxl","midjourney","flux-","imagen","sora","veo-","cogvideo","runway-","lumiere","lyria","whisper","tts-","-tts","speech-","audio-preview","mini-tts","mini-transcribe","-transcribe","native-audio","flash-live","gpt-audio","realtime","bark-","xtts","voicebox","moderation","omni-moderation","llama-guard","shieldgemma","prompt-guard","-guardian","safeguard","rerank","reranker","babbage-","davinci-","curie-","text-ada-","text-davinci","text-curie","text-babbage","instructgpt","code-davinci","code-cushman","-turbo-instruct","-search-preview","-search-api","code-search","text-search","similarity-","computer-use-preview","deep-research","robotics","aqa","reader-lm","-nsql","minicheck"];function zt(r){const e=r.toLowerCase();return!(Bt.some(n=>e.includes(n))||e.startsWith("claude-1")||e.startsWith("claude-instant"))}async function Pt(r,e){const n=await De(r,e);if(!n)return{models:[],providerMap:{},errors:["No API keys configured"]};const t=Object.keys(e)[0];if(!t)return{models:[],providerMap:{},errors:[u.I18n.t("No running javascript instance found")]};const o=[],s={},d=[],m=(a,y)=>{for(const l of a)zt(l)&&(s[l]||(o.push(l),s[l]=y))},c=[],p=(a,y)=>{c.push(r.sendTo(t,"testApiConnection",{provider:a==="custom"?"openai":a}).then(l=>{l.models?m(l.models,a):l.error&&d.push(`${y||a}: ${l.error}`)}).catch(l=>{d.push(`${y||a}: ${String(l)}`)}))},g={openai:"OpenAI",anthropic:"Anthropic",gemini:"Gemini",deepseek:"DeepSeek",custom:"Custom"};for(const a of n.providers)p(a,g[a]);return await Promise.all(c),o.sort(),{models:o,providerMap:s,errors:d}}async function Re(r,e,n){var o;return await r.sendTo(e,"chatCompletion",{timeout:n.timeout||6e5,model:n.model,provider:n.provider,messages:n.messages,...n.baseUrl?{baseUrl:n.baseUrl}:{},...(o=n.tools)!=null&&o.length?{tools:n.tools}:{}})}async function tt(r){if(Me)return Me;const e=await r.getObjectViewSystem("state","","香"),n=await r.getObjectViewSystem("channel","","香"),t=await r.getObjectViewSystem("device","","香"),o=await r.getObjectViewSystem("folder","","香"),s=await r.getObjectViewSystem("enum","","香");return Me=Object.assign(e,n,t,o,s),Me}async function nt(r){return tt(r)}function Ie(r,e){return r&&typeof r=="object"?r[e]||r.en:r||""}async function Ye(r){var S,b,v,H;if(Ae)return Ae;const e=u.I18n.getLanguage(),n=await tt(r),t=Object.keys(n).sort(),o=new gt,s=[],d=["UNREACH_STICKY"],m=[yt.Types.info],c=[],p=[],g=[],a=[];t.forEach(E=>{var I,x,w;((I=n[E])==null?void 0:I.type)==="enum"?c.push(E):(w=(x=n[E])==null?void 0:x.common)!=null&&w.smartName&&a.push(E)}),c.forEach(E=>{E.startsWith("enum.rooms.")?p.push(E):E.startsWith("enum.functions.")&&g.push(E);const I=n[E].common.members;I!=null&&I.length&&I.forEach(x=>{n[x]&&!a.includes(x)&&a.push(x)})});const y={id:"",objects:n,_keysOptional:t,_usedIdsOptional:s,ignoreIndicators:d,excludedTypes:m},l=[];a.forEach(E=>{y.id=E;const I=o.detect(y);I&&I.forEach(x=>{var de;const w=(de=x.states.find(T=>T.id))==null?void 0:de.id;if(!w||l.find(T=>T.id===w))return;const M=n[w],re={id:w,name:Ie(M.common.name,e),type:M.type,deviceType:x.type,states:x.states.filter(T=>T.id).map(T=>({id:T.id,name:T.name,role:T.defaultRole,type:n[T.id].common.type,unit:n[T.id].common.unit,read:n[T.id].common.read??!0,write:n[T.id].common.write??!0}))},Y=w.split(".");let _,G;(M.type==="channel"||M.type==="state")&&(Y.pop(),_=Y.join("."),n[_]&&(n[_].type==="channel"||n[_].type==="folder")?(Y.pop(),G=Y.join("."),(!n[G]||n[G].type!=="device"&&n[_].type!=="folder")&&(G=void 0)):_=void 0);const le=p.find(T=>{var U,X,Q;return(U=n[T].common.members)!=null&&U.includes(w)||_&&((X=n[T].common.members)!=null&&X.includes(_))?!0:G&&((Q=n[T].common.members)==null?void 0:Q.includes(G))});le&&(re.room=Ie(n[le].common.name,e));const K=g.find(T=>{var U,X,Q;return(U=n[T].common.members)!=null&&U.includes(w)||_&&((X=n[T].common.members)!=null&&X.includes(_))?!0:G&&((Q=n[T].common.members)==null?void 0:Q.includes(G))});K&&(re.function=Ie(n[K].common.name,e)),l.push(re)})});for(let E=0;E -Write comments in ${r}. Put blocks in a \`\`\`xml code block.`}function Pe(r){let e=r;return e=e.replace(/[\s\S]*?<\/think>/gi,""),e=e.replace(/<\|endoftext\|>/g,""),e=e.replace(/<\|im_start\|>[\s\S]*?<\|im_end\|>/g,""),e=e.replace(/<\|im_start\|>[\s\S]*/g,""),e.trim()}const Jt=[{type:"function",function:{name:"search_datapoints",description:'Search ALL ioBroker objects by ID, name, or role — includes states, channels, devices, folders, enums (rooms/functions), adapters, instances, scripts, meta, etc. Returns matching IDs with object type, name, role, unit, and a hasChildren hint for containers. IMPORTANT: Aliases and physical device groupings are usually CHANNELS containing multiple state children (e.g. a motion sensor is often a channel alias.0.Floor.Room.MotionSensor with states ACTUAL, BATTERY, STATE under it). If a channel/device/folder matches your query, call get_object_info on its ID to list its state children. Role-based queries work too: "sensor.motion", "switch.light", "value.temperature".',parameters:{type:"object",properties:{query:{type:"string",description:'Search pattern (case-insensitive substring) - matches against object ID, name, and role. Examples: "bewegungsmelder", "temperature", "sensor.motion", "alias.0", "küche", "zigbee2mqtt.0.lamp".'},max_results:{type:"number",description:"Maximum number of results to return (default: 20)."},object_type:{type:"string",description:'Optional filter by object type: "state", "channel", "device", "folder", "enum", "adapter", "instance", "script", "meta", etc. Omit to search every type.'}},required:["query"]}}},{type:"function",function:{name:"get_state_value",description:"Get the current value of an ioBroker state/datapoint. Returns value, timestamp, and acknowledgment flag.",parameters:{type:"object",properties:{id:{type:"string",description:'The full state ID, e.g. "zigbee2mqtt.0.sensor.temperature"'}},required:["id"]}}},{type:"function",function:{name:"get_object_info",description:"Get detailed info about ANY ioBroker object + its full parent hierarchy + direct children. Works for every object type: state, channel, device, folder, adapter, instance, enum, meta, script. Returns: the object itself, parent chain (all non-state ancestors up to the adapter), and — if the object is a container (channel/device/folder/enum/instance/adapter/meta) — the list of direct children with their types, names, roles and units. Use this to navigate the object tree: start from a channel found by search_datapoints, read its children to see the actual state IDs underneath.",parameters:{type:"object",properties:{id:{type:"string",description:'The full object ID, e.g. "zigbee2mqtt.0.0x1234.state", "alias.0.Room.MotionSensor", or "enum.rooms.kitchen".'}},required:["id"]}}},{type:"function",function:{name:"search_scripts",description:"Search through all ioBroker JavaScript/Blockly/Rules scripts. Can search by script name/path OR by content (e.g. find all scripts that use a specific datapoint ID). Returns matching script names, paths, and matching lines.",parameters:{type:"object",properties:{query:{type:"string",description:'Search term - matches against script name, path, AND source code content. Examples: "carport", "zigbee2mqtt.0.lamp.state", "telegram"'},max_results:{type:"number",description:"Maximum number of scripts to return (default: 10)"}},required:["query"]}}},{type:"function",function:{name:"read_script",description:"Read the full source code of a specific ioBroker script by its ID or path. Use search_scripts first to find the script ID, then read_script to see its complete code.",parameters:{type:"object",properties:{id:{type:"string",description:'The script ID (e.g. "script.js.common.Licht.Carport") or path (e.g. "common/Licht/Carport")'}},required:["id"]}}},{type:"function",function:{name:"list_scripts",description:"List ALL available ioBroker scripts with their names, paths, types (JavaScript/Blockly/TypeScript), and enabled status. Use this to get an overview of all scripts before searching or reading specific ones.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_editor_selection",description:'Read what the user has currently selected in the script editor. Returns the selected text and its line/column range, or a message if nothing is selected. Use this when the user refers to "this", "das hier", "the selection", or asks about a specific piece of code they highlighted.',parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_editor_content",description:"Read the full current content of the script editor (may differ from the initial script version if the user has made edits). Use this when you need the live editor state rather than the saved script.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_cursor_position",description:"Read the current cursor position (line and column, 1-based) in the script editor.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"highlight_text_in_editor",description:"Search for a literal text in the script editor and select + scroll to it. Returns how many occurrences were found. Use this to draw the user's attention to a specific snippet you are discussing.",parameters:{type:"object",properties:{text:{type:"string",description:"Exact substring to search for (case-sensitive)."}},required:["text"]}}},{type:"function",function:{name:"highlight_line_range",description:"Select and scroll to a range of lines in the editor. Both line numbers are 1-based and inclusive. Use this to show the user which block of code you are referring to.",parameters:{type:"object",properties:{start_line:{type:"number",description:"First line (1-based, inclusive)."},end_line:{type:"number",description:"Last line (1-based, inclusive)."}},required:["start_line","end_line"]}}},{type:"function",function:{name:"go_to_line",description:"Move the cursor to a specific line (and optional column) and scroll that line into view. Use this to navigate the user to a relevant spot.",parameters:{type:"object",properties:{line:{type:"number",description:"1-based line number."},column:{type:"number",description:"1-based column (optional, default 1)."}},required:["line"]}}},{type:"function",function:{name:"insert_text_at_cursor",description:"Insert text at the current cursor position in the editor (or replace the current selection if one exists). Use sparingly — prefer returning code in a fenced markdown block so the user can review and smart-apply it. Only use direct insertion when the user explicitly asked you to write something into the editor.",parameters:{type:"object",properties:{text:{type:"string",description:"Text to insert."}},required:["text"]}}},{type:"function",function:{name:"replace_selection",description:"Replace the currently selected text in the editor with new text. Fails if nothing is selected. Use this to refactor or rewrite a specific highlighted snippet.",parameters:{type:"object",properties:{text:{type:"string",description:"Replacement text."}},required:["text"]}}},{type:"function",function:{name:"get_diagnostics",description:"Read all active Monaco diagnostics (errors, warnings, info, hints) from the current editor model — this is what shows up as red/yellow squiggles. Use this to find syntax errors, unused variables, missing types, or other editor-reported issues the user might be asking about.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_document_symbols",description:"Get the document outline of the current script: all top-level functions, classes, constants, and variables with their line numbers. Use this to understand the structure of a long script or to find where a specific function is defined.",parameters:{type:"object",properties:{}}}}];function Je(r){return r&&typeof r=="object"?r.en||r.de||"":r||""}function Wt(r,e,n){const t=(n||"").toLowerCase();if(!t)return!1;if(r.toLowerCase().includes(t))return!0;const o=e==null?void 0:e.common;if(!o)return!1;const s=Je(o.name).toLowerCase();if(s&&s.includes(t))return!0;const d=(o.role||"").toLowerCase();return!!(d&&d.includes(t))}async function Ht(r,e,n=20,t){const o=await nt(r),s=t==null?void 0:t.toLowerCase(),d=[],m=Object.keys(o),c=new Set;for(const p of m){const g=p.lastIndexOf(".");g>0&&c.add(p.substring(0,g))}for(const p of m){const g=o[p],a=g==null?void 0:g.type;if(!a||s&&a!==s||!Wt(p,g,e))continue;const y=g.common,l={id:p,type:a,name:Je(y==null?void 0:y.name)};if(y!=null&&y.role&&(l.role=y.role),a==="state"?(l.stateType=(y==null?void 0:y.type)||"",y!=null&&y.unit&&(l.unit=y.unit)):c.has(p)&&(l.hasChildren=!0),d.push(l),d.length>=n)break}return d.length===0?JSON.stringify({message:`No objects found matching "${e}". Hint: try a role like "sensor.motion" or a partial path.`}):JSON.stringify(d)}async function Ft(r,e){try{const n=await r.getState(e);return JSON.stringify(n?{val:n.val,ts:n.ts?new Date(n.ts).toISOString():null,ack:n.ack,from:n.from}:{error:`State '${e}' not found`})}catch{return JSON.stringify({error:`Failed to read state '${e}'`})}}const Vt=new Set(["channel","device","folder","adapter","instance","enum","meta"]),Ke=50;async function qt(r,e){var n;try{const t=await r.getObject(e);if(!t)return JSON.stringify({error:`Object '${e}' not found`});const o={id:t._id,type:t.type,common:t.common},s=e.split("."),d=[];for(let m=s.length-1;m>=2;m--){const c=s.slice(0,m).join(".");try{const p=await r.getObject(c);p&&p.type!=="state"&&d.push({id:p._id,type:p.type,name:Je((n=p.common)==null?void 0:n.name),common:p.common})}catch{}}if(d.length>0&&(o.parents=d),Vt.has(t.type)){const m=await nt(r),c=[],p=`${e}.`;let g=!1;for(const a of Object.keys(m))if(a.startsWith(p)&&!a.substring(p.length).includes(".")){const y=m[a],l=y==null?void 0:y.common,S={id:a,name:Je(l==null?void 0:l.name),type:(y==null?void 0:y.type)||""};if(l!=null&&l.role&&(S.role=l.role),(y==null?void 0:y.type)==="state"&&(l!=null&&l.unit)&&(S.unit=l.unit),c.push(S),c.length>=Ke){g=!0;break}}c.length>0&&(o.children=c,g&&(o.childrenTruncated=!0,o.childrenHint=`Only the first ${Ke} children are shown. Use search_datapoints with a more specific query or the object_type filter to narrow down.`))}return JSON.stringify(o)}catch{return JSON.stringify({error:`Failed to read object '${e}'`})}}function st(r){return vt(r)||r}function Yt(r,e,n=10){const t=e.toLowerCase(),o=[];for(const s of r){const d=s.id.toLowerCase(),m=s.name.toLowerCase(),c=s.id.replace(/^script\.js\./,"").replace(/\./g,"/"),p=s.engineType==="Blockly"||s.engineType==="Rules",g=d.includes(t)||m.includes(t),a=p?st(s.source):s.source,y=a.toLowerCase().includes(t);if(g||y){const l={id:s.id,path:c,name:s.name,type:p?"Blockly":s.engineType.includes("TypeScript")?"TypeScript":"JavaScript",enabled:s.enabled};if(y){const S=a.split(` -`),b=[];for(let v=0;v=5));v++);b.length>0&&(l.matchingLines=b)}if(o.push(l),o.length>=n)break}}return o.length===0?JSON.stringify({message:`No scripts found matching "${e}"`}):JSON.stringify(o)}function Gt(r,e){const n=e.replace(/\//g,".").toLowerCase(),t=r.find(m=>{const c=m.id.toLowerCase();return c===n||c===`script.js.${n}`||c.endsWith(`.${n}`)});if(!t)return JSON.stringify({error:`Script '${e}' not found. Use search_scripts to find available scripts.`});const o=t.engineType==="Blockly"||t.engineType==="Rules",s=o?st(t.source):t.source,d=t.id.replace(/^script\.js\./,"").replace(/\./g,"/");return JSON.stringify({id:t.id,path:d,name:t.name,type:o?"Blockly":t.engineType.includes("TypeScript")?"TypeScript":"JavaScript",enabled:t.enabled,source:s})}function Xt(r){const e=r.map(n=>({id:n.id,path:n.id.replace(/^script\.js\./,"").replace(/\./g,"/"),name:n.name,type:n.engineType==="Blockly"||n.engineType==="Rules"?"Blockly":n.engineType.includes("TypeScript")?"TypeScript":"JavaScript",enabled:n.enabled}));return JSON.stringify(e)}function he(){return JSON.stringify({error:"Editor is not available. This tool requires the script editor to be open."})}async function Kt(r,e,n,t){let o;try{o=JSON.parse(e.function.arguments)}catch{return JSON.stringify({error:`Invalid arguments: ${e.function.arguments}`})}switch(e.function.name){case"search_datapoints":return Ht(r,o.query,o.max_results||20,o.object_type);case"get_state_value":return Ft(r,o.id);case"get_object_info":return qt(r,o.id);case"search_scripts":return Yt(n||[],o.query,o.max_results||10);case"read_script":return Gt(n||[],o.id);case"list_scripts":return Xt(n||[]);case"get_editor_selection":{if(!(t!=null&&t.getSelection))return he();const s=t.getSelection();return JSON.stringify(s||{message:"No text is currently selected in the editor."})}case"get_editor_content":return t!=null&&t.getContent?JSON.stringify({content:t.getContent()}):he();case"get_cursor_position":{if(!(t!=null&&t.getCursorPosition))return he();const s=t.getCursorPosition();return JSON.stringify(s||{message:"Editor has no cursor position (not focused)."})}case"highlight_text_in_editor":{if(!(t!=null&&t.highlightText))return he();const s=t.highlightText(o.text);return JSON.stringify({matches:s,message:s===0?`Text "${o.text}" was not found in the editor.`:`Highlighted ${s} occurrence(s) of "${o.text}".`})}case"highlight_line_range":{if(!(t!=null&&t.highlightLineRange))return he();const s=t.highlightLineRange(o.start_line,o.end_line);return JSON.stringify({success:s,message:s?`Selected lines ${o.start_line}-${o.end_line}.`:"Could not select the requested line range."})}case"go_to_line":{if(!(t!=null&&t.goToLine))return he();const s=t.goToLine(o.line,o.column);return JSON.stringify({success:s,message:s?`Cursor moved to line ${o.line}.`:"Could not move the cursor."})}case"insert_text_at_cursor":{if(!(t!=null&&t.insertTextAtCursor))return he();const s=t.insertTextAtCursor(o.text);return JSON.stringify({success:s,message:s?"Text inserted at cursor.":"Editor rejected the insertion."})}case"replace_selection":{if(!(t!=null&&t.replaceSelection))return he();const s=t.replaceSelection(o.text);return JSON.stringify({success:s,message:s?"Selection replaced.":"No text was selected to replace."})}case"get_diagnostics":{if(!(t!=null&&t.getDiagnostics))return he();const s=t.getDiagnostics();return JSON.stringify({count:s.length,diagnostics:s})}case"get_document_symbols":{if(!(t!=null&&t.getSymbols))return he();const s=await t.getSymbols();return JSON.stringify({count:s.length,symbols:s})}default:return JSON.stringify({error:`Unknown tool: ${e.function.name}`})}}let Qt=0;function Ne(){return`msg_${Date.now()}_${++Qt}`}function Zt(r){const{socket:e,runningInstances:n,currentCode:t,currentLanguage:o,allScripts:s,editorApi:d,currentScriptId:m}=r,c=U((f,O,R)=>f==="none"||!R?null:{range:O,scriptId:m||"",scriptVersion:(t||"").length,kind:f,originalText:R},[m,t]),[p,g]=te(()=>{try{const f=window.localStorage.getItem("Editor.aiChatMessages");return f?JSON.parse(f):[]}catch{return[]}}),a=U(f=>{g(O=>{const R=typeof f=="function"?f(O):f,L=R.length>100?R.slice(-100):R;try{window.localStorage.setItem("Editor.aiChatMessages",JSON.stringify(L))}catch{try{const W=L.slice(-20);window.localStorage.setItem("Editor.aiChatMessages",JSON.stringify(W))}catch{}}return L})},[]),[y,l]=te(!1),[S,b]=te(null),[v,F]=te(window.localStorage.getItem("Editor.aiChatMode")||"agent"),E=U(f=>{F(f),window.localStorage.setItem("Editor.aiChatMode",f)},[]),[I,x]=te(null),[w,M]=te(window.localStorage.getItem("openai-model")||""),[re,Y]=te([]),[_,G]=te({}),[le,K]=te(!0),[de,T]=te(null),A=ne(null),X=ne(null),Q=ne(null),h=ne(null),C=U(f=>{M(f),window.localStorage.setItem("openai-model",f)},[]),k=U(async()=>{K(!0),T(null);try{const f=await Pt(e,n);if(Y(f.models),G(f.providerMap),f.models.length>0){const O=window.localStorage.getItem("openai-model");O&&f.models.includes(O)?M(O):M(f.models[0])}f.errors.length>0&&T(f.errors.join("; "))}catch(f){T(String(f))}K(!1)},[e,n]);xe(()=>{k()},[k]);const z=U(f=>{let O=!1,R=!1;const L=[];let W=!1;const ge=/@([\w/äöüÄÖÜß-]+)/g;let D;for(;(D=ge.exec(f))!==null;){const B=D[1].toLowerCase();if(B==="alle"||B==="all")O=!0;else if(B==="geräte"||B==="devices"||B==="geraete")R=!0;else if(W=!0,s&&s.length>0){const V=D[1].replace(/\//g,".").toLowerCase(),oe=V.split("."),ie=s.find(ye=>{const me=ye.id.toLowerCase(),Z=me.replace(/^script\.js\./,"");if(Z===V||Z.endsWith(`.${V}`)||me===`script.js.${V}`)return!0;let _e=0;for(const pe of oe){const Ce=Z.indexOf(pe,_e);if(Ce===-1)return!1;_e=Ce+pe.length}return!0});if(ie)L.push(ie.id);else for(const ye of oe){if(ye.length<3)continue;const me=s.filter(Z=>Z.id.toLowerCase().includes(`.${ye}`)||Z.name.toLowerCase().includes(ye));for(const Z of me)L.includes(Z.id)||L.push(Z.id)}}}return W&&L.length===0&&(O=!0),{cleanMessage:f.replace(/@[\w/äöüÄÖÜß]+\s*/g,"").trim(),mentionedScriptIds:L,includeAll:O,includeDevices:R}},[s]),se=U(async(f,O,R)=>{h.current||(h.current=await Ut()),A.current||(A.current=await De(e,n));const L=Ge(),W=o==="blockly",ge=f||R.length>0;let D=`You are an AI assistant for ioBroker JavaScript adapter scripting. Help the user write, debug, and understand ioBroker scripts. Write comments in ${L}. Use the ioBroker JavaScript API correctly. +Write comments in ${r}. Put blocks in a \`\`\`xml code block.`}function Pe(r){let e=r;return e=e.replace(/[\s\S]*?<\/think>/gi,""),e=e.replace(/<\|endoftext\|>/g,""),e=e.replace(/<\|im_start\|>[\s\S]*?<\|im_end\|>/g,""),e=e.replace(/<\|im_start\|>[\s\S]*/g,""),e.trim()}const Jt=[{type:"function",function:{name:"search_datapoints",description:'Search ALL ioBroker objects by ID, name, or role — includes states, channels, devices, folders, enums (rooms/functions), adapters, instances, scripts, meta, etc. Returns matching IDs with object type, name, role, unit, and a hasChildren hint for containers. IMPORTANT: Aliases and physical device groupings are usually CHANNELS containing multiple state children (e.g. a motion sensor is often a channel alias.0.Floor.Room.MotionSensor with states ACTUAL, BATTERY, STATE under it). If a channel/device/folder matches your query, call get_object_info on its ID to list its state children. Role-based queries work too: "sensor.motion", "switch.light", "value.temperature".',parameters:{type:"object",properties:{query:{type:"string",description:'Search pattern (case-insensitive substring) - matches against object ID, name, and role. Examples: "bewegungsmelder", "temperature", "sensor.motion", "alias.0", "küche", "zigbee2mqtt.0.lamp".'},max_results:{type:"number",description:"Maximum number of results to return (default: 20)."},object_type:{type:"string",description:'Optional filter by object type: "state", "channel", "device", "folder", "enum", "adapter", "instance", "script", "meta", etc. Omit to search every type.'}},required:["query"]}}},{type:"function",function:{name:"get_state_value",description:"Get the current value of an ioBroker state/datapoint. Returns value, timestamp, and acknowledgment flag.",parameters:{type:"object",properties:{id:{type:"string",description:'The full state ID, e.g. "zigbee2mqtt.0.sensor.temperature"'}},required:["id"]}}},{type:"function",function:{name:"get_object_info",description:"Get detailed info about ANY ioBroker object + its full parent hierarchy + direct children. Works for every object type: state, channel, device, folder, adapter, instance, enum, meta, script. Returns: the object itself, parent chain (all non-state ancestors up to the adapter), and — if the object is a container (channel/device/folder/enum/instance/adapter/meta) — the list of direct children with their types, names, roles and units. Use this to navigate the object tree: start from a channel found by search_datapoints, read its children to see the actual state IDs underneath.",parameters:{type:"object",properties:{id:{type:"string",description:'The full object ID, e.g. "zigbee2mqtt.0.0x1234.state", "alias.0.Room.MotionSensor", or "enum.rooms.kitchen".'}},required:["id"]}}},{type:"function",function:{name:"search_scripts",description:"Search through all ioBroker JavaScript/Blockly/Rules scripts. Can search by script name/path OR by content (e.g. find all scripts that use a specific datapoint ID). Returns matching script names, paths, and matching lines.",parameters:{type:"object",properties:{query:{type:"string",description:'Search term - matches against script name, path, AND source code content. Examples: "carport", "zigbee2mqtt.0.lamp.state", "telegram"'},max_results:{type:"number",description:"Maximum number of scripts to return (default: 10)"}},required:["query"]}}},{type:"function",function:{name:"read_script",description:"Read the full source code of a specific ioBroker script by its ID or path. Use search_scripts first to find the script ID, then read_script to see its complete code.",parameters:{type:"object",properties:{id:{type:"string",description:'The script ID (e.g. "script.js.common.Licht.Carport") or path (e.g. "common/Licht/Carport")'}},required:["id"]}}},{type:"function",function:{name:"list_scripts",description:"List ALL available ioBroker scripts with their names, paths, types (JavaScript/Blockly/TypeScript), and enabled status. Use this to get an overview of all scripts before searching or reading specific ones.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_editor_selection",description:'Read what the user has currently selected in the script editor. Returns the selected text and its line/column range, or a message if nothing is selected. Use this when the user refers to "this", "das hier", "the selection", or asks about a specific piece of code they highlighted.',parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_editor_content",description:"Read the full current content of the script editor (may differ from the initial script version if the user has made edits). Use this when you need the live editor state rather than the saved script.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_cursor_position",description:"Read the current cursor position (line and column, 1-based) in the script editor.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"highlight_text_in_editor",description:"Search for a literal text in the script editor and select + scroll to it. Returns how many occurrences were found. Use this to draw the user's attention to a specific snippet you are discussing.",parameters:{type:"object",properties:{text:{type:"string",description:"Exact substring to search for (case-sensitive)."}},required:["text"]}}},{type:"function",function:{name:"highlight_line_range",description:"Select and scroll to a range of lines in the editor. Both line numbers are 1-based and inclusive. Use this to show the user which block of code you are referring to.",parameters:{type:"object",properties:{start_line:{type:"number",description:"First line (1-based, inclusive)."},end_line:{type:"number",description:"Last line (1-based, inclusive)."}},required:["start_line","end_line"]}}},{type:"function",function:{name:"go_to_line",description:"Move the cursor to a specific line (and optional column) and scroll that line into view. Use this to navigate the user to a relevant spot.",parameters:{type:"object",properties:{line:{type:"number",description:"1-based line number."},column:{type:"number",description:"1-based column (optional, default 1)."}},required:["line"]}}},{type:"function",function:{name:"insert_text_at_cursor",description:"Insert text at the current cursor position in the editor (or replace the current selection if one exists). Use sparingly — prefer returning code in a fenced markdown block so the user can review and smart-apply it. Only use direct insertion when the user explicitly asked you to write something into the editor.",parameters:{type:"object",properties:{text:{type:"string",description:"Text to insert."}},required:["text"]}}},{type:"function",function:{name:"replace_selection",description:"Replace the currently selected text in the editor with new text. Fails if nothing is selected. Use this to refactor or rewrite a specific highlighted snippet.",parameters:{type:"object",properties:{text:{type:"string",description:"Replacement text."}},required:["text"]}}},{type:"function",function:{name:"get_diagnostics",description:"Read all active Monaco diagnostics (errors, warnings, info, hints) from the current editor model — this is what shows up as red/yellow squiggles. Use this to find syntax errors, unused variables, missing types, or other editor-reported issues the user might be asking about.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"get_document_symbols",description:"Get the document outline of the current script: all top-level functions, classes, constants, and variables with their line numbers. Use this to understand the structure of a long script or to find where a specific function is defined.",parameters:{type:"object",properties:{}}}}];function Je(r){return r&&typeof r=="object"?r.en||r.de||"":r||""}function Wt(r,e,n){const t=(n||"").toLowerCase();if(!t)return!1;if(r.toLowerCase().includes(t))return!0;const o=e==null?void 0:e.common;if(!o)return!1;const s=Je(o.name).toLowerCase();if(s&&s.includes(t))return!0;const d=(o.role||"").toLowerCase();return!!(d&&d.includes(t))}async function Ft(r,e,n=20,t){const o=await nt(r),s=t==null?void 0:t.toLowerCase(),d=[],m=Object.keys(o),c=new Set;for(const p of m){const g=p.lastIndexOf(".");g>0&&c.add(p.substring(0,g))}for(const p of m){const g=o[p],a=g==null?void 0:g.type;if(!a||s&&a!==s||!Wt(p,g,e))continue;const y=g.common,l={id:p,type:a,name:Je(y==null?void 0:y.name)};if(y!=null&&y.role&&(l.role=y.role),a==="state"?(l.stateType=(y==null?void 0:y.type)||"",y!=null&&y.unit&&(l.unit=y.unit)):c.has(p)&&(l.hasChildren=!0),d.push(l),d.length>=n)break}return d.length===0?JSON.stringify({message:`No objects found matching "${e}". Hint: try a role like "sensor.motion" or a partial path.`}):JSON.stringify(d)}async function Ht(r,e){try{const n=await r.getState(e);return JSON.stringify(n?{val:n.val,ts:n.ts?new Date(n.ts).toISOString():null,ack:n.ack,from:n.from}:{error:`State '${e}' not found`})}catch{return JSON.stringify({error:`Failed to read state '${e}'`})}}const Vt=new Set(["channel","device","folder","adapter","instance","enum","meta"]),Ke=50;async function qt(r,e){var n;try{const t=await r.getObject(e);if(!t)return JSON.stringify({error:`Object '${e}' not found`});const o={id:t._id,type:t.type,common:t.common},s=e.split("."),d=[];for(let m=s.length-1;m>=2;m--){const c=s.slice(0,m).join(".");try{const p=await r.getObject(c);p&&p.type!=="state"&&d.push({id:p._id,type:p.type,name:Je((n=p.common)==null?void 0:n.name),common:p.common})}catch{}}if(d.length>0&&(o.parents=d),Vt.has(t.type)){const m=await nt(r),c=[],p=`${e}.`;let g=!1;for(const a of Object.keys(m))if(a.startsWith(p)&&!a.substring(p.length).includes(".")){const y=m[a],l=y==null?void 0:y.common,S={id:a,name:Je(l==null?void 0:l.name),type:(y==null?void 0:y.type)||""};if(l!=null&&l.role&&(S.role=l.role),(y==null?void 0:y.type)==="state"&&(l!=null&&l.unit)&&(S.unit=l.unit),c.push(S),c.length>=Ke){g=!0;break}}c.length>0&&(o.children=c,g&&(o.childrenTruncated=!0,o.childrenHint=`Only the first ${Ke} children are shown. Use search_datapoints with a more specific query or the object_type filter to narrow down.`))}return JSON.stringify(o)}catch{return JSON.stringify({error:`Failed to read object '${e}'`})}}function st(r){return vt(r)||r}function Yt(r,e,n=10){const t=e.toLowerCase(),o=[];for(const s of r){const d=s.id.toLowerCase(),m=s.name.toLowerCase(),c=s.id.replace(/^script\.js\./,"").replace(/\./g,"/"),p=s.engineType==="Blockly"||s.engineType==="Rules",g=d.includes(t)||m.includes(t),a=p?st(s.source):s.source,y=a.toLowerCase().includes(t);if(g||y){const l={id:s.id,path:c,name:s.name,type:p?"Blockly":s.engineType.includes("TypeScript")?"TypeScript":"JavaScript",enabled:s.enabled};if(y){const S=a.split(` +`),b=[];for(let v=0;v=5));v++);b.length>0&&(l.matchingLines=b)}if(o.push(l),o.length>=n)break}}return o.length===0?JSON.stringify({message:`No scripts found matching "${e}"`}):JSON.stringify(o)}function Gt(r,e){const n=e.replace(/\//g,".").toLowerCase(),t=r.find(m=>{const c=m.id.toLowerCase();return c===n||c===`script.js.${n}`||c.endsWith(`.${n}`)});if(!t)return JSON.stringify({error:`Script '${e}' not found. Use search_scripts to find available scripts.`});const o=t.engineType==="Blockly"||t.engineType==="Rules",s=o?st(t.source):t.source,d=t.id.replace(/^script\.js\./,"").replace(/\./g,"/");return JSON.stringify({id:t.id,path:d,name:t.name,type:o?"Blockly":t.engineType.includes("TypeScript")?"TypeScript":"JavaScript",enabled:t.enabled,source:s})}function Xt(r){const e=r.map(n=>({id:n.id,path:n.id.replace(/^script\.js\./,"").replace(/\./g,"/"),name:n.name,type:n.engineType==="Blockly"||n.engineType==="Rules"?"Blockly":n.engineType.includes("TypeScript")?"TypeScript":"JavaScript",enabled:n.enabled}));return JSON.stringify(e)}function he(){return JSON.stringify({error:"Editor is not available. This tool requires the script editor to be open."})}async function Kt(r,e,n,t){let o;try{o=JSON.parse(e.function.arguments)}catch{return JSON.stringify({error:`Invalid arguments: ${e.function.arguments}`})}switch(e.function.name){case"search_datapoints":return Ft(r,o.query,o.max_results||20,o.object_type);case"get_state_value":return Ht(r,o.id);case"get_object_info":return qt(r,o.id);case"search_scripts":return Yt(n||[],o.query,o.max_results||10);case"read_script":return Gt(n||[],o.id);case"list_scripts":return Xt(n||[]);case"get_editor_selection":{if(!(t!=null&&t.getSelection))return he();const s=t.getSelection();return JSON.stringify(s||{message:"No text is currently selected in the editor."})}case"get_editor_content":return t!=null&&t.getContent?JSON.stringify({content:t.getContent()}):he();case"get_cursor_position":{if(!(t!=null&&t.getCursorPosition))return he();const s=t.getCursorPosition();return JSON.stringify(s||{message:"Editor has no cursor position (not focused)."})}case"highlight_text_in_editor":{if(!(t!=null&&t.highlightText))return he();const s=t.highlightText(o.text);return JSON.stringify({matches:s,message:s===0?`Text "${o.text}" was not found in the editor.`:`Highlighted ${s} occurrence(s) of "${o.text}".`})}case"highlight_line_range":{if(!(t!=null&&t.highlightLineRange))return he();const s=t.highlightLineRange(o.start_line,o.end_line);return JSON.stringify({success:s,message:s?`Selected lines ${o.start_line}-${o.end_line}.`:"Could not select the requested line range."})}case"go_to_line":{if(!(t!=null&&t.goToLine))return he();const s=t.goToLine(o.line,o.column);return JSON.stringify({success:s,message:s?`Cursor moved to line ${o.line}.`:"Could not move the cursor."})}case"insert_text_at_cursor":{if(!(t!=null&&t.insertTextAtCursor))return he();const s=t.insertTextAtCursor(o.text);return JSON.stringify({success:s,message:s?"Text inserted at cursor.":"Editor rejected the insertion."})}case"replace_selection":{if(!(t!=null&&t.replaceSelection))return he();const s=t.replaceSelection(o.text);return JSON.stringify({success:s,message:s?"Selection replaced.":"No text was selected to replace."})}case"get_diagnostics":{if(!(t!=null&&t.getDiagnostics))return he();const s=t.getDiagnostics();return JSON.stringify({count:s.length,diagnostics:s})}case"get_document_symbols":{if(!(t!=null&&t.getSymbols))return he();const s=await t.getSymbols();return JSON.stringify({count:s.length,symbols:s})}default:return JSON.stringify({error:`Unknown tool: ${e.function.name}`})}}let Qt=0;function Ne(){return`msg_${Date.now()}_${++Qt}`}function Zt(r){const{socket:e,runningInstances:n,currentCode:t,currentLanguage:o,allScripts:s,editorApi:d,currentScriptId:m}=r,c=A((f,O,R)=>f==="none"||!R?null:{range:O,scriptId:m||"",scriptVersion:(t||"").length,kind:f,originalText:R},[m,t]),[p,g]=te(()=>{try{const f=window.localStorage.getItem("Editor.aiChatMessages");return f?JSON.parse(f):[]}catch{return[]}}),a=A(f=>{g(O=>{const R=typeof f=="function"?f(O):f,L=R.length>100?R.slice(-100):R;try{window.localStorage.setItem("Editor.aiChatMessages",JSON.stringify(L))}catch{try{const W=L.slice(-20);window.localStorage.setItem("Editor.aiChatMessages",JSON.stringify(W))}catch{}}return L})},[]),[y,l]=te(!1),[S,b]=te(null),[v,H]=te(window.localStorage.getItem("Editor.aiChatMode")||"agent"),E=A(f=>{H(f),window.localStorage.setItem("Editor.aiChatMode",f)},[]),[I,x]=te(null),[w,M]=te(window.localStorage.getItem("openai-model")||""),[re,Y]=te([]),[_,G]=te({}),[le,K]=te(!0),[de,T]=te(null),U=ne(null),X=ne(null),Q=ne(null),h=ne(null),C=A(f=>{M(f),window.localStorage.setItem("openai-model",f)},[]),k=A(async()=>{K(!0),T(null);try{const f=await Pt(e,n);if(Y(f.models),G(f.providerMap),f.models.length>0){const O=window.localStorage.getItem("openai-model");O&&f.models.includes(O)?M(O):M(f.models[0])}f.errors.length>0&&T(f.errors.join("; "))}catch(f){T(String(f))}K(!1)},[e,n]);xe(()=>{k()},[k]);const z=A(f=>{let O=!1,R=!1;const L=[];let W=!1;const ge=/@([\w/äöüÄÖÜß-]+)/g;let D;for(;(D=ge.exec(f))!==null;){const B=D[1].toLowerCase();if(B==="alle"||B==="all")O=!0;else if(B==="geräte"||B==="devices"||B==="geraete")R=!0;else if(W=!0,s&&s.length>0){const V=D[1].replace(/\//g,".").toLowerCase(),oe=V.split("."),ie=s.find(ye=>{const me=ye.id.toLowerCase(),Z=me.replace(/^script\.js\./,"");if(Z===V||Z.endsWith(`.${V}`)||me===`script.js.${V}`)return!0;let _e=0;for(const pe of oe){const Ce=Z.indexOf(pe,_e);if(Ce===-1)return!1;_e=Ce+pe.length}return!0});if(ie)L.push(ie.id);else for(const ye of oe){if(ye.length<3)continue;const me=s.filter(Z=>Z.id.toLowerCase().includes(`.${ye}`)||Z.name.toLowerCase().includes(ye));for(const Z of me)L.includes(Z.id)||L.push(Z.id)}}}return W&&L.length===0&&(O=!0),{cleanMessage:f.replace(/@[\w/äöüÄÖÜß]+\s*/g,"").trim(),mentionedScriptIds:L,includeAll:O,includeDevices:R}},[s]),se=A(async(f,O,R)=>{h.current||(h.current=await At()),U.current||(U.current=await De(e,n));const L=Ge(),W=o==="blockly",ge=f||R.length>0;let D=`You are an AI assistant for ioBroker JavaScript adapter scripting. Help the user write, debug, and understand ioBroker scripts. Write comments in ${L}. Use the ioBroker JavaScript API correctly. ioBroker object hierarchy: adapter.instance.device.channel.state - A "state" is a single datapoint (e.g. zigbee2mqtt.0.0x1234.temperature) @@ -227,7 +227,7 @@ Available API and syntax rules: ${h.current}`;if(W&&(D+="\n\nThe user is working in the Blockly visual editor. When asked to create or modify code, respond with Blockly XML in a ```xml code block instead of JavaScript."),(O||f)&&(Q.current||(Q.current=await Ye(e)),D+=` Available smart home devices: -${JSON.stringify(Q.current,null,0)}`),!ge&&t)if(W){const H="%%BLOCKLY_XML%%",B=t.indexOf(H),V=B!==-1?t.substring(0,B).trim():t,oe=B!==-1?t.substring(B+H.length).trim():"";D+=` +${JSON.stringify(Q.current,null,0)}`),!ge&&t)if(W){const F="%%BLOCKLY_XML%%",B=t.indexOf(F),V=B!==-1?t.substring(0,B).trim():t,oe=B!==-1?t.substring(B+F.length).trim():"";D+=` The user is working on this Blockly script (currently open in the editor). @@ -248,13 +248,13 @@ ${t} The user requested ALL scripts. Search through all of them to answer the question. Always identify WHICH script you describe by its full ID. Scripts may reference datapoint IDs via variables. -${qe(s,!0)}`;else if(R.length>0&&s){const H=s.filter(B=>R.includes(B.id));H.length>0&&(D+=` +${qe(s,!0)}`;else if(R.length>0&&s){const F=s.filter(B=>R.includes(B.id));F.length>0&&(D+=` IMPORTANT: The user is asking about the following script(s). Answer ONLY about these scripts, NOT about the currently open editor tab. Analyze the source code below carefully: -${qe(H,!0)}`)}return W&&(D+=` +${qe(F,!0)}`)}return W&&(D+=` -${Xe(L)}`),[{role:"system",content:D}]},[e,n,t,o,s]),ke=U(async f=>{if(!f.trim()||y)return;const O=_[w];if(!O){x(u.I18n.t("Please select a valid model"));return}const R=A.current||await De(e,n);if(A.current=R,!R){x(u.I18n.t("No API keys configured"));return}const L=Object.keys(n)[0];if(!L){x(u.I18n.t("No running javascript instance found"));return}const W=O==="custom"&&R.gptBaseUrl||"",ge={id:Ne(),role:"user",content:f,timestamp:Date.now()},D={id:Ne(),role:"assistant",content:`⏳ ${u.I18n.t("Generating plan...")}`,timestamp:Date.now()};a(H=>[...H,ge,D]),l(!0),x(null);try{const H=Ge();Q.current||(Q.current=await Ye(e));const B=Q.current||[],V=`Devices in my smart home: +${Xe(L)}`),[{role:"system",content:D}]},[e,n,t,o,s]),ke=A(async f=>{if(!f.trim()||y)return;const O=_[w];if(!O){x(u.I18n.t("Please select a valid model"));return}const R=U.current||await De(e,n);if(U.current=R,!R){x(u.I18n.t("No API keys configured"));return}const L=Object.keys(n)[0];if(!L){x(u.I18n.t("No running javascript instance found"));return}const W=O==="custom"&&R.gptBaseUrl||"",ge={id:Ne(),role:"user",content:f,timestamp:Date.now()},D={id:Ne(),role:"assistant",content:`⏳ ${u.I18n.t("Generating plan...")}`,timestamp:Date.now()};a(F=>[...F,ge,D]),l(!0),x(null);try{const F=Ge();Q.current||(Q.current=await Ye(e));const B=Q.current||[],V=`Devices in my smart home: ${JSON.stringify(B)} I need a plan for this task: ${f} @@ -272,12 +272,12 @@ ${ie}`}),j});const ye={id:Ne(),role:"assistant",content:`⏳ ${u.I18n.t("Generat PLAN: ${ie} -Generate Blockly XML blocks for this ioBroker automation. Use the exact state IDs from the plan. If the plan contains TODO_DEVICE_ID, keep it as a placeholder. Write comments in ${H}. Put the blocks in a \`\`\`xml code block. You may add a short explanation before or after the XML.`:`TASK: ${f} +Generate Blockly XML blocks for this ioBroker automation. Use the exact state IDs from the plan. If the plan contains TODO_DEVICE_ID, keep it as a placeholder. Write comments in ${F}. Put the blocks in a \`\`\`xml code block. You may add a short explanation before or after the XML.`:`TASK: ${f} PLAN: ${ie} -Write the ioBroker script. Use the exact state IDs from the plan. If the plan contains TODO_DEVICE_ID, keep it as a placeholder with a comment so the user can fill in the correct ID. Write comments in ${H}. Put the code in a \`\`\`javascript code block. You may add a short explanation before or after the code.`,_e=me?Xe(H):At(H),pe=await Re(e,L,{messages:[{role:"system",content:_e},{role:"user",content:Z}],model:w,provider:O,baseUrl:W});if(pe.error){x(pe.error),a(ae=>ae.slice(0,-1)),l(!1);return}const Ce=Pe(pe.content||"");a(ae=>{const j=[...ae],P=j[j.length-1];return(P==null?void 0:P.role)==="assistant"&&(j[j.length-1]={...P,content:Ce}),j}),b(`${u.I18n.t("devices")}: ${B.length}`)}catch(H){x(String(H)),a(B=>B.slice(0,-1))}l(!1)},[w,_,y,e,n,o,a]),J=U(async f=>{var ae;if(v==="code")return ke(f);if(!f.trim()||y)return;const O=_[w];if(!O){x(u.I18n.t("Please select a valid model"));return}const R=A.current||await De(e,n);if(A.current=R,!R){x(u.I18n.t("No API keys configured"));return}const L=Object.keys(n)[0];if(!L){x(u.I18n.t("No running javascript instance found"));return}let W=X.current;if(X.current=null,!W)try{const j=(ae=d==null?void 0:d.getSelection)==null?void 0:ae.call(d);j&&j.text&&(W=c("selection",j.range,j.text))}catch{}const ge={id:Ne(),role:"user",content:f,timestamp:Date.now(),sourceRange:W},D={id:Ne(),role:"assistant",content:"",timestamp:Date.now(),sourceRange:W};a(j=>[...j,ge,D]),l(!0),x(null);const{cleanMessage:H,mentionedScriptIds:B,includeAll:V,includeDevices:oe}=z(f),ie=[];if(V)ie.push(`${u.I18n.t("all scripts")} (${(s==null?void 0:s.length)||0})`);else if(B.length>0){const j=B.map(P=>P.replace(/^script\.js\./,""));ie.push(j.join(", "))}else ie.push(u.I18n.t("current script"));oe&&ie.push(u.I18n.t("devices")),b(`${u.I18n.t("Context")}: ${ie.join(" + ")}`);const ye=await se(V,oe,B),me=O==="custom"&&R.gptBaseUrl||"";let Z=H||f;if(s&&s.length>0){const j=Z.match(/\b[\w-]+\.\d+\.[\w.-]+/g);if(j){const P=[];for(const ee of new Set(j)){const be=wt(s,ee);be.length>0&&P.push(`Datapoint "${ee}" is used in: +Write the ioBroker script. Use the exact state IDs from the plan. If the plan contains TODO_DEVICE_ID, keep it as a placeholder with a comment so the user can fill in the correct ID. Write comments in ${F}. Put the code in a \`\`\`javascript code block. You may add a short explanation before or after the code.`,_e=me?Xe(F):Ut(F),pe=await Re(e,L,{messages:[{role:"system",content:_e},{role:"user",content:Z}],model:w,provider:O,baseUrl:W});if(pe.error){x(pe.error),a(ae=>ae.slice(0,-1)),l(!1);return}const Ce=Pe(pe.content||"");a(ae=>{const j=[...ae],P=j[j.length-1];return(P==null?void 0:P.role)==="assistant"&&(j[j.length-1]={...P,content:Ce}),j}),b(`${u.I18n.t("devices")}: ${B.length}`)}catch(F){x(String(F)),a(B=>B.slice(0,-1))}l(!1)},[w,_,y,e,n,o,a]),J=A(async f=>{var ae;if(v==="code")return ke(f);if(!f.trim()||y)return;const O=_[w];if(!O){x(u.I18n.t("Please select a valid model"));return}const R=U.current||await De(e,n);if(U.current=R,!R){x(u.I18n.t("No API keys configured"));return}const L=Object.keys(n)[0];if(!L){x(u.I18n.t("No running javascript instance found"));return}let W=X.current;if(X.current=null,!W)try{const j=(ae=d==null?void 0:d.getSelection)==null?void 0:ae.call(d);j&&j.text&&(W=c("selection",j.range,j.text))}catch{}const ge={id:Ne(),role:"user",content:f,timestamp:Date.now(),sourceRange:W},D={id:Ne(),role:"assistant",content:"",timestamp:Date.now(),sourceRange:W};a(j=>[...j,ge,D]),l(!0),x(null);const{cleanMessage:F,mentionedScriptIds:B,includeAll:V,includeDevices:oe}=z(f),ie=[];if(V)ie.push(`${u.I18n.t("all scripts")} (${(s==null?void 0:s.length)||0})`);else if(B.length>0){const j=B.map(P=>P.replace(/^script\.js\./,""));ie.push(j.join(", "))}else ie.push(u.I18n.t("current script"));oe&&ie.push(u.I18n.t("devices")),b(`${u.I18n.t("Context")}: ${ie.join(" + ")}`);const ye=await se(V,oe,B),me=O==="custom"&&R.gptBaseUrl||"";let Z=F||f;if(s&&s.length>0){const j=Z.match(/\b[\w-]+\.\d+\.[\w.-]+/g);if(j){const P=[];for(const ee of new Set(j)){const be=wt(s,ee);be.length>0&&P.push(`Datapoint "${ee}" is used in: ${be.map(je=>` - ${je.scriptName} (${je.scriptId}) line ${je.lineNumber}: ${je.usageType} → ${je.line}`).join(` `)}`)}P.length>0&&(Z+=` @@ -285,7 +285,7 @@ ${be.map(je=>` - ${je.scriptName} (${je.scriptId}) line ${je.lineNumber}: ${je. ${P.join(` `)}`)}}const _e=[...ye,...p.filter(j=>j.role!=="system").map(j=>({role:j.role,content:j.content})),{role:"user",content:Z}],pe=v==="agent",Ce=5;try{const j=[..._e];for(let P=0;PN.slice(0,-1));else{const N=Pe(q.content||"");a(ce=>{const fe=[...ce],Be=fe[fe.length-1];return(Be==null?void 0:Be.role)==="assistant"&&(fe[fe.length-1]={...Be,content:N}),fe})}break}x(ee.error),a(q=>q.slice(0,-1));break}let be=ee.tool_calls;if((!be||be.length===0)&&pe&&ee.content){const q=ee.content.trim();try{const N=JSON.parse(q);N.name&&N.arguments&&(be=[{id:`text_tool_${Date.now()}`,type:"function",function:{name:N.name,arguments:JSON.stringify(N.arguments)}}])}catch{}}if(!be||be.length===0){const q=Pe(ee.content||"");a(N=>{const ce=[...N],fe=ce[ce.length-1];return(fe==null?void 0:fe.role)==="assistant"&&(ce[ce.length-1]={...fe,content:q}),ce});break}ee.tool_calls=be;const je=ee.tool_calls.map(q=>{let N={};try{N=JSON.parse(q.function.arguments)}catch{}switch(q.function.name){case"search_datapoints":return`🔍 ${u.I18n.t("Searching datapoints")}: "${String(N.query||"")}"`;case"get_state_value":return`📊 ${u.I18n.t("Reading value")}: ${String(N.id||"")}`;case"get_object_info":return`📋 ${u.I18n.t("Loading object info")}: ${String(N.id||"")}`;case"search_scripts":return`🔍 ${u.I18n.t("Searching scripts")}: "${String(N.query||"")}"`;case"read_script":return`📖 ${u.I18n.t("Reading script")}: ${String(N.id||"")}`;case"list_scripts":return`📂 ${u.I18n.t("Loading script list")}`;default:return`⚙️ ${q.function.name}`}});a(q=>{const N=[...q],ce=N[N.length-1];return(ce==null?void 0:ce.role)==="assistant"&&(N[N.length-1]={...ce,content:je.join(` -`)}),N}),j.push({role:"assistant",content:ee.content||"",tool_calls:ee.tool_calls});for(const q of ee.tool_calls){const N=await Kt(e,q,s,d);j.push({role:"tool",tool_call_id:q.id,content:N})}}}catch(j){x(String(j)),a(P=>P.slice(0,-1))}l(!1)},[w,_,p,y,e,n,se,z,s,v,ke,a,c,d]),ue=U(()=>{a([]),x(null),l(!1),b(null),Dt(),window.localStorage.removeItem("Editor.aiChatHistory")},[a]),it=U(async(f,O)=>{const R=_[w];if(!R)return`Error: ${u.I18n.t("Please select a valid model")}`;const L=A.current||await De(e,n);if(A.current=L,!L)return`Error: ${u.I18n.t("No API keys configured")}`;const W=Object.keys(n)[0];if(!W)return`Error: ${u.I18n.t("No running javascript instance found")}`;const ge=R==="custom"&&L.gptBaseUrl||"",D=o||"javascript",H=`You are an assistant for writing ioBroker ${D} scripts. The user will ask a question about a snippet of their code. Match your answer to the question: +`)}),N}),j.push({role:"assistant",content:ee.content||"",tool_calls:ee.tool_calls});for(const q of ee.tool_calls){const N=await Kt(e,q,s,d);j.push({role:"tool",tool_call_id:q.id,content:N})}}}catch(j){x(String(j)),a(P=>P.slice(0,-1))}l(!1)},[w,_,p,y,e,n,se,z,s,v,ke,a,c,d]),ue=A(()=>{a([]),x(null),l(!1),b(null),Dt(),window.localStorage.removeItem("Editor.aiChatHistory")},[a]),it=A(async(f,O)=>{const R=_[w];if(!R)return`Error: ${u.I18n.t("Please select a valid model")}`;const L=U.current||await De(e,n);if(U.current=L,!L)return`Error: ${u.I18n.t("No API keys configured")}`;const W=Object.keys(n)[0];if(!W)return`Error: ${u.I18n.t("No running javascript instance found")}`;const ge=R==="custom"&&L.gptBaseUrl||"",D=o||"javascript",F=`You are an assistant for writing ioBroker ${D} scripts. The user will ask a question about a snippet of their code. Match your answer to the question: - If they ask for an explanation, description, or "what does this do?", reply with clear prose (a few sentences). Do NOT repeat the code unchanged. - If they explicitly ask for a change, refactor, fix, or rewrite, reply with a single fenced \`\`\`${D==="blockly"?"xml":D}\`\`\` code block containing the full replacement for the selection. You may add one short sentence before or after the block. - If they ask something ambiguous or meta (e.g. "is this correct?"), reply in prose first and only include code if proposing a change. @@ -295,8 +295,8 @@ ioBroker globals available in scripts: on, setState, getState, schedule, sendTo, ${O} \`\`\` -${f}`:f;try{const V=await Re(e,W,{messages:[{role:"system",content:H},{role:"user",content:B}],model:w,provider:R,baseUrl:ge});return V.error?`Error: ${V.error}`:V.content||""}catch(V){return`Error: ${V.message||String(V)}`}},[w,_,n,e,o]),at=U(f=>{f.range&&f.code?X.current=c(f.kind||"codelens",f.range,f.code):X.current=null,Ze(async()=>{const{buildActionPrompt:O}=await Promise.resolve().then(()=>ln);return{buildActionPrompt:O}},void 0,import.meta.url).then(({buildActionPrompt:O})=>{const R=O({action:f.action,code:f.code,language:o||"javascript",diagnostic:f.diagnostic,question:f.question,rangeLabel:f.rangeLabel});R?J(R):X.current=null}).catch(()=>{X.current=null,x(u.I18n.t("Failed to build AI action prompt"))})},[J,o,c]);return{messages:p,isLoading:y,error:I,model:w,availableModels:re,modelProviderMap:_,modelsLoading:le,modelsError:de,lastContextInfo:S,mode:v,setMode:E,setModel:C,sendMessage:J,triggerAiAction:at,askInline:it,clearChat:ue,retryLoadModels:k}}const en=({code:r,language:e,themeType:n,onInsertCode:t,onShowDiff:o,sourceRange:s})=>{const d=ne(null);xe(()=>{var g;const c=window.monaco;if(!d.current||!((g=c==null?void 0:c.editor)!=null&&g.colorize))return;const p=e==="ts"||e==="typescript"?"typescript":e||"javascript";c.editor.colorize(r,p,{theme:n==="dark"?"vs-dark":"vs"}).then(a=>{d.current&&(d.current.innerHTML=a)})},[r,e,n]);const m=U(()=>{navigator.clipboard.writeText(r)},[r]);return i.jsxs($,{sx:{position:"relative",my:1,borderRadius:1,overflow:"hidden",border:"1px solid",borderColor:"divider"},children:[i.jsxs($,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",px:1,py:.5,bgcolor:"action.hover",borderBottom:"1px solid",borderColor:"divider"},children:[i.jsx($,{sx:{fontSize:"0.75rem",color:"text.secondary",textTransform:"uppercase"},children:e||"javascript"}),i.jsxs($,{children:[i.jsx(ve,{title:u.I18n.t("Copy"),children:i.jsx(we,{size:"small",onClick:m,children:i.jsx(kt,{sx:{fontSize:16}})})}),t&&i.jsx(ve,{title:u.I18n.t("Insert into editor"),children:i.jsx(we,{size:"small",onClick:()=>t(r),children:i.jsx(et,{sx:{fontSize:16}})})}),o&&i.jsx(ve,{title:u.I18n.t("Show as diff"),children:i.jsx(we,{size:"small",onClick:()=>o(r,s),children:i.jsx(It,{sx:{fontSize:16}})})})]})]}),i.jsx("pre",{ref:d,style:{margin:0,padding:"8px 12px",overflow:"auto",maxHeight:400,fontSize:"13px",fontFamily:"'Cascadia Code', 'Fira Code', 'Consolas', monospace",backgroundColor:n==="dark"?"#1e1e1e":"#f8f8f8",color:n==="dark"?"#d4d4d4":"#333"},children:r})]})},tn=({xml:r,themeType:e})=>{const n=ne(null),t=ne(null),[o,s]=te(60),d=ne(!1);return xe(()=>{d.current&&(d.current=!1,requestAnimationFrame(()=>{const m=window.Blockly,c=t.current;m&&c&&(m.svgResize(c),c.scrollCenter())}))},[o]),xe(()=>{const m=window.Blockly;if(!(!m||!n.current)){t.current&&(t.current.dispose(),t.current=null);try{const c=m.inject(n.current,{readOnly:!0,toolbox:null,trashcan:!1,zoom:{controls:!1,wheel:!1,startScale:1},move:{scrollbars:!1,drag:!1,wheel:!1},sounds:!1,renderer:"thrasos",theme:e==="dark"?St:"classic",media:"google-blockly/media/"});t.current=c;let p=r.trim();p.startsWith("${p}`);const g=m.utils.xml.textToDom(p);let a=10;const y=Array.from(g.querySelectorAll(":scope > block"));for(const b of y)b.setAttribute("x","10"),b.setAttribute("y",String(a)),a+=200;m.Xml.domToWorkspace(g,c);const l=c.getTopBlocks(!1);if(l.length>1){let b=10;for(const v of l){const F=v.getRelativeToSurfaceXY();v.moveBy(10-F.x,b-F.y),b+=v.getHeightWidth().height+20}}const S=c.getBlocksBoundingBox();if(S){const b=S.bottom-S.top+20,v=Math.max(60,Math.ceil(b));d.current=!0,s(v)}}catch{}return()=>{t.current&&(t.current.dispose(),t.current=null)}}},[r,e]),i.jsx($,{ref:n,sx:{width:"100%",height:o,minHeight:60,borderRadius:1,overflow:"hidden",border:"1px solid",borderColor:"divider"}})};function nn(r){const e=[],n=/```(\w*)\n?([\s\S]*?)```/g;let t=0,o;for(;(o=n.exec(r))!==null;){if(o.index>t){const s=r.substring(t,o.index).trim();s&&e.push({type:"text",content:s})}e.push({type:"code",content:o[2].trim(),language:o[1]||"javascript"}),t=o.index+o[0].length}if(tt&&e.push(r.substring(t,o.index)),o[2]?e.push(i.jsx("strong",{children:o[2]},s++)):o[3]?e.push(i.jsx("em",{children:o[3]},s++)):o[4]&&e.push(i.jsx("code",{className:"ai-chat-inline-code",style:{padding:"2px 6px",borderRadius:4,fontSize:"0.85em",fontFamily:"'Cascadia Code', 'Fira Code', 'Consolas', monospace"},children:o[4]},s++)),t=o.index+o[0].length;return tm.trim().replace(/^\||\|$/g,"").split("|").map(c=>c.trim()),s=o(r[0]),d=r.slice(2).map(o);return i.jsx($,{sx:{overflowX:"auto",my:1},children:i.jsxs("table",{style:{borderCollapse:"collapse",width:"100%",fontSize:"0.8rem",color:e.palette.text.primary},children:[i.jsx("thead",{children:i.jsx("tr",{children:s.map((m,c)=>i.jsx("th",{style:{border:`1px solid ${e.palette.divider}`,padding:"6px 10px",backgroundColor:t?e.palette.grey[800]:e.palette.grey[100],color:e.palette.text.primary,fontWeight:600,textAlign:"left"},children:Ee(m)},c))})}),i.jsx("tbody",{children:d.map((m,c)=>i.jsx("tr",{style:{backgroundColor:c%2===1?t?e.palette.grey[900]:e.palette.grey[50]:void 0},children:m.map((p,g)=>i.jsx("td",{style:{border:`1px solid ${e.palette.divider}`,padding:"6px 10px",color:e.palette.text.primary},children:Ee(p)},g))},c))})]})},n)}function on(r,e){const n=r.split(` -`),t=[];let o=0,s=0;for(;si.jsx("li",{children:Ee(g)},a))},o++));continue}if(/^\d+[.)]\s/.test(m)){const p=[];for(;si.jsx("li",{children:Ee(g)},a))},o++));continue}t.push(i.jsx("div",{children:Ee(m)},o++)),s++}return t}const an=({message:r,themeType:e,currentLanguage:n,onInsertCode:t,onShowDiff:o,onApplyCode:s})=>{const d=r.role==="user",m=ct(),c=d?e==="dark"?m.palette.primary.dark:m.palette.primary.main:e==="dark"?m.palette.secondary.dark:m.palette.secondary.main,p=m.palette.getContrastText(c),g=Ae(()=>nn(r.content),[r.content]),a=(b,v)=>!!(b==="xml"||b==="blockly"||n==="blockly"&&v&&/b.type==="code"?a(b.language,b.content)?i.jsxs($,{sx:{my:1},children:[i.jsx(tn,{xml:b.content,themeType:e}),i.jsxs($,{sx:{display:"flex",gap:.5,mt:.5},children:[s&&i.jsx(We,{size:"small",variant:"contained",color:"primary",startIcon:i.jsx(Ot,{sx:{fontSize:14}}),onClick:()=>s(b.content),sx:{textTransform:"none",fontSize:"0.75rem"},children:u.I18n.t("Apply blocks")}),t&&i.jsx(We,{size:"small",variant:"outlined",startIcon:i.jsx(et,{sx:{fontSize:14}}),onClick:()=>t(b.content),sx:{textTransform:"none",fontSize:"0.75rem"},children:u.I18n.t("Insert blocks")})]})]},v):i.jsx(en,{code:b.content,language:b.language||"javascript",themeType:e,onInsertCode:t,onShowDiff:o,sourceRange:r.sourceRange||null},v):i.jsx($,{sx:{wordBreak:"break-word",color:m.palette.text.primary},children:on(b.content,m)},v))})]})};function cn(r){const e=(r||"").toLowerCase();return e.includes("blockly")||e.includes("rules")?"blockly":e.includes("typescript")?"typescript":"javascript"}function Te(r,e){return`\`\`\`${e==="blockly"?"xml":e} +${f}`:f;try{const V=await Re(e,W,{messages:[{role:"system",content:F},{role:"user",content:B}],model:w,provider:R,baseUrl:ge});return V.error?`Error: ${V.error}`:V.content||""}catch(V){return`Error: ${V.message||String(V)}`}},[w,_,n,e,o]),at=A(f=>{f.range&&f.code?X.current=c(f.kind||"codelens",f.range,f.code):X.current=null,Ze(async()=>{const{buildActionPrompt:O}=await Promise.resolve().then(()=>ln);return{buildActionPrompt:O}},void 0,import.meta.url).then(({buildActionPrompt:O})=>{const R=O({action:f.action,code:f.code,language:o||"javascript",diagnostic:f.diagnostic,question:f.question,rangeLabel:f.rangeLabel});R?J(R):X.current=null}).catch(()=>{X.current=null,x(u.I18n.t("Failed to build AI action prompt"))})},[J,o,c]);return{messages:p,isLoading:y,error:I,model:w,availableModels:re,modelProviderMap:_,modelsLoading:le,modelsError:de,lastContextInfo:S,mode:v,setMode:E,setModel:C,sendMessage:J,triggerAiAction:at,askInline:it,clearChat:ue,retryLoadModels:k}}const en=({code:r,language:e,themeType:n,onInsertCode:t,onShowDiff:o,sourceRange:s})=>{const d=ne(null);xe(()=>{var g;const c=window.monaco;if(!d.current||!((g=c==null?void 0:c.editor)!=null&&g.colorize))return;const p=e==="ts"||e==="typescript"?"typescript":e||"javascript";c.editor.colorize(r,p,{theme:n==="dark"?"vs-dark":"vs"}).then(a=>{d.current&&(d.current.innerHTML=a)})},[r,e,n]);const m=A(()=>{navigator.clipboard.writeText(r)},[r]);return i.jsxs($,{sx:{position:"relative",my:1,borderRadius:1,overflow:"hidden",border:"1px solid",borderColor:"divider"},children:[i.jsxs($,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",px:1,py:.5,bgcolor:"action.hover",borderBottom:"1px solid",borderColor:"divider"},children:[i.jsx($,{sx:{fontSize:"0.75rem",color:"text.secondary",textTransform:"uppercase"},children:e||"javascript"}),i.jsxs($,{children:[i.jsx(ve,{title:u.I18n.t("Copy"),children:i.jsx(we,{size:"small",onClick:m,children:i.jsx(kt,{sx:{fontSize:16}})})}),t&&i.jsx(ve,{title:u.I18n.t("Insert into editor"),children:i.jsx(we,{size:"small",onClick:()=>t(r),children:i.jsx(et,{sx:{fontSize:16}})})}),o&&i.jsx(ve,{title:u.I18n.t("Show as diff"),children:i.jsx(we,{size:"small",onClick:()=>o(r,s),children:i.jsx(It,{sx:{fontSize:16}})})})]})]}),i.jsx("pre",{ref:d,style:{margin:0,padding:"8px 12px",overflow:"auto",maxHeight:400,fontSize:"13px",fontFamily:"'Cascadia Code', 'Fira Code', 'Consolas', monospace",backgroundColor:n==="dark"?"#1e1e1e":"#f8f8f8",color:n==="dark"?"#d4d4d4":"#333"},children:r})]})},tn=({xml:r,themeType:e})=>{const n=ne(null),t=ne(null),[o,s]=te(60),d=ne(!1);return xe(()=>{d.current&&(d.current=!1,requestAnimationFrame(()=>{const m=window.Blockly,c=t.current;m&&c&&(m.svgResize(c),c.scrollCenter())}))},[o]),xe(()=>{const m=window.Blockly;if(!(!m||!n.current)){t.current&&(t.current.dispose(),t.current=null);try{const c=m.inject(n.current,{readOnly:!0,toolbox:null,trashcan:!1,zoom:{controls:!1,wheel:!1,startScale:1},move:{scrollbars:!1,drag:!1,wheel:!1},sounds:!1,renderer:"thrasos",theme:e==="dark"?St:"classic",media:"google-blockly/media/"});t.current=c;let p=r.trim();p.startsWith("${p}`);const g=m.utils.xml.textToDom(p);let a=10;const y=Array.from(g.querySelectorAll(":scope > block"));for(const b of y)b.setAttribute("x","10"),b.setAttribute("y",String(a)),a+=200;m.Xml.domToWorkspace(g,c);const l=c.getTopBlocks(!1);if(l.length>1){let b=10;for(const v of l){const H=v.getRelativeToSurfaceXY();v.moveBy(10-H.x,b-H.y),b+=v.getHeightWidth().height+20}}const S=c.getBlocksBoundingBox();if(S){const b=S.bottom-S.top+20,v=Math.max(60,Math.ceil(b));d.current=!0,s(v)}}catch{}return()=>{t.current&&(t.current.dispose(),t.current=null)}}},[r,e]),i.jsx($,{ref:n,sx:{width:"100%",height:o,minHeight:60,borderRadius:1,overflow:"hidden",border:"1px solid",borderColor:"divider"}})};function nn(r){const e=[],n=/```(\w*)\n?([\s\S]*?)```/g;let t=0,o;for(;(o=n.exec(r))!==null;){if(o.index>t){const s=r.substring(t,o.index).trim();s&&e.push({type:"text",content:s})}e.push({type:"code",content:o[2].trim(),language:o[1]||"javascript"}),t=o.index+o[0].length}if(tt&&e.push(r.substring(t,o.index)),o[2]?e.push(i.jsx("strong",{children:o[2]},s++)):o[3]?e.push(i.jsx("em",{children:o[3]},s++)):o[4]&&e.push(i.jsx("code",{className:"ai-chat-inline-code",style:{padding:"2px 6px",borderRadius:4,fontSize:"0.85em",fontFamily:"'Cascadia Code', 'Fira Code', 'Consolas', monospace"},children:o[4]},s++)),t=o.index+o[0].length;return tm.trim().replace(/^\||\|$/g,"").split("|").map(c=>c.trim()),s=o(r[0]),d=r.slice(2).map(o);return i.jsx($,{sx:{overflowX:"auto",my:1},children:i.jsxs("table",{style:{borderCollapse:"collapse",width:"100%",fontSize:"0.8rem",color:e.palette.text.primary},children:[i.jsx("thead",{children:i.jsx("tr",{children:s.map((m,c)=>i.jsx("th",{style:{border:`1px solid ${e.palette.divider}`,padding:"6px 10px",backgroundColor:t?e.palette.grey[800]:e.palette.grey[100],color:e.palette.text.primary,fontWeight:600,textAlign:"left"},children:Ee(m)},c))})}),i.jsx("tbody",{children:d.map((m,c)=>i.jsx("tr",{style:{backgroundColor:c%2===1?t?e.palette.grey[900]:e.palette.grey[50]:void 0},children:m.map((p,g)=>i.jsx("td",{style:{border:`1px solid ${e.palette.divider}`,padding:"6px 10px",color:e.palette.text.primary},children:Ee(p)},g))},c))})]})},n)}function on(r,e){const n=r.split(` +`),t=[];let o=0,s=0;for(;si.jsx("li",{children:Ee(g)},a))},o++));continue}if(/^\d+[.)]\s/.test(m)){const p=[];for(;si.jsx("li",{children:Ee(g)},a))},o++));continue}t.push(i.jsx("div",{children:Ee(m)},o++)),s++}return t}const an=({message:r,themeType:e,currentLanguage:n,onInsertCode:t,onShowDiff:o,onApplyCode:s})=>{const d=r.role==="user",m=ct(),c=d?e==="dark"?m.palette.primary.dark:m.palette.primary.main:e==="dark"?m.palette.secondary.dark:m.palette.secondary.main,p=m.palette.getContrastText(c),g=Ue(()=>nn(r.content),[r.content]),a=(b,v)=>!!(b==="xml"||b==="blockly"||n==="blockly"&&v&&/b.type==="code"?a(b.language,b.content)?i.jsxs($,{sx:{my:1},children:[i.jsx(tn,{xml:b.content,themeType:e}),i.jsxs($,{sx:{display:"flex",gap:.5,mt:.5},children:[s&&i.jsx(We,{size:"small",variant:"contained",color:"primary",startIcon:i.jsx(Ot,{sx:{fontSize:14}}),onClick:()=>s(b.content),sx:{textTransform:"none",fontSize:"0.75rem"},children:u.I18n.t("Apply blocks")}),t&&i.jsx(We,{size:"small",variant:"outlined",startIcon:i.jsx(et,{sx:{fontSize:14}}),onClick:()=>t(b.content),sx:{textTransform:"none",fontSize:"0.75rem"},children:u.I18n.t("Insert blocks")})]})]},v):i.jsx(en,{code:b.content,language:b.language||"javascript",themeType:e,onInsertCode:t,onShowDiff:o,sourceRange:r.sourceRange||null},v):i.jsx($,{sx:{wordBreak:"break-word",color:m.palette.text.primary},children:on(b.content,m)},v))})]})};function cn(r){const e=(r||"").toLowerCase();return e.includes("blockly")||e.includes("rules")?"blockly":e.includes("typescript")?"typescript":"javascript"}function Te(r,e){return`\`\`\`${e==="blockly"?"xml":e} ${r} \`\`\``}function rt(r){const e=(r.code||"").trim(),n=cn(r.language),t=r.rangeLabel?` (${r.rangeLabel})`:"";switch(r.action){case"explain":return e?[`Please explain what this ioBroker ${n} code does${t}.`,"Focus on: which datapoints it reads/writes, which triggers fire it, and any side-effects.","",Te(e,n)].join(` `):null;case"refactor":return e?[`Refactor this ioBroker ${n} code${t} to be cleaner and more idiomatic.`,"Preserve behavior exactly. Keep ioBroker APIs (on, setState, getState, schedule, sendTo, log).",`Return the full refactored block inside a \`\`\`${n==="blockly"?"xml":n}\`\`\` code block so it can be smart-applied.`,"",Te(e,n)].join(` @@ -305,11 +305,11 @@ ${r} Reported problem: ${o}`:"";return[`This ioBroker ${n} code has an issue${t}. Please fix it and return the corrected code.${s}`,"Keep the fix minimal — do not rewrite unrelated parts.","",Te(e,n)].join(` `)}case"tests":return e?[`Suggest how to test this ioBroker ${n} script manually inside the ioBroker admin UI${t}.`,"","ioBroker scripts run inside the adapter sandbox and CANNOT be unit-tested with Jest, Mocha, or any external test framework. Do NOT propose Jest/Mocha tests, do NOT propose extracting the code into a separate Node.js project, do NOT write `describe` / `test` blocks.","","Instead, propose a short list of manual test cases. For each case describe:",' • Setup — which ioBroker datapoints to prepare and to which values (via the objects tree "Values" tab)'," • Action — what to trigger: set a state with setState, wait for a schedule, change a sensor value, etc."," • Expected — what should happen afterwards: which states should change, what should appear in the adapter log (javascript.0), which side effects are visible","","Keep it concise: 3-6 cases covering the happy path, typical edge cases, and any guard conditions the script has.","",Te(e,n)].join(` `):null;case"ask":{const o=(r.question||"").trim();return o?e?[`Regarding this ioBroker ${n} code${t}:`,"",Te(e,n),"",o].join(` -`):o:null}default:return null}}function ot(r){const e=(r||"").trimStart();if(!e.startsWith("/"))return null;const n=e.match(/^\/(\w+)(?:\s+([\s\S]*))?$/);if(!n)return null;const t=n[1].toLowerCase(),o=(n[2]||"").trim(),d={explain:"explain",erklaere:"explain",erklaeren:"explain",refactor:"refactor",refaktor:"refactor",refaktoriere:"refactor",comment:"comment",comments:"comment",kommentar:"comment",kommentiere:"comment",fix:"fix",fixme:"fix",tests:"tests",test:"tests",ask:"ask",frag:"ask",frage:"ask"}[t];return d?{action:d,rest:o}:null}const ln=Object.freeze(Object.defineProperty({__proto__:null,buildActionPrompt:rt,parseSlashCommand:ot},Symbol.toStringTag,{value:"Module"}));function dn(){return[{id:"@all",label:u.I18n.t("mention @all"),descriptionKey:"All scripts"},{id:"@devices",label:u.I18n.t("mention @devices"),descriptionKey:"Smart home devices"}]}function un({provider:r,isDark:e}){return $t[r]?i.jsx("img",{src:`./img/${r}.svg`,alt:r,style:{...Lt,...e?{filter:"invert(0.85)"}:{}},onError:t=>{t.target.style.display="none"}}):null}function mn(){try{const r=window.localStorage.getItem("Editor.aiChatHistory");return r?JSON.parse(r):[]}catch{return[]}}const pn=({onSend:r,disabled:e,themeType:n,hasSelection:t,selectionText:o,allScripts:s,model:d,availableModels:m,modelProviderMap:c,modelsLoading:p,onModelChange:g,mode:a,onModeChange:y,currentLanguage:l})=>{const[S,b]=te(""),[v,F]=te(!1),[E,I]=te(""),[x,w]=te(0),M=ne(null),re=ne(-1),Y=ne(mn()),_=ne(-1),G=ne(""),le=Ae(()=>{const C=dn().map(k=>({...k,description:u.I18n.t(k.descriptionKey)}));if(s)for(const k of s){const z=k.id.replace(/^script\.js\./,"").replace(/\./g,"/");C.push({id:`@${z}`,label:`@${z}`,description:`${k.name} [${k.enabled?"active":"inactive"}]`})}return C},[s]),K=Ae(()=>{if(!E)return le;const h=E.toLowerCase();return le.filter(C=>C.id.toLowerCase().includes(h)||C.description.toLowerCase().includes(h))},[le,E]);xe(()=>{w(0)},[E]);const de=U(()=>{const h=S.trim();if(!h||e)return;let C=h;const k=ot(h);if(k){const z=t&&o?o:"",se=rt({action:k.action,code:z,language:l||"javascript",question:k.action==="ask"?k.rest:void 0,diagnostic:k.action==="fix"&&k.rest||void 0});se&&(C=se)}else t&&o&&(C=`[Selected code in editor] +`):o:null}default:return null}}function ot(r){const e=(r||"").trimStart();if(!e.startsWith("/"))return null;const n=e.match(/^\/(\w+)(?:\s+([\s\S]*))?$/);if(!n)return null;const t=n[1].toLowerCase(),o=(n[2]||"").trim(),d={explain:"explain",erklaere:"explain",erklaeren:"explain",refactor:"refactor",refaktor:"refactor",refaktoriere:"refactor",comment:"comment",comments:"comment",kommentar:"comment",kommentiere:"comment",fix:"fix",fixme:"fix",tests:"tests",test:"tests",ask:"ask",frag:"ask",frage:"ask"}[t];return d?{action:d,rest:o}:null}const ln=Object.freeze(Object.defineProperty({__proto__:null,buildActionPrompt:rt,parseSlashCommand:ot},Symbol.toStringTag,{value:"Module"}));function dn(){return[{id:"@all",label:u.I18n.t("mention @all"),descriptionKey:"All scripts"},{id:"@devices",label:u.I18n.t("mention @devices"),descriptionKey:"Smart home devices"}]}function un({provider:r,isDark:e}){return $t[r]?i.jsx("img",{src:`./img/${r}.svg`,alt:r,style:{...Lt,...e?{filter:"invert(0.85)"}:{}},onError:t=>{t.target.style.display="none"}}):null}function mn(){try{const r=window.localStorage.getItem("Editor.aiChatHistory");return r?JSON.parse(r):[]}catch{return[]}}const pn=({onSend:r,disabled:e,themeType:n,hasSelection:t,selectionText:o,allScripts:s,model:d,availableModels:m,modelProviderMap:c,modelsLoading:p,onModelChange:g,mode:a,onModeChange:y,currentLanguage:l})=>{const[S,b]=te(""),[v,H]=te(!1),[E,I]=te(""),[x,w]=te(0),M=ne(null),re=ne(-1),Y=ne(mn()),_=ne(-1),G=ne(""),le=Ue(()=>{const C=dn().map(k=>({...k,description:u.I18n.t(k.descriptionKey)}));if(s)for(const k of s){const z=k.id.replace(/^script\.js\./,"").replace(/\./g,"/");C.push({id:`@${z}`,label:`@${z}`,description:`${k.name} [${k.enabled?"active":"inactive"}]`})}return C},[s]),K=Ue(()=>{if(!E)return le;const h=E.toLowerCase();return le.filter(C=>C.id.toLowerCase().includes(h)||C.description.toLowerCase().includes(h))},[le,E]);xe(()=>{w(0)},[E]);const de=A(()=>{const h=S.trim();if(!h||e)return;let C=h;const k=ot(h);if(k){const z=t&&o?o:"",se=rt({action:k.action,code:z,language:l||"javascript",question:k.action==="ask"?k.rest:void 0,diagnostic:k.action==="fix"&&k.rest||void 0});se&&(C=se)}else t&&o&&(C=`[Selected code in editor] \`\`\` ${o} \`\`\` -${h}`);Y.current.push(h),_.current=-1,G.current="";try{const z=Y.current.slice(-50);window.localStorage.setItem("Editor.aiChatHistory",JSON.stringify(z))}catch{}r(C),b(""),F(!1),requestAnimationFrame(()=>{var z;return(z=M.current)==null?void 0:z.focus()})},[S,e,r,t,o,l]),T=U(h=>{const C=re.current,k=M.current;if(C<0){const ue=S?`${S}${h} `:`${h} `;b(ue),F(!1),I(""),setTimeout(()=>{k&&(k.focus(),k.setSelectionRange(ue.length,ue.length))},0);return}const z=S.substring(0,C),se=(k==null?void 0:k.selectionStart)??S.length,ke=S.substring(se),J=`${z}${h} ${ke}`;b(J),F(!1),I(""),re.current=-1,setTimeout(()=>{if(k){const ue=z.length+h.length+1;k.focus(),k.setSelectionRange(ue,ue)}},0)},[S]),A=U(()=>{re.current=-1,I(""),F(h=>!h)},[]),X=U(h=>{const C=h.target.value;b(C);const k=h.target.selectionStart??C.length,se=C.substring(0,k).match(/@([\w/äöüÄÖÜß]*)$/);se?(re.current=k-se[0].length,I(se[1]),F(!0)):(F(!1),I(""))},[]),Q=U(h=>{if(v&&K.length>0){if(h.key==="ArrowDown"){h.preventDefault(),w(C=>(C+1)%K.length);return}if(h.key==="ArrowUp"){h.preventDefault(),w(C=>(C-1+K.length)%K.length);return}if(h.key==="Enter"||h.key==="Tab"){h.preventDefault(),T(K[x].id);return}if(h.key==="Escape"){h.preventDefault(),F(!1);return}}if(h.key==="ArrowUp"&&!v&&Y.current.length>0){const C=M.current,k=!C||C.selectionStart===0,z=!S.includes(` +${h}`);Y.current.push(h),_.current=-1,G.current="";try{const z=Y.current.slice(-50);window.localStorage.setItem("Editor.aiChatHistory",JSON.stringify(z))}catch{}r(C),b(""),H(!1),requestAnimationFrame(()=>{var z;return(z=M.current)==null?void 0:z.focus()})},[S,e,r,t,o,l]),T=A(h=>{const C=re.current,k=M.current;if(C<0){const ue=S?`${S}${h} `:`${h} `;b(ue),H(!1),I(""),setTimeout(()=>{k&&(k.focus(),k.setSelectionRange(ue.length,ue.length))},0);return}const z=S.substring(0,C),se=(k==null?void 0:k.selectionStart)??S.length,ke=S.substring(se),J=`${z}${h} ${ke}`;b(J),H(!1),I(""),re.current=-1,setTimeout(()=>{if(k){const ue=z.length+h.length+1;k.focus(),k.setSelectionRange(ue,ue)}},0)},[S]),U=A(()=>{re.current=-1,I(""),H(h=>!h)},[]),X=A(h=>{const C=h.target.value;b(C);const k=h.target.selectionStart??C.length,se=C.substring(0,k).match(/@([\w/äöüÄÖÜß]*)$/);se?(re.current=k-se[0].length,I(se[1]),H(!0)):(H(!1),I(""))},[]),Q=A(h=>{if(v&&K.length>0){if(h.key==="ArrowDown"){h.preventDefault(),w(C=>(C+1)%K.length);return}if(h.key==="ArrowUp"){h.preventDefault(),w(C=>(C-1+K.length)%K.length);return}if(h.key==="Enter"||h.key==="Tab"){h.preventDefault(),T(K[x].id);return}if(h.key==="Escape"){h.preventDefault(),H(!1);return}}if(h.key==="ArrowUp"&&!v&&Y.current.length>0){const C=M.current,k=!C||C.selectionStart===0,z=!S.includes(` `);if(k&&z){h.preventDefault(),_.current===-1?(G.current=S,_.current=Y.current.length-1):_.current>0&&_.current--,b(Y.current[_.current]);return}}if(h.key==="ArrowDown"&&!v&&_.current>=0){const C=M.current,k=!C||C.selectionStart===S.length,z=!S.includes(` -`);if(k&&z){h.preventDefault(),_.current0&&i.jsx(dt,{elevation:4,sx:{position:"absolute",bottom:"100%",left:8,right:8,maxHeight:200,overflow:"auto",zIndex:10,mb:.5},children:i.jsx(ut,{dense:!0,disablePadding:!0,children:K.slice(0,15).map((h,C)=>i.jsx(mt,{selected:C===x,onClick:()=>T(h.id),sx:{py:.25,minHeight:32},children:i.jsx(pt,{primary:h.label,secondary:h.description,primaryTypographyProps:{fontSize:"0.8rem",fontWeight:500},secondaryTypographyProps:{fontSize:"0.7rem"}})},h.id))})}),a==="code"&&i.jsx(He,{label:`${u.I18n.t("mention @devices")} — ${u.I18n.t("Smart home devices")}`,size:"small",variant:"outlined",sx:{mx:1,mt:.5,maxWidth:"calc(100% - 16px)"}}),t&&o&&i.jsx(He,{icon:i.jsx(bt,{sx:{fontSize:14}}),label:u.I18n.t("Selected code as context"),size:"small",variant:"outlined",sx:{mx:1,mt:.5,maxWidth:"calc(100% - 16px)"}}),i.jsxs($,{sx:{mx:1,mt:.5,mb:.5,border:"1px solid",borderColor:"divider",borderRadius:1.5,overflow:"hidden","&:focus-within":{borderColor:"primary.main"}},children:[i.jsx(ft,{inputRef:M,fullWidth:!0,multiline:!0,maxRows:6,placeholder:u.I18n.t("Ask about your script..."),value:S,onChange:X,onKeyDown:Q,disabled:e,onBlur:()=>{setTimeout(()=>F(!1),200)},variant:"standard",slotProps:{input:{disableUnderline:!0}},sx:{px:1.5,pt:1,pb:.5,"& .MuiInputBase-root":{fontSize:"0.875rem"}}}),i.jsxs($,{sx:{display:"flex",alignItems:"center",gap:.75,px:1,pb:.5},children:[i.jsx(ve,{title:i.jsxs($,{sx:{fontSize:"0.8rem",lineHeight:1.5,maxWidth:360},children:[i.jsx($,{sx:{fontWeight:600,mb:.75},children:u.I18n.t("AI chat mode")}),i.jsxs($,{sx:{mb:.75},children:[i.jsxs("strong",{children:["💬 ",u.I18n.t("Chat")]})," —"," ",u.I18n.t("Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.")]}),i.jsxs($,{sx:{mb:.75},children:[i.jsxs("strong",{children:["🤖 ",u.I18n.t("Agent")]})," —"," ",u.I18n.t('AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".')]}),i.jsxs($,{children:[i.jsxs("strong",{children:["💻 ",u.I18n.t("Code")]})," —"," ",u.I18n.t('Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.')]})]}),enterDelay:400,placement:"top",children:i.jsxs(Fe,{value:a,onChange:h=>y(h.target.value),size:"small",variant:"standard",disableUnderline:!0,sx:{fontSize:"0.7rem",color:"text.secondary",border:"1px solid",borderColor:"text.secondary",borderRadius:3,bgcolor:"action.hover",px:.75,"&:hover":{borderColor:"text.disabled",bgcolor:"action.hover"},"& .MuiSelect-select":{py:"2px",pr:"18px !important",display:"flex",alignItems:"center",gap:.5}},children:[i.jsx(ze,{value:"chat",sx:{fontSize:"0.75rem"},title:u.I18n.t("Plain conversation. Best for: general questions, syntax help, concept explanations."),children:"💬 Chat"}),i.jsx(ze,{value:"agent",sx:{fontSize:"0.75rem"},title:u.I18n.t("Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree."),children:"🤖 Agent"}),i.jsx(ze,{value:"code",sx:{fontSize:"0.75rem"},title:u.I18n.t("Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description."),children:"💻 Code"})]})}),i.jsx(Fe,{value:d,onChange:h=>g(h.target.value),size:"small",disabled:p||m.length===0,variant:"standard",disableUnderline:!0,sx:{fontSize:"0.7rem",color:"text.secondary",border:"1px solid",borderColor:"text.secondary",borderRadius:3,bgcolor:"action.hover",px:.75,"&:hover":{borderColor:"text.disabled",bgcolor:"action.hover"},"& .MuiSelect-select":{py:"2px",pr:"18px !important",display:"flex",alignItems:"center",gap:.5}},children:m.map(h=>i.jsxs(ze,{value:h,sx:{fontSize:"0.75rem",display:"flex",gap:.5},children:[i.jsx(un,{provider:c[h],isDark:n==="dark"}),h]},h))}),i.jsx(ve,{title:u.I18n.t("Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one."),enterDelay:500,children:i.jsx(we,{size:"small",onClick:A,sx:{p:"3px",color:v?"primary.main":"text.secondary",border:"1px solid",borderColor:v?"primary.main":"text.secondary",bgcolor:v?void 0:"action.hover",borderRadius:3,"&:hover":{borderColor:"text.disabled",bgcolor:"action.hover"}},children:i.jsx(Ct,{sx:{fontSize:16}})})}),i.jsx($,{sx:{flex:1}}),i.jsxs(Oe,{variant:"caption",sx:{color:"text.disabled",fontSize:"0.65rem",mr:.5,whiteSpace:"nowrap"},children:["Enter ",u.I18n.t("to send")]}),i.jsx(ve,{title:`${u.I18n.t("Send")} (Enter)`,children:i.jsx("span",{children:i.jsx(we,{color:"primary",onClick:de,disabled:e||!S.trim(),size:"small",sx:{p:.25},children:i.jsx(Et,{sx:{fontSize:18}})})})})]})]})]})},Tn=({socket:r,runningInstances:e,themeType:n,currentCode:t,currentLanguage:o,selectedCode:s,allScripts:d,editorApi:m,aiActionRequest:c,onAiActionConsumed:p,onRegisterInlineAsk:g,onInsertCode:a,onShowDiff:y,onApplyCode:l,currentScriptId:S,onClose:b})=>{var ke;const v=ne(null),F=Ae(()=>({socket:r,runningInstances:e,currentCode:t,currentLanguage:o,allScripts:d,editorApi:m,currentScriptId:S}),[r,e,t,o,d,m,S]),{messages:E,isLoading:I,error:x,model:w,availableModels:M,modelProviderMap:re,modelsLoading:Y,modelsError:_,lastContextInfo:G,mode:le,setMode:K,setModel:de,sendMessage:T,triggerAiAction:A,askInline:X,clearChat:Q,retryLoadModels:h}=Zt(F);xe(()=>(g==null||g(X),()=>g==null?void 0:g(null)),[X,g]);const C=ne(null);xe(()=>{!c||C.current===c||(C.current=c,A(c),p==null||p())},[c,A,p]),xe(()=>{var J;(J=v.current)==null||J.scrollIntoView({behavior:"smooth"})},[E]);const k=U(J=>{a==null||a(J)},[a]),z=U((J,ue)=>{y==null||y(J,ue)},[y]),se=U(J=>{l==null||l(J)},[l]);return i.jsxs($,{sx:{display:"flex",flexDirection:"column",height:"100%",bgcolor:"background.default","& .ai-chat-inline-code":{backgroundColor:"action.selected",color:"text.primary",border:"1px solid",borderColor:"divider"}},children:[i.jsxs($,{sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.5,borderBottom:"1px solid",borderColor:"divider",bgcolor:n==="dark"?"grey.900":"grey.100",flexShrink:0},children:[i.jsx(Oe,{variant:"subtitle2",sx:{fontWeight:600,flex:1,color:"text.primary"},children:u.I18n.t("AI Chat")}),Y&&i.jsx(Ve,{size:16}),i.jsx(ve,{title:u.I18n.t("New chat"),children:i.jsx(we,{size:"small",onClick:Q,children:i.jsx(_t,{sx:{fontSize:18}})})}),i.jsx(ve,{title:u.I18n.t("Close"),children:i.jsx(we,{size:"small",onClick:b,children:i.jsx(jt,{sx:{fontSize:18}})})})]}),(x||_)&&i.jsx(ht,{severity:"error",sx:{m:1,py:0},action:_?i.jsx(we,{size:"small",onClick:h,children:i.jsx(xt,{sx:{fontSize:16}})}):void 0,children:x||_}),G&&i.jsx(Oe,{variant:"caption",sx:{px:1.5,py:.25,color:"text.secondary",fontSize:"0.7rem",bgcolor:"action.hover",borderBottom:"1px solid",borderColor:"divider",flexShrink:0},children:G}),i.jsxs($,{sx:{flex:1,overflow:"auto",py:1},children:[E.length===0&&!I&&i.jsxs($,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",color:"text.secondary",px:3,textAlign:"center"},children:[i.jsx(Oe,{variant:"body2",sx:{mb:1},children:u.I18n.t("Ask questions about your script, request changes, or generate new code.")}),i.jsxs(Oe,{variant:"caption",color:"text.disabled",children:["Enter ",u.I18n.t("to send"),", Shift+Enter ",u.I18n.t("for new line")]})]}),E.filter(J=>J.role!=="system").map(J=>i.jsx(an,{message:J,themeType:n,currentLanguage:o,onInsertCode:k,onShowDiff:z,onApplyCode:se},J.id)),I&&((ke=E[E.length-1])==null?void 0:ke.content)===""&&i.jsxs($,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1},children:[i.jsx(Ve,{size:16}),i.jsx(Oe,{variant:"caption",color:"text.secondary",children:u.I18n.t("Thinking...")})]}),i.jsx("div",{ref:v})]}),i.jsx(pn,{onSend:T,disabled:I||M.length===0,themeType:n,hasSelection:!!s,selectionText:s,allScripts:d,model:w,availableModels:M,modelProviderMap:re,modelsLoading:Y,onModelChange:de,mode:le,onModeChange:K,currentLanguage:o})]})};export{Tn as default}; +`);if(k&&z){h.preventDefault(),_.current0&&i.jsx(dt,{elevation:4,sx:{position:"absolute",bottom:"100%",left:8,right:8,maxHeight:200,overflow:"auto",zIndex:10,mb:.5},children:i.jsx(ut,{dense:!0,disablePadding:!0,children:K.slice(0,15).map((h,C)=>i.jsx(mt,{selected:C===x,onClick:()=>T(h.id),sx:{py:.25,minHeight:32},children:i.jsx(pt,{primary:h.label,secondary:h.description,primaryTypographyProps:{fontSize:"0.8rem",fontWeight:500},secondaryTypographyProps:{fontSize:"0.7rem"}})},h.id))})}),a==="code"&&i.jsx(Fe,{label:`${u.I18n.t("mention @devices")} — ${u.I18n.t("Smart home devices")}`,size:"small",variant:"outlined",sx:{mx:1,mt:.5,maxWidth:"calc(100% - 16px)"}}),t&&o&&i.jsx(Fe,{icon:i.jsx(bt,{sx:{fontSize:14}}),label:u.I18n.t("Selected code as context"),size:"small",variant:"outlined",sx:{mx:1,mt:.5,maxWidth:"calc(100% - 16px)"}}),i.jsxs($,{sx:{mx:1,mt:.5,mb:.5,border:"1px solid",borderColor:"divider",borderRadius:1.5,overflow:"hidden","&:focus-within":{borderColor:"primary.main"}},children:[i.jsx(ft,{inputRef:M,fullWidth:!0,multiline:!0,maxRows:6,placeholder:u.I18n.t("Ask about your script..."),value:S,onChange:X,onKeyDown:Q,disabled:e,onBlur:()=>{setTimeout(()=>H(!1),200)},variant:"standard",slotProps:{input:{disableUnderline:!0}},sx:{px:1.5,pt:1,pb:.5,"& .MuiInputBase-root":{fontSize:"0.875rem"}}}),i.jsxs($,{sx:{display:"flex",alignItems:"center",gap:.75,px:1,pb:.5},children:[i.jsx(ve,{title:i.jsxs($,{sx:{fontSize:"0.8rem",lineHeight:1.5,maxWidth:360},children:[i.jsx($,{sx:{fontWeight:600,mb:.75},children:u.I18n.t("AI chat mode")}),i.jsxs($,{sx:{mb:.75},children:[i.jsxs("strong",{children:["💬 ",u.I18n.t("Chat")]})," —"," ",u.I18n.t("Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.")]}),i.jsxs($,{sx:{mb:.75},children:[i.jsxs("strong",{children:["🤖 ",u.I18n.t("Agent")]})," —"," ",u.I18n.t('For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".')]}),i.jsxs($,{children:[i.jsxs("strong",{children:["💻 ",u.I18n.t("Code")]})," —"," ",u.I18n.t('For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.')]})]}),enterDelay:400,placement:"left",children:i.jsxs(He,{value:a,onChange:h=>y(h.target.value),size:"small",variant:"standard",disableUnderline:!0,sx:{fontSize:"0.7rem",color:"text.secondary",border:"1px solid",borderColor:"text.secondary",borderRadius:3,bgcolor:"action.hover",px:.75,"&:hover":{borderColor:"text.disabled",bgcolor:"action.hover"},"& .MuiSelect-select":{py:"2px",pr:"18px !important",display:"flex",alignItems:"center",gap:.5}},children:[i.jsx(ze,{value:"chat",sx:{fontSize:"0.75rem"},title:u.I18n.t("Plain conversation. Best for: general questions, syntax help, concept explanations."),children:"💬 Chat"}),i.jsx(ze,{value:"agent",sx:{fontSize:"0.75rem"},title:u.I18n.t("For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree."),children:"🤖 Agent"}),i.jsx(ze,{value:"code",sx:{fontSize:"0.75rem"},title:u.I18n.t("For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description."),children:"💻 Code"})]})}),i.jsx(He,{value:d,onChange:h=>g(h.target.value),size:"small",disabled:p||m.length===0,variant:"standard",disableUnderline:!0,sx:{fontSize:"0.7rem",color:"text.secondary",border:"1px solid",borderColor:"text.secondary",borderRadius:3,bgcolor:"action.hover",px:.75,"&:hover":{borderColor:"text.disabled",bgcolor:"action.hover"},"& .MuiSelect-select":{py:"2px",pr:"18px !important",display:"flex",alignItems:"center",gap:.5}},children:m.map(h=>i.jsxs(ze,{value:h,sx:{fontSize:"0.75rem",display:"flex",gap:.5},children:[i.jsx(un,{provider:c[h],isDark:n==="dark"}),h]},h))}),i.jsx(ve,{title:u.I18n.t("Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one."),enterDelay:500,children:i.jsx(we,{size:"small",onClick:U,sx:{p:"3px",color:v?"primary.main":"text.secondary",border:"1px solid",borderColor:v?"primary.main":"text.secondary",bgcolor:v?void 0:"action.hover",borderRadius:3,"&:hover":{borderColor:"text.disabled",bgcolor:"action.hover"}},children:i.jsx(Ct,{sx:{fontSize:16}})})}),i.jsx($,{sx:{flex:1}}),i.jsxs(Oe,{variant:"caption",sx:{color:"text.disabled",fontSize:"0.65rem",mr:.5,whiteSpace:"nowrap"},children:["Enter ",u.I18n.t("to send")]}),i.jsx(ve,{title:`${u.I18n.t("Send")} (Enter)`,children:i.jsx("span",{children:i.jsx(we,{color:"primary",onClick:de,disabled:e||!S.trim(),size:"small",sx:{p:.25},children:i.jsx(Et,{sx:{fontSize:18}})})})})]})]})]})},Tn=({socket:r,runningInstances:e,themeType:n,currentCode:t,currentLanguage:o,selectedCode:s,allScripts:d,editorApi:m,aiActionRequest:c,onAiActionConsumed:p,onRegisterInlineAsk:g,onInsertCode:a,onShowDiff:y,onApplyCode:l,currentScriptId:S,onClose:b})=>{var ke;const v=ne(null),H=Ue(()=>({socket:r,runningInstances:e,currentCode:t,currentLanguage:o,allScripts:d,editorApi:m,currentScriptId:S}),[r,e,t,o,d,m,S]),{messages:E,isLoading:I,error:x,model:w,availableModels:M,modelProviderMap:re,modelsLoading:Y,modelsError:_,lastContextInfo:G,mode:le,setMode:K,setModel:de,sendMessage:T,triggerAiAction:U,askInline:X,clearChat:Q,retryLoadModels:h}=Zt(H);xe(()=>(g==null||g(X),()=>g==null?void 0:g(null)),[X,g]);const C=ne(null);xe(()=>{!c||C.current===c||(C.current=c,U(c),p==null||p())},[c,U,p]),xe(()=>{var J;(J=v.current)==null||J.scrollIntoView({behavior:"smooth"})},[E]);const k=A(J=>{a==null||a(J)},[a]),z=A((J,ue)=>{y==null||y(J,ue)},[y]),se=A(J=>{l==null||l(J)},[l]);return i.jsxs($,{sx:{display:"flex",flexDirection:"column",height:"100%",bgcolor:"background.default","& .ai-chat-inline-code":{backgroundColor:"action.selected",color:"text.primary",border:"1px solid",borderColor:"divider"}},children:[i.jsxs($,{sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.5,borderBottom:"1px solid",borderColor:"divider",bgcolor:n==="dark"?"grey.900":"grey.100",flexShrink:0},children:[i.jsx(Oe,{variant:"subtitle2",sx:{fontWeight:600,flex:1,color:"text.primary"},children:u.I18n.t("AI Chat")}),Y&&i.jsx(Ve,{size:16}),i.jsx(ve,{title:u.I18n.t("New chat"),children:i.jsx(we,{size:"small",onClick:Q,children:i.jsx(_t,{sx:{fontSize:18}})})}),i.jsx(ve,{title:u.I18n.t("Close"),children:i.jsx(we,{size:"small",onClick:b,children:i.jsx(jt,{sx:{fontSize:18}})})})]}),(x||_)&&i.jsx(ht,{severity:"error",sx:{m:1,py:0},action:_?i.jsx(we,{size:"small",onClick:h,children:i.jsx(xt,{sx:{fontSize:16}})}):void 0,children:x||_}),G&&i.jsx(Oe,{variant:"caption",sx:{px:1.5,py:.25,color:"text.secondary",fontSize:"0.7rem",bgcolor:"action.hover",borderBottom:"1px solid",borderColor:"divider",flexShrink:0},children:G}),i.jsxs($,{sx:{flex:1,overflow:"auto",py:1},children:[E.length===0&&!I&&i.jsxs($,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",color:"text.secondary",px:3,textAlign:"center"},children:[i.jsx(Oe,{variant:"body2",sx:{mb:1},children:u.I18n.t("Ask questions about your script, request changes, or generate new code.")}),i.jsxs(Oe,{variant:"caption",color:"text.disabled",children:["Enter ",u.I18n.t("to send"),", Shift+Enter ",u.I18n.t("for new line")]})]}),E.filter(J=>J.role!=="system").map(J=>i.jsx(an,{message:J,themeType:n,currentLanguage:o,onInsertCode:k,onShowDiff:z,onApplyCode:se},J.id)),I&&((ke=E[E.length-1])==null?void 0:ke.content)===""&&i.jsxs($,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1},children:[i.jsx(Ve,{size:16}),i.jsx(Oe,{variant:"caption",color:"text.secondary",children:u.I18n.t("Thinking...")})]}),i.jsx("div",{ref:v})]}),i.jsx(pn,{onSend:T,disabled:I||M.length===0,themeType:n,hasSelection:!!s,selectionText:s,allScripts:d,model:w,availableModels:M,modelProviderMap:re,modelsLoading:Y,onModelChange:de,mode:le,onModeChange:K,currentLanguage:o})]})};export{Tn as default}; diff --git a/admin/assets/ScriptEditor-BOBV5YY6.js b/admin/assets/ScriptEditor-BG-oIM42.js similarity index 91% rename from admin/assets/ScriptEditor-BOBV5YY6.js rename to admin/assets/ScriptEditor-BG-oIM42.js index f95e2b83..5dcfc499 100644 --- a/admin/assets/ScriptEditor-BOBV5YY6.js +++ b/admin/assets/ScriptEditor-BG-oIM42.js @@ -1,2 +1,2 @@ -import{j as t}from"./createSvgIcon-DYs_tNrE.js";import{a as n}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as l,a as c,b as h,z as a,h as d,i}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{_ as o}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import p from"./ScriptEditorVanillaMonaco-CtXAidHF.js";import{S as m}from"./Save-CkuNSiWL.js";import{a as g}from"./index-wHNMOf-c.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./preload-helper-BDBacUwf.js";import"./index-4KpiUWnm.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";const s={textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:r=>({color:r.palette.mode==="dark"?"white":"black",height:30,width:"100%",fontSize:16}),argsTitle:r=>({color:r.palette.mode==="dark"?"white":"black",fontWeight:"bold"})};class D extends n.Component{constructor(e){super(e),this.state={changed:!1,source:!e.source&&e.isReturn?` +import{j as t}from"./createSvgIcon-DYs_tNrE.js";import{a as n}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as l,a as c,b as h,z as a,h as d,i}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{_ as o}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import p from"./ScriptEditorVanillaMonaco-_I4QxLWb.js";import{S as m}from"./Save-CkuNSiWL.js";import{a as g}from"./index-wHNMOf-c.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./preload-helper-BDBacUwf.js";import"./index-DlobACYc.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";const s={textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:r=>({color:r.palette.mode==="dark"?"white":"black",height:30,width:"100%",fontSize:16}),argsTitle:r=>({color:r.palette.mode==="dark"?"white":"black",fontWeight:"bold"})};class D extends n.Component{constructor(e){super(e),this.state={changed:!1,source:!e.source&&e.isReturn?` return false`:e.source}}componentDidMount(){setTimeout(()=>{var e;try{(e=window.document.getElementById("source-text-area"))==null||e.focus()}catch{}},100)}handleCancel(){this.props.onClose(!1)}handleOk(){(!this.props.isReturn||this.state.source.includes("return "))&&this.props.onClose(this.state.source)}onChange(e){this.setState({changed:!0,source:e})}render(){return t.jsxs(l,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":s.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title",children:[t.jsx(c,{id:"source-dialog-title",children:o.I18n.t("Function editor")}),t.jsxs(h,{style:s.fullHeight,children:[this.props.args&&t.jsxs(a,{sx:s.args,children:[t.jsx(a,{component:"span",sx:s.argsTitle,children:o.I18n.t("function (")}),this.props.args,t.jsx(a,{component:"span",sx:s.argsTitle,children:")"})]},"arguments"),t.jsx(p,{triggerPrettier:1,adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,style:{...s.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:e=>this.onChange(e),language:"javascript"},"scriptEditor")]}),t.jsxs(d,{children:[t.jsx(i,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:t.jsx(m,{}),children:o.I18n.t("Save")}),t.jsx(i,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:t.jsx(g,{}),children:o.I18n.t("Cancel")})]})]})}}export{D as default}; diff --git a/admin/assets/ScriptEditorVanillaMonaco-CtXAidHF.js b/admin/assets/ScriptEditorVanillaMonaco-_I4QxLWb.js similarity index 98% rename from admin/assets/ScriptEditorVanillaMonaco-CtXAidHF.js rename to admin/assets/ScriptEditorVanillaMonaco-_I4QxLWb.js index d1731a5e..34c62cf8 100644 --- a/admin/assets/ScriptEditorVanillaMonaco-CtXAidHF.js +++ b/admin/assets/ScriptEditorVanillaMonaco-_I4QxLWb.js @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-4KpiUWnm.js","./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js","./preload-helper-BDBacUwf.js","./createSvgIcon-DYs_tNrE.js","./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js","./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js","./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js","./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js","./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js","./index-wHNMOf-c.js","./inheritsLoose-CIXm_zPk.js","./index-BTsjunTt.css","./inlineDiffController-DBLpPOe2.js","./applyCodeEdit-BdRnbz2g.js","./inlineChatWidget-Cu6rb4Ar.js"])))=>i.map(i=>d[i]); -import{_ as g}from"./preload-helper-BDBacUwf.js";import{j as m}from"./createSvgIcon-DYs_tNrE.js";import{a as v}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as T,a as N,b as M,h as A,i as w,Q as O,o as x,$ as j}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{n as E,Z as R}from"./index-wHNMOf-c.js";import{_ as p}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{h as V}from"./index-4KpiUWnm.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";function K(k){return/^script\.js\.global\./.test(k)}let P=0;function $(k){const t=/\x1b\[[0-9;]*m/g;return k.replace(t,"")}class tt extends v.Component{monacoDiv=null;editor=null;monaco=window.monaco;get monacoTS(){var t,e;return(e=(t=this.monaco)==null?void 0:t.languages)==null?void 0:e.typescript}insert="";originalCode;runningInstancesStr;monacoCounter=0;location;breakpoints;lastSearch="";typings={};decorations=[];datapointProviderDisposable=null;inlineProviderDisposable=null;stateHoverDisposable=null;codeLensDisposable=null;inlineChatWidgetInstance=null;inlineDiffInstance=null;inlineDiffCssInjected=!1;triggerPrettier;contentChangeDisposable=null;mouseDownDisposable=null;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=v.createRef()}waitForMonaco(t){var i,o,n,r;let e=!!((o=(i=this.monacoTS)==null?void 0:i.typescriptDefaults)!=null&&o.getCompilerOptions);if(!e||!this.props.runningInstances){if(this.monaco=window.monaco,e=!!((r=(n=this.monacoTS)==null?void 0:n.typescriptDefaults)!=null&&r.getCompilerOptions),this.monacoCounter++,!e&&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 e=t&&Object.keys(t).find(i=>t==null?void 0:t[i]);e&&this.props.socket.sendTo(e.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,o,n,r,s,d,c,a;this.undo,this.redo,this.showInlineDiff,this.getEditorSelection,this.getEditorContent,this.getCursorPosition,this.highlightLineRange,this.goToLine,this.replaceSelection,this.getDiagnostics,this.getDocumentSymbols;let t=!!((o=(i=this.monacoTS)==null?void 0:i.typescriptDefaults)!=null&&o.getCompilerOptions);if((!t||!this.props.runningInstances)&&(this.monaco=window.monaco,t=!!((r=(n=this.monacoTS)==null?void 0:n.typescriptDefaults)!=null&&r.getCompilerOptions),!t)){console.log("wait for monaco loaded..."),this.waitForMonaco(()=>this.componentDidMount());return}if(!this.editor&&t&&this.monaco){console.log("Init editor"),(d=(s=this.props).onRegisterSelect)==null||d.call(s,()=>{var l;if(this.editor){const u=this.editor.getSelection();if(u)return(l=this.editor.getModel())==null?void 0:l.getValueInRange(u)}});const h=this.monacoTS.typescriptDefaults.getCompilerOptions();h.allowJs=!0,h.checkJs=this.props.checkJs!==!1,h.noLib=!0,h.lib=[],h.useUnknownInCatchVariables=!1,h.moduleResolution=this.monacoTS.ModuleResolutionKind.NodeJs,h.target=this.monacoTS.ScriptTarget.ESNext,h.module=this.monacoTS.ModuleKind.ESNext,h.allowNonTsExtensions=!0,this.monacoTS.typescriptDefaults.setCompilerOptions(h),this.setTypeCheck(!1),(c=this.monacoDiv)!=null&&c.current&&(this.editor=this.monaco.editor.create((a=this.monacoDiv)==null?void 0:a.current,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints,colorDecorators:!0}),this.contentChangeDisposable=this.editor.onDidChangeModelContent(()=>this.onChange()),this.monaco&&!this.datapointProviderDisposable&&g(async()=>{const{registerDatapointProvider:l}=await import("./AiDatapointProvider-B0i3I5Fm.js");return{registerDatapointProvider:l}},[],import.meta.url).then(({registerDatapointProvider:l})=>{this.monaco&&(this.datapointProviderDisposable=l(this.monaco,this.props.socket))}).catch(()=>{}),this.monaco&&!this.stateHoverDisposable&&g(async()=>{const{registerStateHoverProvider:l}=await import("./stateHoverProvider-CGChzV5W.js");return{registerStateHoverProvider:l}},[],import.meta.url).then(({registerStateHoverProvider:l})=>{this.monaco&&(this.stateHoverDisposable=l(this.monaco,this.props.socket))}).catch(()=>{}),this.props.aiCompletionsEnabled&&this.monaco&&!this.inlineProviderDisposable&&g(async()=>{const{registerAiInlineProvider:l}=await import("./AiInlineProvider-DkgjVSFQ.js");return{registerAiInlineProvider:l}},[],import.meta.url).then(({registerAiInlineProvider:l})=>{this.monaco&&(this.inlineProviderDisposable=l(this.monaco,this.props.socket,this.props.runningInstances))}).catch(()=>{}),this.loadTypings(),this.props.onForceSave&&this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KeyS,()=>this.props.onForceSave&&this.props.onForceSave()),this.registerAiActions(),this.monaco&&this.editor&&this.props.onAiAction&&!this.codeLensDisposable&&g(async()=>{const{registerAiCodeLensProvider:l}=await import("./index-4KpiUWnm.js").then(u=>u.o);return{registerAiCodeLensProvider:l}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url).then(({registerAiCodeLensProvider:l})=>{this.monaco&&this.editor&&this.props.onAiAction&&(this.codeLensDisposable=l(this.monaco,this.editor,(u,y,f,b,C)=>{var L,I,S;const D=(L=this.editor)==null?void 0:L.getModel(),_=D?D.getLineMaxColumn(Math.min(C,D.getLineCount())):1;(S=(I=this.props).onAiAction)==null||S.call(I,{action:u,code:y,rangeLabel:f,range:{startLine:b,startColumn:1,endLine:C,endColumn:_},kind:"codelens"})}))}).catch(()=>{}),setTimeout(()=>{this.highlightText(this.state.searchText),this.location=this.props.location||void 0,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const e={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(e),this.editor&&(this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint&&(this.mouseDownDisposable=this.editor.onMouseDown(h=>{var u;const l=h.target;this.props.onToggleBreakpoint&&((u=l.detail)==null?void 0:u.glyphMarginLeft)!==void 0&&l.position&&this.props.onToggleBreakpoint(l.position.lineNumber-1)})))}setEditorOptions(t){var e;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&&((e=this.monaco)==null||e.editor.setTheme(t.isDark?"vs-dark":"vs")))}componentWillUnmount(){var t,e,i,o,n,r,s,d,c;(t=this.contentChangeDisposable)==null||t.dispose(),this.contentChangeDisposable=null,(e=this.mouseDownDisposable)==null||e.dispose(),this.mouseDownDisposable=null,(i=this.datapointProviderDisposable)==null||i.dispose(),this.datapointProviderDisposable=null,g(async()=>{const{clearDatapointCache:a}=await import("./AiDatapointProvider-B0i3I5Fm.js");return{clearDatapointCache:a}},[],import.meta.url).then(({clearDatapointCache:a})=>a()).catch(()=>{}),(o=this.inlineProviderDisposable)==null||o.dispose(),this.inlineProviderDisposable=null,(n=this.stateHoverDisposable)==null||n.dispose(),this.stateHoverDisposable=null,g(async()=>{const{clearStateHoverCache:a}=await import("./stateHoverProvider-CGChzV5W.js");return{clearStateHoverCache:a}},[],import.meta.url).then(({clearStateHoverCache:a})=>a()).catch(()=>{}),(r=this.codeLensDisposable)==null||r.dispose(),this.codeLensDisposable=null,(s=this.inlineChatWidgetInstance)==null||s.dispose(),this.inlineChatWidgetInstance=null,this.hideInlineDiff(),this.editor&&((c=(d=this.props).onRegisterSelect)==null||c.call(d,null),this.editor.dispose(),this.editor=null)}async doPrettier(){var i,o,n,r;const t=this.props.runningInstances&&Object.keys(this.props.runningInstances).find(s=>{var d;return(d=this.props.runningInstances)==null?void 0:d[s]});if(!t){window.alert(p.I18n.t("No script adapter instance found to format the code"));return}const e=await this.props.socket.sendTo(t.replace("system.adapter.",""),"prettier",{code:(i=this.editor)==null?void 0:i.getValue(),type:this.state.language});e.error?this.setState({showError:{title:p.I18n.t("Error formatting code"),message:$(e.error)}}):e.code&&((o=this.editor)==null||o.setValue(e.code),(r=(n=this.props).onChange)==null||r.call(n,e.code),this.showDecorators())}setEditorLanguage(t){var i,o;if(!this.editor)return;const e=this.editor.getModel();if(e){const n=e.getValue(),r=e.uri.path,s=typeof r=="string"&&r.includes(".")?r.substring(0,r.lastIndexOf(".")):"index",d=t==="javascript"?"js":t==="typescript"?"ts":t;e.dispose();const c=t==="javascript"||t==="typescript"?"typescript":t,a=(i=this.monaco)==null?void 0:i.editor.createModel(n,c,this.monaco.Uri.from({scheme:window.location.protocol.replace(":",""),path:`${s}${P++}.${d}`}));a&&(this.editor.setModel(a),(o=this.contentChangeDisposable)==null||o.dispose(),this.contentChangeDisposable=this.editor.onDidChangeModelContent(()=>this.onChange()))}}setTypeCheck(t){var i,o;const e={noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive};(i=this.monacoTS)==null||i.typescriptDefaults.setDiagnosticsOptions(e),(o=this.monacoTS)==null||o.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive})}setEditorTypings(t=""){var n,r,s,d;const e=K(t),i=`${t}.d.ts`,o=[];for(const c of Object.keys(this.typings))e&&(c==="global.d.ts"||c.startsWith("script.js.global")&&c!==i)||o.push({filePath:c,content:this.typings[c]});if((r=(n=this.monacoTS)==null?void 0:n.typescriptDefaults)!=null&&r.setExtraLibs)this.monacoTS.typescriptDefaults.setExtraLibs(o);else if((d=(s=this.monacoTS)==null?void 0:s.typescriptDefaults)!=null&&d.addExtraLib){const c=this.monacoTS.typescriptDefaults.getExtraLibs();o.forEach(a=>{!c[a.filePath]&&this.monaco&&this.monacoTS.typescriptDefaults.addExtraLib(a.content,a.filePath)})}}undo(){var t;(t=this.editor)==null||t.trigger("toolbar","undo",null)}redo(){var t;(t=this.editor)==null||t.trigger("toolbar","redo",null)}insertTextIntoEditor(t){if(!this.editor||!this.monaco)return;const e=this.editor.getSelection();if(e){const i=new this.monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);this.editor.executeEdits("",[{range:i,text:t,forceMoveMarkers:!0}])}this.editor.focus()}highlightText(t){var o;if(!this.editor||!this.monaco)return 0;const e=t?(o=this.editor.getModel())==null?void 0:o.findMatches(t,!0,!1,!1,null,!0):void 0;if(e!=null&&e.length)return e.forEach(n=>{var r;return(r=this.editor)==null?void 0:r.setSelection(n.range)}),this.editor.revealLine(e[0].range.startLineNumber),e.length;const i=this.editor.getPosition();if(i){const n=i.lineNumber,r=i.column;this.editor.setSelection(new this.monaco.Range(n,r,n,r))}return 0}showInlineDiff(t){if(!this.editor||!this.monaco)return;const e=this.editor,i=this.monaco;this.hideInlineDiff(),g(async()=>{const{InlineDiffController:o,INLINE_DIFF_CSS:n}=await import("./inlineDiffController-DBLpPOe2.js");return{InlineDiffController:o,INLINE_DIFF_CSS:n}},__vite__mapDeps([14,10,15]),import.meta.url).then(({InlineDiffController:o,INLINE_DIFF_CSS:n})=>{if(!this.inlineDiffCssInjected){const s=document.createElement("style");s.textContent=n,s.setAttribute("data-iob-aichat","inline-diff"),document.head.appendChild(s),this.inlineDiffCssInjected=!0}const r=new o(e,i,{range:t.range,originalText:t.originalText,modifiedText:t.modifiedText,onAccepted:()=>{var s;this.inlineDiffInstance=null,(s=t.onAccepted)==null||s.call(t)},onRejected:()=>{var s;this.inlineDiffInstance=null,(s=t.onRejected)==null||s.call(t)}});this.inlineDiffInstance=r,r.show()}).catch(()=>{})}hideInlineDiff(){if(this.inlineDiffInstance){try{this.inlineDiffInstance.dispose()}catch{}this.inlineDiffInstance=null}}showInlineChatWidget(){if(!this.editor||!this.monaco||!this.props.onInlineAsk)return;if(this.inlineChatWidgetInstance){this.inlineChatWidgetInstance.show();return}const t=this.editor,e=this.monaco,i=this.props.onInlineAsk,o=this.props.onAiAction;g(async()=>{const{InlineChatWidget:n}=await import("./inlineChatWidget-Cu6rb4Ar.js");return{InlineChatWidget:n}},__vite__mapDeps([16,10,15]),import.meta.url).then(({InlineChatWidget:n})=>{const r=new n(t,e,{onSubmit:async s=>i({question:s.question,selectedCode:s.selectedCode}),onEscalateToChat:s=>{o&&o({action:"ask",code:s.selectedCode,question:s.question,rangeLabel:s.range?`lines ${s.range.startLineNumber}-${s.range.endLineNumber}`:"whole file"})}});this.inlineChatWidgetInstance=r,r.show()}).catch(()=>{})}registerAiActions(){if(!this.editor||!this.monaco||!this.props.onAiAction)return;const t=this.monaco,e=(o,n={})=>{if(!this.editor||!this.props.onAiAction)return;const r=this.editor.getModel();if(!r)return;const s=this.editor.getSelection(),d=s&&!s.isEmpty();let c,a,h,l="selection";if(d)c=r.getValueInRange(s),a=s.startLineNumber===s.endLineNumber?`line ${s.startLineNumber}`:`lines ${s.startLineNumber}-${s.endLineNumber}`,h={startLine:s.startLineNumber,startColumn:s.startColumn,endLine:s.endLineNumber,endColumn:s.endColumn},l="selection";else{const u=this.editor.getPosition();let y=null;if(u)try{y=V(r.getValue(),u.lineNumber)}catch{}if(y){const f=y.startLine,b=y.endLine,C=r.getLineMaxColumn(b),D=new t.Range(f,1,b,C);c=r.getValueInRange(D),a=f===b?`line ${f}`:`lines ${f}-${b}`,h={startLine:f,startColumn:1,endLine:b,endColumn:C},l="codelens"}else c=r.getValue(),a="whole file",l="none"}this.props.onAiAction({action:o,code:c,rangeLabel:a,range:h,kind:l,...n})},i=[{id:"iobroker.ai.inline",label:`🤖 ${p.I18n.t("AI: Inline chat…")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyI],order:1,run:()=>{if(this.props.onInlineAsk)this.showInlineChatWidget();else{const o=window.prompt(p.I18n.t("Ask the AI about the selected code:"));o&&o.trim()&&e("ask",{question:o.trim()})}}},{id:"iobroker.ai.explain",label:`💡 ${p.I18n.t("AI: Explain")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyE],order:2,run:()=>e("explain")},{id:"iobroker.ai.refactor",label:`🔧 ${p.I18n.t("AI: Refactor")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyR],order:3,run:()=>e("refactor")},{id:"iobroker.ai.comment",label:`💬 ${p.I18n.t("AI: Add comments")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyC],order:4,run:()=>e("comment")},{id:"iobroker.ai.fix",label:`🛠️ ${p.I18n.t("AI: Fix problem")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyF],order:5,run:()=>{var n,r;let o;try{const s=(n=this.editor)==null?void 0:n.getModel(),d=(r=this.editor)==null?void 0:r.getPosition();if(s&&d){const a=t.editor.getModelMarkers({resource:s.uri}).find(h=>d.lineNumber>=h.startLineNumber&&d.lineNumber<=h.endLineNumber);a&&(o=a.message)}}catch{}e("fix",{diagnostic:o})}},{id:"iobroker.ai.tests",label:`✅ ${p.I18n.t("AI: Suggest tests")}`,order:6,run:()=>e("tests")}];for(const o of i)try{this.editor.addAction({id:o.id,label:o.label,contextMenuGroupId:"aichat",contextMenuOrder:o.order,keybindings:o.keybindings,run:()=>o.run()})}catch{}}getEditorSelection(){if(!this.editor)return null;const t=this.editor.getSelection();if(!t||t.isEmpty())return null;const e=this.editor.getModel();return e?{text:e.getValueInRange(t),range:{startLine:t.startLineNumber,startColumn:t.startColumn,endLine:t.endLineNumber,endColumn:t.endColumn}}:null}getEditorContent(){var t,e;return((e=(t=this.editor)==null?void 0:t.getModel())==null?void 0:e.getValue())??""}getCursorPosition(){var e;const t=(e=this.editor)==null?void 0:e.getPosition();return t?{line:t.lineNumber,column:t.column}:null}highlightLineRange(t,e){if(!this.editor||!this.monaco)return!1;const i=this.editor.getModel();if(!i)return!1;const o=i.getLineCount(),n=Math.max(1,Math.min(t,o)),r=Math.max(n,Math.min(e,o)),s=i.getLineMaxColumn(r);return this.editor.setSelection(new this.monaco.Range(n,1,r,s)),this.editor.revealLineInCenter(n),!0}goToLine(t,e=1){if(!this.editor||!this.monaco)return!1;const i=this.editor.getModel();if(!i)return!1;const o=i.getLineCount(),n=Math.max(1,Math.min(t,o));return this.editor.setPosition({lineNumber:n,column:e}),this.editor.revealLineInCenter(n),this.editor.focus(),!0}replaceSelection(t){if(!this.editor||!this.monaco)return!1;const e=this.editor.getSelection();if(!e)return!1;const i=new this.monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);return this.editor.executeEdits("",[{range:i,text:t,forceMoveMarkers:!0}]),this.editor.focus(),!0}getDiagnostics(){if(!this.editor||!this.monaco)return[];const t=this.editor.getModel();if(!t)return[];const e=this.monaco.editor.getModelMarkers({resource:t.uri}),i={8:"error",4:"warning",2:"info",1:"hint"};return e.map(o=>({line:o.startLineNumber,column:o.startColumn,endLine:o.endLineNumber,endColumn:o.endColumn,severity:i[o.severity]||"info",message:o.message,...o.source?{source:o.source}:{}}))}async getDocumentSymbols(){var i;if(!this.editor||!this.monaco)return[];const t=this.editor.getModel();if(!t)return[];const e=[];try{const o=this.monaco.languages,n=(i=o.getDocumentSymbolProviders)==null?void 0:i.call(o,t);if(n!=null&&n.length){const r={0:"file",1:"module",2:"namespace",3:"package",4:"class",5:"method",6:"property",7:"field",8:"constructor",9:"enum",10:"interface",11:"function",12:"variable",13:"constant",14:"string",15:"number",16:"boolean",17:"array",18:"object",19:"key",20:"null",21:"enum-member",22:"struct",23:"event",24:"operator",25:"type-parameter"};for(const s of n){const d={isCancellationRequested:!1},c=await s.provideDocumentSymbols(t,d);if(!c)continue;const a=h=>{var l;for(const u of h)e.push({name:u.name,kind:r[u.kind]||String(u.kind),line:u.range.startLineNumber,endLine:u.range.endLineNumber,...u.detail?{detail:u.detail}:{}}),(l=u.children)!=null&&l.length&&a(u.children)};if(a(c),e.length)break}}}catch{}if(e.length===0){const n=t.getValue().split(` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-DlobACYc.js","./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js","./preload-helper-BDBacUwf.js","./createSvgIcon-DYs_tNrE.js","./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js","./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js","./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js","./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js","./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js","./index-wHNMOf-c.js","./inheritsLoose-CIXm_zPk.js","./index-BTsjunTt.css","./inlineDiffController-DBLpPOe2.js","./applyCodeEdit-BdRnbz2g.js","./inlineChatWidget-Cu6rb4Ar.js"])))=>i.map(i=>d[i]); +import{_ as g}from"./preload-helper-BDBacUwf.js";import{j as m}from"./createSvgIcon-DYs_tNrE.js";import{a as v}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as T,a as N,b as M,h as A,i as w,Q as O,o as x,$ as j}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{n as E,Z as R}from"./index-wHNMOf-c.js";import{_ as p}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{h as V}from"./index-DlobACYc.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";function K(k){return/^script\.js\.global\./.test(k)}let P=0;function $(k){const t=/\x1b\[[0-9;]*m/g;return k.replace(t,"")}class tt extends v.Component{monacoDiv=null;editor=null;monaco=window.monaco;get monacoTS(){var t,e;return(e=(t=this.monaco)==null?void 0:t.languages)==null?void 0:e.typescript}insert="";originalCode;runningInstancesStr;monacoCounter=0;location;breakpoints;lastSearch="";typings={};decorations=[];datapointProviderDisposable=null;inlineProviderDisposable=null;stateHoverDisposable=null;codeLensDisposable=null;inlineChatWidgetInstance=null;inlineDiffInstance=null;inlineDiffCssInjected=!1;triggerPrettier;contentChangeDisposable=null;mouseDownDisposable=null;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=v.createRef()}waitForMonaco(t){var i,o,n,r;let e=!!((o=(i=this.monacoTS)==null?void 0:i.typescriptDefaults)!=null&&o.getCompilerOptions);if(!e||!this.props.runningInstances){if(this.monaco=window.monaco,e=!!((r=(n=this.monacoTS)==null?void 0:n.typescriptDefaults)!=null&&r.getCompilerOptions),this.monacoCounter++,!e&&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 e=t&&Object.keys(t).find(i=>t==null?void 0:t[i]);e&&this.props.socket.sendTo(e.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,o,n,r,s,d,c,a;this.undo,this.redo,this.showInlineDiff,this.getEditorSelection,this.getEditorContent,this.getCursorPosition,this.highlightLineRange,this.goToLine,this.replaceSelection,this.getDiagnostics,this.getDocumentSymbols;let t=!!((o=(i=this.monacoTS)==null?void 0:i.typescriptDefaults)!=null&&o.getCompilerOptions);if((!t||!this.props.runningInstances)&&(this.monaco=window.monaco,t=!!((r=(n=this.monacoTS)==null?void 0:n.typescriptDefaults)!=null&&r.getCompilerOptions),!t)){console.log("wait for monaco loaded..."),this.waitForMonaco(()=>this.componentDidMount());return}if(!this.editor&&t&&this.monaco){console.log("Init editor"),(d=(s=this.props).onRegisterSelect)==null||d.call(s,()=>{var l;if(this.editor){const u=this.editor.getSelection();if(u)return(l=this.editor.getModel())==null?void 0:l.getValueInRange(u)}});const h=this.monacoTS.typescriptDefaults.getCompilerOptions();h.allowJs=!0,h.checkJs=this.props.checkJs!==!1,h.noLib=!0,h.lib=[],h.useUnknownInCatchVariables=!1,h.moduleResolution=this.monacoTS.ModuleResolutionKind.NodeJs,h.target=this.monacoTS.ScriptTarget.ESNext,h.module=this.monacoTS.ModuleKind.ESNext,h.allowNonTsExtensions=!0,this.monacoTS.typescriptDefaults.setCompilerOptions(h),this.setTypeCheck(!1),(c=this.monacoDiv)!=null&&c.current&&(this.editor=this.monaco.editor.create((a=this.monacoDiv)==null?void 0:a.current,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints,colorDecorators:!0}),this.contentChangeDisposable=this.editor.onDidChangeModelContent(()=>this.onChange()),this.monaco&&!this.datapointProviderDisposable&&g(async()=>{const{registerDatapointProvider:l}=await import("./AiDatapointProvider-B0i3I5Fm.js");return{registerDatapointProvider:l}},[],import.meta.url).then(({registerDatapointProvider:l})=>{this.monaco&&(this.datapointProviderDisposable=l(this.monaco,this.props.socket))}).catch(()=>{}),this.monaco&&!this.stateHoverDisposable&&g(async()=>{const{registerStateHoverProvider:l}=await import("./stateHoverProvider-CGChzV5W.js");return{registerStateHoverProvider:l}},[],import.meta.url).then(({registerStateHoverProvider:l})=>{this.monaco&&(this.stateHoverDisposable=l(this.monaco,this.props.socket))}).catch(()=>{}),this.props.aiCompletionsEnabled&&this.monaco&&!this.inlineProviderDisposable&&g(async()=>{const{registerAiInlineProvider:l}=await import("./AiInlineProvider-DkgjVSFQ.js");return{registerAiInlineProvider:l}},[],import.meta.url).then(({registerAiInlineProvider:l})=>{this.monaco&&(this.inlineProviderDisposable=l(this.monaco,this.props.socket,this.props.runningInstances))}).catch(()=>{}),this.loadTypings(),this.props.onForceSave&&this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KeyS,()=>this.props.onForceSave&&this.props.onForceSave()),this.registerAiActions(),this.monaco&&this.editor&&this.props.onAiAction&&!this.codeLensDisposable&&g(async()=>{const{registerAiCodeLensProvider:l}=await import("./index-DlobACYc.js").then(u=>u.o);return{registerAiCodeLensProvider:l}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url).then(({registerAiCodeLensProvider:l})=>{this.monaco&&this.editor&&this.props.onAiAction&&(this.codeLensDisposable=l(this.monaco,this.editor,(u,y,f,b,C)=>{var L,I,S;const D=(L=this.editor)==null?void 0:L.getModel(),_=D?D.getLineMaxColumn(Math.min(C,D.getLineCount())):1;(S=(I=this.props).onAiAction)==null||S.call(I,{action:u,code:y,rangeLabel:f,range:{startLine:b,startColumn:1,endLine:C,endColumn:_},kind:"codelens"})}))}).catch(()=>{}),setTimeout(()=>{this.highlightText(this.state.searchText),this.location=this.props.location||void 0,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const e={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(e),this.editor&&(this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint&&(this.mouseDownDisposable=this.editor.onMouseDown(h=>{var u;const l=h.target;this.props.onToggleBreakpoint&&((u=l.detail)==null?void 0:u.glyphMarginLeft)!==void 0&&l.position&&this.props.onToggleBreakpoint(l.position.lineNumber-1)})))}setEditorOptions(t){var e;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&&((e=this.monaco)==null||e.editor.setTheme(t.isDark?"vs-dark":"vs")))}componentWillUnmount(){var t,e,i,o,n,r,s,d,c;(t=this.contentChangeDisposable)==null||t.dispose(),this.contentChangeDisposable=null,(e=this.mouseDownDisposable)==null||e.dispose(),this.mouseDownDisposable=null,(i=this.datapointProviderDisposable)==null||i.dispose(),this.datapointProviderDisposable=null,g(async()=>{const{clearDatapointCache:a}=await import("./AiDatapointProvider-B0i3I5Fm.js");return{clearDatapointCache:a}},[],import.meta.url).then(({clearDatapointCache:a})=>a()).catch(()=>{}),(o=this.inlineProviderDisposable)==null||o.dispose(),this.inlineProviderDisposable=null,(n=this.stateHoverDisposable)==null||n.dispose(),this.stateHoverDisposable=null,g(async()=>{const{clearStateHoverCache:a}=await import("./stateHoverProvider-CGChzV5W.js");return{clearStateHoverCache:a}},[],import.meta.url).then(({clearStateHoverCache:a})=>a()).catch(()=>{}),(r=this.codeLensDisposable)==null||r.dispose(),this.codeLensDisposable=null,(s=this.inlineChatWidgetInstance)==null||s.dispose(),this.inlineChatWidgetInstance=null,this.hideInlineDiff(),this.editor&&((c=(d=this.props).onRegisterSelect)==null||c.call(d,null),this.editor.dispose(),this.editor=null)}async doPrettier(){var i,o,n,r;const t=this.props.runningInstances&&Object.keys(this.props.runningInstances).find(s=>{var d;return(d=this.props.runningInstances)==null?void 0:d[s]});if(!t){window.alert(p.I18n.t("No script adapter instance found to format the code"));return}const e=await this.props.socket.sendTo(t.replace("system.adapter.",""),"prettier",{code:(i=this.editor)==null?void 0:i.getValue(),type:this.state.language});e.error?this.setState({showError:{title:p.I18n.t("Error formatting code"),message:$(e.error)}}):e.code&&((o=this.editor)==null||o.setValue(e.code),(r=(n=this.props).onChange)==null||r.call(n,e.code),this.showDecorators())}setEditorLanguage(t){var i,o;if(!this.editor)return;const e=this.editor.getModel();if(e){const n=e.getValue(),r=e.uri.path,s=typeof r=="string"&&r.includes(".")?r.substring(0,r.lastIndexOf(".")):"index",d=t==="javascript"?"js":t==="typescript"?"ts":t;e.dispose();const c=t==="javascript"||t==="typescript"?"typescript":t,a=(i=this.monaco)==null?void 0:i.editor.createModel(n,c,this.monaco.Uri.from({scheme:window.location.protocol.replace(":",""),path:`${s}${P++}.${d}`}));a&&(this.editor.setModel(a),(o=this.contentChangeDisposable)==null||o.dispose(),this.contentChangeDisposable=this.editor.onDidChangeModelContent(()=>this.onChange()))}}setTypeCheck(t){var i,o;const e={noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive};(i=this.monacoTS)==null||i.typescriptDefaults.setDiagnosticsOptions(e),(o=this.monacoTS)==null||o.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive})}setEditorTypings(t=""){var n,r,s,d;const e=K(t),i=`${t}.d.ts`,o=[];for(const c of Object.keys(this.typings))e&&(c==="global.d.ts"||c.startsWith("script.js.global")&&c!==i)||o.push({filePath:c,content:this.typings[c]});if((r=(n=this.monacoTS)==null?void 0:n.typescriptDefaults)!=null&&r.setExtraLibs)this.monacoTS.typescriptDefaults.setExtraLibs(o);else if((d=(s=this.monacoTS)==null?void 0:s.typescriptDefaults)!=null&&d.addExtraLib){const c=this.monacoTS.typescriptDefaults.getExtraLibs();o.forEach(a=>{!c[a.filePath]&&this.monaco&&this.monacoTS.typescriptDefaults.addExtraLib(a.content,a.filePath)})}}undo(){var t;(t=this.editor)==null||t.trigger("toolbar","undo",null)}redo(){var t;(t=this.editor)==null||t.trigger("toolbar","redo",null)}insertTextIntoEditor(t){if(!this.editor||!this.monaco)return;const e=this.editor.getSelection();if(e){const i=new this.monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);this.editor.executeEdits("",[{range:i,text:t,forceMoveMarkers:!0}])}this.editor.focus()}highlightText(t){var o;if(!this.editor||!this.monaco)return 0;const e=t?(o=this.editor.getModel())==null?void 0:o.findMatches(t,!0,!1,!1,null,!0):void 0;if(e!=null&&e.length)return e.forEach(n=>{var r;return(r=this.editor)==null?void 0:r.setSelection(n.range)}),this.editor.revealLine(e[0].range.startLineNumber),e.length;const i=this.editor.getPosition();if(i){const n=i.lineNumber,r=i.column;this.editor.setSelection(new this.monaco.Range(n,r,n,r))}return 0}showInlineDiff(t){if(!this.editor||!this.monaco)return;const e=this.editor,i=this.monaco;this.hideInlineDiff(),g(async()=>{const{InlineDiffController:o,INLINE_DIFF_CSS:n}=await import("./inlineDiffController-DBLpPOe2.js");return{InlineDiffController:o,INLINE_DIFF_CSS:n}},__vite__mapDeps([14,10,15]),import.meta.url).then(({InlineDiffController:o,INLINE_DIFF_CSS:n})=>{if(!this.inlineDiffCssInjected){const s=document.createElement("style");s.textContent=n,s.setAttribute("data-iob-aichat","inline-diff"),document.head.appendChild(s),this.inlineDiffCssInjected=!0}const r=new o(e,i,{range:t.range,originalText:t.originalText,modifiedText:t.modifiedText,onAccepted:()=>{var s;this.inlineDiffInstance=null,(s=t.onAccepted)==null||s.call(t)},onRejected:()=>{var s;this.inlineDiffInstance=null,(s=t.onRejected)==null||s.call(t)}});this.inlineDiffInstance=r,r.show()}).catch(()=>{})}hideInlineDiff(){if(this.inlineDiffInstance){try{this.inlineDiffInstance.dispose()}catch{}this.inlineDiffInstance=null}}showInlineChatWidget(){if(!this.editor||!this.monaco||!this.props.onInlineAsk)return;if(this.inlineChatWidgetInstance){this.inlineChatWidgetInstance.show();return}const t=this.editor,e=this.monaco,i=this.props.onInlineAsk,o=this.props.onAiAction;g(async()=>{const{InlineChatWidget:n}=await import("./inlineChatWidget-Cu6rb4Ar.js");return{InlineChatWidget:n}},__vite__mapDeps([16,10,15]),import.meta.url).then(({InlineChatWidget:n})=>{const r=new n(t,e,{onSubmit:async s=>i({question:s.question,selectedCode:s.selectedCode}),onEscalateToChat:s=>{o&&o({action:"ask",code:s.selectedCode,question:s.question,rangeLabel:s.range?`lines ${s.range.startLineNumber}-${s.range.endLineNumber}`:"whole file"})}});this.inlineChatWidgetInstance=r,r.show()}).catch(()=>{})}registerAiActions(){if(!this.editor||!this.monaco||!this.props.onAiAction)return;const t=this.monaco,e=(o,n={})=>{if(!this.editor||!this.props.onAiAction)return;const r=this.editor.getModel();if(!r)return;const s=this.editor.getSelection(),d=s&&!s.isEmpty();let c,a,h,l="selection";if(d)c=r.getValueInRange(s),a=s.startLineNumber===s.endLineNumber?`line ${s.startLineNumber}`:`lines ${s.startLineNumber}-${s.endLineNumber}`,h={startLine:s.startLineNumber,startColumn:s.startColumn,endLine:s.endLineNumber,endColumn:s.endColumn},l="selection";else{const u=this.editor.getPosition();let y=null;if(u)try{y=V(r.getValue(),u.lineNumber)}catch{}if(y){const f=y.startLine,b=y.endLine,C=r.getLineMaxColumn(b),D=new t.Range(f,1,b,C);c=r.getValueInRange(D),a=f===b?`line ${f}`:`lines ${f}-${b}`,h={startLine:f,startColumn:1,endLine:b,endColumn:C},l="codelens"}else c=r.getValue(),a="whole file",l="none"}this.props.onAiAction({action:o,code:c,rangeLabel:a,range:h,kind:l,...n})},i=[{id:"iobroker.ai.inline",label:`🤖 ${p.I18n.t("AI: Inline chat…")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyI],order:1,run:()=>{if(this.props.onInlineAsk)this.showInlineChatWidget();else{const o=window.prompt(p.I18n.t("Ask the AI about the selected code:"));o&&o.trim()&&e("ask",{question:o.trim()})}}},{id:"iobroker.ai.explain",label:`💡 ${p.I18n.t("AI: Explain")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyE],order:2,run:()=>e("explain")},{id:"iobroker.ai.refactor",label:`🔧 ${p.I18n.t("AI: Refactor")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyR],order:3,run:()=>e("refactor")},{id:"iobroker.ai.comment",label:`💬 ${p.I18n.t("AI: Add comments")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyC],order:4,run:()=>e("comment")},{id:"iobroker.ai.fix",label:`🛠️ ${p.I18n.t("AI: Fix problem")}`,keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Alt|t.KeyCode.KeyF],order:5,run:()=>{var n,r;let o;try{const s=(n=this.editor)==null?void 0:n.getModel(),d=(r=this.editor)==null?void 0:r.getPosition();if(s&&d){const a=t.editor.getModelMarkers({resource:s.uri}).find(h=>d.lineNumber>=h.startLineNumber&&d.lineNumber<=h.endLineNumber);a&&(o=a.message)}}catch{}e("fix",{diagnostic:o})}},{id:"iobroker.ai.tests",label:`✅ ${p.I18n.t("AI: Suggest tests")}`,order:6,run:()=>e("tests")}];for(const o of i)try{this.editor.addAction({id:o.id,label:o.label,contextMenuGroupId:"aichat",contextMenuOrder:o.order,keybindings:o.keybindings,run:()=>o.run()})}catch{}}getEditorSelection(){if(!this.editor)return null;const t=this.editor.getSelection();if(!t||t.isEmpty())return null;const e=this.editor.getModel();return e?{text:e.getValueInRange(t),range:{startLine:t.startLineNumber,startColumn:t.startColumn,endLine:t.endLineNumber,endColumn:t.endColumn}}:null}getEditorContent(){var t,e;return((e=(t=this.editor)==null?void 0:t.getModel())==null?void 0:e.getValue())??""}getCursorPosition(){var e;const t=(e=this.editor)==null?void 0:e.getPosition();return t?{line:t.lineNumber,column:t.column}:null}highlightLineRange(t,e){if(!this.editor||!this.monaco)return!1;const i=this.editor.getModel();if(!i)return!1;const o=i.getLineCount(),n=Math.max(1,Math.min(t,o)),r=Math.max(n,Math.min(e,o)),s=i.getLineMaxColumn(r);return this.editor.setSelection(new this.monaco.Range(n,1,r,s)),this.editor.revealLineInCenter(n),!0}goToLine(t,e=1){if(!this.editor||!this.monaco)return!1;const i=this.editor.getModel();if(!i)return!1;const o=i.getLineCount(),n=Math.max(1,Math.min(t,o));return this.editor.setPosition({lineNumber:n,column:e}),this.editor.revealLineInCenter(n),this.editor.focus(),!0}replaceSelection(t){if(!this.editor||!this.monaco)return!1;const e=this.editor.getSelection();if(!e)return!1;const i=new this.monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);return this.editor.executeEdits("",[{range:i,text:t,forceMoveMarkers:!0}]),this.editor.focus(),!0}getDiagnostics(){if(!this.editor||!this.monaco)return[];const t=this.editor.getModel();if(!t)return[];const e=this.monaco.editor.getModelMarkers({resource:t.uri}),i={8:"error",4:"warning",2:"info",1:"hint"};return e.map(o=>({line:o.startLineNumber,column:o.startColumn,endLine:o.endLineNumber,endColumn:o.endColumn,severity:i[o.severity]||"info",message:o.message,...o.source?{source:o.source}:{}}))}async getDocumentSymbols(){var i;if(!this.editor||!this.monaco)return[];const t=this.editor.getModel();if(!t)return[];const e=[];try{const o=this.monaco.languages,n=(i=o.getDocumentSymbolProviders)==null?void 0:i.call(o,t);if(n!=null&&n.length){const r={0:"file",1:"module",2:"namespace",3:"package",4:"class",5:"method",6:"property",7:"field",8:"constructor",9:"enum",10:"interface",11:"function",12:"variable",13:"constant",14:"string",15:"number",16:"boolean",17:"array",18:"object",19:"key",20:"null",21:"enum-member",22:"struct",23:"event",24:"operator",25:"type-parameter"};for(const s of n){const d={isCancellationRequested:!1},c=await s.provideDocumentSymbols(t,d);if(!c)continue;const a=h=>{var l;for(const u of h)e.push({name:u.name,kind:r[u.kind]||String(u.kind),line:u.range.startLineNumber,endLine:u.range.endLineNumber,...u.detail?{detail:u.detail}:{}}),(l=u.children)!=null&&l.length&&a(u.children)};if(a(c),e.length)break}}}catch{}if(e.length===0){const n=t.getValue().split(` `),r=[{re:/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/,kind:"function"},{re:/^(?:export\s+)?class\s+(\w+)/,kind:"class"},{re:/^(?:export\s+)?(?:const|let|var)\s+(\w+)/,kind:"variable"}];for(let s=0;s{this.monaco&&t.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,t))}}initNewScript(t,e){var i;this.setState({name:t}),this.originalCode=e||"",(i=this.editor)==null||i.setValue(e||""),this.highlightText(this.lastSearch),this.showDecorators(),this.setEditorTypings(t)}scrollToLineIfNeeded(t){if(this.editor){const e=this.editor.getVisibleRanges();(!e||!e[0]||e[0].startLineNumber>t||t>e[0].endLineNumber)&&this.editor.revealLineInCenter(t)}}UNSAFE_componentWillReceiveProps(t){const e={};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"}),e.language=t.language||"javascript"):this.state.readOnly!==(t.readOnly||!1)?(this.setState({readOnly:t.readOnly||!1}),e.readOnly=t.readOnly):this.state.isDark!==(t.isDark||!1)&&(this.setState({isDark:t.isDark||!1}),e.isDark=t.isDark),this.setEditorOptions(e),t.aiCompletionsEnabled!==this.props.aiCompletionsEnabled&&(t.aiCompletionsEnabled&&this.monaco&&!this.inlineProviderDisposable?g(async()=>{const{registerAiInlineProvider:i}=await import("./AiInlineProvider-DkgjVSFQ.js");return{registerAiInlineProvider:i}},[],import.meta.url).then(({registerAiInlineProvider:i})=>{this.monaco&&(this.inlineProviderDisposable=i(this.monaco,this.props.socket,this.props.runningInstances))}).catch(()=>{}):!t.aiCompletionsEnabled&&this.inlineProviderDisposable&&(this.inlineProviderDisposable.dispose(),this.inlineProviderDisposable=null)),this.insert!==t.insert&&(this.insert=t.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 t,e;!this.props.readOnly&&this.editor&&((e=(t=this.props).onChange)==null||e.call(t,this.editor.getValue()))}renderErrorDialog(){return this.state.showError?this.state.showError.full?m.jsxs(T,{open:!0,maxWidth:"md",onClose:()=>this.setState({showError:null}),children:[m.jsx(N,{children:this.state.showError.title||p.I18n.t("Error")}),m.jsx(M,{children:m.jsx("pre",{children:m.jsx("code",{children:this.state.showError.message})})}),m.jsx(A,{children:m.jsxs(w,{variant:"contained",startIcon:m.jsx(E,{}),onClick:()=>this.setState({showError:null}),children:[p.I18n.t("Close")," "]})})]}):m.jsx(O,{open:!0,autoHideDuration:5e3,onClose:()=>this.setState({showError:null}),message:this.state.showError.title,action:m.jsxs(v.Fragment,{children:[m.jsx(w,{color:"secondary",size:"small",onClick:()=>this.setState({showError:{...this.state.showError,full:!0}}),children:p.I18n.t("More")}),m.jsx(x,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({showError:null}),children:m.jsx(E,{fontSize:"small"})})]})}):null}render(){var t;return!((t=this.monacoTS)!=null&&t.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(e=>console.error("Error formatting code:",e)),50)),m.jsxs("div",{ref:this.monacoDiv,style:{...this.props.style,width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:[this.renderErrorDialog(),!this.state.check&&m.jsx(j,{size:"small",title:p.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:m.jsx(R,{})})]}))}}export{tt as default}; diff --git a/admin/assets/index-hwplVCgv.js b/admin/assets/index-CexrwGGC.js similarity index 50% rename from admin/assets/index-hwplVCgv.js rename to admin/assets/index-CexrwGGC.js index 08dd064b..86467b28 100644 --- a/admin/assets/index-hwplVCgv.js +++ b/admin/assets/index-CexrwGGC.js @@ -1,25 +1,25 @@ -import{c as P,j as $,o as st,a as fc,b as Oc,d as Ec}from"./createSvgIcon-DYs_tNrE.js";import{a,c as Ce,r as De,e as zN,p as hr,j as Ka,q as Qg,_ as bg,b as et,k as Kt,f as Ug,s as wN,i as $g,l as Pg}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{a4 as So,F as IN,$ as bt,_ as Ae,a as fe,b as _e,p as as,V,E as ue,h as xe,i as q,Q as Zn,o as W,z as J,c as Te,y as ws,f as nt,g as re,Z as Wg,C as Jg,D as Us,a0 as Bg,a6 as CN,P as Le,t as Xt,u as dt,a7 as Rg,v as qt,H as Fg,d as Qt,e as yi,J as pN,q as ts,s as _c,W as br,r as xc,G as Sc,x as Gg,a3 as Hg,a8 as Me,a9 as Nn,aa as Vg,K as AN,N as it,M as kc,L as Zg,ab as vc,O as Xg}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{S as Xn}from"./Save-CkuNSiWL.js";import{c as we,I as We,b as wt,O as Kg,g as qg,j as or,i as mN,K as fN,C as ON,$ as ej,a0 as te,a1 as tj,a2 as sj,a3 as ij,a4 as rj,Y as Yc,a5 as oj,a6 as nj,a7 as aj,a8 as Mj,a9 as Qc,aa as bc,ab as cj,ac as uj,ad as lj,ae as Nj,af as Lj,ag as gj,ah as jj,ai as yj,aj as Tj,ak as Dj,al as dj,am as hj,an as Uc,ao as $c,ap as zj,aq as Pc,s as wj,ar as Ij,as as Cj,at as pj,au as Wc,av as Aj,aw as mj,ax as fj,P as Oj,h as Kn,a as zr}from"./index-wHNMOf-c.js";import{c as Ur,r as ko}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function Ej(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{P as _}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{u as _j}from"./useTheme-DuTJsNQ-.js";import{I as qa,R as EN,b as G}from"./index-SHs7_wDh.js";const xj=P($.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),Sj=P($.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),kj=P($.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"),vj=P([$.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"),$.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"),Yj=P($.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"),Qj=P($.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"),bj=P($.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"),Uj=P($.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"),$j=P($.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"),eM=P($.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"),Pj=P($.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"),Wj=P($.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"),Jj=P($.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"),Bj=P($.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"),Rj=P($.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"),Fj=P($.jsx("path",{d:"M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z"}),"ContentPaste"),Gj=P($.jsx("path",{d:"M17 15h2V7c0-1.1-.9-2-2-2H9v2h8zM7 17V1H5v4H1v2h4v10c0 1.1.9 2 2 2h10v4h2v-4h4v-2z"}),"Crop"),Hj=P($.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"),vo=P($.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"),Vj=P($.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"),Zj=P($.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"),Xj=P($.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),Kj=P($.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"),qj=P($.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"),ey=P($.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"),ty=P($.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"),sy=P($.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),iy=P($.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"),tM=P($.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"),_N=P($.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"),ry=P($.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),xN=P($.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"),oy=P($.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),ny=P($.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"),ay=P($.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"),My=P($.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"),cy=P($.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),sM=P($.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"),uy=P($.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"),Lo=P($.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),iM=P($.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"),ly=P($.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"),qn=P($.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"),go=P($.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"),Ny=P($.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"),rM=P($.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"),Ly=P($.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),gy=P($.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"}),"UploadFile"),jy=P($.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"),yy=P($.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Ty=P($.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),Dy=P($.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"),dy=P($.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),hy=P($.jsx("path",{d:"M4 15h16v-2H4zm0 4h16v-2H4zm0-8h16V9H4zm0-6v2h16V5z"}),"ViewHeadline"),zy=P($.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"),wy=P($.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"),Iy=P($.jsx("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning"),li=P($.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"),$r=P($.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"),Ln=11/23/100;function Jc(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 Cy(s){return`#${Math.round(s.r).toString(16).padStart(2,"0")}${Math.round(s.g).toString(16).padStart(2,"0")}${Math.round(s.b).toString(16).padStart(2,"0")}`}function py(s,e,t){const i=Jc(s),r=Jc(e);return i.r+=r.r*(.05+Ln*(t-1)),i.g+=r.g*(.05+Ln*(t-1)),i.b+=r.b*(.05+Ln*(t-1)),Cy(i)}function gn(s,e){const t={};for(let i=1;i<=24;i++)t[`elevation${i}`]={backgroundColor:py(s,e,i)};return t}function Ay(s,e){var n,M,c,l,N,u,L,g,j,y,T;let t,i;s==="dark"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#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:st[400],"&:hover":{color:st[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:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#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:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):s==="NW"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}},MuiPaper:gn("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#00af78"},secondary:{main:"#005a40"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):(i={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[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:(M=(n=t.palette)==null?void 0:n.primary)==null?void 0:M.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:fc[300],dark:fc[400]});const r=Oc(t),o=r.palette;return Oc(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:Ec(((L=o.text)==null?void 0:L.primary)||"",((g=o.action)==null?void 0:g.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(j=o.text)==null?void 0:j.primary,"&:hover":{backgroundColor:Ec(((y=o.text)==null?void 0:y.primary)||"",((T=o.action)==null?void 0:T.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function my(){let s,e;const t=new Promise((i,r)=>{s=i,e=r});return t.resolve=s,t.reject=e,t}function ea(s){return(s==null?void 0:s.rows.map(e=>e.value).filter(e=>!!e))??[]}function vt(s){return s!=null&&s.startsWith("system.host.")||(s=`system.host.${s}`),s}function Pi(s){return s!=null&&s.startsWith("system.host.")&&(s=s.substring(12)),s}function Bc(s){return new Promise(e=>{setTimeout(e,s)})}function Pr(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}typeof globalThis.process<"u"&&(globalThis.location||={href:"http://localhost:8081/",protocol:"http:",host:"localhost:8081",pathname:"/",hostname:"localhost",reload:()=>{}},globalThis.localStorage||={_keys:{},setItem:(s,e)=>{globalThis.localStorage._keys[s]=e},getItem:s=>s in globalThis.localStorage._keys?globalThis.localStorage._keys[s]:null,removeItem:s=>{s in globalThis.localStorage._keys&&delete globalThis.localStorage._keys[s]}},globalThis.sessionStorage||=globalThis.localStorage,globalThis.navigator||={language:"en"});var ht;(function(s){s[s.CONNECTING=0]="CONNECTING",s[s.CONNECTED=1]="CONNECTED",s[s.OBJECTS_LOADED=2]="OBJECTS_LOADED",s[s.READY=3]="READY"})(ht||(ht={}));var Qe;(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"})(Qe||(Qe={}));const Dve=Qe.PERMISSION_ERROR;Qe.NOT_CONNECTED;const fy=["material","echarts","vis"];class ke{props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};objectViewCached;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||globalThis.location.protocol,host:e.host||globalThis.location.hostname,port:e.port||(globalThis.location.port==="3000"?8081:globalThis.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}}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=my();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return globalThis.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(this.props.connect){e();return}if(typeof globalThis.io>"u"&&typeof globalThis.iob>"u")if(typeof globalThis.registerSocketOnLoad=="function")globalThis.registerSocketOnLoad(()=>e());else{for(let i=1;i<=30;i++){if(globalThis.io||globalThis.iob)return e();await Bc(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||globalThis.location.protocol).replace(":",""),r=globalThis.location.pathname;if(globalThis.location.hostname==="iobroker.net"||globalThis.location.hostname==="iobroker.pro")r="";else{if(globalThis.socketUrl){const c=new globalThis.URL(globalThis.socketUrl);e=c.hostname,t=c.port,i=c.protocol.replace(":","")}const M=r.lastIndexOf("/");if(M!==-1&&(r=r.substring(0,M+1)),ke.isWeb()){const c=r.split("/");c.length>2&&(c.pop(),c.pop(),fy.includes(c[c.length-1])&&c.pop(),r=c.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}`:`${i}://${e}`,n=this.props.connect||(globalThis.io||globalThis.iob).connect;return this._socket=n(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",M=>{var l;(l=globalThis.addEventListener)==null||l.call(globalThis,"storage",this.onAccessTokenUpdated);const c=ke.readTokens();if(c&&!c.owner){const N=Date.now();this.saveTokens({access_token:c.access_token,refresh_token:c.refresh_token,expires_in:Math.round((c.expires_in.getTime()-N)/1e3),refresh_token_expires_in:Math.round((c.refresh_token_expires_in.getTime()-N)/1e3),token_type:"Bearer"},c.stayLoggedIn)}this.onReadyDone=!1,M!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(N=>{const[u,L,g]=N.version.split(".");parseInt(u,10)*1e4+parseInt(L,10)*100+parseInt(g,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(y,T)=>this.onPreConnect(y,T))}).catch(N=>this.onError({message:N.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(N,u)=>{this.onPreConnect(N,u)})}),this._socket.on("reconnect",()=>{var M,c;this.onReadyDone=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.READY),this.connected=!0,this.waitForRestart?globalThis.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(l=>l(!0)))}),this._socket.on("disconnect",()=>{var M,c;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.CONNECTING),this.onConnectionHandlers.forEach(l=>l(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",M=>{var c,l;(l=(c=this.props).onLog)==null||l.call(c,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let c;M==null?c="":typeof M.toString=="function"?c=M.toString():(c=JSON.stringify(M),console.error(`Received strange error: ${c}`)),c.includes("User not authorized")?this.authenticate():c.includes("websocket error")?(console.error(`Socket Error => reload: ${M}`),globalThis.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,c)=>{setTimeout(()=>this.objectChange(M,c),0)}),this._socket.on("stateChange",(M,c)=>{setTimeout(()=>this.stateChange(M,c),0)}),this._socket.on("im",(M,c,l)=>{setTimeout(()=>this.instanceMessage(M,c,l),0)}),this._socket.on("fileChange",(M,c,l)=>{setTimeout(()=>this.fileChange(M,c,l),0)}),this._socket.on("cmdStdout",(M,c)=>{var l;(l=this.onCmdStdoutHandler)==null||l.call(this,M,c)}),this._socket.on("cmdStderr",(M,c)=>{var l;(l=this.onCmdStderrHandler)==null||l.call(this,M,c)}),this._socket.on("cmdExit",(M,c)=>{var l;(l=this.onCmdExitHandler)==null||l.call(this,M,c)}),Promise.resolve()}onPreConnect(e,t){var i,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?globalThis.location.reload():(this.firstConnect?this.loadData().catch(o=>{console.error(`Cannot load data: ${o}`)}):(r=(i=this.props).onProgress)==null||r.call(i,ht.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=globalThis.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=globalThis.localStorage.getItem("iob_tokens")),!e)return null;const[i,r,o,n,M]=e.split(";"),c=new Date(r);return c.getTime(){if(e.key==="iob_tokens"){const t=ke.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}`),globalThis.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`),globalThis.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>globalThis.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),globalThis.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=globalThis.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(()=>globalThis.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(()=>globalThis.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 globalThis.location.hostname.includes("amazonaws.com")||globalThis.location.hostname.includes("iobroker.in")?!0:typeof globalThis.socketUrl>"u"?!1:globalThis.socketUrl.includes("iobroker.in")||globalThis.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 Bc(ke.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,i,r,o,n,M,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&&!ke.isWeb()&&(!globalThis.vendorPrefix||globalThis.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=globalThis.navigator.userLanguage||globalThis.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,ht.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(M=(n=this.props).onProgress)==null||M.call(n,ht.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(c=this.props).onReady)==null||l.call(c,this.objects))}}authenticate(){globalThis.location.search.includes("&href=")?globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}${globalThis.location.search}`:globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}?login&href=${encodeURIComponent(globalThis.location.search+globalThis.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 M=0;MM.includes("*"))){let M;for(let c=0;cconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const M=await(ke.isWeb()?this.getStates(o):this.getForeignStates(o));if(M)for(const[c,l]of Object.entries(M)){const N=r(c,l);N instanceof Promise&&N.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(M){console.error(`Cannot getState "${o.join(", ")}": ${M.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 M=(n=(o=this.props).onObjectChange)==null?void 0:n.call(o,e,t);M instanceof Promise&&M.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(M=>console.error(`Cannot call instance message handler: ${M}`))}})}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(Qe.TIMEOUT))},i??this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(L)});try{await M(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 M of this.statesSubscribes[e].cbs)try{const c=M(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(ke.isWeb()?"getObjects":"getAllObjects",(o,n)=>{var M,c;t||(c=(M=this.props).onProgress)==null||c.call(M,ht.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,M]=o.split("$%$");this._socket.emit("subscribeFiles",n,M)})}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,M]=o.split("$%$");this._socket.emit("unsubscribeFiles",n,M)})}}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 M={};if(n)for(let c=0;c{i||="",r||="香",this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(M,c)=>{if(M)n(M);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,M,c)=>{n?o(n):r({file:M,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((M,c)=>M+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,M=>{M?o(M):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,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.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,M,c)=>{o?r(o):i({values:n,sessionId:c,step:M})})}})}getIpAddresses(e,t){return e=vt(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||="",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),M=Object.values(n);i(e?M.filter(c=>c.common.name===e):M)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=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(ea(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,(M,c)=>{M?n(M):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 M=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(M!=null&&M!==-1){r=!0;const c=this._instanceSubscriptions[e][M].messageType;this._instanceSubscriptions[e].splice(M,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(M=>!!M.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}destroy(){var e;if(this._socket){const t=this._socket;try{typeof t.destroy=="function"?t.destroy():typeof t.close=="function"&&t.close(!0)}catch{}}(e=globalThis.removeEventListener)==null||e.call(globalThis,"storage",this.onAccessTokenUpdated),this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this._refreshTimer&&(clearTimeout(this._refreshTimer),this._refreshTimer=null),this.onConnectionHandlers.length=0,this.onLogHandlers.length=0;for(const t of Object.keys(this.statesSubscribes))delete this.statesSubscribes[t];for(const t of Object.keys(this.objectsSubscribes))delete this.objectsSubscribes[t];for(const t of Object.keys(this.filesSubscribes))delete this.filesSubscribes[t];this._instanceSubscriptions={},this.connected=!1,this.onReadyDone=!1}}function Oy(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 Ey(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 M=(n=(o=s.native)==null?void 0:o.hardware)==null?void 0:n.networkInterfaces;Object.keys(M).forEach(c=>{var l;(l=M[c])==null||l.forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class dve extends ke{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])=>Oy(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 M=n;M.error?o(M.error):r(M.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(ea(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(ea(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 M=o.find(c=>c._id===e);if(M){const c=M._id;M._id=t,i!==void 0&&(M.common??={},M.common.name=i),await this.setObject(t,M),await this.delObject(c)}r()}})}getHostInfo(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfo"'):M?r(M):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):M?r(M):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,i,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:i,commandTimeout:r,executor:(o,n,M)=>{this._socket.emit("sendToHost",e,"getRepository",t,c=>{M.elapsed||(M.clearTimeout(),c===Qe.PERMISSION_ERROR?n('May not read "getRepository"'):c?o(c):n('Cannot read "getRepository"'))})}})}getInstalled(e,t,i){return e=vt(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getInstalled",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getInstalled"'):M?r(M):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.clearTimeout(),c&&n(c),o())})}})}readBaseSettings(e){return e=Pi(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===Qe.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=Pi(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===Qe.PERMISSION_ERROR?r('May not write "BaseSettings"'):n?i(n):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Pi(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=Pi(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=vt(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=Pi(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(i,r,o)=>{this._socket.emit("getHostByIp",e,(n,M)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:c,IPs6:l}=Ey(M);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,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}chownFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chownFile",e,t,i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),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 M=await n.json();i(M)}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,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),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,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),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=vt(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactInstalled",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):M?r(M):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=vt(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactRepository",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactRepository"'):M?r(M):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__,ae=globalThis,Is="10.48.0";function Yo(){return Qo(ae),ae}function Qo(s){const e=s.__SENTRY__=s.__SENTRY__||{};return e.version=e.version||Is,e[Is]=e[Is]||{}}function Ci(s,e,t=ae){const i=t.__SENTRY__=t.__SENTRY__||{},r=i[Is]=i[Is]||{};return r[s]||(r[s]=e())}const _y=["debug","info","warn","error","log","assert","trace"],xy="Sentry Logger ",jo={};function pi(s){if(!("console"in ae))return s();const e=ae.console,t={},i=Object.keys(jo);i.forEach(r=>{const o=jo[r];t[r]=e[r],e[r]=o});try{return s()}finally{i.forEach(r=>{e[r]=t[r]})}}function Sy(){nM().enabled=!0}function ky(){nM().enabled=!1}function SN(){return nM().enabled}function vy(...s){oM("log",...s)}function Yy(...s){oM("warn",...s)}function Qy(...s){oM("error",...s)}function oM(s,...e){X&&SN()&&pi(()=>{ae.console[s](`${xy}[${s}]:`,...e)})}function nM(){return X?Ci("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const F={enable:Sy,disable:ky,isEnabled:SN,log:vy,warn:Yy,error:Qy},kN=50,Cs="?",Rc=/\(error: (.*)\)/,Fc=/captureMessage|captureException/;function vN(...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 M=i;M1024&&(c=c.slice(0,1024));const l=Rc.test(c)?c.replace(Rc,"$1"):c;if(!l.includes("Error: ")){for(const N of e){const u=N(l);if(u){o.push(u);break}}if(o.length>=kN+r)break}}return Uy(o.slice(r))}}function by(s){return Array.isArray(s)?vN(...s):s}function Uy(s){if(!s.length)return[];const e=Array.from(s);return/sentryWrapped/.test(Wr(e).function||"")&&e.pop(),e.reverse(),Fc.test(Wr(e).function||"")&&(e.pop(),Fc.test(Wr(e).function||"")&&e.pop()),e.slice(0,kN).map(t=>({...t,filename:t.filename||Wr(e).filename,function:t.function||Cs}))}function Wr(s){return s[s.length-1]||{}}const jn="";function Ms(s){try{return!s||typeof s!="function"?jn:s.name||jn}catch{return jn}}function Gc(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}}}function YN(s){return"__v_isVNode"in s&&s.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const ro={},Hc={};function fs(s,e){ro[s]=ro[s]||[],ro[s].push(e)}function Os(s,e){if(!Hc[s]){Hc[s]=!0;try{e()}catch(t){X&&F.error(`Error while instrumenting ${s}`,t)}}}function gt(s,e){const t=s&&ro[s];if(t)for(const i of t)try{i(e)}catch(r){X&&F.error(`Error while triggering instrumentation handler. +import{c as P,j as $,o as st,a as Oc,b as Ec,d as _c}from"./createSvgIcon-DYs_tNrE.js";import{a,c as Ce,r as De,e as IN,p as hr,j as qa,q as bg,_ as Ug,b as et,k as Kt,f as $g,s as CN,i as Pg,l as Wg}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{a4 as So,F as pN,$ as bt,_ as Ae,a as fe,b as _e,p as as,V,E as ue,h as xe,i as q,Q as Xn,o as W,z as J,c as Te,y as ws,f as nt,g as re,Z as Jg,C as Bg,D as Us,a0 as Rg,a6 as AN,P as Le,t as Xt,u as dt,a7 as Fg,v as qt,H as Gg,d as Qt,e as yi,J as mN,q as ts,s as xc,W as br,r as Sc,G as kc,x as Hg,a3 as Vg,a8 as Me,a9 as Nn,aa as Zg,K as fN,N as it,M as vc,L as Xg,ab as Yc,O as Kg}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{S as Kn}from"./Save-CkuNSiWL.js";import{c as we,I as We,b as wt,O as qg,g as ej,j as or,i as ON,K as EN,C as _N,$ as tj,a0 as te,a1 as sj,a2 as ij,a3 as rj,a4 as oj,Y as Qc,a5 as nj,a6 as aj,a7 as Mj,a8 as cj,a9 as bc,aa as Uc,ab as uj,ac as lj,ad as Nj,ae as Lj,af as gj,ag as jj,ah as yj,ai as Tj,aj as Dj,ak as dj,al as hj,am as zj,an as $c,ao as Pc,ap as wj,aq as Wc,s as Ij,ar as Cj,as as pj,at as Aj,au as Jc,av as mj,aw as fj,ax as Oj,P as Ej,h as qn,a as zr}from"./index-wHNMOf-c.js";import{c as Ur,r as ko}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function _j(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{P as _}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{u as xj}from"./useTheme-DuTJsNQ-.js";import{I as eM,R as xN,b as G}from"./index-SHs7_wDh.js";const Sj=P($.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),kj=P($.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),vj=P($.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"),Yj=P([$.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"),$.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"),Qj=P($.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"),bj=P($.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"),Uj=P($.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"),$j=P($.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"),Pj=P($.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"),tM=P($.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"),Wj=P($.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"),Jj=P($.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"),Bj=P($.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"),Rj=P($.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"),Fj=P($.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"),Gj=P($.jsx("path",{d:"M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z"}),"ContentPaste"),Hj=P($.jsx("path",{d:"M17 15h2V7c0-1.1-.9-2-2-2H9v2h8zM7 17V1H5v4H1v2h4v10c0 1.1.9 2 2 2h10v4h2v-4h4v-2z"}),"Crop"),Vj=P($.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"),vo=P($.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"),Zj=P($.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"),Xj=P($.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"),Kj=P($.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),qj=P($.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"),ey=P($.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"),ty=P($.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"),sy=P($.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"),iy=P($.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),ry=P($.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"),sM=P($.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"),SN=P($.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"),oy=P($.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),kN=P($.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"),ny=P($.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),ay=P($.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"),My=P($.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"),cy=P($.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"),uy=P($.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),iM=P($.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"),ly=P($.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"),Lo=P($.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),rM=P($.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"),Ny=P($.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"),ea=P($.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"),go=P($.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"),Ly=P($.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"),oM=P($.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"),gy=P($.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),jy=P($.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"}),"UploadFile"),yy=P($.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"),Ty=P($.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Dy=P($.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),dy=P($.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"),hy=P($.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),zy=P($.jsx("path",{d:"M4 15h16v-2H4zm0 4h16v-2H4zm0-8h16V9H4zm0-6v2h16V5z"}),"ViewHeadline"),wy=P($.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"),Iy=P($.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"),Cy=P($.jsx("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning"),li=P($.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"),$r=P($.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"),Ln=11/23/100;function Bc(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 py(s){return`#${Math.round(s.r).toString(16).padStart(2,"0")}${Math.round(s.g).toString(16).padStart(2,"0")}${Math.round(s.b).toString(16).padStart(2,"0")}`}function Ay(s,e,t){const i=Bc(s),r=Bc(e);return i.r+=r.r*(.05+Ln*(t-1)),i.g+=r.g*(.05+Ln*(t-1)),i.b+=r.b*(.05+Ln*(t-1)),py(i)}function gn(s,e){const t={};for(let i=1;i<=24;i++)t[`elevation${i}`]={backgroundColor:Ay(s,e,i)};return t}function my(s,e){var n,M,c,l,N,u,L,g,j,y,T;let t,i;s==="dark"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#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:st[400],"&:hover":{color:st[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:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#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:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):s==="NW"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}},MuiPaper:gn("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#00af78"},secondary:{main:"#005a40"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):(i={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[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:(M=(n=t.palette)==null?void 0:n.primary)==null?void 0:M.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:Oc[300],dark:Oc[400]});const r=Ec(t),o=r.palette;return Ec(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:_c(((L=o.text)==null?void 0:L.primary)||"",((g=o.action)==null?void 0:g.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(j=o.text)==null?void 0:j.primary,"&:hover":{backgroundColor:_c(((y=o.text)==null?void 0:y.primary)||"",((T=o.action)==null?void 0:T.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function fy(){let s,e;const t=new Promise((i,r)=>{s=i,e=r});return t.resolve=s,t.reject=e,t}function ta(s){return(s==null?void 0:s.rows.map(e=>e.value).filter(e=>!!e))??[]}function vt(s){return s!=null&&s.startsWith("system.host.")||(s=`system.host.${s}`),s}function Pi(s){return s!=null&&s.startsWith("system.host.")&&(s=s.substring(12)),s}function Rc(s){return new Promise(e=>{setTimeout(e,s)})}function Pr(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}typeof globalThis.process<"u"&&(globalThis.location||={href:"http://localhost:8081/",protocol:"http:",host:"localhost:8081",pathname:"/",hostname:"localhost",reload:()=>{}},globalThis.localStorage||={_keys:{},setItem:(s,e)=>{globalThis.localStorage._keys[s]=e},getItem:s=>s in globalThis.localStorage._keys?globalThis.localStorage._keys[s]:null,removeItem:s=>{s in globalThis.localStorage._keys&&delete globalThis.localStorage._keys[s]}},globalThis.sessionStorage||=globalThis.localStorage,globalThis.navigator||={language:"en"});var ht;(function(s){s[s.CONNECTING=0]="CONNECTING",s[s.CONNECTED=1]="CONNECTED",s[s.OBJECTS_LOADED=2]="OBJECTS_LOADED",s[s.READY=3]="READY"})(ht||(ht={}));var Qe;(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"})(Qe||(Qe={}));const hve=Qe.PERMISSION_ERROR;Qe.NOT_CONNECTED;const Oy=["material","echarts","vis"];class ke{props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};objectViewCached;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||globalThis.location.protocol,host:e.host||globalThis.location.hostname,port:e.port||(globalThis.location.port==="3000"?8081:globalThis.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}}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=fy();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return globalThis.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(this.props.connect){e();return}if(typeof globalThis.io>"u"&&typeof globalThis.iob>"u")if(typeof globalThis.registerSocketOnLoad=="function")globalThis.registerSocketOnLoad(()=>e());else{for(let i=1;i<=30;i++){if(globalThis.io||globalThis.iob)return e();await Rc(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||globalThis.location.protocol).replace(":",""),r=globalThis.location.pathname;if(globalThis.location.hostname==="iobroker.net"||globalThis.location.hostname==="iobroker.pro")r="";else{if(globalThis.socketUrl){const c=new globalThis.URL(globalThis.socketUrl);e=c.hostname,t=c.port,i=c.protocol.replace(":","")}const M=r.lastIndexOf("/");if(M!==-1&&(r=r.substring(0,M+1)),ke.isWeb()){const c=r.split("/");c.length>2&&(c.pop(),c.pop(),Oy.includes(c[c.length-1])&&c.pop(),r=c.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}`:`${i}://${e}`,n=this.props.connect||(globalThis.io||globalThis.iob).connect;return this._socket=n(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",M=>{var l;(l=globalThis.addEventListener)==null||l.call(globalThis,"storage",this.onAccessTokenUpdated);const c=ke.readTokens();if(c&&!c.owner){const N=Date.now();this.saveTokens({access_token:c.access_token,refresh_token:c.refresh_token,expires_in:Math.round((c.expires_in.getTime()-N)/1e3),refresh_token_expires_in:Math.round((c.refresh_token_expires_in.getTime()-N)/1e3),token_type:"Bearer"},c.stayLoggedIn)}this.onReadyDone=!1,M!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(N=>{const[u,L,g]=N.version.split(".");parseInt(u,10)*1e4+parseInt(L,10)*100+parseInt(g,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(y,T)=>this.onPreConnect(y,T))}).catch(N=>this.onError({message:N.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(N,u)=>{this.onPreConnect(N,u)})}),this._socket.on("reconnect",()=>{var M,c;this.onReadyDone=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.READY),this.connected=!0,this.waitForRestart?globalThis.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(l=>l(!0)))}),this._socket.on("disconnect",()=>{var M,c;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.CONNECTING),this.onConnectionHandlers.forEach(l=>l(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",M=>{var c,l;(l=(c=this.props).onLog)==null||l.call(c,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let c;M==null?c="":typeof M.toString=="function"?c=M.toString():(c=JSON.stringify(M),console.error(`Received strange error: ${c}`)),c.includes("User not authorized")?this.authenticate():c.includes("websocket error")?(console.error(`Socket Error => reload: ${M}`),globalThis.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,c)=>{setTimeout(()=>this.objectChange(M,c),0)}),this._socket.on("stateChange",(M,c)=>{setTimeout(()=>this.stateChange(M,c),0)}),this._socket.on("im",(M,c,l)=>{setTimeout(()=>this.instanceMessage(M,c,l),0)}),this._socket.on("fileChange",(M,c,l)=>{setTimeout(()=>this.fileChange(M,c,l),0)}),this._socket.on("cmdStdout",(M,c)=>{var l;(l=this.onCmdStdoutHandler)==null||l.call(this,M,c)}),this._socket.on("cmdStderr",(M,c)=>{var l;(l=this.onCmdStderrHandler)==null||l.call(this,M,c)}),this._socket.on("cmdExit",(M,c)=>{var l;(l=this.onCmdExitHandler)==null||l.call(this,M,c)}),Promise.resolve()}onPreConnect(e,t){var i,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?globalThis.location.reload():(this.firstConnect?this.loadData().catch(o=>{console.error(`Cannot load data: ${o}`)}):(r=(i=this.props).onProgress)==null||r.call(i,ht.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=globalThis.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=globalThis.localStorage.getItem("iob_tokens")),!e)return null;const[i,r,o,n,M]=e.split(";"),c=new Date(r);return c.getTime(){if(e.key==="iob_tokens"){const t=ke.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}`),globalThis.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`),globalThis.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>globalThis.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),globalThis.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=globalThis.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(()=>globalThis.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(()=>globalThis.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 globalThis.location.hostname.includes("amazonaws.com")||globalThis.location.hostname.includes("iobroker.in")?!0:typeof globalThis.socketUrl>"u"?!1:globalThis.socketUrl.includes("iobroker.in")||globalThis.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 Rc(ke.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,i,r,o,n,M,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&&!ke.isWeb()&&(!globalThis.vendorPrefix||globalThis.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=globalThis.navigator.userLanguage||globalThis.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,ht.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(M=(n=this.props).onProgress)==null||M.call(n,ht.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(c=this.props).onReady)==null||l.call(c,this.objects))}}authenticate(){globalThis.location.search.includes("&href=")?globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}${globalThis.location.search}`:globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}?login&href=${encodeURIComponent(globalThis.location.search+globalThis.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 M=0;MM.includes("*"))){let M;for(let c=0;cconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const M=await(ke.isWeb()?this.getStates(o):this.getForeignStates(o));if(M)for(const[c,l]of Object.entries(M)){const N=r(c,l);N instanceof Promise&&N.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(M){console.error(`Cannot getState "${o.join(", ")}": ${M.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 M=(n=(o=this.props).onObjectChange)==null?void 0:n.call(o,e,t);M instanceof Promise&&M.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(M=>console.error(`Cannot call instance message handler: ${M}`))}})}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(Qe.TIMEOUT))},i??this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(L)});try{await M(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 M of this.statesSubscribes[e].cbs)try{const c=M(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(ke.isWeb()?"getObjects":"getAllObjects",(o,n)=>{var M,c;t||(c=(M=this.props).onProgress)==null||c.call(M,ht.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,M]=o.split("$%$");this._socket.emit("subscribeFiles",n,M)})}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,M]=o.split("$%$");this._socket.emit("unsubscribeFiles",n,M)})}}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 M={};if(n)for(let c=0;c{i||="",r||="香",this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(M,c)=>{if(M)n(M);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,M,c)=>{n?o(n):r({file:M,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((M,c)=>M+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,M=>{M?o(M):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,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.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,M,c)=>{o?r(o):i({values:n,sessionId:c,step:M})})}})}getIpAddresses(e,t){return e=vt(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||="",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),M=Object.values(n);i(e?M.filter(c=>c.common.name===e):M)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=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(ta(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,(M,c)=>{M?n(M):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 M=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(M!=null&&M!==-1){r=!0;const c=this._instanceSubscriptions[e][M].messageType;this._instanceSubscriptions[e].splice(M,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(M=>!!M.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}destroy(){var e;if(this._socket){const t=this._socket;try{typeof t.destroy=="function"?t.destroy():typeof t.close=="function"&&t.close(!0)}catch{}}(e=globalThis.removeEventListener)==null||e.call(globalThis,"storage",this.onAccessTokenUpdated),this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this._refreshTimer&&(clearTimeout(this._refreshTimer),this._refreshTimer=null),this.onConnectionHandlers.length=0,this.onLogHandlers.length=0;for(const t of Object.keys(this.statesSubscribes))delete this.statesSubscribes[t];for(const t of Object.keys(this.objectsSubscribes))delete this.objectsSubscribes[t];for(const t of Object.keys(this.filesSubscribes))delete this.filesSubscribes[t];this._instanceSubscriptions={},this.connected=!1,this.onReadyDone=!1}}function Ey(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 _y(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 M=(n=(o=s.native)==null?void 0:o.hardware)==null?void 0:n.networkInterfaces;Object.keys(M).forEach(c=>{var l;(l=M[c])==null||l.forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class zve extends ke{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])=>Ey(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 M=n;M.error?o(M.error):r(M.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(ta(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(ta(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 M=o.find(c=>c._id===e);if(M){const c=M._id;M._id=t,i!==void 0&&(M.common??={},M.common.name=i),await this.setObject(t,M),await this.delObject(c)}r()}})}getHostInfo(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfo"'):M?r(M):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):M?r(M):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,i,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:i,commandTimeout:r,executor:(o,n,M)=>{this._socket.emit("sendToHost",e,"getRepository",t,c=>{M.elapsed||(M.clearTimeout(),c===Qe.PERMISSION_ERROR?n('May not read "getRepository"'):c?o(c):n('Cannot read "getRepository"'))})}})}getInstalled(e,t,i){return e=vt(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getInstalled",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getInstalled"'):M?r(M):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.clearTimeout(),c&&n(c),o())})}})}readBaseSettings(e){return e=Pi(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===Qe.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=Pi(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===Qe.PERMISSION_ERROR?r('May not write "BaseSettings"'):n?i(n):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Pi(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=Pi(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=vt(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=Pi(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(i,r,o)=>{this._socket.emit("getHostByIp",e,(n,M)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:c,IPs6:l}=_y(M);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,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}chownFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chownFile",e,t,i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),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 M=await n.json();i(M)}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,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),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,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),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=vt(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactInstalled",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):M?r(M):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=vt(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactRepository",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactRepository"'):M?r(M):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__,ae=globalThis,Is="10.48.0";function Yo(){return Qo(ae),ae}function Qo(s){const e=s.__SENTRY__=s.__SENTRY__||{};return e.version=e.version||Is,e[Is]=e[Is]||{}}function Ci(s,e,t=ae){const i=t.__SENTRY__=t.__SENTRY__||{},r=i[Is]=i[Is]||{};return r[s]||(r[s]=e())}const xy=["debug","info","warn","error","log","assert","trace"],Sy="Sentry Logger ",jo={};function pi(s){if(!("console"in ae))return s();const e=ae.console,t={},i=Object.keys(jo);i.forEach(r=>{const o=jo[r];t[r]=e[r],e[r]=o});try{return s()}finally{i.forEach(r=>{e[r]=t[r]})}}function ky(){aM().enabled=!0}function vy(){aM().enabled=!1}function vN(){return aM().enabled}function Yy(...s){nM("log",...s)}function Qy(...s){nM("warn",...s)}function by(...s){nM("error",...s)}function nM(s,...e){X&&vN()&&pi(()=>{ae.console[s](`${Sy}[${s}]:`,...e)})}function aM(){return X?Ci("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const F={enable:ky,disable:vy,isEnabled:vN,log:Yy,warn:Qy,error:by},YN=50,Cs="?",Fc=/\(error: (.*)\)/,Gc=/captureMessage|captureException/;function QN(...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 M=i;M1024&&(c=c.slice(0,1024));const l=Fc.test(c)?c.replace(Fc,"$1"):c;if(!l.includes("Error: ")){for(const N of e){const u=N(l);if(u){o.push(u);break}}if(o.length>=YN+r)break}}return $y(o.slice(r))}}function Uy(s){return Array.isArray(s)?QN(...s):s}function $y(s){if(!s.length)return[];const e=Array.from(s);return/sentryWrapped/.test(Wr(e).function||"")&&e.pop(),e.reverse(),Gc.test(Wr(e).function||"")&&(e.pop(),Gc.test(Wr(e).function||"")&&e.pop()),e.slice(0,YN).map(t=>({...t,filename:t.filename||Wr(e).filename,function:t.function||Cs}))}function Wr(s){return s[s.length-1]||{}}const jn="";function Ms(s){try{return!s||typeof s!="function"?jn:s.name||jn}catch{return jn}}function Hc(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}}}function bN(s){return"__v_isVNode"in s&&s.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const ro={},Vc={};function fs(s,e){ro[s]=ro[s]||[],ro[s].push(e)}function Os(s,e){if(!Vc[s]){Vc[s]=!0;try{e()}catch(t){X&&F.error(`Error while instrumenting ${s}`,t)}}}function gt(s,e){const t=s&&ro[s];if(t)for(const i of t)try{i(e)}catch(r){X&&F.error(`Error while triggering instrumentation handler. Type: ${s} Name: ${Ms(i)} -Error:`,r)}}let yn=null;function $y(s){const e="error";fs(e,s),Os(e,Py)}function Py(){yn=ae.onerror,ae.onerror=function(s,e,t,i,r){return gt("error",{column:i,error:r,line:t,msg:s,url:e}),yn?yn.apply(this,arguments):!1},ae.onerror.__SENTRY_INSTRUMENTED__=!0}let Tn=null;function Wy(s){const e="unhandledrejection";fs(e,s),Os(e,Jy)}function Jy(){Tn=ae.onunhandledrejection,ae.onunhandledrejection=function(s){return gt("unhandledrejection",s),Tn?Tn.apply(this,arguments):!0},ae.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const QN=Object.prototype.toString;function bo(s){switch(QN.call(s)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return cs(s,Error)}}function Ai(s,e){return QN.call(s)===`[object ${e}]`}function bN(s){return Ai(s,"ErrorEvent")}function Vc(s){return Ai(s,"DOMError")}function By(s){return Ai(s,"DOMException")}function Ut(s){return Ai(s,"String")}function aM(s){return typeof s=="object"&&s!==null&&"__sentry_template_string__"in s&&"__sentry_template_values__"in s}function Uo(s){return s===null||aM(s)||typeof s!="object"&&typeof s!="function"}function ur(s){return Ai(s,"Object")}function $o(s){return typeof Event<"u"&&cs(s,Event)}function Ry(s){return typeof Element<"u"&&cs(s,Element)}function Fy(s){return Ai(s,"RegExp")}function wr(s){return!!(s!=null&&s.then&&typeof s.then=="function")}function Gy(s){return ur(s)&&"nativeEvent"in s&&"preventDefault"in s&&"stopPropagation"in s}function cs(s,e){try{return s instanceof e}catch{return!1}}function UN(s){return!!(typeof s=="object"&&s!==null&&(s.__isVue||s._isVue||s.__v_isVNode))}function $N(s){return typeof Request<"u"&&cs(s,Request)}const MM=ae,Hy=80;function PN(s,e={}){if(!s)return"";try{let t=s;const i=5,r=[];let o=0,n=0;const M=" > ",c=M.length;let l;const N=Array.isArray(e)?e:e.keyAttrs,u=!Array.isArray(e)&&e.maxStringLength||Hy;for(;t&&o++1&&n+r.length*c+l.length>=u));)r.push(l),n+=l.length,t=t.parentNode;return r.reverse().join(M)}catch{return""}}function Vy(s,e){const t=s,i=[];if(!(t!=null&&t.tagName))return"";if(MM.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(o=>t.getAttribute(o)).map(o=>[o,t.getAttribute(o)]):null;if(r!=null&&r.length)r.forEach(o=>{i.push(`[${o[0]}="${o[1]}"]`)});else{t.id&&i.push(`#${t.id}`);const o=t.className;if(o&&Ut(o)){const n=o.split(/\s+/);for(const M of n)i.push(`.${M}`)}}for(const o of["aria-label","type","name","title","alt"]){const n=t.getAttribute(o);n&&i.push(`[${o}="${n}"]`)}return i.join("")}function cM(){try{return MM.document.location.href}catch{return""}}function Zy(s){if(!MM.HTMLElement)return null;let e=s;const t=5;for(let i=0;i"}}function Xc(s){return typeof s=="object"&&s!==null?Object.fromEntries(Object.entries(s)):{}}function Xy(s){const e=Object.keys(JN(s));return e.sort(),e[0]?e.join(", "):"[object has no keys]"}let $s;function Po(s){if($s!==void 0)return $s?$s(s):s();const e=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),t=ae;return e in t&&typeof t[e]=="function"?($s=t[e],$s(s)):($s=null,s())}function yo(){return Po(()=>Math.random())}function Wo(){return Po(()=>Date.now())}function ta(s,e=0){return typeof s!="string"||e===0||s.length<=e?s:`${s.slice(0,e)}...`}function Kc(s,e){if(!Array.isArray(s))return"";const t=[];for(let i=0;ioo(s,i,t))}function Ky(){const s=ae;return s.crypto||s.msCrypto}let Dn;function qy(){return yo()*16}function at(s=Ky()){try{if(s!=null&&s.randomUUID)return Po(()=>s.randomUUID()).replace(/-/g,"")}catch{}return Dn||(Dn="10000000100040008000"+1e11),Dn.replace(/[018]/g,e=>(e^(qy()&15)>>e/4).toString(16))}function BN(s){var e,t;return(t=(e=s.exception)==null?void 0:e.values)==null?void 0:t[0]}function hs(s){const{message:e,event_id:t}=s;if(e)return e;const i=BN(s);return i?i.type&&i.value?`${i.type}: ${i.value}`:i.type||i.value||t||"":t||""}function sa(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 hi(s,e){const t=BN(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 qc(s){if(eT(s))return!0;try{us(s,"__sentry_captured__",!0)}catch{}return!1}function eT(s){try{return s.__sentry_captured__}catch{}}const RN=1e3;function Ir(){return Wo()/RN}function tT(){const{performance:s}=ae;if(!(s!=null&&s.now)||!s.timeOrigin)return Ir;const e=s.timeOrigin;return()=>(e+Po(()=>s.now()))/RN}let eu;function $t(){return(eu??(eu=tT()))()}function sT(s){const e=$t(),t={sid:at(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>rT(t)};return s&&zi(t,s),t}function zi(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||$t(),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:at()),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 iT(s,e){let t={};s.status==="ok"&&(t={status:"exited"}),zi(s,t)}function rT(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 Cr(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]=Cr(i[r],e[r],t-1));return i}function tu(){return at()}function FN(){return at().substring(16)}const ia="_sentrySpan";function su(s,e){e?us(s,ia,e):delete s[ia]}function iu(s){return s[ia]}const oT=100;class Pt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:tu(),sampleRand:yo()}}clone(){const e=new Pt;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._attributes={...this._attributes},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,e._conversationId=this._conversationId,su(e,iu(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&&zi(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],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 Pt?t.getScopeData():ur(t)?e:void 0,{tags:r,attributes:o,extra:n,user:M,contexts:c,level:l,fingerprint:N=[],propagationContext:u,conversationId:L}=i||{};return this._tags={...this._tags,...r},this._attributes={...this._attributes,...o},this._extra={...this._extra,...n},this._contexts={...this._contexts,...c},M&&Object.keys(M).length&&(this._user=M),l&&(this._level=l),N.length&&(this._fingerprint=N),u&&(this._propagationContext=u),L&&(this._conversationId=L),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,su(this,void 0),this._attachments=[],this.setPropagationContext({traceId:tu(),sampleRand:yo()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var o;const i=typeof t=="number"?t:oT;if(i<=0)return this;const r={timestamp:Ir(),...e,message:e.message?ta(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,attributes:this._attributes,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:iu(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Cr(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)||at();if(!this._client)return X&&F.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)||at();if(!this._client)return X&&F.warn("No client configured on scope - will not capture message!"),r;const o=(i==null?void 0:i.syntheticException)??new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...i,event_id:r},this),r}captureEvent(e,t){const i=e.event_id||(t==null?void 0:t.event_id)||at();return this._client?(this._client.captureEvent(e,{...t,event_id:i},this),i):(X&&F.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 nT(){return Ci("defaultCurrentScope",()=>new Pt)}function aT(){return Ci("defaultIsolationScope",()=>new Pt)}const ru=s=>s instanceof Promise&&!s[GN],GN=Symbol("chained PromiseLike"),MT=(s,e,t)=>{const i=s.then(r=>(e(r),r),r=>{throw t(r),r});return ru(i)&&ru(s)?i:cT(s,i)},cT=(s,e)=>{let t=!1;for(const i in s){if(i in e)continue;t=!0;const r=s[i];typeof r=="function"?Object.defineProperty(e,i,{value:(...o)=>r.apply(s,o),enumerable:!0,configurable:!0,writable:!0}):e[i]=r}return t&&Object.assign(e,{[GN]:!0}),e};class uT{constructor(e,t){let i;e?i=e:i=new Pt;let r;t?r=t:r=new Pt,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 wr(i)?MT(i,()=>this._popScope(),()=>this._popScope()):(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 wi(){const s=Yo(),e=Qo(s);return e.stack=e.stack||new uT(nT(),aT())}function lT(s){return wi().withScope(s)}function NT(s,e){const t=wi();return t.withScope(()=>(t.getStackTop().scope=s,e(s)))}function ou(s){return wi().withScope(()=>s(wi().getIsolationScope()))}function LT(){return{withIsolationScope:ou,withScope:lT,withSetScope:NT,withSetIsolationScope:(s,e)=>ou(e),getCurrentScope:()=>wi().getScope(),getIsolationScope:()=>wi().getIsolationScope()}}function lM(s){const e=Qo(s);return e.acs?e.acs:LT()}function At(){const s=Yo();return lM(s).getCurrentScope()}function Es(){const s=Yo();return lM(s).getIsolationScope()}function gT(){return Ci("globalScope",()=>new Pt)}function jT(...s){const e=Yo(),t=lM(e);if(s.length===2){const[i,r]=s;return i?t.withSetScope(i,r):t.withScope(r)}return t.withScope(s[0])}function Ue(){return At().getClient()}function yT(s){const e=s.getPropagationContext(),{traceId:t,parentSpanId:i,propagationSpanId:r}=e,o={trace_id:t,span_id:r||FN()};return i&&(o.parent_span_id=i),o}const TT="sentry.source",DT="sentry.sample_rate",dT="sentry.previous_trace_sample_rate",hT="sentry.op",zT="sentry.origin",HN="sentry.profile_id",VN="sentry.exclusive_time",wT="gen_ai.conversation.id",IT=0,CT=1,pT="_sentryScope",AT="_sentryIsolationScope";function mT(s){if(s){if(typeof s=="object"&&"deref"in s&&typeof s.deref=="function")try{return s.deref()}catch{return}return s}}function ZN(s){const e=s;return{scope:e[pT],isolationScope:mT(e[AT])}}const nu="sentry-";function fT(s){const e=OT(s);if(!e)return;const t=Object.entries(e).reduce((i,[r,o])=>{if(r.startsWith(nu)){const n=r.slice(nu.length);i[n]=o}return i},{});if(Object.keys(t).length>0)return t}function OT(s){if(!(!s||!Ut(s)&&!Array.isArray(s)))return Array.isArray(s)?s.reduce((e,t)=>{const i=au(t);return Object.entries(i).forEach(([r,o])=>{e[r]=o}),e},{}):au(s)}function au(s){return s.split(",").map(e=>{const t=e.indexOf("=");if(t===-1)return[];const i=e.slice(0,t),r=e.slice(t+1);return[i,r].map(o=>{try{return decodeURIComponent(o.trim())}catch{return}})}).reduce((e,[t,i])=>(t&&i&&(e[t]=i),e),{})}const ET=/^o(\d+)\./,_T=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function xT(s){return s==="http"||s==="https"}function pr(s,e=!1){const{host:t,path:i,pass:r,port:o,projectId:n,protocol:M,publicKey:c}=s;return`${M}://${c}${e&&r?`:${r}`:""}@${t}${o?`:${o}`:""}/${i&&`${i}/`}${n}`}function ST(s){const e=_T.exec(s);if(!e){pi(()=>{console.error(`Invalid Sentry Dsn: ${s}`)});return}const[t,i,r="",o="",n="",M=""]=e.slice(1);let c="",l=M;const N=l.split("/");if(N.length>1&&(c=N.slice(0,-1).join("/"),l=N.pop()),l){const u=l.match(/^\d+/);u&&(l=u[0])}return XN({host:o,pass:r,path:c,projectId:l,port:n,protocol:t,publicKey:i})}function XN(s){return{protocol:s.protocol,publicKey:s.publicKey||"",pass:s.pass||"",host:s.host,port:s.port||"",path:s.path||"",projectId:s.projectId}}function kT(s){if(!X)return!0;const{port:e,projectId:t,protocol:i}=s;return["protocol","publicKey","host","projectId"].find(n=>s[n]?!1:(F.error(`Invalid Sentry Dsn: ${n} missing`),!0))?!1:t.match(/^\d+$/)?xT(i)?e&&isNaN(parseInt(e,10))?(F.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(F.error(`Invalid Sentry Dsn: Invalid protocol ${i}`),!1):(F.error(`Invalid Sentry Dsn: Invalid projectId ${t}`),!1)}function vT(s){const e=s.match(ET);return e==null?void 0:e[1]}function YT(s){const e=s.getOptions(),{host:t}=s.getDsn()||{};let i;return e.orgId?i=String(e.orgId):t&&(i=vT(t)),i}function QT(s){const e=typeof s=="string"?ST(s):XN(s);if(!(!e||!kT(e)))return e}function bT(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 KN=1;let Mu=!1;function UT(s){const{spanId:e,traceId:t,isRemote:i}=s.spanContext(),r=i?e:NM(s).parent_span_id,o=ZN(s).scope,n=i?(o==null?void 0:o.getPropagationContext().propagationSpanId)||FN():e;return{parent_span_id:r,span_id:n,trace_id:t}}function $T(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===KN,attributes:o,...r}))}function cu(s){return typeof s=="number"?uu(s):Array.isArray(s)?s[0]+s[1]/1e9:s instanceof Date?uu(s.getTime()):$t()}function uu(s){return s>9999999999?s/1e3:s}function NM(s){if(JT(s))return s.getSpanJSON();const{spanId:e,traceId:t}=s.spanContext();if(WT(s)){const{attributes:i,startTime:r,name:o,endTime:n,status:M,links:c}=s;return{span_id:e,trace_id:t,data:i,description:o,parent_span_id:PT(s),start_timestamp:cu(r),timestamp:cu(n)||void 0,status:RT(M),op:i[hT],origin:i[zT],links:$T(c)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function PT(s){var e;return"parentSpanId"in s?s.parentSpanId:"parentSpanContext"in s?(e=s.parentSpanContext)==null?void 0:e.spanId:void 0}function WT(s){const e=s;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function JT(s){return typeof s.getSpanJSON=="function"}function BT(s){const{traceFlags:e}=s.spanContext();return e===KN}function RT(s){if(!(!s||s.code===IT))return s.code===CT?"ok":s.message||"internal_error"}const FT="_sentryRootSpan",qN=GT;function GT(s){return s[FT]||s}function lu(){Mu||(pi(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),Mu=!0)}function HT(s){var t;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=(t=Ue())==null?void 0:t.getOptions();return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}function Nu(s){F.log(`Ignoring span ${s.op} - ${s.description} because it matches \`ignoreSpans\`.`)}function Lu(s,e){if(!(e!=null&&e.length)||!s.description)return!1;for(const t of e){if(ZT(t)){if(oo(s.description,t))return X&&Nu(s),!0;continue}if(!t.name&&!t.op)continue;const i=t.name?oo(s.description,t.name):!0,r=t.op?s.op&&oo(s.op,t.op):!0;if(i&&r)return X&&Nu(s),!0}return!1}function VT(s,e){const t=e.parent_span_id,i=e.span_id;if(t)for(const r of s)r.parent_span_id===i&&(r.parent_span_id=t)}function ZT(s){return typeof s=="string"||s instanceof RegExp}const LM="production",XT="_frozenDsc";function e4(s,e){const t=e.getOptions(),{publicKey:i}=e.getDsn()||{},r={environment:t.environment||LM,release:t.release,public_key:i,trace_id:s,org_id:YT(e)};return e.emit("createDsc",r),r}function KT(s,e){const t=e.getPropagationContext();return t.dsc||e4(t.traceId,s)}function qT(s){var j;const e=Ue();if(!e)return{};const t=qN(s),i=NM(t),r=i.data,o=t.spanContext().traceState,n=(o==null?void 0:o.get("sentry.sample_rate"))??r[DT]??r[dT];function M(y){return(typeof n=="number"||typeof n=="string")&&(y.sample_rate=`${n}`),y}const c=t[XT];if(c)return M(c);const l=o==null?void 0:o.get("sentry.dsc"),N=l&&fT(l);if(N)return M(N);const u=e4(s.spanContext().traceId,e),L=r[TT]??r["sentry.span.source"],g=i.description;return L!=="url"&&g&&(u.transaction=g),HT()&&(u.sampled=String(BT(t)),u.sample_rand=(o==null?void 0:o.get("sentry.sample_rand"))??((j=ZN(t).scope)==null?void 0:j.getPropagationContext().sampleRand.toString())),M(u),e.emit("createDsc",u,t),u}function eD(s){return!!s&&typeof s=="function"&&"_streamed"in s&&!!s._streamed}function Yt(s,e=100,t=1/0){try{return ra("",s,e,t)}catch(i){return{ERROR:`**non-serializable** (${i})`}}}function t4(s,e=3,t=100*1024){const i=Yt(s,e);return rD(i)>t?t4(s,e-1,t):i}function ra(s,e,t=1/0,i=1/0,r=oD()){const[o,n]=r;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const M=tD(s,e);if(!M.startsWith("[object "))return M;if(e.__sentry_skip_normalization__)return e;const c=typeof e.__sentry_override_normalization_depth__=="number"?e.__sentry_override_normalization_depth__:t;if(c===0)return M.replace("object ","");if(o(e))return"[Circular ~]";const l=e;if(l&&typeof l.toJSON=="function")try{const g=l.toJSON();return ra("",g,c-1,i,r)}catch{}const N=Array.isArray(e)?[]:{};let u=0;const L=JN(e);for(const g in L){if(!Object.prototype.hasOwnProperty.call(L,g))continue;if(u>=i){N[g]="[MaxProperties ~]";break}const j=L[g];N[g]=ra(g,j,c-1,i,r),u++}return n(e),N}function tD(s,e){try{if(s==="domain"&&e&&typeof e=="object"&&e._events)return"[Domain]";if(s==="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(UN(e))return YN(e);if(Gy(e))return"[SyntheticEvent]";if(typeof e=="number"&&!Number.isFinite(e))return`[${e}]`;if(typeof e=="function")return`[Function: ${Ms(e)}]`;if(typeof e=="symbol")return`[${String(e)}]`;if(typeof e=="bigint")return`[BigInt: ${String(e)}]`;const t=sD(e);return/^HTML(\w*)Element$/.test(t)?`[HTMLElement: ${t}]`:`[object ${t}]`}catch(t){return`**non-serializable** (${t})`}}function sD(s){const e=Object.getPrototypeOf(s);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function iD(s){return~-encodeURI(s).split(/%..|./).length}function rD(s){return iD(JSON.stringify(s))}function oD(){const s=new WeakSet;function e(i){return s.has(i)?!0:(s.add(i),!1)}function t(i){s.delete(i)}return[e,t]}function mi(s,e=[]){return[s,e]}function nD(s,e){const[t,i]=s;return[t,[...i,e]]}function oa(s,e){const t=s[1];for(const i of t){const r=i[0].type;if(e(i,r))return!0}return!1}function aD(s,e){return oa(s,(t,i)=>e.includes(i))}function na(s){const e=Qo(ae);return e.encodePolyfill?e.encodePolyfill(s):new TextEncoder().encode(s)}function MD(s){const[e,t]=s;let i=JSON.stringify(e);function r(o){typeof i=="string"?i=typeof o=="string"?i+o:[na(i),o]:i.push(typeof o=="string"?na(o):o)}for(const o of t){const[n,M]=o;if(r(` +Error:`,r)}}let yn=null;function Py(s){const e="error";fs(e,s),Os(e,Wy)}function Wy(){yn=ae.onerror,ae.onerror=function(s,e,t,i,r){return gt("error",{column:i,error:r,line:t,msg:s,url:e}),yn?yn.apply(this,arguments):!1},ae.onerror.__SENTRY_INSTRUMENTED__=!0}let Tn=null;function Jy(s){const e="unhandledrejection";fs(e,s),Os(e,By)}function By(){Tn=ae.onunhandledrejection,ae.onunhandledrejection=function(s){return gt("unhandledrejection",s),Tn?Tn.apply(this,arguments):!0},ae.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const UN=Object.prototype.toString;function bo(s){switch(UN.call(s)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return cs(s,Error)}}function Ai(s,e){return UN.call(s)===`[object ${e}]`}function $N(s){return Ai(s,"ErrorEvent")}function Zc(s){return Ai(s,"DOMError")}function Ry(s){return Ai(s,"DOMException")}function Ut(s){return Ai(s,"String")}function MM(s){return typeof s=="object"&&s!==null&&"__sentry_template_string__"in s&&"__sentry_template_values__"in s}function Uo(s){return s===null||MM(s)||typeof s!="object"&&typeof s!="function"}function ur(s){return Ai(s,"Object")}function $o(s){return typeof Event<"u"&&cs(s,Event)}function Fy(s){return typeof Element<"u"&&cs(s,Element)}function Gy(s){return Ai(s,"RegExp")}function wr(s){return!!(s!=null&&s.then&&typeof s.then=="function")}function Hy(s){return ur(s)&&"nativeEvent"in s&&"preventDefault"in s&&"stopPropagation"in s}function cs(s,e){try{return s instanceof e}catch{return!1}}function PN(s){return!!(typeof s=="object"&&s!==null&&(s.__isVue||s._isVue||s.__v_isVNode))}function WN(s){return typeof Request<"u"&&cs(s,Request)}const cM=ae,Vy=80;function JN(s,e={}){if(!s)return"";try{let t=s;const i=5,r=[];let o=0,n=0;const M=" > ",c=M.length;let l;const N=Array.isArray(e)?e:e.keyAttrs,u=!Array.isArray(e)&&e.maxStringLength||Vy;for(;t&&o++1&&n+r.length*c+l.length>=u));)r.push(l),n+=l.length,t=t.parentNode;return r.reverse().join(M)}catch{return""}}function Zy(s,e){const t=s,i=[];if(!(t!=null&&t.tagName))return"";if(cM.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(o=>t.getAttribute(o)).map(o=>[o,t.getAttribute(o)]):null;if(r!=null&&r.length)r.forEach(o=>{i.push(`[${o[0]}="${o[1]}"]`)});else{t.id&&i.push(`#${t.id}`);const o=t.className;if(o&&Ut(o)){const n=o.split(/\s+/);for(const M of n)i.push(`.${M}`)}}for(const o of["aria-label","type","name","title","alt"]){const n=t.getAttribute(o);n&&i.push(`[${o}="${n}"]`)}return i.join("")}function uM(){try{return cM.document.location.href}catch{return""}}function Xy(s){if(!cM.HTMLElement)return null;let e=s;const t=5;for(let i=0;i"}}function Kc(s){return typeof s=="object"&&s!==null?Object.fromEntries(Object.entries(s)):{}}function Ky(s){const e=Object.keys(RN(s));return e.sort(),e[0]?e.join(", "):"[object has no keys]"}let $s;function Po(s){if($s!==void 0)return $s?$s(s):s();const e=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),t=ae;return e in t&&typeof t[e]=="function"?($s=t[e],$s(s)):($s=null,s())}function yo(){return Po(()=>Math.random())}function Wo(){return Po(()=>Date.now())}function sa(s,e=0){return typeof s!="string"||e===0||s.length<=e?s:`${s.slice(0,e)}...`}function qc(s,e){if(!Array.isArray(s))return"";const t=[];for(let i=0;ioo(s,i,t))}function qy(){const s=ae;return s.crypto||s.msCrypto}let Dn;function eT(){return yo()*16}function at(s=qy()){try{if(s!=null&&s.randomUUID)return Po(()=>s.randomUUID()).replace(/-/g,"")}catch{}return Dn||(Dn="10000000100040008000"+1e11),Dn.replace(/[018]/g,e=>(e^(eT()&15)>>e/4).toString(16))}function FN(s){var e,t;return(t=(e=s.exception)==null?void 0:e.values)==null?void 0:t[0]}function hs(s){const{message:e,event_id:t}=s;if(e)return e;const i=FN(s);return i?i.type&&i.value?`${i.type}: ${i.value}`:i.type||i.value||t||"":t||""}function ia(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 hi(s,e){const t=FN(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 eu(s){if(tT(s))return!0;try{us(s,"__sentry_captured__",!0)}catch{}return!1}function tT(s){try{return s.__sentry_captured__}catch{}}const GN=1e3;function Ir(){return Wo()/GN}function sT(){const{performance:s}=ae;if(!(s!=null&&s.now)||!s.timeOrigin)return Ir;const e=s.timeOrigin;return()=>(e+Po(()=>s.now()))/GN}let tu;function $t(){return(tu??(tu=sT()))()}function iT(s){const e=$t(),t={sid:at(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>oT(t)};return s&&zi(t,s),t}function zi(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||$t(),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:at()),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 rT(s,e){let t={};s.status==="ok"&&(t={status:"exited"}),zi(s,t)}function oT(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 Cr(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]=Cr(i[r],e[r],t-1));return i}function su(){return at()}function HN(){return at().substring(16)}const ra="_sentrySpan";function iu(s,e){e?us(s,ra,e):delete s[ra]}function ru(s){return s[ra]}const nT=100;class Pt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:su(),sampleRand:yo()}}clone(){const e=new Pt;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._attributes={...this._attributes},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,e._conversationId=this._conversationId,iu(e,ru(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&&zi(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],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 Pt?t.getScopeData():ur(t)?e:void 0,{tags:r,attributes:o,extra:n,user:M,contexts:c,level:l,fingerprint:N=[],propagationContext:u,conversationId:L}=i||{};return this._tags={...this._tags,...r},this._attributes={...this._attributes,...o},this._extra={...this._extra,...n},this._contexts={...this._contexts,...c},M&&Object.keys(M).length&&(this._user=M),l&&(this._level=l),N.length&&(this._fingerprint=N),u&&(this._propagationContext=u),L&&(this._conversationId=L),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,iu(this,void 0),this._attachments=[],this.setPropagationContext({traceId:su(),sampleRand:yo()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var o;const i=typeof t=="number"?t:nT;if(i<=0)return this;const r={timestamp:Ir(),...e,message:e.message?sa(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,attributes:this._attributes,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:ru(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Cr(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)||at();if(!this._client)return X&&F.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)||at();if(!this._client)return X&&F.warn("No client configured on scope - will not capture message!"),r;const o=(i==null?void 0:i.syntheticException)??new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...i,event_id:r},this),r}captureEvent(e,t){const i=e.event_id||(t==null?void 0:t.event_id)||at();return this._client?(this._client.captureEvent(e,{...t,event_id:i},this),i):(X&&F.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 aT(){return Ci("defaultCurrentScope",()=>new Pt)}function MT(){return Ci("defaultIsolationScope",()=>new Pt)}const ou=s=>s instanceof Promise&&!s[VN],VN=Symbol("chained PromiseLike"),cT=(s,e,t)=>{const i=s.then(r=>(e(r),r),r=>{throw t(r),r});return ou(i)&&ou(s)?i:uT(s,i)},uT=(s,e)=>{let t=!1;for(const i in s){if(i in e)continue;t=!0;const r=s[i];typeof r=="function"?Object.defineProperty(e,i,{value:(...o)=>r.apply(s,o),enumerable:!0,configurable:!0,writable:!0}):e[i]=r}return t&&Object.assign(e,{[VN]:!0}),e};class lT{constructor(e,t){let i;e?i=e:i=new Pt;let r;t?r=t:r=new Pt,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 wr(i)?cT(i,()=>this._popScope(),()=>this._popScope()):(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 wi(){const s=Yo(),e=Qo(s);return e.stack=e.stack||new lT(aT(),MT())}function NT(s){return wi().withScope(s)}function LT(s,e){const t=wi();return t.withScope(()=>(t.getStackTop().scope=s,e(s)))}function nu(s){return wi().withScope(()=>s(wi().getIsolationScope()))}function gT(){return{withIsolationScope:nu,withScope:NT,withSetScope:LT,withSetIsolationScope:(s,e)=>nu(e),getCurrentScope:()=>wi().getScope(),getIsolationScope:()=>wi().getIsolationScope()}}function NM(s){const e=Qo(s);return e.acs?e.acs:gT()}function At(){const s=Yo();return NM(s).getCurrentScope()}function Es(){const s=Yo();return NM(s).getIsolationScope()}function jT(){return Ci("globalScope",()=>new Pt)}function yT(...s){const e=Yo(),t=NM(e);if(s.length===2){const[i,r]=s;return i?t.withSetScope(i,r):t.withScope(r)}return t.withScope(s[0])}function Ue(){return At().getClient()}function TT(s){const e=s.getPropagationContext(),{traceId:t,parentSpanId:i,propagationSpanId:r}=e,o={trace_id:t,span_id:r||HN()};return i&&(o.parent_span_id=i),o}const DT="sentry.source",dT="sentry.sample_rate",hT="sentry.previous_trace_sample_rate",zT="sentry.op",wT="sentry.origin",ZN="sentry.profile_id",XN="sentry.exclusive_time",IT="gen_ai.conversation.id",CT=0,pT=1,AT="_sentryScope",mT="_sentryIsolationScope";function fT(s){if(s){if(typeof s=="object"&&"deref"in s&&typeof s.deref=="function")try{return s.deref()}catch{return}return s}}function KN(s){const e=s;return{scope:e[AT],isolationScope:fT(e[mT])}}const au="sentry-";function OT(s){const e=ET(s);if(!e)return;const t=Object.entries(e).reduce((i,[r,o])=>{if(r.startsWith(au)){const n=r.slice(au.length);i[n]=o}return i},{});if(Object.keys(t).length>0)return t}function ET(s){if(!(!s||!Ut(s)&&!Array.isArray(s)))return Array.isArray(s)?s.reduce((e,t)=>{const i=Mu(t);return Object.entries(i).forEach(([r,o])=>{e[r]=o}),e},{}):Mu(s)}function Mu(s){return s.split(",").map(e=>{const t=e.indexOf("=");if(t===-1)return[];const i=e.slice(0,t),r=e.slice(t+1);return[i,r].map(o=>{try{return decodeURIComponent(o.trim())}catch{return}})}).reduce((e,[t,i])=>(t&&i&&(e[t]=i),e),{})}const _T=/^o(\d+)\./,xT=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function ST(s){return s==="http"||s==="https"}function pr(s,e=!1){const{host:t,path:i,pass:r,port:o,projectId:n,protocol:M,publicKey:c}=s;return`${M}://${c}${e&&r?`:${r}`:""}@${t}${o?`:${o}`:""}/${i&&`${i}/`}${n}`}function kT(s){const e=xT.exec(s);if(!e){pi(()=>{console.error(`Invalid Sentry Dsn: ${s}`)});return}const[t,i,r="",o="",n="",M=""]=e.slice(1);let c="",l=M;const N=l.split("/");if(N.length>1&&(c=N.slice(0,-1).join("/"),l=N.pop()),l){const u=l.match(/^\d+/);u&&(l=u[0])}return qN({host:o,pass:r,path:c,projectId:l,port:n,protocol:t,publicKey:i})}function qN(s){return{protocol:s.protocol,publicKey:s.publicKey||"",pass:s.pass||"",host:s.host,port:s.port||"",path:s.path||"",projectId:s.projectId}}function vT(s){if(!X)return!0;const{port:e,projectId:t,protocol:i}=s;return["protocol","publicKey","host","projectId"].find(n=>s[n]?!1:(F.error(`Invalid Sentry Dsn: ${n} missing`),!0))?!1:t.match(/^\d+$/)?ST(i)?e&&isNaN(parseInt(e,10))?(F.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(F.error(`Invalid Sentry Dsn: Invalid protocol ${i}`),!1):(F.error(`Invalid Sentry Dsn: Invalid projectId ${t}`),!1)}function YT(s){const e=s.match(_T);return e==null?void 0:e[1]}function QT(s){const e=s.getOptions(),{host:t}=s.getDsn()||{};let i;return e.orgId?i=String(e.orgId):t&&(i=YT(t)),i}function bT(s){const e=typeof s=="string"?kT(s):qN(s);if(!(!e||!vT(e)))return e}function UT(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 e4=1;let cu=!1;function $T(s){const{spanId:e,traceId:t,isRemote:i}=s.spanContext(),r=i?e:LM(s).parent_span_id,o=KN(s).scope,n=i?(o==null?void 0:o.getPropagationContext().propagationSpanId)||HN():e;return{parent_span_id:r,span_id:n,trace_id:t}}function PT(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===e4,attributes:o,...r}))}function uu(s){return typeof s=="number"?lu(s):Array.isArray(s)?s[0]+s[1]/1e9:s instanceof Date?lu(s.getTime()):$t()}function lu(s){return s>9999999999?s/1e3:s}function LM(s){if(BT(s))return s.getSpanJSON();const{spanId:e,traceId:t}=s.spanContext();if(JT(s)){const{attributes:i,startTime:r,name:o,endTime:n,status:M,links:c}=s;return{span_id:e,trace_id:t,data:i,description:o,parent_span_id:WT(s),start_timestamp:uu(r),timestamp:uu(n)||void 0,status:FT(M),op:i[zT],origin:i[wT],links:PT(c)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function WT(s){var e;return"parentSpanId"in s?s.parentSpanId:"parentSpanContext"in s?(e=s.parentSpanContext)==null?void 0:e.spanId:void 0}function JT(s){const e=s;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function BT(s){return typeof s.getSpanJSON=="function"}function RT(s){const{traceFlags:e}=s.spanContext();return e===e4}function FT(s){if(!(!s||s.code===CT))return s.code===pT?"ok":s.message||"internal_error"}const GT="_sentryRootSpan",t4=HT;function HT(s){return s[GT]||s}function Nu(){cu||(pi(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),cu=!0)}function VT(s){var t;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=(t=Ue())==null?void 0:t.getOptions();return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}function Lu(s){F.log(`Ignoring span ${s.op} - ${s.description} because it matches \`ignoreSpans\`.`)}function gu(s,e){if(!(e!=null&&e.length)||!s.description)return!1;for(const t of e){if(XT(t)){if(oo(s.description,t))return X&&Lu(s),!0;continue}if(!t.name&&!t.op)continue;const i=t.name?oo(s.description,t.name):!0,r=t.op?s.op&&oo(s.op,t.op):!0;if(i&&r)return X&&Lu(s),!0}return!1}function ZT(s,e){const t=e.parent_span_id,i=e.span_id;if(t)for(const r of s)r.parent_span_id===i&&(r.parent_span_id=t)}function XT(s){return typeof s=="string"||s instanceof RegExp}const gM="production",KT="_frozenDsc";function s4(s,e){const t=e.getOptions(),{publicKey:i}=e.getDsn()||{},r={environment:t.environment||gM,release:t.release,public_key:i,trace_id:s,org_id:QT(e)};return e.emit("createDsc",r),r}function qT(s,e){const t=e.getPropagationContext();return t.dsc||s4(t.traceId,s)}function eD(s){var j;const e=Ue();if(!e)return{};const t=t4(s),i=LM(t),r=i.data,o=t.spanContext().traceState,n=(o==null?void 0:o.get("sentry.sample_rate"))??r[dT]??r[hT];function M(y){return(typeof n=="number"||typeof n=="string")&&(y.sample_rate=`${n}`),y}const c=t[KT];if(c)return M(c);const l=o==null?void 0:o.get("sentry.dsc"),N=l&&OT(l);if(N)return M(N);const u=s4(s.spanContext().traceId,e),L=r[DT]??r["sentry.span.source"],g=i.description;return L!=="url"&&g&&(u.transaction=g),VT()&&(u.sampled=String(RT(t)),u.sample_rand=(o==null?void 0:o.get("sentry.sample_rand"))??((j=KN(t).scope)==null?void 0:j.getPropagationContext().sampleRand.toString())),M(u),e.emit("createDsc",u,t),u}function tD(s){return!!s&&typeof s=="function"&&"_streamed"in s&&!!s._streamed}function Yt(s,e=100,t=1/0){try{return oa("",s,e,t)}catch(i){return{ERROR:`**non-serializable** (${i})`}}}function i4(s,e=3,t=100*1024){const i=Yt(s,e);return oD(i)>t?i4(s,e-1,t):i}function oa(s,e,t=1/0,i=1/0,r=nD()){const[o,n]=r;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const M=sD(s,e);if(!M.startsWith("[object "))return M;if(e.__sentry_skip_normalization__)return e;const c=typeof e.__sentry_override_normalization_depth__=="number"?e.__sentry_override_normalization_depth__:t;if(c===0)return M.replace("object ","");if(o(e))return"[Circular ~]";const l=e;if(l&&typeof l.toJSON=="function")try{const g=l.toJSON();return oa("",g,c-1,i,r)}catch{}const N=Array.isArray(e)?[]:{};let u=0;const L=RN(e);for(const g in L){if(!Object.prototype.hasOwnProperty.call(L,g))continue;if(u>=i){N[g]="[MaxProperties ~]";break}const j=L[g];N[g]=oa(g,j,c-1,i,r),u++}return n(e),N}function sD(s,e){try{if(s==="domain"&&e&&typeof e=="object"&&e._events)return"[Domain]";if(s==="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(PN(e))return bN(e);if(Hy(e))return"[SyntheticEvent]";if(typeof e=="number"&&!Number.isFinite(e))return`[${e}]`;if(typeof e=="function")return`[Function: ${Ms(e)}]`;if(typeof e=="symbol")return`[${String(e)}]`;if(typeof e=="bigint")return`[BigInt: ${String(e)}]`;const t=iD(e);return/^HTML(\w*)Element$/.test(t)?`[HTMLElement: ${t}]`:`[object ${t}]`}catch(t){return`**non-serializable** (${t})`}}function iD(s){const e=Object.getPrototypeOf(s);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function rD(s){return~-encodeURI(s).split(/%..|./).length}function oD(s){return rD(JSON.stringify(s))}function nD(){const s=new WeakSet;function e(i){return s.has(i)?!0:(s.add(i),!1)}function t(i){s.delete(i)}return[e,t]}function mi(s,e=[]){return[s,e]}function aD(s,e){const[t,i]=s;return[t,[...i,e]]}function na(s,e){const t=s[1];for(const i of t){const r=i[0].type;if(e(i,r))return!0}return!1}function MD(s,e){return na(s,(t,i)=>e.includes(i))}function aa(s){const e=Qo(ae);return e.encodePolyfill?e.encodePolyfill(s):new TextEncoder().encode(s)}function cD(s){const[e,t]=s;let i=JSON.stringify(e);function r(o){typeof i=="string"?i=typeof o=="string"?i+o:[aa(i),o]:i.push(typeof o=="string"?aa(o):o)}for(const o of t){const[n,M]=o;if(r(` ${JSON.stringify(n)} -`),typeof M=="string"||M instanceof Uint8Array)r(M);else{let c;try{c=JSON.stringify(M)}catch{c=JSON.stringify(Yt(M))}r(c)}}return typeof i=="string"?i:cD(i)}function cD(s){const e=s.reduce((r,o)=>r+o.length,0),t=new Uint8Array(e);let i=0;for(const r of s)t.set(r,i),i+=r.length;return t}function uD(s){const e=typeof s.data=="string"?na(s.data):s.data;return[{type:"attachment",length:e.length,filename:s.filename,content_type:s.contentType,attachment_type:s.attachmentType},e]}const s4={sessions:"session",event:"error",client_report:"internal",user_report:"default",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",raw_security:"security",log:"log_item",trace_metric:"metric"};function lD(s){return s in s4}function gu(s){return lD(s)?s4[s]:s}function i4(s){if(!(s!=null&&s.sdk))return;const{name:e,version:t}=s.sdk;return{name:e,version:t}}function ND(s,e,t,i){var o;const r=(o=s.sdkProcessingMetadata)==null?void 0:o.dynamicSamplingContext;return{event_id:s.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!t&&i&&{dsn:pr(i)},...r&&{trace:r}}}function LD(s,e){var i,r,o,n;if(!e)return s;const t=s.sdk||{};return s.sdk={...t,name:t.name||e.name,version:t.version||e.version,integrations:[...((i=s.sdk)==null?void 0:i.integrations)||[],...e.integrations||[]],packages:[...((r=s.sdk)==null?void 0:r.packages)||[],...e.packages||[]],settings:(o=s.sdk)!=null&&o.settings||e.settings?{...(n=s.sdk)==null?void 0:n.settings,...e.settings}:void 0},s}function gD(s,e,t,i){const r=i4(t),o={sent_at:new Date().toISOString(),...r&&{sdk:r},...!!i&&e&&{dsn:pr(e)}},n="aggregates"in s?[{type:"sessions"},s]:[{type:"session"},s.toJSON()];return mi(o,[n])}function jD(s,e,t,i){const r=i4(t),o=s.type&&s.type!=="replay_event"?s.type:"event";LD(s,t==null?void 0:t.sdk);const n=ND(s,r,i,e);return delete s.sdkProcessingMetadata,mi(n,[[{type:o},s]])}function yD(s,e){const{fingerprint:t,span:i,breadcrumbs:r,sdkProcessingMetadata:o}=e;TD(s,e),i&&hD(s,i),zD(s,t),DD(s,r),dD(s,o)}function ju(s,e){const{extra:t,tags:i,attributes:r,user:o,contexts:n,level:M,sdkProcessingMetadata:c,breadcrumbs:l,fingerprint:N,eventProcessors:u,attachments:L,propagationContext:g,transactionName:j,span:y}=e;Wi(s,"extra",t),Wi(s,"tags",i),Wi(s,"attributes",r),Wi(s,"user",o),Wi(s,"contexts",n),s.sdkProcessingMetadata=Cr(s.sdkProcessingMetadata,c,2),M&&(s.level=M),j&&(s.transactionName=j),y&&(s.span=y),l.length&&(s.breadcrumbs=[...s.breadcrumbs,...l]),N.length&&(s.fingerprint=[...s.fingerprint,...N]),u.length&&(s.eventProcessors=[...s.eventProcessors,...u]),L.length&&(s.attachments=[...s.attachments,...L]),s.propagationContext={...s.propagationContext,...g}}function Wi(s,e,t){s[e]=Cr(s[e],t,1)}function r4(s,e){const t=gT().getScopeData();return s&&ju(t,s.getScopeData()),e&&ju(t,e.getScopeData()),t}function TD(s,e){const{extra:t,tags:i,user:r,contexts:o,level:n,transactionName:M}=e;Object.keys(t).length&&(s.extra={...t,...s.extra}),Object.keys(i).length&&(s.tags={...i,...s.tags}),Object.keys(r).length&&(s.user={...r,...s.user}),Object.keys(o).length&&(s.contexts={...o,...s.contexts}),n&&(s.level=n),M&&s.type!=="transaction"&&(s.transaction=M)}function DD(s,e){const t=[...s.breadcrumbs||[],...e];s.breadcrumbs=t.length?t:void 0}function dD(s,e){s.sdkProcessingMetadata={...s.sdkProcessingMetadata,...e}}function hD(s,e){s.contexts={trace:UT(e),...s.contexts},s.sdkProcessingMetadata={dynamicSamplingContext:qT(e),...s.sdkProcessingMetadata};const t=qN(e),i=NM(t).description;i&&!s.transaction&&s.type==="transaction"&&(s.transaction=i)}function zD(s,e){s.fingerprint=s.fingerprint?Array.isArray(s.fingerprint)?s.fingerprint:[s.fingerprint]:[],e&&(s.fingerprint=s.fingerprint.concat(e)),s.fingerprint.length||delete s.fingerprint}const dn=0,yu=1,Tu=2;function Ar(s){return new lr(e=>{e(s)})}function gM(s){return new lr((e,t)=>{t(s)})}class lr{constructor(e){this._state=dn,this._handlers=[],this._runExecutor(e)}then(e,t){return new lr((i,r)=>{this._handlers.push([!1,o=>{if(!e)i(o);else try{i(e(o))}catch(n){r(n)}},o=>{if(!t)r(o);else try{i(t(o))}catch(n){r(n)}}]),this._executeHandlers()})}catch(e){return this.then(t=>t,e)}finally(e){return new lr((t,i)=>{let r,o;return this.then(n=>{o=!1,r=n,e&&e()},n=>{o=!0,r=n,e&&e()}).then(()=>{if(o){i(r);return}t(r)})})}_executeHandlers(){if(this._state===dn)return;const e=this._handlers.slice();this._handlers=[],e.forEach(t=>{t[0]||(this._state===yu&&t[1](this._value),this._state===Tu&&t[2](this._value),t[0]=!0)})}_runExecutor(e){const t=(o,n)=>{if(this._state===dn){if(wr(n)){n.then(i,r);return}this._state=o,this._value=n,this._executeHandlers()}},i=o=>{t(yu,o)},r=o=>{t(Tu,o)};try{e(i,r)}catch(o){r(o)}}}function wD(s,e,t,i=0){try{const r=aa(e,t,s,i);return wr(r)?r:Ar(r)}catch(r){return gM(r)}}function aa(s,e,t,i){const r=t[i];if(!s||!r)return s;const o=r({...s},e);return X&&o===null&&F.log(`Event processor "${r.id||"?"}" dropped event`),wr(o)?o.then(n=>aa(n,e,t,i+1)):aa(o,e,t,i+1)}let Ot,Du,du,Rt;function ID(s){const e=ae._sentryDebugIds,t=ae._debugIds;if(!e&&!t)return{};const i=e?Object.keys(e):[],r=t?Object.keys(t):[];if(Rt&&i.length===Du&&r.length===du)return Rt;Du=i.length,du=r.length,Rt={},Ot||(Ot={});const o=(n,M)=>{for(const c of n){const l=M[c],N=Ot==null?void 0:Ot[c];if(N&&Rt&&l)Rt[N[0]]=l,Ot&&(Ot[c]=[N[0],l]);else if(l){const u=s(c);for(let L=u.length-1;L>=0;L--){const g=u[L],j=g==null?void 0:g.filename;if(j&&Rt&&Ot){Rt[j]=l,Ot[c]=[j,l];break}}}}};return e&&o(i,e),t&&o(r,t),Rt}function CD(s,e,t,i,r,o){const{normalizeDepth:n=3,normalizeMaxBreadth:M=1e3}=s,c={...e,event_id:e.event_id||t.event_id||at(),timestamp:e.timestamp||Ir()},l=t.integrations||s.integrations.map(d=>d.name);pD(c,s),fD(c,l),r&&r.emit("applyFrameMetadata",e),e.type===void 0&&AD(c,s.stackParser);const N=ED(i,t.captureContext);t.mechanism&&hi(c,t.mechanism);const u=r?r.getEventProcessors():[],L=r4(o,N),g=[...t.attachments||[],...L.attachments];g.length&&(t.attachments=g),yD(c,L);const j=[...u,...L.eventProcessors];return(t.data&&t.data.__sentry__===!0?Ar(c):wD(j,c,t)).then(d=>(d&&mD(d),typeof n=="number"&&n>0?OD(d,n,M):d))}function pD(s,e){var M,c;const{environment:t,release:i,dist:r,maxValueLength:o}=e;s.environment=s.environment||t||LM,!s.release&&i&&(s.release=i),!s.dist&&r&&(s.dist=r);const n=s.request;n!=null&&n.url&&o&&(n.url=ta(n.url,o)),o&&((c=(M=s.exception)==null?void 0:M.values)==null||c.forEach(l=>{l.value&&(l.value=ta(l.value,o))}))}function AD(s,e){var i,r;const t=ID(e);(r=(i=s.exception)==null?void 0:i.values)==null||r.forEach(o=>{var n,M;(M=(n=o.stacktrace)==null?void 0:n.frames)==null||M.forEach(c=>{c.filename&&(c.debug_id=t[c.filename])})})}function mD(s){var i,r;const e={};if((r=(i=s.exception)==null?void 0:i.values)==null||r.forEach(o=>{var n,M;(M=(n=o.stacktrace)==null?void 0:n.frames)==null||M.forEach(c=>{c.debug_id&&(c.abs_path?e[c.abs_path]=c.debug_id:c.filename&&(e[c.filename]=c.debug_id),delete c.debug_id)})}),Object.keys(e).length===0)return;s.debug_meta=s.debug_meta||{},s.debug_meta.images=s.debug_meta.images||[];const t=s.debug_meta.images;Object.entries(e).forEach(([o,n])=>{t.push({type:"sourcemap",code_file:o,debug_id:n})})}function fD(s,e){e.length>0&&(s.sdk=s.sdk||{},s.sdk.integrations=[...s.sdk.integrations||[],...e])}function OD(s,e,t){var r,o;if(!s)return null;const i={...s,...s.breadcrumbs&&{breadcrumbs:s.breadcrumbs.map(n=>({...n,...n.data&&{data:Yt(n.data,e,t)}}))},...s.user&&{user:Yt(s.user,e,t)},...s.contexts&&{contexts:Yt(s.contexts,e,t)},...s.extra&&{extra:Yt(s.extra,e,t)}};return(r=s.contexts)!=null&&r.trace&&i.contexts&&(i.contexts.trace=s.contexts.trace,s.contexts.trace.data&&(i.contexts.trace.data=Yt(s.contexts.trace.data,e,t))),s.spans&&(i.spans=s.spans.map(n=>({...n,...n.data&&{data:Yt(n.data,e,t)}}))),(o=s.contexts)!=null&&o.flags&&i.contexts&&(i.contexts.flags=Yt(s.contexts.flags,3,t)),i}function ED(s,e){if(!e)return s;const t=s?s.clone():new Pt;return t.update(e),t}function _D(s,e){return At().captureException(s,void 0)}function o4(s,e){return At().captureEvent(s,e)}function hu(s){const e=Es(),{user:t}=r4(e,At()),{userAgent:i}=ae.navigator||{},r=sT({user:t,...i&&{userAgent:i},...s}),o=e.getSession();return(o==null?void 0:o.status)==="ok"&&zi(o,{status:"exited"}),n4(),e.setSession(r),r}function n4(){const s=Es(),t=At().getSession()||s.getSession();t&&iT(t),a4(),s.setSession()}function a4(){const s=Es(),e=Ue(),t=s.getSession();t&&e&&e.captureSession(t)}function hn(s=!1){if(s){n4();return}a4()}const xD="7";function SD(s){const e=s.protocol?`${s.protocol}:`:"",t=s.port?`:${s.port}`:"";return`${e}//${s.host}${t}${s.path?`/${s.path}`:""}/api/`}function kD(s){return`${SD(s)}${s.projectId}/envelope/`}function vD(s,e){const t={sentry_version:xD};return s.publicKey&&(t.sentry_key=s.publicKey),e&&(t.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(t).toString()}function YD(s,e,t){return e||`${kD(s)}?${vD(s,t)}`}const zu=[];function QD(s){const e={};return s.forEach(t=>{const{name:i}=t,r=e[i];r&&!r.isDefaultInstance&&t.isDefaultInstance||(e[i]=t)}),Object.values(e)}function bD(s){const e=s.defaultIntegrations||[],t=s.integrations;e.forEach(r=>{r.isDefaultInstance=!0});let i;if(Array.isArray(t))i=[...e,...t];else if(typeof t=="function"){const r=t(e);i=Array.isArray(r)?r:[r]}else i=e;return QD(i)}function UD(s,e){const t={};return e.forEach(i=>{i!=null&&i.beforeSetup&&i.beforeSetup(s)}),e.forEach(i=>{i&&M4(s,i,t)}),t}function wu(s,e){for(const t of e)t!=null&&t.afterAllSetup&&t.afterAllSetup(s)}function M4(s,e,t){if(t[e.name]){X&&F.log(`Integration skipped because it was already installed: ${e.name}`);return}if(t[e.name]=e,!zu.includes(e.name)&&typeof e.setupOnce=="function"&&(e.setupOnce(),zu.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(s),typeof e.preprocessEvent=="function"){const i=e.preprocessEvent.bind(e);s.on("preprocessEvent",(r,o)=>i(r,o,s))}if(typeof e.processEvent=="function"){const i=e.processEvent.bind(e),r=Object.assign((o,n)=>i(o,n,s),{id:e.name});s.addEventProcessor(r)}X&&F.log(`Integration installed: ${e.name}`)}function $D(s){return[{type:"log",item_count:s.length,content_type:"application/vnd.sentry.items.log+json"},{items:s}]}function PD(s,e,t,i){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&i&&(r.dsn=pr(i)),mi(r,[$D(s)])}function Ma(s,e){const t=e??WD(s)??[];if(t.length===0)return;const i=s.getOptions(),r=PD(t,i._metadata,i.tunnel,s.getDsn());c4().set(s,[]),s.emit("flushLogs"),s.sendEnvelope(r)}function WD(s){return c4().get(s)}function c4(){return Ci("clientToLogBufferMap",()=>new WeakMap)}function JD(s){return[{type:"trace_metric",item_count:s.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:s}]}function BD(s,e,t,i){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&i&&(r.dsn=pr(i)),mi(r,[JD(s)])}function u4(s,e){const t=e??RD(s)??[];if(t.length===0)return;const i=s.getOptions(),r=BD(t,i._metadata,i.tunnel,s.getDsn());l4().set(s,[]),s.emit("flushMetrics"),s.sendEnvelope(r)}function RD(s){return l4().get(s)}function l4(){return Ci("clientToMetricBufferMap",()=>new WeakMap)}function N4(s){return typeof s=="object"&&typeof s.unref=="function"&&s.unref(),s}const jM=Symbol.for("SentryBufferFullError");function yM(s=100){const e=new Set;function t(){return e.sizei(M),()=>i(M)),M}function o(n){if(!e.size)return Ar(!0);const M=Promise.allSettled(Array.from(e)).then(()=>!0);if(!n)return M;const c=[M,new Promise(l=>N4(setTimeout(()=>l(!1),n)))];return Promise.race(c)}return{get $(){return Array.from(e)},add:r,drain:o}}const FD=60*1e3;function GD(s,e=Wo()){const t=parseInt(`${s}`,10);if(!isNaN(t))return t*1e3;const i=Date.parse(`${s}`);return isNaN(i)?FD:i-e}function HD(s,e){return s[e]||s.all||0}function VD(s,e,t=Wo()){return HD(s,e)>t}function ZD(s,{statusCode:e,headers:t},i=Wo()){const r={...s},o=t==null?void 0:t["x-sentry-rate-limits"],n=t==null?void 0:t["retry-after"];if(o)for(const M of o.trim().split(",")){const[c,l,,,N]=M.split(":",5),u=parseInt(c,10),L=(isNaN(u)?60:u)*1e3;if(!l)r.all=i+L;else for(const g of l.split(";"))g==="metric_bucket"?(!N||N.split(";").includes("custom"))&&(r[g]=i+L):r[g]=i+L}else n?r.all=i+GD(n,i):e===429&&(r.all=i+60*1e3);return r}const L4=64;function XD(s,e,t=yM(s.bufferSize||L4)){let i={};const r=n=>t.drain(n);function o(n){const M=[];if(oa(n,(u,L)=>{const g=gu(L);VD(i,g)?s.recordDroppedEvent("ratelimit_backoff",g):M.push(u)}),M.length===0)return Promise.resolve({});const c=mi(n[0],M),l=u=>{if(aD(c,["client_report"])){X&&F.warn(`Dropping client report. Will not send outcomes (reason: ${u}).`);return}oa(c,(L,g)=>{s.recordDroppedEvent(u,gu(g))})},N=()=>e({body:MD(c)}).then(u=>u.statusCode===413?(X&&F.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),l("send_error"),u):(X&&u.statusCode!==void 0&&(u.statusCode<200||u.statusCode>=300)&&F.warn(`Sentry responded with status code ${u.statusCode} to sent event.`),i=ZD(i,u),u),u=>{throw l("network_error"),X&&F.error("Encountered error running transport request:",u),u});return t.add(N).then(u=>u,u=>{if(u===jM)return X&&F.error("Skipped sending event because buffer is full."),l("queue_overflow"),Promise.resolve({});throw u})}return{send:o,flush:r}}function KD(s,e,t){const i=[{type:"client_report"},{timestamp:Ir(),discarded_events:s}];return mi(e?{dsn:e}:{},[i])}function g4(s){const e=[];s.message&&e.push(s.message);try{const t=s.exception.values[s.exception.values.length-1];t!=null&&t.value&&(e.push(t.value),t.type&&e.push(`${t.type}: ${t.value}`))}catch{}return e}function qD(s){var c;const{trace_id:e,parent_span_id:t,span_id:i,status:r,origin:o,data:n,op:M}=((c=s.contexts)==null?void 0:c.trace)??{};return{data:n??{},description:s.transaction,op:M,parent_span_id:t,span_id:i??"",start_timestamp:s.start_timestamp??0,status:r,timestamp:s.timestamp,trace_id:e??"",origin:o,profile_id:n==null?void 0:n[HN],exclusive_time:n==null?void 0:n[VN],measurements:s.measurements,is_segment:!0}}function ed(s){return{type:"transaction",timestamp:s.timestamp,start_timestamp:s.start_timestamp,transaction:s.description,contexts:{trace:{trace_id:s.trace_id,span_id:s.span_id,parent_span_id:s.parent_span_id,op:s.op,status:s.status,origin:s.origin,data:{...s.data,...s.profile_id&&{[HN]:s.profile_id},...s.exclusive_time&&{[VN]:s.exclusive_time}}}},measurements:s.measurements}}const Iu="Not capturing exception because it's already been captured.",Cu="Discarded session because of missing or non-string release",j4=Symbol.for("SentryInternalError"),y4=Symbol.for("SentryDoNotSendEventError"),td=5e3;function no(s){return{message:s,[j4]:!0}}function zn(s){return{message:s,[y4]:!0}}function pu(s){return!!s&&typeof s=="object"&&j4 in s}function Au(s){return!!s&&typeof s=="object"&&y4 in s}function mu(s,e,t,i,r){let o=0,n,M=!1;s.on(t,()=>{o=0,clearTimeout(n),M=!1}),s.on(e,c=>{o+=i(c),o>=8e5?r(s):M||(M=!0,n=N4(setTimeout(()=>{r(s)},td)))}),s.on("flush",()=>{r(s)})}class sd{constructor(e){var i,r,o;if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=yM(((i=e.transportOptions)==null?void 0:i.bufferSize)??L4),e.dsn?this._dsn=QT(e.dsn):X&&F.warn("No DSN provided, client will not send events."),this._dsn){const n=YD(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:n})}this._options.enableLogs=this._options.enableLogs??((r=this._options._experiments)==null?void 0:r.enableLogs),this._options.enableLogs&&mu(this,"afterCaptureLog","flushLogs",nd,Ma),(this._options.enableMetrics??((o=this._options._experiments)==null?void 0:o.enableMetrics)??!0)&&mu(this,"afterCaptureMetric","flushMetrics",od,u4)}captureException(e,t,i){const r=at();if(qc(e))return X&&F.log(Iu),r;const o={event_id:r,...t};return this._process(()=>this.eventFromException(e,o).then(n=>this._captureEvent(n,o,i)).then(n=>n),"error"),o.event_id}captureMessage(e,t,i,r){const o={event_id:at(),...i},n=aM(e)?e:String(e),M=Uo(e),c=M?this.eventFromMessage(n,t,o):this.eventFromException(e,o);return this._process(()=>c.then(l=>this._captureEvent(l,o,r)),M?"unknown":"error"),o.event_id}captureEvent(e,t,i){const r=at();if(t!=null&&t.originalException&&qc(t.originalException))return X&&F.log(Iu),r;const o={event_id:r,...t},n=e.sdkProcessingMetadata||{},M=n.capturedSpanScope,c=n.capturedSpanIsolationScope,l=fu(e.type);return this._process(()=>this._captureEvent(e,o,M||i,c),l),o.event_id}captureSession(e){this.sendSession(e),zi(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){const t=this._transport;if(!t)return!0;this.emit("flush");const i=await this._isClientDoneProcessing(e),r=await t.flush(e);return i&&r}async close(e){Ma(this);const t=await this.flush(e);return 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];!t&&e.beforeSetup&&e.beforeSetup(this),M4(this,e,this._integrations),t||wu(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let i=jD(e,this._dsn,this._options._metadata,this._options.tunnel);for(const r of t.attachments||[])i=nD(i,uD(r));this.sendEnvelope(i).then(r=>this.emit("afterSendEvent",e,r))}sendSession(e){const{release:t,environment:i=LM}=this._options;if("aggregates"in e){const o=e.attrs||{};if(!o.release&&!t){X&&F.warn(Cu);return}o.release=o.release||t,o.environment=o.environment||i,e.attrs=o}else{if(!e.release&&!t){X&&F.warn(Cu);return}e.release=e.release||t,e.environment=e.environment||i}this.emit("beforeSendSession",e);const r=gD(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,i=1){if(this._options.sendClientReports){const r=`${e}:${t}`;X&&F.log(`Recording outcome: "${r}"${i>1?` (${i} times)`:""}`),this._outcomes[r]=(this._outcomes[r]||0)+i}}on(e,t){const i=this._hooks[e]=this._hooks[e]||new Set,r=(...o)=>t(...o);return i.add(r),()=>{i.delete(r)}}emit(e,...t){const i=this._hooks[e];i&&i.forEach(r=>r(...t))}async sendEnvelope(e){if(this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(t){return X&&F.error("Error while sending envelope:",t),{}}return X&&F.error("Transport disabled"),{}}dispose(){}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=UD(this,e),wu(this,e)}_updateSessionFromEvent(e,t){var c,l;let i=t.level==="fatal",r=!1;const o=(c=t.exception)==null?void 0:c.values;if(o){r=!0,i=!1;for(const N of o)if(((l=N.mechanism)==null?void 0:l.handled)===!1){i=!0;break}}const n=e.status==="ok";(n&&e.errors===0||n&&i)&&(zi(e,{...i&&{status:"crashed"},errors:e.errors||Number(r||i)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||tsetTimeout(i,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,i,r){const o=this.getOptions(),n=Object.keys(this._integrations);return!t.integrations&&(n!=null&&n.length)&&(t.integrations=n),this.emit("preprocessEvent",e,t),e.type||r.setLastEventId(e.event_id||t.event_id),CD(o,e,t,i,this,r).then(M=>{var l;if(M===null)return M;this.emit("postprocessEvent",M,t),M.contexts={trace:{...(l=M.contexts)==null?void 0:l.trace,...yT(i)},...M.contexts};const c=KT(this,i);return M.sdkProcessingMetadata={dynamicSamplingContext:c,...M.sdkProcessingMetadata},M})}_captureEvent(e,t={},i=At(),r=Es()){return X&&ca(e)&&F.log(`Captured error event \`${g4(e)[0]||""}\``),this._processEvent(e,t,i,r).then(o=>o.event_id,o=>{X&&(Au(o)?F.log(o.message):pu(o)?F.warn(o.message):F.warn(o))})}_processEvent(e,t,i,r){const o=this.getOptions(),{sampleRate:n}=o,M=T4(e),c=ca(e),N=`before send for type \`${e.type||"error"}\``,u=typeof n>"u"?void 0:bT(n);if(c&&typeof u=="number"&&yo()>u)return this.recordDroppedEvent("sample_rate","error"),gM(zn(`Discarding event because it's not included in the random sample (sampling rate = ${n})`));const L=fu(e.type);return this._prepareEvent(e,t,i,r).then(g=>{var T;if(g===null)throw this.recordDroppedEvent("event_processor",L),zn("An event processor returned `null`, will not send event.");if(((T=t.data)==null?void 0:T.__sentry__)===!0)return g;const y=rd(this,o,g,t);return id(y,N)}).then(g=>{var T;if(g===null){if(this.recordDroppedEvent("before_send",L),M){const I=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",I)}throw zn(`${N} returned \`null\`, will not send event.`)}const j=i.getSession()||r.getSession();if(c&&j&&this._updateSessionFromEvent(j,g),M){const d=((T=g.sdkProcessingMetadata)==null?void 0:T.spanCountBeforeProcessing)||0,I=g.spans?g.spans.length:0,w=d-I;w>0&&this.recordDroppedEvent("before_send","span",w)}const y=g.transaction_info;if(M&&y&&g.transaction!==e.transaction){const d="custom";g.transaction_info={...y,source:d}}return this.sendEvent(g,t),g}).then(null,g=>{throw Au(g)||pu(g)?g:(this.captureException(g,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:g}),no(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. -Reason: ${g}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(i=>(this._numProcessing--,i),i=>(this._numProcessing--,i===jM&&this.recordDroppedEvent("queue_overflow",t),i))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([t,i])=>{const[r,o]=t.split(":");return{reason:r,category:o,quantity:i}})}_flushOutcomes(){X&&F.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){X&&F.log("No outcomes to send");return}if(!this._dsn){X&&F.log("No dsn provided, will not send outcomes");return}X&&F.log("Sending outcomes:",e);const t=KD(e,this._options.tunnel&&pr(this._dsn));this.sendEnvelope(t)}}function fu(s){return s==="replay_event"?"replay":s||"error"}function id(s,e){const t=`${e} must return \`null\` or a valid event.`;if(wr(s))return s.then(i=>{if(!ur(i)&&i!==null)throw no(t);return i},i=>{throw no(`${e} rejected with ${i}`)});if(!ur(s)&&s!==null)throw no(t);return s}function rd(s,e,t,i){const{beforeSend:r,beforeSendTransaction:o,ignoreSpans:n}=e,M=!eD(e.beforeSendSpan)&&e.beforeSendSpan;let c=t;if(ca(c)&&r)return r(c,i);if(T4(c)){if(M||n){const l=qD(c);if(n!=null&&n.length&&Lu(l,n))return null;if(M){const N=M(l);N?c=Cr(t,ed(N)):lu()}if(c.spans){const N=[],u=c.spans;for(const g of u){if(n!=null&&n.length&&Lu(g,n)){VT(u,g);continue}if(M){const j=M(g);j?N.push(j):(lu(),N.push(g))}else N.push(g)}const L=c.spans.length-N.length;L&&s.recordDroppedEvent("before_send","span",L),c.spans=N}}if(o){if(c.spans){const l=c.spans.length;c.sdkProcessingMetadata={...t.sdkProcessingMetadata,spanCountBeforeProcessing:l}}return o(c,i)}}return c}function ca(s){return s.type===void 0}function T4(s){return s.type==="transaction"}function od(s){let e=0;return s.name&&(e+=s.name.length*2),e+=8,e+D4(s.attributes)}function nd(s){let e=0;return s.message&&(e+=s.message.length*2),e+D4(s.attributes)}function D4(s){if(!s)return 0;let e=0;return Object.values(s).forEach(t=>{Array.isArray(t)?e+=t.length*Ou(t[0]):Uo(t)?e+=Ou(t):e+=100}),e}function Ou(s){return typeof s=="string"?s.length*2:typeof s=="number"?8:typeof s=="boolean"?4:0}function ad(s){return bo(s)&&"__sentry_fetch_url_host__"in s&&typeof s.__sentry_fetch_url_host__=="string"}function Eu(s){return ad(s)?`${s.message} (${s.__sentry_fetch_url_host__})`:s.message}function Md(s,e){e.debug===!0&&(X?F.enable():pi(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),At().update(e.initialScope);const i=new s(e);return cd(i),i.init(),i}function cd(s){At().setClient(s)}function wn(s){if(!s)return{};const e=s.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};const t=e[6]||"",i=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],search:t,hash:i,relative:e[5]+t+i}}function ud(s,e=!0){if(s.startsWith("data:")){const t=s.match(/^data:([^;,]+)/),i=t?t[1]:"text/plain",r=s.includes(";base64,"),o=s.indexOf(",");let n="";if(e&&o!==-1){const M=s.slice(o+1);n=M.length>10?`${M.slice(0,10)}... [truncated]`:M}return`data:${i}${r?",base64":""}${n?`,${n}`:""}`}return s}function ld(s){var e;"aggregates"in s?((e=s.attrs)==null?void 0:e.ip_address)===void 0&&(s.attrs={...s.attrs,ip_address:"{{auto}}"}):s.ipAddress===void 0&&(s.ipAddress="{{auto}}")}function Nd(s,e,t=[e],i="npm"){const r=(s._metadata=s._metadata||{}).sdk=s._metadata.sdk||{};r.name||(r.name=`sentry.javascript.${e}`,r.packages=t.map(o=>({name:`${i}:@sentry/${o}`,version:Is})),r.version=Is)}const Ld=100;function ps(s,e){const t=Ue(),i=Es();if(!t)return;const{beforeBreadcrumb:r=null,maxBreadcrumbs:o=Ld}=t.getOptions();if(o<=0)return;const M={timestamp:Ir(),...s},c=r?pi(()=>r(M,e)):M;c!==null&&(t.emit&&t.emit("beforeAddBreadcrumb",c,e),i.addBreadcrumb(c,o))}let _u;const gd="FunctionToString",xu=new WeakMap,jd=(()=>({name:gd,setupOnce(){_u=Function.prototype.toString;try{Function.prototype.toString=function(...s){const e=uM(this),t=xu.has(Ue())&&e!==void 0?e:this;return _u.apply(t,s)}}catch{}},setup(s){xu.set(s,!0)}})),yd=jd,Td=[/^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/,/Can't find variable: _AutofillCallbackHandler/,/Object Not Found Matching Id:\d+, MethodName:simulateEvent/,/^Java exception was raised during method invocation$/],Dd="EventFilters",dd=(s={})=>{let e;return{name:Dd,setup(t){const i=t.getOptions();e=Su(s,i)},processEvent(t,i,r){if(!e){const o=r.getOptions();e=Su(s,o)}return zd(t,e)?null:t}}},hd=((s={})=>({...dd(s),name:"InboundFilters"}));function Su(s={},e={}){return{allowUrls:[...s.allowUrls||[],...e.allowUrls||[]],denyUrls:[...s.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...s.ignoreErrors||[],...e.ignoreErrors||[],...s.disableErrorDefaults?[]:Td],ignoreTransactions:[...s.ignoreTransactions||[],...e.ignoreTransactions||[]]}}function zd(s,e){if(s.type){if(s.type==="transaction"&&Id(s,e.ignoreTransactions))return X&&F.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. -Event: ${hs(s)}`),!0}else{if(wd(s,e.ignoreErrors))return X&&F.warn(`Event dropped due to being matched by \`ignoreErrors\` option. -Event: ${hs(s)}`),!0;if(md(s))return X&&F.warn(`Event dropped due to not having an error message, error type or stacktrace. -Event: ${hs(s)}`),!0;if(Cd(s,e.denyUrls))return X&&F.warn(`Event dropped due to being matched by \`denyUrls\` option. +`),typeof M=="string"||M instanceof Uint8Array)r(M);else{let c;try{c=JSON.stringify(M)}catch{c=JSON.stringify(Yt(M))}r(c)}}return typeof i=="string"?i:uD(i)}function uD(s){const e=s.reduce((r,o)=>r+o.length,0),t=new Uint8Array(e);let i=0;for(const r of s)t.set(r,i),i+=r.length;return t}function lD(s){const e=typeof s.data=="string"?aa(s.data):s.data;return[{type:"attachment",length:e.length,filename:s.filename,content_type:s.contentType,attachment_type:s.attachmentType},e]}const r4={sessions:"session",event:"error",client_report:"internal",user_report:"default",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",raw_security:"security",log:"log_item",trace_metric:"metric"};function ND(s){return s in r4}function ju(s){return ND(s)?r4[s]:s}function o4(s){if(!(s!=null&&s.sdk))return;const{name:e,version:t}=s.sdk;return{name:e,version:t}}function LD(s,e,t,i){var o;const r=(o=s.sdkProcessingMetadata)==null?void 0:o.dynamicSamplingContext;return{event_id:s.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!t&&i&&{dsn:pr(i)},...r&&{trace:r}}}function gD(s,e){var i,r,o,n;if(!e)return s;const t=s.sdk||{};return s.sdk={...t,name:t.name||e.name,version:t.version||e.version,integrations:[...((i=s.sdk)==null?void 0:i.integrations)||[],...e.integrations||[]],packages:[...((r=s.sdk)==null?void 0:r.packages)||[],...e.packages||[]],settings:(o=s.sdk)!=null&&o.settings||e.settings?{...(n=s.sdk)==null?void 0:n.settings,...e.settings}:void 0},s}function jD(s,e,t,i){const r=o4(t),o={sent_at:new Date().toISOString(),...r&&{sdk:r},...!!i&&e&&{dsn:pr(e)}},n="aggregates"in s?[{type:"sessions"},s]:[{type:"session"},s.toJSON()];return mi(o,[n])}function yD(s,e,t,i){const r=o4(t),o=s.type&&s.type!=="replay_event"?s.type:"event";gD(s,t==null?void 0:t.sdk);const n=LD(s,r,i,e);return delete s.sdkProcessingMetadata,mi(n,[[{type:o},s]])}function TD(s,e){const{fingerprint:t,span:i,breadcrumbs:r,sdkProcessingMetadata:o}=e;DD(s,e),i&&zD(s,i),wD(s,t),dD(s,r),hD(s,o)}function yu(s,e){const{extra:t,tags:i,attributes:r,user:o,contexts:n,level:M,sdkProcessingMetadata:c,breadcrumbs:l,fingerprint:N,eventProcessors:u,attachments:L,propagationContext:g,transactionName:j,span:y}=e;Wi(s,"extra",t),Wi(s,"tags",i),Wi(s,"attributes",r),Wi(s,"user",o),Wi(s,"contexts",n),s.sdkProcessingMetadata=Cr(s.sdkProcessingMetadata,c,2),M&&(s.level=M),j&&(s.transactionName=j),y&&(s.span=y),l.length&&(s.breadcrumbs=[...s.breadcrumbs,...l]),N.length&&(s.fingerprint=[...s.fingerprint,...N]),u.length&&(s.eventProcessors=[...s.eventProcessors,...u]),L.length&&(s.attachments=[...s.attachments,...L]),s.propagationContext={...s.propagationContext,...g}}function Wi(s,e,t){s[e]=Cr(s[e],t,1)}function n4(s,e){const t=jT().getScopeData();return s&&yu(t,s.getScopeData()),e&&yu(t,e.getScopeData()),t}function DD(s,e){const{extra:t,tags:i,user:r,contexts:o,level:n,transactionName:M}=e;Object.keys(t).length&&(s.extra={...t,...s.extra}),Object.keys(i).length&&(s.tags={...i,...s.tags}),Object.keys(r).length&&(s.user={...r,...s.user}),Object.keys(o).length&&(s.contexts={...o,...s.contexts}),n&&(s.level=n),M&&s.type!=="transaction"&&(s.transaction=M)}function dD(s,e){const t=[...s.breadcrumbs||[],...e];s.breadcrumbs=t.length?t:void 0}function hD(s,e){s.sdkProcessingMetadata={...s.sdkProcessingMetadata,...e}}function zD(s,e){s.contexts={trace:$T(e),...s.contexts},s.sdkProcessingMetadata={dynamicSamplingContext:eD(e),...s.sdkProcessingMetadata};const t=t4(e),i=LM(t).description;i&&!s.transaction&&s.type==="transaction"&&(s.transaction=i)}function wD(s,e){s.fingerprint=s.fingerprint?Array.isArray(s.fingerprint)?s.fingerprint:[s.fingerprint]:[],e&&(s.fingerprint=s.fingerprint.concat(e)),s.fingerprint.length||delete s.fingerprint}const dn=0,Tu=1,Du=2;function Ar(s){return new lr(e=>{e(s)})}function jM(s){return new lr((e,t)=>{t(s)})}class lr{constructor(e){this._state=dn,this._handlers=[],this._runExecutor(e)}then(e,t){return new lr((i,r)=>{this._handlers.push([!1,o=>{if(!e)i(o);else try{i(e(o))}catch(n){r(n)}},o=>{if(!t)r(o);else try{i(t(o))}catch(n){r(n)}}]),this._executeHandlers()})}catch(e){return this.then(t=>t,e)}finally(e){return new lr((t,i)=>{let r,o;return this.then(n=>{o=!1,r=n,e&&e()},n=>{o=!0,r=n,e&&e()}).then(()=>{if(o){i(r);return}t(r)})})}_executeHandlers(){if(this._state===dn)return;const e=this._handlers.slice();this._handlers=[],e.forEach(t=>{t[0]||(this._state===Tu&&t[1](this._value),this._state===Du&&t[2](this._value),t[0]=!0)})}_runExecutor(e){const t=(o,n)=>{if(this._state===dn){if(wr(n)){n.then(i,r);return}this._state=o,this._value=n,this._executeHandlers()}},i=o=>{t(Tu,o)},r=o=>{t(Du,o)};try{e(i,r)}catch(o){r(o)}}}function ID(s,e,t,i=0){try{const r=Ma(e,t,s,i);return wr(r)?r:Ar(r)}catch(r){return jM(r)}}function Ma(s,e,t,i){const r=t[i];if(!s||!r)return s;const o=r({...s},e);return X&&o===null&&F.log(`Event processor "${r.id||"?"}" dropped event`),wr(o)?o.then(n=>Ma(n,e,t,i+1)):Ma(o,e,t,i+1)}let Ot,du,hu,Rt;function CD(s){const e=ae._sentryDebugIds,t=ae._debugIds;if(!e&&!t)return{};const i=e?Object.keys(e):[],r=t?Object.keys(t):[];if(Rt&&i.length===du&&r.length===hu)return Rt;du=i.length,hu=r.length,Rt={},Ot||(Ot={});const o=(n,M)=>{for(const c of n){const l=M[c],N=Ot==null?void 0:Ot[c];if(N&&Rt&&l)Rt[N[0]]=l,Ot&&(Ot[c]=[N[0],l]);else if(l){const u=s(c);for(let L=u.length-1;L>=0;L--){const g=u[L],j=g==null?void 0:g.filename;if(j&&Rt&&Ot){Rt[j]=l,Ot[c]=[j,l];break}}}}};return e&&o(i,e),t&&o(r,t),Rt}function pD(s,e,t,i,r,o){const{normalizeDepth:n=3,normalizeMaxBreadth:M=1e3}=s,c={...e,event_id:e.event_id||t.event_id||at(),timestamp:e.timestamp||Ir()},l=t.integrations||s.integrations.map(d=>d.name);AD(c,s),OD(c,l),r&&r.emit("applyFrameMetadata",e),e.type===void 0&&mD(c,s.stackParser);const N=_D(i,t.captureContext);t.mechanism&&hi(c,t.mechanism);const u=r?r.getEventProcessors():[],L=n4(o,N),g=[...t.attachments||[],...L.attachments];g.length&&(t.attachments=g),TD(c,L);const j=[...u,...L.eventProcessors];return(t.data&&t.data.__sentry__===!0?Ar(c):ID(j,c,t)).then(d=>(d&&fD(d),typeof n=="number"&&n>0?ED(d,n,M):d))}function AD(s,e){var M,c;const{environment:t,release:i,dist:r,maxValueLength:o}=e;s.environment=s.environment||t||gM,!s.release&&i&&(s.release=i),!s.dist&&r&&(s.dist=r);const n=s.request;n!=null&&n.url&&o&&(n.url=sa(n.url,o)),o&&((c=(M=s.exception)==null?void 0:M.values)==null||c.forEach(l=>{l.value&&(l.value=sa(l.value,o))}))}function mD(s,e){var i,r;const t=CD(e);(r=(i=s.exception)==null?void 0:i.values)==null||r.forEach(o=>{var n,M;(M=(n=o.stacktrace)==null?void 0:n.frames)==null||M.forEach(c=>{c.filename&&(c.debug_id=t[c.filename])})})}function fD(s){var i,r;const e={};if((r=(i=s.exception)==null?void 0:i.values)==null||r.forEach(o=>{var n,M;(M=(n=o.stacktrace)==null?void 0:n.frames)==null||M.forEach(c=>{c.debug_id&&(c.abs_path?e[c.abs_path]=c.debug_id:c.filename&&(e[c.filename]=c.debug_id),delete c.debug_id)})}),Object.keys(e).length===0)return;s.debug_meta=s.debug_meta||{},s.debug_meta.images=s.debug_meta.images||[];const t=s.debug_meta.images;Object.entries(e).forEach(([o,n])=>{t.push({type:"sourcemap",code_file:o,debug_id:n})})}function OD(s,e){e.length>0&&(s.sdk=s.sdk||{},s.sdk.integrations=[...s.sdk.integrations||[],...e])}function ED(s,e,t){var r,o;if(!s)return null;const i={...s,...s.breadcrumbs&&{breadcrumbs:s.breadcrumbs.map(n=>({...n,...n.data&&{data:Yt(n.data,e,t)}}))},...s.user&&{user:Yt(s.user,e,t)},...s.contexts&&{contexts:Yt(s.contexts,e,t)},...s.extra&&{extra:Yt(s.extra,e,t)}};return(r=s.contexts)!=null&&r.trace&&i.contexts&&(i.contexts.trace=s.contexts.trace,s.contexts.trace.data&&(i.contexts.trace.data=Yt(s.contexts.trace.data,e,t))),s.spans&&(i.spans=s.spans.map(n=>({...n,...n.data&&{data:Yt(n.data,e,t)}}))),(o=s.contexts)!=null&&o.flags&&i.contexts&&(i.contexts.flags=Yt(s.contexts.flags,3,t)),i}function _D(s,e){if(!e)return s;const t=s?s.clone():new Pt;return t.update(e),t}function xD(s,e){return At().captureException(s,void 0)}function a4(s,e){return At().captureEvent(s,e)}function zu(s){const e=Es(),{user:t}=n4(e,At()),{userAgent:i}=ae.navigator||{},r=iT({user:t,...i&&{userAgent:i},...s}),o=e.getSession();return(o==null?void 0:o.status)==="ok"&&zi(o,{status:"exited"}),M4(),e.setSession(r),r}function M4(){const s=Es(),t=At().getSession()||s.getSession();t&&rT(t),c4(),s.setSession()}function c4(){const s=Es(),e=Ue(),t=s.getSession();t&&e&&e.captureSession(t)}function hn(s=!1){if(s){M4();return}c4()}const SD="7";function kD(s){const e=s.protocol?`${s.protocol}:`:"",t=s.port?`:${s.port}`:"";return`${e}//${s.host}${t}${s.path?`/${s.path}`:""}/api/`}function vD(s){return`${kD(s)}${s.projectId}/envelope/`}function YD(s,e){const t={sentry_version:SD};return s.publicKey&&(t.sentry_key=s.publicKey),e&&(t.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(t).toString()}function QD(s,e,t){return e||`${vD(s)}?${YD(s,t)}`}const wu=[];function bD(s){const e={};return s.forEach(t=>{const{name:i}=t,r=e[i];r&&!r.isDefaultInstance&&t.isDefaultInstance||(e[i]=t)}),Object.values(e)}function UD(s){const e=s.defaultIntegrations||[],t=s.integrations;e.forEach(r=>{r.isDefaultInstance=!0});let i;if(Array.isArray(t))i=[...e,...t];else if(typeof t=="function"){const r=t(e);i=Array.isArray(r)?r:[r]}else i=e;return bD(i)}function $D(s,e){const t={};return e.forEach(i=>{i!=null&&i.beforeSetup&&i.beforeSetup(s)}),e.forEach(i=>{i&&u4(s,i,t)}),t}function Iu(s,e){for(const t of e)t!=null&&t.afterAllSetup&&t.afterAllSetup(s)}function u4(s,e,t){if(t[e.name]){X&&F.log(`Integration skipped because it was already installed: ${e.name}`);return}if(t[e.name]=e,!wu.includes(e.name)&&typeof e.setupOnce=="function"&&(e.setupOnce(),wu.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(s),typeof e.preprocessEvent=="function"){const i=e.preprocessEvent.bind(e);s.on("preprocessEvent",(r,o)=>i(r,o,s))}if(typeof e.processEvent=="function"){const i=e.processEvent.bind(e),r=Object.assign((o,n)=>i(o,n,s),{id:e.name});s.addEventProcessor(r)}X&&F.log(`Integration installed: ${e.name}`)}function PD(s){return[{type:"log",item_count:s.length,content_type:"application/vnd.sentry.items.log+json"},{items:s}]}function WD(s,e,t,i){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&i&&(r.dsn=pr(i)),mi(r,[PD(s)])}function ca(s,e){const t=e??JD(s)??[];if(t.length===0)return;const i=s.getOptions(),r=WD(t,i._metadata,i.tunnel,s.getDsn());l4().set(s,[]),s.emit("flushLogs"),s.sendEnvelope(r)}function JD(s){return l4().get(s)}function l4(){return Ci("clientToLogBufferMap",()=>new WeakMap)}function BD(s){return[{type:"trace_metric",item_count:s.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:s}]}function RD(s,e,t,i){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&i&&(r.dsn=pr(i)),mi(r,[BD(s)])}function N4(s,e){const t=e??FD(s)??[];if(t.length===0)return;const i=s.getOptions(),r=RD(t,i._metadata,i.tunnel,s.getDsn());L4().set(s,[]),s.emit("flushMetrics"),s.sendEnvelope(r)}function FD(s){return L4().get(s)}function L4(){return Ci("clientToMetricBufferMap",()=>new WeakMap)}function g4(s){return typeof s=="object"&&typeof s.unref=="function"&&s.unref(),s}const yM=Symbol.for("SentryBufferFullError");function TM(s=100){const e=new Set;function t(){return e.sizei(M),()=>i(M)),M}function o(n){if(!e.size)return Ar(!0);const M=Promise.allSettled(Array.from(e)).then(()=>!0);if(!n)return M;const c=[M,new Promise(l=>g4(setTimeout(()=>l(!1),n)))];return Promise.race(c)}return{get $(){return Array.from(e)},add:r,drain:o}}const GD=60*1e3;function HD(s,e=Wo()){const t=parseInt(`${s}`,10);if(!isNaN(t))return t*1e3;const i=Date.parse(`${s}`);return isNaN(i)?GD:i-e}function VD(s,e){return s[e]||s.all||0}function ZD(s,e,t=Wo()){return VD(s,e)>t}function XD(s,{statusCode:e,headers:t},i=Wo()){const r={...s},o=t==null?void 0:t["x-sentry-rate-limits"],n=t==null?void 0:t["retry-after"];if(o)for(const M of o.trim().split(",")){const[c,l,,,N]=M.split(":",5),u=parseInt(c,10),L=(isNaN(u)?60:u)*1e3;if(!l)r.all=i+L;else for(const g of l.split(";"))g==="metric_bucket"?(!N||N.split(";").includes("custom"))&&(r[g]=i+L):r[g]=i+L}else n?r.all=i+HD(n,i):e===429&&(r.all=i+60*1e3);return r}const j4=64;function KD(s,e,t=TM(s.bufferSize||j4)){let i={};const r=n=>t.drain(n);function o(n){const M=[];if(na(n,(u,L)=>{const g=ju(L);ZD(i,g)?s.recordDroppedEvent("ratelimit_backoff",g):M.push(u)}),M.length===0)return Promise.resolve({});const c=mi(n[0],M),l=u=>{if(MD(c,["client_report"])){X&&F.warn(`Dropping client report. Will not send outcomes (reason: ${u}).`);return}na(c,(L,g)=>{s.recordDroppedEvent(u,ju(g))})},N=()=>e({body:cD(c)}).then(u=>u.statusCode===413?(X&&F.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),l("send_error"),u):(X&&u.statusCode!==void 0&&(u.statusCode<200||u.statusCode>=300)&&F.warn(`Sentry responded with status code ${u.statusCode} to sent event.`),i=XD(i,u),u),u=>{throw l("network_error"),X&&F.error("Encountered error running transport request:",u),u});return t.add(N).then(u=>u,u=>{if(u===yM)return X&&F.error("Skipped sending event because buffer is full."),l("queue_overflow"),Promise.resolve({});throw u})}return{send:o,flush:r}}function qD(s,e,t){const i=[{type:"client_report"},{timestamp:Ir(),discarded_events:s}];return mi(e?{dsn:e}:{},[i])}function y4(s){const e=[];s.message&&e.push(s.message);try{const t=s.exception.values[s.exception.values.length-1];t!=null&&t.value&&(e.push(t.value),t.type&&e.push(`${t.type}: ${t.value}`))}catch{}return e}function ed(s){var c;const{trace_id:e,parent_span_id:t,span_id:i,status:r,origin:o,data:n,op:M}=((c=s.contexts)==null?void 0:c.trace)??{};return{data:n??{},description:s.transaction,op:M,parent_span_id:t,span_id:i??"",start_timestamp:s.start_timestamp??0,status:r,timestamp:s.timestamp,trace_id:e??"",origin:o,profile_id:n==null?void 0:n[ZN],exclusive_time:n==null?void 0:n[XN],measurements:s.measurements,is_segment:!0}}function td(s){return{type:"transaction",timestamp:s.timestamp,start_timestamp:s.start_timestamp,transaction:s.description,contexts:{trace:{trace_id:s.trace_id,span_id:s.span_id,parent_span_id:s.parent_span_id,op:s.op,status:s.status,origin:s.origin,data:{...s.data,...s.profile_id&&{[ZN]:s.profile_id},...s.exclusive_time&&{[XN]:s.exclusive_time}}}},measurements:s.measurements}}const Cu="Not capturing exception because it's already been captured.",pu="Discarded session because of missing or non-string release",T4=Symbol.for("SentryInternalError"),D4=Symbol.for("SentryDoNotSendEventError"),sd=5e3;function no(s){return{message:s,[T4]:!0}}function zn(s){return{message:s,[D4]:!0}}function Au(s){return!!s&&typeof s=="object"&&T4 in s}function mu(s){return!!s&&typeof s=="object"&&D4 in s}function fu(s,e,t,i,r){let o=0,n,M=!1;s.on(t,()=>{o=0,clearTimeout(n),M=!1}),s.on(e,c=>{o+=i(c),o>=8e5?r(s):M||(M=!0,n=g4(setTimeout(()=>{r(s)},sd)))}),s.on("flush",()=>{r(s)})}class id{constructor(e){var i,r,o;if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=TM(((i=e.transportOptions)==null?void 0:i.bufferSize)??j4),e.dsn?this._dsn=bT(e.dsn):X&&F.warn("No DSN provided, client will not send events."),this._dsn){const n=QD(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:n})}this._options.enableLogs=this._options.enableLogs??((r=this._options._experiments)==null?void 0:r.enableLogs),this._options.enableLogs&&fu(this,"afterCaptureLog","flushLogs",ad,ca),(this._options.enableMetrics??((o=this._options._experiments)==null?void 0:o.enableMetrics)??!0)&&fu(this,"afterCaptureMetric","flushMetrics",nd,N4)}captureException(e,t,i){const r=at();if(eu(e))return X&&F.log(Cu),r;const o={event_id:r,...t};return this._process(()=>this.eventFromException(e,o).then(n=>this._captureEvent(n,o,i)).then(n=>n),"error"),o.event_id}captureMessage(e,t,i,r){const o={event_id:at(),...i},n=MM(e)?e:String(e),M=Uo(e),c=M?this.eventFromMessage(n,t,o):this.eventFromException(e,o);return this._process(()=>c.then(l=>this._captureEvent(l,o,r)),M?"unknown":"error"),o.event_id}captureEvent(e,t,i){const r=at();if(t!=null&&t.originalException&&eu(t.originalException))return X&&F.log(Cu),r;const o={event_id:r,...t},n=e.sdkProcessingMetadata||{},M=n.capturedSpanScope,c=n.capturedSpanIsolationScope,l=Ou(e.type);return this._process(()=>this._captureEvent(e,o,M||i,c),l),o.event_id}captureSession(e){this.sendSession(e),zi(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){const t=this._transport;if(!t)return!0;this.emit("flush");const i=await this._isClientDoneProcessing(e),r=await t.flush(e);return i&&r}async close(e){ca(this);const t=await this.flush(e);return 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];!t&&e.beforeSetup&&e.beforeSetup(this),u4(this,e,this._integrations),t||Iu(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let i=yD(e,this._dsn,this._options._metadata,this._options.tunnel);for(const r of t.attachments||[])i=aD(i,lD(r));this.sendEnvelope(i).then(r=>this.emit("afterSendEvent",e,r))}sendSession(e){const{release:t,environment:i=gM}=this._options;if("aggregates"in e){const o=e.attrs||{};if(!o.release&&!t){X&&F.warn(pu);return}o.release=o.release||t,o.environment=o.environment||i,e.attrs=o}else{if(!e.release&&!t){X&&F.warn(pu);return}e.release=e.release||t,e.environment=e.environment||i}this.emit("beforeSendSession",e);const r=jD(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,i=1){if(this._options.sendClientReports){const r=`${e}:${t}`;X&&F.log(`Recording outcome: "${r}"${i>1?` (${i} times)`:""}`),this._outcomes[r]=(this._outcomes[r]||0)+i}}on(e,t){const i=this._hooks[e]=this._hooks[e]||new Set,r=(...o)=>t(...o);return i.add(r),()=>{i.delete(r)}}emit(e,...t){const i=this._hooks[e];i&&i.forEach(r=>r(...t))}async sendEnvelope(e){if(this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(t){return X&&F.error("Error while sending envelope:",t),{}}return X&&F.error("Transport disabled"),{}}dispose(){}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=$D(this,e),Iu(this,e)}_updateSessionFromEvent(e,t){var c,l;let i=t.level==="fatal",r=!1;const o=(c=t.exception)==null?void 0:c.values;if(o){r=!0,i=!1;for(const N of o)if(((l=N.mechanism)==null?void 0:l.handled)===!1){i=!0;break}}const n=e.status==="ok";(n&&e.errors===0||n&&i)&&(zi(e,{...i&&{status:"crashed"},errors:e.errors||Number(r||i)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||tsetTimeout(i,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,i,r){const o=this.getOptions(),n=Object.keys(this._integrations);return!t.integrations&&(n!=null&&n.length)&&(t.integrations=n),this.emit("preprocessEvent",e,t),e.type||r.setLastEventId(e.event_id||t.event_id),pD(o,e,t,i,this,r).then(M=>{var l;if(M===null)return M;this.emit("postprocessEvent",M,t),M.contexts={trace:{...(l=M.contexts)==null?void 0:l.trace,...TT(i)},...M.contexts};const c=qT(this,i);return M.sdkProcessingMetadata={dynamicSamplingContext:c,...M.sdkProcessingMetadata},M})}_captureEvent(e,t={},i=At(),r=Es()){return X&&ua(e)&&F.log(`Captured error event \`${y4(e)[0]||""}\``),this._processEvent(e,t,i,r).then(o=>o.event_id,o=>{X&&(mu(o)?F.log(o.message):Au(o)?F.warn(o.message):F.warn(o))})}_processEvent(e,t,i,r){const o=this.getOptions(),{sampleRate:n}=o,M=d4(e),c=ua(e),N=`before send for type \`${e.type||"error"}\``,u=typeof n>"u"?void 0:UT(n);if(c&&typeof u=="number"&&yo()>u)return this.recordDroppedEvent("sample_rate","error"),jM(zn(`Discarding event because it's not included in the random sample (sampling rate = ${n})`));const L=Ou(e.type);return this._prepareEvent(e,t,i,r).then(g=>{var T;if(g===null)throw this.recordDroppedEvent("event_processor",L),zn("An event processor returned `null`, will not send event.");if(((T=t.data)==null?void 0:T.__sentry__)===!0)return g;const y=od(this,o,g,t);return rd(y,N)}).then(g=>{var T;if(g===null){if(this.recordDroppedEvent("before_send",L),M){const I=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",I)}throw zn(`${N} returned \`null\`, will not send event.`)}const j=i.getSession()||r.getSession();if(c&&j&&this._updateSessionFromEvent(j,g),M){const d=((T=g.sdkProcessingMetadata)==null?void 0:T.spanCountBeforeProcessing)||0,I=g.spans?g.spans.length:0,w=d-I;w>0&&this.recordDroppedEvent("before_send","span",w)}const y=g.transaction_info;if(M&&y&&g.transaction!==e.transaction){const d="custom";g.transaction_info={...y,source:d}}return this.sendEvent(g,t),g}).then(null,g=>{throw mu(g)||Au(g)?g:(this.captureException(g,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:g}),no(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. +Reason: ${g}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(i=>(this._numProcessing--,i),i=>(this._numProcessing--,i===yM&&this.recordDroppedEvent("queue_overflow",t),i))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([t,i])=>{const[r,o]=t.split(":");return{reason:r,category:o,quantity:i}})}_flushOutcomes(){X&&F.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){X&&F.log("No outcomes to send");return}if(!this._dsn){X&&F.log("No dsn provided, will not send outcomes");return}X&&F.log("Sending outcomes:",e);const t=qD(e,this._options.tunnel&&pr(this._dsn));this.sendEnvelope(t)}}function Ou(s){return s==="replay_event"?"replay":s||"error"}function rd(s,e){const t=`${e} must return \`null\` or a valid event.`;if(wr(s))return s.then(i=>{if(!ur(i)&&i!==null)throw no(t);return i},i=>{throw no(`${e} rejected with ${i}`)});if(!ur(s)&&s!==null)throw no(t);return s}function od(s,e,t,i){const{beforeSend:r,beforeSendTransaction:o,ignoreSpans:n}=e,M=!tD(e.beforeSendSpan)&&e.beforeSendSpan;let c=t;if(ua(c)&&r)return r(c,i);if(d4(c)){if(M||n){const l=ed(c);if(n!=null&&n.length&&gu(l,n))return null;if(M){const N=M(l);N?c=Cr(t,td(N)):Nu()}if(c.spans){const N=[],u=c.spans;for(const g of u){if(n!=null&&n.length&&gu(g,n)){ZT(u,g);continue}if(M){const j=M(g);j?N.push(j):(Nu(),N.push(g))}else N.push(g)}const L=c.spans.length-N.length;L&&s.recordDroppedEvent("before_send","span",L),c.spans=N}}if(o){if(c.spans){const l=c.spans.length;c.sdkProcessingMetadata={...t.sdkProcessingMetadata,spanCountBeforeProcessing:l}}return o(c,i)}}return c}function ua(s){return s.type===void 0}function d4(s){return s.type==="transaction"}function nd(s){let e=0;return s.name&&(e+=s.name.length*2),e+=8,e+h4(s.attributes)}function ad(s){let e=0;return s.message&&(e+=s.message.length*2),e+h4(s.attributes)}function h4(s){if(!s)return 0;let e=0;return Object.values(s).forEach(t=>{Array.isArray(t)?e+=t.length*Eu(t[0]):Uo(t)?e+=Eu(t):e+=100}),e}function Eu(s){return typeof s=="string"?s.length*2:typeof s=="number"?8:typeof s=="boolean"?4:0}function Md(s){return bo(s)&&"__sentry_fetch_url_host__"in s&&typeof s.__sentry_fetch_url_host__=="string"}function _u(s){return Md(s)?`${s.message} (${s.__sentry_fetch_url_host__})`:s.message}function cd(s,e){e.debug===!0&&(X?F.enable():pi(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),At().update(e.initialScope);const i=new s(e);return ud(i),i.init(),i}function ud(s){At().setClient(s)}function wn(s){if(!s)return{};const e=s.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};const t=e[6]||"",i=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],search:t,hash:i,relative:e[5]+t+i}}function ld(s,e=!0){if(s.startsWith("data:")){const t=s.match(/^data:([^;,]+)/),i=t?t[1]:"text/plain",r=s.includes(";base64,"),o=s.indexOf(",");let n="";if(e&&o!==-1){const M=s.slice(o+1);n=M.length>10?`${M.slice(0,10)}... [truncated]`:M}return`data:${i}${r?",base64":""}${n?`,${n}`:""}`}return s}function Nd(s){var e;"aggregates"in s?((e=s.attrs)==null?void 0:e.ip_address)===void 0&&(s.attrs={...s.attrs,ip_address:"{{auto}}"}):s.ipAddress===void 0&&(s.ipAddress="{{auto}}")}function Ld(s,e,t=[e],i="npm"){const r=(s._metadata=s._metadata||{}).sdk=s._metadata.sdk||{};r.name||(r.name=`sentry.javascript.${e}`,r.packages=t.map(o=>({name:`${i}:@sentry/${o}`,version:Is})),r.version=Is)}const gd=100;function ps(s,e){const t=Ue(),i=Es();if(!t)return;const{beforeBreadcrumb:r=null,maxBreadcrumbs:o=gd}=t.getOptions();if(o<=0)return;const M={timestamp:Ir(),...s},c=r?pi(()=>r(M,e)):M;c!==null&&(t.emit&&t.emit("beforeAddBreadcrumb",c,e),i.addBreadcrumb(c,o))}let xu;const jd="FunctionToString",Su=new WeakMap,yd=(()=>({name:jd,setupOnce(){xu=Function.prototype.toString;try{Function.prototype.toString=function(...s){const e=lM(this),t=Su.has(Ue())&&e!==void 0?e:this;return xu.apply(t,s)}}catch{}},setup(s){Su.set(s,!0)}})),Td=yd,Dd=[/^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/,/Can't find variable: _AutofillCallbackHandler/,/Object Not Found Matching Id:\d+, MethodName:simulateEvent/,/^Java exception was raised during method invocation$/],dd="EventFilters",hd=(s={})=>{let e;return{name:dd,setup(t){const i=t.getOptions();e=ku(s,i)},processEvent(t,i,r){if(!e){const o=r.getOptions();e=ku(s,o)}return wd(t,e)?null:t}}},zd=((s={})=>({...hd(s),name:"InboundFilters"}));function ku(s={},e={}){return{allowUrls:[...s.allowUrls||[],...e.allowUrls||[]],denyUrls:[...s.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...s.ignoreErrors||[],...e.ignoreErrors||[],...s.disableErrorDefaults?[]:Dd],ignoreTransactions:[...s.ignoreTransactions||[],...e.ignoreTransactions||[]]}}function wd(s,e){if(s.type){if(s.type==="transaction"&&Cd(s,e.ignoreTransactions))return X&&F.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${hs(s)}`),!0}else{if(Id(s,e.ignoreErrors))return X&&F.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${hs(s)}`),!0;if(fd(s))return X&&F.warn(`Event dropped due to not having an error message, error type or stacktrace. +Event: ${hs(s)}`),!0;if(pd(s,e.denyUrls))return X&&F.warn(`Event dropped due to being matched by \`denyUrls\` option. Event: ${hs(s)}. -Url: ${To(s)}`),!0;if(!pd(s,e.allowUrls))return X&&F.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Url: ${To(s)}`),!0;if(!Ad(s,e.allowUrls))return X&&F.warn(`Event dropped due to not being matched by \`allowUrls\` option. Event: ${hs(s)}. -Url: ${To(s)}`),!0}return!1}function wd(s,e){return e!=null&&e.length?g4(s).some(t=>Jo(t,e)):!1}function Id(s,e){if(!(e!=null&&e.length))return!1;const t=s.transaction;return t?Jo(t,e):!1}function Cd(s,e){if(!(e!=null&&e.length))return!1;const t=To(s);return t?Jo(t,e):!1}function pd(s,e){if(!(e!=null&&e.length))return!0;const t=To(s);return t?Jo(t,e):!0}function Ad(s=[]){for(let e=s.length-1;e>=0;e--){const t=s[e];if(t&&t.filename!==""&&t.filename!=="[native code]")return t.filename||null}return null}function To(s){var e,t;try{const i=[...((e=s.exception)==null?void 0:e.values)??[]].reverse().find(o=>{var n,M,c;return((n=o.mechanism)==null?void 0:n.parent_id)===void 0&&((c=(M=o.stacktrace)==null?void 0:M.frames)==null?void 0:c.length)}),r=(t=i==null?void 0:i.stacktrace)==null?void 0:t.frames;return r?Ad(r):null}catch{return X&&F.error(`Cannot extract url for event ${hs(s)}`),null}}function md(s){var e,t;return(t=(e=s.exception)==null?void 0:e.values)!=null&&t.length?!s.message&&!s.exception.values.some(i=>i.stacktrace||i.type&&i.type!=="Error"||i.value):!1}function fd(s,e,t,i,r,o){var M;if(!((M=r.exception)!=null&&M.values)||!o||!cs(o.originalException,Error))return;const n=r.exception.values.length>0?r.exception.values[r.exception.values.length-1]:void 0;n&&(r.exception.values=ua(s,e,i,o.originalException,t,r.exception.values,n,0))}function ua(s,e,t,i,r,o,n,M){if(o.length>=t+1)return o;let c=[...o];if(cs(i[r],Error)){ku(n,M,i);const l=s(e,i[r]),N=c.length;vu(l,r,N,M),c=ua(s,e,t,i[r],r,[l,...c],l,N)}return d4(i)&&i.errors.forEach((l,N)=>{if(cs(l,Error)){ku(n,M,i);const u=s(e,l),L=c.length;vu(u,`errors[${N}]`,L,M),c=ua(s,e,t,l,r,[u,...c],u,L)}}),c}function d4(s){return Array.isArray(s.errors)}function ku(s,e,t){s.mechanism={handled:!0,type:"auto.core.linked_errors",...d4(t)&&{is_exception_group:!0},...s.mechanism,exception_id:e}}function vu(s,e,t,i){s.mechanism={handled:!0,...s.mechanism,type:"chained",source:e,exception_id:t,parent_id:i}}function Od(s){const e="console";fs(e,s),Os(e,Ed)}function Ed(){"console"in ae&&_y.forEach(function(s){s in ae.console&&qe(ae.console,s,function(e){return jo[s]=e,function(...t){gt("console",{args:t,level:s});const r=jo[s];r==null||r.apply(ae.console,t)}})})}function _d(s){return s==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(s)?s:"log"}const xd="Dedupe",Sd=(()=>{let s;return{name:xd,processEvent(e){if(e.type)return e;try{if(kd(e,s))return X&&F.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return s=e}}}),h4=Sd;function kd(s,e){return e?!!(vd(s,e)||Yd(s,e)):!1}function vd(s,e){const t=s.message,i=e.message;return!(!t&&!i||t&&!i||!t&&i||t!==i||!w4(s,e)||!z4(s,e))}function Yd(s,e){const t=Yu(e),i=Yu(s);return!(!t||!i||t.type!==i.type||t.value!==i.value||!w4(s,e)||!z4(s,e))}function z4(s,e){let t=Gc(s),i=Gc(e);if(!t&&!i)return!0;if(t&&!i||!t&&i||(t=t,i=i,i.length!==t.length))return!1;for(let r=0;r({name:Qd,setup(s){s.on("spanStart",e=>{const t=At().getScopeData(),i=Es().getScopeData(),r=t.conversationId||i.conversationId;r&&e.setAttribute(wT,r)})}})),Ud=bd;function I4(s){if(s!==void 0)return s>=400&&s<500?"warning":s>=500?"error":void 0}const Nr=ae;function $d(){return"history"in Nr&&!!Nr.history}function Pd(){if(!("fetch"in Nr))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}function la(s){return s&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(s.toString())}function Wd(){var t;if(typeof EdgeRuntime=="string")return!0;if(!Pd())return!1;if(la(Nr.fetch))return!0;let s=!1;const e=Nr.document;if(e&&typeof e.createElement=="function")try{const i=e.createElement("iframe");i.hidden=!0,e.head.appendChild(i),(t=i.contentWindow)!=null&&t.fetch&&(s=la(i.contentWindow.fetch)),e.head.removeChild(i)}catch(i){X&&F.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",i)}return s}function Jd(s,e){const t="fetch";fs(t,s),Os(t,()=>Bd(void 0,e))}function Bd(s,e=!1){e&&!Wd()||qe(ae,"fetch",function(t){return function(...i){const r=new Error,{method:o,url:n}=Rd(i),M={args:i,fetchData:{method:o,url:n},startTimestamp:$t()*1e3,virtualError:r,headers:Fd(i)};return gt("fetch",{...M}),t.apply(ae,i).then(async c=>(gt("fetch",{...M,endTimestamp:$t()*1e3,response:c}),c),c=>{gt("fetch",{...M,endTimestamp:$t()*1e3,error:c}),bo(c)&&c.stack===void 0&&(c.stack=r.stack,us(c,"framesToPop",1));const l=Ue(),N=(l==null?void 0:l.getOptions().enhanceFetchErrorMessages)??"always";if(N!==!1&&c instanceof TypeError&&(c.message==="Failed to fetch"||c.message==="Load failed"||c.message==="NetworkError when attempting to fetch resource."))try{const g=new URL(M.fetchData.url).host;N==="always"?c.message=`${c.message} (${g})`:us(c,"__sentry_fetch_url_host__",g)}catch{}throw c})}})}function ao(s,e){return!!s&&typeof s=="object"&&!!s[e]}function Qu(s){return typeof s=="string"?s:s?ao(s,"url")?s.url:s.toString?s.toString():"":""}function Rd(s){if(s.length===0)return{method:"GET",url:""};if(s.length===2){const[t,i]=s;return{url:Qu(t),method:ao(i,"method")?String(i.method).toUpperCase():$N(t)&&ao(t,"method")?String(t.method).toUpperCase():"GET"}}const e=s[0];return{url:Qu(e),method:ao(e,"method")?String(e.method).toUpperCase():"GET"}}function Fd(s){const[e,t]=s;try{if(typeof t=="object"&&t!==null&&"headers"in t&&t.headers)return new Headers(t.headers);if($N(e))return new Headers(e.headers)}catch{}}function Gd(){return"npm"}const de=ae;let Na=0;function C4(){return Na>0}function Hd(){Na++,setTimeout(()=>{Na--})}function Ii(s,e={}){function t(r){return typeof r=="function"}if(!t(s))return s;try{const r=s.__sentry_wrapped__;if(r)return typeof r=="function"?r:s;if(uM(s))return s}catch{return s}const i=function(...r){try{const o=r.map(n=>Ii(n,e));return s.apply(this,o)}catch(o){throw Hd(),jT(n=>{n.addEventProcessor(M=>(e.mechanism&&(sa(M,void 0),hi(M,e.mechanism)),M.extra={...M.extra,arguments:r},M)),_D(o)}),o}};try{for(const r in s)Object.prototype.hasOwnProperty.call(s,r)&&(i[r]=s[r])}catch{}WN(i,s),us(s,"__sentry_wrapped__",i);try{Object.getOwnPropertyDescriptor(i,"name").configurable&&Object.defineProperty(i,"name",{get(){return s.name}})}catch{}return i}function Vd(){const s=cM(),{referrer:e}=de.document||{},{userAgent:t}=de.navigator||{},i={...e&&{Referer:e},...t&&{"User-Agent":t}};return{url:s,headers:i}}function TM(s,e){const t=DM(s,e),i={type:e1(e),value:t1(e)};return t.length&&(i.stacktrace={frames:t}),i.type===void 0&&i.value===""&&(i.value="Unrecoverable error caught"),i}function Zd(s,e,t,i){const r=Ue(),o=r==null?void 0:r.getOptions().normalizeDepth,n=n1(e),M={__serialized__:t4(e,o)};if(n)return{exception:{values:[TM(s,n)]},extra:M};const c={exception:{values:[{type:$o(e)?e.constructor.name:i?"UnhandledRejection":"Error",value:r1(e,{isUnhandledRejection:i})}]},extra:M};if(t){const l=DM(s,t);l.length&&(c.exception.values[0].stacktrace={frames:l})}return c}function In(s,e){return{exception:{values:[TM(s,e)]}}}function DM(s,e){const t=e.stacktrace||e.stack||"",i=Kd(e),r=qd(e);try{return s(t,i,r)}catch{}return[]}const Xd=/Minified React error #\d+;/i;function Kd(s){return s&&Xd.test(s.message)?1:0}function qd(s){return typeof s.framesToPop=="number"?s.framesToPop:0}function p4(s){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?s instanceof WebAssembly.Exception:!1}function e1(s){const e=s==null?void 0:s.name;return!e&&p4(s)?s.message&&Array.isArray(s.message)&&s.message.length==2?s.message[0]:"WebAssembly.Exception":e}function t1(s){const e=s==null?void 0:s.message;return p4(s)?Array.isArray(s.message)&&s.message.length==2?s.message[1]:"wasm exception":e?e.error&&typeof e.error.message=="string"?Eu(e.error):Eu(s):"No error message"}function s1(s,e,t,i){const r=(t==null?void 0:t.syntheticException)||void 0,o=dM(s,e,r,i);return hi(o),o.level="error",t!=null&&t.event_id&&(o.event_id=t.event_id),Ar(o)}function i1(s,e,t="info",i,r){const o=(i==null?void 0:i.syntheticException)||void 0,n=La(s,e,o,r);return n.level=t,i!=null&&i.event_id&&(n.event_id=i.event_id),Ar(n)}function dM(s,e,t,i,r){let o;if(bN(e)&&e.error)return In(s,e.error);if(Vc(e)||By(e)){const n=e;if("stack"in e)o=In(s,e);else{const M=n.name||(Vc(n)?"DOMError":"DOMException"),c=n.message?`${M}: ${n.message}`:M;o=La(s,c,t,i),sa(o,c)}return"code"in n&&(o.tags={...o.tags,"DOMException.code":`${n.code}`}),o}return bo(e)?In(s,e):ur(e)||$o(e)?(o=Zd(s,e,t,r),hi(o,{synthetic:!0}),o):(o=La(s,e,t,i),sa(o,`${e}`),hi(o,{synthetic:!0}),o)}function La(s,e,t,i){const r={};if(i&&t){const o=DM(s,t);o.length&&(r.exception={values:[{value:e,stacktrace:{frames:o}}]}),hi(r,{synthetic:!0})}if(aM(e)){const{__sentry_template_string__:o,__sentry_template_values__:n}=e;return r.logentry={message:o,params:n},r}return r.message=e,r}function r1(s,{isUnhandledRejection:e}){const t=Xy(s),i=e?"promise rejection":"exception";return bN(s)?`Event \`ErrorEvent\` captured as ${i} with message \`${s.message}\``:$o(s)?`Event \`${o1(s)}\` (type=${s.type}) captured as ${i}`:`Object captured as ${i} with keys: ${t}`}function o1(s){try{const e=Object.getPrototypeOf(s);return e?e.constructor.name:void 0}catch{}}function n1(s){return Object.values(s).find(e=>e instanceof Error)}class a1 extends sd{constructor(e){var N;const t=M1(e),i=de.SENTRY_SDK_SOURCE||Gd();Nd(t,"browser",["browser"],i),(N=t._metadata)!=null&&N.sdk&&(t._metadata.sdk.settings={infer_ip:t.sendDefaultPii?"auto":"never",...t._metadata.sdk.settings}),super(t);const{sendDefaultPii:r,sendClientReports:o,enableLogs:n,_experiments:M,enableMetrics:c}=this._options,l=c??(M==null?void 0:M.enableMetrics)??!0;de.document&&(o||n||l)&&de.document.addEventListener("visibilitychange",()=>{de.document.visibilityState==="hidden"&&(o&&this._flushOutcomes(),n&&Ma(this),l&&u4(this))}),r&&this.on("beforeSendSession",ld)}eventFromException(e,t){return s1(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",i){return i1(this._options.stackParser,e,t,i,this._options.attachStacktrace)}_prepareEvent(e,t,i,r){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,i,r)}}function M1(s){var e;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(e=de.SENTRY_RELEASE)==null?void 0:e.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...s}}const c1=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Pe=ae,u1=1e3;let bu,ga,ja;function l1(s){fs("dom",s),Os("dom",N1)}function N1(){if(!Pe.document)return;const s=gt.bind(null,"dom"),e=Uu(s,!0);Pe.document.addEventListener("click",e,!1),Pe.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(t=>{var o,n;const r=(o=Pe[t])==null?void 0:o.prototype;(n=r==null?void 0:r.hasOwnProperty)!=null&&n.call(r,"addEventListener")&&(qe(r,"addEventListener",function(M){return function(c,l,N){if(c==="click"||c=="keypress")try{const u=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},L=u[c]=u[c]||{refCount:0};if(!L.handler){const g=Uu(s);L.handler=g,M.call(this,c,g,N)}L.refCount++}catch{}return M.call(this,c,l,N)}}),qe(r,"removeEventListener",function(M){return function(c,l,N){if(c==="click"||c=="keypress")try{const u=this.__sentry_instrumentation_handlers__||{},L=u[c];L&&(L.refCount--,L.refCount<=0&&(M.call(this,c,L.handler,N),L.handler=void 0,delete u[c]),Object.keys(u).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return M.call(this,c,l,N)}}))})}function L1(s){if(s.type!==ga)return!1;try{if(!s.target||s.target._sentryId!==ja)return!1}catch{}return!0}function g1(s,e){return s!=="keypress"?!1:e!=null&&e.tagName?!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable):!0}function Uu(s,e=!1){return t=>{if(!t||t._sentryCaptured)return;const i=j1(t);if(g1(t.type,i))return;us(t,"_sentryCaptured",!0),i&&!i._sentryId&&us(i,"_sentryId",at());const r=t.type==="keypress"?"input":t.type;L1(t)||(s({event:t,name:r,global:e}),ga=t.type,ja=i?i._sentryId:void 0),clearTimeout(bu),bu=Pe.setTimeout(()=>{ja=void 0,ga=void 0},u1)}}function j1(s){try{return s.target}catch{return null}}let Jr;function A4(s){const e="history";fs(e,s),Os(e,y1)}function y1(){if(Pe.addEventListener("popstate",()=>{const e=Pe.location.href,t=Jr;if(Jr=e,t===e)return;gt("history",{from:t,to:e})}),!$d())return;function s(e){return function(...t){const i=t.length>2?t[2]:void 0;if(i){const r=Jr,o=T1(String(i));if(Jr=o,r===o)return e.apply(this,t);gt("history",{from:r,to:o})}return e.apply(this,t)}}qe(Pe.history,"pushState",s),qe(Pe.history,"replaceState",s)}function T1(s){try{return new URL(s,Pe.location.origin).toString()}catch{return s}}const Mo={};function D1(s){const e=Mo[s];if(e)return e;let t=Pe[s];if(la(t))return Mo[s]=t.bind(Pe);const i=Pe.document;if(i&&typeof i.createElement=="function")try{const r=i.createElement("iframe");r.hidden=!0,i.head.appendChild(r);const o=r.contentWindow;o!=null&&o[s]&&(t=o[s]),i.head.removeChild(r)}catch(r){c1&&F.warn(`Could not create sandbox iframe for ${s} check, bailing to window.${s}: `,r)}return t&&(Mo[s]=t.bind(Pe))}function d1(s){Mo[s]=void 0}const Ki="__sentry_xhr_v3__";function h1(s){fs("xhr",s),Os("xhr",z1)}function z1(){if(!Pe.XMLHttpRequest)return;const s=XMLHttpRequest.prototype;s.open=new Proxy(s.open,{apply(e,t,i){const r=new Error,o=$t()*1e3,n=Ut(i[0])?i[0].toUpperCase():void 0,M=w1(i[1]);if(!n||!M)return e.apply(t,i);t[Ki]={method:n,url:M,request_headers:{}},n==="POST"&&M.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const c=()=>{const l=t[Ki];if(l&&t.readyState===4){try{l.status_code=t.status}catch{}const N={endTimestamp:$t()*1e3,startTimestamp:o,xhr:t,virtualError:r};gt("xhr",N)}};return"onreadystatechange"in t&&typeof t.onreadystatechange=="function"?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(l,N,u){return c(),l.apply(N,u)}}):t.addEventListener("readystatechange",c),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(l,N,u){const[L,g]=u,j=N[Ki];return j&&Ut(L)&&Ut(g)&&(j.request_headers[L.toLowerCase()]=g),l.apply(N,u)}}),e.apply(t,i)}}),s.send=new Proxy(s.send,{apply(e,t,i){const r=t[Ki];if(!r)return e.apply(t,i);i[0]!==void 0&&(r.body=i[0]);const o={startTimestamp:$t()*1e3,xhr:t};return gt("xhr",o),e.apply(t,i)}})}function w1(s){if(Ut(s))return s;try{return s.toString()}catch{}}const I1=40;function C1(s,e=D1("fetch")){let t=0,i=0;async function r(o){const n=o.body.length;t+=n,i++;const M={body:o.body,method:"POST",referrerPolicy:"strict-origin",headers:s.headers,keepalive:t<=6e4&&i<15,...s.fetchOptions};try{const c=await e(s.url,M);return{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}}catch(c){throw d1("fetch"),c}finally{t-=n,i--}}return XD(s,r,yM(s.bufferSize||I1))}const Bo=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,p1=30,A1=50;function ya(s,e,t,i){const r={filename:s,function:e===""?Cs:e,in_app:!0};return t!==void 0&&(r.lineno=t),i!==void 0&&(r.colno=i),r}const m1=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,f1=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,O1=/\((\S*)(?::(\d+))(?::(\d+))\)/,E1=/at (.+?) ?\(data:(.+?),/,_1=s=>{var r;const e=s.match(E1);if(e)return{filename:``,function:e[1]};const t=m1.exec(s);if(t){const[,o,n,M]=t;return ya(o,Cs,+n,+M)}const i=f1.exec(s);if(i){if(((r=i[2])==null?void 0:r.indexOf("eval"))===0){const c=O1.exec(i[2]);c&&(i[2]=c[1],i[3]=c[2],i[4]=c[3])}const[n,M]=m4(i[1]||Cs,i[2]);return ya(M,n,i[3]?+i[3]:void 0,i[4]?+i[4]:void 0)}},x1=[p1,_1],S1=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,k1=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,v1=s=>{const e=S1.exec(s);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const o=k1.exec(e[3]);o&&(e[1]=e[1]||"eval",e[3]=o[1],e[4]=o[2],e[5]="")}let i=e[3],r=e[1]||Cs;return[r,i]=m4(r,i),ya(i,r,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},Y1=[A1,v1],Q1=[x1,Y1],b1=vN(...Q1),m4=(s,e)=>{const t=s.indexOf("safari-extension")!==-1,i=s.indexOf("safari-web-extension")!==-1;return t||i?[s.indexOf("@")!==-1?s.split("@")[0]:Cs,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[s,e]},Br=1024,U1="Breadcrumbs",$1=((s={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...s};return{name:U1,setup(t){e.console&&Od(B1(t)),e.dom&&l1(J1(t,e.dom)),e.xhr&&h1(R1(t)),e.fetch&&Jd(F1(t)),e.history&&A4(G1(t)),e.sentry&&t.on("beforeSendEvent",W1(t))}}}),P1=$1;function W1(s){return function(t){Ue()===s&&ps({category:`sentry.${t.type==="transaction"?"transaction":"event"}`,event_id:t.event_id,level:t.level,message:hs(t)},{event:t})}}function J1(s,e){return function(i){if(Ue()!==s)return;let r,o,n=typeof e=="object"?e.serializeAttribute:void 0,M=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;M&&M>Br&&(Bo&&F.warn(`\`dom.maxStringLength\` cannot exceed ${Br}, but a value of ${M} was configured. Sentry will use ${Br} instead.`),M=Br),typeof n=="string"&&(n=[n]);try{const l=i.event,N=H1(l)?l.target:l;r=PN(N,{keyAttrs:n,maxStringLength:M}),o=Zy(N)}catch{r=""}if(r.length===0)return;const c={category:`ui.${i.name}`,message:r};o&&(c.data={"ui.component_name":o}),ps(c,{event:i.event,name:i.name,global:i.global})}}function B1(s){return function(t){if(Ue()!==s)return;const i={category:"console",data:{arguments:t.args,logger:"console"},level:_d(t.level),message:Kc(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)i.message=`Assertion failed: ${Kc(t.args.slice(1)," ")||"console.assert"}`,i.data.arguments=t.args.slice(1);else return;ps(i,{input:t.args,level:t.level})}}function R1(s){return function(t){if(Ue()!==s)return;const{startTimestamp:i,endTimestamp:r}=t,o=t.xhr[Ki];if(!i||!r||!o)return;const{method:n,url:M,status_code:c,body:l}=o,N={method:n,url:M,status_code:c},u={xhr:t.xhr,input:l,startTimestamp:i,endTimestamp:r},L={category:"xhr",data:N,type:"http",level:I4(c)};s.emit("beforeOutgoingRequestBreadcrumb",L,u),ps(L,u)}}function F1(s){return function(t){if(Ue()!==s)return;const{startTimestamp:i,endTimestamp:r}=t;if(r&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.error){const o={data:t.error,input:t.args,startTimestamp:i,endTimestamp:r},n={category:"fetch",data:t.fetchData,level:"error",type:"http"};s.emit("beforeOutgoingRequestBreadcrumb",n,o),ps(n,o)}else{const o=t.response,n={...t.fetchData,status_code:o==null?void 0:o.status},M={input:t.args,response:o,startTimestamp:i,endTimestamp:r},c={category:"fetch",data:n,type:"http",level:I4(n.status_code)};s.emit("beforeOutgoingRequestBreadcrumb",c,M),ps(c,M)}}}function G1(s){return function(t){if(Ue()!==s)return;let i=t.from,r=t.to;const o=wn(de.location.href);let n=i?wn(i):void 0;const M=wn(r);n!=null&&n.path||(n=o),o.protocol===M.protocol&&o.host===M.host&&(r=M.relative),o.protocol===n.protocol&&o.host===n.host&&(i=n.relative),ps({category:"navigation",data:{from:i,to:r}})}}function H1(s){return!!s&&!!s.target}const V1="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".split(","),Z1="BrowserApiErrors",X1=((s={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...s};return{name:Z1,setupOnce(){e.setTimeout&&qe(de,"setTimeout",$u),e.setInterval&&qe(de,"setInterval",$u),e.requestAnimationFrame&&qe(de,"requestAnimationFrame",q1),e.XMLHttpRequest&&"XMLHttpRequest"in de&&qe(XMLHttpRequest.prototype,"send",eh);const t=e.eventTarget;t&&(Array.isArray(t)?t:V1).forEach(r=>th(r,e))}}}),K1=X1;function $u(s){return function(...e){const t=e[0];return e[0]=Ii(t,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${Ms(s)}`}}),s.apply(this,e)}}function q1(s){return function(e){return s.apply(this,[Ii(e,{mechanism:{data:{handler:Ms(s)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function eh(s){return function(...e){const t=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(r=>{r in t&&typeof t[r]=="function"&&qe(t,r,function(o){const n={mechanism:{data:{handler:Ms(o)},handled:!1,type:`auto.browser.browserapierrors.xhr.${r}`}},M=uM(o);return M&&(n.mechanism.data.handler=Ms(M)),Ii(o,n)})}),s.apply(this,e)}}function th(s,e){var r,o;const i=(r=de[s])==null?void 0:r.prototype;(o=i==null?void 0:i.hasOwnProperty)!=null&&o.call(i,"addEventListener")&&(qe(i,"addEventListener",function(n){return function(M,c,l){try{sh(c)&&(c.handleEvent=Ii(c.handleEvent,{mechanism:{data:{handler:Ms(c),target:s},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return e.unregisterOriginalCallbacks&&ih(this,M,c),n.apply(this,[M,Ii(c,{mechanism:{data:{handler:Ms(c),target:s},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),l])}}),qe(i,"removeEventListener",function(n){return function(M,c,l){try{const N=c.__sentry_wrapped__;N&&n.call(this,M,N,l)}catch{}return n.call(this,M,c,l)}}))}function sh(s){return typeof s.handleEvent=="function"}function ih(s,e,t){s&&typeof s=="object"&&"removeEventListener"in s&&typeof s.removeEventListener=="function"&&s.removeEventListener(e,t)}const rh=(s={})=>{const e=s.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof de.document>"u"){Bo&&F.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}hu({ignoreDuration:!0}),hn();const t=Es();let i=t.getUser();t.addScopeListener(r=>{const o=r.getUser();((i==null?void 0:i.id)!==(o==null?void 0:o.id)||(i==null?void 0:i.ip_address)!==(o==null?void 0:o.ip_address))&&(hn(),i=o)}),e==="route"&&A4(({from:r,to:o})=>{r!==o&&(hu({ignoreDuration:!0}),hn())})}}},oh="CultureContext",nh=(()=>({name:oh,preprocessEvent(s){var t;const e=Mh();e&&(s.contexts={...s.contexts,culture:{...e,...(t=s.contexts)==null?void 0:t.culture}})}})),ah=nh;function Mh(){try{const s=de.Intl;if(!s)return;const e=s.DateTimeFormat().resolvedOptions();return{locale:e.locale,timezone:e.timeZone,calendar:e.calendar}}catch{return}}const ch="GlobalHandlers",uh=((s={})=>{const e={onerror:!0,onunhandledrejection:!0,...s};return{name:ch,setupOnce(){Error.stackTraceLimit=50},setup(t){e.onerror&&(Nh(t),Pu("onerror")),e.onunhandledrejection&&(Lh(t),Pu("onunhandledrejection"))}}}),lh=uh;function Nh(s){$y(e=>{const{stackParser:t,attachStacktrace:i}=f4();if(Ue()!==s||C4())return;const{msg:r,url:o,line:n,column:M,error:c}=e,l=yh(dM(t,c||r,void 0,i,!1),o,n,M);l.level="error",o4(l,{originalException:c,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function Lh(s){Wy(e=>{const{stackParser:t,attachStacktrace:i}=f4();if(Ue()!==s||C4())return;const r=gh(e),o=Uo(r)?jh(r):dM(t,r,void 0,i,!0);o.level="error",o4(o,{originalException:r,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function gh(s){if(Uo(s))return s;try{if("reason"in s)return s.reason;if("detail"in s&&"reason"in s.detail)return s.detail.reason}catch{}return s}function jh(s){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(s)}`}]}}}function yh(s,e,t,i){const r=s.exception=s.exception||{},o=r.values=r.values||[],n=o[0]=o[0]||{},M=n.stacktrace=n.stacktrace||{},c=M.frames=M.frames||[];return c.length===0&&c.push({colno:i,lineno:t,filename:Th(e)??cM(),function:Cs,in_app:!0}),s}function Pu(s){Bo&&F.log(`Global Handler attached: ${s}`)}function f4(){const s=Ue();return(s==null?void 0:s.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Th(s){if(!(!Ut(s)||s.length===0))return s.startsWith("data:")?`<${ud(s,!1)}>`:s}const Dh=()=>({name:"HttpContext",preprocessEvent(s){var i;if(!de.navigator&&!de.location&&!de.document)return;const e=Vd(),t={...e.headers,...(i=s.request)==null?void 0:i.headers};s.request={...e,...s.request,headers:t}}}),dh="cause",hh=5,zh="LinkedErrors",wh=((s={})=>{const e=s.limit||hh,t=s.key||dh;return{name:zh,preprocessEvent(i,r,o){const n=o.getOptions();fd(TM,n.stackParser,t,e,i,r)}}}),Ih=wh;function Ch(){return ph()?(Bo&&pi(()=>{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 ph(){var r;if(typeof de.window>"u")return!1;const s=de;if(s.nw)return!1;const e=s.chrome||s.browser;if(!((r=e==null?void 0:e.runtime)!=null&&r.id))return!1;const t=cM();return!(de===de.top&&/^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\/\//.test(t))}function Ah(s){return[hd(),yd(),Ud(),K1(),P1(),lh(),Ih(),h4(),Dh(),ah(),rh()]}function mh(s={}){const e=!s.skipBrowserExtensionCheck&&Ch();let t=s.defaultIntegrations==null?Ah():s.defaultIntegrations;const i={...s,enabled:e?!1:s.enabled,stackParser:by(s.stackParser||b1),integrations:bD({integrations:s.integrations,defaultIntegrations:t}),transport:s.transport||C1};return Md(a1,i)}function fh(){console.log(` +Url: ${To(s)}`),!0}return!1}function Id(s,e){return e!=null&&e.length?y4(s).some(t=>Jo(t,e)):!1}function Cd(s,e){if(!(e!=null&&e.length))return!1;const t=s.transaction;return t?Jo(t,e):!1}function pd(s,e){if(!(e!=null&&e.length))return!1;const t=To(s);return t?Jo(t,e):!1}function Ad(s,e){if(!(e!=null&&e.length))return!0;const t=To(s);return t?Jo(t,e):!0}function md(s=[]){for(let e=s.length-1;e>=0;e--){const t=s[e];if(t&&t.filename!==""&&t.filename!=="[native code]")return t.filename||null}return null}function To(s){var e,t;try{const i=[...((e=s.exception)==null?void 0:e.values)??[]].reverse().find(o=>{var n,M,c;return((n=o.mechanism)==null?void 0:n.parent_id)===void 0&&((c=(M=o.stacktrace)==null?void 0:M.frames)==null?void 0:c.length)}),r=(t=i==null?void 0:i.stacktrace)==null?void 0:t.frames;return r?md(r):null}catch{return X&&F.error(`Cannot extract url for event ${hs(s)}`),null}}function fd(s){var e,t;return(t=(e=s.exception)==null?void 0:e.values)!=null&&t.length?!s.message&&!s.exception.values.some(i=>i.stacktrace||i.type&&i.type!=="Error"||i.value):!1}function Od(s,e,t,i,r,o){var M;if(!((M=r.exception)!=null&&M.values)||!o||!cs(o.originalException,Error))return;const n=r.exception.values.length>0?r.exception.values[r.exception.values.length-1]:void 0;n&&(r.exception.values=la(s,e,i,o.originalException,t,r.exception.values,n,0))}function la(s,e,t,i,r,o,n,M){if(o.length>=t+1)return o;let c=[...o];if(cs(i[r],Error)){vu(n,M,i);const l=s(e,i[r]),N=c.length;Yu(l,r,N,M),c=la(s,e,t,i[r],r,[l,...c],l,N)}return z4(i)&&i.errors.forEach((l,N)=>{if(cs(l,Error)){vu(n,M,i);const u=s(e,l),L=c.length;Yu(u,`errors[${N}]`,L,M),c=la(s,e,t,l,r,[u,...c],u,L)}}),c}function z4(s){return Array.isArray(s.errors)}function vu(s,e,t){s.mechanism={handled:!0,type:"auto.core.linked_errors",...z4(t)&&{is_exception_group:!0},...s.mechanism,exception_id:e}}function Yu(s,e,t,i){s.mechanism={handled:!0,...s.mechanism,type:"chained",source:e,exception_id:t,parent_id:i}}function Ed(s){const e="console";fs(e,s),Os(e,_d)}function _d(){"console"in ae&&xy.forEach(function(s){s in ae.console&&qe(ae.console,s,function(e){return jo[s]=e,function(...t){gt("console",{args:t,level:s});const r=jo[s];r==null||r.apply(ae.console,t)}})})}function xd(s){return s==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(s)?s:"log"}const Sd="Dedupe",kd=(()=>{let s;return{name:Sd,processEvent(e){if(e.type)return e;try{if(vd(e,s))return X&&F.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return s=e}}}),w4=kd;function vd(s,e){return e?!!(Yd(s,e)||Qd(s,e)):!1}function Yd(s,e){const t=s.message,i=e.message;return!(!t&&!i||t&&!i||!t&&i||t!==i||!C4(s,e)||!I4(s,e))}function Qd(s,e){const t=Qu(e),i=Qu(s);return!(!t||!i||t.type!==i.type||t.value!==i.value||!C4(s,e)||!I4(s,e))}function I4(s,e){let t=Hc(s),i=Hc(e);if(!t&&!i)return!0;if(t&&!i||!t&&i||(t=t,i=i,i.length!==t.length))return!1;for(let r=0;r({name:bd,setup(s){s.on("spanStart",e=>{const t=At().getScopeData(),i=Es().getScopeData(),r=t.conversationId||i.conversationId;r&&e.setAttribute(IT,r)})}})),$d=Ud;function p4(s){if(s!==void 0)return s>=400&&s<500?"warning":s>=500?"error":void 0}const Nr=ae;function Pd(){return"history"in Nr&&!!Nr.history}function Wd(){if(!("fetch"in Nr))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}function Na(s){return s&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(s.toString())}function Jd(){var t;if(typeof EdgeRuntime=="string")return!0;if(!Wd())return!1;if(Na(Nr.fetch))return!0;let s=!1;const e=Nr.document;if(e&&typeof e.createElement=="function")try{const i=e.createElement("iframe");i.hidden=!0,e.head.appendChild(i),(t=i.contentWindow)!=null&&t.fetch&&(s=Na(i.contentWindow.fetch)),e.head.removeChild(i)}catch(i){X&&F.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",i)}return s}function Bd(s,e){const t="fetch";fs(t,s),Os(t,()=>Rd(void 0,e))}function Rd(s,e=!1){e&&!Jd()||qe(ae,"fetch",function(t){return function(...i){const r=new Error,{method:o,url:n}=Fd(i),M={args:i,fetchData:{method:o,url:n},startTimestamp:$t()*1e3,virtualError:r,headers:Gd(i)};return gt("fetch",{...M}),t.apply(ae,i).then(async c=>(gt("fetch",{...M,endTimestamp:$t()*1e3,response:c}),c),c=>{gt("fetch",{...M,endTimestamp:$t()*1e3,error:c}),bo(c)&&c.stack===void 0&&(c.stack=r.stack,us(c,"framesToPop",1));const l=Ue(),N=(l==null?void 0:l.getOptions().enhanceFetchErrorMessages)??"always";if(N!==!1&&c instanceof TypeError&&(c.message==="Failed to fetch"||c.message==="Load failed"||c.message==="NetworkError when attempting to fetch resource."))try{const g=new URL(M.fetchData.url).host;N==="always"?c.message=`${c.message} (${g})`:us(c,"__sentry_fetch_url_host__",g)}catch{}throw c})}})}function ao(s,e){return!!s&&typeof s=="object"&&!!s[e]}function bu(s){return typeof s=="string"?s:s?ao(s,"url")?s.url:s.toString?s.toString():"":""}function Fd(s){if(s.length===0)return{method:"GET",url:""};if(s.length===2){const[t,i]=s;return{url:bu(t),method:ao(i,"method")?String(i.method).toUpperCase():WN(t)&&ao(t,"method")?String(t.method).toUpperCase():"GET"}}const e=s[0];return{url:bu(e),method:ao(e,"method")?String(e.method).toUpperCase():"GET"}}function Gd(s){const[e,t]=s;try{if(typeof t=="object"&&t!==null&&"headers"in t&&t.headers)return new Headers(t.headers);if(WN(e))return new Headers(e.headers)}catch{}}function Hd(){return"npm"}const de=ae;let La=0;function A4(){return La>0}function Vd(){La++,setTimeout(()=>{La--})}function Ii(s,e={}){function t(r){return typeof r=="function"}if(!t(s))return s;try{const r=s.__sentry_wrapped__;if(r)return typeof r=="function"?r:s;if(lM(s))return s}catch{return s}const i=function(...r){try{const o=r.map(n=>Ii(n,e));return s.apply(this,o)}catch(o){throw Vd(),yT(n=>{n.addEventProcessor(M=>(e.mechanism&&(ia(M,void 0),hi(M,e.mechanism)),M.extra={...M.extra,arguments:r},M)),xD(o)}),o}};try{for(const r in s)Object.prototype.hasOwnProperty.call(s,r)&&(i[r]=s[r])}catch{}BN(i,s),us(s,"__sentry_wrapped__",i);try{Object.getOwnPropertyDescriptor(i,"name").configurable&&Object.defineProperty(i,"name",{get(){return s.name}})}catch{}return i}function Zd(){const s=uM(),{referrer:e}=de.document||{},{userAgent:t}=de.navigator||{},i={...e&&{Referer:e},...t&&{"User-Agent":t}};return{url:s,headers:i}}function DM(s,e){const t=dM(s,e),i={type:t1(e),value:s1(e)};return t.length&&(i.stacktrace={frames:t}),i.type===void 0&&i.value===""&&(i.value="Unrecoverable error caught"),i}function Xd(s,e,t,i){const r=Ue(),o=r==null?void 0:r.getOptions().normalizeDepth,n=a1(e),M={__serialized__:i4(e,o)};if(n)return{exception:{values:[DM(s,n)]},extra:M};const c={exception:{values:[{type:$o(e)?e.constructor.name:i?"UnhandledRejection":"Error",value:o1(e,{isUnhandledRejection:i})}]},extra:M};if(t){const l=dM(s,t);l.length&&(c.exception.values[0].stacktrace={frames:l})}return c}function In(s,e){return{exception:{values:[DM(s,e)]}}}function dM(s,e){const t=e.stacktrace||e.stack||"",i=qd(e),r=e1(e);try{return s(t,i,r)}catch{}return[]}const Kd=/Minified React error #\d+;/i;function qd(s){return s&&Kd.test(s.message)?1:0}function e1(s){return typeof s.framesToPop=="number"?s.framesToPop:0}function m4(s){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?s instanceof WebAssembly.Exception:!1}function t1(s){const e=s==null?void 0:s.name;return!e&&m4(s)?s.message&&Array.isArray(s.message)&&s.message.length==2?s.message[0]:"WebAssembly.Exception":e}function s1(s){const e=s==null?void 0:s.message;return m4(s)?Array.isArray(s.message)&&s.message.length==2?s.message[1]:"wasm exception":e?e.error&&typeof e.error.message=="string"?_u(e.error):_u(s):"No error message"}function i1(s,e,t,i){const r=(t==null?void 0:t.syntheticException)||void 0,o=hM(s,e,r,i);return hi(o),o.level="error",t!=null&&t.event_id&&(o.event_id=t.event_id),Ar(o)}function r1(s,e,t="info",i,r){const o=(i==null?void 0:i.syntheticException)||void 0,n=ga(s,e,o,r);return n.level=t,i!=null&&i.event_id&&(n.event_id=i.event_id),Ar(n)}function hM(s,e,t,i,r){let o;if($N(e)&&e.error)return In(s,e.error);if(Zc(e)||Ry(e)){const n=e;if("stack"in e)o=In(s,e);else{const M=n.name||(Zc(n)?"DOMError":"DOMException"),c=n.message?`${M}: ${n.message}`:M;o=ga(s,c,t,i),ia(o,c)}return"code"in n&&(o.tags={...o.tags,"DOMException.code":`${n.code}`}),o}return bo(e)?In(s,e):ur(e)||$o(e)?(o=Xd(s,e,t,r),hi(o,{synthetic:!0}),o):(o=ga(s,e,t,i),ia(o,`${e}`),hi(o,{synthetic:!0}),o)}function ga(s,e,t,i){const r={};if(i&&t){const o=dM(s,t);o.length&&(r.exception={values:[{value:e,stacktrace:{frames:o}}]}),hi(r,{synthetic:!0})}if(MM(e)){const{__sentry_template_string__:o,__sentry_template_values__:n}=e;return r.logentry={message:o,params:n},r}return r.message=e,r}function o1(s,{isUnhandledRejection:e}){const t=Ky(s),i=e?"promise rejection":"exception";return $N(s)?`Event \`ErrorEvent\` captured as ${i} with message \`${s.message}\``:$o(s)?`Event \`${n1(s)}\` (type=${s.type}) captured as ${i}`:`Object captured as ${i} with keys: ${t}`}function n1(s){try{const e=Object.getPrototypeOf(s);return e?e.constructor.name:void 0}catch{}}function a1(s){return Object.values(s).find(e=>e instanceof Error)}class M1 extends id{constructor(e){var N;const t=c1(e),i=de.SENTRY_SDK_SOURCE||Hd();Ld(t,"browser",["browser"],i),(N=t._metadata)!=null&&N.sdk&&(t._metadata.sdk.settings={infer_ip:t.sendDefaultPii?"auto":"never",...t._metadata.sdk.settings}),super(t);const{sendDefaultPii:r,sendClientReports:o,enableLogs:n,_experiments:M,enableMetrics:c}=this._options,l=c??(M==null?void 0:M.enableMetrics)??!0;de.document&&(o||n||l)&&de.document.addEventListener("visibilitychange",()=>{de.document.visibilityState==="hidden"&&(o&&this._flushOutcomes(),n&&ca(this),l&&N4(this))}),r&&this.on("beforeSendSession",Nd)}eventFromException(e,t){return i1(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",i){return r1(this._options.stackParser,e,t,i,this._options.attachStacktrace)}_prepareEvent(e,t,i,r){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,i,r)}}function c1(s){var e;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(e=de.SENTRY_RELEASE)==null?void 0:e.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...s}}const u1=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Pe=ae,l1=1e3;let Uu,ja,ya;function N1(s){fs("dom",s),Os("dom",L1)}function L1(){if(!Pe.document)return;const s=gt.bind(null,"dom"),e=$u(s,!0);Pe.document.addEventListener("click",e,!1),Pe.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(t=>{var o,n;const r=(o=Pe[t])==null?void 0:o.prototype;(n=r==null?void 0:r.hasOwnProperty)!=null&&n.call(r,"addEventListener")&&(qe(r,"addEventListener",function(M){return function(c,l,N){if(c==="click"||c=="keypress")try{const u=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},L=u[c]=u[c]||{refCount:0};if(!L.handler){const g=$u(s);L.handler=g,M.call(this,c,g,N)}L.refCount++}catch{}return M.call(this,c,l,N)}}),qe(r,"removeEventListener",function(M){return function(c,l,N){if(c==="click"||c=="keypress")try{const u=this.__sentry_instrumentation_handlers__||{},L=u[c];L&&(L.refCount--,L.refCount<=0&&(M.call(this,c,L.handler,N),L.handler=void 0,delete u[c]),Object.keys(u).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return M.call(this,c,l,N)}}))})}function g1(s){if(s.type!==ja)return!1;try{if(!s.target||s.target._sentryId!==ya)return!1}catch{}return!0}function j1(s,e){return s!=="keypress"?!1:e!=null&&e.tagName?!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable):!0}function $u(s,e=!1){return t=>{if(!t||t._sentryCaptured)return;const i=y1(t);if(j1(t.type,i))return;us(t,"_sentryCaptured",!0),i&&!i._sentryId&&us(i,"_sentryId",at());const r=t.type==="keypress"?"input":t.type;g1(t)||(s({event:t,name:r,global:e}),ja=t.type,ya=i?i._sentryId:void 0),clearTimeout(Uu),Uu=Pe.setTimeout(()=>{ya=void 0,ja=void 0},l1)}}function y1(s){try{return s.target}catch{return null}}let Jr;function f4(s){const e="history";fs(e,s),Os(e,T1)}function T1(){if(Pe.addEventListener("popstate",()=>{const e=Pe.location.href,t=Jr;if(Jr=e,t===e)return;gt("history",{from:t,to:e})}),!Pd())return;function s(e){return function(...t){const i=t.length>2?t[2]:void 0;if(i){const r=Jr,o=D1(String(i));if(Jr=o,r===o)return e.apply(this,t);gt("history",{from:r,to:o})}return e.apply(this,t)}}qe(Pe.history,"pushState",s),qe(Pe.history,"replaceState",s)}function D1(s){try{return new URL(s,Pe.location.origin).toString()}catch{return s}}const Mo={};function d1(s){const e=Mo[s];if(e)return e;let t=Pe[s];if(Na(t))return Mo[s]=t.bind(Pe);const i=Pe.document;if(i&&typeof i.createElement=="function")try{const r=i.createElement("iframe");r.hidden=!0,i.head.appendChild(r);const o=r.contentWindow;o!=null&&o[s]&&(t=o[s]),i.head.removeChild(r)}catch(r){u1&&F.warn(`Could not create sandbox iframe for ${s} check, bailing to window.${s}: `,r)}return t&&(Mo[s]=t.bind(Pe))}function h1(s){Mo[s]=void 0}const Ki="__sentry_xhr_v3__";function z1(s){fs("xhr",s),Os("xhr",w1)}function w1(){if(!Pe.XMLHttpRequest)return;const s=XMLHttpRequest.prototype;s.open=new Proxy(s.open,{apply(e,t,i){const r=new Error,o=$t()*1e3,n=Ut(i[0])?i[0].toUpperCase():void 0,M=I1(i[1]);if(!n||!M)return e.apply(t,i);t[Ki]={method:n,url:M,request_headers:{}},n==="POST"&&M.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const c=()=>{const l=t[Ki];if(l&&t.readyState===4){try{l.status_code=t.status}catch{}const N={endTimestamp:$t()*1e3,startTimestamp:o,xhr:t,virtualError:r};gt("xhr",N)}};return"onreadystatechange"in t&&typeof t.onreadystatechange=="function"?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(l,N,u){return c(),l.apply(N,u)}}):t.addEventListener("readystatechange",c),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(l,N,u){const[L,g]=u,j=N[Ki];return j&&Ut(L)&&Ut(g)&&(j.request_headers[L.toLowerCase()]=g),l.apply(N,u)}}),e.apply(t,i)}}),s.send=new Proxy(s.send,{apply(e,t,i){const r=t[Ki];if(!r)return e.apply(t,i);i[0]!==void 0&&(r.body=i[0]);const o={startTimestamp:$t()*1e3,xhr:t};return gt("xhr",o),e.apply(t,i)}})}function I1(s){if(Ut(s))return s;try{return s.toString()}catch{}}const C1=40;function p1(s,e=d1("fetch")){let t=0,i=0;async function r(o){const n=o.body.length;t+=n,i++;const M={body:o.body,method:"POST",referrerPolicy:"strict-origin",headers:s.headers,keepalive:t<=6e4&&i<15,...s.fetchOptions};try{const c=await e(s.url,M);return{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}}catch(c){throw h1("fetch"),c}finally{t-=n,i--}}return KD(s,r,TM(s.bufferSize||C1))}const Bo=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,A1=30,m1=50;function Ta(s,e,t,i){const r={filename:s,function:e===""?Cs:e,in_app:!0};return t!==void 0&&(r.lineno=t),i!==void 0&&(r.colno=i),r}const f1=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,O1=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,E1=/\((\S*)(?::(\d+))(?::(\d+))\)/,_1=/at (.+?) ?\(data:(.+?),/,x1=s=>{var r;const e=s.match(_1);if(e)return{filename:``,function:e[1]};const t=f1.exec(s);if(t){const[,o,n,M]=t;return Ta(o,Cs,+n,+M)}const i=O1.exec(s);if(i){if(((r=i[2])==null?void 0:r.indexOf("eval"))===0){const c=E1.exec(i[2]);c&&(i[2]=c[1],i[3]=c[2],i[4]=c[3])}const[n,M]=O4(i[1]||Cs,i[2]);return Ta(M,n,i[3]?+i[3]:void 0,i[4]?+i[4]:void 0)}},S1=[A1,x1],k1=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,v1=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Y1=s=>{const e=k1.exec(s);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const o=v1.exec(e[3]);o&&(e[1]=e[1]||"eval",e[3]=o[1],e[4]=o[2],e[5]="")}let i=e[3],r=e[1]||Cs;return[r,i]=O4(r,i),Ta(i,r,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},Q1=[m1,Y1],b1=[S1,Q1],U1=QN(...b1),O4=(s,e)=>{const t=s.indexOf("safari-extension")!==-1,i=s.indexOf("safari-web-extension")!==-1;return t||i?[s.indexOf("@")!==-1?s.split("@")[0]:Cs,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[s,e]},Br=1024,$1="Breadcrumbs",P1=((s={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...s};return{name:$1,setup(t){e.console&&Ed(R1(t)),e.dom&&N1(B1(t,e.dom)),e.xhr&&z1(F1(t)),e.fetch&&Bd(G1(t)),e.history&&f4(H1(t)),e.sentry&&t.on("beforeSendEvent",J1(t))}}}),W1=P1;function J1(s){return function(t){Ue()===s&&ps({category:`sentry.${t.type==="transaction"?"transaction":"event"}`,event_id:t.event_id,level:t.level,message:hs(t)},{event:t})}}function B1(s,e){return function(i){if(Ue()!==s)return;let r,o,n=typeof e=="object"?e.serializeAttribute:void 0,M=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;M&&M>Br&&(Bo&&F.warn(`\`dom.maxStringLength\` cannot exceed ${Br}, but a value of ${M} was configured. Sentry will use ${Br} instead.`),M=Br),typeof n=="string"&&(n=[n]);try{const l=i.event,N=V1(l)?l.target:l;r=JN(N,{keyAttrs:n,maxStringLength:M}),o=Xy(N)}catch{r=""}if(r.length===0)return;const c={category:`ui.${i.name}`,message:r};o&&(c.data={"ui.component_name":o}),ps(c,{event:i.event,name:i.name,global:i.global})}}function R1(s){return function(t){if(Ue()!==s)return;const i={category:"console",data:{arguments:t.args,logger:"console"},level:xd(t.level),message:qc(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)i.message=`Assertion failed: ${qc(t.args.slice(1)," ")||"console.assert"}`,i.data.arguments=t.args.slice(1);else return;ps(i,{input:t.args,level:t.level})}}function F1(s){return function(t){if(Ue()!==s)return;const{startTimestamp:i,endTimestamp:r}=t,o=t.xhr[Ki];if(!i||!r||!o)return;const{method:n,url:M,status_code:c,body:l}=o,N={method:n,url:M,status_code:c},u={xhr:t.xhr,input:l,startTimestamp:i,endTimestamp:r},L={category:"xhr",data:N,type:"http",level:p4(c)};s.emit("beforeOutgoingRequestBreadcrumb",L,u),ps(L,u)}}function G1(s){return function(t){if(Ue()!==s)return;const{startTimestamp:i,endTimestamp:r}=t;if(r&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.error){const o={data:t.error,input:t.args,startTimestamp:i,endTimestamp:r},n={category:"fetch",data:t.fetchData,level:"error",type:"http"};s.emit("beforeOutgoingRequestBreadcrumb",n,o),ps(n,o)}else{const o=t.response,n={...t.fetchData,status_code:o==null?void 0:o.status},M={input:t.args,response:o,startTimestamp:i,endTimestamp:r},c={category:"fetch",data:n,type:"http",level:p4(n.status_code)};s.emit("beforeOutgoingRequestBreadcrumb",c,M),ps(c,M)}}}function H1(s){return function(t){if(Ue()!==s)return;let i=t.from,r=t.to;const o=wn(de.location.href);let n=i?wn(i):void 0;const M=wn(r);n!=null&&n.path||(n=o),o.protocol===M.protocol&&o.host===M.host&&(r=M.relative),o.protocol===n.protocol&&o.host===n.host&&(i=n.relative),ps({category:"navigation",data:{from:i,to:r}})}}function V1(s){return!!s&&!!s.target}const Z1="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".split(","),X1="BrowserApiErrors",K1=((s={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...s};return{name:X1,setupOnce(){e.setTimeout&&qe(de,"setTimeout",Pu),e.setInterval&&qe(de,"setInterval",Pu),e.requestAnimationFrame&&qe(de,"requestAnimationFrame",eh),e.XMLHttpRequest&&"XMLHttpRequest"in de&&qe(XMLHttpRequest.prototype,"send",th);const t=e.eventTarget;t&&(Array.isArray(t)?t:Z1).forEach(r=>sh(r,e))}}}),q1=K1;function Pu(s){return function(...e){const t=e[0];return e[0]=Ii(t,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${Ms(s)}`}}),s.apply(this,e)}}function eh(s){return function(e){return s.apply(this,[Ii(e,{mechanism:{data:{handler:Ms(s)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function th(s){return function(...e){const t=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(r=>{r in t&&typeof t[r]=="function"&&qe(t,r,function(o){const n={mechanism:{data:{handler:Ms(o)},handled:!1,type:`auto.browser.browserapierrors.xhr.${r}`}},M=lM(o);return M&&(n.mechanism.data.handler=Ms(M)),Ii(o,n)})}),s.apply(this,e)}}function sh(s,e){var r,o;const i=(r=de[s])==null?void 0:r.prototype;(o=i==null?void 0:i.hasOwnProperty)!=null&&o.call(i,"addEventListener")&&(qe(i,"addEventListener",function(n){return function(M,c,l){try{ih(c)&&(c.handleEvent=Ii(c.handleEvent,{mechanism:{data:{handler:Ms(c),target:s},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return e.unregisterOriginalCallbacks&&rh(this,M,c),n.apply(this,[M,Ii(c,{mechanism:{data:{handler:Ms(c),target:s},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),l])}}),qe(i,"removeEventListener",function(n){return function(M,c,l){try{const N=c.__sentry_wrapped__;N&&n.call(this,M,N,l)}catch{}return n.call(this,M,c,l)}}))}function ih(s){return typeof s.handleEvent=="function"}function rh(s,e,t){s&&typeof s=="object"&&"removeEventListener"in s&&typeof s.removeEventListener=="function"&&s.removeEventListener(e,t)}const oh=(s={})=>{const e=s.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof de.document>"u"){Bo&&F.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}zu({ignoreDuration:!0}),hn();const t=Es();let i=t.getUser();t.addScopeListener(r=>{const o=r.getUser();((i==null?void 0:i.id)!==(o==null?void 0:o.id)||(i==null?void 0:i.ip_address)!==(o==null?void 0:o.ip_address))&&(hn(),i=o)}),e==="route"&&f4(({from:r,to:o})=>{r!==o&&(zu({ignoreDuration:!0}),hn())})}}},nh="CultureContext",ah=(()=>({name:nh,preprocessEvent(s){var t;const e=ch();e&&(s.contexts={...s.contexts,culture:{...e,...(t=s.contexts)==null?void 0:t.culture}})}})),Mh=ah;function ch(){try{const s=de.Intl;if(!s)return;const e=s.DateTimeFormat().resolvedOptions();return{locale:e.locale,timezone:e.timeZone,calendar:e.calendar}}catch{return}}const uh="GlobalHandlers",lh=((s={})=>{const e={onerror:!0,onunhandledrejection:!0,...s};return{name:uh,setupOnce(){Error.stackTraceLimit=50},setup(t){e.onerror&&(Lh(t),Wu("onerror")),e.onunhandledrejection&&(gh(t),Wu("onunhandledrejection"))}}}),Nh=lh;function Lh(s){Py(e=>{const{stackParser:t,attachStacktrace:i}=E4();if(Ue()!==s||A4())return;const{msg:r,url:o,line:n,column:M,error:c}=e,l=Th(hM(t,c||r,void 0,i,!1),o,n,M);l.level="error",a4(l,{originalException:c,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function gh(s){Jy(e=>{const{stackParser:t,attachStacktrace:i}=E4();if(Ue()!==s||A4())return;const r=jh(e),o=Uo(r)?yh(r):hM(t,r,void 0,i,!0);o.level="error",a4(o,{originalException:r,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function jh(s){if(Uo(s))return s;try{if("reason"in s)return s.reason;if("detail"in s&&"reason"in s.detail)return s.detail.reason}catch{}return s}function yh(s){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(s)}`}]}}}function Th(s,e,t,i){const r=s.exception=s.exception||{},o=r.values=r.values||[],n=o[0]=o[0]||{},M=n.stacktrace=n.stacktrace||{},c=M.frames=M.frames||[];return c.length===0&&c.push({colno:i,lineno:t,filename:Dh(e)??uM(),function:Cs,in_app:!0}),s}function Wu(s){Bo&&F.log(`Global Handler attached: ${s}`)}function E4(){const s=Ue();return(s==null?void 0:s.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Dh(s){if(!(!Ut(s)||s.length===0))return s.startsWith("data:")?`<${ld(s,!1)}>`:s}const dh=()=>({name:"HttpContext",preprocessEvent(s){var i;if(!de.navigator&&!de.location&&!de.document)return;const e=Zd(),t={...e.headers,...(i=s.request)==null?void 0:i.headers};s.request={...e,...s.request,headers:t}}}),hh="cause",zh=5,wh="LinkedErrors",Ih=((s={})=>{const e=s.limit||zh,t=s.key||hh;return{name:wh,preprocessEvent(i,r,o){const n=o.getOptions();Od(DM,n.stackParser,t,e,i,r)}}}),Ch=Ih;function ph(){return Ah()?(Bo&&pi(()=>{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 Ah(){var r;if(typeof de.window>"u")return!1;const s=de;if(s.nw)return!1;const e=s.chrome||s.browser;if(!((r=e==null?void 0:e.runtime)!=null&&r.id))return!1;const t=uM();return!(de===de.top&&/^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\/\//.test(t))}function mh(s){return[zd(),Td(),$d(),q1(),W1(),Nh(),Ch(),w4(),dh(),Mh(),oh()]}function fh(s={}){const e=!s.skipBrowserExtensionCheck&&ph();let t=s.defaultIntegrations==null?mh():s.defaultIntegrations;const i={...s,enabled:e?!1:s.enabled,stackParser:Uy(s.stackParser||U1),integrations:UD({integrations:s.integrations,defaultIntegrations:t}),transport:s.transport||p1};return cd(M1,i)}function Oh(){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 :)")}function Oh(s){const e=s.themeType||"light",t=s.size||300;return a.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"}},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(i=>a.createElement("line",{key:i,transform:`rotate(${i}, 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:s.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function Eh(s){const e=s.themeType||"dark",t=s.size||300;return a.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"}},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 2000 1728",style:{fillRule:"evenodd",clipRule:"evenodd",fill:"#00af78"}},a.createElement("style",null,` +`),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 :)")}function Eh(s){const e=s.themeType||"light",t=s.size||300;return a.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"}},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(i=>a.createElement("line",{key:i,transform:`rotate(${i}, 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:s.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function _h(s){const e=s.themeType||"dark",t=s.size||300;return a.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"}},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 2000 1728",style:{fillRule:"evenodd",clipRule:"evenodd",fill:"#00af78"}},a.createElement("style",null,` @keyframes jump { 0% { fill: #00af78; } 25% { fill: #00af78; } @@ -31,14 +31,14 @@ Url: ${To(s)}`),!0}return!1}function wd(s,e){return e!=null&&e.length?g4(s).some .bar.bar2 { animation-delay: 0.5s; } .bar.bar3 { animation-delay: 1s; } .bar.bar4 { animation-delay: 1.5s; } - `),a.createElement("path",{d:"M944.5 76.5a852 852 0 0 1 129 6.5 598 598 0 0 1 51 9c19.36 5.344 38.69 10.677 58 16a834 834 0 0 1 117 52 698 698 0 0 1 95 69c2.67 2 5.33 2 8 0a410 410 0 0 1 37-28 18.4 18.4 0 0 1 6-.5q.495 10.51 4.5 20a3200 3200 0 0 0 18 73 3553 3553 0 0 0 19 66 48.8 48.8 0 0 0 2.5 11 4.94 4.94 0 0 1-1 2.5c-2.33.667-4.67.667-7 0a19 19 0 0 0-5-3 209 209 0 0 0-24-7 292 292 0 0 0-20-8c-8.68-2.341-17.34-4.674-26-7a221 221 0 0 0-21-8 337 337 0 0 1-34-11 1272 1272 0 0 1-43-13q-2.91-3.23-1.5-7.5a671 671 0 0 0 42.5-35l-1.5-3a289 289 0 0 0-21.5-18.5c-9.31-6.637-18.65-13.304-28-20a731 731 0 0 1-44-26 175 175 0 0 1-30-15 568 568 0 0 0-50-20 1038 1038 0 0 1-53-16 1070 1070 0 0 0-48-10 1087 1087 0 0 1-55-6 1379 1379 0 0 0-99 1 203.5 203.5 0 0 1-35 5Q629.152 192.558 494 414.5a132 132 0 0 1-10 17 1277 1277 0 0 0-21 43l-11 27a637 637 0 0 1-14 41 8191 8191 0 0 1-16 67 50.7 50.7 0 0 0-1 15 11.3 11.3 0 0 0 1.5 3.5 327 327 0 0 1 40 8q62.273 18.89 115 56 70.252 53.736 113.5 130.5 59.461 114.478 41 243c-.667 1.33-1.333 2.67-2 4a335 335 0 0 1-3 18 507 507 0 0 1-20 53 309 309 0 0 1-10 17c-1.699.91-3.533 1.24-5.5 1 .377-40.1-3.456-79.77-11.5-119l-3-6a154.4 154.4 0 0 0-7-27Q629.1 886.514 525.5 812a44.5 44.5 0 0 1-9.5-5.5l-1.5.5q69.98 79.772 110.5 177.5a684 684 0 0 1 21 74c.389 8.51 1.722 16.84 4 25q1.302 30.765 2.5 61.5-2.217 6.885.5 13.5l17.5 13.5a1597 1597 0 0 0 61 36 3333 3333 0 0 1 61 26q25.04 7.53 50 15a771 771 0 0 0 51 10 526.7 526.7 0 0 0 120 5c15.24-2.5 30.57-4.17 46-5 154.49-25.8 278.99-100.96 373.5-225.5 36-49.308 63.67-102.974 83-161 .29-5.821 1.96-11.154 5-16q7.2-33.086 15-66a343 343 0 0 1 4-30c-5.29 5.217-9.62 11.217-13 18-26.71 37.032-60.54 65.866-101.5 86.5a471 471 0 0 1-27 11 50.1 50.1 0 0 0-17 5q-13.77 1.158-27 5-33 2.977-66 0a153 153 0 0 0-29-5c-52.38-14.072-96.21-41.572-131.5-82.5q-58.935-72.777-58.5-167.5.345-16.269 1.5-32.5 10.89-72.278 57-128c66.33-75.505 149.5-104.339 249.5-86.5a700 700 0 0 1 48 16c4.24 2.853 8.57 5.52 13 8l6 2c20.5 12.068 38.84 26.735 55 44q2.37 1.06 4.5 2.5a442 442 0 0 0 25.5-24.5c2.59-1.601 5.26-1.767 8-.5a1168 1168 0 0 0 25.5 55 1221 1221 0 0 0 16 45c.41 6.057 2.08 11.724 5 17 .58 6.637 2.24 12.97 5 19a778 778 0 0 1 10 55c18.69 162.392-18.64 309.725-112 442-15.67 19-31.33 38-47 57-34.61 35.92-72.44 68.42-113.5 97.5q-16.53 10.545-33 21a516 516 0 0 1-35 18l-3 3c-14.49 6.96-29.16 13.63-44 20-26.02 9.5-52.35 18.17-79 26q-132.478 31.62-267 9a1979 1979 0 0 0-61-14 421 421 0 0 1-25-9c-3.333-.67-6.667-1.33-10-2-20.636-8.65-41.303-17.32-62-26-124.377-64.5-220.21-158.33-287.5-281.5a1010 1010 0 0 1-17-39l-3-4a395 395 0 0 0-15-41 374 374 0 0 1-11-36l-9-39a366 366 0 0 0-6-36 1642 1642 0 0 1-5.5-92.5q5.24-279.871 211-466 61.788-53.755 135-91a1492 1492 0 0 1 47-21l28-10 37-11a1956 1956 0 0 1 46-10 1145 1145 0 0 1 87-10.5m367 359c12.69-.014 25.35.486 38 1.5a399 399 0 0 1 39 10c56.18 22.509 95.34 62.009 117.5 118.5 21.9 63.822 14.57 123.822-22 180-20.98 28.71-47.15 51.21-78.5 67.5-37.69 16.585-77.02 21.585-118 15-69.62-14.983-118.78-54.816-147.5-119.5a284 284 0 0 1-11-39q-15.24-126.17 85.5-201.5c29.7-18.676 62.04-29.509 97-32.5"}),a.createElement("path",{d:"M899.5 258.5a2829 2829 0 0 0 135 0c5.33.53 10.66 1.03 16 1.5l1.5 1.5q.255 125.792 1.5 251.5c-.56 6.766-2.73 12.932-6.5 18.5a587 587 0 0 0-9.5 25.5 71.8 71.8 0 0 1-5.5 20.5 575 575 0 0 0-5.5 52.5 587 587 0 0 0 5.5 55.5 515 515 0 0 0 18.5 58.5c-.24.873-.57 1.707-1 2.5a4183 4183 0 0 1-152 .5 11.3 11.3 0 0 1-1.5-3.5 58052 58052 0 0 1 0-482 30 30 0 0 1 3.5-3"}),a.createElement("path",{d:"M717.5 423.5q71.002-.25 142 .5l1.5 1.5q.713 154.588.5 309 .27 6.043-2 11.5a2513 2513 0 0 1-141 1 6.98 6.98 0 0 1-3.5-2.5 37080 37080 0 0 1-1.5-314.5q-.099-4.63 4-6.5"}),a.createElement("path",{d:"M1360.5 487.5c2.13-.353 3.47.48 4 2.5-.74 4.181-1.57 8.348-2.5 12.5a13569 13569 0 0 1-34 102 27.2 27.2 0 0 0-1 8c1.33 1.838 3.16 2.838 5.5 3a937 937 0 0 1 86 0 4.95 4.95 0 0 1-.5 3 820 820 0 0 0-27 29q-50.445 59.205-100.5 119-5.535 6.54-12 12a3.6 3.6 0 0 1-1.5-1q-1.005-3 0-6a1048 1048 0 0 0 16-61c2.94-5.581 4.6-11.581 5-18l3-6a156.5 156.5 0 0 1 5-24 11.3 11.3 0 0 0-3.5-1.5l-90-1a3.6 3.6 0 0 1-1-1.5c49.72-57.045 99.38-114.045 149-171"},a.createElement("animate",{attributeName:"fill",values:`#00af78;${e==="dark"?"#ffffff":"#00785A"};#00af78`,dur:"2s",repeatCount:"indefinite"})),a.createElement("path",{className:"bar bar1",d:"M544.5 537.5q68.283-.426 136.5 1a2379 2379 0 0 1 1.5 96.5l-.5 92.5q-.918 3.798-4.5 2.5-50.249-64.14-122-103-8.75-1.76-14.5-8.5-1-39 0-78a30 30 0 0 1 3.5-3M721.5 777.5q60.628-.732 121 1.5 37.233 79.24 74.5 158.5 1 2 0 4a3116 3116 0 0 1-136.5.5 417 417 0 0 1-8.5-38.5 962 962 0 0 1-15-47 713 713 0 0 0-21-46 732 732 0 0 1-16-27q-1.122-3.51 1.5-6"}),a.createElement("path",{className:"bar bar2",d:"M879.5 777.5q93-.25 186 .5c18.83 33.513 43.5 62.179 74 86a144.6 144.6 0 0 1 23 16q13.5 5.88 25.5 14.5a574 574 0 0 1 22.5 45c-.33 1-.67 2-1 3-84.63-.161-169.3.006-254 .5q-3.752-3.208-6.5-7.5a2804 2804 0 0 1-8-20 252 252 0 0 1-13-24 3463 3463 0 0 0-23-53 1506 1506 0 0 1-27-55q-1.122-3.51 1.5-6"}),a.createElement("path",{className:"bar bar3",d:"M786.5 971.5q68.56.08 137 0a29.2 29.2 0 0 1 7 2.5 9467 9467 0 0 0 68.5 141.5c4 11.67 9.34 22.67 16 33 1.47 4.53-.2 6.87-5 7-86.772-.2-173.606-.37-260.5-.5-1.754-4.38-.921-8.22 2.5-11.5a411 411 0 0 1 10-25 578 578 0 0 0 10-32 99.6 99.6 0 0 1 5-22q2.12-21.06 5-42l1-48q1.478-1.971 3.5-3"}),a.createElement("path",{className:"bar bar4",d:"M970.5 971.5c83.58.74 167.25.74 251 0 2.73.182 5.39.682 8 1.5 18.09 35.51 36.26 71.01 54.5 106.5 7.67 13.67 15.33 27.33 23 41 2.16 3.76 2.82 7.76 2 12-10.9 7.75-22.4 14.59-34.5 20.5-2.92.99-5.92 1.65-9 2-68.48.48-136.82.65-205 .5-4.11-.08-7.28-1.74-9.5-5a3780 3780 0 0 0-67-140 71388 71388 0 0 1-12-28q-5.977-4.855-1.5-11"}),a.createElement("path",{d:"M83.5 1377.5a332.5 332.5 0 0 0 50.5 0c3.056.58 6.056 1.24 9 2a31209 31209 0 0 1 126.5 194 3.6 3.6 0 0 0 1.5-1c.652-63.71.652-127.37 0-191 .51-2.76 2.177-4.09 5-4a279.4 279.4 0 0 0 47 0c2.145-.1 3.979.56 5.5 2 .529 54.71.862 109.54 1 164.5l-.5 116.5c-.575 3.3-2.575 4.96-6 5a490 490 0 0 0-52 0q-5.74-1.74-10-6a14653 14653 0 0 0-125.5-193q-2.01 1.785-2 4.5a6168 6168 0 0 1 .5 191.5q-2.794 3.675-7.5 3a219.4 219.4 0 0 0-41 0q-5.057-.81-5.5-6c-.667-93.33-.667-186.67 0-280a19.2 19.2 0 0 0 3.5-2"}),a.createElement("path",{d:"M986.5 1377.5c17.32 1.09 34.66 1.25 52 .5 3.23 1.94 5.4 4.78 6.5 8.5 9.36 38.7 18.7 77.37 28 116 3.05 6.64 4.72 13.64 5 21 2.95 5.96 4.62 12.29 5 19 4.15 16.12 8.49 32.12 13 48 2.04-1.08 3.38-2.75 4-5 4.23-19.04 8.56-38.04 13-57 4.55-15.3 8.88-30.64 13-46 .76-4.32 1.43-8.65 2-13 4.33-15.33 8.66-30.66 13-46 2.08-12.15 4.75-24.15 8-36 .85-3.2 2.35-6.03 4.5-8.5 19.85-.22 39.68-.72 59.5-1.5 2.3-.01 4.47.49 6.5 1.5 6.53 21.92 12.37 44.09 17.5 66.5 2.94 6.32 4.61 12.99 5 20 3.56 15.24 7.89 30.24 13 45 2.47 11.74 5.14 23.41 8 35a7.4 7.4 0 0 0 2 3c2.38 11.75 5.04 23.41 8 35 1.33 3.33 3.16 6.33 5.5 9a2872 2872 0 0 1 27.5-111c.39-7.01 2.06-13.68 5-20 .39-7.01 2.06-13.68 5-20 .57-4.35 1.24-8.68 2-13 4.34-16 8.67-32 13-48l1.5-1.5c16.17-.29 32.34-.79 48.5-1.5q5.385-.045 10.5 1.5c.58.89.91 1.89 1 3-2.02 4.57-3.18 9.4-3.5 14.5-2.84 6-4.5 12.34-5 19a351 351 0 0 0-8 25c-2.97 11.6-5.63 23.27-8 35-2.56 8.31-5.23 16.65-8 25-.39 6.38-2.06 12.38-5 18a8809 8809 0 0 1-38 144q-4.725 2.91-10.5 3a410 410 0 0 0-56.5 0c-3.08-.44-5.91-1.44-8.5-3-8.05-31.19-16.88-62.19-26.5-93-.67-4-1.33-8-2-12-9.67-32.85-18.5-65.85-26.5-99-3.92 8.2-6.42 16.87-7.5 26-.72 2.45-1.72 4.78-3 7a2343 2343 0 0 1-28 109c-.72 2.45-1.72 4.78-3 7-4.17 18.07-8.51 36.07-13 54-4.52 3.47-9.69 4.8-15.5 4a685 685 0 0 0-55.5 0c-1.63-.38-3.13-1.04-4.5-2q-6-17.88-10.5-36c-10.91-43.39-21.91-86.73-33-130-2.88-5.97-4.54-12.31-5-19a32 32 0 0 1-3-7 4792 4792 0 0 0-18-75c-3.031-5.25-4.031-10.92-3-17 .995-.57 1.828-1.23 2.5-2"}),a.createElement("path",{d:"M1648.5 1406.5c16.35.64 32.68 1.3 49 2 1.4 1.35 2.06 3.02 2 5a255 255 0 0 0-.5 38c.5 1.17 1.33 2 2.5 2.5 16.33.33 32.67.67 49 1 .92.37 1.75.87 2.5 1.5.82 13.58.66 27.08-.5 40.5-17 .33-34 .67-51 1-1.17.5-2 1.33-2.5 2.5-.67 31.33-.67 62.67 0 94 2.29 23.73 15.12 33.23 38.5 28.5 4.85-3.25 10.02-4.08 15.5-2.5.64 13.67.98 27.34 1 41a11.4 11.4 0 0 1-4.5 3.5c-22.63 5.41-45.29 5.75-68 1-13.91-4.18-24.08-12.68-30.5-25.5-4.8-11.14-7.13-22.81-7-35-.65-34.59-.65-69.25 0-104-.32-1.56-1.15-2.73-2.5-3.5-9-.33-18-.67-27-1-.92-.37-1.75-.87-2.5-1.5-.21-11.69-.71-23.36-1.5-35 .19-3.23 1.85-5.06 5-5.5 9-.33 18-.67 27-1l1.5-1.5c.33-14.33.67-28.67 1-43 .98-1.31 2.15-2.31 3.5-3M1807.5 1406.5c9.18.78 18.35.78 27.5 0 7.6.35 15.1 1.18 22.5 2.5a980 980 0 0 1 1.5 43.5l1.5 1.5c15 .33 30 .67 45 1 1.17.5 2 1.33 2.5 2.5-.77 11.49-.61 22.99.5 34.5a23 23 0 0 1-2 5c-15 .33-30 .67-45 1-.92.37-1.75.87-2.5 1.5-.67 32.67-.67 65.33 0 98 1.84 19.84 12.68 28.67 32.5 26.5 4.83-.18 9.33-1.35 13.5-3.5 1.44.06 2.77.39 4 1a673 673 0 0 0 3.5 36c.38 2.82-.62 4.99-3 6.5-23.81 6.5-47.81 7.17-72 2-12.46-5.13-21.63-13.63-27.5-25.5-1.1-4.87-2.77-9.54-5-14-.33-3.33-.67-6.67-1-10-.33-39-.67-78-1-117l-1.5-1.5c-10.43-.05-20.77-.71-31-2-.66-6.59-.99-13.26-1-20 .01-6.74.34-13.41 1-20 10.26-1.26 20.59-1.93 31-2l1.5-1.5c.33-14 .67-28 1-42 .69-1.85 1.86-3.18 3.5-4"}),a.createElement("path",{d:"M878.5 1446.5c27.433-1.66 52.433 5.01 75 20 21.826 18.58 34.326 42.24 37.5 71 3.595 25.23 1.262 49.9-7 74-16.274 34.06-43.107 53.89-80.5 59.5q-48.019 5.13-88-21-30.077-28.71-35.5-70.5a400 400 0 0 1 0-40q13.828-84.585 98.5-93m1 47c25.457-.37 42.623 11.3 51.5 35q9.63 36.765-4 72-17.011 26.355-48.5 22.5a61.5 61.5 0 0 0-14-5c-7.087-4.96-12.92-11.13-17.5-18.5a28.9 28.9 0 0 0-5-11c-3.333-19.33-3.333-38.67 0-58 4.098-14.4 12.598-25.23 25.5-32.5q6.626-1.05 12-4.5"}),a.createElement("path",{d:"M447.5 1447.5c21.766-2.21 42.766.62 63 8.5 21.067 11.41 35.234 28.57 42.5 51.5q1.39 10.62 4 21a229.3 229.3 0 0 1 1 40c-1.171 1.39-2.671 2.23-4.5 2.5q-65.505.255-131 1.5c-2.062 4.18-2.229 8.51-.5 13 2.366 8.1 5.7 15.77 10 23 15.264 15.93 33.764 20.77 55.5 14.5 3.87-2.52 7.87-4.85 12-7 3.262-2.59 5.762-5.76 7.5-9.5a39.7 39.7 0 0 1 8-7 965 965 0 0 0 21.5 8.5q10.12 1.62 18.5 7.5c.667 1.67.667 3.33 0 5q-9.276 20.79-27.5 34.5c-23.698 14.22-49.365 19.55-77 16-51.283-10.29-80.116-41.45-86.5-93.5-.894-14.71-.56-29.37 1-44a86 86 0 0 0 4-18 125.3 125.3 0 0 1 10.5-23c7.797-11.96 17.464-22.13 29-30.5 12.242-7.13 25.242-11.96 39-14.5m14 42c25.166 1.33 39.166 14.5 42 39.5q-1.824 2.61-5 3a719 719 0 0 1-75-1q2.218-22.395 21-36a123 123 0 0 1 17-5.5"}),a.createElement("path",{d:"M1482.5 1447.5c14.73-.22 29.39.61 44 2.5 37.88 7.55 57.72 30.72 59.5 69.5.33 38 .67 76 1 114 1.99 9.92 2.66 19.92 2 30-.75.63-1.58 1.13-2.5 1.5-15.66-.53-31.33-.53-47 0-2.44-2.29-3.94-5.13-4.5-8.5-1.06-4.6-1.73-9.27-2-14a7.2 7.2 0 0 0-2.5-2c-4.34 5.21-9.01 10.04-14 14.5-26.31 16.05-54.31 19.72-84 11q-44.205-19.29-37.5-67.5a124 124 0 0 0 5-17c8.22-13.88 19.38-24.72 33.5-32.5 9.71-4.13 19.71-7.46 30-10 21.1-4.3 42.44-6.63 64-7 1.8-.64 3.14-1.8 4-3.5-1.04-7.84-2.88-15.5-5.5-23a34.4 34.4 0 0 1-6.5-7.5 31.4 31.4 0 0 1-8-5c-6.73-.84-13.4-2.01-20-3.5-5.98 1.27-11.98 2.44-18 3.5q-3.72 4.11-9 6c-1.8 3.1-3.97 5.94-6.5 8.5-1.37 5.77-3.7 11.1-7 16-.8 1.3-1.97 1.97-3.5 2a426 426 0 0 0-34-13.5c-3.12-1.97-6.28-3.81-9.5-5.5-.65-3.09-.32-6.09 1-9 9.52-23.19 26.36-38.35 50.5-45.5a221 221 0 0 1 27-4.5m28 122c6.92-.31 13.76.02 20.5 1 2.47 19.95-4.37 35.78-20.5 47.5-4.04.9-7.7 2.57-11 5q-16.545 4.515-33 0c-16.58-9.72-18.91-22.05-7-37 2.29-1.29 4.29-2.96 6-5 14.59-5.91 29.59-9.74 45-11.5"}),a.createElement("path",{d:"M578.5 1454.5q29.139-.72 58 1.5c1.167 1.17 2.333 2.33 3.5 3.5a800 800 0 0 0 34 54c1.667-1.33 3.333-2.67 5-4a337 337 0 0 1 18-30 182 182 0 0 0 16.5-23.5 222 222 0 0 1 29-1.5c8.667.17 17.333.33 26 .5q3.726 3.42.5 7.5a2217 2217 0 0 0-63.5 93.5 103.5 103.5 0 0 0 8.5 15.5 5919 5919 0 0 1 59 85c2.155 3.04 1.988 5.87-.5 8.5a457 457 0 0 0-51 .5q-3.55-.51-7-1.5a728 728 0 0 1-40-60.5c-2.341-1.21-4.507-.88-6.5 1a926 926 0 0 1-28 45 120 120 0 0 1-11.5 14.5l-7.5 1.5c-16.734-.89-33.4-1.23-50-1q-.411-4.725 2-9a2463 2463 0 0 0 67.5-97.5 9.6 9.6 0 0 0-1.5-4.5 1263 1263 0 0 1-46-69l-18-24q-1.615-5.115 3.5-6"}))))}const _h=` + `),a.createElement("path",{d:"M944.5 76.5a852 852 0 0 1 129 6.5 598 598 0 0 1 51 9c19.36 5.344 38.69 10.677 58 16a834 834 0 0 1 117 52 698 698 0 0 1 95 69c2.67 2 5.33 2 8 0a410 410 0 0 1 37-28 18.4 18.4 0 0 1 6-.5q.495 10.51 4.5 20a3200 3200 0 0 0 18 73 3553 3553 0 0 0 19 66 48.8 48.8 0 0 0 2.5 11 4.94 4.94 0 0 1-1 2.5c-2.33.667-4.67.667-7 0a19 19 0 0 0-5-3 209 209 0 0 0-24-7 292 292 0 0 0-20-8c-8.68-2.341-17.34-4.674-26-7a221 221 0 0 0-21-8 337 337 0 0 1-34-11 1272 1272 0 0 1-43-13q-2.91-3.23-1.5-7.5a671 671 0 0 0 42.5-35l-1.5-3a289 289 0 0 0-21.5-18.5c-9.31-6.637-18.65-13.304-28-20a731 731 0 0 1-44-26 175 175 0 0 1-30-15 568 568 0 0 0-50-20 1038 1038 0 0 1-53-16 1070 1070 0 0 0-48-10 1087 1087 0 0 1-55-6 1379 1379 0 0 0-99 1 203.5 203.5 0 0 1-35 5Q629.152 192.558 494 414.5a132 132 0 0 1-10 17 1277 1277 0 0 0-21 43l-11 27a637 637 0 0 1-14 41 8191 8191 0 0 1-16 67 50.7 50.7 0 0 0-1 15 11.3 11.3 0 0 0 1.5 3.5 327 327 0 0 1 40 8q62.273 18.89 115 56 70.252 53.736 113.5 130.5 59.461 114.478 41 243c-.667 1.33-1.333 2.67-2 4a335 335 0 0 1-3 18 507 507 0 0 1-20 53 309 309 0 0 1-10 17c-1.699.91-3.533 1.24-5.5 1 .377-40.1-3.456-79.77-11.5-119l-3-6a154.4 154.4 0 0 0-7-27Q629.1 886.514 525.5 812a44.5 44.5 0 0 1-9.5-5.5l-1.5.5q69.98 79.772 110.5 177.5a684 684 0 0 1 21 74c.389 8.51 1.722 16.84 4 25q1.302 30.765 2.5 61.5-2.217 6.885.5 13.5l17.5 13.5a1597 1597 0 0 0 61 36 3333 3333 0 0 1 61 26q25.04 7.53 50 15a771 771 0 0 0 51 10 526.7 526.7 0 0 0 120 5c15.24-2.5 30.57-4.17 46-5 154.49-25.8 278.99-100.96 373.5-225.5 36-49.308 63.67-102.974 83-161 .29-5.821 1.96-11.154 5-16q7.2-33.086 15-66a343 343 0 0 1 4-30c-5.29 5.217-9.62 11.217-13 18-26.71 37.032-60.54 65.866-101.5 86.5a471 471 0 0 1-27 11 50.1 50.1 0 0 0-17 5q-13.77 1.158-27 5-33 2.977-66 0a153 153 0 0 0-29-5c-52.38-14.072-96.21-41.572-131.5-82.5q-58.935-72.777-58.5-167.5.345-16.269 1.5-32.5 10.89-72.278 57-128c66.33-75.505 149.5-104.339 249.5-86.5a700 700 0 0 1 48 16c4.24 2.853 8.57 5.52 13 8l6 2c20.5 12.068 38.84 26.735 55 44q2.37 1.06 4.5 2.5a442 442 0 0 0 25.5-24.5c2.59-1.601 5.26-1.767 8-.5a1168 1168 0 0 0 25.5 55 1221 1221 0 0 0 16 45c.41 6.057 2.08 11.724 5 17 .58 6.637 2.24 12.97 5 19a778 778 0 0 1 10 55c18.69 162.392-18.64 309.725-112 442-15.67 19-31.33 38-47 57-34.61 35.92-72.44 68.42-113.5 97.5q-16.53 10.545-33 21a516 516 0 0 1-35 18l-3 3c-14.49 6.96-29.16 13.63-44 20-26.02 9.5-52.35 18.17-79 26q-132.478 31.62-267 9a1979 1979 0 0 0-61-14 421 421 0 0 1-25-9c-3.333-.67-6.667-1.33-10-2-20.636-8.65-41.303-17.32-62-26-124.377-64.5-220.21-158.33-287.5-281.5a1010 1010 0 0 1-17-39l-3-4a395 395 0 0 0-15-41 374 374 0 0 1-11-36l-9-39a366 366 0 0 0-6-36 1642 1642 0 0 1-5.5-92.5q5.24-279.871 211-466 61.788-53.755 135-91a1492 1492 0 0 1 47-21l28-10 37-11a1956 1956 0 0 1 46-10 1145 1145 0 0 1 87-10.5m367 359c12.69-.014 25.35.486 38 1.5a399 399 0 0 1 39 10c56.18 22.509 95.34 62.009 117.5 118.5 21.9 63.822 14.57 123.822-22 180-20.98 28.71-47.15 51.21-78.5 67.5-37.69 16.585-77.02 21.585-118 15-69.62-14.983-118.78-54.816-147.5-119.5a284 284 0 0 1-11-39q-15.24-126.17 85.5-201.5c29.7-18.676 62.04-29.509 97-32.5"}),a.createElement("path",{d:"M899.5 258.5a2829 2829 0 0 0 135 0c5.33.53 10.66 1.03 16 1.5l1.5 1.5q.255 125.792 1.5 251.5c-.56 6.766-2.73 12.932-6.5 18.5a587 587 0 0 0-9.5 25.5 71.8 71.8 0 0 1-5.5 20.5 575 575 0 0 0-5.5 52.5 587 587 0 0 0 5.5 55.5 515 515 0 0 0 18.5 58.5c-.24.873-.57 1.707-1 2.5a4183 4183 0 0 1-152 .5 11.3 11.3 0 0 1-1.5-3.5 58052 58052 0 0 1 0-482 30 30 0 0 1 3.5-3"}),a.createElement("path",{d:"M717.5 423.5q71.002-.25 142 .5l1.5 1.5q.713 154.588.5 309 .27 6.043-2 11.5a2513 2513 0 0 1-141 1 6.98 6.98 0 0 1-3.5-2.5 37080 37080 0 0 1-1.5-314.5q-.099-4.63 4-6.5"}),a.createElement("path",{d:"M1360.5 487.5c2.13-.353 3.47.48 4 2.5-.74 4.181-1.57 8.348-2.5 12.5a13569 13569 0 0 1-34 102 27.2 27.2 0 0 0-1 8c1.33 1.838 3.16 2.838 5.5 3a937 937 0 0 1 86 0 4.95 4.95 0 0 1-.5 3 820 820 0 0 0-27 29q-50.445 59.205-100.5 119-5.535 6.54-12 12a3.6 3.6 0 0 1-1.5-1q-1.005-3 0-6a1048 1048 0 0 0 16-61c2.94-5.581 4.6-11.581 5-18l3-6a156.5 156.5 0 0 1 5-24 11.3 11.3 0 0 0-3.5-1.5l-90-1a3.6 3.6 0 0 1-1-1.5c49.72-57.045 99.38-114.045 149-171"},a.createElement("animate",{attributeName:"fill",values:`#00af78;${e==="dark"?"#ffffff":"#00785A"};#00af78`,dur:"2s",repeatCount:"indefinite"})),a.createElement("path",{className:"bar bar1",d:"M544.5 537.5q68.283-.426 136.5 1a2379 2379 0 0 1 1.5 96.5l-.5 92.5q-.918 3.798-4.5 2.5-50.249-64.14-122-103-8.75-1.76-14.5-8.5-1-39 0-78a30 30 0 0 1 3.5-3M721.5 777.5q60.628-.732 121 1.5 37.233 79.24 74.5 158.5 1 2 0 4a3116 3116 0 0 1-136.5.5 417 417 0 0 1-8.5-38.5 962 962 0 0 1-15-47 713 713 0 0 0-21-46 732 732 0 0 1-16-27q-1.122-3.51 1.5-6"}),a.createElement("path",{className:"bar bar2",d:"M879.5 777.5q93-.25 186 .5c18.83 33.513 43.5 62.179 74 86a144.6 144.6 0 0 1 23 16q13.5 5.88 25.5 14.5a574 574 0 0 1 22.5 45c-.33 1-.67 2-1 3-84.63-.161-169.3.006-254 .5q-3.752-3.208-6.5-7.5a2804 2804 0 0 1-8-20 252 252 0 0 1-13-24 3463 3463 0 0 0-23-53 1506 1506 0 0 1-27-55q-1.122-3.51 1.5-6"}),a.createElement("path",{className:"bar bar3",d:"M786.5 971.5q68.56.08 137 0a29.2 29.2 0 0 1 7 2.5 9467 9467 0 0 0 68.5 141.5c4 11.67 9.34 22.67 16 33 1.47 4.53-.2 6.87-5 7-86.772-.2-173.606-.37-260.5-.5-1.754-4.38-.921-8.22 2.5-11.5a411 411 0 0 1 10-25 578 578 0 0 0 10-32 99.6 99.6 0 0 1 5-22q2.12-21.06 5-42l1-48q1.478-1.971 3.5-3"}),a.createElement("path",{className:"bar bar4",d:"M970.5 971.5c83.58.74 167.25.74 251 0 2.73.182 5.39.682 8 1.5 18.09 35.51 36.26 71.01 54.5 106.5 7.67 13.67 15.33 27.33 23 41 2.16 3.76 2.82 7.76 2 12-10.9 7.75-22.4 14.59-34.5 20.5-2.92.99-5.92 1.65-9 2-68.48.48-136.82.65-205 .5-4.11-.08-7.28-1.74-9.5-5a3780 3780 0 0 0-67-140 71388 71388 0 0 1-12-28q-5.977-4.855-1.5-11"}),a.createElement("path",{d:"M83.5 1377.5a332.5 332.5 0 0 0 50.5 0c3.056.58 6.056 1.24 9 2a31209 31209 0 0 1 126.5 194 3.6 3.6 0 0 0 1.5-1c.652-63.71.652-127.37 0-191 .51-2.76 2.177-4.09 5-4a279.4 279.4 0 0 0 47 0c2.145-.1 3.979.56 5.5 2 .529 54.71.862 109.54 1 164.5l-.5 116.5c-.575 3.3-2.575 4.96-6 5a490 490 0 0 0-52 0q-5.74-1.74-10-6a14653 14653 0 0 0-125.5-193q-2.01 1.785-2 4.5a6168 6168 0 0 1 .5 191.5q-2.794 3.675-7.5 3a219.4 219.4 0 0 0-41 0q-5.057-.81-5.5-6c-.667-93.33-.667-186.67 0-280a19.2 19.2 0 0 0 3.5-2"}),a.createElement("path",{d:"M986.5 1377.5c17.32 1.09 34.66 1.25 52 .5 3.23 1.94 5.4 4.78 6.5 8.5 9.36 38.7 18.7 77.37 28 116 3.05 6.64 4.72 13.64 5 21 2.95 5.96 4.62 12.29 5 19 4.15 16.12 8.49 32.12 13 48 2.04-1.08 3.38-2.75 4-5 4.23-19.04 8.56-38.04 13-57 4.55-15.3 8.88-30.64 13-46 .76-4.32 1.43-8.65 2-13 4.33-15.33 8.66-30.66 13-46 2.08-12.15 4.75-24.15 8-36 .85-3.2 2.35-6.03 4.5-8.5 19.85-.22 39.68-.72 59.5-1.5 2.3-.01 4.47.49 6.5 1.5 6.53 21.92 12.37 44.09 17.5 66.5 2.94 6.32 4.61 12.99 5 20 3.56 15.24 7.89 30.24 13 45 2.47 11.74 5.14 23.41 8 35a7.4 7.4 0 0 0 2 3c2.38 11.75 5.04 23.41 8 35 1.33 3.33 3.16 6.33 5.5 9a2872 2872 0 0 1 27.5-111c.39-7.01 2.06-13.68 5-20 .39-7.01 2.06-13.68 5-20 .57-4.35 1.24-8.68 2-13 4.34-16 8.67-32 13-48l1.5-1.5c16.17-.29 32.34-.79 48.5-1.5q5.385-.045 10.5 1.5c.58.89.91 1.89 1 3-2.02 4.57-3.18 9.4-3.5 14.5-2.84 6-4.5 12.34-5 19a351 351 0 0 0-8 25c-2.97 11.6-5.63 23.27-8 35-2.56 8.31-5.23 16.65-8 25-.39 6.38-2.06 12.38-5 18a8809 8809 0 0 1-38 144q-4.725 2.91-10.5 3a410 410 0 0 0-56.5 0c-3.08-.44-5.91-1.44-8.5-3-8.05-31.19-16.88-62.19-26.5-93-.67-4-1.33-8-2-12-9.67-32.85-18.5-65.85-26.5-99-3.92 8.2-6.42 16.87-7.5 26-.72 2.45-1.72 4.78-3 7a2343 2343 0 0 1-28 109c-.72 2.45-1.72 4.78-3 7-4.17 18.07-8.51 36.07-13 54-4.52 3.47-9.69 4.8-15.5 4a685 685 0 0 0-55.5 0c-1.63-.38-3.13-1.04-4.5-2q-6-17.88-10.5-36c-10.91-43.39-21.91-86.73-33-130-2.88-5.97-4.54-12.31-5-19a32 32 0 0 1-3-7 4792 4792 0 0 0-18-75c-3.031-5.25-4.031-10.92-3-17 .995-.57 1.828-1.23 2.5-2"}),a.createElement("path",{d:"M1648.5 1406.5c16.35.64 32.68 1.3 49 2 1.4 1.35 2.06 3.02 2 5a255 255 0 0 0-.5 38c.5 1.17 1.33 2 2.5 2.5 16.33.33 32.67.67 49 1 .92.37 1.75.87 2.5 1.5.82 13.58.66 27.08-.5 40.5-17 .33-34 .67-51 1-1.17.5-2 1.33-2.5 2.5-.67 31.33-.67 62.67 0 94 2.29 23.73 15.12 33.23 38.5 28.5 4.85-3.25 10.02-4.08 15.5-2.5.64 13.67.98 27.34 1 41a11.4 11.4 0 0 1-4.5 3.5c-22.63 5.41-45.29 5.75-68 1-13.91-4.18-24.08-12.68-30.5-25.5-4.8-11.14-7.13-22.81-7-35-.65-34.59-.65-69.25 0-104-.32-1.56-1.15-2.73-2.5-3.5-9-.33-18-.67-27-1-.92-.37-1.75-.87-2.5-1.5-.21-11.69-.71-23.36-1.5-35 .19-3.23 1.85-5.06 5-5.5 9-.33 18-.67 27-1l1.5-1.5c.33-14.33.67-28.67 1-43 .98-1.31 2.15-2.31 3.5-3M1807.5 1406.5c9.18.78 18.35.78 27.5 0 7.6.35 15.1 1.18 22.5 2.5a980 980 0 0 1 1.5 43.5l1.5 1.5c15 .33 30 .67 45 1 1.17.5 2 1.33 2.5 2.5-.77 11.49-.61 22.99.5 34.5a23 23 0 0 1-2 5c-15 .33-30 .67-45 1-.92.37-1.75.87-2.5 1.5-.67 32.67-.67 65.33 0 98 1.84 19.84 12.68 28.67 32.5 26.5 4.83-.18 9.33-1.35 13.5-3.5 1.44.06 2.77.39 4 1a673 673 0 0 0 3.5 36c.38 2.82-.62 4.99-3 6.5-23.81 6.5-47.81 7.17-72 2-12.46-5.13-21.63-13.63-27.5-25.5-1.1-4.87-2.77-9.54-5-14-.33-3.33-.67-6.67-1-10-.33-39-.67-78-1-117l-1.5-1.5c-10.43-.05-20.77-.71-31-2-.66-6.59-.99-13.26-1-20 .01-6.74.34-13.41 1-20 10.26-1.26 20.59-1.93 31-2l1.5-1.5c.33-14 .67-28 1-42 .69-1.85 1.86-3.18 3.5-4"}),a.createElement("path",{d:"M878.5 1446.5c27.433-1.66 52.433 5.01 75 20 21.826 18.58 34.326 42.24 37.5 71 3.595 25.23 1.262 49.9-7 74-16.274 34.06-43.107 53.89-80.5 59.5q-48.019 5.13-88-21-30.077-28.71-35.5-70.5a400 400 0 0 1 0-40q13.828-84.585 98.5-93m1 47c25.457-.37 42.623 11.3 51.5 35q9.63 36.765-4 72-17.011 26.355-48.5 22.5a61.5 61.5 0 0 0-14-5c-7.087-4.96-12.92-11.13-17.5-18.5a28.9 28.9 0 0 0-5-11c-3.333-19.33-3.333-38.67 0-58 4.098-14.4 12.598-25.23 25.5-32.5q6.626-1.05 12-4.5"}),a.createElement("path",{d:"M447.5 1447.5c21.766-2.21 42.766.62 63 8.5 21.067 11.41 35.234 28.57 42.5 51.5q1.39 10.62 4 21a229.3 229.3 0 0 1 1 40c-1.171 1.39-2.671 2.23-4.5 2.5q-65.505.255-131 1.5c-2.062 4.18-2.229 8.51-.5 13 2.366 8.1 5.7 15.77 10 23 15.264 15.93 33.764 20.77 55.5 14.5 3.87-2.52 7.87-4.85 12-7 3.262-2.59 5.762-5.76 7.5-9.5a39.7 39.7 0 0 1 8-7 965 965 0 0 0 21.5 8.5q10.12 1.62 18.5 7.5c.667 1.67.667 3.33 0 5q-9.276 20.79-27.5 34.5c-23.698 14.22-49.365 19.55-77 16-51.283-10.29-80.116-41.45-86.5-93.5-.894-14.71-.56-29.37 1-44a86 86 0 0 0 4-18 125.3 125.3 0 0 1 10.5-23c7.797-11.96 17.464-22.13 29-30.5 12.242-7.13 25.242-11.96 39-14.5m14 42c25.166 1.33 39.166 14.5 42 39.5q-1.824 2.61-5 3a719 719 0 0 1-75-1q2.218-22.395 21-36a123 123 0 0 1 17-5.5"}),a.createElement("path",{d:"M1482.5 1447.5c14.73-.22 29.39.61 44 2.5 37.88 7.55 57.72 30.72 59.5 69.5.33 38 .67 76 1 114 1.99 9.92 2.66 19.92 2 30-.75.63-1.58 1.13-2.5 1.5-15.66-.53-31.33-.53-47 0-2.44-2.29-3.94-5.13-4.5-8.5-1.06-4.6-1.73-9.27-2-14a7.2 7.2 0 0 0-2.5-2c-4.34 5.21-9.01 10.04-14 14.5-26.31 16.05-54.31 19.72-84 11q-44.205-19.29-37.5-67.5a124 124 0 0 0 5-17c8.22-13.88 19.38-24.72 33.5-32.5 9.71-4.13 19.71-7.46 30-10 21.1-4.3 42.44-6.63 64-7 1.8-.64 3.14-1.8 4-3.5-1.04-7.84-2.88-15.5-5.5-23a34.4 34.4 0 0 1-6.5-7.5 31.4 31.4 0 0 1-8-5c-6.73-.84-13.4-2.01-20-3.5-5.98 1.27-11.98 2.44-18 3.5q-3.72 4.11-9 6c-1.8 3.1-3.97 5.94-6.5 8.5-1.37 5.77-3.7 11.1-7 16-.8 1.3-1.97 1.97-3.5 2a426 426 0 0 0-34-13.5c-3.12-1.97-6.28-3.81-9.5-5.5-.65-3.09-.32-6.09 1-9 9.52-23.19 26.36-38.35 50.5-45.5a221 221 0 0 1 27-4.5m28 122c6.92-.31 13.76.02 20.5 1 2.47 19.95-4.37 35.78-20.5 47.5-4.04.9-7.7 2.57-11 5q-16.545 4.515-33 0c-16.58-9.72-18.91-22.05-7-37 2.29-1.29 4.29-2.96 6-5 14.59-5.91 29.59-9.74 45-11.5"}),a.createElement("path",{d:"M578.5 1454.5q29.139-.72 58 1.5c1.167 1.17 2.333 2.33 3.5 3.5a800 800 0 0 0 34 54c1.667-1.33 3.333-2.67 5-4a337 337 0 0 1 18-30 182 182 0 0 0 16.5-23.5 222 222 0 0 1 29-1.5c8.667.17 17.333.33 26 .5q3.726 3.42.5 7.5a2217 2217 0 0 0-63.5 93.5 103.5 103.5 0 0 0 8.5 15.5 5919 5919 0 0 1 59 85c2.155 3.04 1.988 5.87-.5 8.5a457 457 0 0 0-51 .5q-3.55-.51-7-1.5a728 728 0 0 1-40-60.5c-2.341-1.21-4.507-.88-6.5 1a926 926 0 0 1-28 45 120 120 0 0 1-11.5 14.5l-7.5 1.5c-16.734-.89-33.4-1.23-50-1q-.411-4.725 2-9a2463 2463 0 0 0 67.5-97.5 9.6 9.6 0 0 0-1.5-4.5 1263 1263 0 0 1-46-69l-18-24q-1.615-5.115 3.5-6"}))))}const xh=` .logo-background-light, .logo-background-colored { background: white; } .logo-background-dark, .logo-background-blue { background: black; } -`;function xh(s){Ce(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=_h,window.document.head.appendChild(t)}},[]);const e=s.themeType||s.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: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"}},a.createElement("div",{style:{flexGrow:1}}),a.createElement(So,{color:"secondary",size:s.size||200,thickness:5}),a.createElement("div",{style:{flexGrow:1}}))}const Sh=` +`;function Sh(s){Ce(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=xh,window.document.head.appendChild(t)}},[]);const e=s.themeType||s.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: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"}},a.createElement("div",{style:{flexGrow:1}}),a.createElement(So,{color:"secondary",size:s.size||200,thickness:5}),a.createElement("div",{style:{flexGrow:1}}))}const kh=` /** * Copyright 2018-2024 Denis Haev (bluefox) * @@ -261,7 +261,7 @@ Url: ${To(s)}`),!0}return!1}function wd(s,e){return e!=null&&e.length?g4(s).some .logo-animate-color-outside-blue { animation: logo-color-outside-blue 1.5s; } -`;function kh(s){Ce(()=>{if(!window.document.getElementById("loader-iobroker-component")){const i=window.document.createElement("style");i.setAttribute("id","loader-iobroker-component"),i.innerHTML=Sh,window.document.head.appendChild(i)}},[]);const e=s.size||234,t=s.themeName||s.theme||s.themeType||"light";return a.createElement("div",{className:`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: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}})))}const vh=` +`;function vh(s){Ce(()=>{if(!window.document.getElementById("loader-iobroker-component")){const i=window.document.createElement("style");i.setAttribute("id","loader-iobroker-component"),i.innerHTML=kh,window.document.head.appendChild(i)}},[]);const e=s.size||234,t=s.themeName||s.theme||s.themeType||"light";return a.createElement("div",{className:`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: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}})))}const Yh=` .logo-background-light, .logo-background-colored { background: white; } @@ -364,10 +364,10 @@ Url: ${To(s)}`),!0}return!1}function wd(s,e){return e!=null&&e.length?g4(s).some transform: rotate(165deg); } } -`;function Yh(s){const e=s.size||200;Ce(()=>{if(!window.document.getElementById("pt-iobroker-component")){const i=window.document.createElement("style");i.setAttribute("id","pt-iobroker-component"),i.innerHTML=vh,window.document.head.appendChild(i)}},[]);const t=s.themeType||s.themeName||"light";return a.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"}},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 Qh(s){const e=window.vendorPrefix;return e==="PT"?a.createElement(Yh,{themeType:s.themeType}):e==="MV"?a.createElement(Oh,{themeType:s.themeType}):e==="NW"?a.createElement(Eh,{themeType:"dark"}):e&&e!=="@@vendorPrefix@@"?a.createElement(xh,{themeType:s.themeType}):a.createElement(kh,{themeType:s.themeType})}class nr extends De{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(i=>{try{return i?decodeURIComponent(i):""}catch{return console.error(`Router: Cannot decode ${i}`),i}});return{tab:t[0]||"",dialog:t[1]||"",id:t[2]||"",arg:t[3]||""}}static doNavigate(e,t,i,r){let o="";const n=nr.getLocation();r!==void 0&&!i&&(i=n.id),i&&!t&&(t=n.dialog),(t&&!e||e===null)&&(e=n.tab),e&&(o=`#${e}`,t&&(o+=`/${t}`,i&&(o+=`/${i}`,r!==void 0&&(o+=`/${r}`)))),window.location.hash!==o&&(window.location.hash=o)}}function bh(){const s=document.getSelection();if(!(s!=null&&s.rangeCount))return()=>{};let e=document.activeElement;const t=[];for(let i=0;i{s.type==="Caret"&&s.removeAllRanges(),s.rangeCount||t.forEach(i=>s.addRange(i)),e&&e.focus()}}const Wu={"text/plain":"Text","text/html":"Url",default:"Text"},Uh="Copy to clipboard: #{key}, Enter";function $h(s){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return s.replace(/#{\s*key\s*}/g,e)}function O4(s,e){let t,i,r,o,n=!1;e=e||{};const M=e.debug||!1;try{if(t=bh(),i=document.createRange(),r=document.getSelection(),o=document.createElement("span"),o.textContent=s,o.ariaHidden="true",o.style.all="unset",o.style.position="fixed",o.style.top="0px",o.style.clip="rect(0, 0, 0, 0)",o.style.whiteSpace="pre",o.style.userSelect="text",o.addEventListener("copy",l=>{var N,u,L,g;if(l.stopPropagation(),e!=null&&e.format)if(l.preventDefault(),typeof l.clipboardData>"u"){M&&console.warn("unable to use e.clipboardData"),M&&console.warn("trying IE specific stuff"),(N=window.clipboardData)==null||N.clearData();const j=Wu[e.format]||Wu.default;(u=window.clipboardData)==null||u.setData(j,s)}else(L=l.clipboardData)==null||L.clearData(),(g=l.clipboardData)==null||g.setData(e.format,s)}),document.body.appendChild(o),i.selectNodeContents(o),r==null||r.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");n=!0}catch(c){M&&console.error("unable to copy using execCommand: ",c),M&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",s),n=!0}catch(l){M&&console.error("unable to copy using clipboardData: ",l),M&&console.error("falling back to prompt");const N=$h("message"in e?e.message||"":Uh);window.prompt(N,s)}}finally{r&&(i&&typeof r.removeRange=="function"?r.removeRange(i):r.removeAllRanges()),o&&document.body.removeChild(o),t&&t()}return n}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 i=e;if(typeof i.prefix=="string"){const r=i.prefix;delete i.prefix,Object.keys(i).forEach(o=>{const n=o,M={},c=i[n];Object.keys(c).forEach(l=>{l&&c&&(l.startsWith(r)?M[l]=c[l]:M[`${r}${l}`]=c[l])}),e[n]=M})}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(i=>{const r=i;D.translations[r]||={},Object.assign(D.translations[r],e[r])}):Object.keys(e).forEach(i=>{const r=e[i];Object.keys(r).forEach(o=>{const n=o,M=D.translations[n];M?M[i]?M[i]!==r[n]&&console.warn(`Translation for word "${i}" in "${n}" was ignored: existing = "${M[i]}", new = ${r[n]}`):M[i]=r[n]:console.warn(`Used unknown language: ${n}`)})});else{D.translations[t]||console.warn(`Used unknown language: ${t}`),D.translations[t]||={};const i=D.translations[t];Object.keys(e).forEach(r=>{i[r]?i[r]!==e[r]&&console.warn(`Translation for word "${r}" in "${t}" was ignored: existing = "${i[r]}", new = ${e[r]}`):i[r]=e[r]})}}catch(i){console.error(`Cannot apply translations: ${i}`)}}static setTranslations(e){e&&(D.translations=e)}static getLanguage(){return D.lang}static t(e,...t){const i=D.translations[D.lang];if(i){const r=i[e];if(r)e=r;else if(D.unknownTranslations.includes(e)||(D.unknownTranslations.push(e),!D._disableWarning&&console.log(`Translate: ${e}`)),D.lang!=="en"&&D.translations.en){const o=D.translations.en[e];o&&(e=o)}}for(const r of t)e=e.replace("%s",r);return e}static i18nShow(e){const t={};e?typeof e=="string"?(D.unknownTranslations.forEach(i=>{i.startsWith(e)&&(t[i]=i.replace(e,""))}),console.log(JSON.stringify(t,null,2))):e&&typeof e=="object"&&(D.unknownTranslations.forEach(i=>{e.test(i)&&(t[i]=i)}),console.log(JSON.stringify(t,null,2))):(D.unknownTranslations.forEach(i=>t[i]=i),console.log(JSON.stringify(t,null,2)))}static disableWarning(e){D._disableWarning=!!e}}window.i18nShow=D.i18nShow;window.i18nDisableWarning=D.disableWarning;const Dt="material",Ph=["Su","Mo","Tu","We","Th","Fr","Sa"],Wh=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Cn={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"},Ju={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"};class m{static namespace=Dt;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 i=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const r=Math.floor(e/60).toString().padStart(2,"0");e%=60;const o=Math.floor(e).toString().padStart(2,"0");let n="";return t&&(n+=`${t} ${D.t("ra_daysShortText")} `),n+=`${i}:${r}:${o}`,n}static getObjectName(e,t,i,r,o){var c;const n=e[t];let M;if(typeof i=="string"&&!r&&(r={language:i},i=null),r=r||{},r.language||(r.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),i!=null&&i.name){const l=i.name;typeof l=="object"?M=r.language&&l[r.language]||l.en:M=l}else if(o&&((c=n==null?void 0:n.common)!=null&&c.desc)){const l=n.common.desc;typeof l=="object"?M=r.language&&l[r.language]||l.en||l.de||l.ru||"":M=l,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}else if(!o&&(n!=null&&n.common)){const l=n.common.name||n.common.desc;l&&typeof l=="object"?M=r.language&&l[r.language]||l.en||l.de||l.ru||"":M=l,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}else{const l=t.lastIndexOf(".");M=t.substring(l+1).replace(/[_.]/g," "),M=m.CapitalWords(M)}return(M==null?void 0:M.trim())||""}static getObjectNameFromObj(e,t,i,r,o){var c,l;const n=e;let M=(e==null?void 0:e._id)||"";if(typeof t=="string"&&!i&&(i={language:t},t=null),i=i||{},t!=null&&t.name){const N=t.name;typeof N=="object"?M=i.language&&N[i.language]||N.en:M=N}else if(r&&((c=n==null?void 0:n.common)!=null&&c.desc)){const N=n.common.desc;typeof N=="object"?M=i.language&&N[i.language]||N.en:M=N,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}else if(!r&&((l=n==null?void 0:n.common)!=null&&l.name)){let N=n.common.name;!N&&n.common.desc&&(N=n.common.desc),typeof N=="object"?M=i.language&&N[i.language]||N.en:M=N,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}return o?M:M.trim()}static getSettingsOrder(e,t,i){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[Dt];const n=i.user||"admin";if(o&&o[n]){if(t){if(o[n].subOrder&&o[n].subOrder[t])return JSON.parse(JSON.stringify(o[n].subOrder[t]))}else if(o[n].order)return JSON.parse(JSON.stringify(o[n].order))}}return null}static getSettingsCustomURLs(e,t,i){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[Dt];const n=i.user||"admin";if(o&&o[n]){if(t){if(o[n].subURLs&&o[n].subURLs[t])return JSON.parse(JSON.stringify(o[n].subURLs[t]))}else if(o[n].URLs)return JSON.parse(JSON.stringify(o[n].URLs))}}return null}static reorder(e,t,i){const r=Array.from(e),[o]=r.splice(t,1);return r.splice(i,0,o),r}static getSettings(e,t,i){let r;const o=(e==null?void 0:e._id)||(t==null?void 0:t.id);let n;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?n=e.common:n=e,n!=null&&n.custom?(r=n.custom,r=r[Dt]&&r[Dt][t.user||"admin"]?JSON.parse(JSON.stringify(r[Dt][t.user||"admin"])):{enabled:!0}):r={enabled:i===void 0?!0:i,useCustom:!1},Object.prototype.hasOwnProperty.call(r,"enabled")||(r.enabled=i===void 0?!0:i),t&&(!r.name&&t.name&&(r.name=t.name),!r.icon&&t.icon&&(r.icon=t.icon),!r.color&&t.color&&(r.color=t.color)),n&&(!r.color&&n.color&&(r.color=n.color),!r.icon&&n.icon&&(r.icon=n.icon),!r.name&&n.name&&(r.name=n.name)),typeof r.name=="object"&&(r.name=t.language&&r.name[t.language]||r.name.en,r.name=(r.name||"").toString().replace(/_/g," "),r.name===r.name.toUpperCase()&&(r.name=r.name[0]+r.name.substring(1).toLowerCase())),!r.name&&o){const M=o.lastIndexOf(".");r.name=o.substring(M+1).replace(/[_.]/g," "),r.name=(r.name||"").toString().replace(/_/g," "),r.name=m.CapitalWords(r.name)}return r}static setSettings(e,t,i){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[Dt]=e.common.custom[Dt]||{},e.common.custom[Dt][i.user||"admin"]=t;const r=e.common.custom[Dt][i.user||"admin"];return r.useCommon&&(r.color!==void 0&&(e.common.color=r.color,delete r.color),r.icon!==void 0&&(e.common.icon=r.icon,delete r.icon),r.name!==void 0&&(typeof e.common.name!="object"&&i.language?e.common.name={[i.language]:r.name}:typeof e.common.name=="object"&&i.language&&(e.common.name[i.language]=r.name),delete r.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 i;if(typeof e=="object"&&(t=e,e=t==null?void 0:t._id),(i=t==null?void 0:t.common)!=null&&i.icon){let r=t.common.icon;if(typeof r=="string"&&r.length<=2||r.startsWith("data:image"))return r;const o=e.split(".");return o[0]==="system"?r=`adapter/${o[2]}${r.startsWith("/")?"":"/"}${r}`:r=`adapter/${o[0]}${r.startsWith("/")?"":"/"}${r}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?r=`../../${r}`:window.location.pathname.match(/material\/[.\d]+/)?r=`../../${r}`:window.location.pathname.match(/material\//)&&(r=`../${r}`),r}return null}static splitCamelCase(e){return e?m.CapitalWords(e):""}static isUseBright(e,t){if(!e)return t===void 0?!0:t;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let i,r,o;const n=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(n&&n.length===4)i=parseInt(n[1],10),r=parseInt(n[2],10),o=parseInt(n[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;i=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),o=parseInt(e.slice(4,6),16)}return i*.299+r*.587+o*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const t=Math.floor(e/3600),i=Math.floor(e%3600/60).toString().padStart(2,"0"),r=(e%60).toString().padStart(2,"0");return t?`${t}:${i}:${r}`:`${i}:${r}`}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&&(m.dateFormat=e.toUpperCase().split(/[.-/]/),m.dateFormat.splice(m.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 i=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(i){const r=[parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10)],o=r.find(n=>n>31);if(o!==void 0){r.splice(r.indexOf(o),1);const n=r.find(M=>M>12);n?(r.splice(r.indexOf(n),1),e=new Date(o,r[0]-1,n)):m.dateFormat[0][0]==="M"&&m.dateFormat[1][0]==="D"?(e=new Date(o,r[0]-1,r[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[1]-1,r[0]))):m.dateFormat[0][0]==="D"&&m.dateFormat[1][0]==="M"?(e=new Date(o,r[1]-1,r[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[0]-1,r[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_${Ph[e.getDay()]}`).replace("ra_dow_","");return t+=`. ${e.getDate()} ${D.t(`ra_month_${Wh[e.getMonth()]}`).replace("ra_month_","")}`,t}static renderTextWithA(e){let t=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(t){const i=[];let r=1;do{const o=e.substring(0,t.index);if(e=e.substring((t.index||0)+t[0].length),o&&i.push(a.createElement("span",{key:`a${r++}`},o)),t[0].startsWith(""))i.push(a.createElement("b",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith(""))i.push(a.createElement("i",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!t&&e&&i.push(a.createElement("span",{key:`a${r++}`},e))}while(t);return i}return e}static getSmartName(e,t,i,r){var n,M;if(!t){if(!r)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const c=e;return(n=c==null?void 0:c.common)!=null&&n.custom&&c.common.custom[i]?c.common.custom[i].smartName:void 0}if(!r)return e[t].common.smartName;const o=e[t];return(M=o==null?void 0:o.common)!=null&&M.custom&&o.common.custom[i]&&o.common.custom[i].smartName||null}static getSmartNameFromObj(e,t,i){var o,n;if(!i)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const r=(n=(o=e==null?void 0:e.common)==null?void 0:o.custom)==null?void 0:n[t];return r?r.smartName:void 0}static enableSmartName(e,t,i){const r=e;i?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName={}):r.common.smartName={}}static removeSmartName(e,t,i){var o,n;const r=e;i?(n=(o=r==null?void 0:r.common)==null?void 0:o.custom)!=null&&n[t]&&(r.common.custom[t]=null):r.common.smartName=null}static updateSmartName(e,t,i,r,o,n){var l,N;const M=D.getLanguage(),c=e;if(typeof c.common.smartName=="string"){const u=c.common.smartName;c.common.smartName={},c.common.smartName[M]=u}if((l=c.native)!=null&&l.byON){delete c.native.byON;let u=c.common.smartName;u&&typeof u!="object"&&(u={en:u,[M]:u}),c.common.smartName=u}if(r!==void 0&&(n?(c.common.custom||={},c.common.custom[o]||={},c.common.custom[o].smartName||={},r?c.common.custom[o].smartName.smartType=r:delete c.common.custom[o].smartName.smartType):(c.common.smartName||={},r?c.common.smartName.smartType=r:delete c.common.smartName.smartType)),i!==void 0&&(n?(c.common.custom||={},c.common.custom[o]||={},c.common.custom[o].smartName||={},c.common.custom[o].smartName.byON=i):(c.common.smartName||={},c.common.smartName.byON=i)),t!==void 0){let u;if(n?(c.common.custom||={},c.common.custom[o]||={},c.common.custom[o].smartName||={},u=c.common.custom[o].smartName):(c.common.smartName||={},u=c.common.smartName),u[M]=t,u&&(!u[M]||u[M]===c.common.name&&!c.common.role)){delete u[M];let L=!0;for(const g in u)if(Object.prototype.hasOwnProperty.call(u,g)){L=!1;break}if(L)if(n&&((N=c.common.custom)!=null&&N[o]))c.common.custom[o].smartName.byON===void 0?delete c.common.custom[o]:(delete c.common.custom[o].en,delete c.common.custom[o].de,delete c.common.custom[o].ru,delete c.common.custom[o].nl,delete c.common.custom[o].pl,delete c.common.custom[o].it,delete c.common.custom[o].fr,delete c.common.custom[o].pt,delete c.common.custom[o].es,delete c.common.custom[o].uk,delete c.common.custom[o]["zh-cn"]);else if(c.common.smartName&&c.common.smartName.byON!==void 0){const g=c.common.smartName;delete g.en,delete g.de,delete g.ru,delete g.nl,delete g.pl,delete g.it,delete g.fr,delete g.pt,delete g.es,delete g.uk,delete g["zh-cn"]}else c.common.smartName=null}}}static updateSmartNameEx(e,t){var o,n,M,c;const i=D.getLanguage(),r=e;if(typeof r.common.smartName=="string"){const l=r.common.smartName;r.common.smartName={},r.common.smartName[i]=l}if((o=r.native)!=null&&o.byON){delete r.native.byON;let l=r.common.smartName;l&&typeof l!="object"&&(l={en:l,[i]:l}),r.common.smartName=l}if(t.smartType!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},t.smartType?r.common.custom[t.instanceId].smartName.smartType=t.smartType:delete r.common.custom[t.instanceId].smartName.smartType):(r.common.smartName||={},t.smartType?r.common.smartName.smartType=t.smartType:delete r.common.smartName.smartType)),t.byON!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.byON=t.byON):(r.common.smartName||={},r.common.smartName.byON=t.byON)),t.noAutoDetect!==void 0&&(t.noCommon?t.noAutoDetect?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.noAutoDetect=t.noAutoDetect):(M=(n=r.common.custom)==null?void 0:n[t.instanceId])!=null&&M.smartName&&delete r.common.custom[t.instanceId].smartName.noAutoDetect:!t.noAutoDetect&&r.common.smartName?delete r.common.smartName.noAutoDetect:(r.common.smartName||={},r.common.smartName.noAutoDetect=t.noAutoDetect)),t.smartName!==void 0){let l;if(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},l=r.common.custom[t.instanceId].smartName):(r.common.smartName||={},l=r.common.smartName),l[i]=t.smartName,l&&(!l[i]||l[i]===r.common.name&&!r.common.role)){delete l[i];let N=!0;for(const u in l)if(Object.prototype.hasOwnProperty.call(l,u)){N=!1;break}if(N)if(t.noCommon&&((c=r.common.custom)!=null&&c[t.instanceId]))r.common.custom[t.instanceId].smartName.byON===void 0?delete r.common.custom[t.instanceId]:(delete r.common.custom[t.instanceId].en,delete r.common.custom[t.instanceId].de,delete r.common.custom[t.instanceId].ru,delete r.common.custom[t.instanceId].nl,delete r.common.custom[t.instanceId].pl,delete r.common.custom[t.instanceId].it,delete r.common.custom[t.instanceId].fr,delete r.common.custom[t.instanceId].pt,delete r.common.custom[t.instanceId].es,delete r.common.custom[t.instanceId].uk,delete r.common.custom[t.instanceId]["zh-cn"]);else if(r.common.smartName&&r.common.smartName.byON!==void 0){const u=r.common.smartName;delete u.en,delete u.de,delete u.ru,delete u.nl,delete u.pl,delete u.it,delete u.fr,delete u.pt,delete u.es,delete u.uk,delete u["zh-cn"]}else r.common.smartName=null}}}static disableSmartName(e,t,i){const r=e;i?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName=!1):r.common.smartName=!1}static copyToClipboard(e,t){return t&&(t.stopPropagation(),t.preventDefault()),O4(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 i=-1;do e/=1024,++i;while(Math.abs(e)>=1024&&i186?`#000000${i||""}`:`#FFFFFF${i||""}`;const M=(255-r).toString(16),c=(255-o).toString(16),l=(255-n).toString(16);return`#${M.padStart(2,"0")}${c.padStart(2,"0")}${l.padStart(2,"0")}${i||""}`}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,i=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let o=(t*.4124+i*.3576+r*.1805)/.95047,n=t*.2126+i*.7152+r*.0722,M=(t*.0193+i*.1192+r*.9505)/1.08883;return o=o>.008856?o**.33333333:7.787*o+.137931,n=n>.008856?n**.33333333:7.787*n+.137931,M=M>.008856?M**.33333333:7.787*M+.137931,[116*n-16,500*(o-n),200*(n-M)]}static colorDistance(e,t){const i=m.color2rgb(e),r=m.color2rgb(t);if(!i||!r)return 0;const o=m.rgb2lab(i),n=m.rgb2lab(r),M=o[0]-n[0],c=o[1]-n[1],l=o[2]-n[2],N=Math.sqrt(o[1]*o[1]+o[2]*o[2]),u=Math.sqrt(n[1]*n[1]+n[2]*n[2]),L=N-u;let g=c*c+l*l-L*L;g=g<0?0:Math.sqrt(g);const j=1+.045*N,y=1+.015*N,T=M,d=L/j,I=g/y,w=T*T+d*d+I*I;return w<0?0:w}static _toVal(e){let t,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e))for(let r=0;r{if(i=i.trim(),i){const r=i.split("="),o=decodeURIComponent(r[0]).trim();if(r.length>1){const n=decodeURIComponent(r[1]);if(n==="true")t[o]=!0;else if(n==="false")t[o]=!1;else{const M=parseFloat(n);M.toString()===n?t[o]=M:t[o]=n}}else t[o]=!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 i;const r=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");return t==="MM/DD/YYYY"?i=`${r}/${o}/${e.getFullYear()}`:i=`${e.getFullYear()}-${r}-${o}`,i+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,i}static formatTime(e){if(e){e=Math.round(e);const t=Math.floor(e/(3600*24)),i=Math.floor(e%(3600*24)/3600),r=Math.floor(e%3600/60),o=e%60;return t?`${t}.${i.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:i?`${i}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:`0:${r.toString().padStart(2,"0")}:${o.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 o;const t=m.MDextractHeader(e),i=t.header;let r=t.body;if(!i.title){r=r.replace(/{[^}]*}/g,""),r=r.trim();const n=r.replace(/\r/g,"").split(` +`;function Qh(s){const e=s.size||200;Ce(()=>{if(!window.document.getElementById("pt-iobroker-component")){const i=window.document.createElement("style");i.setAttribute("id","pt-iobroker-component"),i.innerHTML=Yh,window.document.head.appendChild(i)}},[]);const t=s.themeType||s.themeName||"light";return a.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"}},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 bh(s){const e=window.vendorPrefix;return e==="PT"?a.createElement(Qh,{themeType:s.themeType}):e==="MV"?a.createElement(Eh,{themeType:s.themeType}):e==="NW"?a.createElement(_h,{themeType:"dark"}):e&&e!=="@@vendorPrefix@@"?a.createElement(Sh,{themeType:s.themeType}):a.createElement(vh,{themeType:s.themeType})}class nr extends De{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(i=>{try{return i?decodeURIComponent(i):""}catch{return console.error(`Router: Cannot decode ${i}`),i}});return{tab:t[0]||"",dialog:t[1]||"",id:t[2]||"",arg:t[3]||""}}static doNavigate(e,t,i,r){let o="";const n=nr.getLocation();r!==void 0&&!i&&(i=n.id),i&&!t&&(t=n.dialog),(t&&!e||e===null)&&(e=n.tab),e&&(o=`#${e}`,t&&(o+=`/${t}`,i&&(o+=`/${i}`,r!==void 0&&(o+=`/${r}`)))),window.location.hash!==o&&(window.location.hash=o)}}function Uh(){const s=document.getSelection();if(!(s!=null&&s.rangeCount))return()=>{};let e=document.activeElement;const t=[];for(let i=0;i{s.type==="Caret"&&s.removeAllRanges(),s.rangeCount||t.forEach(i=>s.addRange(i)),e&&e.focus()}}const Ju={"text/plain":"Text","text/html":"Url",default:"Text"},$h="Copy to clipboard: #{key}, Enter";function Ph(s){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return s.replace(/#{\s*key\s*}/g,e)}function _4(s,e){let t,i,r,o,n=!1;e=e||{};const M=e.debug||!1;try{if(t=Uh(),i=document.createRange(),r=document.getSelection(),o=document.createElement("span"),o.textContent=s,o.ariaHidden="true",o.style.all="unset",o.style.position="fixed",o.style.top="0px",o.style.clip="rect(0, 0, 0, 0)",o.style.whiteSpace="pre",o.style.userSelect="text",o.addEventListener("copy",l=>{var N,u,L,g;if(l.stopPropagation(),e!=null&&e.format)if(l.preventDefault(),typeof l.clipboardData>"u"){M&&console.warn("unable to use e.clipboardData"),M&&console.warn("trying IE specific stuff"),(N=window.clipboardData)==null||N.clearData();const j=Ju[e.format]||Ju.default;(u=window.clipboardData)==null||u.setData(j,s)}else(L=l.clipboardData)==null||L.clearData(),(g=l.clipboardData)==null||g.setData(e.format,s)}),document.body.appendChild(o),i.selectNodeContents(o),r==null||r.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");n=!0}catch(c){M&&console.error("unable to copy using execCommand: ",c),M&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",s),n=!0}catch(l){M&&console.error("unable to copy using clipboardData: ",l),M&&console.error("falling back to prompt");const N=Ph("message"in e?e.message||"":$h);window.prompt(N,s)}}finally{r&&(i&&typeof r.removeRange=="function"?r.removeRange(i):r.removeAllRanges()),o&&document.body.removeChild(o),t&&t()}return n}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 i=e;if(typeof i.prefix=="string"){const r=i.prefix;delete i.prefix,Object.keys(i).forEach(o=>{const n=o,M={},c=i[n];Object.keys(c).forEach(l=>{l&&c&&(l.startsWith(r)?M[l]=c[l]:M[`${r}${l}`]=c[l])}),e[n]=M})}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(i=>{const r=i;D.translations[r]||={},Object.assign(D.translations[r],e[r])}):Object.keys(e).forEach(i=>{const r=e[i];Object.keys(r).forEach(o=>{const n=o,M=D.translations[n];M?M[i]?M[i]!==r[n]&&console.warn(`Translation for word "${i}" in "${n}" was ignored: existing = "${M[i]}", new = ${r[n]}`):M[i]=r[n]:console.warn(`Used unknown language: ${n}`)})});else{D.translations[t]||console.warn(`Used unknown language: ${t}`),D.translations[t]||={};const i=D.translations[t];Object.keys(e).forEach(r=>{i[r]?i[r]!==e[r]&&console.warn(`Translation for word "${r}" in "${t}" was ignored: existing = "${i[r]}", new = ${e[r]}`):i[r]=e[r]})}}catch(i){console.error(`Cannot apply translations: ${i}`)}}static setTranslations(e){e&&(D.translations=e)}static getLanguage(){return D.lang}static t(e,...t){const i=D.translations[D.lang];if(i){const r=i[e];if(r)e=r;else if(D.unknownTranslations.includes(e)||(D.unknownTranslations.push(e),!D._disableWarning&&console.log(`Translate: ${e}`)),D.lang!=="en"&&D.translations.en){const o=D.translations.en[e];o&&(e=o)}}for(const r of t)e=e.replace("%s",r);return e}static i18nShow(e){const t={};e?typeof e=="string"?(D.unknownTranslations.forEach(i=>{i.startsWith(e)&&(t[i]=i.replace(e,""))}),console.log(JSON.stringify(t,null,2))):e&&typeof e=="object"&&(D.unknownTranslations.forEach(i=>{e.test(i)&&(t[i]=i)}),console.log(JSON.stringify(t,null,2))):(D.unknownTranslations.forEach(i=>t[i]=i),console.log(JSON.stringify(t,null,2)))}static disableWarning(e){D._disableWarning=!!e}}window.i18nShow=D.i18nShow;window.i18nDisableWarning=D.disableWarning;const Dt="material",Wh=["Su","Mo","Tu","We","Th","Fr","Sa"],Jh=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Cn={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"},Bu={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"};class m{static namespace=Dt;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 i=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const r=Math.floor(e/60).toString().padStart(2,"0");e%=60;const o=Math.floor(e).toString().padStart(2,"0");let n="";return t&&(n+=`${t} ${D.t("ra_daysShortText")} `),n+=`${i}:${r}:${o}`,n}static getObjectName(e,t,i,r,o){var c;const n=e[t];let M;if(typeof i=="string"&&!r&&(r={language:i},i=null),r=r||{},r.language||(r.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),i!=null&&i.name){const l=i.name;typeof l=="object"?M=r.language&&l[r.language]||l.en:M=l}else if(o&&((c=n==null?void 0:n.common)!=null&&c.desc)){const l=n.common.desc;typeof l=="object"?M=r.language&&l[r.language]||l.en||l.de||l.ru||"":M=l,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}else if(!o&&(n!=null&&n.common)){const l=n.common.name||n.common.desc;l&&typeof l=="object"?M=r.language&&l[r.language]||l.en||l.de||l.ru||"":M=l,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}else{const l=t.lastIndexOf(".");M=t.substring(l+1).replace(/[_.]/g," "),M=m.CapitalWords(M)}return(M==null?void 0:M.trim())||""}static getObjectNameFromObj(e,t,i,r,o){var c,l;const n=e;let M=(e==null?void 0:e._id)||"";if(typeof t=="string"&&!i&&(i={language:t},t=null),i=i||{},t!=null&&t.name){const N=t.name;typeof N=="object"?M=i.language&&N[i.language]||N.en:M=N}else if(r&&((c=n==null?void 0:n.common)!=null&&c.desc)){const N=n.common.desc;typeof N=="object"?M=i.language&&N[i.language]||N.en:M=N,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}else if(!r&&((l=n==null?void 0:n.common)!=null&&l.name)){let N=n.common.name;!N&&n.common.desc&&(N=n.common.desc),typeof N=="object"?M=i.language&&N[i.language]||N.en:M=N,M=(M||"").toString().replace(/[_.]/g," "),M===M.toUpperCase()&&(M=M[0]+M.substring(1).toLowerCase())}return o?M:M.trim()}static getSettingsOrder(e,t,i){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[Dt];const n=i.user||"admin";if(o&&o[n]){if(t){if(o[n].subOrder&&o[n].subOrder[t])return JSON.parse(JSON.stringify(o[n].subOrder[t]))}else if(o[n].order)return JSON.parse(JSON.stringify(o[n].order))}}return null}static getSettingsCustomURLs(e,t,i){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[Dt];const n=i.user||"admin";if(o&&o[n]){if(t){if(o[n].subURLs&&o[n].subURLs[t])return JSON.parse(JSON.stringify(o[n].subURLs[t]))}else if(o[n].URLs)return JSON.parse(JSON.stringify(o[n].URLs))}}return null}static reorder(e,t,i){const r=Array.from(e),[o]=r.splice(t,1);return r.splice(i,0,o),r}static getSettings(e,t,i){let r;const o=(e==null?void 0:e._id)||(t==null?void 0:t.id);let n;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?n=e.common:n=e,n!=null&&n.custom?(r=n.custom,r=r[Dt]&&r[Dt][t.user||"admin"]?JSON.parse(JSON.stringify(r[Dt][t.user||"admin"])):{enabled:!0}):r={enabled:i===void 0?!0:i,useCustom:!1},Object.prototype.hasOwnProperty.call(r,"enabled")||(r.enabled=i===void 0?!0:i),t&&(!r.name&&t.name&&(r.name=t.name),!r.icon&&t.icon&&(r.icon=t.icon),!r.color&&t.color&&(r.color=t.color)),n&&(!r.color&&n.color&&(r.color=n.color),!r.icon&&n.icon&&(r.icon=n.icon),!r.name&&n.name&&(r.name=n.name)),typeof r.name=="object"&&(r.name=t.language&&r.name[t.language]||r.name.en,r.name=(r.name||"").toString().replace(/_/g," "),r.name===r.name.toUpperCase()&&(r.name=r.name[0]+r.name.substring(1).toLowerCase())),!r.name&&o){const M=o.lastIndexOf(".");r.name=o.substring(M+1).replace(/[_.]/g," "),r.name=(r.name||"").toString().replace(/_/g," "),r.name=m.CapitalWords(r.name)}return r}static setSettings(e,t,i){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[Dt]=e.common.custom[Dt]||{},e.common.custom[Dt][i.user||"admin"]=t;const r=e.common.custom[Dt][i.user||"admin"];return r.useCommon&&(r.color!==void 0&&(e.common.color=r.color,delete r.color),r.icon!==void 0&&(e.common.icon=r.icon,delete r.icon),r.name!==void 0&&(typeof e.common.name!="object"&&i.language?e.common.name={[i.language]:r.name}:typeof e.common.name=="object"&&i.language&&(e.common.name[i.language]=r.name),delete r.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 i;if(typeof e=="object"&&(t=e,e=t==null?void 0:t._id),(i=t==null?void 0:t.common)!=null&&i.icon){let r=t.common.icon;if(typeof r=="string"&&r.length<=2||r.startsWith("data:image"))return r;const o=e.split(".");return o[0]==="system"?r=`adapter/${o[2]}${r.startsWith("/")?"":"/"}${r}`:r=`adapter/${o[0]}${r.startsWith("/")?"":"/"}${r}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?r=`../../${r}`:window.location.pathname.match(/material\/[.\d]+/)?r=`../../${r}`:window.location.pathname.match(/material\//)&&(r=`../${r}`),r}return null}static splitCamelCase(e){return e?m.CapitalWords(e):""}static isUseBright(e,t){if(!e)return t===void 0?!0:t;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let i,r,o;const n=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(n&&n.length===4)i=parseInt(n[1],10),r=parseInt(n[2],10),o=parseInt(n[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;i=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),o=parseInt(e.slice(4,6),16)}return i*.299+r*.587+o*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const t=Math.floor(e/3600),i=Math.floor(e%3600/60).toString().padStart(2,"0"),r=(e%60).toString().padStart(2,"0");return t?`${t}:${i}:${r}`:`${i}:${r}`}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&&(m.dateFormat=e.toUpperCase().split(/[.-/]/),m.dateFormat.splice(m.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 i=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(i){const r=[parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10)],o=r.find(n=>n>31);if(o!==void 0){r.splice(r.indexOf(o),1);const n=r.find(M=>M>12);n?(r.splice(r.indexOf(n),1),e=new Date(o,r[0]-1,n)):m.dateFormat[0][0]==="M"&&m.dateFormat[1][0]==="D"?(e=new Date(o,r[0]-1,r[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[1]-1,r[0]))):m.dateFormat[0][0]==="D"&&m.dateFormat[1][0]==="M"?(e=new Date(o,r[1]-1,r[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[0]-1,r[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_${Wh[e.getDay()]}`).replace("ra_dow_","");return t+=`. ${e.getDate()} ${D.t(`ra_month_${Jh[e.getMonth()]}`).replace("ra_month_","")}`,t}static renderTextWithA(e){let t=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(t){const i=[];let r=1;do{const o=e.substring(0,t.index);if(e=e.substring((t.index||0)+t[0].length),o&&i.push(a.createElement("span",{key:`a${r++}`},o)),t[0].startsWith(""))i.push(a.createElement("b",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith(""))i.push(a.createElement("i",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!t&&e&&i.push(a.createElement("span",{key:`a${r++}`},e))}while(t);return i}return e}static getSmartName(e,t,i,r){var n,M;if(!t){if(!r)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const c=e;return(n=c==null?void 0:c.common)!=null&&n.custom&&c.common.custom[i]?c.common.custom[i].smartName:void 0}if(!r)return e[t].common.smartName;const o=e[t];return(M=o==null?void 0:o.common)!=null&&M.custom&&o.common.custom[i]&&o.common.custom[i].smartName||null}static getSmartNameFromObj(e,t,i){var o,n;if(!i)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const r=(n=(o=e==null?void 0:e.common)==null?void 0:o.custom)==null?void 0:n[t];return r?r.smartName:void 0}static enableSmartName(e,t,i){const r=e;i?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName={}):r.common.smartName={}}static removeSmartName(e,t,i){var o,n;const r=e;i?(n=(o=r==null?void 0:r.common)==null?void 0:o.custom)!=null&&n[t]&&(r.common.custom[t]=null):r.common.smartName=null}static updateSmartName(e,t,i,r,o,n){var l,N;const M=D.getLanguage(),c=e;if(typeof c.common.smartName=="string"){const u=c.common.smartName;c.common.smartName={},c.common.smartName[M]=u}if((l=c.native)!=null&&l.byON){delete c.native.byON;let u=c.common.smartName;u&&typeof u!="object"&&(u={en:u,[M]:u}),c.common.smartName=u}if(r!==void 0&&(n?(c.common.custom||={},c.common.custom[o]||={},c.common.custom[o].smartName||={},r?c.common.custom[o].smartName.smartType=r:delete c.common.custom[o].smartName.smartType):(c.common.smartName||={},r?c.common.smartName.smartType=r:delete c.common.smartName.smartType)),i!==void 0&&(n?(c.common.custom||={},c.common.custom[o]||={},c.common.custom[o].smartName||={},c.common.custom[o].smartName.byON=i):(c.common.smartName||={},c.common.smartName.byON=i)),t!==void 0){let u;if(n?(c.common.custom||={},c.common.custom[o]||={},c.common.custom[o].smartName||={},u=c.common.custom[o].smartName):(c.common.smartName||={},u=c.common.smartName),u[M]=t,u&&(!u[M]||u[M]===c.common.name&&!c.common.role)){delete u[M];let L=!0;for(const g in u)if(Object.prototype.hasOwnProperty.call(u,g)){L=!1;break}if(L)if(n&&((N=c.common.custom)!=null&&N[o]))c.common.custom[o].smartName.byON===void 0?delete c.common.custom[o]:(delete c.common.custom[o].en,delete c.common.custom[o].de,delete c.common.custom[o].ru,delete c.common.custom[o].nl,delete c.common.custom[o].pl,delete c.common.custom[o].it,delete c.common.custom[o].fr,delete c.common.custom[o].pt,delete c.common.custom[o].es,delete c.common.custom[o].uk,delete c.common.custom[o]["zh-cn"]);else if(c.common.smartName&&c.common.smartName.byON!==void 0){const g=c.common.smartName;delete g.en,delete g.de,delete g.ru,delete g.nl,delete g.pl,delete g.it,delete g.fr,delete g.pt,delete g.es,delete g.uk,delete g["zh-cn"]}else c.common.smartName=null}}}static updateSmartNameEx(e,t){var o,n,M,c;const i=D.getLanguage(),r=e;if(typeof r.common.smartName=="string"){const l=r.common.smartName;r.common.smartName={},r.common.smartName[i]=l}if((o=r.native)!=null&&o.byON){delete r.native.byON;let l=r.common.smartName;l&&typeof l!="object"&&(l={en:l,[i]:l}),r.common.smartName=l}if(t.smartType!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},t.smartType?r.common.custom[t.instanceId].smartName.smartType=t.smartType:delete r.common.custom[t.instanceId].smartName.smartType):(r.common.smartName||={},t.smartType?r.common.smartName.smartType=t.smartType:delete r.common.smartName.smartType)),t.byON!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.byON=t.byON):(r.common.smartName||={},r.common.smartName.byON=t.byON)),t.noAutoDetect!==void 0&&(t.noCommon?t.noAutoDetect?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.noAutoDetect=t.noAutoDetect):(M=(n=r.common.custom)==null?void 0:n[t.instanceId])!=null&&M.smartName&&delete r.common.custom[t.instanceId].smartName.noAutoDetect:!t.noAutoDetect&&r.common.smartName?delete r.common.smartName.noAutoDetect:(r.common.smartName||={},r.common.smartName.noAutoDetect=t.noAutoDetect)),t.smartName!==void 0){let l;if(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},l=r.common.custom[t.instanceId].smartName):(r.common.smartName||={},l=r.common.smartName),l[i]=t.smartName,l&&(!l[i]||l[i]===r.common.name&&!r.common.role)){delete l[i];let N=!0;for(const u in l)if(Object.prototype.hasOwnProperty.call(l,u)){N=!1;break}if(N)if(t.noCommon&&((c=r.common.custom)!=null&&c[t.instanceId]))r.common.custom[t.instanceId].smartName.byON===void 0?delete r.common.custom[t.instanceId]:(delete r.common.custom[t.instanceId].en,delete r.common.custom[t.instanceId].de,delete r.common.custom[t.instanceId].ru,delete r.common.custom[t.instanceId].nl,delete r.common.custom[t.instanceId].pl,delete r.common.custom[t.instanceId].it,delete r.common.custom[t.instanceId].fr,delete r.common.custom[t.instanceId].pt,delete r.common.custom[t.instanceId].es,delete r.common.custom[t.instanceId].uk,delete r.common.custom[t.instanceId]["zh-cn"]);else if(r.common.smartName&&r.common.smartName.byON!==void 0){const u=r.common.smartName;delete u.en,delete u.de,delete u.ru,delete u.nl,delete u.pl,delete u.it,delete u.fr,delete u.pt,delete u.es,delete u.uk,delete u["zh-cn"]}else r.common.smartName=null}}}static disableSmartName(e,t,i){const r=e;i?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName=!1):r.common.smartName=!1}static copyToClipboard(e,t){return t&&(t.stopPropagation(),t.preventDefault()),_4(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 i=-1;do e/=1024,++i;while(Math.abs(e)>=1024&&i186?`#000000${i||""}`:`#FFFFFF${i||""}`;const M=(255-r).toString(16),c=(255-o).toString(16),l=(255-n).toString(16);return`#${M.padStart(2,"0")}${c.padStart(2,"0")}${l.padStart(2,"0")}${i||""}`}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,i=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let o=(t*.4124+i*.3576+r*.1805)/.95047,n=t*.2126+i*.7152+r*.0722,M=(t*.0193+i*.1192+r*.9505)/1.08883;return o=o>.008856?o**.33333333:7.787*o+.137931,n=n>.008856?n**.33333333:7.787*n+.137931,M=M>.008856?M**.33333333:7.787*M+.137931,[116*n-16,500*(o-n),200*(n-M)]}static colorDistance(e,t){const i=m.color2rgb(e),r=m.color2rgb(t);if(!i||!r)return 0;const o=m.rgb2lab(i),n=m.rgb2lab(r),M=o[0]-n[0],c=o[1]-n[1],l=o[2]-n[2],N=Math.sqrt(o[1]*o[1]+o[2]*o[2]),u=Math.sqrt(n[1]*n[1]+n[2]*n[2]),L=N-u;let g=c*c+l*l-L*L;g=g<0?0:Math.sqrt(g);const j=1+.045*N,y=1+.015*N,T=M,d=L/j,I=g/y,w=T*T+d*d+I*I;return w<0?0:w}static _toVal(e){let t,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e))for(let r=0;r{if(i=i.trim(),i){const r=i.split("="),o=decodeURIComponent(r[0]).trim();if(r.length>1){const n=decodeURIComponent(r[1]);if(n==="true")t[o]=!0;else if(n==="false")t[o]=!1;else{const M=parseFloat(n);M.toString()===n?t[o]=M:t[o]=n}}else t[o]=!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 i;const r=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");return t==="MM/DD/YYYY"?i=`${r}/${o}/${e.getFullYear()}`:i=`${e.getFullYear()}-${r}-${o}`,i+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,i}static formatTime(e){if(e){e=Math.round(e);const t=Math.floor(e/(3600*24)),i=Math.floor(e%(3600*24)/3600),r=Math.floor(e%3600/60),o=e%60;return t?`${t}.${i.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:i?`${i}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:`0:${r.toString().padStart(2,"0")}:${o.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 o;const t=m.MDextractHeader(e),i=t.header;let r=t.body;if(!i.title){r=r.replace(/{[^}]*}/g,""),r=r.trim();const n=r.replace(/\r/g,"").split(` `);for(let M=0;M{if(!n.trim())return;const M=n.indexOf(":");if(M!==-1){const c=n.substring(0,M).trim();let l=n.substring(M+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?t[c]=!0:l==="false"?t[c]=!1:parseFloat(l).toString()===t[c]?t[c]=parseFloat(l):t[c]=l}else t[n.trim()]=!0}),e=e.substring(i+7))}return{header:t,body:e}}static MDremoveDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(i=>e=e.replace(i,"")),e}static generateFile(e,t){const i=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",document.body.appendChild(i),i.click(),document.body.removeChild(i)}static quality2text(e){const t=e&4294901760,i=Cn[e];let r;return i?r=[i]:e&1?r=[Cn[1],`0x${(e&65534).toString(16)}`]:e&2?r=[Cn[2],`0x${(e&65533).toString(16)}`]:r=[`0x${e.toString(16)}`],t&&r.push(`0x${(t>>16).toString(16).toUpperCase()}`),r}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var r;const t=(r=e==null?void 0:e.common)==null?void 0:r.states;let i;if(t)if(typeof t=="string"&&t[0]==="{")try{i=JSON.parse(t)}catch{console.error(`Cannot parse states: ${t}`),i=null}else if(typeof t=="string"){const o=t.split(";");i={};for(let n=0;ni[n]=o):(e==null?void 0:e.common.type)==="string"?t.forEach(o=>i[o]=o):(e==null?void 0:e.common.type)==="boolean"&&(i.false=t[0],i.true=t[1])):typeof t=="object"&&(i=t);return i||null}static async getSvg(e){const i=await(await fetch(e)).blob();return new Promise(r=>{const o=new FileReader;o.onload=()=>{var n;return r(((n=o.result)==null?void 0:n.toString())||"")},o.readAsDataURL(i)})}static detectMimeType(e){const t=Object.keys(Ju).find(i=>e.startsWith(i));return t?Ju[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 i={};for(let r=0;r{if(typeof t[r][o]=="function")i[o]=t[r][o](e);else if(typeof t[r][o]=="object"){const n=t[r][o];i[o]={},Object.keys(n).forEach(M=>{typeof n[M]=="function"?i[o][M]=n(e):(n[M]||n[M]===0)&&(i[o][M]=n[M])})}else(t[r][o]||t[r][o]===0)&&(i[o]=t[r][o])});return i}}const pn={buttonIcon:{marginRight:8}};class Jh 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},i={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(i.minHeight=48),this.props.error&&(t.border="1px solid red"),a.createElement(IN,{style:i},a.createElement(bt,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:t},a.createElement(Xn,{style:e?void 0:pn.buttonIcon}),!e&&D.t("ra_Save")),a.createElement(bt,{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(Xn,{style:e?void 0:pn.buttonIcon}),e?"+":D.t("ra_Save and close"),e&&a.createElement(we,null)),a.createElement("div",{style:{flexGrow:1}}),a.createElement(bt,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:t},a.createElement(we,{style:e?void 0:pn.buttonIcon}),!e&&D.t("ra_Close")))}}const Bu={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class E4 extends De{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(Ae,{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(fe,{id:"ar_confirmation_dialog_title"},this.props.title||D.t("ra_Are you sure?")),a.createElement(_e,null,a.createElement(as,{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(V,{sx:{"& .FormControlLabel-label":Bu.suppress,"&.FormControlLabel-root":Bu.suppressRoot},control:a.createElement(ue,{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(xe,null,a.createElement(q,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(we,null)},this.props.cancel||D.t("ra_Cancel"))))}}class _4 extends De{handleOk(){this.props.onClose&&this.props.onClose()}render(){return a.createElement(Ae,{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(fe,{id:"ar_alert_dialog_title"},this.props.title||D.t("ra_Error")),a.createElement(_e,null,a.createElement(as,{id:"ar_alert_dialog_description"},this.props.text||D.t("ra_Unknown error!"))),a.createElement(xe,null,a.createElement(q,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(We,null)},D.t("ra_Ok"))))}}const Bh="Actions",Rh="Append",Fh="Cancel",Gh="Categories",Hh="Checked",Vh="Delete",Zh="Close",Xh="Commercial",Kh="Configure",qh="Connected",ez="Continue",tz="Copied",sz="Create",iz="Crop",rz="Delete",oz="Delete",nz="Discard",az="Disconnected",Mz="Error",cz="Filter",uz="Friday",lz="Latitude",Nz="Logout",Lz="Longitude",gz="Message",jz="Monday",yz="Name",Tz="Objects",Dz="Ok",dz="Product",hz="Rename/Move/Copy",zz="Repeat",wz="Replace",Iz="Root",Cz="Saturday",pz="Save",Az="Selected",mz="States",fz="Sunday",Oz="Thursday",Ez="Timestamp",_z="Tuesday",xz="Update",Sz="Valid till",kz="Value",vz="Version",Yz="Wednesday",Qz="Width",bz="Yes",Uz="different",$z="Everyone can read object",Pz="Everyone can read state",Wz="Everyone can write object",Jz="Everyone can write state",Bz="Group can read object",Rz="Group can read state",Fz="Group can write object",Gz="Group can write state",Hz="Owner can read object",Vz="Owner can read state",Zz="Owner can write object",Xz="Owner can write state",Kz="Buttons",qz="Changed from",ew="close",tw="Create boolean state",sw="Create channel",iw="Create device",rw="Create number state",ow="Create state",nw="Create string state",aw="days",Mw="Fr",cw="Mo",uw="Sa",lw="Su",Nw="Th",Lw="Tu",gw="We",jw="Expert mode",yw="FALSE",Tw="All files",Dw="Audio",dw="Code/JSON",hw="Images",zw="Text",ww="Video",Iw="Settings",Cw="without",pw="Function",Aw="ID",mw="Name",fw="Role",Ow="Room",Ew="Type",_w="Invalid settings",xw="Last change",Sw="locally",kw="Apr",vw="Aug",Yw="Dec",Qw="Feb",bw="Jan",Uw="Jul",$w="Jun",Pw="Mai",Ww="Mar",Jw="Nov",Bw="Oct",Rw="Sep",Fw="Apr",Gw="Aug",Hw="Dec",Vw="Feb",Zw="Jan",Xw="Jul",Kw="Jun",qw="Mai",eI="Mar",tI="Nov",sI="Oct",iI="Sep",rI="none",oI="Object changed by",nI="Object last changed at",aI="Settings from other adapter %s",MI="Quality code",cI="repeat",uI='To select folder, just hold the key "shift" by clicking the folder.',lI="Show all",NI="State changed by",LI="Object changed from",gI="Timestamp",jI="Acknowledged",yI="Comment",TI="Copy the state value",DI="Hold Cltr/⌘ key to open the link",dI="Custom settings",hI="Delete object",zI="Edit object",wI="Edit the state value",II="Expires in",CI="From",pI="Last changed",AI="Quality",mI="Time stamp",fI="User",OI="Value",EI="TRUE",_I="Value",xI="Warning: The CRON job will run every minute during the specified period!",SI="Warning: The CRON job will run every second during the specified period!",kI="CRON",vI="Date",YI="Dates",QI="Day",bI="Day of week",UI="Every",$I="every N days",PI="every Nth day of the week",WI="every N day of week",JI="every N hours",BI="every N minutes",RI="every N months",FI="every N seconds",GI="every day",HI="every day of the week",VI="every day of the week",ZI="every hour",XI="every minute",KI="every month",qI="every second",eC="From",tC="Hours",sC="Interval",iC="Interval between",rC="Invalid CRON",oC="Minutes",nC="months",aC="Once",MC="Period",cC="Seconds",uC="Simple",lC="Specific time",NC="specific dates",LC="specific day(s) of the week",gC="specific day of weeks",jC="specific hours",yC="specific minutes",TC="specific months",DC="specific seconds",dC="Time",hC="To",zC="Wizard",wC="all",IC="Astro day",CC="Astro night",pC="Dawn",AC="Dusk",mC="Golden hour",fC="Golden hour end",OC="Nadir",EC="Nautical dawn",_C="Nautical dusk",xC="Night",SC="Night end",kC="Solar noon",vC="Sunrise",YC="Sunrise end",QC="Sunset",bC="Sunset start",UC="at",$C="at %s",PC="every day",WC="every hour",JC="every minute",BC="every month",RC="every %s day",FC="every %s hours",GC="every %s minutes",HC="every %s months",VC="every %s weeks",ZC="every %s years",XC="every week",KC="every year",qC="from %s to %s",e2="never",t2="on %s of %s",s2="on %s and %s of",i2="on every date of",r2="%s",o2="%s and %s",n2="on %s",a2="on %s and %s",M2="on weekends",c2="on working days",u2="will ne be not executed any more, because start is in the past",l2="on %s",N2="from %s",L2="Execute from to",g2="to %s",j2="every",y2="Specific time",T2="from",D2="From-to",d2="Interval time",h2="invert",z2="none",w2="on",I2="Period",C2="Daily",p2="Dates",A2="Day",m2="Every",f2="Every day",O2="Every month",E2="Every week",_2="Every year",x2="Hours",S2="Minutes",k2="month",v2="Monthly",Y2="Once",Q2="Specific months",b2="Week",U2="Weekdays",$2="Weekend",P2="Weekly",W2="Workdays",J2="Year",B2="Yearly",R2="Specific time",F2="Time",G2="to",H2="Valid",V2="from",Z2="to",X2="Whole day",K2="every month",q2={"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:Bh,"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:Rh,"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:Fh,"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:Gh,"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:Hh,ra_Clear:Vh,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Click to see in full size":"Click to see in full size","ra_Click to show":"Click to show","ra_Clone current row":"Clone current row",ra_Close:Zh,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:Xh,ra_Configure:Kh,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:qh,ra_Continue:ez,ra_Copied:tz,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:sz,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:iz,"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:rz,ra_Delete:oz,"ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State","ra_Disable/Enable translation":"Disable/Enable translation",ra_Discard:nz,ra_Disconnected:az,"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_Docker is not available":"Docker is not available","ra_Docker is not installed or not running":"Docker is not installed or not running","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:Mz,"ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Expand/Collapse card":"Expand/Collapse card","ra_Export configuration section":"Export configuration section","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:cz,"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:uz,"ra_From file":"From file","ra_From text":"From text","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 and add configuration section":"Import and add configuration section","ra_Import and replace configuration section":"Import and replace configuration section","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 JSON file.":"Invalid JSON file.","ra_Invalid JSON format. Expected an array.":"Invalid JSON format. Expected an array.","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:lz,"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:Nz,ra_Longitude:Lz,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:gz,ra_Monday:jz,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:yz,"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 admin":"No response from admin","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_OAuth Client ID":"OAuth Client ID","ra_OAuth Client secret":"OAuth Client secret",ra_Objects:Tz,ra_Ok:Dz,"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:dz,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Rename_Move_Copy:hz,"ra_Renew %s access":"Renew %s access",ra_Repeat:zz,ra_Replace:wz,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:Iz,ra_Saturday:Cz,ra_Save:pz,"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:Az,"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:mz,"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:fz,"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:Oz,ra_Timestamp:Ez,"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:_z,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:xz,"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:Sz,ra_Value:kz,ra_Version:vz,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:Yz,ra_Width:Qz,"ra_YAML editor":"YAML editor",ra_Yes:bz,"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__:Uz,ra_aclEveryone_read_object:$z,ra_aclEveryone_read_state:Pz,ra_aclEveryone_write_object:Wz,ra_aclEveryone_write_state:Jz,ra_aclGroup_read_object:Bz,ra_aclGroup_read_state:Rz,ra_aclGroup_write_object:Fz,ra_aclGroup_write_state:Gz,ra_aclOwner_read_object:Hz,ra_aclOwner_read_state:Vz,ra_aclOwner_write_object:Zz,ra_aclOwner_write_state:Xz,ra_buttons:Kz,ra_changedFrom:qz,ra_close:ew,ra_create_boolean_state:tw,ra_create_channel:sw,ra_create_device:iw,ra_create_number_state:rw,ra_create_state:ow,ra_create_string_state:nw,ra_daysShortText:aw,ra_dow_Fr:Mw,ra_dow_Mo:cw,ra_dow_Sa:uw,ra_dow_Su:lw,ra_dow_Th:Nw,ra_dow_Tu:Lw,ra_dow_We:gw,ra_expertMode:jw,ra_false:yw,ra_fileType_all:Tw,ra_fileType_audio:Dw,ra_fileType_code:dw,ra_fileType_images:hw,ra_fileType_txt:zw,ra_fileType_video:ww,"ra_fileType_video,":"Video",ra_filter_customs:Iw,ra_filter_customs_without:Cw,ra_filter_func:pw,ra_filter_id:Aw,ra_filter_name:mw,ra_filter_role:fw,ra_filter_room:Ow,ra_filter_type:Ew,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:_w,ra_lastChange:xw,ra_locally:Sw,ra_month_Apr:kw,ra_month_Aug:vw,ra_month_Dec:Yw,ra_month_Feb:Qw,ra_month_Jan:bw,ra_month_Jul:Uw,ra_month_Jun:$w,ra_month_Mai:Pw,ra_month_Mar:Ww,ra_month_Nov:Jw,ra_month_Oct:Bw,ra_month_Sep:Rw,ra_months_Apr:Fw,ra_months_Aug:Gw,ra_months_Dec:Hw,ra_months_Feb:Vw,ra_months_Jan:Zw,ra_months_Jul:Xw,ra_months_Jun:Kw,ra_months_Mai:qw,ra_months_Mar:eI,ra_months_Nov:tI,ra_months_Oct:sI,ra_months_Sep:iI,"ra_no confirm for 5 mins":"no confirm for 5 mins",ra_none:rI,ra_object_changed_by:oI,ra_object_changed_by_user:nI,ra_otherConfig:aI,ra_qualityCode:MI,ra_repeat:cI,ra_select_folder_hint:uI,ra_show_all:lI,ra_state_changed_by:NI,ra_state_changed_from:LI,ra_timestamp:gI,ra_tooltip_ack:jI,ra_tooltip_comment:yI,ra_tooltip_copyState:TI,ra_tooltip_ctrlForLink:DI,ra_tooltip_customConfig:dI,ra_tooltip_deleteObject:hI,ra_tooltip_editObject:zI,ra_tooltip_editState:wI,ra_tooltip_expire:II,ra_tooltip_from:CI,ra_tooltip_lc:pI,ra_tooltip_quality:AI,ra_tooltip_ts:mI,ra_tooltip_user:fI,ra_tooltip_value:OI,ra_true:EI,"ra_use seconds":"use seconds",ra_val:_I,"ra_via internet":"via internet",ra_warning_every_minute:xI,ra_warning_every_second:SI,sc_cron:kI,sc_date:vI,sc_dates:YI,sc_dow:QI,sc_dows:bI,sc_every:UI,sc_everyN_dates:$I,sc_everyN_dow:PI,sc_everyN_dows:WI,sc_everyN_hours:JI,sc_everyN_minutes:BI,sc_everyN_months:RI,sc_everyN_seconds:FI,sc_every_dates:GI,sc_every_dow:HI,sc_every_dows:VI,sc_every_hours:ZI,sc_every_minutes:XI,sc_every_months:KI,sc_every_seconds:qI,sc_from:eC,sc_hours:tC,sc_interval:sC,sc_intervalBetween:iC,sc_invalid_cron:rC,sc_minutes:oC,sc_months:nC,sc_once:aC,sc_period:MC,sc_seconds:cC,sc_simple:uC,sc_specific:lC,sc_specific_dates:NC,sc_specific_dow:LC,sc_specific_dows:gC,sc_specific_hours:jC,sc_specific_minutes:yC,sc_specific_months:TC,sc_specific_seconds:DC,sc_time:dC,sc_to:hC,sc_wizard:zC,sch_all:wC,sch_astroDay:IC,sch_astroNight:CC,sch_astro_dawn:pC,sch_astro_dusk:AC,sch_astro_goldenHour:mC,sch_astro_goldenHourEnd:fC,sch_astro_nadir:OC,sch_astro_nauticalDawn:EC,sch_astro_nauticalDusk:_C,sch_astro_night:xC,sch_astro_nightEnd:SC,sch_astro_solarNoon:kC,sch_astro_sunrise:vC,sch_astro_sunriseEnd:YC,sch_astro_sunset:QC,sch_astro_sunsetStart:bC,sch_at:UC,sch_desc_atTime:$C,sch_desc_everyDay:PC,sch_desc_everyHour:WC,sch_desc_everyMinute:JC,sch_desc_everyMonth:BC,sch_desc_everyNDay:RC,sch_desc_everyNHours:FC,sch_desc_everyNMinutes:GC,sch_desc_everyNMonths:HC,sch_desc_everyNWeeks:VC,sch_desc_everyNYears:ZC,sch_desc_everyWeek:XC,sch_desc_everyYear:KC,sch_desc_intervalFromTo:qC,sch_desc_never:e2,sch_desc_onDate:t2,sch_desc_onDates:s2,sch_desc_onEveryDate:i2,sch_desc_onMonth:r2,sch_desc_onMonths:o2,sch_desc_onWeekday:n2,sch_desc_onWeekdays:a2,sch_desc_onWeekends:M2,sch_desc_onWorkdays:c2,sch_desc_onceInPast:u2,sch_desc_once_on:l2,sch_desc_validFrom:N2,sch_desc_validFromTo:L2,sch_desc_validTo:g2,sch_every:j2,sch_exactTime:y2,sch_from:T2,sch_fromTo:D2,sch_intervalTime:d2,sch_invert:h2,sch_no_one:z2,sch_on:w2,sch_period:I2,sch_periodDaily:C2,sch_periodDates:p2,sch_periodDay:A2,sch_periodEvery:m2,sch_periodEveryDay:f2,sch_periodEveryMonth:O2,sch_periodEveryWeek:E2,sch_periodEveryYear:_2,sch_periodHours:x2,sch_periodMinutes:S2,sch_periodMonth:k2,sch_periodMonthly:v2,sch_periodOnce:Y2,sch_periodSpecificMonths:Q2,sch_periodWeek:b2,sch_periodWeekdays:U2,sch_periodWeekend:$2,sch_periodWeekly:P2,sch_periodWorkdays:W2,sch_periodYear:J2,sch_periodYearly:B2,sch_specificTime:R2,sch_time:F2,sch_to:G2,sch_valid:H2,sch_validFrom:V2,sch_validTo:Z2,sch_wholeDay:X2,sch_yearEveryMonth:K2},ep="Aktionen",tp="Anhängen",sp="Abbrechen",ip="Kategorien",rp="Geprüft",op="Löschen",np="Schließen",ap="Kommerziell",Mp="Konfigurieren",cp="Verbunden",up="Weitermachen",lp="Kopiert",Np="Erstellen",Lp="Ernte",gp="Entf",jp="Löschen",yp="Verwerfen",Tp="Getrennt",Dp="Fehler",dp="Filter",hp="Freitag",zp="Breite",wp="Ausloggen",Ip="Längengrad",Cp="Meldung",pp="Montag",Ap="Name",mp="Objekte",fp="OK",Op="Produkt",Ep="Umbenennen/Verschieben/Kopieren",_p="Wiederholen",xp="Ersetzen",Sp="Anfang",kp="Samstag",vp="Speichern",Yp="Ausgewählt",Qp="Zustände",bp="Sonntag",Up="Donnerstag",$p="Zeitstempel",Pp="Dienstag",Wp="Aktualisieren",Jp="Gültig bis",Bp="Wert",Rp="Ausführung",Fp="Mittwoch",Gp="Breite",Hp="Ja",Vp="unterschiedlich",Zp="Jeder kann Objekt lesen",Xp="Jeder kann Zustand lesen",Kp="Jeder kann ein Objekt schreiben",qp="Jeder kann Zustand schreiben",eA="Gruppe kann Objekt lesen",tA="Gruppe kann Status lesen",sA="Gruppe kann Objekt schreiben",iA="Gruppe kann Status schreiben",rA="Besitzer kann Objekt lesen",oA="Besitzer kann Zustand lesen",nA="Besitzer kann Objekt schreiben",aA="Besitzer kann Zustand schreiben",MA="Tasten",cA="Geändert von",uA="Schließen",lA="Booleschen Zustand erstellen",NA="Kanal erstellen",LA="Gerät erstellen",gA="Nummern-Zustand erstellen",jA="Zustand erstellen",yA="String-Zustand erstellen",TA="T.",DA="Fr",dA="Mo",hA="Sa",zA="So",wA="Do",IA="Di",CA="Mi",pA="Expertenmodus",AA="FALSCH",mA="Alle Dateien",fA="Audio",OA="Code/JSON",EA="Bilder",_A="Text",xA="Video",SA="Einstellungen",kA="ohne",vA="Funktion",YA="ID",QA="Name",bA="Rolle",UA="Raum",$A="Typ",PA="Ungültige Einstellungen",WA="Letzte Änderung",JA="örtlich",BA="Apr",RA="Aug",FA="Dez",GA="Feb",HA="Jan",VA="Jul",ZA="Jun",XA="Mai",KA="Mär",qA="Nov",em="Okt",tm="Sep",sm="Apr",im="Aug",rm="Dez",om="Feb",nm="Jan",am="Jul",Mm="Jun",cm="Mai",um="Mär",lm="Nov",Nm="Okt",Lm="Sep",gm="kein",jm="Objekt geändert von",ym="Objekt zuletzt geändert um",Tm="Einstellungen von anderen Adaptern %s",Dm="Qualitätscode",dm="wiederholen",hm='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',zm="Alle anzeigen",wm="Zustand geändert durch",Im="Objekt geändert von",Cm="Zeitstempel",pm="Bestätigt",Am="Kommentar",mm="Statuswert kopieren",fm="Strg/⌘-Taste gedrückt halten, um den Link zu öffnen",Om="Benutzerdefinierte Einstellungen",Em="Objekt löschen",_m="Objekt bearbeiten",xm="Statuswert bearbeiten",Sm="Läuft ab in",km="Von",vm="Zuletzt geändert",Ym="Qualität",Qm="Zeitstempel",bm="Benutzer",Um="Wert",$m="WAHR",Pm="Wert",Wm="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",Jm="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",Bm="CRON",Rm="Datum",Fm="Tage",Gm="Tag",Hm="Wochentage",Vm="Jeden",Zm="alle N Tage",Xm="jeden x-ten Tag der Woche",Km="alle N Wochentage",qm="alle N Stunden",e3="alle N Minuten",t3="alle N Monate",s3="alle N Sekunden",i3="jeden Tag",r3="jeden Tag der Woche",o3="jeden Tag der Woche",n3="jede Stunde",a3="jede Minute",M3="jeden Monat",c3="jede Sekunde",u3="Von",l3="Stunden",N3="Intervall",L3="Intervall zwischen",g3="Ungültiger CRON",j3="Minuten",y3="Monate",T3="Einmal",D3="Zeitraum",d3="Sekunden",h3="Einfach",z3="Bestimmte Zeit",w3="bestimmte Tage",I3="bestimmte(r) Tag(e) der Woche",C3="bestimmten Wochentag",p3="bestimmte Stunden",A3="bestimmte Minuten",m3="bestimmte Monate",f3="bestimmte Sekunden",O3="Zeit",E3="Bis",_3="Wizard",x3="alle",S3="Astronomischer Tag",k3="Astronomische Nacht",v3="Morgendämmerung",Y3="Abenddämmerung",Q3="Goldene Stunde",b3="Goldene Stundenende",U3="Nadir",$3="Nautische Morgendämmerung",P3="Nautische Abenddämmerung",W3="Nacht",J3="Nachtende",B3="Sonnenmittag",R3="Sonnenaufgang",F3="Sonnenaufgangende",G3="Sonnenuntergang",H3="Sonnenuntergangstart",V3="am",Z3="um %s",X3="jeden Tag",K3="jede Stunde",q3="jede Minute",ef="jeden Monat",tf="jeden %s Tag",sf="alle %s Stunden",rf="alle %s Minuten",of="alle %s Monate",nf="alle %s Wochen",af="alle %s Jahre",Mf="jede Woche",cf="jedes Jahr",uf="von %s bis %s",lf="noch nie",Nf="am %s von %s",Lf="am %s und %s von",gf="an jedem Datum von",jf="%s",yf="%s und %s",Tf="auf %s",Df="auf %s und %s",df="an Wochenenden",hf="an Werktagen",zf="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",wf="auf %s",If="von %s",Cf="Ausführen von bis",pf="bis %s",Af="jeden",mf="Bestimmte Zeit",ff="von",Of="Von bis",Ef="Zeitintervall",_f="umkehren",xf="keiner",Sf="am",kf="Zeitraum",vf="Täglich",Yf="Daten",Qf="Tag",bf="Jeden",Uf="Jeden Tag",$f="Jeden Monat",Pf="Jede Woche",Wf="Jedes Jahr",Jf="Stunden",Bf="Minuten",Rf="Monat",Ff="Monatlich",Gf="Einmal",Hf="Bestimmte Monate",Vf="Woche",Zf="Wochentage",Xf="Wochenende",Kf="Wöchentlich",qf="Arbeitstage",eO="Jahr",tO="Jährlich",sO="Bestimmte Zeit",iO="Zeit",rO="zu",oO="Gültigkeit",nO="von",aO="bis",MO="Ganzer Tag",cO="jeden Monat",uO={"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:ep,"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:tp,"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:sp,"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:ip,"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:rp,ra_Clear:op,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Click to see in full size":"Klicken Sie hier, um die Vollbildansicht zu öffnen.","ra_Click to show":"Zum Anzeigen klicken","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:np,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:ap,ra_Configure:Mp,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:cp,ra_Continue:up,ra_Copied:lp,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:Np,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:Lp,"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:gp,ra_Delete:jp,"ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand","ra_Disable/Enable translation":"Übersetzung deaktivieren/aktivieren",ra_Discard:yp,ra_Disconnected:Tp,"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_Docker is not available":"Docker ist nicht verfügbar","ra_Docker is not installed or not running":"Docker ist nicht installiert oder läuft nicht","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:Dp,"ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Expand/Collapse card":"Karte ein-/ausklappen","ra_Export configuration section":"Konfigurationsabschnitt exportieren","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:dp,"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:hp,"ra_From file":"Aus der Datei","ra_From text":"Aus dem Text","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 and add configuration section":"Konfigurationsabschnitt importieren und hinzufügen","ra_Import and replace configuration section":"Konfigurationsabschnitt importieren und ersetzen","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 JSON file.":"Ungültige JSON-Datei.","ra_Invalid JSON format. Expected an array.":"Ungültiges JSON-Format. Array erwartet.","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:zp,"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:wp,ra_Longitude:Ip,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:Cp,ra_Monday:pp,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:Ap,"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 admin":"Keine Antwort vom Administrator","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_OAuth Client ID":"OAuth-Client-ID","ra_OAuth Client secret":"OAuth-Client-Secret",ra_Objects:mp,ra_Ok:fp,"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:Op,"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:Ep,"ra_Renew %s access":"%s Zugriff erneuern",ra_Repeat:_p,ra_Replace:xp,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:Sp,ra_Saturday:kp,ra_Save:vp,"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:Yp,"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:Qp,"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:bp,"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:Up,ra_Timestamp:$p,"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:Pp,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:Wp,"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:Jp,ra_Value:Bp,ra_Version:Rp,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:Fp,ra_Width:Gp,"ra_YAML editor":"YAML-Editor",ra_Yes:Hp,"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__:Vp,ra_aclEveryone_read_object:Zp,ra_aclEveryone_read_state:Xp,ra_aclEveryone_write_object:Kp,ra_aclEveryone_write_state:qp,ra_aclGroup_read_object:eA,ra_aclGroup_read_state:tA,ra_aclGroup_write_object:sA,ra_aclGroup_write_state:iA,ra_aclOwner_read_object:rA,ra_aclOwner_read_state:oA,ra_aclOwner_write_object:nA,ra_aclOwner_write_state:aA,ra_buttons:MA,ra_changedFrom:cA,ra_close:uA,ra_create_boolean_state:lA,ra_create_channel:NA,ra_create_device:LA,ra_create_number_state:gA,ra_create_state:jA,ra_create_string_state:yA,ra_daysShortText:TA,ra_dow_Fr:DA,ra_dow_Mo:dA,ra_dow_Sa:hA,ra_dow_Su:zA,ra_dow_Th:wA,ra_dow_Tu:IA,ra_dow_We:CA,ra_expertMode:pA,ra_false:AA,ra_fileType_all:mA,ra_fileType_audio:fA,ra_fileType_code:OA,ra_fileType_images:EA,ra_fileType_txt:_A,ra_fileType_video:xA,"ra_fileType_video,":"Video",ra_filter_customs:SA,ra_filter_customs_without:kA,ra_filter_func:vA,ra_filter_id:YA,ra_filter_name:QA,ra_filter_role:bA,ra_filter_room:UA,ra_filter_type:$A,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:PA,ra_lastChange:WA,ra_locally:JA,ra_month_Apr:BA,ra_month_Aug:RA,ra_month_Dec:FA,ra_month_Feb:GA,ra_month_Jan:HA,ra_month_Jul:VA,ra_month_Jun:ZA,ra_month_Mai:XA,ra_month_Mar:KA,ra_month_Nov:qA,ra_month_Oct:em,ra_month_Sep:tm,ra_months_Apr:sm,ra_months_Aug:im,ra_months_Dec:rm,ra_months_Feb:om,ra_months_Jan:nm,ra_months_Jul:am,ra_months_Jun:Mm,ra_months_Mai:cm,ra_months_Mar:um,ra_months_Nov:lm,ra_months_Oct:Nm,ra_months_Sep:Lm,"ra_no confirm for 5 mins":"5 Minuten lang keine Bestätigung",ra_none:gm,ra_object_changed_by:jm,ra_object_changed_by_user:ym,ra_otherConfig:Tm,ra_qualityCode:Dm,ra_repeat:dm,ra_select_folder_hint:hm,ra_show_all:zm,ra_state_changed_by:wm,ra_state_changed_from:Im,ra_timestamp:Cm,ra_tooltip_ack:pm,ra_tooltip_comment:Am,ra_tooltip_copyState:mm,ra_tooltip_ctrlForLink:fm,ra_tooltip_customConfig:Om,ra_tooltip_deleteObject:Em,ra_tooltip_editObject:_m,ra_tooltip_editState:xm,ra_tooltip_expire:Sm,ra_tooltip_from:km,ra_tooltip_lc:vm,ra_tooltip_quality:Ym,ra_tooltip_ts:Qm,ra_tooltip_user:bm,ra_tooltip_value:Um,ra_true:$m,"ra_use seconds":"Sekunden benutzen",ra_val:Pm,"ra_via internet":"übers Internet",ra_warning_every_minute:Wm,ra_warning_every_second:Jm,sc_cron:Bm,sc_date:Rm,sc_dates:Fm,sc_dow:Gm,sc_dows:Hm,sc_every:Vm,sc_everyN_dates:Zm,sc_everyN_dow:Xm,sc_everyN_dows:Km,sc_everyN_hours:qm,sc_everyN_minutes:e3,sc_everyN_months:t3,sc_everyN_seconds:s3,sc_every_dates:i3,sc_every_dow:r3,sc_every_dows:o3,sc_every_hours:n3,sc_every_minutes:a3,sc_every_months:M3,sc_every_seconds:c3,sc_from:u3,sc_hours:l3,sc_interval:N3,sc_intervalBetween:L3,sc_invalid_cron:g3,sc_minutes:j3,sc_months:y3,sc_once:T3,sc_period:D3,sc_seconds:d3,sc_simple:h3,sc_specific:z3,sc_specific_dates:w3,sc_specific_dow:I3,sc_specific_dows:C3,sc_specific_hours:p3,sc_specific_minutes:A3,sc_specific_months:m3,sc_specific_seconds:f3,sc_time:O3,sc_to:E3,sc_wizard:_3,sch_all:x3,sch_astroDay:S3,sch_astroNight:k3,sch_astro_dawn:v3,sch_astro_dusk:Y3,sch_astro_goldenHour:Q3,sch_astro_goldenHourEnd:b3,sch_astro_nadir:U3,sch_astro_nauticalDawn:$3,sch_astro_nauticalDusk:P3,sch_astro_night:W3,sch_astro_nightEnd:J3,sch_astro_solarNoon:B3,sch_astro_sunrise:R3,sch_astro_sunriseEnd:F3,sch_astro_sunset:G3,sch_astro_sunsetStart:H3,sch_at:V3,sch_desc_atTime:Z3,sch_desc_everyDay:X3,sch_desc_everyHour:K3,sch_desc_everyMinute:q3,sch_desc_everyMonth:ef,sch_desc_everyNDay:tf,sch_desc_everyNHours:sf,sch_desc_everyNMinutes:rf,sch_desc_everyNMonths:of,sch_desc_everyNWeeks:nf,sch_desc_everyNYears:af,sch_desc_everyWeek:Mf,sch_desc_everyYear:cf,sch_desc_intervalFromTo:uf,sch_desc_never:lf,sch_desc_onDate:Nf,sch_desc_onDates:Lf,sch_desc_onEveryDate:gf,sch_desc_onMonth:jf,sch_desc_onMonths:yf,sch_desc_onWeekday:Tf,sch_desc_onWeekdays:Df,sch_desc_onWeekends:df,sch_desc_onWorkdays:hf,sch_desc_onceInPast:zf,sch_desc_once_on:wf,sch_desc_validFrom:If,sch_desc_validFromTo:Cf,sch_desc_validTo:pf,sch_every:Af,sch_exactTime:mf,sch_from:ff,sch_fromTo:Of,sch_intervalTime:Ef,sch_invert:_f,sch_no_one:xf,sch_on:Sf,sch_period:kf,sch_periodDaily:vf,sch_periodDates:Yf,sch_periodDay:Qf,sch_periodEvery:bf,sch_periodEveryDay:Uf,sch_periodEveryMonth:$f,sch_periodEveryWeek:Pf,sch_periodEveryYear:Wf,sch_periodHours:Jf,sch_periodMinutes:Bf,sch_periodMonth:Rf,sch_periodMonthly:Ff,sch_periodOnce:Gf,sch_periodSpecificMonths:Hf,sch_periodWeek:Vf,sch_periodWeekdays:Zf,sch_periodWeekend:Xf,sch_periodWeekly:Kf,sch_periodWorkdays:qf,sch_periodYear:eO,sch_periodYearly:tO,sch_specificTime:sO,sch_time:iO,sch_to:rO,sch_valid:oO,sch_validFrom:nO,sch_validTo:aO,sch_wholeDay:MO,sch_yearEveryMonth:cO},lO="Действия",NO="Добавить",LO="Отмена",gO="Категории",jO="Проверено",yO="Удалить",TO="Закрыть",DO="Коммерческая",dO="Настроить",hO="Соединение установлено",zO="Продолжать",wO="скопировано",IO="Создать",CO="Обрезать",pO="Delete",AO="Удалить",mO="Отказаться",fO="Отключено",OO="Ошибка",EO="Фильтр",_O="Пятница",xO="Широта",SO="Выйти",kO="Долгота",vO="Сообщение",YO="Понедельник",QO="Имя",bO="Объекты",UO="Ok",$O="Продукт",PO="Переименовать/Переместить/Копировать",WO="Повторение",JO="Заменять",BO="Начало",RO="Суббота",FO="Сохранить",GO="выбранный",HO="Состояния",VO="Воскресенье",ZO="Четверг",XO="Времени",KO="Вторник",qO="Обновить",eE="Годен до",tE="Значение",sE="Версия",iE="Среда",rE="Ширина",oE="Да",nE="разное",aE="Каждый может читать объект",ME="Каждый может читать состояние",cE="Каждый может написать объект",uE="Каждый может написать состояние",lE="Группа может читать объект",NE="Группа может читать состояние",LE="Группа может писать объект",gE="Группа может записывать состояние",jE="Владелец может читать объект",yE="Владелец может читать состояние",TE="Владелец может писать объект",DE="Владелец может писать состояние",dE="Кнопки",hE="Изменено с",zE="Закрыть",wE="Создать логическое состояние",IE="Создать канал",CE="Создать устройство",pE="Создать состояние номера",AE="Создать состояние",mE="Создать состояние строки",fE="д.",OE="Пт",EE="Пн",_E="Сб",xE="Вс",SE="Чт",kE="Вт",vE="Ср",YE="Экспертный режим",QE="ЛОЖЬ",bE="Все файлы",UE="Аудио",$E="Код/JSON",PE="Картинки",WE="Текст",JE="видео",BE="настройки",RE="без",FE="функция",GE="ID",HE="Имя",VE="роль",ZE="комната",XE="Тип",KE="Неверные настройки",qE="Последнее изменение",e_="локально",t_="Апр",s_="Авг",i_="Дек",r_="Фев",o_="Янв",n_="Июл",a_="Июн",M_="Май",c_="Мрт",u_="Ноя",l_="Окт",N_="Сен",L_="Апр",g_="Авг",j_="Дек",y_="Фев",T_="Янв",D_="Июнь",d_="Июль",h_="Май",z_="Март",w_="Ноя",I_="Окт",C_="Сен",p_="ничего",A_="Объект изменен",m_="Последний раз объект изменен в",f_="Настройки из другого адаптера %s",O_="Код качества",E_="повтор",__="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",x_="Показать все",S_="Состояние изменено",k_="Объект изменен с",v_="Отметка времени",Y_="Подтверждено",Q_="Комментарий",b_="Скопируйте значение состояния",U_="Удерживайте клавишу Cltr/⌘, чтобы открыть ссылку",$_="Пользовательские настройки",P_="Удалить объект",W_="Редактировать объект",J_="Изменить значение состояния",B_="Истекает через",R_="От",F_="Последнее изменение",G_="Качество",H_="Отметка времени",V_="пользователь",Z_="Значение",X_="истинный",K_="Значение",q_="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",ex="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",tx="CRON",sx="Дата",ix="Даты",rx="День",ox="День недели",nx="каждый(ую/ые)",ax="каждый N день",Mx="каждый N-й день недели",cx="каждый N день недели",ux="каждые N часов",lx="каждые N минут",Nx="каждые N месяцев",Lx="каждые N секунд",gx="каждый день",jx="Каждый день недели",yx="каждый день недели",Tx="каждый час",Dx="каждую минуту",dx="каждый месяц",hx="каждую секунду",zx="От",wx="часы",Ix="Интервал",Cx="Интервал между",px="Неверный CRON",Ax="минуты",mx="Месяцы",fx="один раз",Ox="Период",Ex="секунды",_x="Просто",xx="Конкретное время",Sx="конкретные даты",kx="конкретный день(а) недели",vx="конкретный день недели",Yx="конкретные часы",Qx="конкретные минуты",bx="конкретные месяцы",Ux="конкретные секунды",$x="Время",Px="До",Wx="Форма",Jx="все",Bx="днём",Rx="ночью",Fx="Рассвет",Gx="Сумерки",Hx="Золотой час",Vx="Конец золотого часа",Zx="Надир",Xx="Морской рассвет",Kx="Морские сумерки",qx="Ночь",eS="Конец ночи",tS="Солнечный полдень",sS="Восход",iS="Восход солнца",rS="Заход солнца",oS="Начало заката",nS="дата",aS="в %s",MS="каждый день",cS="каждый час",uS="каждую минуту",lS="каждый месяц",NS="каждый %s день",LS="каждый %s часов",gS="каждые %s минут",jS="каждые %s месяцев",yS="каждые %s недель",TS="каждые %s лет",DS="каждую неделю",dS="каждый год",hS="от %s до %s",zS="никогда",wS="%s %s",IS="%s и %s",CS="в каждый день",pS="%s",AS="%s и %s",mS="%s",fS="%s и %s",OS="на выходных",ES="в рабочие дни",_S="не будет больше выполняться, потому что начало в прошлом",xS="%s",SS="%s",kS="Выполнить с",vS="%s",YS="каждый",QS="Конкретное время",bS="от",US="От и до",$S="Интервал времени",PS="инвертировать",WS="никакой",JS="на",BS="период",RS="Ежедневно",FS="Даты",GS="День",HS="каждый",VS="Каждый день",ZS="Каждый месяц",XS="Каждую неделю",KS="Каждый год",qS="часов",e5="минут",t5="месяц",s5="ежемесячно",i5="однажды",r5="Конкретные месяцы",o5="Неделю",n5="Будние дни",a5="выходные",M5="еженедельно",c5="Рабочие дни",u5="Год",l5="каждый год",N5="Конкретное время",L5="Время",g5="в",j5="действительный",y5="от",T5="в",D5="Весь день",d5="каждый месяц",h5={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию",ra_Actions:lO,"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:NO,"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:LO,"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:gO,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:jO,ra_Clear:yO,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Click to see in full size":"Нажмите, чтобы посмотреть в полном размере","ra_Click to show":"Нажмите, чтобы показать","ra_Clone current row":"Клонировать текущую строку",ra_Close:TO,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:DO,ra_Configure:dO,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:hO,ra_Continue:zO,ra_Copied:wO,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:IO,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:CO,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:pO,ra_Delete:AO,"ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние","ra_Disable/Enable translation":"Включить/отключить перевод",ra_Discard:mO,ra_Disconnected:fO,"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_Docker is not available":"Докер недоступен","ra_Docker is not installed or not running":"Docker не установлен или не запущен","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:OO,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Expand/Collapse card":"Развернуть/Свернуть карточку","ra_Export configuration section":"Раздел конфигурации экспорта","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:EO,"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:_O,"ra_From file":"Из файла","ra_From text":"Из текста","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 and add configuration section":"Импорт и добавление раздела конфигурации","ra_Import and replace configuration section":"Импорт и замена раздела конфигурации","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 JSON file.":"Неверный файл JSON.","ra_Invalid JSON format. Expected an array.":"Недопустимый формат JSON. Ожидается массив.","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:xO,"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:SO,ra_Longitude:kO,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:vO,ra_Monday:YO,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:QO,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from admin":"Нет ответа от администратора","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_OAuth Client ID":"Идентификатор клиента OAuth","ra_OAuth Client secret":"Секрет клиента OAuth",ra_Objects:bO,ra_Ok:UO,"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:$O,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Rename_Move_Copy:PO,"ra_Renew %s access":"Продлить доступ %s",ra_Repeat:WO,ra_Replace:JO,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:BO,ra_Saturday:RO,ra_Save:FO,"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:GO,"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:HO,"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:VO,"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:ZO,ra_Timestamp:XO,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:KO,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:qO,"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:eE,ra_Value:tE,ra_Version:sE,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:iE,ra_Width:rE,"ra_YAML editor":"Редактор YAML",ra_Yes:oE,"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__:nE,ra_aclEveryone_read_object:aE,ra_aclEveryone_read_state:ME,ra_aclEveryone_write_object:cE,ra_aclEveryone_write_state:uE,ra_aclGroup_read_object:lE,ra_aclGroup_read_state:NE,ra_aclGroup_write_object:LE,ra_aclGroup_write_state:gE,ra_aclOwner_read_object:jE,ra_aclOwner_read_state:yE,ra_aclOwner_write_object:TE,ra_aclOwner_write_state:DE,ra_buttons:dE,ra_changedFrom:hE,ra_close:zE,ra_create_boolean_state:wE,ra_create_channel:IE,ra_create_device:CE,ra_create_number_state:pE,ra_create_state:AE,ra_create_string_state:mE,ra_daysShortText:fE,ra_dow_Fr:OE,ra_dow_Mo:EE,ra_dow_Sa:_E,ra_dow_Su:xE,ra_dow_Th:SE,ra_dow_Tu:kE,ra_dow_We:vE,ra_expertMode:YE,ra_false:QE,ra_fileType_all:bE,ra_fileType_audio:UE,ra_fileType_code:$E,ra_fileType_images:PE,ra_fileType_txt:WE,ra_fileType_video:JE,"ra_fileType_video,":"видео",ra_filter_customs:BE,ra_filter_customs_without:RE,ra_filter_func:FE,ra_filter_id:GE,ra_filter_name:HE,ra_filter_role:VE,ra_filter_room:ZE,ra_filter_type:XE,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:KE,ra_lastChange:qE,ra_locally:e_,ra_month_Apr:t_,ra_month_Aug:s_,ra_month_Dec:i_,ra_month_Feb:r_,ra_month_Jan:o_,ra_month_Jul:n_,ra_month_Jun:a_,ra_month_Mai:M_,ra_month_Mar:c_,ra_month_Nov:u_,ra_month_Oct:l_,ra_month_Sep:N_,ra_months_Apr:L_,ra_months_Aug:g_,ra_months_Dec:j_,ra_months_Feb:y_,ra_months_Jan:T_,ra_months_Jul:D_,ra_months_Jun:d_,ra_months_Mai:h_,ra_months_Mar:z_,ra_months_Nov:w_,ra_months_Oct:I_,ra_months_Sep:C_,"ra_no confirm for 5 mins":"не спрашивать подтверждения в течение 5 минут",ra_none:p_,ra_object_changed_by:A_,ra_object_changed_by_user:m_,ra_otherConfig:f_,ra_qualityCode:O_,ra_repeat:E_,ra_select_folder_hint:__,ra_show_all:x_,ra_state_changed_by:S_,ra_state_changed_from:k_,ra_timestamp:v_,ra_tooltip_ack:Y_,ra_tooltip_comment:Q_,ra_tooltip_copyState:b_,ra_tooltip_ctrlForLink:U_,ra_tooltip_customConfig:$_,ra_tooltip_deleteObject:P_,ra_tooltip_editObject:W_,ra_tooltip_editState:J_,ra_tooltip_expire:B_,ra_tooltip_from:R_,ra_tooltip_lc:F_,ra_tooltip_quality:G_,ra_tooltip_ts:H_,ra_tooltip_user:V_,ra_tooltip_value:Z_,ra_true:X_,"ra_use seconds":"секунды",ra_val:K_,"ra_via internet":"через интернет",ra_warning_every_minute:q_,ra_warning_every_second:ex,sc_cron:tx,sc_date:sx,sc_dates:ix,sc_dow:rx,sc_dows:ox,sc_every:nx,sc_everyN_dates:ax,sc_everyN_dow:Mx,sc_everyN_dows:cx,sc_everyN_hours:ux,sc_everyN_minutes:lx,sc_everyN_months:Nx,sc_everyN_seconds:Lx,sc_every_dates:gx,sc_every_dow:jx,sc_every_dows:yx,sc_every_hours:Tx,sc_every_minutes:Dx,sc_every_months:dx,sc_every_seconds:hx,sc_from:zx,sc_hours:wx,sc_interval:Ix,sc_intervalBetween:Cx,sc_invalid_cron:px,sc_minutes:Ax,sc_months:mx,sc_once:fx,sc_period:Ox,sc_seconds:Ex,sc_simple:_x,sc_specific:xx,sc_specific_dates:Sx,sc_specific_dow:kx,sc_specific_dows:vx,sc_specific_hours:Yx,sc_specific_minutes:Qx,sc_specific_months:bx,sc_specific_seconds:Ux,sc_time:$x,sc_to:Px,sc_wizard:Wx,sch_all:Jx,sch_astroDay:Bx,sch_astroNight:Rx,sch_astro_dawn:Fx,sch_astro_dusk:Gx,sch_astro_goldenHour:Hx,sch_astro_goldenHourEnd:Vx,sch_astro_nadir:Zx,sch_astro_nauticalDawn:Xx,sch_astro_nauticalDusk:Kx,sch_astro_night:qx,sch_astro_nightEnd:eS,sch_astro_solarNoon:tS,sch_astro_sunrise:sS,sch_astro_sunriseEnd:iS,sch_astro_sunset:rS,sch_astro_sunsetStart:oS,sch_at:nS,sch_desc_atTime:aS,sch_desc_everyDay:MS,sch_desc_everyHour:cS,sch_desc_everyMinute:uS,sch_desc_everyMonth:lS,sch_desc_everyNDay:NS,sch_desc_everyNHours:LS,sch_desc_everyNMinutes:gS,sch_desc_everyNMonths:jS,sch_desc_everyNWeeks:yS,sch_desc_everyNYears:TS,sch_desc_everyWeek:DS,sch_desc_everyYear:dS,sch_desc_intervalFromTo:hS,sch_desc_never:zS,sch_desc_onDate:wS,sch_desc_onDates:IS,sch_desc_onEveryDate:CS,sch_desc_onMonth:pS,sch_desc_onMonths:AS,sch_desc_onWeekday:mS,sch_desc_onWeekdays:fS,sch_desc_onWeekends:OS,sch_desc_onWorkdays:ES,sch_desc_onceInPast:_S,sch_desc_once_on:xS,sch_desc_validFrom:SS,sch_desc_validFromTo:kS,sch_desc_validTo:vS,sch_every:YS,sch_exactTime:QS,sch_from:bS,sch_fromTo:US,sch_intervalTime:$S,sch_invert:PS,sch_no_one:WS,sch_on:JS,sch_period:BS,sch_periodDaily:RS,sch_periodDates:FS,sch_periodDay:GS,sch_periodEvery:HS,sch_periodEveryDay:VS,sch_periodEveryMonth:ZS,sch_periodEveryWeek:XS,sch_periodEveryYear:KS,sch_periodHours:qS,sch_periodMinutes:e5,sch_periodMonth:t5,sch_periodMonthly:s5,sch_periodOnce:i5,sch_periodSpecificMonths:r5,sch_periodWeek:o5,sch_periodWeekdays:n5,sch_periodWeekend:a5,sch_periodWeekly:M5,sch_periodWorkdays:c5,sch_periodYear:u5,sch_periodYearly:l5,sch_specificTime:N5,sch_time:L5,sch_to:g5,sch_valid:j5,sch_validFrom:y5,sch_validTo:T5,sch_wholeDay:D5,sch_yearEveryMonth:d5},z5="Ações",w5="Acrescentar",I5="Cancelar",C5="Categorias",p5="Verificado",A5="Excluir",m5="Perto",f5="Comercial",O5="Configurar",E5="Conectado",_5="Continuar",x5="Copiado",S5="Crio",k5="Colheita",v5="Delete",Y5="Excluir",Q5="Descartar",b5="Desconectado",U5="Erro",$5="Filtro",P5="Sexta-feira",W5="Latitude",J5="Sair",B5="Longitude",R5="mensagem",F5="Segunda-feira",G5="Nome",H5="Objetos",V5="Está bem",Z5="produtos",X5="Renomear/Mover/Copiar",K5="Repita",q5="Substituir",ek="Raiz",tk="Sábado",sk="Salve ",ik="Selecionado",rk="Estados",ok="Domingo",nk="Quinta-feira",ak="Timestamp",Mk="Terça-feira",ck="Atualizar",uk="Válida até",lk="Valor",Nk="Versão",Lk="Quarta-feira",gk="Largura",jk="Sim",yk="diferente",Tk="Todos podem ler objetos",Dk="Todos podem ler o estado",dk="Todos podem escrever objetos",hk="Todos podem escrever o estado",zk="O grupo pode ler o objeto",wk="O grupo pode ler o estado",Ik="O grupo pode escrever o objeto",Ck="O grupo pode escrever o estado",pk="O proprietário pode ler o objeto",Ak="O proprietário pode ler o estado",mk="O proprietário pode escrever o objeto",fk="O proprietário pode escrever o estado",Ok="Botões",Ek="Mudou de",_k="fechar",xk="Criar estado booleano",Sk="Criar canal",kk="Criar dispositivo",vk="Criar estado numérico",Yk="Criar estado",Qk="Criar estado de string",bk="d.",Uk="Fr",$k="Mo",Pk="Sa",Wk="Su",Jk="º",Bk="Tu",Rk="Nós",Fk="Modo especialista",Gk="FALSO",Hk="Todos os arquivos",Vk="áudio",Zk="Código/JSON",Xk="Imagens",Kk="Texto",qk="Vídeo",ev="Configurações",tv="sem",sv="Função",iv="ID",rv="Nome",ov="Papel (Função)",nv="Quarto",av="Tipo",Mv="Configurações inválidas",cv="Última mudança",uv="localmente",lv="abril",Nv="agosto",Lv="dezembro",gv="fevereiro",jv="janeiro",yv="julho",Tv="junho",Dv="Mai",dv="março",hv="novembro",zv="outubro",wv="setembro",Iv="abril",Cv="agosto",pv="dezembro",Av="fevereiro",mv="janeiro",fv="julho",Ov="junho",Ev="Mai",_v="março",xv="novembro",Sv="outubro",kv="setembro",vv="Nenhum",Yv="Objeto alterado por",Qv="Objeto alterado pela última vez em",bv="Configurações de outro adaptador %s",Uv="Código de qualidade",$v="repetir",Pv='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',Wv="Mostrar tudo",Jv="Estado alterado por",Bv="Objeto alterado de",Rv="Timestamp",Fv="Confirmado",Gv="Comente",Hv="Copie o valor do estado",Vv="Segure a tecla Ctrl/⌘ para abrir o link",Zv="Opções customizadas",Xv="Excluir objeto",Kv="Editar objeto",qv="Edite o valor do estado",eY="Expira em",tY="De",sY="Última alteração",iY="Qualidade",rY="Timestamp",oY="Usuário",nY="Valor",aY="verdadeiro",MY="Valor",cY="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",uY="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",lY="CRON",NY="Data",LY="Dias",gY="Dia",jY="Dia da semana",yY="todos",TY="a cada N dias",DY="todo enésimo dia da semana",dY="todos os N dias da semana",hY="a cada N horas",zY="a cada N minutos",wY="a cada N meses",IY="a cada N segundos",CY="todo dia",pY="todos os dias da semana",AY="todos os dias da semana",mY="toda hora",fY="todo minuto",OY="todo mês",EY="todo segundo",_Y="de",xY="horas",SY="intervalo",kY="intervalo entre",vY="CRON inválido",YY="minutos",QY="meses",bY="uma vez",UY="período",$Y="segundos",PY="simples",WY="tempo específico",JY="datas específicas",BY="dia(s) específico(s) da semana",RY="dia específico de semanas",FY="horas específicas",GY="minutos específicos",HY="meses específicos",VY="segundos específicos",ZY="tempo",XY="para",KY="assistente",qY="tudo",eQ="dia astral",tQ="noite astral",sQ="amanhecer",iQ="anoitecer",rQ="hora dourada",oQ="Fim da hora dourada",nQ="nadir",aQ="Amanhecer náutico",MQ="Anoitecer náutico",cQ="noite",uQ="fim da noite",lQ="meio-dia solar",NQ="nascer do sol",LQ="fim do nascer do sol",gQ="pôr do sol",jQ="início do pôr do sol",yQ="às",TQ="em %s",DQ="todo dia",dQ="toda hora",hQ="todo minuto",zQ="todo mês",wQ="a cada %s dias",IQ="a cada %s horas",CQ="a cada %s minutos",pQ="a cada %s meses",AQ="a cada %s semanas",mQ="a cada %s anos",fQ="toda semana",OQ="todo ano",EQ="de %s para %s",_Q="nunca",xQ="em %s de %s",SQ="em %s e %s de",kQ="em toda data de",vQ="%s",YQ="%s e %s",QQ="em %s",bQ="em %s e %s",UQ="nos fins de semana",$Q="em dias úteis",PQ="não será mais executado, porque o começo está no passado",WQ="em %s",JQ="de %s",BQ="Executar de até",RQ="até %s",FQ="cada",GQ="tempo específico",HQ="de",VQ="de a´t",ZQ="tempo de intervalo",XQ="invertido",KQ="nenhum",qQ="em",eb="período",tb="diariamente",sb="datas",ib="dia",rb="todos",ob="todo dia",nb="todo mês",ab="toda semana",Mb="todo ano",cb="horas",ub="minutos",lb="mês",Nb="por mês",Lb="uma vez",gb="meses específicos",jb="semana",yb="dias úteis",Tb="final de semana",Db="semanal",db="dias úteis",hb="ano",zb="anual",wb="tempo específico",Ib="tempo",Cb="para",pb="válido",Ab="de",mb="para",fb="dia inteiro",Ob="todo mês",Eb={"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:z5,"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:w5,"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:I5,"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:C5,"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:p5,ra_Clear:A5,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Click to see in full size":"Clique para ver em tamanho real.","ra_Click to show":"Clique para mostrar","ra_Clone current row":"Clonar linha atual",ra_Close:m5,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:f5,ra_Configure:O5,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:E5,ra_Continue:_5,ra_Copied:x5,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:S5,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:k5,"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:v5,ra_Delete:Y5,"ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Desativar/Ativar tradução",ra_Discard:Q5,ra_Disconnected:b5,"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_Docker is not available":"O Docker não está disponível","ra_Docker is not installed or not running":"O Docker não está instalado ou não está em execução","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:U5,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","ra_Expand/Collapse card":"Expandir/Recolher cartão","ra_Export configuration section":"Seção de configuração de exportação","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:$5,"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:P5,"ra_From file":"Do arquivo","ra_From text":"Do texto","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 and add configuration section":"Seção de importação e adição de configuração","ra_Import and replace configuration section":"Seção de configuração de importação e substituição","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 JSON file.":"Arquivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Esperava-se uma matriz.","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:W5,"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:J5,ra_Longitude:B5,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:R5,ra_Monday:F5,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:G5,"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 admin":"Nenhuma resposta do administrador","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_OAuth Client ID":"ID do cliente OAuth","ra_OAuth Client secret":"Segredo do cliente OAuth",ra_Objects:H5,ra_Ok:V5,"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:Z5,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Rename_Move_Copy:X5,"ra_Renew %s access":"Renovar acesso %s",ra_Repeat:K5,ra_Replace:q5,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:ek,ra_Saturday:tk,ra_Save:sk,"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:ik,"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:rk,"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:ok,"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:nk,ra_Timestamp:ak,"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:Mk,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:ck,"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:uk,ra_Value:lk,ra_Version:Nk,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:Lk,ra_Width:gk,"ra_YAML editor":"Editor YAML",ra_Yes:jk,"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__:yk,ra_aclEveryone_read_object:Tk,ra_aclEveryone_read_state:Dk,ra_aclEveryone_write_object:dk,ra_aclEveryone_write_state:hk,ra_aclGroup_read_object:zk,ra_aclGroup_read_state:wk,ra_aclGroup_write_object:Ik,ra_aclGroup_write_state:Ck,ra_aclOwner_read_object:pk,ra_aclOwner_read_state:Ak,ra_aclOwner_write_object:mk,ra_aclOwner_write_state:fk,ra_buttons:Ok,ra_changedFrom:Ek,ra_close:_k,ra_create_boolean_state:xk,ra_create_channel:Sk,ra_create_device:kk,ra_create_number_state:vk,ra_create_state:Yk,ra_create_string_state:Qk,ra_daysShortText:bk,ra_dow_Fr:Uk,ra_dow_Mo:$k,ra_dow_Sa:Pk,ra_dow_Su:Wk,ra_dow_Th:Jk,ra_dow_Tu:Bk,ra_dow_We:Rk,ra_expertMode:Fk,ra_false:Gk,ra_fileType_all:Hk,ra_fileType_audio:Vk,ra_fileType_code:Zk,ra_fileType_images:Xk,ra_fileType_txt:Kk,ra_fileType_video:qk,"ra_fileType_video,":"Vídeo",ra_filter_customs:ev,ra_filter_customs_without:tv,ra_filter_func:sv,ra_filter_id:iv,ra_filter_name:rv,ra_filter_role:ov,ra_filter_room:nv,ra_filter_type:av,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:Mv,ra_lastChange:cv,ra_locally:uv,ra_month_Apr:lv,ra_month_Aug:Nv,ra_month_Dec:Lv,ra_month_Feb:gv,ra_month_Jan:jv,ra_month_Jul:yv,ra_month_Jun:Tv,ra_month_Mai:Dv,ra_month_Mar:dv,ra_month_Nov:hv,ra_month_Oct:zv,ra_month_Sep:wv,ra_months_Apr:Iv,ra_months_Aug:Cv,ra_months_Dec:pv,ra_months_Feb:Av,ra_months_Jan:mv,ra_months_Jul:fv,ra_months_Jun:Ov,ra_months_Mai:Ev,ra_months_Mar:_v,ra_months_Nov:xv,ra_months_Oct:Sv,ra_months_Sep:kv,"ra_no confirm for 5 mins":"sem confirmação por 5 minutos",ra_none:vv,ra_object_changed_by:Yv,ra_object_changed_by_user:Qv,ra_otherConfig:bv,ra_qualityCode:Uv,ra_repeat:$v,ra_select_folder_hint:Pv,ra_show_all:Wv,ra_state_changed_by:Jv,ra_state_changed_from:Bv,ra_timestamp:Rv,ra_tooltip_ack:Fv,ra_tooltip_comment:Gv,ra_tooltip_copyState:Hv,ra_tooltip_ctrlForLink:Vv,ra_tooltip_customConfig:Zv,ra_tooltip_deleteObject:Xv,ra_tooltip_editObject:Kv,ra_tooltip_editState:qv,ra_tooltip_expire:eY,ra_tooltip_from:tY,ra_tooltip_lc:sY,ra_tooltip_quality:iY,ra_tooltip_ts:rY,ra_tooltip_user:oY,ra_tooltip_value:nY,ra_true:aY,"ra_use seconds":"use segundos",ra_val:MY,"ra_via internet":"via internet",ra_warning_every_minute:cY,ra_warning_every_second:uY,sc_cron:lY,sc_date:NY,sc_dates:LY,sc_dow:gY,sc_dows:jY,sc_every:yY,sc_everyN_dates:TY,sc_everyN_dow:DY,sc_everyN_dows:dY,sc_everyN_hours:hY,sc_everyN_minutes:zY,sc_everyN_months:wY,sc_everyN_seconds:IY,sc_every_dates:CY,sc_every_dow:pY,sc_every_dows:AY,sc_every_hours:mY,sc_every_minutes:fY,sc_every_months:OY,sc_every_seconds:EY,sc_from:_Y,sc_hours:xY,sc_interval:SY,sc_intervalBetween:kY,sc_invalid_cron:vY,sc_minutes:YY,sc_months:QY,sc_once:bY,sc_period:UY,sc_seconds:$Y,sc_simple:PY,sc_specific:WY,sc_specific_dates:JY,sc_specific_dow:BY,sc_specific_dows:RY,sc_specific_hours:FY,sc_specific_minutes:GY,sc_specific_months:HY,sc_specific_seconds:VY,sc_time:ZY,sc_to:XY,sc_wizard:KY,sch_all:qY,sch_astroDay:eQ,sch_astroNight:tQ,sch_astro_dawn:sQ,sch_astro_dusk:iQ,sch_astro_goldenHour:rQ,sch_astro_goldenHourEnd:oQ,sch_astro_nadir:nQ,sch_astro_nauticalDawn:aQ,sch_astro_nauticalDusk:MQ,sch_astro_night:cQ,sch_astro_nightEnd:uQ,sch_astro_solarNoon:lQ,sch_astro_sunrise:NQ,sch_astro_sunriseEnd:LQ,sch_astro_sunset:gQ,sch_astro_sunsetStart:jQ,sch_at:yQ,sch_desc_atTime:TQ,sch_desc_everyDay:DQ,sch_desc_everyHour:dQ,sch_desc_everyMinute:hQ,sch_desc_everyMonth:zQ,sch_desc_everyNDay:wQ,sch_desc_everyNHours:IQ,sch_desc_everyNMinutes:CQ,sch_desc_everyNMonths:pQ,sch_desc_everyNWeeks:AQ,sch_desc_everyNYears:mQ,sch_desc_everyWeek:fQ,sch_desc_everyYear:OQ,sch_desc_intervalFromTo:EQ,sch_desc_never:_Q,sch_desc_onDate:xQ,sch_desc_onDates:SQ,sch_desc_onEveryDate:kQ,sch_desc_onMonth:vQ,sch_desc_onMonths:YQ,sch_desc_onWeekday:QQ,sch_desc_onWeekdays:bQ,sch_desc_onWeekends:UQ,sch_desc_onWorkdays:$Q,sch_desc_onceInPast:PQ,sch_desc_once_on:WQ,sch_desc_validFrom:JQ,sch_desc_validFromTo:BQ,sch_desc_validTo:RQ,sch_every:FQ,sch_exactTime:GQ,sch_from:HQ,sch_fromTo:VQ,sch_intervalTime:ZQ,sch_invert:XQ,sch_no_one:KQ,sch_on:qQ,sch_period:eb,sch_periodDaily:tb,sch_periodDates:sb,sch_periodDay:ib,sch_periodEvery:rb,sch_periodEveryDay:ob,sch_periodEveryMonth:nb,sch_periodEveryWeek:ab,sch_periodEveryYear:Mb,sch_periodHours:cb,sch_periodMinutes:ub,sch_periodMonth:lb,sch_periodMonthly:Nb,sch_periodOnce:Lb,sch_periodSpecificMonths:gb,sch_periodWeek:jb,sch_periodWeekdays:yb,sch_periodWeekend:Tb,sch_periodWeekly:Db,sch_periodWorkdays:db,sch_periodYear:hb,sch_periodYearly:zb,sch_specificTime:wb,sch_time:Ib,sch_to:Cb,sch_valid:pb,sch_validFrom:Ab,sch_validTo:mb,sch_wholeDay:fb,sch_yearEveryMonth:Ob},_b="Acties",xb="toevoegen",Sb="Annuleer",kb="Categorieën",vb="Gecontroleerd",Yb="Verwijderen",Qb="Dichtbij",bb="Reclame",Ub="Configureren",$b="Verbonden",Pb="Doorgaan",Wb="Gekopieerd",Jb="Creëer",Bb="Bijsnijden",Rb="Delete",Fb="Verwijderen",Gb="Weggooien",Hb="Verbinding verbroken",Vb="Fout",Zb="Filter",Xb="Vrijdag",Kb="Breedtegraad",qb="Uitloggen",eU="Lengtegraad",tU="Bericht",sU="Maandag",iU="Naam",rU="Voorwerpen",oU="OK",nU="Product",aU="Hernoemen/Verplaatsen/Kopiëren",MU="Herhaling",cU="Vervangen",uU="Wortel",lU="Zaterdag",NU="Sparen",LU="Geselecteerd",gU="Staten",jU="Zondag",yU="Donderdag",TU="Tijdstempel",DU="Dinsdag",dU="Bijwerken",hU="Geldig tot",zU="Waarde",wU="Versie",IU="Woensdag",CU="Breedte",pU="Ja",AU="verschillend",mU="Iedereen kan object lezen",fU="Iedereen kan staat lezen",OU="Iedereen kan object schrijven",EU="Iedereen kan staat schrijven",_U="Groep kan object lezen",xU="Groep kan status lezen",SU="Groep kan object schrijven",kU="Groep kan staat schrijven",vU="Eigenaar kan object lezen",YU="Eigenaar kan staat lezen",QU="Eigenaar kan object schrijven",bU="Eigenaar kan staat schrijven",UU="Toetsen",$U="Veranderd van",PU="dichtbij",WU="Creëer een Booleaanse status",JU="Kanaal maken",BU="Apparaat maken",RU="Nummerstatus maken",FU="Staat creëren",GU="Tekenreeksstatus maken",HU="d.",VU="Fr",ZU="Mo",XU="Za",KU="Zo",qU="Th",e8="Tu",t8="Wij",s8="Expert modus",i8="ONWAAR",r8="Alle bestanden",o8="Audio",n8="Code/JSON",a8="Afbeeldingen",M8="Tekst",c8="Video",u8="Instellingen",l8="zonder",N8="Functie",L8="ID",g8="Naam",j8="Rol",y8="Kamer",T8="Type",D8="Ongeldige instellingen",d8="Laatste wijziging",h8="plaatselijk",z8="april",w8="aug",I8="dec",C8="februari",p8="jan",A8="jul",m8="juni",f8="Mei",O8="mrt",E8="nov",_8="Okt",x8="sept",S8="april",k8="aug",v8="dec",Y8="februari",Q8="jan",b8="jul",U8="juni",$8="Mei",P8="mrt",W8="nov",J8="Okt",B8="sept",R8="geen",F8="Object veranderd door",G8="Object voor het laatst gewijzigd om",H8="Instellingen van andere adapter %s",V8="Kwaliteitscode",Z8="herhalen",X8='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',K8="Alles weergeven",q8="Staat veranderd door",e6="Object veranderd van",t6="Tijdstempel",s6="Erkende vlag",i6="Opmerking",r6="Kopieer de statuswaarde",o6="Houd de Cltr/⌘-toets ingedrukt om de link te openen",n6="Aangepaste instellingen",a6="Object verwijderen",M6="Object bewerken",c6="Bewerk de statuswaarde",u6="Verloopt over",l6="Van",N6="Laatst gewijzigd",L6="Kwaliteit",g6="Tijdstempel",j6="Gebruiker",y6="Waarde",T6="WAAR",D6="Waarde",d6="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",h6="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",z6="CRON",w6="Datum",I6="data",C6="Dag",p6="Dag van de week",A6="elk",m6="elke N dagen",f6="elke N-de dag van de week",O6="elke N dag van de week",E6="elke N uur",_6="elke N minuten",x6="elke N maanden",S6="elke N seconden",k6="elke dag",v6="elke dag van de week",Y6="elke dag van de week",Q6="elk uur",b6="elke minuut",U6="elke maand",$6="elke seconde",P6="Van",W6="uren",J6="Interval",B6="Interval tussen",R6="Ongeldige CRON",F6="Notulen",G6="maanden",H6="Een keer",V6="Periode",Z6="seconden",X6="Gemakkelijk",K6="Specifieke tijd",q6="specifieke data",e9="specifieke dag(en) van de week",t9="specifieke dag van weken",s9="specifieke uren",i9="specifieke minuten",r9="specifieke maanden",o9="specifieke seconden",n9="Tijd",a9="Naar",M9="tovenaar",c9="allemaal",u9="Astro-dag",l9="Astro-nacht",N9="Dageraad",L9="Schemer",g9="gouden uur",j9="Gouden uur einde",y9="Nadir",T9="Nautische dageraad",D9="Nautische schemering",d9="Nacht",h9="Nacht einde",z9="Zonne middag",w9="zonsopkomst",I9="Sunrise einde",C9="Zonsondergang",p9="Zonsondergang start",A9="Bij",m9="op %s",f9="elke dag",O9="elk uur",E9="elke minuut",_9="elke maand",x9="elke %s dag",S9="elke %s uur",k9="elke %s minuten",v9="elke %s maanden",Y9="elke %s weken",Q9="elke %s jaar",b9="elke week",U9="elk jaar",$9="van %s tot %s",P9="nooit",W9="op %s van %s",J9="op %s en %s van",B9="op elke datum van",R9="%s",F9="%s en %s",G9="op %s",H9="op %s en %s",V9="in het weekend",Z9="op werkdagen",X9="zal niet meer worden uitgevoerd, omdat start verleden tijd is",K9="op %s",q9="van %s",e7="Uitvoeren van tot",t7="tot %s",s7="elk",i7="Specifieke tijd",r7="van",o7="Van naar",n7="Interval tijd",a7="omkeren",M7="geen",c7="Aan",u7="Periode",l7="Dagelijks",N7="data",L7="Dag",g7="elk",j7="Elke dag",y7="Elke maand",T7="Elke week",D7="Elk jaar",d7="uren",h7="Notulen",z7="maand",w7="Maandelijks",I7="Een keer",C7="Specifieke maanden",p7="Week",A7="Doordeweekse dagen",m7="Weekend",f7="Wekelijks",O7="werkdagen",E7="Jaar",_7="jaar-",x7="Specifieke tijd",S7="Tijd",k7="naar",v7="Geldig",Y7="van",Q7="naar",b7="Hele dag",U7="elke maand",$7={"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:_b,"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:xb,"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:Sb,"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:kb,"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:vb,ra_Clear:Yb,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Click to see in full size":"Klik om de afbeelding op volledige grootte te bekijken.","ra_Click to show":"Klik om te tonen","ra_Clone current row":"Kloon de huidige rij",ra_Close:Qb,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:bb,ra_Configure:Ub,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:$b,ra_Continue:Pb,ra_Copied:Wb,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:Jb,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:Bb,"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:Rb,ra_Delete:Fb,"ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat","ra_Disable/Enable translation":"Vertaling uitschakelen/inschakelen",ra_Discard:Gb,ra_Disconnected:Hb,"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_Docker is not available":"Docker is niet beschikbaar","ra_Docker is not installed or not running":"Docker is niet geïnstalleerd of draait niet","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:Vb,"ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Expand/Collapse card":"Kaart uit-/inklappen","ra_Export configuration section":"Sectie Exportconfiguratie","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:Zb,"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:Xb,"ra_From file":"Van bestand","ra_From text":"Van tekst","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 and add configuration section":"Configuratiesectie importeren en toevoegen","ra_Import and replace configuration section":"Configuratiesectie importeren en vervangen","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 JSON file.":"Ongeldig JSON-bestand.","ra_Invalid JSON format. Expected an array.":"Ongeldige JSON-indeling. Er werd een array verwacht.","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:Kb,"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:qb,ra_Longitude:eU,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:tU,ra_Monday:sU,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:iU,"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 admin":"Geen reactie van de beheerder","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_OAuth Client ID":"OAuth-client-ID","ra_OAuth Client secret":"OAuth-clientgeheim",ra_Objects:rU,ra_Ok:oU,"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:nU,"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:aU,"ra_Renew %s access":"%s toegang verlengen",ra_Repeat:MU,ra_Replace:cU,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:uU,ra_Saturday:lU,ra_Save:NU,"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:LU,"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:gU,"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:jU,"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:yU,ra_Timestamp:TU,"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:DU,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:dU,"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:hU,ra_Value:zU,ra_Version:wU,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:IU,ra_Width:CU,"ra_YAML editor":"YAML-editor",ra_Yes:pU,"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__:AU,ra_aclEveryone_read_object:mU,ra_aclEveryone_read_state:fU,ra_aclEveryone_write_object:OU,ra_aclEveryone_write_state:EU,ra_aclGroup_read_object:_U,ra_aclGroup_read_state:xU,ra_aclGroup_write_object:SU,ra_aclGroup_write_state:kU,ra_aclOwner_read_object:vU,ra_aclOwner_read_state:YU,ra_aclOwner_write_object:QU,ra_aclOwner_write_state:bU,ra_buttons:UU,ra_changedFrom:$U,ra_close:PU,ra_create_boolean_state:WU,ra_create_channel:JU,ra_create_device:BU,ra_create_number_state:RU,ra_create_state:FU,ra_create_string_state:GU,ra_daysShortText:HU,ra_dow_Fr:VU,ra_dow_Mo:ZU,ra_dow_Sa:XU,ra_dow_Su:KU,ra_dow_Th:qU,ra_dow_Tu:e8,ra_dow_We:t8,ra_expertMode:s8,ra_false:i8,ra_fileType_all:r8,ra_fileType_audio:o8,ra_fileType_code:n8,ra_fileType_images:a8,ra_fileType_txt:M8,ra_fileType_video:c8,"ra_fileType_video,":"Video",ra_filter_customs:u8,ra_filter_customs_without:l8,ra_filter_func:N8,ra_filter_id:L8,ra_filter_name:g8,ra_filter_role:j8,ra_filter_room:y8,ra_filter_type:T8,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:D8,ra_lastChange:d8,ra_locally:h8,ra_month_Apr:z8,ra_month_Aug:w8,ra_month_Dec:I8,ra_month_Feb:C8,ra_month_Jan:p8,ra_month_Jul:A8,ra_month_Jun:m8,ra_month_Mai:f8,ra_month_Mar:O8,ra_month_Nov:E8,ra_month_Oct:_8,ra_month_Sep:x8,ra_months_Apr:S8,ra_months_Aug:k8,ra_months_Dec:v8,ra_months_Feb:Y8,ra_months_Jan:Q8,ra_months_Jul:b8,ra_months_Jun:U8,ra_months_Mai:$8,ra_months_Mar:P8,ra_months_Nov:W8,ra_months_Oct:J8,ra_months_Sep:B8,"ra_no confirm for 5 mins":"geen bevestiging gedurende 5 minuten",ra_none:R8,ra_object_changed_by:F8,ra_object_changed_by_user:G8,ra_otherConfig:H8,ra_qualityCode:V8,ra_repeat:Z8,ra_select_folder_hint:X8,ra_show_all:K8,ra_state_changed_by:q8,ra_state_changed_from:e6,ra_timestamp:t6,ra_tooltip_ack:s6,ra_tooltip_comment:i6,ra_tooltip_copyState:r6,ra_tooltip_ctrlForLink:o6,ra_tooltip_customConfig:n6,ra_tooltip_deleteObject:a6,ra_tooltip_editObject:M6,ra_tooltip_editState:c6,ra_tooltip_expire:u6,ra_tooltip_from:l6,ra_tooltip_lc:N6,ra_tooltip_quality:L6,ra_tooltip_ts:g6,ra_tooltip_user:j6,ra_tooltip_value:y6,ra_true:T6,"ra_use seconds":"gebruik seconden",ra_val:D6,"ra_via internet":"via internet",ra_warning_every_minute:d6,ra_warning_every_second:h6,sc_cron:z6,sc_date:w6,sc_dates:I6,sc_dow:C6,sc_dows:p6,sc_every:A6,sc_everyN_dates:m6,sc_everyN_dow:f6,sc_everyN_dows:O6,sc_everyN_hours:E6,sc_everyN_minutes:_6,sc_everyN_months:x6,sc_everyN_seconds:S6,sc_every_dates:k6,sc_every_dow:v6,sc_every_dows:Y6,sc_every_hours:Q6,sc_every_minutes:b6,sc_every_months:U6,sc_every_seconds:$6,sc_from:P6,sc_hours:W6,sc_interval:J6,sc_intervalBetween:B6,sc_invalid_cron:R6,sc_minutes:F6,sc_months:G6,sc_once:H6,sc_period:V6,sc_seconds:Z6,sc_simple:X6,sc_specific:K6,sc_specific_dates:q6,sc_specific_dow:e9,sc_specific_dows:t9,sc_specific_hours:s9,sc_specific_minutes:i9,sc_specific_months:r9,sc_specific_seconds:o9,sc_time:n9,sc_to:a9,sc_wizard:M9,sch_all:c9,sch_astroDay:u9,sch_astroNight:l9,sch_astro_dawn:N9,sch_astro_dusk:L9,sch_astro_goldenHour:g9,sch_astro_goldenHourEnd:j9,sch_astro_nadir:y9,sch_astro_nauticalDawn:T9,sch_astro_nauticalDusk:D9,sch_astro_night:d9,sch_astro_nightEnd:h9,sch_astro_solarNoon:z9,sch_astro_sunrise:w9,sch_astro_sunriseEnd:I9,sch_astro_sunset:C9,sch_astro_sunsetStart:p9,sch_at:A9,sch_desc_atTime:m9,sch_desc_everyDay:f9,sch_desc_everyHour:O9,sch_desc_everyMinute:E9,sch_desc_everyMonth:_9,sch_desc_everyNDay:x9,sch_desc_everyNHours:S9,sch_desc_everyNMinutes:k9,sch_desc_everyNMonths:v9,sch_desc_everyNWeeks:Y9,sch_desc_everyNYears:Q9,sch_desc_everyWeek:b9,sch_desc_everyYear:U9,sch_desc_intervalFromTo:$9,sch_desc_never:P9,sch_desc_onDate:W9,sch_desc_onDates:J9,sch_desc_onEveryDate:B9,sch_desc_onMonth:R9,sch_desc_onMonths:F9,sch_desc_onWeekday:G9,sch_desc_onWeekdays:H9,sch_desc_onWeekends:V9,sch_desc_onWorkdays:Z9,sch_desc_onceInPast:X9,sch_desc_once_on:K9,sch_desc_validFrom:q9,sch_desc_validFromTo:e7,sch_desc_validTo:t7,sch_every:s7,sch_exactTime:i7,sch_from:r7,sch_fromTo:o7,sch_intervalTime:n7,sch_invert:a7,sch_no_one:M7,sch_on:c7,sch_period:u7,sch_periodDaily:l7,sch_periodDates:N7,sch_periodDay:L7,sch_periodEvery:g7,sch_periodEveryDay:j7,sch_periodEveryMonth:y7,sch_periodEveryWeek:T7,sch_periodEveryYear:D7,sch_periodHours:d7,sch_periodMinutes:h7,sch_periodMonth:z7,sch_periodMonthly:w7,sch_periodOnce:I7,sch_periodSpecificMonths:C7,sch_periodWeek:p7,sch_periodWeekdays:A7,sch_periodWeekend:m7,sch_periodWeekly:f7,sch_periodWorkdays:O7,sch_periodYear:E7,sch_periodYearly:_7,sch_specificTime:x7,sch_time:S7,sch_to:k7,sch_valid:v7,sch_validFrom:Y7,sch_validTo:Q7,sch_wholeDay:b7,sch_yearEveryMonth:U7},P7="Actes",W7="Ajouter",J7="Annuler",B7="Catégories",R7="Vérifié",F7="Effacer",G7="Fermer",H7="Commercial",V7="Configurer",Z7="Lié",X7="Continuer",K7="Copié",q7="Créer",e$="Recadrer",t$="Delete",s$="Supprimer",i$="Jeter",r$="Débranché",o$="Erreur",n$="Filtre",a$="Vendredi",M$="Latitude",c$="Déconnexion",u$="Longitude",l$="Message",N$="Lundi",L$="Nom",g$="Objets",j$="D'accord",y$="Produit",T$="Renommer/Déplacer/Copier",D$="Répéter",d$="Remplacer",h$="Racine",z$="Samedi",w$="sauver",I$="Choisi",C$="États",p$="Dimanche",A$="Jeudi",m$="Horodatage",f$="Mardi",O$="Mise à jour",E$="Valable jusqu'au",_$="Valeur",x$="Version",S$="Mercredi",k$="Largeur",v$="Oui",Y$="différent",Q$="Tout le monde peut lire un objet",b$="Tout le monde peut lire l'état",U$="Tout le monde peut écrire un objet",$$="Tout le monde peut écrire l'état",P$="Le groupe peut lire l'objet",W$="Le groupe peut lire l'état",J$="Le groupe peut écrire un objet",B$="Le groupe peut écrire l'état",R$="Le propriétaire peut lire l'objet",F$="Le propriétaire peut lire l'état",G$="Le propriétaire peut écrire un objet",H$="Le propriétaire peut écrire l'état",V$="Boutons",Z$="Changé de",X$="Fermer",K$="Créer un état booléen",q$="Créer une chaîne",eP="Créer un appareil",tP="Créer un état de numéro",sP="Créer un état",iP="Créer un état de chaîne",rP="j.",oP="Fr",nP="Mo",aP="Sa",MP="Su",cP="Th",uP="Tu",lP="Nous",NP="Mode expert",LP="FAUX",gP="Tous les fichiers",jP="l'audio",yP="Code/JSON",TP="Images",DP="Texte",dP="Vidéo",hP="Paramètres",zP="sans",wP="Une fonction",IP="ID",CP="Prénom",pP="Rôle",AP="Pièce",mP="Type",fP="Paramètres invalides",OP="Dernier changement",EP="localement",_P="Avr",xP="Août",SP="Déc",kP="Fév",vP="Jan",YP="Juil",QP="Juin",bP="Mai",UP="Mar",$P="Nov",PP="Oct",WP="Sep",JP="Avr",BP="Août",RP="Déc",FP="Fév",GP="Jan",HP="Juil",VP="Juin",ZP="Mai",XP="Mar",KP="Nov",qP="Oct",eW="Sep",tW="rien",sW="Objet modifié par",iW="Objet modifié pour la dernière fois à",rW="Paramètres d'un autre adaptateur %s",oW="Code de qualité",nW="répéter",aW='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',MW="Tout afficher",cW="État modifié par",uW="Objet changé de",lW="Horodatage",NW="Drapeau reconnu",LW="Commentaire",gW="Copiez la valeur d'état",jW="Maintenez la touche Cltr/⌘ enfoncée pour ouvrir le lien",yW="Paramètres personnalisés",TW="Supprimer un objet",DW="Modifier l'objet",dW="Modifier la valeur d'état",hW="Expire dans",zW="De",wW="Dernière modification",IW="Qualité",CW="Horodatage",pW="Utilisateur",AW="Valeur",mW="VRAI",fW="Valeur",OW="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",EW="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",_W="CRON",xW="Date",SW="Rendez-vous",kW="Jour",vW="Jour de la semaine",YW="Chaque",QW="tous les N jours",bW="chaque Nième jour de la semaine",UW="tous les N jours de la semaine",$W="toutes les N heures",PW="toutes les N minutes",WW="tous les N mois",JW="toutes les N secondes",BW="tous les jours",RW="Chaque jour de la semaine",FW="Chaque jour de la semaine",GW="Toutes les heures",HW="chaque minute",VW="chaque mois",ZW="chaque seconde",XW="De",KW="Heures",qW="Intervalle",eJ="Intervalle entre",tJ="CRON non valide",sJ="Minutes",iJ="mois",rJ="Une fois que",oJ="Période",nJ="Secondes",aJ="Facile",MJ="Temps spécifique",cJ="dates spécifiques",uJ="jour(s) spécifique(s) de la semaine",lJ="jour spécifique de semaines",NJ="heures spécifiques",LJ="minutes spécifiques",gJ="mois spécifiques",jJ="secondes spécifiques",yJ="Temps",TJ="À",DJ="sorcier",dJ="tout",hJ="Journée astronomique",zJ="Nuit astronomique",wJ="Aube",IJ="Crépuscule",CJ="Heure d'or",pJ="Fin de l'heure d'or",AJ="Nadir",mJ="Aube nautique",fJ="Crépuscule nautique",OJ="Nuit",EJ="Fin de nuit",_J="Midi solaire",xJ="lever du soleil",SJ="Fin du lever du soleil",kJ="Le coucher du soleil",vJ="Coucher du soleil",YJ="à",QJ="à %s",bJ="tous les jours",UJ="Toutes les heures",$J="chaque minute",PJ="chaque mois",WJ="chaque %s jour",JJ="chaque %s heures",BJ="toutes les %s minutes",RJ="tous les %s mois",FJ="chaque %s semaines",GJ="tous les %s ans",HJ="toutes les semaines",VJ="chaque année",ZJ="de %s à %s",XJ="jamais",KJ="sur %s de %s",qJ="sur %s et %s de",eB="à chaque date de",tB="%s",sB="%s et %s",iB="sur %s",rB="sur %s et %s",oB="les weekends",nB="les jours ouvrables",aB="ne sera plus exécuté, car start est dans le passé",MB="sur %s",cB="de %s",uB="Exécuter de à",lB="à %s",NB="chaque",LB="Temps spécifique",gB="de",jB="De à",yB="Temps d'interval",TB="inverser",DB="aucun",dB="sur",hB="Période",zB="du quotidien",wB="Rendez-vous",IB="journée",CB="Chaque",pB="Tous les jours",AB="Chaque mois",mB="Toutes les semaines",fB="Chaque année",OB="Heures",EB="Minutes",_B="mois",xB="Mensuel",SB="Une fois que",kB="Mois spécifiques",vB="La semaine",YB="Jours de la semaine",QB="Weekend",bB="Hebdomadaire",UB="Jours ouvrables",$B="Année",PB="Annuel",WB="Temps spécifique",JB="Temps",BB="à",RB="Valide",FB="de",GB="à",HB="Toute la journée",VB="chaque mois",ZB={"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:P7,"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:W7,"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:J7,"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:B7,"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:R7,ra_Clear:F7,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Click to see in full size":"Cliquez pour afficher en taille réelle","ra_Click to show":"Cliquez pour afficher","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:G7,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:H7,ra_Configure:V7,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:Z7,ra_Continue:X7,ra_Copied:K7,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:q7,"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:e$,"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:t$,ra_Delete:s$,"ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État","ra_Disable/Enable translation":"Activer/Désactiver la traduction",ra_Discard:i$,ra_Disconnected:r$,"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_Docker is not available":"Docker n'est pas disponible","ra_Docker is not installed or not running":"Docker n'est pas installé ou n'est pas en cours d'exécution","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:o$,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Expand/Collapse card":"Carte Développer/Réduire","ra_Export configuration section":"Exporter la section de configuration","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:n$,"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:a$,"ra_From file":"À partir du fichier","ra_From text":"À partir du texte","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 and add configuration section":"Importer et ajouter la section de configuration","ra_Import and replace configuration section":"Importer et remplacer la section de configuration","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 JSON file.":"Fichier JSON invalide.","ra_Invalid JSON format. Expected an array.":"Format JSON invalide. Tableau attendu.","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:M$,"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:c$,ra_Longitude:u$,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:l$,ra_Monday:N$,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:L$,"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 admin":"Aucune réponse de l'administrateur","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_OAuth Client ID":"ID client OAuth","ra_OAuth Client secret":"Secret client OAuth",ra_Objects:g$,ra_Ok:j$,"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:y$,"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:T$,"ra_Renew %s access":"Renouveler l'accès %s",ra_Repeat:D$,ra_Replace:d$,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:h$,ra_Saturday:z$,ra_Save:w$,"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:I$,"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:C$,"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:p$,"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:A$,ra_Timestamp:m$,"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:f$,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:O$,"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:E$,ra_Value:_$,ra_Version:x$,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:S$,ra_Width:k$,"ra_YAML editor":"Éditeur YAML",ra_Yes:v$,"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__:Y$,ra_aclEveryone_read_object:Q$,ra_aclEveryone_read_state:b$,ra_aclEveryone_write_object:U$,ra_aclEveryone_write_state:$$,ra_aclGroup_read_object:P$,ra_aclGroup_read_state:W$,ra_aclGroup_write_object:J$,ra_aclGroup_write_state:B$,ra_aclOwner_read_object:R$,ra_aclOwner_read_state:F$,ra_aclOwner_write_object:G$,ra_aclOwner_write_state:H$,ra_buttons:V$,ra_changedFrom:Z$,ra_close:X$,ra_create_boolean_state:K$,ra_create_channel:q$,ra_create_device:eP,ra_create_number_state:tP,ra_create_state:sP,ra_create_string_state:iP,ra_daysShortText:rP,ra_dow_Fr:oP,ra_dow_Mo:nP,ra_dow_Sa:aP,ra_dow_Su:MP,ra_dow_Th:cP,ra_dow_Tu:uP,ra_dow_We:lP,ra_expertMode:NP,ra_false:LP,ra_fileType_all:gP,ra_fileType_audio:jP,ra_fileType_code:yP,ra_fileType_images:TP,ra_fileType_txt:DP,ra_fileType_video:dP,"ra_fileType_video,":"Vidéo",ra_filter_customs:hP,ra_filter_customs_without:zP,ra_filter_func:wP,ra_filter_id:IP,ra_filter_name:CP,ra_filter_role:pP,ra_filter_room:AP,ra_filter_type:mP,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:fP,ra_lastChange:OP,ra_locally:EP,ra_month_Apr:_P,ra_month_Aug:xP,ra_month_Dec:SP,ra_month_Feb:kP,ra_month_Jan:vP,ra_month_Jul:YP,ra_month_Jun:QP,ra_month_Mai:bP,ra_month_Mar:UP,ra_month_Nov:$P,ra_month_Oct:PP,ra_month_Sep:WP,ra_months_Apr:JP,ra_months_Aug:BP,ra_months_Dec:RP,ra_months_Feb:FP,ra_months_Jan:GP,ra_months_Jul:HP,ra_months_Jun:VP,ra_months_Mai:ZP,ra_months_Mar:XP,ra_months_Nov:KP,ra_months_Oct:qP,ra_months_Sep:eW,"ra_no confirm for 5 mins":"pas de confirmation pendant 5 minutes",ra_none:tW,ra_object_changed_by:sW,ra_object_changed_by_user:iW,ra_otherConfig:rW,ra_qualityCode:oW,ra_repeat:nW,ra_select_folder_hint:aW,ra_show_all:MW,ra_state_changed_by:cW,ra_state_changed_from:uW,ra_timestamp:lW,ra_tooltip_ack:NW,ra_tooltip_comment:LW,ra_tooltip_copyState:gW,ra_tooltip_ctrlForLink:jW,ra_tooltip_customConfig:yW,ra_tooltip_deleteObject:TW,ra_tooltip_editObject:DW,ra_tooltip_editState:dW,ra_tooltip_expire:hW,ra_tooltip_from:zW,ra_tooltip_lc:wW,ra_tooltip_quality:IW,ra_tooltip_ts:CW,ra_tooltip_user:pW,ra_tooltip_value:AW,ra_true:mW,"ra_use seconds":"utiliser les secondes",ra_val:fW,"ra_via internet":"par Internet",ra_warning_every_minute:OW,ra_warning_every_second:EW,sc_cron:_W,sc_date:xW,sc_dates:SW,sc_dow:kW,sc_dows:vW,sc_every:YW,sc_everyN_dates:QW,sc_everyN_dow:bW,sc_everyN_dows:UW,sc_everyN_hours:$W,sc_everyN_minutes:PW,sc_everyN_months:WW,sc_everyN_seconds:JW,sc_every_dates:BW,sc_every_dow:RW,sc_every_dows:FW,sc_every_hours:GW,sc_every_minutes:HW,sc_every_months:VW,sc_every_seconds:ZW,sc_from:XW,sc_hours:KW,sc_interval:qW,sc_intervalBetween:eJ,sc_invalid_cron:tJ,sc_minutes:sJ,sc_months:iJ,sc_once:rJ,sc_period:oJ,sc_seconds:nJ,sc_simple:aJ,sc_specific:MJ,sc_specific_dates:cJ,sc_specific_dow:uJ,sc_specific_dows:lJ,sc_specific_hours:NJ,sc_specific_minutes:LJ,sc_specific_months:gJ,sc_specific_seconds:jJ,sc_time:yJ,sc_to:TJ,sc_wizard:DJ,sch_all:dJ,sch_astroDay:hJ,sch_astroNight:zJ,sch_astro_dawn:wJ,sch_astro_dusk:IJ,sch_astro_goldenHour:CJ,sch_astro_goldenHourEnd:pJ,sch_astro_nadir:AJ,sch_astro_nauticalDawn:mJ,sch_astro_nauticalDusk:fJ,sch_astro_night:OJ,sch_astro_nightEnd:EJ,sch_astro_solarNoon:_J,sch_astro_sunrise:xJ,sch_astro_sunriseEnd:SJ,sch_astro_sunset:kJ,sch_astro_sunsetStart:vJ,sch_at:YJ,sch_desc_atTime:QJ,sch_desc_everyDay:bJ,sch_desc_everyHour:UJ,sch_desc_everyMinute:$J,sch_desc_everyMonth:PJ,sch_desc_everyNDay:WJ,sch_desc_everyNHours:JJ,sch_desc_everyNMinutes:BJ,sch_desc_everyNMonths:RJ,sch_desc_everyNWeeks:FJ,sch_desc_everyNYears:GJ,sch_desc_everyWeek:HJ,sch_desc_everyYear:VJ,sch_desc_intervalFromTo:ZJ,sch_desc_never:XJ,sch_desc_onDate:KJ,sch_desc_onDates:qJ,sch_desc_onEveryDate:eB,sch_desc_onMonth:tB,sch_desc_onMonths:sB,sch_desc_onWeekday:iB,sch_desc_onWeekdays:rB,sch_desc_onWeekends:oB,sch_desc_onWorkdays:nB,sch_desc_onceInPast:aB,sch_desc_once_on:MB,sch_desc_validFrom:cB,sch_desc_validFromTo:uB,sch_desc_validTo:lB,sch_every:NB,sch_exactTime:LB,sch_from:gB,sch_fromTo:jB,sch_intervalTime:yB,sch_invert:TB,sch_no_one:DB,sch_on:dB,sch_period:hB,sch_periodDaily:zB,sch_periodDates:wB,sch_periodDay:IB,sch_periodEvery:CB,sch_periodEveryDay:pB,sch_periodEveryMonth:AB,sch_periodEveryWeek:mB,sch_periodEveryYear:fB,sch_periodHours:OB,sch_periodMinutes:EB,sch_periodMonth:_B,sch_periodMonthly:xB,sch_periodOnce:SB,sch_periodSpecificMonths:kB,sch_periodWeek:vB,sch_periodWeekdays:YB,sch_periodWeekend:QB,sch_periodWeekly:bB,sch_periodWorkdays:UB,sch_periodYear:$B,sch_periodYearly:PB,sch_specificTime:WB,sch_time:JB,sch_to:BB,sch_valid:RB,sch_validFrom:FB,sch_validTo:GB,sch_wholeDay:HB,sch_yearEveryMonth:VB},XB="Azioni",KB="Aggiungere",qB="Annulla",eR="Categorie",tR="Controllato",sR="Elimina",iR="Vicino",rR="Commerciale",oR="Configura",nR="Collegato",aR="Continuare",MR="Copiato",cR="Creare",uR="Raccolto",lR="Delete",NR="Elimina",LR="Scartare",gR="Disconnesso",jR="Errore",yR="Filtro",TR="Venerdì",DR="Latitudine",dR="Esci",hR="Longitudine",zR="Messaggio",wR="Lunedi",IR="Nome",CR="Oggetti",pR="Ok",AR="Prodotto",mR="Rinomina/Sposta/Copia",fR="Ripetere",OR="Sostituire",ER="Radice",_R="Sabato",xR="Salva",SR="Selezionato",kR="stati",vR="Domenica",YR="Giovedì",QR="Timestamp",bR="Martedì",UR="Aggiornare",$R="Valido fino a",PR="Valore",WR="Versione",JR="Mercoledì",BR="Larghezza",RR="SÌ",FR="diverso",GR="Tutti possono leggere gli oggetti",HR="Tutti possono leggere lo stato",VR="Tutti possono scrivere oggetti",ZR="Tutti possono scrivere stato",XR="Il gruppo può leggere l'oggetto",KR="Il gruppo può leggere lo stato",qR="Il gruppo può scrivere l'oggetto",eF="Il gruppo può scrivere lo stato",tF="Il proprietario può leggere l'oggetto",sF="Il proprietario può leggere lo stato",iF="Il proprietario può scrivere l'oggetto",rF="Il proprietario può scrivere lo stato",oF="Bottoni",nF="Cambiato da",aF="vicino",MF="Crea uno stato booleano",cF="Crea canale",uF="Crea dispositivo",lF="Crea lo stato del numero",NF="Crea stato",LF="Crea lo stato della stringa",gF="g.",jF="fr",yF="momento",TF="Sa",DF="su",dF="th",hF="Tu",zF="Noi",wF="Modalità esperto",IF="FALSO",CF="Tutti i files",pF="Audio",AF="Codice/JSON",mF="immagini",fF="Testo",OF="video",EF="impostazioni",_F="senza",xF="Funzione",SF="ID",kF="Nome",vF="Ruolo",YF="Camera",QF="genere",bF="Impostazioni non valide",UF="Ultima modifica",$F="localmente",PF="apr",WF="agosto",JF="Dic",BF="febbraio",RF="gen",FF="lug",GF="giu",HF="Mai",VF="marzo",ZF="nov",XF="ottobre",KF="Sett",qF="apr",eG="agosto",tG="Dic",sG="febbraio",iG="gen",rG="lug",oG="giu",nG="Mai",aG="marzo",MG="nov",cG="ottobre",uG="Sett",lG="nessuna",NG="Oggetto modificato da",LG="L'oggetto è stato modificato l'ultima volta alle",gG="Impostazioni dall'altro adattatore %s",jG="Codice di qualità",yG="ripetere",TG='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',DG="Mostra tutto",dG="Stato cambiato da",hG="Oggetto cambiato da",zG="Timestamp",wG="Bandiera riconosciuta",IG="Commento",CG="Copia il valore dello stato",pG="Tieni premuto il tasto Cltr/⌘ per aprire il collegamento",AG="Impostazioni personalizzate",mG="Elimina oggetto",fG="Modifica oggetto",OG="Modifica il valore dello stato",EG="Scade tra",_G="A partire dal",xG="Ultima modifica",SG="Qualità",kG="Data e ora",vG="Utente",YG="Valore",QG="VERO",bG="Valore",UG="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",$G="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",PG="CRON",WG="Data",JG="Date",BG="Giorno",RG="Giorno della settimana",FG="Ogni",GG="ogni N giorni",HG="ogni Nesimo giorno della settimana",VG="ogni N giorno della settimana",ZG="ogni N ore",XG="ogni N minuti",KG="ogni N mesi",qG="ogni N secondi",eH="ogni giorno",tH="Tutti i giorni della settimana",sH="Tutti i giorni della settimana",iH="ogni ora",rH="ogni minuto",oH="ogni mese",nH="ogni secondo",aH="A partire dal",MH="Ore",cH="Intervallo",uH="Intervallo tra",lH="CRON non valido",NH="Minuti",LH="mesi",gH="Una volta",jH="Periodo",yH="secondi",TH="Semplice",DH="Orario preciso",dH="date specifiche",hH="giorno/i specifico/i della settimana",zH="giorno specifico delle settimane",wH="orari specifici",IH="minuti specifici",CH="mesi specifici",pH="secondi specifici",AH="Tempo",mH="Per",fH="procedura guidata",OH="tutti",EH="Astro day",_H="Astro night",xH="Alba",SH="Crepuscolo",kH="Ora d'oro",vH="Fine dell'ora d'oro",YH="Nadir",QH="Alba nautica",bH="Crepuscolo nautico",UH="Notte",$H="Fine della notte",PH="Mezzogiorno solare",WH="Alba",JH="Fine dell'alba",BH="Tramonto",RH="Inizio del tramonto",FH="a",GH="a %s",HH="ogni giorno",VH="ogni ora",ZH="ogni minuto",XH="ogni mese",KH="ogni %s giorno",qH="ogni %s ore",eV="ogni %s minuti",tV="ogni %s mesi",sV="ogni %s settimane",iV="ogni %s anni",rV="ogni settimana",oV="ogni anno",nV="da %s a %s",aV="mai",MV="su %s di %s",cV="su %s e %s di",uV="in ogni data di",lV="%s",NV="%s e %s",LV="su %s",gV="su %s e %s",jV="nei finesettimana",yV="nei giorni lavorativi",TV="non verrà più eseguito, perché start è nel passato",DV="su %s",dV="da %s",hV="Eseguire da a",zV="a %s",wV="ogni",IV="Orario preciso",CV="a partire dal",pV="Da A",AV="Intervallo di tempo",mV="invertire",fV="nessuna",OV="sopra",EV="Periodo",_V="Quotidiano",xV="Date",SV="Giorno",kV="Ogni",vV="Ogni giorno",YV="Ogni mese",QV="Ogni settimana",bV="Ogni anno",UV="Ore",$V="Minuti",PV="mese",WV="Mensile",JV="Una volta",BV="Mesi specifici",RV="Settimana",FV="Giorni della settimana",GV="Fine settimana",HV="settimanalmente",VV="giorni feriali",ZV="Anno",XV="Annuale",KV="Orario preciso",qV="Tempo",eZ="per",tZ="Valido",sZ="a partire dal",iZ="per",rZ="Giorno intero",oZ="ogni mese",nZ={"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:XB,"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:KB,"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:qB,"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:eR,"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:tR,ra_Clear:sR,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Click to see in full size":"Clicca per visualizzare l'immagine a dimensioni intere","ra_Click to show":"Clicca per mostrare","ra_Clone current row":"Clona riga corrente",ra_Close:iR,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:rR,ra_Configure:oR,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:nR,ra_Continue:aR,ra_Copied:MR,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:cR,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:uR,"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:lR,ra_Delete:NR,"ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato","ra_Disable/Enable translation":"Disabilita/Abilita la traduzione",ra_Discard:LR,ra_Disconnected:gR,"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_Docker is not available":"Docker non è disponibile","ra_Docker is not installed or not running":"Docker non è installato o non è in esecuzione","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:jR,"ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Expand/Collapse card":"Espandi/Comprimi scheda","ra_Export configuration section":"Sezione di configurazione dell'esportazione","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:yR,"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:TR,"ra_From file":"Dal file","ra_From text":"Dal testo","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 and add configuration section":"Importa e aggiungi la sezione di configurazione","ra_Import and replace configuration section":"Importa e sostituisci la sezione di configurazione","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 JSON file.":"File JSON non valido.","ra_Invalid JSON format. Expected an array.":"Formato JSON non valido. È previsto un array.","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:DR,"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:dR,ra_Longitude:hR,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:zR,ra_Monday:wR,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:IR,"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 admin":"Nessuna risposta dall'amministratore","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_OAuth Client ID":"ID client OAuth","ra_OAuth Client secret":"Segreto del client OAuth",ra_Objects:CR,ra_Ok:pR,"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:AR,"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:mR,"ra_Renew %s access":"Rinnova l'accesso %s",ra_Repeat:fR,ra_Replace:OR,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:ER,ra_Saturday:_R,ra_Save:xR,"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:SR,"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:kR,"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:vR,"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:YR,ra_Timestamp:QR,"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:bR,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:UR,"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:$R,ra_Value:PR,ra_Version:WR,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:JR,ra_Width:BR,"ra_YAML editor":"Editor YAML",ra_Yes:RR,"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__:FR,ra_aclEveryone_read_object:GR,ra_aclEveryone_read_state:HR,ra_aclEveryone_write_object:VR,ra_aclEveryone_write_state:ZR,ra_aclGroup_read_object:XR,ra_aclGroup_read_state:KR,ra_aclGroup_write_object:qR,ra_aclGroup_write_state:eF,ra_aclOwner_read_object:tF,ra_aclOwner_read_state:sF,ra_aclOwner_write_object:iF,ra_aclOwner_write_state:rF,ra_buttons:oF,ra_changedFrom:nF,ra_close:aF,ra_create_boolean_state:MF,ra_create_channel:cF,ra_create_device:uF,ra_create_number_state:lF,ra_create_state:NF,ra_create_string_state:LF,ra_daysShortText:gF,ra_dow_Fr:jF,ra_dow_Mo:yF,ra_dow_Sa:TF,ra_dow_Su:DF,ra_dow_Th:dF,ra_dow_Tu:hF,ra_dow_We:zF,ra_expertMode:wF,ra_false:IF,ra_fileType_all:CF,ra_fileType_audio:pF,ra_fileType_code:AF,ra_fileType_images:mF,ra_fileType_txt:fF,ra_fileType_video:OF,"ra_fileType_video,":"video",ra_filter_customs:EF,ra_filter_customs_without:_F,ra_filter_func:xF,ra_filter_id:SF,ra_filter_name:kF,ra_filter_role:vF,ra_filter_room:YF,ra_filter_type:QF,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:bF,ra_lastChange:UF,ra_locally:$F,ra_month_Apr:PF,ra_month_Aug:WF,ra_month_Dec:JF,ra_month_Feb:BF,ra_month_Jan:RF,ra_month_Jul:FF,ra_month_Jun:GF,ra_month_Mai:HF,ra_month_Mar:VF,ra_month_Nov:ZF,ra_month_Oct:XF,ra_month_Sep:KF,ra_months_Apr:qF,ra_months_Aug:eG,ra_months_Dec:tG,ra_months_Feb:sG,ra_months_Jan:iG,ra_months_Jul:rG,ra_months_Jun:oG,ra_months_Mai:nG,ra_months_Mar:aG,ra_months_Nov:MG,ra_months_Oct:cG,ra_months_Sep:uG,"ra_no confirm for 5 mins":"nessuna conferma per 5 minuti",ra_none:lG,ra_object_changed_by:NG,ra_object_changed_by_user:LG,ra_otherConfig:gG,ra_qualityCode:jG,ra_repeat:yG,ra_select_folder_hint:TG,ra_show_all:DG,ra_state_changed_by:dG,ra_state_changed_from:hG,ra_timestamp:zG,ra_tooltip_ack:wG,ra_tooltip_comment:IG,ra_tooltip_copyState:CG,ra_tooltip_ctrlForLink:pG,ra_tooltip_customConfig:AG,ra_tooltip_deleteObject:mG,ra_tooltip_editObject:fG,ra_tooltip_editState:OG,ra_tooltip_expire:EG,ra_tooltip_from:_G,ra_tooltip_lc:xG,ra_tooltip_quality:SG,ra_tooltip_ts:kG,ra_tooltip_user:vG,ra_tooltip_value:YG,ra_true:QG,"ra_use seconds":"usa i secondi",ra_val:bG,"ra_via internet":"attraverso internet",ra_warning_every_minute:UG,ra_warning_every_second:$G,sc_cron:PG,sc_date:WG,sc_dates:JG,sc_dow:BG,sc_dows:RG,sc_every:FG,sc_everyN_dates:GG,sc_everyN_dow:HG,sc_everyN_dows:VG,sc_everyN_hours:ZG,sc_everyN_minutes:XG,sc_everyN_months:KG,sc_everyN_seconds:qG,sc_every_dates:eH,sc_every_dow:tH,sc_every_dows:sH,sc_every_hours:iH,sc_every_minutes:rH,sc_every_months:oH,sc_every_seconds:nH,sc_from:aH,sc_hours:MH,sc_interval:cH,sc_intervalBetween:uH,sc_invalid_cron:lH,sc_minutes:NH,sc_months:LH,sc_once:gH,sc_period:jH,sc_seconds:yH,sc_simple:TH,sc_specific:DH,sc_specific_dates:dH,sc_specific_dow:hH,sc_specific_dows:zH,sc_specific_hours:wH,sc_specific_minutes:IH,sc_specific_months:CH,sc_specific_seconds:pH,sc_time:AH,sc_to:mH,sc_wizard:fH,sch_all:OH,sch_astroDay:EH,sch_astroNight:_H,sch_astro_dawn:xH,sch_astro_dusk:SH,sch_astro_goldenHour:kH,sch_astro_goldenHourEnd:vH,sch_astro_nadir:YH,sch_astro_nauticalDawn:QH,sch_astro_nauticalDusk:bH,sch_astro_night:UH,sch_astro_nightEnd:$H,sch_astro_solarNoon:PH,sch_astro_sunrise:WH,sch_astro_sunriseEnd:JH,sch_astro_sunset:BH,sch_astro_sunsetStart:RH,sch_at:FH,sch_desc_atTime:GH,sch_desc_everyDay:HH,sch_desc_everyHour:VH,sch_desc_everyMinute:ZH,sch_desc_everyMonth:XH,sch_desc_everyNDay:KH,sch_desc_everyNHours:qH,sch_desc_everyNMinutes:eV,sch_desc_everyNMonths:tV,sch_desc_everyNWeeks:sV,sch_desc_everyNYears:iV,sch_desc_everyWeek:rV,sch_desc_everyYear:oV,sch_desc_intervalFromTo:nV,sch_desc_never:aV,sch_desc_onDate:MV,sch_desc_onDates:cV,sch_desc_onEveryDate:uV,sch_desc_onMonth:lV,sch_desc_onMonths:NV,sch_desc_onWeekday:LV,sch_desc_onWeekdays:gV,sch_desc_onWeekends:jV,sch_desc_onWorkdays:yV,sch_desc_onceInPast:TV,sch_desc_once_on:DV,sch_desc_validFrom:dV,sch_desc_validFromTo:hV,sch_desc_validTo:zV,sch_every:wV,sch_exactTime:IV,sch_from:CV,sch_fromTo:pV,sch_intervalTime:AV,sch_invert:mV,sch_no_one:fV,sch_on:OV,sch_period:EV,sch_periodDaily:_V,sch_periodDates:xV,sch_periodDay:SV,sch_periodEvery:kV,sch_periodEveryDay:vV,sch_periodEveryMonth:YV,sch_periodEveryWeek:QV,sch_periodEveryYear:bV,sch_periodHours:UV,sch_periodMinutes:$V,sch_periodMonth:PV,sch_periodMonthly:WV,sch_periodOnce:JV,sch_periodSpecificMonths:BV,sch_periodWeek:RV,sch_periodWeekdays:FV,sch_periodWeekend:GV,sch_periodWeekly:HV,sch_periodWorkdays:VV,sch_periodYear:ZV,sch_periodYearly:XV,sch_specificTime:KV,sch_time:qV,sch_to:eZ,sch_valid:tZ,sch_validFrom:sZ,sch_validTo:iZ,sch_wholeDay:rZ,sch_yearEveryMonth:oZ},aZ="Comportamiento",MZ="Adjuntar",cZ="Cancelar",uZ="Categorías",lZ="Comprobado",NZ="Borrar",LZ="Cerca",gZ="Comercial",jZ="Configurar",yZ="Conectado",TZ="Continuar",DZ="Copiado",dZ="Crear",hZ="Cultivo",zZ="Delete",wZ="Eliminar",IZ="Desechar",CZ="Desconectado",pZ="Error",AZ="Filtrar",mZ="Viernes",fZ="Latitud",OZ="Cerrar sesión",EZ="Longitud",_Z="Mensaje",xZ="Lunes",SZ="Nombre",kZ="Objetos",vZ="Okay",YZ="Producto",QZ="Cambiar nombre/Mover/Copiar",bZ="Repetir",UZ="Reemplazar",$Z="Raíz",PZ="Sábado",WZ="Salvar",JZ="Seleccionado",BZ="Estados",RZ="Domingo",FZ="Jueves",GZ="Marca de tiempo",HZ="Martes",VZ="Actualizar",ZZ="Válida hasta",XZ="Valor",KZ="Versión",qZ="Miércoles",eX="Anchura",tX="Sí",sX="diferente",iX="Todo el mundo puede leer el objeto",rX="Todos pueden leer el estado",oX="Todos pueden escribir objetos",nX="Todos pueden escribir el estado",aX="El grupo puede leer el objeto",MX="El grupo puede leer el estado",cX="El grupo puede escribir un objeto",uX="El grupo puede escribir el estado",lX="El propietario puede leer el objeto",NX="El propietario puede leer el estado",LX="El propietario puede escribir el objeto",gX="El propietario puede escribir el estado",jX="Botones",yX="Cambiaron desde",TX="cerrar",DX="Crear estado booleano",dX="Crear canal",hX="Crear dispositivo",zX="Crear estado numérico",wX="Crear estado",IX="Crear estado de cadena",CX="d.",pX="Fr",AX="Mes",mX="Sa",fX="Su",OX="Th",EX="Tu",_X="Nosotros",xX="Modo experto",SX="FALSO",kX="Todos los archivos",vX="Audio",YX="Código/JSON",QX="Imágenes",bX="Texto",UX="Video",$X="Configuraciones",PX="sin",WX="Función",JX="ID",BX="Nombre",RX="Papel",FX="Habitación",GX="Tipo",HX="Configuraciones inválidas",VX="Ultimo cambio",ZX="en la zona",XX="Abr",KX="Ago",qX="Dic",eK="Feb",tK="Ene",sK="Jul",iK="Jun",rK="Mai",oK="Mar",nK="Nov",aK="Oct",MK="Sep",cK="Abr",uK="Ago",lK="Dic",NK="Feb",LK="Ene",gK="Jul",jK="Jun",yK="Mai",TK="Mar",DK="Nov",dK="Oct",hK="Sep",zK="ninguno",wK="Objeto cambiado por",IK="Objeto cambiado por última vez a las",CK="Configuraciones de otro adaptador %s",pK="Código de calidad",AK="repetir",mK='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',fK="Mostrar todo",OK="Estado cambiado por",EK="Objeto cambiado de",_K="Marca de tiempo",xK="Bandera reconocida",SK="Comentario",kK="Copie el valor del estado",vK="Mantenga presionada la tecla Cltr/⌘ para abrir el enlace",YK="Ajustes personalizados",QK="Eliminar objeto",bK="Editar objeto",UK="Edite el valor del estado",$K="Caduca en",PK="Desde",WK="Último cambio",JK="Calidad",BK="Sello de tiempo",RK="Usuario",FK="Valor",GK="VERDADERO",HK="Valor",VK="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",ZK="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",XK="CRON",KK="Fecha",qK="fechas",eq="Día",tq="Día de la semana",sq="Cada",iq="cada N días",rq="cada enésimo día de la semana",oq="cada N día de la semana",nq="cada N horas",aq="cada N minutos",Mq="cada N meses",cq="cada N segundos",uq="cada día",lq="Cada día de la semana",Nq="Cada día de la semana",Lq="cada hora",gq="cada minuto",jq="cada mes",yq="cada segundo",Tq="De",Dq="Horas",dq="Intervalo",hq="Intervalo entre",zq="CRON no válido",wq="Minutos",Iq="meses",Cq="Una vez",pq="Período",Aq="Segundos",mq="Sencillo",fq="Tiempo específico",Oq="fechas especificas",Eq="día(s) específico(s) de la semana",_q="día específico de semanas",xq="horas específicas",Sq="minutos específicos",kq="meses específicos",vq="segundos específicos",Yq="Hora",Qq="A",bq="Mago",Uq="todas",$q="Día astro",Pq="Noche astro",Wq="Amanecer",Jq="Oscuridad",Bq="hora dorada",Rq="Fin de la hora dorada",Fq="Nadir",Gq="Amanecer náutico",Hq="Anochecer náutico",Vq="Noche",Zq="Fin de la noche",Xq="Mediodía solar",Kq="amanecer",qq="Fin del amanecer",eee="Puesta de sol",tee="Puesta de sol",see="a",iee="en %s",ree="cada día",oee="cada hora",nee="cada minuto",aee="cada mes",Mee="cada %s días",cee="cada %s horas",uee="cada %s minutos",lee="cada %s meses",Nee="cada %s semanas",Lee="cada %s años",gee="cada semana",jee="todos los años",yee="de %s a %s",Tee="Nunca",Dee="en %s de %s",dee="en %s y %s de",hee="en cada fecha de",zee="%s",wee="%s y %s",Iee="en %s",Cee="en %s y %s",pee="en los fines de semana",Aee="en días laborables",mee="ya no se ejecutará más, porque el inicio está en el pasado",fee="en %s",Oee="de %s",Eee="Ejecutar desde hasta",_ee="a %s",xee="cada",See="Tiempo específico",kee="de",vee="De-a",Yee="Tiempo de intervalo",Qee="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",bee="ninguna",Uee="en",$ee="Período",Pee="Diario",Wee="fechas",Jee="Día",Bee="Cada",Ree="Cada día",Fee="Cada mes",Gee="Cada semana",Hee="Todos los años",Vee="Horas",Zee="Minutos",Xee="mes",Kee="Mensual",qee="Una vez",ete="Meses específicos",tte="Semana",ste="Días laborables",ite="Fin de semana",rte="Semanal",ote="Días laborables",nte="Año",ate="Anual",Mte="Tiempo específico",cte="Hora",ute="a",lte="Válido",Nte="de",Lte="a",gte="Todo el dia",jte="cada mes",yte={"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:aZ,"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:MZ,"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:cZ,"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:uZ,"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:lZ,ra_Clear:NZ,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Click to see in full size":"Haz clic para ver en tamaño completo.","ra_Click to show":"Haga clic para mostrar","ra_Clone current row":"Clonar fila actual",ra_Close:LZ,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:gZ,ra_Configure:jZ,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:yZ,ra_Continue:TZ,ra_Copied:DZ,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:dZ,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:hZ,"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:zZ,ra_Delete:wZ,"ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Deshabilitar/Habilitar traducción",ra_Discard:IZ,ra_Disconnected:CZ,"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_Docker is not available":"Docker no está disponible","ra_Docker is not installed or not running":"Docker no está instalado o no se está ejecutando","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:pZ,"ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Expand/Collapse card":"Expandir/Contraer tarjeta","ra_Export configuration section":"Exportar sección de configuración","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:AZ,"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:mZ,"ra_From file":"Desde archivo","ra_From text":"Del texto","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 and add configuration section":"Importar y agregar sección de configuración","ra_Import and replace configuration section":"Importar y reemplazar sección de configuración","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 JSON file.":"Archivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Se esperaba un array.","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:fZ,"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:OZ,ra_Longitude:EZ,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:_Z,ra_Monday:xZ,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:SZ,"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 admin":"No hay respuesta del administrador","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_OAuth Client ID":"ID de cliente OAuth","ra_OAuth Client secret":"Secreto de cliente OAuth",ra_Objects:kZ,ra_Ok:vZ,"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:YZ,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Rename_Move_Copy:QZ,"ra_Renew %s access":"Renovar el acceso a %s",ra_Repeat:bZ,ra_Replace:UZ,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:$Z,ra_Saturday:PZ,ra_Save:WZ,"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:JZ,"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:BZ,"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:RZ,"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:FZ,ra_Timestamp:GZ,"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:HZ,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:VZ,"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:ZZ,ra_Value:XZ,ra_Version:KZ,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:qZ,ra_Width:eX,"ra_YAML editor":"Editor YAML",ra_Yes:tX,"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__:sX,ra_aclEveryone_read_object:iX,ra_aclEveryone_read_state:rX,ra_aclEveryone_write_object:oX,ra_aclEveryone_write_state:nX,ra_aclGroup_read_object:aX,ra_aclGroup_read_state:MX,ra_aclGroup_write_object:cX,ra_aclGroup_write_state:uX,ra_aclOwner_read_object:lX,ra_aclOwner_read_state:NX,ra_aclOwner_write_object:LX,ra_aclOwner_write_state:gX,ra_buttons:jX,ra_changedFrom:yX,ra_close:TX,ra_create_boolean_state:DX,ra_create_channel:dX,ra_create_device:hX,ra_create_number_state:zX,ra_create_state:wX,ra_create_string_state:IX,ra_daysShortText:CX,ra_dow_Fr:pX,ra_dow_Mo:AX,ra_dow_Sa:mX,ra_dow_Su:fX,ra_dow_Th:OX,ra_dow_Tu:EX,ra_dow_We:_X,ra_expertMode:xX,ra_false:SX,ra_fileType_all:kX,ra_fileType_audio:vX,ra_fileType_code:YX,ra_fileType_images:QX,ra_fileType_txt:bX,ra_fileType_video:UX,"ra_fileType_video,":"Video",ra_filter_customs:$X,ra_filter_customs_without:PX,ra_filter_func:WX,ra_filter_id:JX,ra_filter_name:BX,ra_filter_role:RX,ra_filter_room:FX,ra_filter_type:GX,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:HX,ra_lastChange:VX,ra_locally:ZX,ra_month_Apr:XX,ra_month_Aug:KX,ra_month_Dec:qX,ra_month_Feb:eK,ra_month_Jan:tK,ra_month_Jul:sK,ra_month_Jun:iK,ra_month_Mai:rK,ra_month_Mar:oK,ra_month_Nov:nK,ra_month_Oct:aK,ra_month_Sep:MK,ra_months_Apr:cK,ra_months_Aug:uK,ra_months_Dec:lK,ra_months_Feb:NK,ra_months_Jan:LK,ra_months_Jul:gK,ra_months_Jun:jK,ra_months_Mai:yK,ra_months_Mar:TK,ra_months_Nov:DK,ra_months_Oct:dK,ra_months_Sep:hK,"ra_no confirm for 5 mins":"Sin confirmación durante 5 minutos",ra_none:zK,ra_object_changed_by:wK,ra_object_changed_by_user:IK,ra_otherConfig:CK,ra_qualityCode:pK,ra_repeat:AK,ra_select_folder_hint:mK,ra_show_all:fK,ra_state_changed_by:OK,ra_state_changed_from:EK,ra_timestamp:_K,ra_tooltip_ack:xK,ra_tooltip_comment:SK,ra_tooltip_copyState:kK,ra_tooltip_ctrlForLink:vK,ra_tooltip_customConfig:YK,ra_tooltip_deleteObject:QK,ra_tooltip_editObject:bK,ra_tooltip_editState:UK,ra_tooltip_expire:$K,ra_tooltip_from:PK,ra_tooltip_lc:WK,ra_tooltip_quality:JK,ra_tooltip_ts:BK,ra_tooltip_user:RK,ra_tooltip_value:FK,ra_true:GK,"ra_use seconds":"usar segundos",ra_val:HK,"ra_via internet":"vía Internet",ra_warning_every_minute:VK,ra_warning_every_second:ZK,sc_cron:XK,sc_date:KK,sc_dates:qK,sc_dow:eq,sc_dows:tq,sc_every:sq,sc_everyN_dates:iq,sc_everyN_dow:rq,sc_everyN_dows:oq,sc_everyN_hours:nq,sc_everyN_minutes:aq,sc_everyN_months:Mq,sc_everyN_seconds:cq,sc_every_dates:uq,sc_every_dow:lq,sc_every_dows:Nq,sc_every_hours:Lq,sc_every_minutes:gq,sc_every_months:jq,sc_every_seconds:yq,sc_from:Tq,sc_hours:Dq,sc_interval:dq,sc_intervalBetween:hq,sc_invalid_cron:zq,sc_minutes:wq,sc_months:Iq,sc_once:Cq,sc_period:pq,sc_seconds:Aq,sc_simple:mq,sc_specific:fq,sc_specific_dates:Oq,sc_specific_dow:Eq,sc_specific_dows:_q,sc_specific_hours:xq,sc_specific_minutes:Sq,sc_specific_months:kq,sc_specific_seconds:vq,sc_time:Yq,sc_to:Qq,sc_wizard:bq,sch_all:Uq,sch_astroDay:$q,sch_astroNight:Pq,sch_astro_dawn:Wq,sch_astro_dusk:Jq,sch_astro_goldenHour:Bq,sch_astro_goldenHourEnd:Rq,sch_astro_nadir:Fq,sch_astro_nauticalDawn:Gq,sch_astro_nauticalDusk:Hq,sch_astro_night:Vq,sch_astro_nightEnd:Zq,sch_astro_solarNoon:Xq,sch_astro_sunrise:Kq,sch_astro_sunriseEnd:qq,sch_astro_sunset:eee,sch_astro_sunsetStart:tee,sch_at:see,sch_desc_atTime:iee,sch_desc_everyDay:ree,sch_desc_everyHour:oee,sch_desc_everyMinute:nee,sch_desc_everyMonth:aee,sch_desc_everyNDay:Mee,sch_desc_everyNHours:cee,sch_desc_everyNMinutes:uee,sch_desc_everyNMonths:lee,sch_desc_everyNWeeks:Nee,sch_desc_everyNYears:Lee,sch_desc_everyWeek:gee,sch_desc_everyYear:jee,sch_desc_intervalFromTo:yee,sch_desc_never:Tee,sch_desc_onDate:Dee,sch_desc_onDates:dee,sch_desc_onEveryDate:hee,sch_desc_onMonth:zee,sch_desc_onMonths:wee,sch_desc_onWeekday:Iee,sch_desc_onWeekdays:Cee,sch_desc_onWeekends:pee,sch_desc_onWorkdays:Aee,sch_desc_onceInPast:mee,sch_desc_once_on:fee,sch_desc_validFrom:Oee,sch_desc_validFromTo:Eee,sch_desc_validTo:_ee,sch_every:xee,sch_exactTime:See,sch_from:kee,sch_fromTo:vee,sch_intervalTime:Yee,sch_invert:Qee,sch_no_one:bee,sch_on:Uee,sch_period:$ee,sch_periodDaily:Pee,sch_periodDates:Wee,sch_periodDay:Jee,sch_periodEvery:Bee,sch_periodEveryDay:Ree,sch_periodEveryMonth:Fee,sch_periodEveryWeek:Gee,sch_periodEveryYear:Hee,sch_periodHours:Vee,sch_periodMinutes:Zee,sch_periodMonth:Xee,sch_periodMonthly:Kee,sch_periodOnce:qee,sch_periodSpecificMonths:ete,sch_periodWeek:tte,sch_periodWeekdays:ste,sch_periodWeekend:ite,sch_periodWeekly:rte,sch_periodWorkdays:ote,sch_periodYear:nte,sch_periodYearly:ate,sch_specificTime:Mte,sch_time:cte,sch_to:ute,sch_valid:lte,sch_validFrom:Nte,sch_validTo:Lte,sch_wholeDay:gte,sch_yearEveryMonth:jte},Tte="Akcje",Dte="Dodać",dte="Anuluj",hte="Kategorie",zte="Sprawdzony",wte="Kasować",Ite="Blisko",Cte="Handlowy",pte="Konfiguruj",Ate="Połączony",mte="Kontynuować",fte="Skopiowano",Ote="Stwórz",Ete="Przyciąć",_te="Delete",xte="Usunąć",Ste="Wyrzucać",kte="Niepowiązany",vte="Błąd",Yte="Filtr",Qte="Piątek",bte="Szerokość",Ute="Wyloguj",$te="Długość geograficzna",Pte="Wiadomość",Wte="Poniedziałek",Jte="Nazwa",Bte="Obiekty",Rte="Dobrze",Fte="Produkt",Gte="Zmień nazwę/Przenieś/Kopiuj",Hte="Powtarzać",Vte="Zastępować",Zte="Korzeń",Xte="Sobota",Kte="Zapisać",qte="Wybrany",ese="Stany",tse="Niedziela",sse="Czwartek",ise="Znak czasu",rse="Wtorek",ose="Aktualizacja",nse="Obowiązuje do",ase="Wartość",Mse="Wersja",cse="Środa",use="Szerokość",lse="Tak",Nse="różne",Lse="Każdy może czytać obiekt",gse="Każdy może czytać stan",jse="Każdy może pisać przedmiot",yse="Każdy może pisać stan",Tse="Grupa może odczytać obiekt",Dse="Grupa może odczytać stan",dse="Grupa może pisać obiekt",hse="Grupa może pisać stan",zse="Właściciel może czytać obiekt",wse="Właściciel może odczytać stan",Ise="Właściciel może napisać obiekt",Cse="Właściciel może pisać stan",pse="guziki",Ase="Zmieniony z",mse="blisko",fse="Utwórz stan logiczny",Ose="Utwórz kanał",Ese="Utwórz urządzenie",_se="Utwórz stan liczbowy",xse="Utwórz stan",Sse="Utwórz stan ciągu",kse="d.",vse="Ks",Yse="Mo",Qse="Sa",bse="Su",Use="Th",$se="Tu",Pse="My",Wse="Tryb ekspercki",Jse="FAŁSZ",Bse="Wszystkie pliki",Rse="Audio",Fse="Kod/JSON",Gse="Obrazy",Hse="Tekst",Vse="Wideo",Zse="Ustawienia",Xse="bez",Kse="Funkcjonować",qse="ID",eie="Imię",tie="Rola",sie="Sala",iie="Rodzaj",rie="Nieprawidłowe ustawienia",oie="Ostatnia zmiana",nie="lokalnie",aie="kwiecień",Mie="sierpień",cie="grudzień",uie="luty",lie="styczeń",Nie="lipiec",Lie="czerwiec",gie="Mai",jie="Zniszczyć",yie="listopad",Tie="październik",Die="wrzesień",die="kwiecień",hie="sierpień",zie="grudzień",wie="luty",Iie="styczeń",Cie="lipiec",pie="czerwiec",Aie="Mai",mie="Zniszczyć",fie="listopad",Oie="październik",Eie="wrzesień",_ie="Żaden",xie="Obiekt zmieniony przez",Sie="Obiekt ostatnio zmieniony o godz",kie="Ustawienia z innego adaptera %s",vie="Kod jakości",Yie="powtarzać",Qie="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",bie="Pokaż wszystko",Uie="Stan zmieniony przez",$ie="Obiekt zmieniony z",Pie="Znak czasu",Wie="Potwierdzon",Jie="Komentarz",Bie="Skopiuj wartość stanu",Rie="Przytrzymaj klawisz CTRL/⌘, aby otworzyć link",Fie="Własne ustawienia",Gie="Usuń obiekt",Hie="Edytuj obiekt",Vie="Edytuj wartość stanu",Zie="Wygasa za",Xie="Z",Kie="Ostatnia zmiana",qie="Jakość",ere="Znak czasu",tre="Użytkownik",sre="Wartość",ire="PRAWDA",rre="Wartość",ore="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",nre="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",are="CRON",Mre="Data",cre="Daktyle",ure="Dzień",lre="Dzień tygodnia",Nre="Każdy",Lre="co N dni",gre="w każdy N-ty dzień tygodnia",jre="co N dnia tygodnia",yre="co N godzin",Tre="co N minut",Dre="co N miesięcy",dre="co N sekund",hre="codziennie",zre="każdy dzień tygodnia",wre="każdy dzień tygodnia",Ire="co godzinę",Cre="każda minuta",pre="każdego miesiąca",Are="każda sekunda",mre="Od",fre="godziny",Ore="Interwał",Ere="Interwał między",_re="Nieprawidłowy CRON",xre="Minuty",Sre="miesięcy",kre="Pewnego razu",vre="Kropka",Yre="sekundy",Qre="Prosty",bre="Określony czas",Ure="konkretne daty",$re="określone dni tygodnia",Pre="określony dzień tygodni",Wre="określone godziny",Jre="określone minuty",Bre="określone miesiące",Rre="określone sekundy",Fre="Czas",Gre="Do",Hre="Czarodziej",Vre="wszystko",Zre="Dzień Astro",Xre="Noc Astro",Kre="Świt",qre="Zmierzch",eoe="Złota godzina",toe="Koniec złotej godziny",soe="Północ",ioe="Morski świt",roe="Morski zmierzch",ooe="Noc",noe="Koniec nocy",aoe="Południe słoneczne",Moe="Wschód słońca",coe="Koniec wschodu słońca",uoe="Zachód słońca",loe="Początek zachodu słońca",Noe="w",Loe="na %s",goe="codziennie",joe="co godzinę",yoe="każda minuta",Toe="każdego miesiąca",Doe="każdego dnia %s",doe="co %s godzin",hoe="co %s minut",zoe="co %s miesięcy",woe="co %s tygodni",Ioe="co %s lat",Coe="co tydzień",poe="każdego roku",Aoe="od %s do %s",moe="nigdy",foe="na %s z %s",Ooe="na %s i %s z",Eoe="w każdą datę",_oe="%s",xoe="%s i %s",Soe="na %s",koe="na %s i %s",voe="w weekendy",Yoe="w dni robocze",Qoe="nie będzie już wykonywany, ponieważ start jest w przeszłości",boe="na %s",Uoe="z %s",$oe="Wykonaj od do",Poe="do %s",Woe="każdy",Joe="Określony czas",Boe="od",Roe="Od-do",Foe="Czas przerwy",Goe="odwracać",Hoe="Żaden",Voe="na",Zoe="Kropka",Xoe="Codziennie",Koe="Daktyle",qoe="Dzień",ene="Każdy",tne="Codziennie",sne="Każdego miesiąca",ine="Co tydzień",rne="Każdego roku",one="godziny",nne="Minuty",ane="miesiąc",Mne="Miesięczny",cne="Pewnego razu",une="Określone miesiące",lne="Tydzień",Nne="Dni powszednie",Lne="Weekend",gne="Co tydzień",jne="Dni robocze",yne="Rok",Tne="Rocznie",Dne="Określony czas",dne="Czas",hne="do",zne="Ważny",wne="od",Ine="do",Cne="Cały dzień",pne="każdego miesiąca",Ane={"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:Tte,"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:Dte,"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:dte,"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:hte,"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:zte,ra_Clear:wte,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Click to see in full size":"Kliknij, aby zobaczyć w pełnym rozmiarze","ra_Click to show":"Kliknij, aby pokazać","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:Ite,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:Cte,ra_Configure:pte,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:Ate,ra_Continue:mte,ra_Copied:fte,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:Ote,"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:Ete,"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:_te,ra_Delete:xte,"ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan","ra_Disable/Enable translation":"Wyłącz/Włącz tłumaczenie",ra_Discard:Ste,ra_Disconnected:kte,"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_Docker is not available":"Docker nie jest dostępny","ra_Docker is not installed or not running":"Docker nie jest zainstalowany lub nie działa","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:vte,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Expand/Collapse card":"Rozwiń/Zwiń kartę","ra_Export configuration section":"Sekcja konfiguracji eksportu","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:Yte,"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:Qte,"ra_From file":"Z pliku","ra_From text":"Z tekstu","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 and add configuration section":"Importuj i dodaj sekcję konfiguracji","ra_Import and replace configuration section":"Importuj i zastąp sekcję konfiguracji","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 JSON file.":"Nieprawidłowy plik JSON.","ra_Invalid JSON format. Expected an array.":"Nieprawidłowy format JSON. Oczekiwano tablicy.","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:bte,"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:Ute,ra_Longitude:$te,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:Pte,ra_Monday:Wte,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:Jte,"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 admin":"Brak odpowiedzi od administratora","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_OAuth Client ID":"Identyfikator klienta OAuth","ra_OAuth Client secret":"Tajny klucz klienta OAuth",ra_Objects:Bte,ra_Ok:Rte,"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:Fte,"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:Gte,"ra_Renew %s access":"Odnów dostęp %s",ra_Repeat:Hte,ra_Replace:Vte,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:Zte,ra_Saturday:Xte,ra_Save:Kte,"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:qte,"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:ese,"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:tse,"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:sse,ra_Timestamp:ise,"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:rse,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:ose,"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:nse,ra_Value:ase,ra_Version:Mse,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:cse,ra_Width:use,"ra_YAML editor":"Edytor YAML",ra_Yes:lse,"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__:Nse,ra_aclEveryone_read_object:Lse,ra_aclEveryone_read_state:gse,ra_aclEveryone_write_object:jse,ra_aclEveryone_write_state:yse,ra_aclGroup_read_object:Tse,ra_aclGroup_read_state:Dse,ra_aclGroup_write_object:dse,ra_aclGroup_write_state:hse,ra_aclOwner_read_object:zse,ra_aclOwner_read_state:wse,ra_aclOwner_write_object:Ise,ra_aclOwner_write_state:Cse,ra_buttons:pse,ra_changedFrom:Ase,ra_close:mse,ra_create_boolean_state:fse,ra_create_channel:Ose,ra_create_device:Ese,ra_create_number_state:_se,ra_create_state:xse,ra_create_string_state:Sse,ra_daysShortText:kse,ra_dow_Fr:vse,ra_dow_Mo:Yse,ra_dow_Sa:Qse,ra_dow_Su:bse,ra_dow_Th:Use,ra_dow_Tu:$se,ra_dow_We:Pse,ra_expertMode:Wse,ra_false:Jse,ra_fileType_all:Bse,ra_fileType_audio:Rse,ra_fileType_code:Fse,ra_fileType_images:Gse,ra_fileType_txt:Hse,ra_fileType_video:Vse,"ra_fileType_video,":"Wideo",ra_filter_customs:Zse,ra_filter_customs_without:Xse,ra_filter_func:Kse,ra_filter_id:qse,ra_filter_name:eie,ra_filter_role:tie,ra_filter_room:sie,ra_filter_type:iie,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:rie,ra_lastChange:oie,ra_locally:nie,ra_month_Apr:aie,ra_month_Aug:Mie,ra_month_Dec:cie,ra_month_Feb:uie,ra_month_Jan:lie,ra_month_Jul:Nie,ra_month_Jun:Lie,ra_month_Mai:gie,ra_month_Mar:jie,ra_month_Nov:yie,ra_month_Oct:Tie,ra_month_Sep:Die,ra_months_Apr:die,ra_months_Aug:hie,ra_months_Dec:zie,ra_months_Feb:wie,ra_months_Jan:Iie,ra_months_Jul:Cie,ra_months_Jun:pie,ra_months_Mai:Aie,ra_months_Mar:mie,ra_months_Nov:fie,ra_months_Oct:Oie,ra_months_Sep:Eie,"ra_no confirm for 5 mins":"brak potwierdzenia przez 5 minut",ra_none:_ie,ra_object_changed_by:xie,ra_object_changed_by_user:Sie,ra_otherConfig:kie,ra_qualityCode:vie,ra_repeat:Yie,ra_select_folder_hint:Qie,ra_show_all:bie,ra_state_changed_by:Uie,ra_state_changed_from:$ie,ra_timestamp:Pie,ra_tooltip_ack:Wie,ra_tooltip_comment:Jie,ra_tooltip_copyState:Bie,ra_tooltip_ctrlForLink:Rie,ra_tooltip_customConfig:Fie,ra_tooltip_deleteObject:Gie,ra_tooltip_editObject:Hie,ra_tooltip_editState:Vie,ra_tooltip_expire:Zie,ra_tooltip_from:Xie,ra_tooltip_lc:Kie,ra_tooltip_quality:qie,ra_tooltip_ts:ere,ra_tooltip_user:tre,ra_tooltip_value:sre,ra_true:ire,"ra_use seconds":"użyj sekund",ra_val:rre,"ra_via internet":"przez internet",ra_warning_every_minute:ore,ra_warning_every_second:nre,sc_cron:are,sc_date:Mre,sc_dates:cre,sc_dow:ure,sc_dows:lre,sc_every:Nre,sc_everyN_dates:Lre,sc_everyN_dow:gre,sc_everyN_dows:jre,sc_everyN_hours:yre,sc_everyN_minutes:Tre,sc_everyN_months:Dre,sc_everyN_seconds:dre,sc_every_dates:hre,sc_every_dow:zre,sc_every_dows:wre,sc_every_hours:Ire,sc_every_minutes:Cre,sc_every_months:pre,sc_every_seconds:Are,sc_from:mre,sc_hours:fre,sc_interval:Ore,sc_intervalBetween:Ere,sc_invalid_cron:_re,sc_minutes:xre,sc_months:Sre,sc_once:kre,sc_period:vre,sc_seconds:Yre,sc_simple:Qre,sc_specific:bre,sc_specific_dates:Ure,sc_specific_dow:$re,sc_specific_dows:Pre,sc_specific_hours:Wre,sc_specific_minutes:Jre,sc_specific_months:Bre,sc_specific_seconds:Rre,sc_time:Fre,sc_to:Gre,sc_wizard:Hre,sch_all:Vre,sch_astroDay:Zre,sch_astroNight:Xre,sch_astro_dawn:Kre,sch_astro_dusk:qre,sch_astro_goldenHour:eoe,sch_astro_goldenHourEnd:toe,sch_astro_nadir:soe,sch_astro_nauticalDawn:ioe,sch_astro_nauticalDusk:roe,sch_astro_night:ooe,sch_astro_nightEnd:noe,sch_astro_solarNoon:aoe,sch_astro_sunrise:Moe,sch_astro_sunriseEnd:coe,sch_astro_sunset:uoe,sch_astro_sunsetStart:loe,sch_at:Noe,sch_desc_atTime:Loe,sch_desc_everyDay:goe,sch_desc_everyHour:joe,sch_desc_everyMinute:yoe,sch_desc_everyMonth:Toe,sch_desc_everyNDay:Doe,sch_desc_everyNHours:doe,sch_desc_everyNMinutes:hoe,sch_desc_everyNMonths:zoe,sch_desc_everyNWeeks:woe,sch_desc_everyNYears:Ioe,sch_desc_everyWeek:Coe,sch_desc_everyYear:poe,sch_desc_intervalFromTo:Aoe,sch_desc_never:moe,sch_desc_onDate:foe,sch_desc_onDates:Ooe,sch_desc_onEveryDate:Eoe,sch_desc_onMonth:_oe,sch_desc_onMonths:xoe,sch_desc_onWeekday:Soe,sch_desc_onWeekdays:koe,sch_desc_onWeekends:voe,sch_desc_onWorkdays:Yoe,sch_desc_onceInPast:Qoe,sch_desc_once_on:boe,sch_desc_validFrom:Uoe,sch_desc_validFromTo:$oe,sch_desc_validTo:Poe,sch_every:Woe,sch_exactTime:Joe,sch_from:Boe,sch_fromTo:Roe,sch_intervalTime:Foe,sch_invert:Goe,sch_no_one:Hoe,sch_on:Voe,sch_period:Zoe,sch_periodDaily:Xoe,sch_periodDates:Koe,sch_periodDay:qoe,sch_periodEvery:ene,sch_periodEveryDay:tne,sch_periodEveryMonth:sne,sch_periodEveryWeek:ine,sch_periodEveryYear:rne,sch_periodHours:one,sch_periodMinutes:nne,sch_periodMonth:ane,sch_periodMonthly:Mne,sch_periodOnce:cne,sch_periodSpecificMonths:une,sch_periodWeek:lne,sch_periodWeekdays:Nne,sch_periodWeekend:Lne,sch_periodWeekly:gne,sch_periodWorkdays:jne,sch_periodYear:yne,sch_periodYearly:Tne,sch_specificTime:Dne,sch_time:dne,sch_to:hne,sch_valid:zne,sch_validFrom:wne,sch_validTo:Ine,sch_wholeDay:Cne,sch_yearEveryMonth:pne},mne="Дії",fne="Додайте",One="Скасувати",Ene="Категорії",_ne="Перевірено",xne="Видалити",Sne="Закрити",kne="Комерційний",vne="Налаштувати",Yne="Підключено",Qne="Продовжити",bne="Скопійовано",Une="Створити",$ne="Урожай",Pne="Delete",Wne="Видалити",Jne="Відкинути",Bne="Відключено",Rne="Помилка",Fne="фільтр",Gne="П'ятниця",Hne="Широта",Vne="Вийти",Zne="Довгота",Xne="повідомлення",Kne="понеділок",qne="Ім'я",eae="Об'єкти",tae="В порядку",sae="Продукт",iae="Перейменувати/Перемістити/Копіювати",rae="Повторіть",oae="Замінити",nae="Корінь",aae="Субота",Mae="зберегти",cae="Вибране",uae="держави",lae="неділя",Nae="четвер",Lae="Мітка часу",gae="вівторок",jae="оновлення",yae="Дійсний до",Tae="Значення",Dae="Версія",dae="Середа",hae="Ширина",zae="Так",wae="інший",Iae="Кожен може читати об'єкт",Cae="Кожен може читати стан",pae="Кожен може написати об'єкт",Aae="Кожен може написати стан",mae="Група може читати об'єкт",fae="Група може читати стан",Oae="Група може писати об'єкт",Eae="Група може писати стан",_ae="Власник може читати об'єкт",xae="Власник може читати стан",Sae="Власник може написати об'єкт",kae="Власник може написати стан",vae="кнопки",Yae="Змінено з",Qae="закрити",bae="Створіть логічний стан",Uae="Створити канал",$ae="Створити пристрій",Pae="Створити номерний стан",Wae="Створити состояние",Jae="Створити рядковий стан",Bae="днів",Rae="О",Fae="пн",Gae="Sa",Hae="Нд",Vae="чт",Zae="вт",Xae="ми",Kae="Експертний режим",qae="НЕПРАВДА",eMe="Всі файли",tMe="Аудіо",sMe="Код/JSON",iMe="Зображення",rMe="текст",oMe="відео",nMe="Налаштування",aMe="без",MMe="функція",cMe="ID",uMe="Ім'я",lMe="Роль",NMe="Кімната",LMe="Тип",gMe="Недійсні налаштування",jMe="Остання зміна",yMe="локально",TMe="квіт",DMe="серп",dMe="груд",hMe="лютий",zMe="січня",wMe="лип",IMe="черв",CMe="травень",pMe="березень",AMe="Листопад",mMe="жовт",fMe="вер",OMe="квіт",EMe="серп",_Me="груд",xMe="лютий",SMe="січня",kMe="лип",vMe="черв",YMe="травень",QMe="березень",bMe="Листопад",UMe="жовт",$Me="вер",PMe="немає",WMe="Об'єкт змінено",JMe="Об'єкт востаннє змінено о",BMe="Налаштування з іншого адаптера %s",RMe="Код якості",FMe="повторити",GMe="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",HMe="Показати все",VMe="Стан змінено на",ZMe="Об'єкт змінено з",XMe="Мітка часу",KMe="Визнано",qMe="коментар",ece="Скопіюйте значення стану",tce="Утримуйте клавішу Cltr/⌘, щоб відкрити посилання",sce="Спеціальні налаштування",ice="Видалити об'єкт",rce="Редагувати об'єкт",oce="Відредагуйте значення стану",nce="Термін дії закінчується через",ace="Від",Mce="Востаннє змінено",cce="якість",uce="Позначка часу",lce="Користувач",Nce="Значення",Lce="ПРАВДА",gce="Значення",jce="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",yce="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",Tce="CRON",Dce="Дата",dce="дати",hce="День",zce="День тижня",wce="кожен",Ice="кожні N днів",Cce="кожен N-й день тижня",pce="кожні N днів тижня",Ace="кожні N годин",mce="кожні N хвилин",fce="кожні N місяців",Oce="кожні N секунд",Ece="кожен день",_ce="кожен день тижня",xce="кожен день тижня",Sce="щогодини",kce="кожну хвилину",vce="щомісяця",Yce="кожна секунда",Qce="Від",bce="години",Uce="Інтервал",$ce="Інтервал між",Pce="Недійсний CRON",Wce="хвилин",Jce="місяців",Bce="Один раз",Rce="Крапка",Fce="секунд",Gce="просто",Hce="Конкретний час",Vce="конкретні дати",Zce="конкретний день (дні) тижня",Xce="конкретний день тижня",Kce="конкретні години",qce="конкретні хвилини",eue="конкретні місяці",tue="конкретні секунди",sue="час",iue="до",rue="майстер",oue="все",nue="Астродень",aue="Астро ніч",Mue="Світанок",cue="Сутінки",uue="Золота година",lue="Кінець золотої години",Nue="Надір",Lue="Морський світанок",gue="Морські сутінки",jue="ніч",yue="Кінець ночі",Tue="Сонячний полудень",Due="Схід сонця",due="Кінець сходу сонця",hue="Захід сонця",zue="Початок заходу сонця",wue="в",Iue="в %s",Cue="кожен день",pue="щогодини",Aue="кожну хвилину",mue="щомісяця",fue="кожен %s день",Oue="кожні %s годин",Eue="кожні %s хвилин",_ue="кожні %s місяців",xue="кожні %s тижнів",Sue="кожні %s років",kue="щотижня",vue="щороку",Yue="від %s до %s",Que="ніколи",bue="на %s з %s",Uue="на %s і %s з",$ue="на кожну дату",Pue="%s",Wue="%s і %s",Jue="на %s",Bue="на %s і %s",Rue="на вихідних",Fue="в робочі дні",Gue="більше не виконуватиметься, оскільки запуск у минулому",Hue="на %s",Vue="від %s",Zue="Виконати від до",Xue="до %s",Kue="кожен",que="Конкретний час",ele="від",tle="Від до",sle="Час інтервалу",ile="інвертувати",rle="немає",ole="на",nle="Крапка",ale="Щодня",Mle="дати",cle="День",ule="кожен",lle="Кожен день",Nle="Щомісяця",Lle="Щотижня",gle="Щороку",jle="години",yle="хвилин",Tle="місяць",Dle="Щомісяця",dle="Один раз",hle="Конкретні місяці",zle="тиждень",wle="будні",Ile="Вихідні",Cle="Щотижня",ple="робочі дні",Ale="рік",mle="щорічно",fle="Конкретний час",Ole="час",Ele="до",_le="Дійсний",xle="від",Sle="до",kle="Цілий день",vle="щомісяця",Yle={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію",ra_Actions:mne,"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:fne,"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:One,"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:Ene,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:_ne,ra_Clear:xne,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Click to see in full size":"Натисніть, щоб побачити в повному розмірі","ra_Click to show":"Натисніть, щоб показати","ra_Clone current row":"Клонувати поточний рядок",ra_Close:Sne,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:kne,ra_Configure:vne,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:Yne,ra_Continue:Qne,ra_Copied:bne,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:Une,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:$ne,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:Pne,ra_Delete:Wne,"ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан","ra_Disable/Enable translation":"Вимкнути/Увімкнути переклад",ra_Discard:Jne,ra_Disconnected:Bne,"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_Docker is not available":"Докер недоступний","ra_Docker is not installed or not running":"Docker не встановлено або не працює","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:Rne,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Expand/Collapse card":"Розгорнути/Згорнути картку","ra_Export configuration section":"Розділ конфігурації експорту","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:Fne,"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:Gne,"ra_From file":"З файлу","ra_From text":"З тексту","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 and add configuration section":"Розділ імпорту та додавання конфігурації","ra_Import and replace configuration section":"Розділ імпорту та заміни конфігурації","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 JSON file.":"Недійсний JSON-файл.","ra_Invalid JSON format. Expected an array.":"Недійсний формат JSON. Очікується масив.","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:Hne,"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:Vne,ra_Longitude:Zne,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:Xne,ra_Monday:Kne,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:qne,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from admin":"Немає відповіді від адміністратора","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_OAuth Client ID":"Ідентифікатор клієнта OAuth","ra_OAuth Client secret":"Секрет клієнта OAuth",ra_Objects:eae,ra_Ok:tae,"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:sae,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Rename_Move_Copy:iae,"ra_Renew %s access":"Поновити доступ %s",ra_Repeat:rae,ra_Replace:oae,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:nae,ra_Saturday:aae,ra_Save:Mae,"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:cae,"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:uae,"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:lae,"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:Nae,ra_Timestamp:Lae,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:gae,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:jae,"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:yae,ra_Value:Tae,ra_Version:Dae,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:dae,ra_Width:hae,"ra_YAML editor":"Редактор YAML",ra_Yes:zae,"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__:wae,ra_aclEveryone_read_object:Iae,ra_aclEveryone_read_state:Cae,ra_aclEveryone_write_object:pae,ra_aclEveryone_write_state:Aae,ra_aclGroup_read_object:mae,ra_aclGroup_read_state:fae,ra_aclGroup_write_object:Oae,ra_aclGroup_write_state:Eae,ra_aclOwner_read_object:_ae,ra_aclOwner_read_state:xae,ra_aclOwner_write_object:Sae,ra_aclOwner_write_state:kae,ra_buttons:vae,ra_changedFrom:Yae,ra_close:Qae,ra_create_boolean_state:bae,ra_create_channel:Uae,ra_create_device:$ae,ra_create_number_state:Pae,ra_create_state:Wae,ra_create_string_state:Jae,ra_daysShortText:Bae,ra_dow_Fr:Rae,ra_dow_Mo:Fae,ra_dow_Sa:Gae,ra_dow_Su:Hae,ra_dow_Th:Vae,ra_dow_Tu:Zae,ra_dow_We:Xae,ra_expertMode:Kae,ra_false:qae,ra_fileType_all:eMe,ra_fileType_audio:tMe,ra_fileType_code:sMe,ra_fileType_images:iMe,ra_fileType_txt:rMe,ra_fileType_video:oMe,"ra_fileType_video,":"відео",ra_filter_customs:nMe,ra_filter_customs_without:aMe,ra_filter_func:MMe,ra_filter_id:cMe,ra_filter_name:uMe,ra_filter_role:lMe,ra_filter_room:NMe,ra_filter_type:LMe,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:gMe,ra_lastChange:jMe,ra_locally:yMe,ra_month_Apr:TMe,ra_month_Aug:DMe,ra_month_Dec:dMe,ra_month_Feb:hMe,ra_month_Jan:zMe,ra_month_Jul:wMe,ra_month_Jun:IMe,ra_month_Mai:CMe,ra_month_Mar:pMe,ra_month_Nov:AMe,ra_month_Oct:mMe,ra_month_Sep:fMe,ra_months_Apr:OMe,ra_months_Aug:EMe,ra_months_Dec:_Me,ra_months_Feb:xMe,ra_months_Jan:SMe,ra_months_Jul:kMe,ra_months_Jun:vMe,ra_months_Mai:YMe,ra_months_Mar:QMe,ra_months_Nov:bMe,ra_months_Oct:UMe,ra_months_Sep:$Me,"ra_no confirm for 5 mins":"без підтвердження протягом 5 хв",ra_none:PMe,ra_object_changed_by:WMe,ra_object_changed_by_user:JMe,ra_otherConfig:BMe,ra_qualityCode:RMe,ra_repeat:FMe,ra_select_folder_hint:GMe,ra_show_all:HMe,ra_state_changed_by:VMe,ra_state_changed_from:ZMe,ra_timestamp:XMe,ra_tooltip_ack:KMe,ra_tooltip_comment:qMe,ra_tooltip_copyState:ece,ra_tooltip_ctrlForLink:tce,ra_tooltip_customConfig:sce,ra_tooltip_deleteObject:ice,ra_tooltip_editObject:rce,ra_tooltip_editState:oce,ra_tooltip_expire:nce,ra_tooltip_from:ace,ra_tooltip_lc:Mce,ra_tooltip_quality:cce,ra_tooltip_ts:uce,ra_tooltip_user:lce,ra_tooltip_value:Nce,ra_true:Lce,"ra_use seconds":"використовуйте секунди",ra_val:gce,"ra_via internet":"через інтернет",ra_warning_every_minute:jce,ra_warning_every_second:yce,sc_cron:Tce,sc_date:Dce,sc_dates:dce,sc_dow:hce,sc_dows:zce,sc_every:wce,sc_everyN_dates:Ice,sc_everyN_dow:Cce,sc_everyN_dows:pce,sc_everyN_hours:Ace,sc_everyN_minutes:mce,sc_everyN_months:fce,sc_everyN_seconds:Oce,sc_every_dates:Ece,sc_every_dow:_ce,sc_every_dows:xce,sc_every_hours:Sce,sc_every_minutes:kce,sc_every_months:vce,sc_every_seconds:Yce,sc_from:Qce,sc_hours:bce,sc_interval:Uce,sc_intervalBetween:$ce,sc_invalid_cron:Pce,sc_minutes:Wce,sc_months:Jce,sc_once:Bce,sc_period:Rce,sc_seconds:Fce,sc_simple:Gce,sc_specific:Hce,sc_specific_dates:Vce,sc_specific_dow:Zce,sc_specific_dows:Xce,sc_specific_hours:Kce,sc_specific_minutes:qce,sc_specific_months:eue,sc_specific_seconds:tue,sc_time:sue,sc_to:iue,sc_wizard:rue,sch_all:oue,sch_astroDay:nue,sch_astroNight:aue,sch_astro_dawn:Mue,sch_astro_dusk:cue,sch_astro_goldenHour:uue,sch_astro_goldenHourEnd:lue,sch_astro_nadir:Nue,sch_astro_nauticalDawn:Lue,sch_astro_nauticalDusk:gue,sch_astro_night:jue,sch_astro_nightEnd:yue,sch_astro_solarNoon:Tue,sch_astro_sunrise:Due,sch_astro_sunriseEnd:due,sch_astro_sunset:hue,sch_astro_sunsetStart:zue,sch_at:wue,sch_desc_atTime:Iue,sch_desc_everyDay:Cue,sch_desc_everyHour:pue,sch_desc_everyMinute:Aue,sch_desc_everyMonth:mue,sch_desc_everyNDay:fue,sch_desc_everyNHours:Oue,sch_desc_everyNMinutes:Eue,sch_desc_everyNMonths:_ue,sch_desc_everyNWeeks:xue,sch_desc_everyNYears:Sue,sch_desc_everyWeek:kue,sch_desc_everyYear:vue,sch_desc_intervalFromTo:Yue,sch_desc_never:Que,sch_desc_onDate:bue,sch_desc_onDates:Uue,sch_desc_onEveryDate:$ue,sch_desc_onMonth:Pue,sch_desc_onMonths:Wue,sch_desc_onWeekday:Jue,sch_desc_onWeekdays:Bue,sch_desc_onWeekends:Rue,sch_desc_onWorkdays:Fue,sch_desc_onceInPast:Gue,sch_desc_once_on:Hue,sch_desc_validFrom:Vue,sch_desc_validFromTo:Zue,sch_desc_validTo:Xue,sch_every:Kue,sch_exactTime:que,sch_from:ele,sch_fromTo:tle,sch_intervalTime:sle,sch_invert:ile,sch_no_one:rle,sch_on:ole,sch_period:nle,sch_periodDaily:ale,sch_periodDates:Mle,sch_periodDay:cle,sch_periodEvery:ule,sch_periodEveryDay:lle,sch_periodEveryMonth:Nle,sch_periodEveryWeek:Lle,sch_periodEveryYear:gle,sch_periodHours:jle,sch_periodMinutes:yle,sch_periodMonth:Tle,sch_periodMonthly:Dle,sch_periodOnce:dle,sch_periodSpecificMonths:hle,sch_periodWeek:zle,sch_periodWeekdays:wle,sch_periodWeekend:Ile,sch_periodWeekly:Cle,sch_periodWorkdays:ple,sch_periodYear:Ale,sch_periodYearly:mle,sch_specificTime:fle,sch_time:Ole,sch_to:Ele,sch_valid:_le,sch_validFrom:xle,sch_validTo:Sle,sch_wholeDay:kle,sch_yearEveryMonth:vle},Qle="操作",ble="附加",Ule="取消",$le="类别",Ple="勾选",Wle="删除",Jle="关",Ble="商业的",Rle="配置",Fle="连接的",Gle="继续",Hle="复制的",Vle="创建",Zle="庄稼",Xle="Delete",Kle="删除",qle="丢弃",e0e="断开连接",t0e="错误",s0e="筛选",i0e="星期五",r0e="纬度",o0e="登出",n0e="经度",a0e="信息",M0e="周一",c0e="姓名",u0e="对象",l0e="好",N0e="产品",L0e="重命名/移动/复制",g0e="重复",j0e="代替",y0e="根",T0e="周六",D0e="保存",d0e="已选",h0e="状态",z0e="星期日",w0e="周四",I0e="时间戳记",C0e="周二",p0e="更新资料",A0e="有效期至",m0e="值",f0e="版本",O0e="周三",E0e="宽度",_0e="是的",x0e="不同的",S0e="每个人都可以阅读对象",k0e="每个人都可以阅读状态",v0e="每个人都可以写对象",Y0e="每个人都可以写状态",Q0e="组可以读取对象",b0e="群组可以读取状态",U0e="组可以写对象",$0e="组可以写状态",P0e="所有者可以读取对象",W0e="所有者可以读取状态",J0e="所有者可以写对象",B0e="所有者可以写状态",R0e="纽扣",F0e="更改为",G0e="关闭",H0e="创建布尔状态",V0e="创建频道",Z0e="创建设备",X0e="创建号码状态",K0e="创建状态",q0e="创建字符串状态",eNe="天",tNe="r",sNe="莫",iNe="萨",rNe="苏",oNe="Th",nNe="Tu",aNe="我们",MNe="专家模式",cNe="错误的",uNe="所有文件",lNe="声音的",NNe="代码/JSON",LNe="图片",gNe="文本",jNe="视频",yNe="设定值",TNe="没有",DNe="功能",dNe="ID",hNe="名称",zNe="角色",wNe="房间",INe="类型",CNe="无效的设定",pNe="最后一次变更",ANe="本地",mNe="4月",fNe="八月",ONe="十二月",ENe="二月",_Ne="简",xNe="七月",SNe="君",kNe="迈",vNe="三月",YNe="十一月",QNe="十月",bNe="九月",UNe="4月",$Ne="八月",PNe="十二月",WNe="二月",JNe="简",BNe="七月",RNe="君",FNe="迈",GNe="三月",HNe="十一月",VNe="十月",ZNe="九月",XNe="没有任何",KNe="物件变更者",qNe="对象上次更改时间为",e4e="来自其他适配器%s的设置",t4e="质量代码",s4e="重复",i4e="要选择文件夹,只需按住“shift”键单击文件夹即可。",r4e="显示全部",o4e="状态由",n4e="对象已从更改",a4e="时间戳记",M4e="致谢国旗",c4e="评论",u4e="复制状态值",l4e="按住 Cltr/⌘ 键打开链接",N4e="自定义设置",L4e="删除物件",g4e="编辑物件",j4e="编辑状态值",y4e="有效期:",T4e="从",D4e="最后改变了",d4e="质量",h4e="时间戳",z4e="用户",w4e="值",I4e="真的",C4e="值",p4e="警告:CRON 作业将在指定期间内每分钟运行一次!",A4e="警告:CRON 作业将在指定期间内每秒运行一次!",m4e="周期任务",f4e="日期",O4e="日",E4e="天",_4e="星期",x4e="每",S4e="每N天",k4e="每周的第 N 天",v4e="每周N天",Y4e="每N小时一次",Q4e="每N分钟",b4e="每N个月",U4e="每N秒",$4e="每天",P4e="一周的每一天",W4e="一周的每一天",J4e="每小时",B4e="每分钟",R4e="每月",F4e="每秒",G4e="从",H4e="小时",V4e="间隔",Z4e="间隔时间",X4e="无效的 CRON",K4e="分钟",q4e="月",eLe="一次",tLe="周期",sLe="秒",iLe="简单模式",rLe="特定的时间",oLe="特定的日子",nLe="一周中的特定日子",aLe="特定的一周",MLe="特定的小时",cLe="特定的分钟",uLe="特定的月份",lLe="特定的描述",NLe="时间",LLe="至",gLe="向导模式",jLe="全选",yLe="天文白天",TLe="天文夜晚",DLe="黎明",dLe="黄昏",hLe="黄金时段",zLe="黄金时段结束",wLe="天底",ILe="航海黎明",CLe="航海黄昏",pLe="夜晚",ALe="夜晚结束",mLe="正午",fLe="日出",OLe="日出结束",ELe="日落",_Le="日落开始",xLe="在",SLe="的%s",kLe="每天",vLe="每小时",YLe="每分钟",QLe="每月",bLe="每%s天",ULe="每%s小时",$Le="每%s分钟",PLe="每%s月",WLe="每%s周",JLe="每%s年",BLe="每周",RLe="每年",FLe="从%s到%s",GLe="决不",HLe="在%s的%s上",VLe="在%s和%s上",ZLe="在每天",XLe="%s",KLe="%s和%s",qLe="在%s上",ege="在%s和%s上",tge="在周末",sge="在工作日",ige="将不再执行,因为起始时间已经是过去的时间了。",rge="在%s上",oge="来自%s",nge="从执行到",age="到%s",Mge="每",cge="特定的时间",uge="从",lge="从到",Nge="间隔时间",Lge="倒置",gge="取消全选",jge="的",yge="周期",Tge="每天",Dge="日期",dge="天",hge="每",zge="每天",wge="每月",Ige="每周",Cge="每年",pge="小时",Age="分钟",mge="月",fge="每月一次",Oge="一次",Ege="特定的月份",_ge="周",xge="工作日",Sge="周末",kge="每周",vge="工作日",Yge="年",Qge="每年",bge="特定的时间",Uge="时间",$ge="至",Pge="生效",Wge="从",Jge="至",Bge="一整天",Rge="每月",Fge={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可",ra_Actions:Qle,"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:ble,"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:Ule,"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:$le,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:Ple,ra_Clear:Wle,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Click to see in full size":"点击查看完整尺寸","ra_Click to show":"点击显示","ra_Clone current row":"克隆当前行",ra_Close:Jle,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:Ble,ra_Configure:Rle,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:Fle,ra_Continue:Gle,ra_Copied:Hle,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:Vle,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:Zle,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:Xle,ra_Delete:Kle,"ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态","ra_Disable/Enable translation":"禁用/启用翻译",ra_Discard:qle,ra_Disconnected:e0e,"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_Docker is not available":"Docker 不可用","ra_Docker is not installed or not running":"Docker 未安装或未运行","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:t0e,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Expand/Collapse card":"展开/折叠卡","ra_Export configuration section":"导出配置部分","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:s0e,"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:i0e,"ra_From file":"从文件","ra_From text":"文本","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 and add configuration section":"导入并添加配置部分","ra_Import and replace configuration section":"导入和替换配置部分","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 JSON file.":"无效的JSON文件。","ra_Invalid JSON format. Expected an array.":"JSON格式无效。应为数组。","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:r0e,"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:o0e,ra_Longitude:n0e,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:a0e,ra_Monday:M0e,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:c0e,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from admin":"管理员没有回应","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_OAuth Client ID":"OAuth客户端ID","ra_OAuth Client secret":"OAuth 客户端密钥",ra_Objects:u0e,ra_Ok:l0e,"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:N0e,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Rename_Move_Copy:L0e,"ra_Renew %s access":"续订 %s 访问权限",ra_Repeat:g0e,ra_Replace:j0e,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:y0e,ra_Saturday:T0e,ra_Save:D0e,"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:d0e,"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:h0e,"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:z0e,"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:w0e,ra_Timestamp:I0e,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:C0e,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:p0e,"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:A0e,ra_Value:m0e,ra_Version:f0e,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:O0e,ra_Width:E0e,"ra_YAML editor":"YAML 编辑器",ra_Yes:_0e,"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__:x0e,ra_aclEveryone_read_object:S0e,ra_aclEveryone_read_state:k0e,ra_aclEveryone_write_object:v0e,ra_aclEveryone_write_state:Y0e,ra_aclGroup_read_object:Q0e,ra_aclGroup_read_state:b0e,ra_aclGroup_write_object:U0e,ra_aclGroup_write_state:$0e,ra_aclOwner_read_object:P0e,ra_aclOwner_read_state:W0e,ra_aclOwner_write_object:J0e,ra_aclOwner_write_state:B0e,ra_buttons:R0e,ra_changedFrom:F0e,ra_close:G0e,ra_create_boolean_state:H0e,ra_create_channel:V0e,ra_create_device:Z0e,ra_create_number_state:X0e,ra_create_state:K0e,ra_create_string_state:q0e,ra_daysShortText:eNe,ra_dow_Fr:tNe,ra_dow_Mo:sNe,ra_dow_Sa:iNe,ra_dow_Su:rNe,ra_dow_Th:oNe,ra_dow_Tu:nNe,ra_dow_We:aNe,ra_expertMode:MNe,ra_false:cNe,ra_fileType_all:uNe,ra_fileType_audio:lNe,ra_fileType_code:NNe,ra_fileType_images:LNe,ra_fileType_txt:gNe,ra_fileType_video:jNe,"ra_fileType_video,":"视频",ra_filter_customs:yNe,ra_filter_customs_without:TNe,ra_filter_func:DNe,ra_filter_id:dNe,ra_filter_name:hNe,ra_filter_role:zNe,ra_filter_room:wNe,ra_filter_type:INe,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:CNe,ra_lastChange:pNe,ra_locally:ANe,ra_month_Apr:mNe,ra_month_Aug:fNe,ra_month_Dec:ONe,ra_month_Feb:ENe,ra_month_Jan:_Ne,ra_month_Jul:xNe,ra_month_Jun:SNe,ra_month_Mai:kNe,ra_month_Mar:vNe,ra_month_Nov:YNe,ra_month_Oct:QNe,ra_month_Sep:bNe,ra_months_Apr:UNe,ra_months_Aug:$Ne,ra_months_Dec:PNe,ra_months_Feb:WNe,ra_months_Jan:JNe,ra_months_Jul:BNe,ra_months_Jun:RNe,ra_months_Mai:FNe,ra_months_Mar:GNe,ra_months_Nov:HNe,ra_months_Oct:VNe,ra_months_Sep:ZNe,"ra_no confirm for 5 mins":"5分钟内无需确认",ra_none:XNe,ra_object_changed_by:KNe,ra_object_changed_by_user:qNe,ra_otherConfig:e4e,ra_qualityCode:t4e,ra_repeat:s4e,ra_select_folder_hint:i4e,ra_show_all:r4e,ra_state_changed_by:o4e,ra_state_changed_from:n4e,ra_timestamp:a4e,ra_tooltip_ack:M4e,ra_tooltip_comment:c4e,ra_tooltip_copyState:u4e,ra_tooltip_ctrlForLink:l4e,ra_tooltip_customConfig:N4e,ra_tooltip_deleteObject:L4e,ra_tooltip_editObject:g4e,ra_tooltip_editState:j4e,ra_tooltip_expire:y4e,ra_tooltip_from:T4e,ra_tooltip_lc:D4e,ra_tooltip_quality:d4e,ra_tooltip_ts:h4e,ra_tooltip_user:z4e,ra_tooltip_value:w4e,ra_true:I4e,"ra_use seconds":"用秒",ra_val:C4e,"ra_via internet":"通过互联网",ra_warning_every_minute:p4e,ra_warning_every_second:A4e,sc_cron:m4e,sc_date:f4e,sc_dates:O4e,sc_dow:E4e,sc_dows:_4e,sc_every:x4e,sc_everyN_dates:S4e,sc_everyN_dow:k4e,sc_everyN_dows:v4e,sc_everyN_hours:Y4e,sc_everyN_minutes:Q4e,sc_everyN_months:b4e,sc_everyN_seconds:U4e,sc_every_dates:$4e,sc_every_dow:P4e,sc_every_dows:W4e,sc_every_hours:J4e,sc_every_minutes:B4e,sc_every_months:R4e,sc_every_seconds:F4e,sc_from:G4e,sc_hours:H4e,sc_interval:V4e,sc_intervalBetween:Z4e,sc_invalid_cron:X4e,sc_minutes:K4e,sc_months:q4e,sc_once:eLe,sc_period:tLe,sc_seconds:sLe,sc_simple:iLe,sc_specific:rLe,sc_specific_dates:oLe,sc_specific_dow:nLe,sc_specific_dows:aLe,sc_specific_hours:MLe,sc_specific_minutes:cLe,sc_specific_months:uLe,sc_specific_seconds:lLe,sc_time:NLe,sc_to:LLe,sc_wizard:gLe,sch_all:jLe,sch_astroDay:yLe,sch_astroNight:TLe,sch_astro_dawn:DLe,sch_astro_dusk:dLe,sch_astro_goldenHour:hLe,sch_astro_goldenHourEnd:zLe,sch_astro_nadir:wLe,sch_astro_nauticalDawn:ILe,sch_astro_nauticalDusk:CLe,sch_astro_night:pLe,sch_astro_nightEnd:ALe,sch_astro_solarNoon:mLe,sch_astro_sunrise:fLe,sch_astro_sunriseEnd:OLe,sch_astro_sunset:ELe,sch_astro_sunsetStart:_Le,sch_at:xLe,sch_desc_atTime:SLe,sch_desc_everyDay:kLe,sch_desc_everyHour:vLe,sch_desc_everyMinute:YLe,sch_desc_everyMonth:QLe,sch_desc_everyNDay:bLe,sch_desc_everyNHours:ULe,sch_desc_everyNMinutes:$Le,sch_desc_everyNMonths:PLe,sch_desc_everyNWeeks:WLe,sch_desc_everyNYears:JLe,sch_desc_everyWeek:BLe,sch_desc_everyYear:RLe,sch_desc_intervalFromTo:FLe,sch_desc_never:GLe,sch_desc_onDate:HLe,sch_desc_onDates:VLe,sch_desc_onEveryDate:ZLe,sch_desc_onMonth:XLe,sch_desc_onMonths:KLe,sch_desc_onWeekday:qLe,sch_desc_onWeekdays:ege,sch_desc_onWeekends:tge,sch_desc_onWorkdays:sge,sch_desc_onceInPast:ige,sch_desc_once_on:rge,sch_desc_validFrom:oge,sch_desc_validFromTo:nge,sch_desc_validTo:age,sch_every:Mge,sch_exactTime:cge,sch_from:uge,sch_fromTo:lge,sch_intervalTime:Nge,sch_invert:Lge,sch_no_one:gge,sch_on:jge,sch_period:yge,sch_periodDaily:Tge,sch_periodDates:Dge,sch_periodDay:dge,sch_periodEvery:hge,sch_periodEveryDay:zge,sch_periodEveryMonth:wge,sch_periodEveryWeek:Ige,sch_periodEveryYear:Cge,sch_periodHours:pge,sch_periodMinutes:Age,sch_periodMonth:mge,sch_periodMonthly:fge,sch_periodOnce:Oge,sch_periodSpecificMonths:Ege,sch_periodWeek:_ge,sch_periodWeekdays:xge,sch_periodWeekend:Sge,sch_periodWeekly:kge,sch_periodWorkdays:vge,sch_periodYear:Yge,sch_periodYearly:Qge,sch_specificTime:bge,sch_time:Uge,sch_to:$ge,sch_valid:Pge,sch_validFrom:Wge,sch_validTo:Jge,sch_wholeDay:Bge,sch_yearEveryMonth:Rge},Gge={en:q2,de:uO,ru:h5,pt:Eb,nl:$7,fr:ZB,it:nZ,es:yte,pl:Ane,uk:Yle,"zh-cn":Fge},Hge=` +`).forEach(n=>{if(!n.trim())return;const M=n.indexOf(":");if(M!==-1){const c=n.substring(0,M).trim();let l=n.substring(M+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?t[c]=!0:l==="false"?t[c]=!1:parseFloat(l).toString()===t[c]?t[c]=parseFloat(l):t[c]=l}else t[n.trim()]=!0}),e=e.substring(i+7))}return{header:t,body:e}}static MDremoveDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(i=>e=e.replace(i,"")),e}static generateFile(e,t){const i=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",document.body.appendChild(i),i.click(),document.body.removeChild(i)}static quality2text(e){const t=e&4294901760,i=Cn[e];let r;return i?r=[i]:e&1?r=[Cn[1],`0x${(e&65534).toString(16)}`]:e&2?r=[Cn[2],`0x${(e&65533).toString(16)}`]:r=[`0x${e.toString(16)}`],t&&r.push(`0x${(t>>16).toString(16).toUpperCase()}`),r}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var r;const t=(r=e==null?void 0:e.common)==null?void 0:r.states;let i;if(t)if(typeof t=="string"&&t[0]==="{")try{i=JSON.parse(t)}catch{console.error(`Cannot parse states: ${t}`),i=null}else if(typeof t=="string"){const o=t.split(";");i={};for(let n=0;ni[n]=o):(e==null?void 0:e.common.type)==="string"?t.forEach(o=>i[o]=o):(e==null?void 0:e.common.type)==="boolean"&&(i.false=t[0],i.true=t[1])):typeof t=="object"&&(i=t);return i||null}static async getSvg(e){const i=await(await fetch(e)).blob();return new Promise(r=>{const o=new FileReader;o.onload=()=>{var n;return r(((n=o.result)==null?void 0:n.toString())||"")},o.readAsDataURL(i)})}static detectMimeType(e){const t=Object.keys(Bu).find(i=>e.startsWith(i));return t?Bu[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 i={};for(let r=0;r{if(typeof t[r][o]=="function")i[o]=t[r][o](e);else if(typeof t[r][o]=="object"){const n=t[r][o];i[o]={},Object.keys(n).forEach(M=>{typeof n[M]=="function"?i[o][M]=n(e):(n[M]||n[M]===0)&&(i[o][M]=n[M])})}else(t[r][o]||t[r][o]===0)&&(i[o]=t[r][o])});return i}}const pn={buttonIcon:{marginRight:8}};class Bh 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},i={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(i.minHeight=48),this.props.error&&(t.border="1px solid red"),a.createElement(pN,{style:i},a.createElement(bt,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:t},a.createElement(Kn,{style:e?void 0:pn.buttonIcon}),!e&&D.t("ra_Save")),a.createElement(bt,{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(Kn,{style:e?void 0:pn.buttonIcon}),e?"+":D.t("ra_Save and close"),e&&a.createElement(we,null)),a.createElement("div",{style:{flexGrow:1}}),a.createElement(bt,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:t},a.createElement(we,{style:e?void 0:pn.buttonIcon}),!e&&D.t("ra_Close")))}}const Ru={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class x4 extends De{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(Ae,{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(fe,{id:"ar_confirmation_dialog_title"},this.props.title||D.t("ra_Are you sure?")),a.createElement(_e,null,a.createElement(as,{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(V,{sx:{"& .FormControlLabel-label":Ru.suppress,"&.FormControlLabel-root":Ru.suppressRoot},control:a.createElement(ue,{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(xe,null,a.createElement(q,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(we,null)},this.props.cancel||D.t("ra_Cancel"))))}}class S4 extends De{handleOk(){this.props.onClose&&this.props.onClose()}render(){return a.createElement(Ae,{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(fe,{id:"ar_alert_dialog_title"},this.props.title||D.t("ra_Error")),a.createElement(_e,null,a.createElement(as,{id:"ar_alert_dialog_description"},this.props.text||D.t("ra_Unknown error!"))),a.createElement(xe,null,a.createElement(q,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(We,null)},D.t("ra_Ok"))))}}const Rh="Actions",Fh="Append",Gh="Cancel",Hh="Categories",Vh="Checked",Zh="Delete",Xh="Close",Kh="Commercial",qh="Configure",ez="Connected",tz="Continue",sz="Copied",iz="Create",rz="Crop",oz="Delete",nz="Delete",az="Discard",Mz="Disconnected",cz="Error",uz="Filter",lz="Friday",Nz="Latitude",Lz="Logout",gz="Longitude",jz="Message",yz="Monday",Tz="Name",Dz="Objects",dz="Ok",hz="Product",zz="Rename/Move/Copy",wz="Repeat",Iz="Replace",Cz="Root",pz="Saturday",Az="Save",mz="Selected",fz="States",Oz="Sunday",Ez="Thursday",_z="Timestamp",xz="Tuesday",Sz="Update",kz="Valid till",vz="Value",Yz="Version",Qz="Wednesday",bz="Width",Uz="Yes",$z="different",Pz="Everyone can read object",Wz="Everyone can read state",Jz="Everyone can write object",Bz="Everyone can write state",Rz="Group can read object",Fz="Group can read state",Gz="Group can write object",Hz="Group can write state",Vz="Owner can read object",Zz="Owner can read state",Xz="Owner can write object",Kz="Owner can write state",qz="Buttons",ew="Changed from",tw="close",sw="Create boolean state",iw="Create channel",rw="Create device",ow="Create number state",nw="Create state",aw="Create string state",Mw="days",cw="Fr",uw="Mo",lw="Sa",Nw="Su",Lw="Th",gw="Tu",jw="We",yw="Expert mode",Tw="FALSE",Dw="All files",dw="Audio",hw="Code/JSON",zw="Images",ww="Text",Iw="Video",Cw="Settings",pw="without",Aw="Function",mw="ID",fw="Name",Ow="Role",Ew="Room",_w="Type",xw="Invalid settings",Sw="Last change",kw="locally",vw="Apr",Yw="Aug",Qw="Dec",bw="Feb",Uw="Jan",$w="Jul",Pw="Jun",Ww="Mai",Jw="Mar",Bw="Nov",Rw="Oct",Fw="Sep",Gw="Apr",Hw="Aug",Vw="Dec",Zw="Feb",Xw="Jan",Kw="Jul",qw="Jun",eI="Mai",tI="Mar",sI="Nov",iI="Oct",rI="Sep",oI="none",nI="Object changed by",aI="Object last changed at",MI="Settings from other adapter %s",cI="Quality code",uI="repeat",lI='To select folder, just hold the key "shift" by clicking the folder.',NI="Show all",LI="State changed by",gI="Object changed from",jI="Timestamp",yI="Acknowledged",TI="Comment",DI="Copy the state value",dI="Hold Cltr/⌘ key to open the link",hI="Custom settings",zI="Delete object",wI="Edit object",II="Edit the state value",CI="Expires in",pI="From",AI="Last changed",mI="Quality",fI="Time stamp",OI="User",EI="Value",_I="TRUE",xI="Value",SI="Warning: The CRON job will run every minute during the specified period!",kI="Warning: The CRON job will run every second during the specified period!",vI="CRON",YI="Date",QI="Dates",bI="Day",UI="Day of week",$I="Every",PI="every N days",WI="every Nth day of the week",JI="every N day of week",BI="every N hours",RI="every N minutes",FI="every N months",GI="every N seconds",HI="every day",VI="every day of the week",ZI="every day of the week",XI="every hour",KI="every minute",qI="every month",eC="every second",tC="From",sC="Hours",iC="Interval",rC="Interval between",oC="Invalid CRON",nC="Minutes",aC="months",MC="Once",cC="Period",uC="Seconds",lC="Simple",NC="Specific time",LC="specific dates",gC="specific day(s) of the week",jC="specific day of weeks",yC="specific hours",TC="specific minutes",DC="specific months",dC="specific seconds",hC="Time",zC="To",wC="Wizard",IC="all",CC="Astro day",pC="Astro night",AC="Dawn",mC="Dusk",fC="Golden hour",OC="Golden hour end",EC="Nadir",_C="Nautical dawn",xC="Nautical dusk",SC="Night",kC="Night end",vC="Solar noon",YC="Sunrise",QC="Sunrise end",bC="Sunset",UC="Sunset start",$C="at",PC="at %s",WC="every day",JC="every hour",BC="every minute",RC="every month",FC="every %s day",GC="every %s hours",HC="every %s minutes",VC="every %s months",ZC="every %s weeks",XC="every %s years",KC="every week",qC="every year",e2="from %s to %s",t2="never",s2="on %s of %s",i2="on %s and %s of",r2="on every date of",o2="%s",n2="%s and %s",a2="on %s",M2="on %s and %s",c2="on weekends",u2="on working days",l2="will ne be not executed any more, because start is in the past",N2="on %s",L2="from %s",g2="Execute from to",j2="to %s",y2="every",T2="Specific time",D2="from",d2="From-to",h2="Interval time",z2="invert",w2="none",I2="on",C2="Period",p2="Daily",A2="Dates",m2="Day",f2="Every",O2="Every day",E2="Every month",_2="Every week",x2="Every year",S2="Hours",k2="Minutes",v2="month",Y2="Monthly",Q2="Once",b2="Specific months",U2="Week",$2="Weekdays",P2="Weekend",W2="Weekly",J2="Workdays",B2="Year",R2="Yearly",F2="Specific time",G2="Time",H2="to",V2="Valid",Z2="from",X2="to",K2="Whole day",q2="every month",ep={"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:Rh,"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:Fh,"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:Gh,"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:Hh,"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:Vh,ra_Clear:Zh,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Click to see in full size":"Click to see in full size","ra_Click to show":"Click to show","ra_Clone current row":"Clone current row",ra_Close:Xh,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:Kh,ra_Configure:qh,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:ez,ra_Continue:tz,ra_Copied:sz,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:iz,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:rz,"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:oz,ra_Delete:nz,"ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State","ra_Disable/Enable translation":"Disable/Enable translation",ra_Discard:az,ra_Disconnected:Mz,"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_Docker is not available":"Docker is not available","ra_Docker is not installed or not running":"Docker is not installed or not running","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:cz,"ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Expand/Collapse card":"Expand/Collapse card","ra_Export configuration section":"Export configuration section","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:uz,"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:lz,"ra_From file":"From file","ra_From text":"From text","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 and add configuration section":"Import and add configuration section","ra_Import and replace configuration section":"Import and replace configuration section","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 JSON file.":"Invalid JSON file.","ra_Invalid JSON format. Expected an array.":"Invalid JSON format. Expected an array.","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:Nz,"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:Lz,ra_Longitude:gz,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:jz,ra_Monday:yz,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:Tz,"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 admin":"No response from admin","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_OAuth Client ID":"OAuth Client ID","ra_OAuth Client secret":"OAuth Client secret",ra_Objects:Dz,ra_Ok:dz,"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:hz,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Rename_Move_Copy:zz,"ra_Renew %s access":"Renew %s access",ra_Repeat:wz,ra_Replace:Iz,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:Cz,ra_Saturday:pz,ra_Save:Az,"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:mz,"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:fz,"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:Oz,"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:Ez,ra_Timestamp:_z,"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:xz,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:Sz,"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:kz,ra_Value:vz,ra_Version:Yz,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:Qz,ra_Width:bz,"ra_YAML editor":"YAML editor",ra_Yes:Uz,"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__:$z,ra_aclEveryone_read_object:Pz,ra_aclEveryone_read_state:Wz,ra_aclEveryone_write_object:Jz,ra_aclEveryone_write_state:Bz,ra_aclGroup_read_object:Rz,ra_aclGroup_read_state:Fz,ra_aclGroup_write_object:Gz,ra_aclGroup_write_state:Hz,ra_aclOwner_read_object:Vz,ra_aclOwner_read_state:Zz,ra_aclOwner_write_object:Xz,ra_aclOwner_write_state:Kz,ra_buttons:qz,ra_changedFrom:ew,ra_close:tw,ra_create_boolean_state:sw,ra_create_channel:iw,ra_create_device:rw,ra_create_number_state:ow,ra_create_state:nw,ra_create_string_state:aw,ra_daysShortText:Mw,ra_dow_Fr:cw,ra_dow_Mo:uw,ra_dow_Sa:lw,ra_dow_Su:Nw,ra_dow_Th:Lw,ra_dow_Tu:gw,ra_dow_We:jw,ra_expertMode:yw,ra_false:Tw,ra_fileType_all:Dw,ra_fileType_audio:dw,ra_fileType_code:hw,ra_fileType_images:zw,ra_fileType_txt:ww,ra_fileType_video:Iw,"ra_fileType_video,":"Video",ra_filter_customs:Cw,ra_filter_customs_without:pw,ra_filter_func:Aw,ra_filter_id:mw,ra_filter_name:fw,ra_filter_role:Ow,ra_filter_room:Ew,ra_filter_type:_w,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:xw,ra_lastChange:Sw,ra_locally:kw,ra_month_Apr:vw,ra_month_Aug:Yw,ra_month_Dec:Qw,ra_month_Feb:bw,ra_month_Jan:Uw,ra_month_Jul:$w,ra_month_Jun:Pw,ra_month_Mai:Ww,ra_month_Mar:Jw,ra_month_Nov:Bw,ra_month_Oct:Rw,ra_month_Sep:Fw,ra_months_Apr:Gw,ra_months_Aug:Hw,ra_months_Dec:Vw,ra_months_Feb:Zw,ra_months_Jan:Xw,ra_months_Jul:Kw,ra_months_Jun:qw,ra_months_Mai:eI,ra_months_Mar:tI,ra_months_Nov:sI,ra_months_Oct:iI,ra_months_Sep:rI,"ra_no confirm for 5 mins":"no confirm for 5 mins",ra_none:oI,ra_object_changed_by:nI,ra_object_changed_by_user:aI,ra_otherConfig:MI,ra_qualityCode:cI,ra_repeat:uI,ra_select_folder_hint:lI,ra_show_all:NI,ra_state_changed_by:LI,ra_state_changed_from:gI,ra_timestamp:jI,ra_tooltip_ack:yI,ra_tooltip_comment:TI,ra_tooltip_copyState:DI,ra_tooltip_ctrlForLink:dI,ra_tooltip_customConfig:hI,ra_tooltip_deleteObject:zI,ra_tooltip_editObject:wI,ra_tooltip_editState:II,ra_tooltip_expire:CI,ra_tooltip_from:pI,ra_tooltip_lc:AI,ra_tooltip_quality:mI,ra_tooltip_ts:fI,ra_tooltip_user:OI,ra_tooltip_value:EI,ra_true:_I,"ra_use seconds":"use seconds",ra_val:xI,"ra_via internet":"via internet",ra_warning_every_minute:SI,ra_warning_every_second:kI,sc_cron:vI,sc_date:YI,sc_dates:QI,sc_dow:bI,sc_dows:UI,sc_every:$I,sc_everyN_dates:PI,sc_everyN_dow:WI,sc_everyN_dows:JI,sc_everyN_hours:BI,sc_everyN_minutes:RI,sc_everyN_months:FI,sc_everyN_seconds:GI,sc_every_dates:HI,sc_every_dow:VI,sc_every_dows:ZI,sc_every_hours:XI,sc_every_minutes:KI,sc_every_months:qI,sc_every_seconds:eC,sc_from:tC,sc_hours:sC,sc_interval:iC,sc_intervalBetween:rC,sc_invalid_cron:oC,sc_minutes:nC,sc_months:aC,sc_once:MC,sc_period:cC,sc_seconds:uC,sc_simple:lC,sc_specific:NC,sc_specific_dates:LC,sc_specific_dow:gC,sc_specific_dows:jC,sc_specific_hours:yC,sc_specific_minutes:TC,sc_specific_months:DC,sc_specific_seconds:dC,sc_time:hC,sc_to:zC,sc_wizard:wC,sch_all:IC,sch_astroDay:CC,sch_astroNight:pC,sch_astro_dawn:AC,sch_astro_dusk:mC,sch_astro_goldenHour:fC,sch_astro_goldenHourEnd:OC,sch_astro_nadir:EC,sch_astro_nauticalDawn:_C,sch_astro_nauticalDusk:xC,sch_astro_night:SC,sch_astro_nightEnd:kC,sch_astro_solarNoon:vC,sch_astro_sunrise:YC,sch_astro_sunriseEnd:QC,sch_astro_sunset:bC,sch_astro_sunsetStart:UC,sch_at:$C,sch_desc_atTime:PC,sch_desc_everyDay:WC,sch_desc_everyHour:JC,sch_desc_everyMinute:BC,sch_desc_everyMonth:RC,sch_desc_everyNDay:FC,sch_desc_everyNHours:GC,sch_desc_everyNMinutes:HC,sch_desc_everyNMonths:VC,sch_desc_everyNWeeks:ZC,sch_desc_everyNYears:XC,sch_desc_everyWeek:KC,sch_desc_everyYear:qC,sch_desc_intervalFromTo:e2,sch_desc_never:t2,sch_desc_onDate:s2,sch_desc_onDates:i2,sch_desc_onEveryDate:r2,sch_desc_onMonth:o2,sch_desc_onMonths:n2,sch_desc_onWeekday:a2,sch_desc_onWeekdays:M2,sch_desc_onWeekends:c2,sch_desc_onWorkdays:u2,sch_desc_onceInPast:l2,sch_desc_once_on:N2,sch_desc_validFrom:L2,sch_desc_validFromTo:g2,sch_desc_validTo:j2,sch_every:y2,sch_exactTime:T2,sch_from:D2,sch_fromTo:d2,sch_intervalTime:h2,sch_invert:z2,sch_no_one:w2,sch_on:I2,sch_period:C2,sch_periodDaily:p2,sch_periodDates:A2,sch_periodDay:m2,sch_periodEvery:f2,sch_periodEveryDay:O2,sch_periodEveryMonth:E2,sch_periodEveryWeek:_2,sch_periodEveryYear:x2,sch_periodHours:S2,sch_periodMinutes:k2,sch_periodMonth:v2,sch_periodMonthly:Y2,sch_periodOnce:Q2,sch_periodSpecificMonths:b2,sch_periodWeek:U2,sch_periodWeekdays:$2,sch_periodWeekend:P2,sch_periodWeekly:W2,sch_periodWorkdays:J2,sch_periodYear:B2,sch_periodYearly:R2,sch_specificTime:F2,sch_time:G2,sch_to:H2,sch_valid:V2,sch_validFrom:Z2,sch_validTo:X2,sch_wholeDay:K2,sch_yearEveryMonth:q2},tp="Aktionen",sp="Anhängen",ip="Abbrechen",rp="Kategorien",op="Geprüft",np="Löschen",ap="Schließen",Mp="Kommerziell",cp="Konfigurieren",up="Verbunden",lp="Weitermachen",Np="Kopiert",Lp="Erstellen",gp="Ernte",jp="Entf",yp="Löschen",Tp="Verwerfen",Dp="Getrennt",dp="Fehler",hp="Filter",zp="Freitag",wp="Breite",Ip="Ausloggen",Cp="Längengrad",pp="Meldung",Ap="Montag",mp="Name",fp="Objekte",Op="OK",Ep="Produkt",_p="Umbenennen/Verschieben/Kopieren",xp="Wiederholen",Sp="Ersetzen",kp="Anfang",vp="Samstag",Yp="Speichern",Qp="Ausgewählt",bp="Zustände",Up="Sonntag",$p="Donnerstag",Pp="Zeitstempel",Wp="Dienstag",Jp="Aktualisieren",Bp="Gültig bis",Rp="Wert",Fp="Ausführung",Gp="Mittwoch",Hp="Breite",Vp="Ja",Zp="unterschiedlich",Xp="Jeder kann Objekt lesen",Kp="Jeder kann Zustand lesen",qp="Jeder kann ein Objekt schreiben",eA="Jeder kann Zustand schreiben",tA="Gruppe kann Objekt lesen",sA="Gruppe kann Status lesen",iA="Gruppe kann Objekt schreiben",rA="Gruppe kann Status schreiben",oA="Besitzer kann Objekt lesen",nA="Besitzer kann Zustand lesen",aA="Besitzer kann Objekt schreiben",MA="Besitzer kann Zustand schreiben",cA="Tasten",uA="Geändert von",lA="Schließen",NA="Booleschen Zustand erstellen",LA="Kanal erstellen",gA="Gerät erstellen",jA="Nummern-Zustand erstellen",yA="Zustand erstellen",TA="String-Zustand erstellen",DA="T.",dA="Fr",hA="Mo",zA="Sa",wA="So",IA="Do",CA="Di",pA="Mi",AA="Expertenmodus",mA="FALSCH",fA="Alle Dateien",OA="Audio",EA="Code/JSON",_A="Bilder",xA="Text",SA="Video",kA="Einstellungen",vA="ohne",YA="Funktion",QA="ID",bA="Name",UA="Rolle",$A="Raum",PA="Typ",WA="Ungültige Einstellungen",JA="Letzte Änderung",BA="örtlich",RA="Apr",FA="Aug",GA="Dez",HA="Feb",VA="Jan",ZA="Jul",XA="Jun",KA="Mai",qA="Mär",em="Nov",tm="Okt",sm="Sep",im="Apr",rm="Aug",om="Dez",nm="Feb",am="Jan",Mm="Jul",cm="Jun",um="Mai",lm="Mär",Nm="Nov",Lm="Okt",gm="Sep",jm="kein",ym="Objekt geändert von",Tm="Objekt zuletzt geändert um",Dm="Einstellungen von anderen Adaptern %s",dm="Qualitätscode",hm="wiederholen",zm='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',wm="Alle anzeigen",Im="Zustand geändert durch",Cm="Objekt geändert von",pm="Zeitstempel",Am="Bestätigt",mm="Kommentar",fm="Statuswert kopieren",Om="Strg/⌘-Taste gedrückt halten, um den Link zu öffnen",Em="Benutzerdefinierte Einstellungen",_m="Objekt löschen",xm="Objekt bearbeiten",Sm="Statuswert bearbeiten",km="Läuft ab in",vm="Von",Ym="Zuletzt geändert",Qm="Qualität",bm="Zeitstempel",Um="Benutzer",$m="Wert",Pm="WAHR",Wm="Wert",Jm="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",Bm="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",Rm="CRON",Fm="Datum",Gm="Tage",Hm="Tag",Vm="Wochentage",Zm="Jeden",Xm="alle N Tage",Km="jeden x-ten Tag der Woche",qm="alle N Wochentage",e3="alle N Stunden",t3="alle N Minuten",s3="alle N Monate",i3="alle N Sekunden",r3="jeden Tag",o3="jeden Tag der Woche",n3="jeden Tag der Woche",a3="jede Stunde",M3="jede Minute",c3="jeden Monat",u3="jede Sekunde",l3="Von",N3="Stunden",L3="Intervall",g3="Intervall zwischen",j3="Ungültiger CRON",y3="Minuten",T3="Monate",D3="Einmal",d3="Zeitraum",h3="Sekunden",z3="Einfach",w3="Bestimmte Zeit",I3="bestimmte Tage",C3="bestimmte(r) Tag(e) der Woche",p3="bestimmten Wochentag",A3="bestimmte Stunden",m3="bestimmte Minuten",f3="bestimmte Monate",O3="bestimmte Sekunden",E3="Zeit",_3="Bis",x3="Wizard",S3="alle",k3="Astronomischer Tag",v3="Astronomische Nacht",Y3="Morgendämmerung",Q3="Abenddämmerung",b3="Goldene Stunde",U3="Goldene Stundenende",$3="Nadir",P3="Nautische Morgendämmerung",W3="Nautische Abenddämmerung",J3="Nacht",B3="Nachtende",R3="Sonnenmittag",F3="Sonnenaufgang",G3="Sonnenaufgangende",H3="Sonnenuntergang",V3="Sonnenuntergangstart",Z3="am",X3="um %s",K3="jeden Tag",q3="jede Stunde",ef="jede Minute",tf="jeden Monat",sf="jeden %s Tag",rf="alle %s Stunden",of="alle %s Minuten",nf="alle %s Monate",af="alle %s Wochen",Mf="alle %s Jahre",cf="jede Woche",uf="jedes Jahr",lf="von %s bis %s",Nf="noch nie",Lf="am %s von %s",gf="am %s und %s von",jf="an jedem Datum von",yf="%s",Tf="%s und %s",Df="auf %s",df="auf %s und %s",hf="an Wochenenden",zf="an Werktagen",wf="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",If="auf %s",Cf="von %s",pf="Ausführen von bis",Af="bis %s",mf="jeden",ff="Bestimmte Zeit",Of="von",Ef="Von bis",_f="Zeitintervall",xf="umkehren",Sf="keiner",kf="am",vf="Zeitraum",Yf="Täglich",Qf="Daten",bf="Tag",Uf="Jeden",$f="Jeden Tag",Pf="Jeden Monat",Wf="Jede Woche",Jf="Jedes Jahr",Bf="Stunden",Rf="Minuten",Ff="Monat",Gf="Monatlich",Hf="Einmal",Vf="Bestimmte Monate",Zf="Woche",Xf="Wochentage",Kf="Wochenende",qf="Wöchentlich",eO="Arbeitstage",tO="Jahr",sO="Jährlich",iO="Bestimmte Zeit",rO="Zeit",oO="zu",nO="Gültigkeit",aO="von",MO="bis",cO="Ganzer Tag",uO="jeden Monat",lO={"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:tp,"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:sp,"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:ip,"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:rp,"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:op,ra_Clear:np,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Click to see in full size":"Klicken Sie hier, um die Vollbildansicht zu öffnen.","ra_Click to show":"Zum Anzeigen klicken","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:ap,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:Mp,ra_Configure:cp,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:up,ra_Continue:lp,ra_Copied:Np,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:Lp,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:gp,"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:jp,ra_Delete:yp,"ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand","ra_Disable/Enable translation":"Übersetzung deaktivieren/aktivieren",ra_Discard:Tp,ra_Disconnected:Dp,"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_Docker is not available":"Docker ist nicht verfügbar","ra_Docker is not installed or not running":"Docker ist nicht installiert oder läuft nicht","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:dp,"ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Expand/Collapse card":"Karte ein-/ausklappen","ra_Export configuration section":"Konfigurationsabschnitt exportieren","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:hp,"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:zp,"ra_From file":"Aus der Datei","ra_From text":"Aus dem Text","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 and add configuration section":"Konfigurationsabschnitt importieren und hinzufügen","ra_Import and replace configuration section":"Konfigurationsabschnitt importieren und ersetzen","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 JSON file.":"Ungültige JSON-Datei.","ra_Invalid JSON format. Expected an array.":"Ungültiges JSON-Format. Array erwartet.","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:wp,"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:Ip,ra_Longitude:Cp,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:pp,ra_Monday:Ap,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:mp,"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 admin":"Keine Antwort vom Administrator","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_OAuth Client ID":"OAuth-Client-ID","ra_OAuth Client secret":"OAuth-Client-Secret",ra_Objects:fp,ra_Ok:Op,"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:Ep,"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:_p,"ra_Renew %s access":"%s Zugriff erneuern",ra_Repeat:xp,ra_Replace:Sp,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:kp,ra_Saturday:vp,ra_Save:Yp,"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:Qp,"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:bp,"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:Up,"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:$p,ra_Timestamp:Pp,"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:Wp,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:Jp,"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:Bp,ra_Value:Rp,ra_Version:Fp,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:Gp,ra_Width:Hp,"ra_YAML editor":"YAML-Editor",ra_Yes:Vp,"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__:Zp,ra_aclEveryone_read_object:Xp,ra_aclEveryone_read_state:Kp,ra_aclEveryone_write_object:qp,ra_aclEveryone_write_state:eA,ra_aclGroup_read_object:tA,ra_aclGroup_read_state:sA,ra_aclGroup_write_object:iA,ra_aclGroup_write_state:rA,ra_aclOwner_read_object:oA,ra_aclOwner_read_state:nA,ra_aclOwner_write_object:aA,ra_aclOwner_write_state:MA,ra_buttons:cA,ra_changedFrom:uA,ra_close:lA,ra_create_boolean_state:NA,ra_create_channel:LA,ra_create_device:gA,ra_create_number_state:jA,ra_create_state:yA,ra_create_string_state:TA,ra_daysShortText:DA,ra_dow_Fr:dA,ra_dow_Mo:hA,ra_dow_Sa:zA,ra_dow_Su:wA,ra_dow_Th:IA,ra_dow_Tu:CA,ra_dow_We:pA,ra_expertMode:AA,ra_false:mA,ra_fileType_all:fA,ra_fileType_audio:OA,ra_fileType_code:EA,ra_fileType_images:_A,ra_fileType_txt:xA,ra_fileType_video:SA,"ra_fileType_video,":"Video",ra_filter_customs:kA,ra_filter_customs_without:vA,ra_filter_func:YA,ra_filter_id:QA,ra_filter_name:bA,ra_filter_role:UA,ra_filter_room:$A,ra_filter_type:PA,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:WA,ra_lastChange:JA,ra_locally:BA,ra_month_Apr:RA,ra_month_Aug:FA,ra_month_Dec:GA,ra_month_Feb:HA,ra_month_Jan:VA,ra_month_Jul:ZA,ra_month_Jun:XA,ra_month_Mai:KA,ra_month_Mar:qA,ra_month_Nov:em,ra_month_Oct:tm,ra_month_Sep:sm,ra_months_Apr:im,ra_months_Aug:rm,ra_months_Dec:om,ra_months_Feb:nm,ra_months_Jan:am,ra_months_Jul:Mm,ra_months_Jun:cm,ra_months_Mai:um,ra_months_Mar:lm,ra_months_Nov:Nm,ra_months_Oct:Lm,ra_months_Sep:gm,"ra_no confirm for 5 mins":"5 Minuten lang keine Bestätigung",ra_none:jm,ra_object_changed_by:ym,ra_object_changed_by_user:Tm,ra_otherConfig:Dm,ra_qualityCode:dm,ra_repeat:hm,ra_select_folder_hint:zm,ra_show_all:wm,ra_state_changed_by:Im,ra_state_changed_from:Cm,ra_timestamp:pm,ra_tooltip_ack:Am,ra_tooltip_comment:mm,ra_tooltip_copyState:fm,ra_tooltip_ctrlForLink:Om,ra_tooltip_customConfig:Em,ra_tooltip_deleteObject:_m,ra_tooltip_editObject:xm,ra_tooltip_editState:Sm,ra_tooltip_expire:km,ra_tooltip_from:vm,ra_tooltip_lc:Ym,ra_tooltip_quality:Qm,ra_tooltip_ts:bm,ra_tooltip_user:Um,ra_tooltip_value:$m,ra_true:Pm,"ra_use seconds":"Sekunden benutzen",ra_val:Wm,"ra_via internet":"übers Internet",ra_warning_every_minute:Jm,ra_warning_every_second:Bm,sc_cron:Rm,sc_date:Fm,sc_dates:Gm,sc_dow:Hm,sc_dows:Vm,sc_every:Zm,sc_everyN_dates:Xm,sc_everyN_dow:Km,sc_everyN_dows:qm,sc_everyN_hours:e3,sc_everyN_minutes:t3,sc_everyN_months:s3,sc_everyN_seconds:i3,sc_every_dates:r3,sc_every_dow:o3,sc_every_dows:n3,sc_every_hours:a3,sc_every_minutes:M3,sc_every_months:c3,sc_every_seconds:u3,sc_from:l3,sc_hours:N3,sc_interval:L3,sc_intervalBetween:g3,sc_invalid_cron:j3,sc_minutes:y3,sc_months:T3,sc_once:D3,sc_period:d3,sc_seconds:h3,sc_simple:z3,sc_specific:w3,sc_specific_dates:I3,sc_specific_dow:C3,sc_specific_dows:p3,sc_specific_hours:A3,sc_specific_minutes:m3,sc_specific_months:f3,sc_specific_seconds:O3,sc_time:E3,sc_to:_3,sc_wizard:x3,sch_all:S3,sch_astroDay:k3,sch_astroNight:v3,sch_astro_dawn:Y3,sch_astro_dusk:Q3,sch_astro_goldenHour:b3,sch_astro_goldenHourEnd:U3,sch_astro_nadir:$3,sch_astro_nauticalDawn:P3,sch_astro_nauticalDusk:W3,sch_astro_night:J3,sch_astro_nightEnd:B3,sch_astro_solarNoon:R3,sch_astro_sunrise:F3,sch_astro_sunriseEnd:G3,sch_astro_sunset:H3,sch_astro_sunsetStart:V3,sch_at:Z3,sch_desc_atTime:X3,sch_desc_everyDay:K3,sch_desc_everyHour:q3,sch_desc_everyMinute:ef,sch_desc_everyMonth:tf,sch_desc_everyNDay:sf,sch_desc_everyNHours:rf,sch_desc_everyNMinutes:of,sch_desc_everyNMonths:nf,sch_desc_everyNWeeks:af,sch_desc_everyNYears:Mf,sch_desc_everyWeek:cf,sch_desc_everyYear:uf,sch_desc_intervalFromTo:lf,sch_desc_never:Nf,sch_desc_onDate:Lf,sch_desc_onDates:gf,sch_desc_onEveryDate:jf,sch_desc_onMonth:yf,sch_desc_onMonths:Tf,sch_desc_onWeekday:Df,sch_desc_onWeekdays:df,sch_desc_onWeekends:hf,sch_desc_onWorkdays:zf,sch_desc_onceInPast:wf,sch_desc_once_on:If,sch_desc_validFrom:Cf,sch_desc_validFromTo:pf,sch_desc_validTo:Af,sch_every:mf,sch_exactTime:ff,sch_from:Of,sch_fromTo:Ef,sch_intervalTime:_f,sch_invert:xf,sch_no_one:Sf,sch_on:kf,sch_period:vf,sch_periodDaily:Yf,sch_periodDates:Qf,sch_periodDay:bf,sch_periodEvery:Uf,sch_periodEveryDay:$f,sch_periodEveryMonth:Pf,sch_periodEveryWeek:Wf,sch_periodEveryYear:Jf,sch_periodHours:Bf,sch_periodMinutes:Rf,sch_periodMonth:Ff,sch_periodMonthly:Gf,sch_periodOnce:Hf,sch_periodSpecificMonths:Vf,sch_periodWeek:Zf,sch_periodWeekdays:Xf,sch_periodWeekend:Kf,sch_periodWeekly:qf,sch_periodWorkdays:eO,sch_periodYear:tO,sch_periodYearly:sO,sch_specificTime:iO,sch_time:rO,sch_to:oO,sch_valid:nO,sch_validFrom:aO,sch_validTo:MO,sch_wholeDay:cO,sch_yearEveryMonth:uO},NO="Действия",LO="Добавить",gO="Отмена",jO="Категории",yO="Проверено",TO="Удалить",DO="Закрыть",dO="Коммерческая",hO="Настроить",zO="Соединение установлено",wO="Продолжать",IO="скопировано",CO="Создать",pO="Обрезать",AO="Delete",mO="Удалить",fO="Отказаться",OO="Отключено",EO="Ошибка",_O="Фильтр",xO="Пятница",SO="Широта",kO="Выйти",vO="Долгота",YO="Сообщение",QO="Понедельник",bO="Имя",UO="Объекты",$O="Ok",PO="Продукт",WO="Переименовать/Переместить/Копировать",JO="Повторение",BO="Заменять",RO="Начало",FO="Суббота",GO="Сохранить",HO="выбранный",VO="Состояния",ZO="Воскресенье",XO="Четверг",KO="Времени",qO="Вторник",eE="Обновить",tE="Годен до",sE="Значение",iE="Версия",rE="Среда",oE="Ширина",nE="Да",aE="разное",ME="Каждый может читать объект",cE="Каждый может читать состояние",uE="Каждый может написать объект",lE="Каждый может написать состояние",NE="Группа может читать объект",LE="Группа может читать состояние",gE="Группа может писать объект",jE="Группа может записывать состояние",yE="Владелец может читать объект",TE="Владелец может читать состояние",DE="Владелец может писать объект",dE="Владелец может писать состояние",hE="Кнопки",zE="Изменено с",wE="Закрыть",IE="Создать логическое состояние",CE="Создать канал",pE="Создать устройство",AE="Создать состояние номера",mE="Создать состояние",fE="Создать состояние строки",OE="д.",EE="Пт",_E="Пн",xE="Сб",SE="Вс",kE="Чт",vE="Вт",YE="Ср",QE="Экспертный режим",bE="ЛОЖЬ",UE="Все файлы",$E="Аудио",PE="Код/JSON",WE="Картинки",JE="Текст",BE="видео",RE="настройки",FE="без",GE="функция",HE="ID",VE="Имя",ZE="роль",XE="комната",KE="Тип",qE="Неверные настройки",e_="Последнее изменение",t_="локально",s_="Апр",i_="Авг",r_="Дек",o_="Фев",n_="Янв",a_="Июл",M_="Июн",c_="Май",u_="Мрт",l_="Ноя",N_="Окт",L_="Сен",g_="Апр",j_="Авг",y_="Дек",T_="Фев",D_="Янв",d_="Июнь",h_="Июль",z_="Май",w_="Март",I_="Ноя",C_="Окт",p_="Сен",A_="ничего",m_="Объект изменен",f_="Последний раз объект изменен в",O_="Настройки из другого адаптера %s",E_="Код качества",__="повтор",x_="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",S_="Показать все",k_="Состояние изменено",v_="Объект изменен с",Y_="Отметка времени",Q_="Подтверждено",b_="Комментарий",U_="Скопируйте значение состояния",$_="Удерживайте клавишу Cltr/⌘, чтобы открыть ссылку",P_="Пользовательские настройки",W_="Удалить объект",J_="Редактировать объект",B_="Изменить значение состояния",R_="Истекает через",F_="От",G_="Последнее изменение",H_="Качество",V_="Отметка времени",Z_="пользователь",X_="Значение",K_="истинный",q_="Значение",ex="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",tx="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",sx="CRON",ix="Дата",rx="Даты",ox="День",nx="День недели",ax="каждый(ую/ые)",Mx="каждый N день",cx="каждый N-й день недели",ux="каждый N день недели",lx="каждые N часов",Nx="каждые N минут",Lx="каждые N месяцев",gx="каждые N секунд",jx="каждый день",yx="Каждый день недели",Tx="каждый день недели",Dx="каждый час",dx="каждую минуту",hx="каждый месяц",zx="каждую секунду",wx="От",Ix="часы",Cx="Интервал",px="Интервал между",Ax="Неверный CRON",mx="минуты",fx="Месяцы",Ox="один раз",Ex="Период",_x="секунды",xx="Просто",Sx="Конкретное время",kx="конкретные даты",vx="конкретный день(а) недели",Yx="конкретный день недели",Qx="конкретные часы",bx="конкретные минуты",Ux="конкретные месяцы",$x="конкретные секунды",Px="Время",Wx="До",Jx="Форма",Bx="все",Rx="днём",Fx="ночью",Gx="Рассвет",Hx="Сумерки",Vx="Золотой час",Zx="Конец золотого часа",Xx="Надир",Kx="Морской рассвет",qx="Морские сумерки",eS="Ночь",tS="Конец ночи",sS="Солнечный полдень",iS="Восход",rS="Восход солнца",oS="Заход солнца",nS="Начало заката",aS="дата",MS="в %s",cS="каждый день",uS="каждый час",lS="каждую минуту",NS="каждый месяц",LS="каждый %s день",gS="каждый %s часов",jS="каждые %s минут",yS="каждые %s месяцев",TS="каждые %s недель",DS="каждые %s лет",dS="каждую неделю",hS="каждый год",zS="от %s до %s",wS="никогда",IS="%s %s",CS="%s и %s",pS="в каждый день",AS="%s",mS="%s и %s",fS="%s",OS="%s и %s",ES="на выходных",_S="в рабочие дни",xS="не будет больше выполняться, потому что начало в прошлом",SS="%s",kS="%s",vS="Выполнить с",YS="%s",QS="каждый",bS="Конкретное время",US="от",$S="От и до",PS="Интервал времени",WS="инвертировать",JS="никакой",BS="на",RS="период",FS="Ежедневно",GS="Даты",HS="День",VS="каждый",ZS="Каждый день",XS="Каждый месяц",KS="Каждую неделю",qS="Каждый год",e5="часов",t5="минут",s5="месяц",i5="ежемесячно",r5="однажды",o5="Конкретные месяцы",n5="Неделю",a5="Будние дни",M5="выходные",c5="еженедельно",u5="Рабочие дни",l5="Год",N5="каждый год",L5="Конкретное время",g5="Время",j5="в",y5="действительный",T5="от",D5="в",d5="Весь день",h5="каждый месяц",z5={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию",ra_Actions:NO,"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:LO,"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:gO,"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:jO,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:yO,ra_Clear:TO,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Click to see in full size":"Нажмите, чтобы посмотреть в полном размере","ra_Click to show":"Нажмите, чтобы показать","ra_Clone current row":"Клонировать текущую строку",ra_Close:DO,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:dO,ra_Configure:hO,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:zO,ra_Continue:wO,ra_Copied:IO,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:CO,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:pO,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:AO,ra_Delete:mO,"ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние","ra_Disable/Enable translation":"Включить/отключить перевод",ra_Discard:fO,ra_Disconnected:OO,"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_Docker is not available":"Докер недоступен","ra_Docker is not installed or not running":"Docker не установлен или не запущен","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:EO,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Expand/Collapse card":"Развернуть/Свернуть карточку","ra_Export configuration section":"Раздел конфигурации экспорта","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:_O,"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:xO,"ra_From file":"Из файла","ra_From text":"Из текста","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 and add configuration section":"Импорт и добавление раздела конфигурации","ra_Import and replace configuration section":"Импорт и замена раздела конфигурации","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 JSON file.":"Неверный файл JSON.","ra_Invalid JSON format. Expected an array.":"Недопустимый формат JSON. Ожидается массив.","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:SO,"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:kO,ra_Longitude:vO,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:YO,ra_Monday:QO,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:bO,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from admin":"Нет ответа от администратора","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_OAuth Client ID":"Идентификатор клиента OAuth","ra_OAuth Client secret":"Секрет клиента OAuth",ra_Objects:UO,ra_Ok:$O,"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:PO,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Rename_Move_Copy:WO,"ra_Renew %s access":"Продлить доступ %s",ra_Repeat:JO,ra_Replace:BO,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:RO,ra_Saturday:FO,ra_Save:GO,"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:HO,"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:VO,"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:ZO,"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:XO,ra_Timestamp:KO,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:qO,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:eE,"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:tE,ra_Value:sE,ra_Version:iE,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:rE,ra_Width:oE,"ra_YAML editor":"Редактор YAML",ra_Yes:nE,"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__:aE,ra_aclEveryone_read_object:ME,ra_aclEveryone_read_state:cE,ra_aclEveryone_write_object:uE,ra_aclEveryone_write_state:lE,ra_aclGroup_read_object:NE,ra_aclGroup_read_state:LE,ra_aclGroup_write_object:gE,ra_aclGroup_write_state:jE,ra_aclOwner_read_object:yE,ra_aclOwner_read_state:TE,ra_aclOwner_write_object:DE,ra_aclOwner_write_state:dE,ra_buttons:hE,ra_changedFrom:zE,ra_close:wE,ra_create_boolean_state:IE,ra_create_channel:CE,ra_create_device:pE,ra_create_number_state:AE,ra_create_state:mE,ra_create_string_state:fE,ra_daysShortText:OE,ra_dow_Fr:EE,ra_dow_Mo:_E,ra_dow_Sa:xE,ra_dow_Su:SE,ra_dow_Th:kE,ra_dow_Tu:vE,ra_dow_We:YE,ra_expertMode:QE,ra_false:bE,ra_fileType_all:UE,ra_fileType_audio:$E,ra_fileType_code:PE,ra_fileType_images:WE,ra_fileType_txt:JE,ra_fileType_video:BE,"ra_fileType_video,":"видео",ra_filter_customs:RE,ra_filter_customs_without:FE,ra_filter_func:GE,ra_filter_id:HE,ra_filter_name:VE,ra_filter_role:ZE,ra_filter_room:XE,ra_filter_type:KE,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:qE,ra_lastChange:e_,ra_locally:t_,ra_month_Apr:s_,ra_month_Aug:i_,ra_month_Dec:r_,ra_month_Feb:o_,ra_month_Jan:n_,ra_month_Jul:a_,ra_month_Jun:M_,ra_month_Mai:c_,ra_month_Mar:u_,ra_month_Nov:l_,ra_month_Oct:N_,ra_month_Sep:L_,ra_months_Apr:g_,ra_months_Aug:j_,ra_months_Dec:y_,ra_months_Feb:T_,ra_months_Jan:D_,ra_months_Jul:d_,ra_months_Jun:h_,ra_months_Mai:z_,ra_months_Mar:w_,ra_months_Nov:I_,ra_months_Oct:C_,ra_months_Sep:p_,"ra_no confirm for 5 mins":"не спрашивать подтверждения в течение 5 минут",ra_none:A_,ra_object_changed_by:m_,ra_object_changed_by_user:f_,ra_otherConfig:O_,ra_qualityCode:E_,ra_repeat:__,ra_select_folder_hint:x_,ra_show_all:S_,ra_state_changed_by:k_,ra_state_changed_from:v_,ra_timestamp:Y_,ra_tooltip_ack:Q_,ra_tooltip_comment:b_,ra_tooltip_copyState:U_,ra_tooltip_ctrlForLink:$_,ra_tooltip_customConfig:P_,ra_tooltip_deleteObject:W_,ra_tooltip_editObject:J_,ra_tooltip_editState:B_,ra_tooltip_expire:R_,ra_tooltip_from:F_,ra_tooltip_lc:G_,ra_tooltip_quality:H_,ra_tooltip_ts:V_,ra_tooltip_user:Z_,ra_tooltip_value:X_,ra_true:K_,"ra_use seconds":"секунды",ra_val:q_,"ra_via internet":"через интернет",ra_warning_every_minute:ex,ra_warning_every_second:tx,sc_cron:sx,sc_date:ix,sc_dates:rx,sc_dow:ox,sc_dows:nx,sc_every:ax,sc_everyN_dates:Mx,sc_everyN_dow:cx,sc_everyN_dows:ux,sc_everyN_hours:lx,sc_everyN_minutes:Nx,sc_everyN_months:Lx,sc_everyN_seconds:gx,sc_every_dates:jx,sc_every_dow:yx,sc_every_dows:Tx,sc_every_hours:Dx,sc_every_minutes:dx,sc_every_months:hx,sc_every_seconds:zx,sc_from:wx,sc_hours:Ix,sc_interval:Cx,sc_intervalBetween:px,sc_invalid_cron:Ax,sc_minutes:mx,sc_months:fx,sc_once:Ox,sc_period:Ex,sc_seconds:_x,sc_simple:xx,sc_specific:Sx,sc_specific_dates:kx,sc_specific_dow:vx,sc_specific_dows:Yx,sc_specific_hours:Qx,sc_specific_minutes:bx,sc_specific_months:Ux,sc_specific_seconds:$x,sc_time:Px,sc_to:Wx,sc_wizard:Jx,sch_all:Bx,sch_astroDay:Rx,sch_astroNight:Fx,sch_astro_dawn:Gx,sch_astro_dusk:Hx,sch_astro_goldenHour:Vx,sch_astro_goldenHourEnd:Zx,sch_astro_nadir:Xx,sch_astro_nauticalDawn:Kx,sch_astro_nauticalDusk:qx,sch_astro_night:eS,sch_astro_nightEnd:tS,sch_astro_solarNoon:sS,sch_astro_sunrise:iS,sch_astro_sunriseEnd:rS,sch_astro_sunset:oS,sch_astro_sunsetStart:nS,sch_at:aS,sch_desc_atTime:MS,sch_desc_everyDay:cS,sch_desc_everyHour:uS,sch_desc_everyMinute:lS,sch_desc_everyMonth:NS,sch_desc_everyNDay:LS,sch_desc_everyNHours:gS,sch_desc_everyNMinutes:jS,sch_desc_everyNMonths:yS,sch_desc_everyNWeeks:TS,sch_desc_everyNYears:DS,sch_desc_everyWeek:dS,sch_desc_everyYear:hS,sch_desc_intervalFromTo:zS,sch_desc_never:wS,sch_desc_onDate:IS,sch_desc_onDates:CS,sch_desc_onEveryDate:pS,sch_desc_onMonth:AS,sch_desc_onMonths:mS,sch_desc_onWeekday:fS,sch_desc_onWeekdays:OS,sch_desc_onWeekends:ES,sch_desc_onWorkdays:_S,sch_desc_onceInPast:xS,sch_desc_once_on:SS,sch_desc_validFrom:kS,sch_desc_validFromTo:vS,sch_desc_validTo:YS,sch_every:QS,sch_exactTime:bS,sch_from:US,sch_fromTo:$S,sch_intervalTime:PS,sch_invert:WS,sch_no_one:JS,sch_on:BS,sch_period:RS,sch_periodDaily:FS,sch_periodDates:GS,sch_periodDay:HS,sch_periodEvery:VS,sch_periodEveryDay:ZS,sch_periodEveryMonth:XS,sch_periodEveryWeek:KS,sch_periodEveryYear:qS,sch_periodHours:e5,sch_periodMinutes:t5,sch_periodMonth:s5,sch_periodMonthly:i5,sch_periodOnce:r5,sch_periodSpecificMonths:o5,sch_periodWeek:n5,sch_periodWeekdays:a5,sch_periodWeekend:M5,sch_periodWeekly:c5,sch_periodWorkdays:u5,sch_periodYear:l5,sch_periodYearly:N5,sch_specificTime:L5,sch_time:g5,sch_to:j5,sch_valid:y5,sch_validFrom:T5,sch_validTo:D5,sch_wholeDay:d5,sch_yearEveryMonth:h5},w5="Ações",I5="Acrescentar",C5="Cancelar",p5="Categorias",A5="Verificado",m5="Excluir",f5="Perto",O5="Comercial",E5="Configurar",_5="Conectado",x5="Continuar",S5="Copiado",k5="Crio",v5="Colheita",Y5="Delete",Q5="Excluir",b5="Descartar",U5="Desconectado",$5="Erro",P5="Filtro",W5="Sexta-feira",J5="Latitude",B5="Sair",R5="Longitude",F5="mensagem",G5="Segunda-feira",H5="Nome",V5="Objetos",Z5="Está bem",X5="produtos",K5="Renomear/Mover/Copiar",q5="Repita",ek="Substituir",tk="Raiz",sk="Sábado",ik="Salve ",rk="Selecionado",ok="Estados",nk="Domingo",ak="Quinta-feira",Mk="Timestamp",ck="Terça-feira",uk="Atualizar",lk="Válida até",Nk="Valor",Lk="Versão",gk="Quarta-feira",jk="Largura",yk="Sim",Tk="diferente",Dk="Todos podem ler objetos",dk="Todos podem ler o estado",hk="Todos podem escrever objetos",zk="Todos podem escrever o estado",wk="O grupo pode ler o objeto",Ik="O grupo pode ler o estado",Ck="O grupo pode escrever o objeto",pk="O grupo pode escrever o estado",Ak="O proprietário pode ler o objeto",mk="O proprietário pode ler o estado",fk="O proprietário pode escrever o objeto",Ok="O proprietário pode escrever o estado",Ek="Botões",_k="Mudou de",xk="fechar",Sk="Criar estado booleano",kk="Criar canal",vk="Criar dispositivo",Yk="Criar estado numérico",Qk="Criar estado",bk="Criar estado de string",Uk="d.",$k="Fr",Pk="Mo",Wk="Sa",Jk="Su",Bk="º",Rk="Tu",Fk="Nós",Gk="Modo especialista",Hk="FALSO",Vk="Todos os arquivos",Zk="áudio",Xk="Código/JSON",Kk="Imagens",qk="Texto",ev="Vídeo",tv="Configurações",sv="sem",iv="Função",rv="ID",ov="Nome",nv="Papel (Função)",av="Quarto",Mv="Tipo",cv="Configurações inválidas",uv="Última mudança",lv="localmente",Nv="abril",Lv="agosto",gv="dezembro",jv="fevereiro",yv="janeiro",Tv="julho",Dv="junho",dv="Mai",hv="março",zv="novembro",wv="outubro",Iv="setembro",Cv="abril",pv="agosto",Av="dezembro",mv="fevereiro",fv="janeiro",Ov="julho",Ev="junho",_v="Mai",xv="março",Sv="novembro",kv="outubro",vv="setembro",Yv="Nenhum",Qv="Objeto alterado por",bv="Objeto alterado pela última vez em",Uv="Configurações de outro adaptador %s",$v="Código de qualidade",Pv="repetir",Wv='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',Jv="Mostrar tudo",Bv="Estado alterado por",Rv="Objeto alterado de",Fv="Timestamp",Gv="Confirmado",Hv="Comente",Vv="Copie o valor do estado",Zv="Segure a tecla Ctrl/⌘ para abrir o link",Xv="Opções customizadas",Kv="Excluir objeto",qv="Editar objeto",eY="Edite o valor do estado",tY="Expira em",sY="De",iY="Última alteração",rY="Qualidade",oY="Timestamp",nY="Usuário",aY="Valor",MY="verdadeiro",cY="Valor",uY="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",lY="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",NY="CRON",LY="Data",gY="Dias",jY="Dia",yY="Dia da semana",TY="todos",DY="a cada N dias",dY="todo enésimo dia da semana",hY="todos os N dias da semana",zY="a cada N horas",wY="a cada N minutos",IY="a cada N meses",CY="a cada N segundos",pY="todo dia",AY="todos os dias da semana",mY="todos os dias da semana",fY="toda hora",OY="todo minuto",EY="todo mês",_Y="todo segundo",xY="de",SY="horas",kY="intervalo",vY="intervalo entre",YY="CRON inválido",QY="minutos",bY="meses",UY="uma vez",$Y="período",PY="segundos",WY="simples",JY="tempo específico",BY="datas específicas",RY="dia(s) específico(s) da semana",FY="dia específico de semanas",GY="horas específicas",HY="minutos específicos",VY="meses específicos",ZY="segundos específicos",XY="tempo",KY="para",qY="assistente",eQ="tudo",tQ="dia astral",sQ="noite astral",iQ="amanhecer",rQ="anoitecer",oQ="hora dourada",nQ="Fim da hora dourada",aQ="nadir",MQ="Amanhecer náutico",cQ="Anoitecer náutico",uQ="noite",lQ="fim da noite",NQ="meio-dia solar",LQ="nascer do sol",gQ="fim do nascer do sol",jQ="pôr do sol",yQ="início do pôr do sol",TQ="às",DQ="em %s",dQ="todo dia",hQ="toda hora",zQ="todo minuto",wQ="todo mês",IQ="a cada %s dias",CQ="a cada %s horas",pQ="a cada %s minutos",AQ="a cada %s meses",mQ="a cada %s semanas",fQ="a cada %s anos",OQ="toda semana",EQ="todo ano",_Q="de %s para %s",xQ="nunca",SQ="em %s de %s",kQ="em %s e %s de",vQ="em toda data de",YQ="%s",QQ="%s e %s",bQ="em %s",UQ="em %s e %s",$Q="nos fins de semana",PQ="em dias úteis",WQ="não será mais executado, porque o começo está no passado",JQ="em %s",BQ="de %s",RQ="Executar de até",FQ="até %s",GQ="cada",HQ="tempo específico",VQ="de",ZQ="de a´t",XQ="tempo de intervalo",KQ="invertido",qQ="nenhum",eb="em",tb="período",sb="diariamente",ib="datas",rb="dia",ob="todos",nb="todo dia",ab="todo mês",Mb="toda semana",cb="todo ano",ub="horas",lb="minutos",Nb="mês",Lb="por mês",gb="uma vez",jb="meses específicos",yb="semana",Tb="dias úteis",Db="final de semana",db="semanal",hb="dias úteis",zb="ano",wb="anual",Ib="tempo específico",Cb="tempo",pb="para",Ab="válido",mb="de",fb="para",Ob="dia inteiro",Eb="todo mês",_b={"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:w5,"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:I5,"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:C5,"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:p5,"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:A5,ra_Clear:m5,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Click to see in full size":"Clique para ver em tamanho real.","ra_Click to show":"Clique para mostrar","ra_Clone current row":"Clonar linha atual",ra_Close:f5,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:O5,ra_Configure:E5,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:_5,ra_Continue:x5,ra_Copied:S5,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:k5,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:v5,"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:Y5,ra_Delete:Q5,"ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Desativar/Ativar tradução",ra_Discard:b5,ra_Disconnected:U5,"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_Docker is not available":"O Docker não está disponível","ra_Docker is not installed or not running":"O Docker não está instalado ou não está em execução","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:$5,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","ra_Expand/Collapse card":"Expandir/Recolher cartão","ra_Export configuration section":"Seção de configuração de exportação","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:P5,"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:W5,"ra_From file":"Do arquivo","ra_From text":"Do texto","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 and add configuration section":"Seção de importação e adição de configuração","ra_Import and replace configuration section":"Seção de configuração de importação e substituição","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 JSON file.":"Arquivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Esperava-se uma matriz.","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:J5,"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:B5,ra_Longitude:R5,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:F5,ra_Monday:G5,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:H5,"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 admin":"Nenhuma resposta do administrador","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_OAuth Client ID":"ID do cliente OAuth","ra_OAuth Client secret":"Segredo do cliente OAuth",ra_Objects:V5,ra_Ok:Z5,"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:X5,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Rename_Move_Copy:K5,"ra_Renew %s access":"Renovar acesso %s",ra_Repeat:q5,ra_Replace:ek,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:tk,ra_Saturday:sk,ra_Save:ik,"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:rk,"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:ok,"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:nk,"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:ak,ra_Timestamp:Mk,"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:ck,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:uk,"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:lk,ra_Value:Nk,ra_Version:Lk,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:gk,ra_Width:jk,"ra_YAML editor":"Editor YAML",ra_Yes:yk,"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__:Tk,ra_aclEveryone_read_object:Dk,ra_aclEveryone_read_state:dk,ra_aclEveryone_write_object:hk,ra_aclEveryone_write_state:zk,ra_aclGroup_read_object:wk,ra_aclGroup_read_state:Ik,ra_aclGroup_write_object:Ck,ra_aclGroup_write_state:pk,ra_aclOwner_read_object:Ak,ra_aclOwner_read_state:mk,ra_aclOwner_write_object:fk,ra_aclOwner_write_state:Ok,ra_buttons:Ek,ra_changedFrom:_k,ra_close:xk,ra_create_boolean_state:Sk,ra_create_channel:kk,ra_create_device:vk,ra_create_number_state:Yk,ra_create_state:Qk,ra_create_string_state:bk,ra_daysShortText:Uk,ra_dow_Fr:$k,ra_dow_Mo:Pk,ra_dow_Sa:Wk,ra_dow_Su:Jk,ra_dow_Th:Bk,ra_dow_Tu:Rk,ra_dow_We:Fk,ra_expertMode:Gk,ra_false:Hk,ra_fileType_all:Vk,ra_fileType_audio:Zk,ra_fileType_code:Xk,ra_fileType_images:Kk,ra_fileType_txt:qk,ra_fileType_video:ev,"ra_fileType_video,":"Vídeo",ra_filter_customs:tv,ra_filter_customs_without:sv,ra_filter_func:iv,ra_filter_id:rv,ra_filter_name:ov,ra_filter_role:nv,ra_filter_room:av,ra_filter_type:Mv,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:cv,ra_lastChange:uv,ra_locally:lv,ra_month_Apr:Nv,ra_month_Aug:Lv,ra_month_Dec:gv,ra_month_Feb:jv,ra_month_Jan:yv,ra_month_Jul:Tv,ra_month_Jun:Dv,ra_month_Mai:dv,ra_month_Mar:hv,ra_month_Nov:zv,ra_month_Oct:wv,ra_month_Sep:Iv,ra_months_Apr:Cv,ra_months_Aug:pv,ra_months_Dec:Av,ra_months_Feb:mv,ra_months_Jan:fv,ra_months_Jul:Ov,ra_months_Jun:Ev,ra_months_Mai:_v,ra_months_Mar:xv,ra_months_Nov:Sv,ra_months_Oct:kv,ra_months_Sep:vv,"ra_no confirm for 5 mins":"sem confirmação por 5 minutos",ra_none:Yv,ra_object_changed_by:Qv,ra_object_changed_by_user:bv,ra_otherConfig:Uv,ra_qualityCode:$v,ra_repeat:Pv,ra_select_folder_hint:Wv,ra_show_all:Jv,ra_state_changed_by:Bv,ra_state_changed_from:Rv,ra_timestamp:Fv,ra_tooltip_ack:Gv,ra_tooltip_comment:Hv,ra_tooltip_copyState:Vv,ra_tooltip_ctrlForLink:Zv,ra_tooltip_customConfig:Xv,ra_tooltip_deleteObject:Kv,ra_tooltip_editObject:qv,ra_tooltip_editState:eY,ra_tooltip_expire:tY,ra_tooltip_from:sY,ra_tooltip_lc:iY,ra_tooltip_quality:rY,ra_tooltip_ts:oY,ra_tooltip_user:nY,ra_tooltip_value:aY,ra_true:MY,"ra_use seconds":"use segundos",ra_val:cY,"ra_via internet":"via internet",ra_warning_every_minute:uY,ra_warning_every_second:lY,sc_cron:NY,sc_date:LY,sc_dates:gY,sc_dow:jY,sc_dows:yY,sc_every:TY,sc_everyN_dates:DY,sc_everyN_dow:dY,sc_everyN_dows:hY,sc_everyN_hours:zY,sc_everyN_minutes:wY,sc_everyN_months:IY,sc_everyN_seconds:CY,sc_every_dates:pY,sc_every_dow:AY,sc_every_dows:mY,sc_every_hours:fY,sc_every_minutes:OY,sc_every_months:EY,sc_every_seconds:_Y,sc_from:xY,sc_hours:SY,sc_interval:kY,sc_intervalBetween:vY,sc_invalid_cron:YY,sc_minutes:QY,sc_months:bY,sc_once:UY,sc_period:$Y,sc_seconds:PY,sc_simple:WY,sc_specific:JY,sc_specific_dates:BY,sc_specific_dow:RY,sc_specific_dows:FY,sc_specific_hours:GY,sc_specific_minutes:HY,sc_specific_months:VY,sc_specific_seconds:ZY,sc_time:XY,sc_to:KY,sc_wizard:qY,sch_all:eQ,sch_astroDay:tQ,sch_astroNight:sQ,sch_astro_dawn:iQ,sch_astro_dusk:rQ,sch_astro_goldenHour:oQ,sch_astro_goldenHourEnd:nQ,sch_astro_nadir:aQ,sch_astro_nauticalDawn:MQ,sch_astro_nauticalDusk:cQ,sch_astro_night:uQ,sch_astro_nightEnd:lQ,sch_astro_solarNoon:NQ,sch_astro_sunrise:LQ,sch_astro_sunriseEnd:gQ,sch_astro_sunset:jQ,sch_astro_sunsetStart:yQ,sch_at:TQ,sch_desc_atTime:DQ,sch_desc_everyDay:dQ,sch_desc_everyHour:hQ,sch_desc_everyMinute:zQ,sch_desc_everyMonth:wQ,sch_desc_everyNDay:IQ,sch_desc_everyNHours:CQ,sch_desc_everyNMinutes:pQ,sch_desc_everyNMonths:AQ,sch_desc_everyNWeeks:mQ,sch_desc_everyNYears:fQ,sch_desc_everyWeek:OQ,sch_desc_everyYear:EQ,sch_desc_intervalFromTo:_Q,sch_desc_never:xQ,sch_desc_onDate:SQ,sch_desc_onDates:kQ,sch_desc_onEveryDate:vQ,sch_desc_onMonth:YQ,sch_desc_onMonths:QQ,sch_desc_onWeekday:bQ,sch_desc_onWeekdays:UQ,sch_desc_onWeekends:$Q,sch_desc_onWorkdays:PQ,sch_desc_onceInPast:WQ,sch_desc_once_on:JQ,sch_desc_validFrom:BQ,sch_desc_validFromTo:RQ,sch_desc_validTo:FQ,sch_every:GQ,sch_exactTime:HQ,sch_from:VQ,sch_fromTo:ZQ,sch_intervalTime:XQ,sch_invert:KQ,sch_no_one:qQ,sch_on:eb,sch_period:tb,sch_periodDaily:sb,sch_periodDates:ib,sch_periodDay:rb,sch_periodEvery:ob,sch_periodEveryDay:nb,sch_periodEveryMonth:ab,sch_periodEveryWeek:Mb,sch_periodEveryYear:cb,sch_periodHours:ub,sch_periodMinutes:lb,sch_periodMonth:Nb,sch_periodMonthly:Lb,sch_periodOnce:gb,sch_periodSpecificMonths:jb,sch_periodWeek:yb,sch_periodWeekdays:Tb,sch_periodWeekend:Db,sch_periodWeekly:db,sch_periodWorkdays:hb,sch_periodYear:zb,sch_periodYearly:wb,sch_specificTime:Ib,sch_time:Cb,sch_to:pb,sch_valid:Ab,sch_validFrom:mb,sch_validTo:fb,sch_wholeDay:Ob,sch_yearEveryMonth:Eb},xb="Acties",Sb="toevoegen",kb="Annuleer",vb="Categorieën",Yb="Gecontroleerd",Qb="Verwijderen",bb="Dichtbij",Ub="Reclame",$b="Configureren",Pb="Verbonden",Wb="Doorgaan",Jb="Gekopieerd",Bb="Creëer",Rb="Bijsnijden",Fb="Delete",Gb="Verwijderen",Hb="Weggooien",Vb="Verbinding verbroken",Zb="Fout",Xb="Filter",Kb="Vrijdag",qb="Breedtegraad",eU="Uitloggen",tU="Lengtegraad",sU="Bericht",iU="Maandag",rU="Naam",oU="Voorwerpen",nU="OK",aU="Product",MU="Hernoemen/Verplaatsen/Kopiëren",cU="Herhaling",uU="Vervangen",lU="Wortel",NU="Zaterdag",LU="Sparen",gU="Geselecteerd",jU="Staten",yU="Zondag",TU="Donderdag",DU="Tijdstempel",dU="Dinsdag",hU="Bijwerken",zU="Geldig tot",wU="Waarde",IU="Versie",CU="Woensdag",pU="Breedte",AU="Ja",mU="verschillend",fU="Iedereen kan object lezen",OU="Iedereen kan staat lezen",EU="Iedereen kan object schrijven",_U="Iedereen kan staat schrijven",xU="Groep kan object lezen",SU="Groep kan status lezen",kU="Groep kan object schrijven",vU="Groep kan staat schrijven",YU="Eigenaar kan object lezen",QU="Eigenaar kan staat lezen",bU="Eigenaar kan object schrijven",UU="Eigenaar kan staat schrijven",$U="Toetsen",PU="Veranderd van",WU="dichtbij",JU="Creëer een Booleaanse status",BU="Kanaal maken",RU="Apparaat maken",FU="Nummerstatus maken",GU="Staat creëren",HU="Tekenreeksstatus maken",VU="d.",ZU="Fr",XU="Mo",KU="Za",qU="Zo",e8="Th",t8="Tu",s8="Wij",i8="Expert modus",r8="ONWAAR",o8="Alle bestanden",n8="Audio",a8="Code/JSON",M8="Afbeeldingen",c8="Tekst",u8="Video",l8="Instellingen",N8="zonder",L8="Functie",g8="ID",j8="Naam",y8="Rol",T8="Kamer",D8="Type",d8="Ongeldige instellingen",h8="Laatste wijziging",z8="plaatselijk",w8="april",I8="aug",C8="dec",p8="februari",A8="jan",m8="jul",f8="juni",O8="Mei",E8="mrt",_8="nov",x8="Okt",S8="sept",k8="april",v8="aug",Y8="dec",Q8="februari",b8="jan",U8="jul",$8="juni",P8="Mei",W8="mrt",J8="nov",B8="Okt",R8="sept",F8="geen",G8="Object veranderd door",H8="Object voor het laatst gewijzigd om",V8="Instellingen van andere adapter %s",Z8="Kwaliteitscode",X8="herhalen",K8='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',q8="Alles weergeven",e6="Staat veranderd door",t6="Object veranderd van",s6="Tijdstempel",i6="Erkende vlag",r6="Opmerking",o6="Kopieer de statuswaarde",n6="Houd de Cltr/⌘-toets ingedrukt om de link te openen",a6="Aangepaste instellingen",M6="Object verwijderen",c6="Object bewerken",u6="Bewerk de statuswaarde",l6="Verloopt over",N6="Van",L6="Laatst gewijzigd",g6="Kwaliteit",j6="Tijdstempel",y6="Gebruiker",T6="Waarde",D6="WAAR",d6="Waarde",h6="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",z6="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",w6="CRON",I6="Datum",C6="data",p6="Dag",A6="Dag van de week",m6="elk",f6="elke N dagen",O6="elke N-de dag van de week",E6="elke N dag van de week",_6="elke N uur",x6="elke N minuten",S6="elke N maanden",k6="elke N seconden",v6="elke dag",Y6="elke dag van de week",Q6="elke dag van de week",b6="elk uur",U6="elke minuut",$6="elke maand",P6="elke seconde",W6="Van",J6="uren",B6="Interval",R6="Interval tussen",F6="Ongeldige CRON",G6="Notulen",H6="maanden",V6="Een keer",Z6="Periode",X6="seconden",K6="Gemakkelijk",q6="Specifieke tijd",e9="specifieke data",t9="specifieke dag(en) van de week",s9="specifieke dag van weken",i9="specifieke uren",r9="specifieke minuten",o9="specifieke maanden",n9="specifieke seconden",a9="Tijd",M9="Naar",c9="tovenaar",u9="allemaal",l9="Astro-dag",N9="Astro-nacht",L9="Dageraad",g9="Schemer",j9="gouden uur",y9="Gouden uur einde",T9="Nadir",D9="Nautische dageraad",d9="Nautische schemering",h9="Nacht",z9="Nacht einde",w9="Zonne middag",I9="zonsopkomst",C9="Sunrise einde",p9="Zonsondergang",A9="Zonsondergang start",m9="Bij",f9="op %s",O9="elke dag",E9="elk uur",_9="elke minuut",x9="elke maand",S9="elke %s dag",k9="elke %s uur",v9="elke %s minuten",Y9="elke %s maanden",Q9="elke %s weken",b9="elke %s jaar",U9="elke week",$9="elk jaar",P9="van %s tot %s",W9="nooit",J9="op %s van %s",B9="op %s en %s van",R9="op elke datum van",F9="%s",G9="%s en %s",H9="op %s",V9="op %s en %s",Z9="in het weekend",X9="op werkdagen",K9="zal niet meer worden uitgevoerd, omdat start verleden tijd is",q9="op %s",e7="van %s",t7="Uitvoeren van tot",s7="tot %s",i7="elk",r7="Specifieke tijd",o7="van",n7="Van naar",a7="Interval tijd",M7="omkeren",c7="geen",u7="Aan",l7="Periode",N7="Dagelijks",L7="data",g7="Dag",j7="elk",y7="Elke dag",T7="Elke maand",D7="Elke week",d7="Elk jaar",h7="uren",z7="Notulen",w7="maand",I7="Maandelijks",C7="Een keer",p7="Specifieke maanden",A7="Week",m7="Doordeweekse dagen",f7="Weekend",O7="Wekelijks",E7="werkdagen",_7="Jaar",x7="jaar-",S7="Specifieke tijd",k7="Tijd",v7="naar",Y7="Geldig",Q7="van",b7="naar",U7="Hele dag",$7="elke maand",P7={"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:xb,"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:Sb,"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:kb,"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:vb,"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:Yb,ra_Clear:Qb,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Click to see in full size":"Klik om de afbeelding op volledige grootte te bekijken.","ra_Click to show":"Klik om te tonen","ra_Clone current row":"Kloon de huidige rij",ra_Close:bb,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:Ub,ra_Configure:$b,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:Pb,ra_Continue:Wb,ra_Copied:Jb,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:Bb,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:Rb,"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:Fb,ra_Delete:Gb,"ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat","ra_Disable/Enable translation":"Vertaling uitschakelen/inschakelen",ra_Discard:Hb,ra_Disconnected:Vb,"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_Docker is not available":"Docker is niet beschikbaar","ra_Docker is not installed or not running":"Docker is niet geïnstalleerd of draait niet","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:Zb,"ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Expand/Collapse card":"Kaart uit-/inklappen","ra_Export configuration section":"Sectie Exportconfiguratie","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:Xb,"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:Kb,"ra_From file":"Van bestand","ra_From text":"Van tekst","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 and add configuration section":"Configuratiesectie importeren en toevoegen","ra_Import and replace configuration section":"Configuratiesectie importeren en vervangen","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 JSON file.":"Ongeldig JSON-bestand.","ra_Invalid JSON format. Expected an array.":"Ongeldige JSON-indeling. Er werd een array verwacht.","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:qb,"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:eU,ra_Longitude:tU,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:sU,ra_Monday:iU,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:rU,"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 admin":"Geen reactie van de beheerder","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_OAuth Client ID":"OAuth-client-ID","ra_OAuth Client secret":"OAuth-clientgeheim",ra_Objects:oU,ra_Ok:nU,"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:aU,"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:MU,"ra_Renew %s access":"%s toegang verlengen",ra_Repeat:cU,ra_Replace:uU,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:lU,ra_Saturday:NU,ra_Save:LU,"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:gU,"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:jU,"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:yU,"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:TU,ra_Timestamp:DU,"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:dU,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:hU,"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:zU,ra_Value:wU,ra_Version:IU,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:CU,ra_Width:pU,"ra_YAML editor":"YAML-editor",ra_Yes:AU,"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__:mU,ra_aclEveryone_read_object:fU,ra_aclEveryone_read_state:OU,ra_aclEveryone_write_object:EU,ra_aclEveryone_write_state:_U,ra_aclGroup_read_object:xU,ra_aclGroup_read_state:SU,ra_aclGroup_write_object:kU,ra_aclGroup_write_state:vU,ra_aclOwner_read_object:YU,ra_aclOwner_read_state:QU,ra_aclOwner_write_object:bU,ra_aclOwner_write_state:UU,ra_buttons:$U,ra_changedFrom:PU,ra_close:WU,ra_create_boolean_state:JU,ra_create_channel:BU,ra_create_device:RU,ra_create_number_state:FU,ra_create_state:GU,ra_create_string_state:HU,ra_daysShortText:VU,ra_dow_Fr:ZU,ra_dow_Mo:XU,ra_dow_Sa:KU,ra_dow_Su:qU,ra_dow_Th:e8,ra_dow_Tu:t8,ra_dow_We:s8,ra_expertMode:i8,ra_false:r8,ra_fileType_all:o8,ra_fileType_audio:n8,ra_fileType_code:a8,ra_fileType_images:M8,ra_fileType_txt:c8,ra_fileType_video:u8,"ra_fileType_video,":"Video",ra_filter_customs:l8,ra_filter_customs_without:N8,ra_filter_func:L8,ra_filter_id:g8,ra_filter_name:j8,ra_filter_role:y8,ra_filter_room:T8,ra_filter_type:D8,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:d8,ra_lastChange:h8,ra_locally:z8,ra_month_Apr:w8,ra_month_Aug:I8,ra_month_Dec:C8,ra_month_Feb:p8,ra_month_Jan:A8,ra_month_Jul:m8,ra_month_Jun:f8,ra_month_Mai:O8,ra_month_Mar:E8,ra_month_Nov:_8,ra_month_Oct:x8,ra_month_Sep:S8,ra_months_Apr:k8,ra_months_Aug:v8,ra_months_Dec:Y8,ra_months_Feb:Q8,ra_months_Jan:b8,ra_months_Jul:U8,ra_months_Jun:$8,ra_months_Mai:P8,ra_months_Mar:W8,ra_months_Nov:J8,ra_months_Oct:B8,ra_months_Sep:R8,"ra_no confirm for 5 mins":"geen bevestiging gedurende 5 minuten",ra_none:F8,ra_object_changed_by:G8,ra_object_changed_by_user:H8,ra_otherConfig:V8,ra_qualityCode:Z8,ra_repeat:X8,ra_select_folder_hint:K8,ra_show_all:q8,ra_state_changed_by:e6,ra_state_changed_from:t6,ra_timestamp:s6,ra_tooltip_ack:i6,ra_tooltip_comment:r6,ra_tooltip_copyState:o6,ra_tooltip_ctrlForLink:n6,ra_tooltip_customConfig:a6,ra_tooltip_deleteObject:M6,ra_tooltip_editObject:c6,ra_tooltip_editState:u6,ra_tooltip_expire:l6,ra_tooltip_from:N6,ra_tooltip_lc:L6,ra_tooltip_quality:g6,ra_tooltip_ts:j6,ra_tooltip_user:y6,ra_tooltip_value:T6,ra_true:D6,"ra_use seconds":"gebruik seconden",ra_val:d6,"ra_via internet":"via internet",ra_warning_every_minute:h6,ra_warning_every_second:z6,sc_cron:w6,sc_date:I6,sc_dates:C6,sc_dow:p6,sc_dows:A6,sc_every:m6,sc_everyN_dates:f6,sc_everyN_dow:O6,sc_everyN_dows:E6,sc_everyN_hours:_6,sc_everyN_minutes:x6,sc_everyN_months:S6,sc_everyN_seconds:k6,sc_every_dates:v6,sc_every_dow:Y6,sc_every_dows:Q6,sc_every_hours:b6,sc_every_minutes:U6,sc_every_months:$6,sc_every_seconds:P6,sc_from:W6,sc_hours:J6,sc_interval:B6,sc_intervalBetween:R6,sc_invalid_cron:F6,sc_minutes:G6,sc_months:H6,sc_once:V6,sc_period:Z6,sc_seconds:X6,sc_simple:K6,sc_specific:q6,sc_specific_dates:e9,sc_specific_dow:t9,sc_specific_dows:s9,sc_specific_hours:i9,sc_specific_minutes:r9,sc_specific_months:o9,sc_specific_seconds:n9,sc_time:a9,sc_to:M9,sc_wizard:c9,sch_all:u9,sch_astroDay:l9,sch_astroNight:N9,sch_astro_dawn:L9,sch_astro_dusk:g9,sch_astro_goldenHour:j9,sch_astro_goldenHourEnd:y9,sch_astro_nadir:T9,sch_astro_nauticalDawn:D9,sch_astro_nauticalDusk:d9,sch_astro_night:h9,sch_astro_nightEnd:z9,sch_astro_solarNoon:w9,sch_astro_sunrise:I9,sch_astro_sunriseEnd:C9,sch_astro_sunset:p9,sch_astro_sunsetStart:A9,sch_at:m9,sch_desc_atTime:f9,sch_desc_everyDay:O9,sch_desc_everyHour:E9,sch_desc_everyMinute:_9,sch_desc_everyMonth:x9,sch_desc_everyNDay:S9,sch_desc_everyNHours:k9,sch_desc_everyNMinutes:v9,sch_desc_everyNMonths:Y9,sch_desc_everyNWeeks:Q9,sch_desc_everyNYears:b9,sch_desc_everyWeek:U9,sch_desc_everyYear:$9,sch_desc_intervalFromTo:P9,sch_desc_never:W9,sch_desc_onDate:J9,sch_desc_onDates:B9,sch_desc_onEveryDate:R9,sch_desc_onMonth:F9,sch_desc_onMonths:G9,sch_desc_onWeekday:H9,sch_desc_onWeekdays:V9,sch_desc_onWeekends:Z9,sch_desc_onWorkdays:X9,sch_desc_onceInPast:K9,sch_desc_once_on:q9,sch_desc_validFrom:e7,sch_desc_validFromTo:t7,sch_desc_validTo:s7,sch_every:i7,sch_exactTime:r7,sch_from:o7,sch_fromTo:n7,sch_intervalTime:a7,sch_invert:M7,sch_no_one:c7,sch_on:u7,sch_period:l7,sch_periodDaily:N7,sch_periodDates:L7,sch_periodDay:g7,sch_periodEvery:j7,sch_periodEveryDay:y7,sch_periodEveryMonth:T7,sch_periodEveryWeek:D7,sch_periodEveryYear:d7,sch_periodHours:h7,sch_periodMinutes:z7,sch_periodMonth:w7,sch_periodMonthly:I7,sch_periodOnce:C7,sch_periodSpecificMonths:p7,sch_periodWeek:A7,sch_periodWeekdays:m7,sch_periodWeekend:f7,sch_periodWeekly:O7,sch_periodWorkdays:E7,sch_periodYear:_7,sch_periodYearly:x7,sch_specificTime:S7,sch_time:k7,sch_to:v7,sch_valid:Y7,sch_validFrom:Q7,sch_validTo:b7,sch_wholeDay:U7,sch_yearEveryMonth:$7},W7="Actes",J7="Ajouter",B7="Annuler",R7="Catégories",F7="Vérifié",G7="Effacer",H7="Fermer",V7="Commercial",Z7="Configurer",X7="Lié",K7="Continuer",q7="Copié",e$="Créer",t$="Recadrer",s$="Delete",i$="Supprimer",r$="Jeter",o$="Débranché",n$="Erreur",a$="Filtre",M$="Vendredi",c$="Latitude",u$="Déconnexion",l$="Longitude",N$="Message",L$="Lundi",g$="Nom",j$="Objets",y$="D'accord",T$="Produit",D$="Renommer/Déplacer/Copier",d$="Répéter",h$="Remplacer",z$="Racine",w$="Samedi",I$="sauver",C$="Choisi",p$="États",A$="Dimanche",m$="Jeudi",f$="Horodatage",O$="Mardi",E$="Mise à jour",_$="Valable jusqu'au",x$="Valeur",S$="Version",k$="Mercredi",v$="Largeur",Y$="Oui",Q$="différent",b$="Tout le monde peut lire un objet",U$="Tout le monde peut lire l'état",$$="Tout le monde peut écrire un objet",P$="Tout le monde peut écrire l'état",W$="Le groupe peut lire l'objet",J$="Le groupe peut lire l'état",B$="Le groupe peut écrire un objet",R$="Le groupe peut écrire l'état",F$="Le propriétaire peut lire l'objet",G$="Le propriétaire peut lire l'état",H$="Le propriétaire peut écrire un objet",V$="Le propriétaire peut écrire l'état",Z$="Boutons",X$="Changé de",K$="Fermer",q$="Créer un état booléen",eP="Créer une chaîne",tP="Créer un appareil",sP="Créer un état de numéro",iP="Créer un état",rP="Créer un état de chaîne",oP="j.",nP="Fr",aP="Mo",MP="Sa",cP="Su",uP="Th",lP="Tu",NP="Nous",LP="Mode expert",gP="FAUX",jP="Tous les fichiers",yP="l'audio",TP="Code/JSON",DP="Images",dP="Texte",hP="Vidéo",zP="Paramètres",wP="sans",IP="Une fonction",CP="ID",pP="Prénom",AP="Rôle",mP="Pièce",fP="Type",OP="Paramètres invalides",EP="Dernier changement",_P="localement",xP="Avr",SP="Août",kP="Déc",vP="Fév",YP="Jan",QP="Juil",bP="Juin",UP="Mai",$P="Mar",PP="Nov",WP="Oct",JP="Sep",BP="Avr",RP="Août",FP="Déc",GP="Fév",HP="Jan",VP="Juil",ZP="Juin",XP="Mai",KP="Mar",qP="Nov",eW="Oct",tW="Sep",sW="rien",iW="Objet modifié par",rW="Objet modifié pour la dernière fois à",oW="Paramètres d'un autre adaptateur %s",nW="Code de qualité",aW="répéter",MW='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',cW="Tout afficher",uW="État modifié par",lW="Objet changé de",NW="Horodatage",LW="Drapeau reconnu",gW="Commentaire",jW="Copiez la valeur d'état",yW="Maintenez la touche Cltr/⌘ enfoncée pour ouvrir le lien",TW="Paramètres personnalisés",DW="Supprimer un objet",dW="Modifier l'objet",hW="Modifier la valeur d'état",zW="Expire dans",wW="De",IW="Dernière modification",CW="Qualité",pW="Horodatage",AW="Utilisateur",mW="Valeur",fW="VRAI",OW="Valeur",EW="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",_W="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",xW="CRON",SW="Date",kW="Rendez-vous",vW="Jour",YW="Jour de la semaine",QW="Chaque",bW="tous les N jours",UW="chaque Nième jour de la semaine",$W="tous les N jours de la semaine",PW="toutes les N heures",WW="toutes les N minutes",JW="tous les N mois",BW="toutes les N secondes",RW="tous les jours",FW="Chaque jour de la semaine",GW="Chaque jour de la semaine",HW="Toutes les heures",VW="chaque minute",ZW="chaque mois",XW="chaque seconde",KW="De",qW="Heures",eJ="Intervalle",tJ="Intervalle entre",sJ="CRON non valide",iJ="Minutes",rJ="mois",oJ="Une fois que",nJ="Période",aJ="Secondes",MJ="Facile",cJ="Temps spécifique",uJ="dates spécifiques",lJ="jour(s) spécifique(s) de la semaine",NJ="jour spécifique de semaines",LJ="heures spécifiques",gJ="minutes spécifiques",jJ="mois spécifiques",yJ="secondes spécifiques",TJ="Temps",DJ="À",dJ="sorcier",hJ="tout",zJ="Journée astronomique",wJ="Nuit astronomique",IJ="Aube",CJ="Crépuscule",pJ="Heure d'or",AJ="Fin de l'heure d'or",mJ="Nadir",fJ="Aube nautique",OJ="Crépuscule nautique",EJ="Nuit",_J="Fin de nuit",xJ="Midi solaire",SJ="lever du soleil",kJ="Fin du lever du soleil",vJ="Le coucher du soleil",YJ="Coucher du soleil",QJ="à",bJ="à %s",UJ="tous les jours",$J="Toutes les heures",PJ="chaque minute",WJ="chaque mois",JJ="chaque %s jour",BJ="chaque %s heures",RJ="toutes les %s minutes",FJ="tous les %s mois",GJ="chaque %s semaines",HJ="tous les %s ans",VJ="toutes les semaines",ZJ="chaque année",XJ="de %s à %s",KJ="jamais",qJ="sur %s de %s",eB="sur %s et %s de",tB="à chaque date de",sB="%s",iB="%s et %s",rB="sur %s",oB="sur %s et %s",nB="les weekends",aB="les jours ouvrables",MB="ne sera plus exécuté, car start est dans le passé",cB="sur %s",uB="de %s",lB="Exécuter de à",NB="à %s",LB="chaque",gB="Temps spécifique",jB="de",yB="De à",TB="Temps d'interval",DB="inverser",dB="aucun",hB="sur",zB="Période",wB="du quotidien",IB="Rendez-vous",CB="journée",pB="Chaque",AB="Tous les jours",mB="Chaque mois",fB="Toutes les semaines",OB="Chaque année",EB="Heures",_B="Minutes",xB="mois",SB="Mensuel",kB="Une fois que",vB="Mois spécifiques",YB="La semaine",QB="Jours de la semaine",bB="Weekend",UB="Hebdomadaire",$B="Jours ouvrables",PB="Année",WB="Annuel",JB="Temps spécifique",BB="Temps",RB="à",FB="Valide",GB="de",HB="à",VB="Toute la journée",ZB="chaque mois",XB={"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:W7,"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:J7,"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:B7,"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:R7,"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:F7,ra_Clear:G7,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Click to see in full size":"Cliquez pour afficher en taille réelle","ra_Click to show":"Cliquez pour afficher","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:H7,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:V7,ra_Configure:Z7,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:X7,ra_Continue:K7,ra_Copied:q7,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:e$,"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:t$,"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:s$,ra_Delete:i$,"ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État","ra_Disable/Enable translation":"Activer/Désactiver la traduction",ra_Discard:r$,ra_Disconnected:o$,"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_Docker is not available":"Docker n'est pas disponible","ra_Docker is not installed or not running":"Docker n'est pas installé ou n'est pas en cours d'exécution","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:n$,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Expand/Collapse card":"Carte Développer/Réduire","ra_Export configuration section":"Exporter la section de configuration","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:a$,"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:M$,"ra_From file":"À partir du fichier","ra_From text":"À partir du texte","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 and add configuration section":"Importer et ajouter la section de configuration","ra_Import and replace configuration section":"Importer et remplacer la section de configuration","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 JSON file.":"Fichier JSON invalide.","ra_Invalid JSON format. Expected an array.":"Format JSON invalide. Tableau attendu.","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:c$,"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:u$,ra_Longitude:l$,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:N$,ra_Monday:L$,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:g$,"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 admin":"Aucune réponse de l'administrateur","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_OAuth Client ID":"ID client OAuth","ra_OAuth Client secret":"Secret client OAuth",ra_Objects:j$,ra_Ok:y$,"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:T$,"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:D$,"ra_Renew %s access":"Renouveler l'accès %s",ra_Repeat:d$,ra_Replace:h$,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:z$,ra_Saturday:w$,ra_Save:I$,"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:C$,"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:p$,"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:A$,"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:m$,ra_Timestamp:f$,"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:O$,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:E$,"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:_$,ra_Value:x$,ra_Version:S$,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:k$,ra_Width:v$,"ra_YAML editor":"Éditeur YAML",ra_Yes:Y$,"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__:Q$,ra_aclEveryone_read_object:b$,ra_aclEveryone_read_state:U$,ra_aclEveryone_write_object:$$,ra_aclEveryone_write_state:P$,ra_aclGroup_read_object:W$,ra_aclGroup_read_state:J$,ra_aclGroup_write_object:B$,ra_aclGroup_write_state:R$,ra_aclOwner_read_object:F$,ra_aclOwner_read_state:G$,ra_aclOwner_write_object:H$,ra_aclOwner_write_state:V$,ra_buttons:Z$,ra_changedFrom:X$,ra_close:K$,ra_create_boolean_state:q$,ra_create_channel:eP,ra_create_device:tP,ra_create_number_state:sP,ra_create_state:iP,ra_create_string_state:rP,ra_daysShortText:oP,ra_dow_Fr:nP,ra_dow_Mo:aP,ra_dow_Sa:MP,ra_dow_Su:cP,ra_dow_Th:uP,ra_dow_Tu:lP,ra_dow_We:NP,ra_expertMode:LP,ra_false:gP,ra_fileType_all:jP,ra_fileType_audio:yP,ra_fileType_code:TP,ra_fileType_images:DP,ra_fileType_txt:dP,ra_fileType_video:hP,"ra_fileType_video,":"Vidéo",ra_filter_customs:zP,ra_filter_customs_without:wP,ra_filter_func:IP,ra_filter_id:CP,ra_filter_name:pP,ra_filter_role:AP,ra_filter_room:mP,ra_filter_type:fP,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:OP,ra_lastChange:EP,ra_locally:_P,ra_month_Apr:xP,ra_month_Aug:SP,ra_month_Dec:kP,ra_month_Feb:vP,ra_month_Jan:YP,ra_month_Jul:QP,ra_month_Jun:bP,ra_month_Mai:UP,ra_month_Mar:$P,ra_month_Nov:PP,ra_month_Oct:WP,ra_month_Sep:JP,ra_months_Apr:BP,ra_months_Aug:RP,ra_months_Dec:FP,ra_months_Feb:GP,ra_months_Jan:HP,ra_months_Jul:VP,ra_months_Jun:ZP,ra_months_Mai:XP,ra_months_Mar:KP,ra_months_Nov:qP,ra_months_Oct:eW,ra_months_Sep:tW,"ra_no confirm for 5 mins":"pas de confirmation pendant 5 minutes",ra_none:sW,ra_object_changed_by:iW,ra_object_changed_by_user:rW,ra_otherConfig:oW,ra_qualityCode:nW,ra_repeat:aW,ra_select_folder_hint:MW,ra_show_all:cW,ra_state_changed_by:uW,ra_state_changed_from:lW,ra_timestamp:NW,ra_tooltip_ack:LW,ra_tooltip_comment:gW,ra_tooltip_copyState:jW,ra_tooltip_ctrlForLink:yW,ra_tooltip_customConfig:TW,ra_tooltip_deleteObject:DW,ra_tooltip_editObject:dW,ra_tooltip_editState:hW,ra_tooltip_expire:zW,ra_tooltip_from:wW,ra_tooltip_lc:IW,ra_tooltip_quality:CW,ra_tooltip_ts:pW,ra_tooltip_user:AW,ra_tooltip_value:mW,ra_true:fW,"ra_use seconds":"utiliser les secondes",ra_val:OW,"ra_via internet":"par Internet",ra_warning_every_minute:EW,ra_warning_every_second:_W,sc_cron:xW,sc_date:SW,sc_dates:kW,sc_dow:vW,sc_dows:YW,sc_every:QW,sc_everyN_dates:bW,sc_everyN_dow:UW,sc_everyN_dows:$W,sc_everyN_hours:PW,sc_everyN_minutes:WW,sc_everyN_months:JW,sc_everyN_seconds:BW,sc_every_dates:RW,sc_every_dow:FW,sc_every_dows:GW,sc_every_hours:HW,sc_every_minutes:VW,sc_every_months:ZW,sc_every_seconds:XW,sc_from:KW,sc_hours:qW,sc_interval:eJ,sc_intervalBetween:tJ,sc_invalid_cron:sJ,sc_minutes:iJ,sc_months:rJ,sc_once:oJ,sc_period:nJ,sc_seconds:aJ,sc_simple:MJ,sc_specific:cJ,sc_specific_dates:uJ,sc_specific_dow:lJ,sc_specific_dows:NJ,sc_specific_hours:LJ,sc_specific_minutes:gJ,sc_specific_months:jJ,sc_specific_seconds:yJ,sc_time:TJ,sc_to:DJ,sc_wizard:dJ,sch_all:hJ,sch_astroDay:zJ,sch_astroNight:wJ,sch_astro_dawn:IJ,sch_astro_dusk:CJ,sch_astro_goldenHour:pJ,sch_astro_goldenHourEnd:AJ,sch_astro_nadir:mJ,sch_astro_nauticalDawn:fJ,sch_astro_nauticalDusk:OJ,sch_astro_night:EJ,sch_astro_nightEnd:_J,sch_astro_solarNoon:xJ,sch_astro_sunrise:SJ,sch_astro_sunriseEnd:kJ,sch_astro_sunset:vJ,sch_astro_sunsetStart:YJ,sch_at:QJ,sch_desc_atTime:bJ,sch_desc_everyDay:UJ,sch_desc_everyHour:$J,sch_desc_everyMinute:PJ,sch_desc_everyMonth:WJ,sch_desc_everyNDay:JJ,sch_desc_everyNHours:BJ,sch_desc_everyNMinutes:RJ,sch_desc_everyNMonths:FJ,sch_desc_everyNWeeks:GJ,sch_desc_everyNYears:HJ,sch_desc_everyWeek:VJ,sch_desc_everyYear:ZJ,sch_desc_intervalFromTo:XJ,sch_desc_never:KJ,sch_desc_onDate:qJ,sch_desc_onDates:eB,sch_desc_onEveryDate:tB,sch_desc_onMonth:sB,sch_desc_onMonths:iB,sch_desc_onWeekday:rB,sch_desc_onWeekdays:oB,sch_desc_onWeekends:nB,sch_desc_onWorkdays:aB,sch_desc_onceInPast:MB,sch_desc_once_on:cB,sch_desc_validFrom:uB,sch_desc_validFromTo:lB,sch_desc_validTo:NB,sch_every:LB,sch_exactTime:gB,sch_from:jB,sch_fromTo:yB,sch_intervalTime:TB,sch_invert:DB,sch_no_one:dB,sch_on:hB,sch_period:zB,sch_periodDaily:wB,sch_periodDates:IB,sch_periodDay:CB,sch_periodEvery:pB,sch_periodEveryDay:AB,sch_periodEveryMonth:mB,sch_periodEveryWeek:fB,sch_periodEveryYear:OB,sch_periodHours:EB,sch_periodMinutes:_B,sch_periodMonth:xB,sch_periodMonthly:SB,sch_periodOnce:kB,sch_periodSpecificMonths:vB,sch_periodWeek:YB,sch_periodWeekdays:QB,sch_periodWeekend:bB,sch_periodWeekly:UB,sch_periodWorkdays:$B,sch_periodYear:PB,sch_periodYearly:WB,sch_specificTime:JB,sch_time:BB,sch_to:RB,sch_valid:FB,sch_validFrom:GB,sch_validTo:HB,sch_wholeDay:VB,sch_yearEveryMonth:ZB},KB="Azioni",qB="Aggiungere",eR="Annulla",tR="Categorie",sR="Controllato",iR="Elimina",rR="Vicino",oR="Commerciale",nR="Configura",aR="Collegato",MR="Continuare",cR="Copiato",uR="Creare",lR="Raccolto",NR="Delete",LR="Elimina",gR="Scartare",jR="Disconnesso",yR="Errore",TR="Filtro",DR="Venerdì",dR="Latitudine",hR="Esci",zR="Longitudine",wR="Messaggio",IR="Lunedi",CR="Nome",pR="Oggetti",AR="Ok",mR="Prodotto",fR="Rinomina/Sposta/Copia",OR="Ripetere",ER="Sostituire",_R="Radice",xR="Sabato",SR="Salva",kR="Selezionato",vR="stati",YR="Domenica",QR="Giovedì",bR="Timestamp",UR="Martedì",$R="Aggiornare",PR="Valido fino a",WR="Valore",JR="Versione",BR="Mercoledì",RR="Larghezza",FR="SÌ",GR="diverso",HR="Tutti possono leggere gli oggetti",VR="Tutti possono leggere lo stato",ZR="Tutti possono scrivere oggetti",XR="Tutti possono scrivere stato",KR="Il gruppo può leggere l'oggetto",qR="Il gruppo può leggere lo stato",eF="Il gruppo può scrivere l'oggetto",tF="Il gruppo può scrivere lo stato",sF="Il proprietario può leggere l'oggetto",iF="Il proprietario può leggere lo stato",rF="Il proprietario può scrivere l'oggetto",oF="Il proprietario può scrivere lo stato",nF="Bottoni",aF="Cambiato da",MF="vicino",cF="Crea uno stato booleano",uF="Crea canale",lF="Crea dispositivo",NF="Crea lo stato del numero",LF="Crea stato",gF="Crea lo stato della stringa",jF="g.",yF="fr",TF="momento",DF="Sa",dF="su",hF="th",zF="Tu",wF="Noi",IF="Modalità esperto",CF="FALSO",pF="Tutti i files",AF="Audio",mF="Codice/JSON",fF="immagini",OF="Testo",EF="video",_F="impostazioni",xF="senza",SF="Funzione",kF="ID",vF="Nome",YF="Ruolo",QF="Camera",bF="genere",UF="Impostazioni non valide",$F="Ultima modifica",PF="localmente",WF="apr",JF="agosto",BF="Dic",RF="febbraio",FF="gen",GF="lug",HF="giu",VF="Mai",ZF="marzo",XF="nov",KF="ottobre",qF="Sett",eG="apr",tG="agosto",sG="Dic",iG="febbraio",rG="gen",oG="lug",nG="giu",aG="Mai",MG="marzo",cG="nov",uG="ottobre",lG="Sett",NG="nessuna",LG="Oggetto modificato da",gG="L'oggetto è stato modificato l'ultima volta alle",jG="Impostazioni dall'altro adattatore %s",yG="Codice di qualità",TG="ripetere",DG='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',dG="Mostra tutto",hG="Stato cambiato da",zG="Oggetto cambiato da",wG="Timestamp",IG="Bandiera riconosciuta",CG="Commento",pG="Copia il valore dello stato",AG="Tieni premuto il tasto Cltr/⌘ per aprire il collegamento",mG="Impostazioni personalizzate",fG="Elimina oggetto",OG="Modifica oggetto",EG="Modifica il valore dello stato",_G="Scade tra",xG="A partire dal",SG="Ultima modifica",kG="Qualità",vG="Data e ora",YG="Utente",QG="Valore",bG="VERO",UG="Valore",$G="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",PG="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",WG="CRON",JG="Data",BG="Date",RG="Giorno",FG="Giorno della settimana",GG="Ogni",HG="ogni N giorni",VG="ogni Nesimo giorno della settimana",ZG="ogni N giorno della settimana",XG="ogni N ore",KG="ogni N minuti",qG="ogni N mesi",eH="ogni N secondi",tH="ogni giorno",sH="Tutti i giorni della settimana",iH="Tutti i giorni della settimana",rH="ogni ora",oH="ogni minuto",nH="ogni mese",aH="ogni secondo",MH="A partire dal",cH="Ore",uH="Intervallo",lH="Intervallo tra",NH="CRON non valido",LH="Minuti",gH="mesi",jH="Una volta",yH="Periodo",TH="secondi",DH="Semplice",dH="Orario preciso",hH="date specifiche",zH="giorno/i specifico/i della settimana",wH="giorno specifico delle settimane",IH="orari specifici",CH="minuti specifici",pH="mesi specifici",AH="secondi specifici",mH="Tempo",fH="Per",OH="procedura guidata",EH="tutti",_H="Astro day",xH="Astro night",SH="Alba",kH="Crepuscolo",vH="Ora d'oro",YH="Fine dell'ora d'oro",QH="Nadir",bH="Alba nautica",UH="Crepuscolo nautico",$H="Notte",PH="Fine della notte",WH="Mezzogiorno solare",JH="Alba",BH="Fine dell'alba",RH="Tramonto",FH="Inizio del tramonto",GH="a",HH="a %s",VH="ogni giorno",ZH="ogni ora",XH="ogni minuto",KH="ogni mese",qH="ogni %s giorno",eV="ogni %s ore",tV="ogni %s minuti",sV="ogni %s mesi",iV="ogni %s settimane",rV="ogni %s anni",oV="ogni settimana",nV="ogni anno",aV="da %s a %s",MV="mai",cV="su %s di %s",uV="su %s e %s di",lV="in ogni data di",NV="%s",LV="%s e %s",gV="su %s",jV="su %s e %s",yV="nei finesettimana",TV="nei giorni lavorativi",DV="non verrà più eseguito, perché start è nel passato",dV="su %s",hV="da %s",zV="Eseguire da a",wV="a %s",IV="ogni",CV="Orario preciso",pV="a partire dal",AV="Da A",mV="Intervallo di tempo",fV="invertire",OV="nessuna",EV="sopra",_V="Periodo",xV="Quotidiano",SV="Date",kV="Giorno",vV="Ogni",YV="Ogni giorno",QV="Ogni mese",bV="Ogni settimana",UV="Ogni anno",$V="Ore",PV="Minuti",WV="mese",JV="Mensile",BV="Una volta",RV="Mesi specifici",FV="Settimana",GV="Giorni della settimana",HV="Fine settimana",VV="settimanalmente",ZV="giorni feriali",XV="Anno",KV="Annuale",qV="Orario preciso",eZ="Tempo",tZ="per",sZ="Valido",iZ="a partire dal",rZ="per",oZ="Giorno intero",nZ="ogni mese",aZ={"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:KB,"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:qB,"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:eR,"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:tR,"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:sR,ra_Clear:iR,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Click to see in full size":"Clicca per visualizzare l'immagine a dimensioni intere","ra_Click to show":"Clicca per mostrare","ra_Clone current row":"Clona riga corrente",ra_Close:rR,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:oR,ra_Configure:nR,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:aR,ra_Continue:MR,ra_Copied:cR,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:uR,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:lR,"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:NR,ra_Delete:LR,"ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato","ra_Disable/Enable translation":"Disabilita/Abilita la traduzione",ra_Discard:gR,ra_Disconnected:jR,"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_Docker is not available":"Docker non è disponibile","ra_Docker is not installed or not running":"Docker non è installato o non è in esecuzione","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:yR,"ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Expand/Collapse card":"Espandi/Comprimi scheda","ra_Export configuration section":"Sezione di configurazione dell'esportazione","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:TR,"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:DR,"ra_From file":"Dal file","ra_From text":"Dal testo","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 and add configuration section":"Importa e aggiungi la sezione di configurazione","ra_Import and replace configuration section":"Importa e sostituisci la sezione di configurazione","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 JSON file.":"File JSON non valido.","ra_Invalid JSON format. Expected an array.":"Formato JSON non valido. È previsto un array.","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:dR,"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:hR,ra_Longitude:zR,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:wR,ra_Monday:IR,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:CR,"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 admin":"Nessuna risposta dall'amministratore","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_OAuth Client ID":"ID client OAuth","ra_OAuth Client secret":"Segreto del client OAuth",ra_Objects:pR,ra_Ok:AR,"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:mR,"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:fR,"ra_Renew %s access":"Rinnova l'accesso %s",ra_Repeat:OR,ra_Replace:ER,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:_R,ra_Saturday:xR,ra_Save:SR,"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:kR,"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:vR,"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:YR,"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:QR,ra_Timestamp:bR,"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:UR,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:$R,"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:PR,ra_Value:WR,ra_Version:JR,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:BR,ra_Width:RR,"ra_YAML editor":"Editor YAML",ra_Yes:FR,"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__:GR,ra_aclEveryone_read_object:HR,ra_aclEveryone_read_state:VR,ra_aclEveryone_write_object:ZR,ra_aclEveryone_write_state:XR,ra_aclGroup_read_object:KR,ra_aclGroup_read_state:qR,ra_aclGroup_write_object:eF,ra_aclGroup_write_state:tF,ra_aclOwner_read_object:sF,ra_aclOwner_read_state:iF,ra_aclOwner_write_object:rF,ra_aclOwner_write_state:oF,ra_buttons:nF,ra_changedFrom:aF,ra_close:MF,ra_create_boolean_state:cF,ra_create_channel:uF,ra_create_device:lF,ra_create_number_state:NF,ra_create_state:LF,ra_create_string_state:gF,ra_daysShortText:jF,ra_dow_Fr:yF,ra_dow_Mo:TF,ra_dow_Sa:DF,ra_dow_Su:dF,ra_dow_Th:hF,ra_dow_Tu:zF,ra_dow_We:wF,ra_expertMode:IF,ra_false:CF,ra_fileType_all:pF,ra_fileType_audio:AF,ra_fileType_code:mF,ra_fileType_images:fF,ra_fileType_txt:OF,ra_fileType_video:EF,"ra_fileType_video,":"video",ra_filter_customs:_F,ra_filter_customs_without:xF,ra_filter_func:SF,ra_filter_id:kF,ra_filter_name:vF,ra_filter_role:YF,ra_filter_room:QF,ra_filter_type:bF,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:UF,ra_lastChange:$F,ra_locally:PF,ra_month_Apr:WF,ra_month_Aug:JF,ra_month_Dec:BF,ra_month_Feb:RF,ra_month_Jan:FF,ra_month_Jul:GF,ra_month_Jun:HF,ra_month_Mai:VF,ra_month_Mar:ZF,ra_month_Nov:XF,ra_month_Oct:KF,ra_month_Sep:qF,ra_months_Apr:eG,ra_months_Aug:tG,ra_months_Dec:sG,ra_months_Feb:iG,ra_months_Jan:rG,ra_months_Jul:oG,ra_months_Jun:nG,ra_months_Mai:aG,ra_months_Mar:MG,ra_months_Nov:cG,ra_months_Oct:uG,ra_months_Sep:lG,"ra_no confirm for 5 mins":"nessuna conferma per 5 minuti",ra_none:NG,ra_object_changed_by:LG,ra_object_changed_by_user:gG,ra_otherConfig:jG,ra_qualityCode:yG,ra_repeat:TG,ra_select_folder_hint:DG,ra_show_all:dG,ra_state_changed_by:hG,ra_state_changed_from:zG,ra_timestamp:wG,ra_tooltip_ack:IG,ra_tooltip_comment:CG,ra_tooltip_copyState:pG,ra_tooltip_ctrlForLink:AG,ra_tooltip_customConfig:mG,ra_tooltip_deleteObject:fG,ra_tooltip_editObject:OG,ra_tooltip_editState:EG,ra_tooltip_expire:_G,ra_tooltip_from:xG,ra_tooltip_lc:SG,ra_tooltip_quality:kG,ra_tooltip_ts:vG,ra_tooltip_user:YG,ra_tooltip_value:QG,ra_true:bG,"ra_use seconds":"usa i secondi",ra_val:UG,"ra_via internet":"attraverso internet",ra_warning_every_minute:$G,ra_warning_every_second:PG,sc_cron:WG,sc_date:JG,sc_dates:BG,sc_dow:RG,sc_dows:FG,sc_every:GG,sc_everyN_dates:HG,sc_everyN_dow:VG,sc_everyN_dows:ZG,sc_everyN_hours:XG,sc_everyN_minutes:KG,sc_everyN_months:qG,sc_everyN_seconds:eH,sc_every_dates:tH,sc_every_dow:sH,sc_every_dows:iH,sc_every_hours:rH,sc_every_minutes:oH,sc_every_months:nH,sc_every_seconds:aH,sc_from:MH,sc_hours:cH,sc_interval:uH,sc_intervalBetween:lH,sc_invalid_cron:NH,sc_minutes:LH,sc_months:gH,sc_once:jH,sc_period:yH,sc_seconds:TH,sc_simple:DH,sc_specific:dH,sc_specific_dates:hH,sc_specific_dow:zH,sc_specific_dows:wH,sc_specific_hours:IH,sc_specific_minutes:CH,sc_specific_months:pH,sc_specific_seconds:AH,sc_time:mH,sc_to:fH,sc_wizard:OH,sch_all:EH,sch_astroDay:_H,sch_astroNight:xH,sch_astro_dawn:SH,sch_astro_dusk:kH,sch_astro_goldenHour:vH,sch_astro_goldenHourEnd:YH,sch_astro_nadir:QH,sch_astro_nauticalDawn:bH,sch_astro_nauticalDusk:UH,sch_astro_night:$H,sch_astro_nightEnd:PH,sch_astro_solarNoon:WH,sch_astro_sunrise:JH,sch_astro_sunriseEnd:BH,sch_astro_sunset:RH,sch_astro_sunsetStart:FH,sch_at:GH,sch_desc_atTime:HH,sch_desc_everyDay:VH,sch_desc_everyHour:ZH,sch_desc_everyMinute:XH,sch_desc_everyMonth:KH,sch_desc_everyNDay:qH,sch_desc_everyNHours:eV,sch_desc_everyNMinutes:tV,sch_desc_everyNMonths:sV,sch_desc_everyNWeeks:iV,sch_desc_everyNYears:rV,sch_desc_everyWeek:oV,sch_desc_everyYear:nV,sch_desc_intervalFromTo:aV,sch_desc_never:MV,sch_desc_onDate:cV,sch_desc_onDates:uV,sch_desc_onEveryDate:lV,sch_desc_onMonth:NV,sch_desc_onMonths:LV,sch_desc_onWeekday:gV,sch_desc_onWeekdays:jV,sch_desc_onWeekends:yV,sch_desc_onWorkdays:TV,sch_desc_onceInPast:DV,sch_desc_once_on:dV,sch_desc_validFrom:hV,sch_desc_validFromTo:zV,sch_desc_validTo:wV,sch_every:IV,sch_exactTime:CV,sch_from:pV,sch_fromTo:AV,sch_intervalTime:mV,sch_invert:fV,sch_no_one:OV,sch_on:EV,sch_period:_V,sch_periodDaily:xV,sch_periodDates:SV,sch_periodDay:kV,sch_periodEvery:vV,sch_periodEveryDay:YV,sch_periodEveryMonth:QV,sch_periodEveryWeek:bV,sch_periodEveryYear:UV,sch_periodHours:$V,sch_periodMinutes:PV,sch_periodMonth:WV,sch_periodMonthly:JV,sch_periodOnce:BV,sch_periodSpecificMonths:RV,sch_periodWeek:FV,sch_periodWeekdays:GV,sch_periodWeekend:HV,sch_periodWeekly:VV,sch_periodWorkdays:ZV,sch_periodYear:XV,sch_periodYearly:KV,sch_specificTime:qV,sch_time:eZ,sch_to:tZ,sch_valid:sZ,sch_validFrom:iZ,sch_validTo:rZ,sch_wholeDay:oZ,sch_yearEveryMonth:nZ},MZ="Comportamiento",cZ="Adjuntar",uZ="Cancelar",lZ="Categorías",NZ="Comprobado",LZ="Borrar",gZ="Cerca",jZ="Comercial",yZ="Configurar",TZ="Conectado",DZ="Continuar",dZ="Copiado",hZ="Crear",zZ="Cultivo",wZ="Delete",IZ="Eliminar",CZ="Desechar",pZ="Desconectado",AZ="Error",mZ="Filtrar",fZ="Viernes",OZ="Latitud",EZ="Cerrar sesión",_Z="Longitud",xZ="Mensaje",SZ="Lunes",kZ="Nombre",vZ="Objetos",YZ="Okay",QZ="Producto",bZ="Cambiar nombre/Mover/Copiar",UZ="Repetir",$Z="Reemplazar",PZ="Raíz",WZ="Sábado",JZ="Salvar",BZ="Seleccionado",RZ="Estados",FZ="Domingo",GZ="Jueves",HZ="Marca de tiempo",VZ="Martes",ZZ="Actualizar",XZ="Válida hasta",KZ="Valor",qZ="Versión",eX="Miércoles",tX="Anchura",sX="Sí",iX="diferente",rX="Todo el mundo puede leer el objeto",oX="Todos pueden leer el estado",nX="Todos pueden escribir objetos",aX="Todos pueden escribir el estado",MX="El grupo puede leer el objeto",cX="El grupo puede leer el estado",uX="El grupo puede escribir un objeto",lX="El grupo puede escribir el estado",NX="El propietario puede leer el objeto",LX="El propietario puede leer el estado",gX="El propietario puede escribir el objeto",jX="El propietario puede escribir el estado",yX="Botones",TX="Cambiaron desde",DX="cerrar",dX="Crear estado booleano",hX="Crear canal",zX="Crear dispositivo",wX="Crear estado numérico",IX="Crear estado",CX="Crear estado de cadena",pX="d.",AX="Fr",mX="Mes",fX="Sa",OX="Su",EX="Th",_X="Tu",xX="Nosotros",SX="Modo experto",kX="FALSO",vX="Todos los archivos",YX="Audio",QX="Código/JSON",bX="Imágenes",UX="Texto",$X="Video",PX="Configuraciones",WX="sin",JX="Función",BX="ID",RX="Nombre",FX="Papel",GX="Habitación",HX="Tipo",VX="Configuraciones inválidas",ZX="Ultimo cambio",XX="en la zona",KX="Abr",qX="Ago",eK="Dic",tK="Feb",sK="Ene",iK="Jul",rK="Jun",oK="Mai",nK="Mar",aK="Nov",MK="Oct",cK="Sep",uK="Abr",lK="Ago",NK="Dic",LK="Feb",gK="Ene",jK="Jul",yK="Jun",TK="Mai",DK="Mar",dK="Nov",hK="Oct",zK="Sep",wK="ninguno",IK="Objeto cambiado por",CK="Objeto cambiado por última vez a las",pK="Configuraciones de otro adaptador %s",AK="Código de calidad",mK="repetir",fK='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',OK="Mostrar todo",EK="Estado cambiado por",_K="Objeto cambiado de",xK="Marca de tiempo",SK="Bandera reconocida",kK="Comentario",vK="Copie el valor del estado",YK="Mantenga presionada la tecla Cltr/⌘ para abrir el enlace",QK="Ajustes personalizados",bK="Eliminar objeto",UK="Editar objeto",$K="Edite el valor del estado",PK="Caduca en",WK="Desde",JK="Último cambio",BK="Calidad",RK="Sello de tiempo",FK="Usuario",GK="Valor",HK="VERDADERO",VK="Valor",ZK="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",XK="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",KK="CRON",qK="Fecha",eq="fechas",tq="Día",sq="Día de la semana",iq="Cada",rq="cada N días",oq="cada enésimo día de la semana",nq="cada N día de la semana",aq="cada N horas",Mq="cada N minutos",cq="cada N meses",uq="cada N segundos",lq="cada día",Nq="Cada día de la semana",Lq="Cada día de la semana",gq="cada hora",jq="cada minuto",yq="cada mes",Tq="cada segundo",Dq="De",dq="Horas",hq="Intervalo",zq="Intervalo entre",wq="CRON no válido",Iq="Minutos",Cq="meses",pq="Una vez",Aq="Período",mq="Segundos",fq="Sencillo",Oq="Tiempo específico",Eq="fechas especificas",_q="día(s) específico(s) de la semana",xq="día específico de semanas",Sq="horas específicas",kq="minutos específicos",vq="meses específicos",Yq="segundos específicos",Qq="Hora",bq="A",Uq="Mago",$q="todas",Pq="Día astro",Wq="Noche astro",Jq="Amanecer",Bq="Oscuridad",Rq="hora dorada",Fq="Fin de la hora dorada",Gq="Nadir",Hq="Amanecer náutico",Vq="Anochecer náutico",Zq="Noche",Xq="Fin de la noche",Kq="Mediodía solar",qq="amanecer",eee="Fin del amanecer",tee="Puesta de sol",see="Puesta de sol",iee="a",ree="en %s",oee="cada día",nee="cada hora",aee="cada minuto",Mee="cada mes",cee="cada %s días",uee="cada %s horas",lee="cada %s minutos",Nee="cada %s meses",Lee="cada %s semanas",gee="cada %s años",jee="cada semana",yee="todos los años",Tee="de %s a %s",Dee="Nunca",dee="en %s de %s",hee="en %s y %s de",zee="en cada fecha de",wee="%s",Iee="%s y %s",Cee="en %s",pee="en %s y %s",Aee="en los fines de semana",mee="en días laborables",fee="ya no se ejecutará más, porque el inicio está en el pasado",Oee="en %s",Eee="de %s",_ee="Ejecutar desde hasta",xee="a %s",See="cada",kee="Tiempo específico",vee="de",Yee="De-a",Qee="Tiempo de intervalo",bee="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",Uee="ninguna",$ee="en",Pee="Período",Wee="Diario",Jee="fechas",Bee="Día",Ree="Cada",Fee="Cada día",Gee="Cada mes",Hee="Cada semana",Vee="Todos los años",Zee="Horas",Xee="Minutos",Kee="mes",qee="Mensual",ete="Una vez",tte="Meses específicos",ste="Semana",ite="Días laborables",rte="Fin de semana",ote="Semanal",nte="Días laborables",ate="Año",Mte="Anual",cte="Tiempo específico",ute="Hora",lte="a",Nte="Válido",Lte="de",gte="a",jte="Todo el dia",yte="cada mes",Tte={"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:MZ,"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:cZ,"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:uZ,"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:lZ,"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:NZ,ra_Clear:LZ,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Click to see in full size":"Haz clic para ver en tamaño completo.","ra_Click to show":"Haga clic para mostrar","ra_Clone current row":"Clonar fila actual",ra_Close:gZ,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:jZ,ra_Configure:yZ,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:TZ,ra_Continue:DZ,ra_Copied:dZ,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:hZ,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:zZ,"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:wZ,ra_Delete:IZ,"ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Deshabilitar/Habilitar traducción",ra_Discard:CZ,ra_Disconnected:pZ,"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_Docker is not available":"Docker no está disponible","ra_Docker is not installed or not running":"Docker no está instalado o no se está ejecutando","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:AZ,"ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Expand/Collapse card":"Expandir/Contraer tarjeta","ra_Export configuration section":"Exportar sección de configuración","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:mZ,"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:fZ,"ra_From file":"Desde archivo","ra_From text":"Del texto","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 and add configuration section":"Importar y agregar sección de configuración","ra_Import and replace configuration section":"Importar y reemplazar sección de configuración","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 JSON file.":"Archivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Se esperaba un array.","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:OZ,"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:EZ,ra_Longitude:_Z,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:xZ,ra_Monday:SZ,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:kZ,"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 admin":"No hay respuesta del administrador","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_OAuth Client ID":"ID de cliente OAuth","ra_OAuth Client secret":"Secreto de cliente OAuth",ra_Objects:vZ,ra_Ok:YZ,"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:QZ,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Rename_Move_Copy:bZ,"ra_Renew %s access":"Renovar el acceso a %s",ra_Repeat:UZ,ra_Replace:$Z,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:PZ,ra_Saturday:WZ,ra_Save:JZ,"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:BZ,"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:RZ,"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:FZ,"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:GZ,ra_Timestamp:HZ,"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:VZ,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:ZZ,"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:XZ,ra_Value:KZ,ra_Version:qZ,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:eX,ra_Width:tX,"ra_YAML editor":"Editor YAML",ra_Yes:sX,"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__:iX,ra_aclEveryone_read_object:rX,ra_aclEveryone_read_state:oX,ra_aclEveryone_write_object:nX,ra_aclEveryone_write_state:aX,ra_aclGroup_read_object:MX,ra_aclGroup_read_state:cX,ra_aclGroup_write_object:uX,ra_aclGroup_write_state:lX,ra_aclOwner_read_object:NX,ra_aclOwner_read_state:LX,ra_aclOwner_write_object:gX,ra_aclOwner_write_state:jX,ra_buttons:yX,ra_changedFrom:TX,ra_close:DX,ra_create_boolean_state:dX,ra_create_channel:hX,ra_create_device:zX,ra_create_number_state:wX,ra_create_state:IX,ra_create_string_state:CX,ra_daysShortText:pX,ra_dow_Fr:AX,ra_dow_Mo:mX,ra_dow_Sa:fX,ra_dow_Su:OX,ra_dow_Th:EX,ra_dow_Tu:_X,ra_dow_We:xX,ra_expertMode:SX,ra_false:kX,ra_fileType_all:vX,ra_fileType_audio:YX,ra_fileType_code:QX,ra_fileType_images:bX,ra_fileType_txt:UX,ra_fileType_video:$X,"ra_fileType_video,":"Video",ra_filter_customs:PX,ra_filter_customs_without:WX,ra_filter_func:JX,ra_filter_id:BX,ra_filter_name:RX,ra_filter_role:FX,ra_filter_room:GX,ra_filter_type:HX,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:VX,ra_lastChange:ZX,ra_locally:XX,ra_month_Apr:KX,ra_month_Aug:qX,ra_month_Dec:eK,ra_month_Feb:tK,ra_month_Jan:sK,ra_month_Jul:iK,ra_month_Jun:rK,ra_month_Mai:oK,ra_month_Mar:nK,ra_month_Nov:aK,ra_month_Oct:MK,ra_month_Sep:cK,ra_months_Apr:uK,ra_months_Aug:lK,ra_months_Dec:NK,ra_months_Feb:LK,ra_months_Jan:gK,ra_months_Jul:jK,ra_months_Jun:yK,ra_months_Mai:TK,ra_months_Mar:DK,ra_months_Nov:dK,ra_months_Oct:hK,ra_months_Sep:zK,"ra_no confirm for 5 mins":"Sin confirmación durante 5 minutos",ra_none:wK,ra_object_changed_by:IK,ra_object_changed_by_user:CK,ra_otherConfig:pK,ra_qualityCode:AK,ra_repeat:mK,ra_select_folder_hint:fK,ra_show_all:OK,ra_state_changed_by:EK,ra_state_changed_from:_K,ra_timestamp:xK,ra_tooltip_ack:SK,ra_tooltip_comment:kK,ra_tooltip_copyState:vK,ra_tooltip_ctrlForLink:YK,ra_tooltip_customConfig:QK,ra_tooltip_deleteObject:bK,ra_tooltip_editObject:UK,ra_tooltip_editState:$K,ra_tooltip_expire:PK,ra_tooltip_from:WK,ra_tooltip_lc:JK,ra_tooltip_quality:BK,ra_tooltip_ts:RK,ra_tooltip_user:FK,ra_tooltip_value:GK,ra_true:HK,"ra_use seconds":"usar segundos",ra_val:VK,"ra_via internet":"vía Internet",ra_warning_every_minute:ZK,ra_warning_every_second:XK,sc_cron:KK,sc_date:qK,sc_dates:eq,sc_dow:tq,sc_dows:sq,sc_every:iq,sc_everyN_dates:rq,sc_everyN_dow:oq,sc_everyN_dows:nq,sc_everyN_hours:aq,sc_everyN_minutes:Mq,sc_everyN_months:cq,sc_everyN_seconds:uq,sc_every_dates:lq,sc_every_dow:Nq,sc_every_dows:Lq,sc_every_hours:gq,sc_every_minutes:jq,sc_every_months:yq,sc_every_seconds:Tq,sc_from:Dq,sc_hours:dq,sc_interval:hq,sc_intervalBetween:zq,sc_invalid_cron:wq,sc_minutes:Iq,sc_months:Cq,sc_once:pq,sc_period:Aq,sc_seconds:mq,sc_simple:fq,sc_specific:Oq,sc_specific_dates:Eq,sc_specific_dow:_q,sc_specific_dows:xq,sc_specific_hours:Sq,sc_specific_minutes:kq,sc_specific_months:vq,sc_specific_seconds:Yq,sc_time:Qq,sc_to:bq,sc_wizard:Uq,sch_all:$q,sch_astroDay:Pq,sch_astroNight:Wq,sch_astro_dawn:Jq,sch_astro_dusk:Bq,sch_astro_goldenHour:Rq,sch_astro_goldenHourEnd:Fq,sch_astro_nadir:Gq,sch_astro_nauticalDawn:Hq,sch_astro_nauticalDusk:Vq,sch_astro_night:Zq,sch_astro_nightEnd:Xq,sch_astro_solarNoon:Kq,sch_astro_sunrise:qq,sch_astro_sunriseEnd:eee,sch_astro_sunset:tee,sch_astro_sunsetStart:see,sch_at:iee,sch_desc_atTime:ree,sch_desc_everyDay:oee,sch_desc_everyHour:nee,sch_desc_everyMinute:aee,sch_desc_everyMonth:Mee,sch_desc_everyNDay:cee,sch_desc_everyNHours:uee,sch_desc_everyNMinutes:lee,sch_desc_everyNMonths:Nee,sch_desc_everyNWeeks:Lee,sch_desc_everyNYears:gee,sch_desc_everyWeek:jee,sch_desc_everyYear:yee,sch_desc_intervalFromTo:Tee,sch_desc_never:Dee,sch_desc_onDate:dee,sch_desc_onDates:hee,sch_desc_onEveryDate:zee,sch_desc_onMonth:wee,sch_desc_onMonths:Iee,sch_desc_onWeekday:Cee,sch_desc_onWeekdays:pee,sch_desc_onWeekends:Aee,sch_desc_onWorkdays:mee,sch_desc_onceInPast:fee,sch_desc_once_on:Oee,sch_desc_validFrom:Eee,sch_desc_validFromTo:_ee,sch_desc_validTo:xee,sch_every:See,sch_exactTime:kee,sch_from:vee,sch_fromTo:Yee,sch_intervalTime:Qee,sch_invert:bee,sch_no_one:Uee,sch_on:$ee,sch_period:Pee,sch_periodDaily:Wee,sch_periodDates:Jee,sch_periodDay:Bee,sch_periodEvery:Ree,sch_periodEveryDay:Fee,sch_periodEveryMonth:Gee,sch_periodEveryWeek:Hee,sch_periodEveryYear:Vee,sch_periodHours:Zee,sch_periodMinutes:Xee,sch_periodMonth:Kee,sch_periodMonthly:qee,sch_periodOnce:ete,sch_periodSpecificMonths:tte,sch_periodWeek:ste,sch_periodWeekdays:ite,sch_periodWeekend:rte,sch_periodWeekly:ote,sch_periodWorkdays:nte,sch_periodYear:ate,sch_periodYearly:Mte,sch_specificTime:cte,sch_time:ute,sch_to:lte,sch_valid:Nte,sch_validFrom:Lte,sch_validTo:gte,sch_wholeDay:jte,sch_yearEveryMonth:yte},Dte="Akcje",dte="Dodać",hte="Anuluj",zte="Kategorie",wte="Sprawdzony",Ite="Kasować",Cte="Blisko",pte="Handlowy",Ate="Konfiguruj",mte="Połączony",fte="Kontynuować",Ote="Skopiowano",Ete="Stwórz",_te="Przyciąć",xte="Delete",Ste="Usunąć",kte="Wyrzucać",vte="Niepowiązany",Yte="Błąd",Qte="Filtr",bte="Piątek",Ute="Szerokość",$te="Wyloguj",Pte="Długość geograficzna",Wte="Wiadomość",Jte="Poniedziałek",Bte="Nazwa",Rte="Obiekty",Fte="Dobrze",Gte="Produkt",Hte="Zmień nazwę/Przenieś/Kopiuj",Vte="Powtarzać",Zte="Zastępować",Xte="Korzeń",Kte="Sobota",qte="Zapisać",ese="Wybrany",tse="Stany",sse="Niedziela",ise="Czwartek",rse="Znak czasu",ose="Wtorek",nse="Aktualizacja",ase="Obowiązuje do",Mse="Wartość",cse="Wersja",use="Środa",lse="Szerokość",Nse="Tak",Lse="różne",gse="Każdy może czytać obiekt",jse="Każdy może czytać stan",yse="Każdy może pisać przedmiot",Tse="Każdy może pisać stan",Dse="Grupa może odczytać obiekt",dse="Grupa może odczytać stan",hse="Grupa może pisać obiekt",zse="Grupa może pisać stan",wse="Właściciel może czytać obiekt",Ise="Właściciel może odczytać stan",Cse="Właściciel może napisać obiekt",pse="Właściciel może pisać stan",Ase="guziki",mse="Zmieniony z",fse="blisko",Ose="Utwórz stan logiczny",Ese="Utwórz kanał",_se="Utwórz urządzenie",xse="Utwórz stan liczbowy",Sse="Utwórz stan",kse="Utwórz stan ciągu",vse="d.",Yse="Ks",Qse="Mo",bse="Sa",Use="Su",$se="Th",Pse="Tu",Wse="My",Jse="Tryb ekspercki",Bse="FAŁSZ",Rse="Wszystkie pliki",Fse="Audio",Gse="Kod/JSON",Hse="Obrazy",Vse="Tekst",Zse="Wideo",Xse="Ustawienia",Kse="bez",qse="Funkcjonować",eie="ID",tie="Imię",sie="Rola",iie="Sala",rie="Rodzaj",oie="Nieprawidłowe ustawienia",nie="Ostatnia zmiana",aie="lokalnie",Mie="kwiecień",cie="sierpień",uie="grudzień",lie="luty",Nie="styczeń",Lie="lipiec",gie="czerwiec",jie="Mai",yie="Zniszczyć",Tie="listopad",Die="październik",die="wrzesień",hie="kwiecień",zie="sierpień",wie="grudzień",Iie="luty",Cie="styczeń",pie="lipiec",Aie="czerwiec",mie="Mai",fie="Zniszczyć",Oie="listopad",Eie="październik",_ie="wrzesień",xie="Żaden",Sie="Obiekt zmieniony przez",kie="Obiekt ostatnio zmieniony o godz",vie="Ustawienia z innego adaptera %s",Yie="Kod jakości",Qie="powtarzać",bie="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",Uie="Pokaż wszystko",$ie="Stan zmieniony przez",Pie="Obiekt zmieniony z",Wie="Znak czasu",Jie="Potwierdzon",Bie="Komentarz",Rie="Skopiuj wartość stanu",Fie="Przytrzymaj klawisz CTRL/⌘, aby otworzyć link",Gie="Własne ustawienia",Hie="Usuń obiekt",Vie="Edytuj obiekt",Zie="Edytuj wartość stanu",Xie="Wygasa za",Kie="Z",qie="Ostatnia zmiana",ere="Jakość",tre="Znak czasu",sre="Użytkownik",ire="Wartość",rre="PRAWDA",ore="Wartość",nre="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",are="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",Mre="CRON",cre="Data",ure="Daktyle",lre="Dzień",Nre="Dzień tygodnia",Lre="Każdy",gre="co N dni",jre="w każdy N-ty dzień tygodnia",yre="co N dnia tygodnia",Tre="co N godzin",Dre="co N minut",dre="co N miesięcy",hre="co N sekund",zre="codziennie",wre="każdy dzień tygodnia",Ire="każdy dzień tygodnia",Cre="co godzinę",pre="każda minuta",Are="każdego miesiąca",mre="każda sekunda",fre="Od",Ore="godziny",Ere="Interwał",_re="Interwał między",xre="Nieprawidłowy CRON",Sre="Minuty",kre="miesięcy",vre="Pewnego razu",Yre="Kropka",Qre="sekundy",bre="Prosty",Ure="Określony czas",$re="konkretne daty",Pre="określone dni tygodnia",Wre="określony dzień tygodni",Jre="określone godziny",Bre="określone minuty",Rre="określone miesiące",Fre="określone sekundy",Gre="Czas",Hre="Do",Vre="Czarodziej",Zre="wszystko",Xre="Dzień Astro",Kre="Noc Astro",qre="Świt",eoe="Zmierzch",toe="Złota godzina",soe="Koniec złotej godziny",ioe="Północ",roe="Morski świt",ooe="Morski zmierzch",noe="Noc",aoe="Koniec nocy",Moe="Południe słoneczne",coe="Wschód słońca",uoe="Koniec wschodu słońca",loe="Zachód słońca",Noe="Początek zachodu słońca",Loe="w",goe="na %s",joe="codziennie",yoe="co godzinę",Toe="każda minuta",Doe="każdego miesiąca",doe="każdego dnia %s",hoe="co %s godzin",zoe="co %s minut",woe="co %s miesięcy",Ioe="co %s tygodni",Coe="co %s lat",poe="co tydzień",Aoe="każdego roku",moe="od %s do %s",foe="nigdy",Ooe="na %s z %s",Eoe="na %s i %s z",_oe="w każdą datę",xoe="%s",Soe="%s i %s",koe="na %s",voe="na %s i %s",Yoe="w weekendy",Qoe="w dni robocze",boe="nie będzie już wykonywany, ponieważ start jest w przeszłości",Uoe="na %s",$oe="z %s",Poe="Wykonaj od do",Woe="do %s",Joe="każdy",Boe="Określony czas",Roe="od",Foe="Od-do",Goe="Czas przerwy",Hoe="odwracać",Voe="Żaden",Zoe="na",Xoe="Kropka",Koe="Codziennie",qoe="Daktyle",ene="Dzień",tne="Każdy",sne="Codziennie",ine="Każdego miesiąca",rne="Co tydzień",one="Każdego roku",nne="godziny",ane="Minuty",Mne="miesiąc",cne="Miesięczny",une="Pewnego razu",lne="Określone miesiące",Nne="Tydzień",Lne="Dni powszednie",gne="Weekend",jne="Co tydzień",yne="Dni robocze",Tne="Rok",Dne="Rocznie",dne="Określony czas",hne="Czas",zne="do",wne="Ważny",Ine="od",Cne="do",pne="Cały dzień",Ane="każdego miesiąca",mne={"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:Dte,"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:dte,"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:hte,"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:zte,"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:wte,ra_Clear:Ite,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Click to see in full size":"Kliknij, aby zobaczyć w pełnym rozmiarze","ra_Click to show":"Kliknij, aby pokazać","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:Cte,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:pte,ra_Configure:Ate,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:mte,ra_Continue:fte,ra_Copied:Ote,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:Ete,"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:_te,"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:xte,ra_Delete:Ste,"ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan","ra_Disable/Enable translation":"Wyłącz/Włącz tłumaczenie",ra_Discard:kte,ra_Disconnected:vte,"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_Docker is not available":"Docker nie jest dostępny","ra_Docker is not installed or not running":"Docker nie jest zainstalowany lub nie działa","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:Yte,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Expand/Collapse card":"Rozwiń/Zwiń kartę","ra_Export configuration section":"Sekcja konfiguracji eksportu","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:Qte,"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:bte,"ra_From file":"Z pliku","ra_From text":"Z tekstu","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 and add configuration section":"Importuj i dodaj sekcję konfiguracji","ra_Import and replace configuration section":"Importuj i zastąp sekcję konfiguracji","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 JSON file.":"Nieprawidłowy plik JSON.","ra_Invalid JSON format. Expected an array.":"Nieprawidłowy format JSON. Oczekiwano tablicy.","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:Ute,"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:$te,ra_Longitude:Pte,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:Wte,ra_Monday:Jte,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:Bte,"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 admin":"Brak odpowiedzi od administratora","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_OAuth Client ID":"Identyfikator klienta OAuth","ra_OAuth Client secret":"Tajny klucz klienta OAuth",ra_Objects:Rte,ra_Ok:Fte,"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:Gte,"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:Hte,"ra_Renew %s access":"Odnów dostęp %s",ra_Repeat:Vte,ra_Replace:Zte,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:Xte,ra_Saturday:Kte,ra_Save:qte,"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:ese,"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:tse,"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:sse,"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:ise,ra_Timestamp:rse,"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:ose,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:nse,"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:ase,ra_Value:Mse,ra_Version:cse,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:use,ra_Width:lse,"ra_YAML editor":"Edytor YAML",ra_Yes:Nse,"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__:Lse,ra_aclEveryone_read_object:gse,ra_aclEveryone_read_state:jse,ra_aclEveryone_write_object:yse,ra_aclEveryone_write_state:Tse,ra_aclGroup_read_object:Dse,ra_aclGroup_read_state:dse,ra_aclGroup_write_object:hse,ra_aclGroup_write_state:zse,ra_aclOwner_read_object:wse,ra_aclOwner_read_state:Ise,ra_aclOwner_write_object:Cse,ra_aclOwner_write_state:pse,ra_buttons:Ase,ra_changedFrom:mse,ra_close:fse,ra_create_boolean_state:Ose,ra_create_channel:Ese,ra_create_device:_se,ra_create_number_state:xse,ra_create_state:Sse,ra_create_string_state:kse,ra_daysShortText:vse,ra_dow_Fr:Yse,ra_dow_Mo:Qse,ra_dow_Sa:bse,ra_dow_Su:Use,ra_dow_Th:$se,ra_dow_Tu:Pse,ra_dow_We:Wse,ra_expertMode:Jse,ra_false:Bse,ra_fileType_all:Rse,ra_fileType_audio:Fse,ra_fileType_code:Gse,ra_fileType_images:Hse,ra_fileType_txt:Vse,ra_fileType_video:Zse,"ra_fileType_video,":"Wideo",ra_filter_customs:Xse,ra_filter_customs_without:Kse,ra_filter_func:qse,ra_filter_id:eie,ra_filter_name:tie,ra_filter_role:sie,ra_filter_room:iie,ra_filter_type:rie,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:oie,ra_lastChange:nie,ra_locally:aie,ra_month_Apr:Mie,ra_month_Aug:cie,ra_month_Dec:uie,ra_month_Feb:lie,ra_month_Jan:Nie,ra_month_Jul:Lie,ra_month_Jun:gie,ra_month_Mai:jie,ra_month_Mar:yie,ra_month_Nov:Tie,ra_month_Oct:Die,ra_month_Sep:die,ra_months_Apr:hie,ra_months_Aug:zie,ra_months_Dec:wie,ra_months_Feb:Iie,ra_months_Jan:Cie,ra_months_Jul:pie,ra_months_Jun:Aie,ra_months_Mai:mie,ra_months_Mar:fie,ra_months_Nov:Oie,ra_months_Oct:Eie,ra_months_Sep:_ie,"ra_no confirm for 5 mins":"brak potwierdzenia przez 5 minut",ra_none:xie,ra_object_changed_by:Sie,ra_object_changed_by_user:kie,ra_otherConfig:vie,ra_qualityCode:Yie,ra_repeat:Qie,ra_select_folder_hint:bie,ra_show_all:Uie,ra_state_changed_by:$ie,ra_state_changed_from:Pie,ra_timestamp:Wie,ra_tooltip_ack:Jie,ra_tooltip_comment:Bie,ra_tooltip_copyState:Rie,ra_tooltip_ctrlForLink:Fie,ra_tooltip_customConfig:Gie,ra_tooltip_deleteObject:Hie,ra_tooltip_editObject:Vie,ra_tooltip_editState:Zie,ra_tooltip_expire:Xie,ra_tooltip_from:Kie,ra_tooltip_lc:qie,ra_tooltip_quality:ere,ra_tooltip_ts:tre,ra_tooltip_user:sre,ra_tooltip_value:ire,ra_true:rre,"ra_use seconds":"użyj sekund",ra_val:ore,"ra_via internet":"przez internet",ra_warning_every_minute:nre,ra_warning_every_second:are,sc_cron:Mre,sc_date:cre,sc_dates:ure,sc_dow:lre,sc_dows:Nre,sc_every:Lre,sc_everyN_dates:gre,sc_everyN_dow:jre,sc_everyN_dows:yre,sc_everyN_hours:Tre,sc_everyN_minutes:Dre,sc_everyN_months:dre,sc_everyN_seconds:hre,sc_every_dates:zre,sc_every_dow:wre,sc_every_dows:Ire,sc_every_hours:Cre,sc_every_minutes:pre,sc_every_months:Are,sc_every_seconds:mre,sc_from:fre,sc_hours:Ore,sc_interval:Ere,sc_intervalBetween:_re,sc_invalid_cron:xre,sc_minutes:Sre,sc_months:kre,sc_once:vre,sc_period:Yre,sc_seconds:Qre,sc_simple:bre,sc_specific:Ure,sc_specific_dates:$re,sc_specific_dow:Pre,sc_specific_dows:Wre,sc_specific_hours:Jre,sc_specific_minutes:Bre,sc_specific_months:Rre,sc_specific_seconds:Fre,sc_time:Gre,sc_to:Hre,sc_wizard:Vre,sch_all:Zre,sch_astroDay:Xre,sch_astroNight:Kre,sch_astro_dawn:qre,sch_astro_dusk:eoe,sch_astro_goldenHour:toe,sch_astro_goldenHourEnd:soe,sch_astro_nadir:ioe,sch_astro_nauticalDawn:roe,sch_astro_nauticalDusk:ooe,sch_astro_night:noe,sch_astro_nightEnd:aoe,sch_astro_solarNoon:Moe,sch_astro_sunrise:coe,sch_astro_sunriseEnd:uoe,sch_astro_sunset:loe,sch_astro_sunsetStart:Noe,sch_at:Loe,sch_desc_atTime:goe,sch_desc_everyDay:joe,sch_desc_everyHour:yoe,sch_desc_everyMinute:Toe,sch_desc_everyMonth:Doe,sch_desc_everyNDay:doe,sch_desc_everyNHours:hoe,sch_desc_everyNMinutes:zoe,sch_desc_everyNMonths:woe,sch_desc_everyNWeeks:Ioe,sch_desc_everyNYears:Coe,sch_desc_everyWeek:poe,sch_desc_everyYear:Aoe,sch_desc_intervalFromTo:moe,sch_desc_never:foe,sch_desc_onDate:Ooe,sch_desc_onDates:Eoe,sch_desc_onEveryDate:_oe,sch_desc_onMonth:xoe,sch_desc_onMonths:Soe,sch_desc_onWeekday:koe,sch_desc_onWeekdays:voe,sch_desc_onWeekends:Yoe,sch_desc_onWorkdays:Qoe,sch_desc_onceInPast:boe,sch_desc_once_on:Uoe,sch_desc_validFrom:$oe,sch_desc_validFromTo:Poe,sch_desc_validTo:Woe,sch_every:Joe,sch_exactTime:Boe,sch_from:Roe,sch_fromTo:Foe,sch_intervalTime:Goe,sch_invert:Hoe,sch_no_one:Voe,sch_on:Zoe,sch_period:Xoe,sch_periodDaily:Koe,sch_periodDates:qoe,sch_periodDay:ene,sch_periodEvery:tne,sch_periodEveryDay:sne,sch_periodEveryMonth:ine,sch_periodEveryWeek:rne,sch_periodEveryYear:one,sch_periodHours:nne,sch_periodMinutes:ane,sch_periodMonth:Mne,sch_periodMonthly:cne,sch_periodOnce:une,sch_periodSpecificMonths:lne,sch_periodWeek:Nne,sch_periodWeekdays:Lne,sch_periodWeekend:gne,sch_periodWeekly:jne,sch_periodWorkdays:yne,sch_periodYear:Tne,sch_periodYearly:Dne,sch_specificTime:dne,sch_time:hne,sch_to:zne,sch_valid:wne,sch_validFrom:Ine,sch_validTo:Cne,sch_wholeDay:pne,sch_yearEveryMonth:Ane},fne="Дії",One="Додайте",Ene="Скасувати",_ne="Категорії",xne="Перевірено",Sne="Видалити",kne="Закрити",vne="Комерційний",Yne="Налаштувати",Qne="Підключено",bne="Продовжити",Une="Скопійовано",$ne="Створити",Pne="Урожай",Wne="Delete",Jne="Видалити",Bne="Відкинути",Rne="Відключено",Fne="Помилка",Gne="фільтр",Hne="П'ятниця",Vne="Широта",Zne="Вийти",Xne="Довгота",Kne="повідомлення",qne="понеділок",eae="Ім'я",tae="Об'єкти",sae="В порядку",iae="Продукт",rae="Перейменувати/Перемістити/Копіювати",oae="Повторіть",nae="Замінити",aae="Корінь",Mae="Субота",cae="зберегти",uae="Вибране",lae="держави",Nae="неділя",Lae="четвер",gae="Мітка часу",jae="вівторок",yae="оновлення",Tae="Дійсний до",Dae="Значення",dae="Версія",hae="Середа",zae="Ширина",wae="Так",Iae="інший",Cae="Кожен може читати об'єкт",pae="Кожен може читати стан",Aae="Кожен може написати об'єкт",mae="Кожен може написати стан",fae="Група може читати об'єкт",Oae="Група може читати стан",Eae="Група може писати об'єкт",_ae="Група може писати стан",xae="Власник може читати об'єкт",Sae="Власник може читати стан",kae="Власник може написати об'єкт",vae="Власник може написати стан",Yae="кнопки",Qae="Змінено з",bae="закрити",Uae="Створіть логічний стан",$ae="Створити канал",Pae="Створити пристрій",Wae="Створити номерний стан",Jae="Створити состояние",Bae="Створити рядковий стан",Rae="днів",Fae="О",Gae="пн",Hae="Sa",Vae="Нд",Zae="чт",Xae="вт",Kae="ми",qae="Експертний режим",eMe="НЕПРАВДА",tMe="Всі файли",sMe="Аудіо",iMe="Код/JSON",rMe="Зображення",oMe="текст",nMe="відео",aMe="Налаштування",MMe="без",cMe="функція",uMe="ID",lMe="Ім'я",NMe="Роль",LMe="Кімната",gMe="Тип",jMe="Недійсні налаштування",yMe="Остання зміна",TMe="локально",DMe="квіт",dMe="серп",hMe="груд",zMe="лютий",wMe="січня",IMe="лип",CMe="черв",pMe="травень",AMe="березень",mMe="Листопад",fMe="жовт",OMe="вер",EMe="квіт",_Me="серп",xMe="груд",SMe="лютий",kMe="січня",vMe="лип",YMe="черв",QMe="травень",bMe="березень",UMe="Листопад",$Me="жовт",PMe="вер",WMe="немає",JMe="Об'єкт змінено",BMe="Об'єкт востаннє змінено о",RMe="Налаштування з іншого адаптера %s",FMe="Код якості",GMe="повторити",HMe="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",VMe="Показати все",ZMe="Стан змінено на",XMe="Об'єкт змінено з",KMe="Мітка часу",qMe="Визнано",ece="коментар",tce="Скопіюйте значення стану",sce="Утримуйте клавішу Cltr/⌘, щоб відкрити посилання",ice="Спеціальні налаштування",rce="Видалити об'єкт",oce="Редагувати об'єкт",nce="Відредагуйте значення стану",ace="Термін дії закінчується через",Mce="Від",cce="Востаннє змінено",uce="якість",lce="Позначка часу",Nce="Користувач",Lce="Значення",gce="ПРАВДА",jce="Значення",yce="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",Tce="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",Dce="CRON",dce="Дата",hce="дати",zce="День",wce="День тижня",Ice="кожен",Cce="кожні N днів",pce="кожен N-й день тижня",Ace="кожні N днів тижня",mce="кожні N годин",fce="кожні N хвилин",Oce="кожні N місяців",Ece="кожні N секунд",_ce="кожен день",xce="кожен день тижня",Sce="кожен день тижня",kce="щогодини",vce="кожну хвилину",Yce="щомісяця",Qce="кожна секунда",bce="Від",Uce="години",$ce="Інтервал",Pce="Інтервал між",Wce="Недійсний CRON",Jce="хвилин",Bce="місяців",Rce="Один раз",Fce="Крапка",Gce="секунд",Hce="просто",Vce="Конкретний час",Zce="конкретні дати",Xce="конкретний день (дні) тижня",Kce="конкретний день тижня",qce="конкретні години",eue="конкретні хвилини",tue="конкретні місяці",sue="конкретні секунди",iue="час",rue="до",oue="майстер",nue="все",aue="Астродень",Mue="Астро ніч",cue="Світанок",uue="Сутінки",lue="Золота година",Nue="Кінець золотої години",Lue="Надір",gue="Морський світанок",jue="Морські сутінки",yue="ніч",Tue="Кінець ночі",Due="Сонячний полудень",due="Схід сонця",hue="Кінець сходу сонця",zue="Захід сонця",wue="Початок заходу сонця",Iue="в",Cue="в %s",pue="кожен день",Aue="щогодини",mue="кожну хвилину",fue="щомісяця",Oue="кожен %s день",Eue="кожні %s годин",_ue="кожні %s хвилин",xue="кожні %s місяців",Sue="кожні %s тижнів",kue="кожні %s років",vue="щотижня",Yue="щороку",Que="від %s до %s",bue="ніколи",Uue="на %s з %s",$ue="на %s і %s з",Pue="на кожну дату",Wue="%s",Jue="%s і %s",Bue="на %s",Rue="на %s і %s",Fue="на вихідних",Gue="в робочі дні",Hue="більше не виконуватиметься, оскільки запуск у минулому",Vue="на %s",Zue="від %s",Xue="Виконати від до",Kue="до %s",que="кожен",ele="Конкретний час",tle="від",sle="Від до",ile="Час інтервалу",rle="інвертувати",ole="немає",nle="на",ale="Крапка",Mle="Щодня",cle="дати",ule="День",lle="кожен",Nle="Кожен день",Lle="Щомісяця",gle="Щотижня",jle="Щороку",yle="години",Tle="хвилин",Dle="місяць",dle="Щомісяця",hle="Один раз",zle="Конкретні місяці",wle="тиждень",Ile="будні",Cle="Вихідні",ple="Щотижня",Ale="робочі дні",mle="рік",fle="щорічно",Ole="Конкретний час",Ele="час",_le="до",xle="Дійсний",Sle="від",kle="до",vle="Цілий день",Yle="щомісяця",Qle={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію",ra_Actions:fne,"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:One,"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:Ene,"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:_ne,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:xne,ra_Clear:Sne,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Click to see in full size":"Натисніть, щоб побачити в повному розмірі","ra_Click to show":"Натисніть, щоб показати","ra_Clone current row":"Клонувати поточний рядок",ra_Close:kne,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:vne,ra_Configure:Yne,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:Qne,ra_Continue:bne,ra_Copied:Une,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:$ne,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:Pne,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:Wne,ra_Delete:Jne,"ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан","ra_Disable/Enable translation":"Вимкнути/Увімкнути переклад",ra_Discard:Bne,ra_Disconnected:Rne,"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_Docker is not available":"Докер недоступний","ra_Docker is not installed or not running":"Docker не встановлено або не працює","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:Fne,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Expand/Collapse card":"Розгорнути/Згорнути картку","ra_Export configuration section":"Розділ конфігурації експорту","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:Gne,"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:Hne,"ra_From file":"З файлу","ra_From text":"З тексту","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 and add configuration section":"Розділ імпорту та додавання конфігурації","ra_Import and replace configuration section":"Розділ імпорту та заміни конфігурації","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 JSON file.":"Недійсний JSON-файл.","ra_Invalid JSON format. Expected an array.":"Недійсний формат JSON. Очікується масив.","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:Vne,"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:Zne,ra_Longitude:Xne,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:Kne,ra_Monday:qne,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:eae,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from admin":"Немає відповіді від адміністратора","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_OAuth Client ID":"Ідентифікатор клієнта OAuth","ra_OAuth Client secret":"Секрет клієнта OAuth",ra_Objects:tae,ra_Ok:sae,"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:iae,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Rename_Move_Copy:rae,"ra_Renew %s access":"Поновити доступ %s",ra_Repeat:oae,ra_Replace:nae,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:aae,ra_Saturday:Mae,ra_Save:cae,"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:uae,"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:lae,"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:Nae,"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:Lae,ra_Timestamp:gae,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:jae,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:yae,"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:Tae,ra_Value:Dae,ra_Version:dae,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:hae,ra_Width:zae,"ra_YAML editor":"Редактор YAML",ra_Yes:wae,"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__:Iae,ra_aclEveryone_read_object:Cae,ra_aclEveryone_read_state:pae,ra_aclEveryone_write_object:Aae,ra_aclEveryone_write_state:mae,ra_aclGroup_read_object:fae,ra_aclGroup_read_state:Oae,ra_aclGroup_write_object:Eae,ra_aclGroup_write_state:_ae,ra_aclOwner_read_object:xae,ra_aclOwner_read_state:Sae,ra_aclOwner_write_object:kae,ra_aclOwner_write_state:vae,ra_buttons:Yae,ra_changedFrom:Qae,ra_close:bae,ra_create_boolean_state:Uae,ra_create_channel:$ae,ra_create_device:Pae,ra_create_number_state:Wae,ra_create_state:Jae,ra_create_string_state:Bae,ra_daysShortText:Rae,ra_dow_Fr:Fae,ra_dow_Mo:Gae,ra_dow_Sa:Hae,ra_dow_Su:Vae,ra_dow_Th:Zae,ra_dow_Tu:Xae,ra_dow_We:Kae,ra_expertMode:qae,ra_false:eMe,ra_fileType_all:tMe,ra_fileType_audio:sMe,ra_fileType_code:iMe,ra_fileType_images:rMe,ra_fileType_txt:oMe,ra_fileType_video:nMe,"ra_fileType_video,":"відео",ra_filter_customs:aMe,ra_filter_customs_without:MMe,ra_filter_func:cMe,ra_filter_id:uMe,ra_filter_name:lMe,ra_filter_role:NMe,ra_filter_room:LMe,ra_filter_type:gMe,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:jMe,ra_lastChange:yMe,ra_locally:TMe,ra_month_Apr:DMe,ra_month_Aug:dMe,ra_month_Dec:hMe,ra_month_Feb:zMe,ra_month_Jan:wMe,ra_month_Jul:IMe,ra_month_Jun:CMe,ra_month_Mai:pMe,ra_month_Mar:AMe,ra_month_Nov:mMe,ra_month_Oct:fMe,ra_month_Sep:OMe,ra_months_Apr:EMe,ra_months_Aug:_Me,ra_months_Dec:xMe,ra_months_Feb:SMe,ra_months_Jan:kMe,ra_months_Jul:vMe,ra_months_Jun:YMe,ra_months_Mai:QMe,ra_months_Mar:bMe,ra_months_Nov:UMe,ra_months_Oct:$Me,ra_months_Sep:PMe,"ra_no confirm for 5 mins":"без підтвердження протягом 5 хв",ra_none:WMe,ra_object_changed_by:JMe,ra_object_changed_by_user:BMe,ra_otherConfig:RMe,ra_qualityCode:FMe,ra_repeat:GMe,ra_select_folder_hint:HMe,ra_show_all:VMe,ra_state_changed_by:ZMe,ra_state_changed_from:XMe,ra_timestamp:KMe,ra_tooltip_ack:qMe,ra_tooltip_comment:ece,ra_tooltip_copyState:tce,ra_tooltip_ctrlForLink:sce,ra_tooltip_customConfig:ice,ra_tooltip_deleteObject:rce,ra_tooltip_editObject:oce,ra_tooltip_editState:nce,ra_tooltip_expire:ace,ra_tooltip_from:Mce,ra_tooltip_lc:cce,ra_tooltip_quality:uce,ra_tooltip_ts:lce,ra_tooltip_user:Nce,ra_tooltip_value:Lce,ra_true:gce,"ra_use seconds":"використовуйте секунди",ra_val:jce,"ra_via internet":"через інтернет",ra_warning_every_minute:yce,ra_warning_every_second:Tce,sc_cron:Dce,sc_date:dce,sc_dates:hce,sc_dow:zce,sc_dows:wce,sc_every:Ice,sc_everyN_dates:Cce,sc_everyN_dow:pce,sc_everyN_dows:Ace,sc_everyN_hours:mce,sc_everyN_minutes:fce,sc_everyN_months:Oce,sc_everyN_seconds:Ece,sc_every_dates:_ce,sc_every_dow:xce,sc_every_dows:Sce,sc_every_hours:kce,sc_every_minutes:vce,sc_every_months:Yce,sc_every_seconds:Qce,sc_from:bce,sc_hours:Uce,sc_interval:$ce,sc_intervalBetween:Pce,sc_invalid_cron:Wce,sc_minutes:Jce,sc_months:Bce,sc_once:Rce,sc_period:Fce,sc_seconds:Gce,sc_simple:Hce,sc_specific:Vce,sc_specific_dates:Zce,sc_specific_dow:Xce,sc_specific_dows:Kce,sc_specific_hours:qce,sc_specific_minutes:eue,sc_specific_months:tue,sc_specific_seconds:sue,sc_time:iue,sc_to:rue,sc_wizard:oue,sch_all:nue,sch_astroDay:aue,sch_astroNight:Mue,sch_astro_dawn:cue,sch_astro_dusk:uue,sch_astro_goldenHour:lue,sch_astro_goldenHourEnd:Nue,sch_astro_nadir:Lue,sch_astro_nauticalDawn:gue,sch_astro_nauticalDusk:jue,sch_astro_night:yue,sch_astro_nightEnd:Tue,sch_astro_solarNoon:Due,sch_astro_sunrise:due,sch_astro_sunriseEnd:hue,sch_astro_sunset:zue,sch_astro_sunsetStart:wue,sch_at:Iue,sch_desc_atTime:Cue,sch_desc_everyDay:pue,sch_desc_everyHour:Aue,sch_desc_everyMinute:mue,sch_desc_everyMonth:fue,sch_desc_everyNDay:Oue,sch_desc_everyNHours:Eue,sch_desc_everyNMinutes:_ue,sch_desc_everyNMonths:xue,sch_desc_everyNWeeks:Sue,sch_desc_everyNYears:kue,sch_desc_everyWeek:vue,sch_desc_everyYear:Yue,sch_desc_intervalFromTo:Que,sch_desc_never:bue,sch_desc_onDate:Uue,sch_desc_onDates:$ue,sch_desc_onEveryDate:Pue,sch_desc_onMonth:Wue,sch_desc_onMonths:Jue,sch_desc_onWeekday:Bue,sch_desc_onWeekdays:Rue,sch_desc_onWeekends:Fue,sch_desc_onWorkdays:Gue,sch_desc_onceInPast:Hue,sch_desc_once_on:Vue,sch_desc_validFrom:Zue,sch_desc_validFromTo:Xue,sch_desc_validTo:Kue,sch_every:que,sch_exactTime:ele,sch_from:tle,sch_fromTo:sle,sch_intervalTime:ile,sch_invert:rle,sch_no_one:ole,sch_on:nle,sch_period:ale,sch_periodDaily:Mle,sch_periodDates:cle,sch_periodDay:ule,sch_periodEvery:lle,sch_periodEveryDay:Nle,sch_periodEveryMonth:Lle,sch_periodEveryWeek:gle,sch_periodEveryYear:jle,sch_periodHours:yle,sch_periodMinutes:Tle,sch_periodMonth:Dle,sch_periodMonthly:dle,sch_periodOnce:hle,sch_periodSpecificMonths:zle,sch_periodWeek:wle,sch_periodWeekdays:Ile,sch_periodWeekend:Cle,sch_periodWeekly:ple,sch_periodWorkdays:Ale,sch_periodYear:mle,sch_periodYearly:fle,sch_specificTime:Ole,sch_time:Ele,sch_to:_le,sch_valid:xle,sch_validFrom:Sle,sch_validTo:kle,sch_wholeDay:vle,sch_yearEveryMonth:Yle},ble="操作",Ule="附加",$le="取消",Ple="类别",Wle="勾选",Jle="删除",Ble="关",Rle="商业的",Fle="配置",Gle="连接的",Hle="继续",Vle="复制的",Zle="创建",Xle="庄稼",Kle="Delete",qle="删除",e0e="丢弃",t0e="断开连接",s0e="错误",i0e="筛选",r0e="星期五",o0e="纬度",n0e="登出",a0e="经度",M0e="信息",c0e="周一",u0e="姓名",l0e="对象",N0e="好",L0e="产品",g0e="重命名/移动/复制",j0e="重复",y0e="代替",T0e="根",D0e="周六",d0e="保存",h0e="已选",z0e="状态",w0e="星期日",I0e="周四",C0e="时间戳记",p0e="周二",A0e="更新资料",m0e="有效期至",f0e="值",O0e="版本",E0e="周三",_0e="宽度",x0e="是的",S0e="不同的",k0e="每个人都可以阅读对象",v0e="每个人都可以阅读状态",Y0e="每个人都可以写对象",Q0e="每个人都可以写状态",b0e="组可以读取对象",U0e="群组可以读取状态",$0e="组可以写对象",P0e="组可以写状态",W0e="所有者可以读取对象",J0e="所有者可以读取状态",B0e="所有者可以写对象",R0e="所有者可以写状态",F0e="纽扣",G0e="更改为",H0e="关闭",V0e="创建布尔状态",Z0e="创建频道",X0e="创建设备",K0e="创建号码状态",q0e="创建状态",eNe="创建字符串状态",tNe="天",sNe="r",iNe="莫",rNe="萨",oNe="苏",nNe="Th",aNe="Tu",MNe="我们",cNe="专家模式",uNe="错误的",lNe="所有文件",NNe="声音的",LNe="代码/JSON",gNe="图片",jNe="文本",yNe="视频",TNe="设定值",DNe="没有",dNe="功能",hNe="ID",zNe="名称",wNe="角色",INe="房间",CNe="类型",pNe="无效的设定",ANe="最后一次变更",mNe="本地",fNe="4月",ONe="八月",ENe="十二月",_Ne="二月",xNe="简",SNe="七月",kNe="君",vNe="迈",YNe="三月",QNe="十一月",bNe="十月",UNe="九月",$Ne="4月",PNe="八月",WNe="十二月",JNe="二月",BNe="简",RNe="七月",FNe="君",GNe="迈",HNe="三月",VNe="十一月",ZNe="十月",XNe="九月",KNe="没有任何",qNe="物件变更者",e4e="对象上次更改时间为",t4e="来自其他适配器%s的设置",s4e="质量代码",i4e="重复",r4e="要选择文件夹,只需按住“shift”键单击文件夹即可。",o4e="显示全部",n4e="状态由",a4e="对象已从更改",M4e="时间戳记",c4e="致谢国旗",u4e="评论",l4e="复制状态值",N4e="按住 Cltr/⌘ 键打开链接",L4e="自定义设置",g4e="删除物件",j4e="编辑物件",y4e="编辑状态值",T4e="有效期:",D4e="从",d4e="最后改变了",h4e="质量",z4e="时间戳",w4e="用户",I4e="值",C4e="真的",p4e="值",A4e="警告:CRON 作业将在指定期间内每分钟运行一次!",m4e="警告:CRON 作业将在指定期间内每秒运行一次!",f4e="周期任务",O4e="日期",E4e="日",_4e="天",x4e="星期",S4e="每",k4e="每N天",v4e="每周的第 N 天",Y4e="每周N天",Q4e="每N小时一次",b4e="每N分钟",U4e="每N个月",$4e="每N秒",P4e="每天",W4e="一周的每一天",J4e="一周的每一天",B4e="每小时",R4e="每分钟",F4e="每月",G4e="每秒",H4e="从",V4e="小时",Z4e="间隔",X4e="间隔时间",K4e="无效的 CRON",q4e="分钟",eLe="月",tLe="一次",sLe="周期",iLe="秒",rLe="简单模式",oLe="特定的时间",nLe="特定的日子",aLe="一周中的特定日子",MLe="特定的一周",cLe="特定的小时",uLe="特定的分钟",lLe="特定的月份",NLe="特定的描述",LLe="时间",gLe="至",jLe="向导模式",yLe="全选",TLe="天文白天",DLe="天文夜晚",dLe="黎明",hLe="黄昏",zLe="黄金时段",wLe="黄金时段结束",ILe="天底",CLe="航海黎明",pLe="航海黄昏",ALe="夜晚",mLe="夜晚结束",fLe="正午",OLe="日出",ELe="日出结束",_Le="日落",xLe="日落开始",SLe="在",kLe="的%s",vLe="每天",YLe="每小时",QLe="每分钟",bLe="每月",ULe="每%s天",$Le="每%s小时",PLe="每%s分钟",WLe="每%s月",JLe="每%s周",BLe="每%s年",RLe="每周",FLe="每年",GLe="从%s到%s",HLe="决不",VLe="在%s的%s上",ZLe="在%s和%s上",XLe="在每天",KLe="%s",qLe="%s和%s",ege="在%s上",tge="在%s和%s上",sge="在周末",ige="在工作日",rge="将不再执行,因为起始时间已经是过去的时间了。",oge="在%s上",nge="来自%s",age="从执行到",Mge="到%s",cge="每",uge="特定的时间",lge="从",Nge="从到",Lge="间隔时间",gge="倒置",jge="取消全选",yge="的",Tge="周期",Dge="每天",dge="日期",hge="天",zge="每",wge="每天",Ige="每月",Cge="每周",pge="每年",Age="小时",mge="分钟",fge="月",Oge="每月一次",Ege="一次",_ge="特定的月份",xge="周",Sge="工作日",kge="周末",vge="每周",Yge="工作日",Qge="年",bge="每年",Uge="特定的时间",$ge="时间",Pge="至",Wge="生效",Jge="从",Bge="至",Rge="一整天",Fge="每月",Gge={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可",ra_Actions:ble,"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:Ule,"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:$le,"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:Ple,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:Wle,ra_Clear:Jle,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Click to see in full size":"点击查看完整尺寸","ra_Click to show":"点击显示","ra_Clone current row":"克隆当前行",ra_Close:Ble,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:Rle,ra_Configure:Fle,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:Gle,ra_Continue:Hle,ra_Copied:Vle,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:Zle,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:Xle,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:Kle,ra_Delete:qle,"ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态","ra_Disable/Enable translation":"禁用/启用翻译",ra_Discard:e0e,ra_Disconnected:t0e,"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_Docker is not available":"Docker 不可用","ra_Docker is not installed or not running":"Docker 未安装或未运行","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:s0e,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Expand/Collapse card":"展开/折叠卡","ra_Export configuration section":"导出配置部分","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:i0e,"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:r0e,"ra_From file":"从文件","ra_From text":"文本","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 and add configuration section":"导入并添加配置部分","ra_Import and replace configuration section":"导入和替换配置部分","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 JSON file.":"无效的JSON文件。","ra_Invalid JSON format. Expected an array.":"JSON格式无效。应为数组。","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:o0e,"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:n0e,ra_Longitude:a0e,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:M0e,ra_Monday:c0e,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:u0e,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from admin":"管理员没有回应","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_OAuth Client ID":"OAuth客户端ID","ra_OAuth Client secret":"OAuth 客户端密钥",ra_Objects:l0e,ra_Ok:N0e,"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:L0e,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Rename_Move_Copy:g0e,"ra_Renew %s access":"续订 %s 访问权限",ra_Repeat:j0e,ra_Replace:y0e,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:T0e,ra_Saturday:D0e,ra_Save:d0e,"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:h0e,"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:z0e,"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:w0e,"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:I0e,ra_Timestamp:C0e,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:p0e,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:A0e,"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:m0e,ra_Value:f0e,ra_Version:O0e,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:E0e,ra_Width:_0e,"ra_YAML editor":"YAML 编辑器",ra_Yes:x0e,"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__:S0e,ra_aclEveryone_read_object:k0e,ra_aclEveryone_read_state:v0e,ra_aclEveryone_write_object:Y0e,ra_aclEveryone_write_state:Q0e,ra_aclGroup_read_object:b0e,ra_aclGroup_read_state:U0e,ra_aclGroup_write_object:$0e,ra_aclGroup_write_state:P0e,ra_aclOwner_read_object:W0e,ra_aclOwner_read_state:J0e,ra_aclOwner_write_object:B0e,ra_aclOwner_write_state:R0e,ra_buttons:F0e,ra_changedFrom:G0e,ra_close:H0e,ra_create_boolean_state:V0e,ra_create_channel:Z0e,ra_create_device:X0e,ra_create_number_state:K0e,ra_create_state:q0e,ra_create_string_state:eNe,ra_daysShortText:tNe,ra_dow_Fr:sNe,ra_dow_Mo:iNe,ra_dow_Sa:rNe,ra_dow_Su:oNe,ra_dow_Th:nNe,ra_dow_Tu:aNe,ra_dow_We:MNe,ra_expertMode:cNe,ra_false:uNe,ra_fileType_all:lNe,ra_fileType_audio:NNe,ra_fileType_code:LNe,ra_fileType_images:gNe,ra_fileType_txt:jNe,ra_fileType_video:yNe,"ra_fileType_video,":"视频",ra_filter_customs:TNe,ra_filter_customs_without:DNe,ra_filter_func:dNe,ra_filter_id:hNe,ra_filter_name:zNe,ra_filter_role:wNe,ra_filter_room:INe,ra_filter_type:CNe,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:pNe,ra_lastChange:ANe,ra_locally:mNe,ra_month_Apr:fNe,ra_month_Aug:ONe,ra_month_Dec:ENe,ra_month_Feb:_Ne,ra_month_Jan:xNe,ra_month_Jul:SNe,ra_month_Jun:kNe,ra_month_Mai:vNe,ra_month_Mar:YNe,ra_month_Nov:QNe,ra_month_Oct:bNe,ra_month_Sep:UNe,ra_months_Apr:$Ne,ra_months_Aug:PNe,ra_months_Dec:WNe,ra_months_Feb:JNe,ra_months_Jan:BNe,ra_months_Jul:RNe,ra_months_Jun:FNe,ra_months_Mai:GNe,ra_months_Mar:HNe,ra_months_Nov:VNe,ra_months_Oct:ZNe,ra_months_Sep:XNe,"ra_no confirm for 5 mins":"5分钟内无需确认",ra_none:KNe,ra_object_changed_by:qNe,ra_object_changed_by_user:e4e,ra_otherConfig:t4e,ra_qualityCode:s4e,ra_repeat:i4e,ra_select_folder_hint:r4e,ra_show_all:o4e,ra_state_changed_by:n4e,ra_state_changed_from:a4e,ra_timestamp:M4e,ra_tooltip_ack:c4e,ra_tooltip_comment:u4e,ra_tooltip_copyState:l4e,ra_tooltip_ctrlForLink:N4e,ra_tooltip_customConfig:L4e,ra_tooltip_deleteObject:g4e,ra_tooltip_editObject:j4e,ra_tooltip_editState:y4e,ra_tooltip_expire:T4e,ra_tooltip_from:D4e,ra_tooltip_lc:d4e,ra_tooltip_quality:h4e,ra_tooltip_ts:z4e,ra_tooltip_user:w4e,ra_tooltip_value:I4e,ra_true:C4e,"ra_use seconds":"用秒",ra_val:p4e,"ra_via internet":"通过互联网",ra_warning_every_minute:A4e,ra_warning_every_second:m4e,sc_cron:f4e,sc_date:O4e,sc_dates:E4e,sc_dow:_4e,sc_dows:x4e,sc_every:S4e,sc_everyN_dates:k4e,sc_everyN_dow:v4e,sc_everyN_dows:Y4e,sc_everyN_hours:Q4e,sc_everyN_minutes:b4e,sc_everyN_months:U4e,sc_everyN_seconds:$4e,sc_every_dates:P4e,sc_every_dow:W4e,sc_every_dows:J4e,sc_every_hours:B4e,sc_every_minutes:R4e,sc_every_months:F4e,sc_every_seconds:G4e,sc_from:H4e,sc_hours:V4e,sc_interval:Z4e,sc_intervalBetween:X4e,sc_invalid_cron:K4e,sc_minutes:q4e,sc_months:eLe,sc_once:tLe,sc_period:sLe,sc_seconds:iLe,sc_simple:rLe,sc_specific:oLe,sc_specific_dates:nLe,sc_specific_dow:aLe,sc_specific_dows:MLe,sc_specific_hours:cLe,sc_specific_minutes:uLe,sc_specific_months:lLe,sc_specific_seconds:NLe,sc_time:LLe,sc_to:gLe,sc_wizard:jLe,sch_all:yLe,sch_astroDay:TLe,sch_astroNight:DLe,sch_astro_dawn:dLe,sch_astro_dusk:hLe,sch_astro_goldenHour:zLe,sch_astro_goldenHourEnd:wLe,sch_astro_nadir:ILe,sch_astro_nauticalDawn:CLe,sch_astro_nauticalDusk:pLe,sch_astro_night:ALe,sch_astro_nightEnd:mLe,sch_astro_solarNoon:fLe,sch_astro_sunrise:OLe,sch_astro_sunriseEnd:ELe,sch_astro_sunset:_Le,sch_astro_sunsetStart:xLe,sch_at:SLe,sch_desc_atTime:kLe,sch_desc_everyDay:vLe,sch_desc_everyHour:YLe,sch_desc_everyMinute:QLe,sch_desc_everyMonth:bLe,sch_desc_everyNDay:ULe,sch_desc_everyNHours:$Le,sch_desc_everyNMinutes:PLe,sch_desc_everyNMonths:WLe,sch_desc_everyNWeeks:JLe,sch_desc_everyNYears:BLe,sch_desc_everyWeek:RLe,sch_desc_everyYear:FLe,sch_desc_intervalFromTo:GLe,sch_desc_never:HLe,sch_desc_onDate:VLe,sch_desc_onDates:ZLe,sch_desc_onEveryDate:XLe,sch_desc_onMonth:KLe,sch_desc_onMonths:qLe,sch_desc_onWeekday:ege,sch_desc_onWeekdays:tge,sch_desc_onWeekends:sge,sch_desc_onWorkdays:ige,sch_desc_onceInPast:rge,sch_desc_once_on:oge,sch_desc_validFrom:nge,sch_desc_validFromTo:age,sch_desc_validTo:Mge,sch_every:cge,sch_exactTime:uge,sch_from:lge,sch_fromTo:Nge,sch_intervalTime:Lge,sch_invert:gge,sch_no_one:jge,sch_on:yge,sch_period:Tge,sch_periodDaily:Dge,sch_periodDates:dge,sch_periodDay:hge,sch_periodEvery:zge,sch_periodEveryDay:wge,sch_periodEveryMonth:Ige,sch_periodEveryWeek:Cge,sch_periodEveryYear:pge,sch_periodHours:Age,sch_periodMinutes:mge,sch_periodMonth:fge,sch_periodMonthly:Oge,sch_periodOnce:Ege,sch_periodSpecificMonths:_ge,sch_periodWeek:xge,sch_periodWeekdays:Sge,sch_periodWeekend:kge,sch_periodWeekly:vge,sch_periodWorkdays:Yge,sch_periodYear:Qge,sch_periodYearly:bge,sch_specificTime:Uge,sch_time:$ge,sch_to:Pge,sch_valid:Wge,sch_validFrom:Jge,sch_validTo:Bge,sch_wholeDay:Rge,sch_yearEveryMonth:Fge},Hge={en:ep,de:lO,ru:z5,pt:_b,nl:P7,fr:XB,it:aZ,es:Tte,pl:mne,uk:Qle,"zh-cn":Gge},Vge=` html { height: 100%; } @@ -416,9 +416,9 @@ body { background-color: #58c458; } } -`;function Vge(){try{return window.self!==window.top}catch{return!0}}class Ds extends nr{socket;isIFrame=Vge();instance;adapterName;instanceId;newReact;encryptedFields;sentryDSN;alertDialogRendered;_secret;_systemConfig;savedNative;common=null;sentryStarted=!1;sentryInited=!1;resizeTimer=null;constructor(e,t){const i=e.Connection||(t==null?void 0:t.Connection)||ke;if(!window.document.getElementById("generic-app-iobroker-component")){const N=window.document.createElement("style");N.setAttribute("id","generic-app-iobroker-component"),N.innerHTML=Hge,window.document.head.appendChild(N)}if(!Ds.isWeb()&&window.io&&window.location.port==="3000")try{const N=new window.SocketClient;delete window.io,window.io=N}catch{}super(e),fh();const r=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),o={};r.trim().split("&").filter(N=>N.trim()).forEach(N=>{const u=N.split("=");o[u[0]]=u.length===2?u[1]:!0,o[u[0]]==="true"?o[u[0]]=!0:o[u[0]]==="false"&&(o[u[0]]=!1)}),this.instance=(t==null?void 0:t.instance)??e.instance??(o.instance!==void 0?parseInt(o.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const n=window.location.pathname.split("/");this.adapterName=(t==null?void 0:t.adapterName)||e.adapterName||window.adapterName||n[n.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=o.newReact===!0;const M=nr.getLocation();M.tab=M.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const c=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:c,themeName:this.getThemeName(c),themeType:this.getThemeType(c),bottomButtons:(t&&t.bottomButtons)===!1?!1:(e==null?void 0:e.bottomButtons)!==!1,width:Ds.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const l=Gge;t!=null&&t.translations?Object.keys(t.translations).forEach(N=>{t.translations&&(l[N]=Object.assign(l[N],t.translations[N]||{}))}):e.translations&&Object.keys(e.translations).forEach(N=>{e.translations&&(l[N]=Object.assign(l[N],e.translations[N]||{}))}),D.setTranslations(l),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=N=>{if(!this.alertDialogRendered){window.iobOldAlert(N);return}N!=null&&N.toString().toLowerCase().includes("error")?(console.error(N),this.showAlert(N.toString(),"error")):(console.log(N),this.showAlert(N.toString(),"info"))},this.socket=new i({...(e==null?void 0:e.socket)||(t==null?void 0:t.socket),name:this.adapterName,doNotLoadAllObjects:t==null?void 0:t.doNotLoadAllObjects,onProgress:N=>{N===ht.CONNECTING?this.setState({connected:!1}):N===ht.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(N=>(this._secret=typeof N<"u"&&N.native&&N.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(N==null?void 0:N.common)||{},this.socket.getObject(this.instanceId))).then(async N=>{var y,T;let u;const L=N,j=((y=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:y.val)!==!1&&((T=this._systemConfig)==null?void 0:T.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&&j&&(this.sentryStarted=!0,mh({dsn:this.sentryDSN,release:`iobroker.${L.common.name}@${L.common.version}`,integrations:[h4()]}),console.log("Sentry initialized")),!this.sentryInited&&j&&(this.sentryInited=!0,u=this.socket.getObject("system.meta.uuid").then(d=>{d&&d.native&&d.native.uuid&&At().setUser({id:d.native.uuid})})),u=u instanceof Promise?u:Promise.resolve(),u.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(N=>window.alert(`Cannot settings: ${N}`))},onError:N=>{console.error(N),this.showError(N)}})}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(Zn,{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 i,r;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)),((i=this._systemConfig)==null?void 0:i.expertMode)!==!!((r=t==null?void 0:t.common)!=null&&r.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),this.resizeTimer&&(clearTimeout(this.resizeTimer),this.resizeTimer=null),window.iobOldAlert&&(window.alert=window.iobOldAlert,delete window.iobOldAlert),super.componentWillUnmount()}onReceiveMessage=e=>{if(e!=null&&e.data)if(e.data==="updateTheme"){const t=m.getThemeName();m.setThemeName(t);const i=this.createTheme(t);this.setState({theme:i,themeName:this.getThemeName(i),themeType:this.getThemeType(i)},()=>{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:Ds.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(o=>t>=e[o])||"xs"}createTheme(e){return Ay(m.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){m.setThemeName(e);const i=this.createTheme(e);this.setState({theme:i,themeName:this.getThemeName(i),themeType:this.getThemeType(i)},()=>{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 i=0;i{e[i]&&(e[i]=this.encrypt(e[i]))}),!0}onPrepareLoad(e,t){var i;(i=this.encryptedFields)==null||i.forEach(r=>{e[r]&&(e[r]=this.decrypt(e[r]))}),t==null||t.forEach(r=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(r)&&this.encryptedFields.push(r),e[r]&&(e[r]=this.decrypt(e[r]))})}async getExtendableInstances(){try{const e=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(e).filter(t=>{var i;return!!((i=t==null?void 0:t.common)!=null&&i.webExtendable)})}catch{return[]}}async getIpAddresses(e){var o;const t=await this.socket.getHostByIp(e||((o=this.common)==null?void 0:o.host)||""),i=t.find(n=>n.address==="0.0.0.0");i&&(i.name=`[IPv4] 0.0.0.0 - ${D.t("ra_Listen on all IPs")}`);const r=t.find(n=>n.address==="::");return r&&(r.name=`[IPv6] :: - ${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(i=>{t=i||{};for(const r in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,r)&&(this.state.native[r]===null?t.native[r]=null:this.state.native[r]!==void 0?t.native[r]=JSON.parse(JSON.stringify(this.state.native[r])):delete t.native[r]);if(this.state.common)for(const r in this.state.common)this.state.common[r]===null?t.common[r]=null:this.state.common[r]!==void 0?t.common[r]=JSON.parse(JSON.stringify(this.state.common[r])):delete t.common[r];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&&Ds.onClose()})}).catch(i=>console.error(`Cannot save configuration: ${i}`))}renderToast(){return this.state.toast?a.createElement(Zn,{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(W,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>this.setState({toast:""}),size:"large"},a.createElement(we,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(_4,{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(Jh,{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}):Ds.onClose()},error:!!this.state.isConfigurationError}):null,this.state.confirmClose?a.createElement(E4,{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&&Ds.onClose())}):null)}_updateNativeValue(e,t,i){typeof t!="object"&&(t=t.split("."));const r=t.shift()||"";if(!t.length)return i&&typeof i=="object"?JSON.stringify(e[r])!==JSON.stringify(i)?(e[r]=i,!0):!1:e[r]!==i?(e[r]=i,!0):!1;if(e[r]=e[r]||{},typeof e[r]!="object")throw new Error(`attribute ${r} is no object, but ${typeof e[r]}`);return this._updateNativeValue(e[r],t,i)}updateNativeValue(e,t,i){const r=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(r,e,t)){const o=this.getIsChanged(r);if(o!==this.state.changed)try{window.parent.postMessage(o?"change":"nochange","*")}catch{}this.setState({native:r,changed:o},i)}}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(Qh,{themeType:this.state.themeType})}}var ot={},mr={},Zge=typeof Ur=="object"&&Ur&&Ur.Object===Object&&Ur,x4=Zge,Xge=x4,Kge=typeof self=="object"&&self&&self.Object===Object&&self,qge=Xge||Kge||Function("return this")(),mt=qge,eje=mt,tje=eje.Symbol,fr=tje,Ru=fr,S4=Object.prototype,sje=S4.hasOwnProperty,ije=S4.toString,Ji=Ru?Ru.toStringTag:void 0;function rje(s){var e=sje.call(s,Ji),t=s[Ji];try{s[Ji]=void 0;var i=!0}catch{}var r=ije.call(s);return i&&(e?s[Ji]=t:delete s[Ji]),r}var oje=rje,nje=Object.prototype,aje=nje.toString;function Mje(s){return aje.call(s)}var cje=Mje,Fu=fr,uje=oje,lje=cje,Nje="[object Null]",Lje="[object Undefined]",Gu=Fu?Fu.toStringTag:void 0;function gje(s){return s==null?s===void 0?Lje:Nje:Gu&&Gu in Object(s)?uje(s):lje(s)}var _s=gje,jje=Array.isArray,jt=jje;function yje(s){return s!=null&&typeof s=="object"}var Wt=yje,Tje=_s,Dje=jt,dje=Wt,hje="[object String]";function zje(s){return typeof s=="string"||!Dje(s)&&dje(s)&&Tje(s)==hje}var wje=zje;function Ije(s){return function(e,t,i){for(var r=-1,o=Object(e),n=i(e),M=n.length;M--;){var c=n[s?M:++r];if(t(o[c],c,o)===!1)break}return e}}var Cje=Ije,pje=Cje,Aje=pje(),mje=Aje;function fje(s,e){for(var t=-1,i=Array(s);++t-1&&s%1==0&&s-1&&s%1==0&&s<=Bje}var zM=Rje,Fje=_s,Gje=zM,Hje=Wt,Vje="[object Arguments]",Zje="[object Array]",Xje="[object Boolean]",Kje="[object Date]",qje="[object Error]",eye="[object Function]",tye="[object Map]",sye="[object Number]",iye="[object Object]",rye="[object RegExp]",oye="[object Set]",nye="[object String]",aye="[object WeakMap]",Mye="[object ArrayBuffer]",cye="[object DataView]",uye="[object Float32Array]",lye="[object Float64Array]",Nye="[object Int8Array]",Lye="[object Int16Array]",gye="[object Int32Array]",jye="[object Uint8Array]",yye="[object Uint8ClampedArray]",Tye="[object Uint16Array]",Dye="[object Uint32Array]",le={};le[uye]=le[lye]=le[Nye]=le[Lye]=le[gye]=le[jye]=le[yye]=le[Tye]=le[Dye]=!0;le[Vje]=le[Zje]=le[Mye]=le[Xje]=le[cye]=le[Kje]=le[qje]=le[eye]=le[tye]=le[sye]=le[iye]=le[rye]=le[oye]=le[nye]=le[aye]=!1;function dye(s){return Hje(s)&&Gje(s.length)&&!!le[Fje(s)]}var hye=dye;function zye(s){return function(e){return s(e)}}var wM=zye,ho={exports:{}};ho.exports;(function(s,e){var t=x4,i=e&&!e.nodeType&&e,r=i&&!0&&s&&!s.nodeType&&s,o=r&&r.exports===i,n=o&&t.process,M=(function(){try{var c=r&&r.require&&r.require("util").types;return c||n&&n.binding&&n.binding("util")}catch{}})();s.exports=M})(ho,ho.exports);var IM=ho.exports,wye=hye,Iye=wM,Vu=IM,Zu=Vu&&Vu.isTypedArray,Cye=Zu?Iye(Zu):wye,Q4=Cye,pye=Oje,Aye=v4,mye=jt,fye=hM,Oye=Y4,Eye=Q4,_ye=Object.prototype,xye=_ye.hasOwnProperty;function Sye(s,e){var t=mye(s),i=!t&&Aye(s),r=!t&&!i&&fye(s),o=!t&&!i&&!r&&Eye(s),n=t||i||r||o,M=n?pye(s.length,String):[],c=M.length;for(var l in s)(e||xye.call(s,l))&&!(n&&(l=="length"||r&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Oye(l,c)))&&M.push(l);return M}var b4=Sye,kye=Object.prototype;function vye(s){var e=s&&s.constructor,t=typeof e=="function"&&e.prototype||kye;return s===t}var CM=vye;function Yye(s,e){return function(t){return s(e(t))}}var U4=Yye,Qye=U4,bye=Qye(Object.keys,Object),Uye=bye,$ye=CM,Pye=Uye,Wye=Object.prototype,Jye=Wye.hasOwnProperty;function Bye(s){if(!$ye(s))return Pye(s);var e=[];for(var t in Object(s))Jye.call(s,t)&&t!="constructor"&&e.push(t);return e}var Rye=Bye;function Fye(s){var e=typeof s;return s!=null&&(e=="object"||e=="function")}var fi=Fye,Gye=_s,Hye=fi,Vye="[object AsyncFunction]",Zye="[object Function]",Xye="[object GeneratorFunction]",Kye="[object Proxy]";function qye(s){if(!Hye(s))return!1;var e=Gye(s);return e==Zye||e==Xye||e==Vye||e==Kye}var $4=qye,eTe=$4,tTe=zM;function sTe(s){return s!=null&&tTe(s.length)&&!eTe(s)}var Ro=sTe,iTe=b4,rTe=Rye,oTe=Ro;function nTe(s){return oTe(s)?iTe(s):rTe(s)}var Or=nTe,aTe=mje,MTe=Or;function cTe(s,e){return s&&aTe(s,e,MTe)}var P4=cTe;function uTe(s){return s}var W4=uTe,lTe=W4;function NTe(s){return typeof s=="function"?s:lTe}var LTe=NTe,gTe=P4,jTe=LTe;function yTe(s,e){return s&&gTe(s,jTe(e))}var pM=yTe,TTe=U4,DTe=TTe(Object.getPrototypeOf,Object),AM=DTe,dTe=_s,hTe=AM,zTe=Wt,wTe="[object Object]",ITe=Function.prototype,CTe=Object.prototype,J4=ITe.toString,pTe=CTe.hasOwnProperty,ATe=J4.call(Object);function mTe(s){if(!zTe(s)||dTe(s)!=wTe)return!1;var e=hTe(s);if(e===null)return!0;var t=pTe.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&J4.call(t)==ATe}var fTe=mTe;function OTe(s,e){for(var t=-1,i=s==null?0:s.length,r=Array(i);++t-1}var RTe=BTe,FTe=Fo;function GTe(s,e){var t=this.__data__,i=FTe(t,s);return i<0?(++this.size,t.push([s,e])):t[i][1]=e,this}var HTe=GTe,VTe=_Te,ZTe=UTe,XTe=WTe,KTe=RTe,qTe=HTe;function Oi(s){var e=-1,t=s==null?0:s.length;for(this.clear();++eM))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&l1e?new a1e:void 0;for(o.set(s,e),o.set(e,s);++u0&&arguments[0]!==void 0?arguments[0]:[],t=[];return(0,qwe.default)(e,function(i){Array.isArray(i)?s(i).map(function(r){return t.push(r)}):(0,Xwe.default)(i)?(0,Vwe.default)(i,function(r,o){r===!0&&t.push(o),t.push(o+"-"+r)}):(0,Gwe.default)(i)&&t.push(i)}),t};mr.default=eIe;var Er={};function tIe(s,e){for(var t=-1,i=s==null?0:s.length;++t1&&arguments[1]!==void 0?arguments[1]:[],i=e.default&&(0,zpe.default)(e.default)||{};return t.map(function(r){var o=e[r];return o&&(0,dpe.default)(o,function(n,M){i[M]||(i[M]={}),i[M]=wpe({},i[M],o[M])}),r}),i};Er.default=Ipe;var _r={};Object.defineProperty(_r,"__esModule",{value:!0});_r.autoprefix=void 0;var Cpe=pM,El=Ape(Cpe),ppe=Object.assign||function(s){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return(function(i){Spe(r,i);function r(){var o,n,M,c;xpe(this,r);for(var l=arguments.length,N=Array(l),u=0;u1&&arguments[1]!==void 0?arguments[1]:"span";return(function(i){Upe(r,i);function r(){var o,n,M,c;bpe(this,r);for(var l=arguments.length,N=Array(l),u=0;u1&&arguments[1]!==void 0?arguments[1]:!0;i[n]=M};return e===0&&r("first-child"),e===t-1&&r("last-child"),(e===0||e%2===0)&&r("even"),Math.abs(e%2)===1&&r("odd"),r("nth-child",e),i};QM.default=Ppe;Object.defineProperty(ot,"__esModule",{value:!0});ot.ReactCSS=ot.loop=ot.handleActive=bM=ot.handleHover=ot.hover=void 0;var Wpe=mr,Jpe=ki(Wpe),Bpe=Er,Rpe=ki(Bpe),Fpe=_r,Gpe=ki(Fpe),Hpe=xr,gL=ki(Hpe),Vpe=Sr,Zpe=ki(Vpe),Xpe=QM,Kpe=ki(Xpe);function ki(s){return s&&s.__esModule?s:{default:s}}ot.hover=gL.default;var bM=ot.handleHover=gL.default;ot.handleActive=Zpe.default;ot.loop=Kpe.default;var qpe=ot.ReactCSS=function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;rM?L=1:L=Math.round(u*100/M)/100,t.a!==L)return{h:t.h,s:t.s,l:t.l,a:L,source:"rgb"}}else{var g=void 0;if(N<0?g=0:N>n?g=1:g=Math.round(N*100/n)/100,r!==g)return{h:t.h,s:t.s,l:t.l,a:g,source:"rgb"}}return null},_n={},tAe=function(e,t,i,r){if(typeof document>"u"&&!r)return null;var o=r?new r:document.createElement("canvas");o.width=i*2,o.height=i*2;var n=o.getContext("2d");return n?(n.fillStyle=e,n.fillRect(0,0,o.width,o.height),n.fillStyle=t,n.fillRect(0,0,i,i),n.translate(i,i),n.fillRect(0,0,i,i),o.toDataURL()):null},sAe=function(e,t,i,r){var o=e+"-"+t+"-"+i+(r?"-server":"");if(_n[o])return _n[o];var n=tAe(e,t,i,r);return _n[o]=n,n},Sl=Object.assign||function(s){for(var e=1;eN.trim()).forEach(N=>{const u=N.split("=");o[u[0]]=u.length===2?u[1]:!0,o[u[0]]==="true"?o[u[0]]=!0:o[u[0]]==="false"&&(o[u[0]]=!1)}),this.instance=(t==null?void 0:t.instance)??e.instance??(o.instance!==void 0?parseInt(o.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const n=window.location.pathname.split("/");this.adapterName=(t==null?void 0:t.adapterName)||e.adapterName||window.adapterName||n[n.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=o.newReact===!0;const M=nr.getLocation();M.tab=M.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const c=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:c,themeName:this.getThemeName(c),themeType:this.getThemeType(c),bottomButtons:(t&&t.bottomButtons)===!1?!1:(e==null?void 0:e.bottomButtons)!==!1,width:Ds.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const l=Hge;t!=null&&t.translations?Object.keys(t.translations).forEach(N=>{t.translations&&(l[N]=Object.assign(l[N],t.translations[N]||{}))}):e.translations&&Object.keys(e.translations).forEach(N=>{e.translations&&(l[N]=Object.assign(l[N],e.translations[N]||{}))}),D.setTranslations(l),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=N=>{if(!this.alertDialogRendered){window.iobOldAlert(N);return}N!=null&&N.toString().toLowerCase().includes("error")?(console.error(N),this.showAlert(N.toString(),"error")):(console.log(N),this.showAlert(N.toString(),"info"))},this.socket=new i({...(e==null?void 0:e.socket)||(t==null?void 0:t.socket),name:this.adapterName,doNotLoadAllObjects:t==null?void 0:t.doNotLoadAllObjects,onProgress:N=>{N===ht.CONNECTING?this.setState({connected:!1}):N===ht.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(N=>(this._secret=typeof N<"u"&&N.native&&N.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(N==null?void 0:N.common)||{},this.socket.getObject(this.instanceId))).then(async N=>{var y,T;let u;const L=N,j=((y=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:y.val)!==!1&&((T=this._systemConfig)==null?void 0:T.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&&j&&(this.sentryStarted=!0,fh({dsn:this.sentryDSN,release:`iobroker.${L.common.name}@${L.common.version}`,integrations:[w4()]}),console.log("Sentry initialized")),!this.sentryInited&&j&&(this.sentryInited=!0,u=this.socket.getObject("system.meta.uuid").then(d=>{d&&d.native&&d.native.uuid&&At().setUser({id:d.native.uuid})})),u=u instanceof Promise?u:Promise.resolve(),u.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(N=>window.alert(`Cannot settings: ${N}`))},onError:N=>{console.error(N),this.showError(N)}})}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(Xn,{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 i,r;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)),((i=this._systemConfig)==null?void 0:i.expertMode)!==!!((r=t==null?void 0:t.common)!=null&&r.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),this.resizeTimer&&(clearTimeout(this.resizeTimer),this.resizeTimer=null),window.iobOldAlert&&(window.alert=window.iobOldAlert,delete window.iobOldAlert),super.componentWillUnmount()}onReceiveMessage=e=>{if(e!=null&&e.data)if(e.data==="updateTheme"){const t=m.getThemeName();m.setThemeName(t);const i=this.createTheme(t);this.setState({theme:i,themeName:this.getThemeName(i),themeType:this.getThemeType(i)},()=>{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:Ds.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(o=>t>=e[o])||"xs"}createTheme(e){return my(m.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){m.setThemeName(e);const i=this.createTheme(e);this.setState({theme:i,themeName:this.getThemeName(i),themeType:this.getThemeType(i)},()=>{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 i=0;i{e[i]&&(e[i]=this.encrypt(e[i]))}),!0}onPrepareLoad(e,t){var i;(i=this.encryptedFields)==null||i.forEach(r=>{e[r]&&(e[r]=this.decrypt(e[r]))}),t==null||t.forEach(r=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(r)&&this.encryptedFields.push(r),e[r]&&(e[r]=this.decrypt(e[r]))})}async getExtendableInstances(){try{const e=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(e).filter(t=>{var i;return!!((i=t==null?void 0:t.common)!=null&&i.webExtendable)})}catch{return[]}}async getIpAddresses(e){var o;const t=await this.socket.getHostByIp(e||((o=this.common)==null?void 0:o.host)||""),i=t.find(n=>n.address==="0.0.0.0");i&&(i.name=`[IPv4] 0.0.0.0 - ${D.t("ra_Listen on all IPs")}`);const r=t.find(n=>n.address==="::");return r&&(r.name=`[IPv6] :: - ${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(i=>{t=i||{};for(const r in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,r)&&(this.state.native[r]===null?t.native[r]=null:this.state.native[r]!==void 0?t.native[r]=JSON.parse(JSON.stringify(this.state.native[r])):delete t.native[r]);if(this.state.common)for(const r in this.state.common)this.state.common[r]===null?t.common[r]=null:this.state.common[r]!==void 0?t.common[r]=JSON.parse(JSON.stringify(this.state.common[r])):delete t.common[r];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&&Ds.onClose()})}).catch(i=>console.error(`Cannot save configuration: ${i}`))}renderToast(){return this.state.toast?a.createElement(Xn,{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(W,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>this.setState({toast:""}),size:"large"},a.createElement(we,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(S4,{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(Bh,{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}):Ds.onClose()},error:!!this.state.isConfigurationError}):null,this.state.confirmClose?a.createElement(x4,{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&&Ds.onClose())}):null)}_updateNativeValue(e,t,i){typeof t!="object"&&(t=t.split("."));const r=t.shift()||"";if(!t.length)return i&&typeof i=="object"?JSON.stringify(e[r])!==JSON.stringify(i)?(e[r]=i,!0):!1:e[r]!==i?(e[r]=i,!0):!1;if(e[r]=e[r]||{},typeof e[r]!="object")throw new Error(`attribute ${r} is no object, but ${typeof e[r]}`);return this._updateNativeValue(e[r],t,i)}updateNativeValue(e,t,i){const r=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(r,e,t)){const o=this.getIsChanged(r);if(o!==this.state.changed)try{window.parent.postMessage(o?"change":"nochange","*")}catch{}this.setState({native:r,changed:o},i)}}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(bh,{themeType:this.state.themeType})}}var ot={},mr={},Xge=typeof Ur=="object"&&Ur&&Ur.Object===Object&&Ur,k4=Xge,Kge=k4,qge=typeof self=="object"&&self&&self.Object===Object&&self,eje=Kge||qge||Function("return this")(),mt=eje,tje=mt,sje=tje.Symbol,fr=sje,Fu=fr,v4=Object.prototype,ije=v4.hasOwnProperty,rje=v4.toString,Ji=Fu?Fu.toStringTag:void 0;function oje(s){var e=ije.call(s,Ji),t=s[Ji];try{s[Ji]=void 0;var i=!0}catch{}var r=rje.call(s);return i&&(e?s[Ji]=t:delete s[Ji]),r}var nje=oje,aje=Object.prototype,Mje=aje.toString;function cje(s){return Mje.call(s)}var uje=cje,Gu=fr,lje=nje,Nje=uje,Lje="[object Null]",gje="[object Undefined]",Hu=Gu?Gu.toStringTag:void 0;function jje(s){return s==null?s===void 0?gje:Lje:Hu&&Hu in Object(s)?lje(s):Nje(s)}var _s=jje,yje=Array.isArray,jt=yje;function Tje(s){return s!=null&&typeof s=="object"}var Wt=Tje,Dje=_s,dje=jt,hje=Wt,zje="[object String]";function wje(s){return typeof s=="string"||!dje(s)&&hje(s)&&Dje(s)==zje}var Ije=wje;function Cje(s){return function(e,t,i){for(var r=-1,o=Object(e),n=i(e),M=n.length;M--;){var c=n[s?M:++r];if(t(o[c],c,o)===!1)break}return e}}var pje=Cje,Aje=pje,mje=Aje(),fje=mje;function Oje(s,e){for(var t=-1,i=Array(s);++t-1&&s%1==0&&s-1&&s%1==0&&s<=Rje}var wM=Fje,Gje=_s,Hje=wM,Vje=Wt,Zje="[object Arguments]",Xje="[object Array]",Kje="[object Boolean]",qje="[object Date]",eye="[object Error]",tye="[object Function]",sye="[object Map]",iye="[object Number]",rye="[object Object]",oye="[object RegExp]",nye="[object Set]",aye="[object String]",Mye="[object WeakMap]",cye="[object ArrayBuffer]",uye="[object DataView]",lye="[object Float32Array]",Nye="[object Float64Array]",Lye="[object Int8Array]",gye="[object Int16Array]",jye="[object Int32Array]",yye="[object Uint8Array]",Tye="[object Uint8ClampedArray]",Dye="[object Uint16Array]",dye="[object Uint32Array]",le={};le[lye]=le[Nye]=le[Lye]=le[gye]=le[jye]=le[yye]=le[Tye]=le[Dye]=le[dye]=!0;le[Zje]=le[Xje]=le[cye]=le[Kje]=le[uye]=le[qje]=le[eye]=le[tye]=le[sye]=le[iye]=le[rye]=le[oye]=le[nye]=le[aye]=le[Mye]=!1;function hye(s){return Vje(s)&&Hje(s.length)&&!!le[Gje(s)]}var zye=hye;function wye(s){return function(e){return s(e)}}var IM=wye,ho={exports:{}};ho.exports;(function(s,e){var t=k4,i=e&&!e.nodeType&&e,r=i&&!0&&s&&!s.nodeType&&s,o=r&&r.exports===i,n=o&&t.process,M=(function(){try{var c=r&&r.require&&r.require("util").types;return c||n&&n.binding&&n.binding("util")}catch{}})();s.exports=M})(ho,ho.exports);var CM=ho.exports,Iye=zye,Cye=IM,Zu=CM,Xu=Zu&&Zu.isTypedArray,pye=Xu?Cye(Xu):Iye,U4=pye,Aye=Eje,mye=Q4,fye=jt,Oye=zM,Eye=b4,_ye=U4,xye=Object.prototype,Sye=xye.hasOwnProperty;function kye(s,e){var t=fye(s),i=!t&&mye(s),r=!t&&!i&&Oye(s),o=!t&&!i&&!r&&_ye(s),n=t||i||r||o,M=n?Aye(s.length,String):[],c=M.length;for(var l in s)(e||Sye.call(s,l))&&!(n&&(l=="length"||r&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Eye(l,c)))&&M.push(l);return M}var $4=kye,vye=Object.prototype;function Yye(s){var e=s&&s.constructor,t=typeof e=="function"&&e.prototype||vye;return s===t}var pM=Yye;function Qye(s,e){return function(t){return s(e(t))}}var P4=Qye,bye=P4,Uye=bye(Object.keys,Object),$ye=Uye,Pye=pM,Wye=$ye,Jye=Object.prototype,Bye=Jye.hasOwnProperty;function Rye(s){if(!Pye(s))return Wye(s);var e=[];for(var t in Object(s))Bye.call(s,t)&&t!="constructor"&&e.push(t);return e}var Fye=Rye;function Gye(s){var e=typeof s;return s!=null&&(e=="object"||e=="function")}var fi=Gye,Hye=_s,Vye=fi,Zye="[object AsyncFunction]",Xye="[object Function]",Kye="[object GeneratorFunction]",qye="[object Proxy]";function eTe(s){if(!Vye(s))return!1;var e=Hye(s);return e==Xye||e==Kye||e==Zye||e==qye}var W4=eTe,tTe=W4,sTe=wM;function iTe(s){return s!=null&&sTe(s.length)&&!tTe(s)}var Ro=iTe,rTe=$4,oTe=Fye,nTe=Ro;function aTe(s){return nTe(s)?rTe(s):oTe(s)}var Or=aTe,MTe=fje,cTe=Or;function uTe(s,e){return s&&MTe(s,e,cTe)}var J4=uTe;function lTe(s){return s}var B4=lTe,NTe=B4;function LTe(s){return typeof s=="function"?s:NTe}var gTe=LTe,jTe=J4,yTe=gTe;function TTe(s,e){return s&&jTe(s,yTe(e))}var AM=TTe,DTe=P4,dTe=DTe(Object.getPrototypeOf,Object),mM=dTe,hTe=_s,zTe=mM,wTe=Wt,ITe="[object Object]",CTe=Function.prototype,pTe=Object.prototype,R4=CTe.toString,ATe=pTe.hasOwnProperty,mTe=R4.call(Object);function fTe(s){if(!wTe(s)||hTe(s)!=ITe)return!1;var e=zTe(s);if(e===null)return!0;var t=ATe.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&R4.call(t)==mTe}var OTe=fTe;function ETe(s,e){for(var t=-1,i=s==null?0:s.length,r=Array(i);++t-1}var FTe=RTe,GTe=Fo;function HTe(s,e){var t=this.__data__,i=GTe(t,s);return i<0?(++this.size,t.push([s,e])):t[i][1]=e,this}var VTe=HTe,ZTe=xTe,XTe=$Te,KTe=JTe,qTe=FTe,eDe=VTe;function Oi(s){var e=-1,t=s==null?0:s.length;for(this.clear();++eM))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&N1e?new M1e:void 0;for(o.set(s,e),o.set(e,s);++u0&&arguments[0]!==void 0?arguments[0]:[],t=[];return(0,eIe.default)(e,function(i){Array.isArray(i)?s(i).map(function(r){return t.push(r)}):(0,Kwe.default)(i)?(0,Zwe.default)(i,function(r,o){r===!0&&t.push(o),t.push(o+"-"+r)}):(0,Hwe.default)(i)&&t.push(i)}),t};mr.default=tIe;var Er={};function sIe(s,e){for(var t=-1,i=s==null?0:s.length;++t1&&arguments[1]!==void 0?arguments[1]:[],i=e.default&&(0,wpe.default)(e.default)||{};return t.map(function(r){var o=e[r];return o&&(0,hpe.default)(o,function(n,M){i[M]||(i[M]={}),i[M]=Ipe({},i[M],o[M])}),r}),i};Er.default=Cpe;var _r={};Object.defineProperty(_r,"__esModule",{value:!0});_r.autoprefix=void 0;var ppe=AM,_l=mpe(ppe),Ape=Object.assign||function(s){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return(function(i){kpe(r,i);function r(){var o,n,M,c;Spe(this,r);for(var l=arguments.length,N=Array(l),u=0;u1&&arguments[1]!==void 0?arguments[1]:"span";return(function(i){$pe(r,i);function r(){var o,n,M,c;Upe(this,r);for(var l=arguments.length,N=Array(l),u=0;u1&&arguments[1]!==void 0?arguments[1]:!0;i[n]=M};return e===0&&r("first-child"),e===t-1&&r("last-child"),(e===0||e%2===0)&&r("even"),Math.abs(e%2)===1&&r("odd"),r("nth-child",e),i};bM.default=Wpe;Object.defineProperty(ot,"__esModule",{value:!0});ot.ReactCSS=ot.loop=ot.handleActive=UM=ot.handleHover=ot.hover=void 0;var Jpe=mr,Bpe=ki(Jpe),Rpe=Er,Fpe=ki(Rpe),Gpe=_r,Hpe=ki(Gpe),Vpe=xr,yL=ki(Vpe),Zpe=Sr,Xpe=ki(Zpe),Kpe=bM,qpe=ki(Kpe);function ki(s){return s&&s.__esModule?s:{default:s}}ot.hover=yL.default;var UM=ot.handleHover=yL.default;ot.handleActive=Xpe.default;ot.loop=qpe.default;var eAe=ot.ReactCSS=function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;rM?L=1:L=Math.round(u*100/M)/100,t.a!==L)return{h:t.h,s:t.s,l:t.l,a:L,source:"rgb"}}else{var g=void 0;if(N<0?g=0:N>n?g=1:g=Math.round(N*100/n)/100,r!==g)return{h:t.h,s:t.s,l:t.l,a:g,source:"rgb"}}return null},_n={},sAe=function(e,t,i,r){if(typeof document>"u"&&!r)return null;var o=r?new r:document.createElement("canvas");o.width=i*2,o.height=i*2;var n=o.getContext("2d");return n?(n.fillStyle=e,n.fillRect(0,0,o.width,o.height),n.fillStyle=t,n.fillRect(0,0,i,i),n.translate(i,i),n.fillRect(0,0,i,i),o.toDataURL()):null},iAe=function(e,t,i,r){var o=e+"-"+t+"-"+i+(r?"-server":"");if(_n[o])return _n[o];var n=sAe(e,t,i,r);return _n[o]=n,n},kl=Object.assign||function(s){for(var e=1;e-1},yAe=function(e){return Number(String(e).replace(/%/g,""))},TAe=1,se=(function(s){lAe(e,s);function e(t){cAe(this,e);var i=uAe(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return i.handleBlur=function(){i.state.blurValue&&i.setState({value:i.state.blurValue,blurValue:null})},i.handleChange=function(r){i.setUpdatedValue(r.target.value,r)},i.handleKeyDown=function(r){var o=yAe(r.target.value);if(!isNaN(o)&&jAe(r.keyCode)){var n=i.getArrowOffset(),M=r.keyCode===jL?o+n:o-n;i.setUpdatedValue(M,r)}},i.handleDrag=function(r){if(i.props.dragLabel){var o=Math.round(i.props.value+r.movementX);o>=0&&o<=i.props.dragMax&&i.props.onChange&&i.props.onChange(i.getValueObjectWithLabel(o),r)}},i.handleMouseDown=function(r){i.props.dragLabel&&(r.preventDefault(),i.handleDrag(r),window.addEventListener("mousemove",i.handleDrag),window.addEventListener("mouseup",i.handleMouseUp))},i.handleMouseUp=function(){i.unbindEventListeners()},i.unbindEventListeners=function(){window.removeEventListener("mousemove",i.handleDrag),window.removeEventListener("mouseup",i.handleMouseUp)},i.state={value:String(t.value).toUpperCase(),blurValue:String(t.value).toUpperCase()},i.inputId="rc-editable-input-"+TAe++,i}return aAe(e,[{key:"componentDidUpdate",value:function(i,r){this.props.value!==this.state.value&&(i.value!==this.props.value||r.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(i){return MAe({},this.props.label,i)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||NAe}},{key:"setUpdatedValue",value:function(i,r){var o=this.props.label?this.getValueObjectWithLabel(i):i;this.props.onChange&&this.props.onChange(o,r),this.setState({value:i})}},{key:"render",value:function(){var i=this,r=Z({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return a.createElement("div",{style:r.wrap},a.createElement("input",{id:this.inputId,style:r.input,ref:function(n){return i.input=n},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?a.createElement("label",{htmlFor:this.inputId,style:r.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e})(hr||De),DAe=function(e,t,i,r){var o=r.clientWidth,n=r.clientHeight,M=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,c=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,l=M-(r.getBoundingClientRect().left+window.pageXOffset),N=c-(r.getBoundingClientRect().top+window.pageYOffset);if(t==="vertical"){var u=void 0;if(N<0)u=359;else if(N>n)u=0;else{var L=-(N*100/n)+100;u=360*L/100}if(i.h!==u)return{h:u,s:i.s,l:i.l,a:i.a,source:"hsl"}}else{var g=void 0;if(l<0)g=0;else if(l>o)g=359;else{var j=l*100/o;g=360*j/100}if(i.h!==g)return{h:g,s:i.s,l:i.l,a:i.a,source:"hsl"}}return null},dAe=(function(){function s(e,t){for(var i=0;i-1},TAe=function(e){return Number(String(e).replace(/%/g,""))},DAe=1,se=(function(s){NAe(e,s);function e(t){uAe(this,e);var i=lAe(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return i.handleBlur=function(){i.state.blurValue&&i.setState({value:i.state.blurValue,blurValue:null})},i.handleChange=function(r){i.setUpdatedValue(r.target.value,r)},i.handleKeyDown=function(r){var o=TAe(r.target.value);if(!isNaN(o)&&yAe(r.keyCode)){var n=i.getArrowOffset(),M=r.keyCode===TL?o+n:o-n;i.setUpdatedValue(M,r)}},i.handleDrag=function(r){if(i.props.dragLabel){var o=Math.round(i.props.value+r.movementX);o>=0&&o<=i.props.dragMax&&i.props.onChange&&i.props.onChange(i.getValueObjectWithLabel(o),r)}},i.handleMouseDown=function(r){i.props.dragLabel&&(r.preventDefault(),i.handleDrag(r),window.addEventListener("mousemove",i.handleDrag),window.addEventListener("mouseup",i.handleMouseUp))},i.handleMouseUp=function(){i.unbindEventListeners()},i.unbindEventListeners=function(){window.removeEventListener("mousemove",i.handleDrag),window.removeEventListener("mouseup",i.handleMouseUp)},i.state={value:String(t.value).toUpperCase(),blurValue:String(t.value).toUpperCase()},i.inputId="rc-editable-input-"+DAe++,i}return MAe(e,[{key:"componentDidUpdate",value:function(i,r){this.props.value!==this.state.value&&(i.value!==this.props.value||r.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(i){return cAe({},this.props.label,i)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||LAe}},{key:"setUpdatedValue",value:function(i,r){var o=this.props.label?this.getValueObjectWithLabel(i):i;this.props.onChange&&this.props.onChange(o,r),this.setState({value:i})}},{key:"render",value:function(){var i=this,r=Z({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return a.createElement("div",{style:r.wrap},a.createElement("input",{id:this.inputId,style:r.input,ref:function(n){return i.input=n},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?a.createElement("label",{htmlFor:this.inputId,style:r.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e})(hr||De),dAe=function(e,t,i,r){var o=r.clientWidth,n=r.clientHeight,M=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,c=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,l=M-(r.getBoundingClientRect().left+window.pageXOffset),N=c-(r.getBoundingClientRect().top+window.pageYOffset);if(t==="vertical"){var u=void 0;if(N<0)u=359;else if(N>n)u=0;else{var L=-(N*100/n)+100;u=360*L/100}if(i.h!==u)return{h:u,s:i.s,l:i.l,a:i.a,source:"hsl"}}else{var g=void 0;if(l<0)g=0;else if(l>o)g=359;else{var j=l*100/o;g=360*j/100}if(i.h!==g)return{h:g,s:i.s,l:i.l,a:i.a,source:"hsl"}}return null},hAe=(function(){function s(e,t){for(var i=0;i-1}function fAe(s,e){var t=this.__data__,i=en(t,s);return i<0?(++this.size,t.push([s,e])):t[i][1]=e,this}function Jt(s){var e=-1,t=s==null?0:s.length;for(this.clear();++e-1&&s%1==0&&s<=vme}function Qi(s){return s!=null&&JM(s.length)&&!$M(s)}function Yme(s){return Ns(s)&&Qi(s)}function Qme(){return!1}var IL=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wl=IL&&typeof module=="object"&&module&&!module.nodeType&&module,bme=Wl&&Wl.exports===IL,Jl=bme?yt.Buffer:void 0,Ume=Jl?Jl.isBuffer:void 0,Ao=Ume||Qme,$me="[object Object]",Pme=Function.prototype,Wme=Object.prototype,CL=Pme.toString,Jme=Wme.hasOwnProperty,Bme=CL.call(Object);function Rme(s){if(!Ns(s)||Ss(s)!=$me)return!1;var e=zL(s);if(e===null)return!0;var t=Jme.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&CL.call(t)==Bme}var Fme="[object Arguments]",Gme="[object Array]",Hme="[object Boolean]",Vme="[object Date]",Zme="[object Error]",Xme="[object Function]",Kme="[object Map]",qme="[object Number]",e3e="[object Object]",t3e="[object RegExp]",s3e="[object Set]",i3e="[object String]",r3e="[object WeakMap]",o3e="[object ArrayBuffer]",n3e="[object DataView]",a3e="[object Float32Array]",M3e="[object Float64Array]",c3e="[object Int8Array]",u3e="[object Int16Array]",l3e="[object Int32Array]",N3e="[object Uint8Array]",L3e="[object Uint8ClampedArray]",g3e="[object Uint16Array]",j3e="[object Uint32Array]",Ne={};Ne[a3e]=Ne[M3e]=Ne[c3e]=Ne[u3e]=Ne[l3e]=Ne[N3e]=Ne[L3e]=Ne[g3e]=Ne[j3e]=!0;Ne[Fme]=Ne[Gme]=Ne[o3e]=Ne[Hme]=Ne[n3e]=Ne[Vme]=Ne[Zme]=Ne[Xme]=Ne[Kme]=Ne[qme]=Ne[e3e]=Ne[t3e]=Ne[s3e]=Ne[i3e]=Ne[r3e]=!1;function y3e(s){return Ns(s)&&JM(s.length)&&!!Ne[Ss(s)]}function T3e(s){return function(e){return s(e)}}var pL=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ar=pL&&typeof module=="object"&&module&&!module.nodeType&&module,D3e=ar&&ar.exports===pL,Sn=D3e&&yL.process,Bl=(function(){try{var s=ar&&ar.require&&ar.require("util").types;return s||Sn&&Sn.binding&&Sn.binding("util")}catch{}})(),Rl=Bl&&Bl.isTypedArray,BM=Rl?T3e(Rl):y3e;function Ia(s,e){if(!(e==="constructor"&&typeof s[e]=="function")&&e!="__proto__")return s[e]}var d3e=Object.prototype,h3e=d3e.hasOwnProperty;function z3e(s,e,t){var i=s[e];(!(h3e.call(s,e)&&kr(i,t))||t===void 0&&!(e in s))&&PM(s,e,t)}function w3e(s,e,t,i){var r=!t;t||(t={});for(var o=-1,n=e.length;++o-1&&s%1==0&&s0){if(++e>=b3e)return arguments[0]}else e=0;return s.apply(void 0,arguments)}}var W3e=P3e(Q3e);function J3e(s,e){return W3e(v3e(s,e,sn),s+"")}function B3e(s,e,t){if(!Mt(t))return!1;var i=typeof e;return(i=="number"?Qi(t)&&RM(e,t.length):i=="string"&&e in t)?kr(t[e],s):!1}function R3e(s){return J3e(function(e,t){var i=-1,r=t.length,o=r>1?t[r-1]:void 0,n=r>2?t[2]:void 0;for(o=s.length>3&&typeof o=="function"?(r--,o):void 0,n&&B3e(t[0],t[1],n)&&(o=r<3?void 0:o,r=1),e=Object(e);++i=e||C<0||u&&E>=o}function d(){var h=kn();if(T(h))return I(h);M=setTimeout(d,y(h))}function I(h){return M=void 0,L&&i?g(h):(i=r=void 0,n)}function w(){M!==void 0&&clearTimeout(M),l=0,i=c=r=M=void 0}function A(){return M===void 0?n:I(kn())}function p(){var h=kn(),C=T(h);if(i=arguments,r=this,c=h,C){if(M===void 0)return j(c);if(u)return clearTimeout(M),M=setTimeout(d,e),g(c)}return M===void 0&&(M=setTimeout(d,e)),n}return p.cancel=w,p.flush=A,p}var rfe="Expected a function";function ofe(s,e,t){var i=!0,r=!0;if(typeof s!="function")throw new TypeError(rfe);return Mt(t)&&(i="leading"in t?!!t.leading:i,r="trailing"in t?!!t.trailing:r),OL(s,e,{leading:i,maxWait:e,trailing:r})}var nfe=function(e,t,i){var r=i.getBoundingClientRect(),o=r.width,n=r.height,M=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,c=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,l=M-(i.getBoundingClientRect().left+window.pageXOffset),N=c-(i.getBoundingClientRect().top+window.pageYOffset);l<0?l=0:l>o&&(l=o),N<0?N=0:N>n&&(N=n);var u=l/o,L=1-N/n;return{h:t.h,s:u,v:L,a:t.a,source:"hsv"}},afe=(function(){function s(e,t){for(var i=0;i-1}function OAe(s,e){var t=this.__data__,i=en(t,s);return i<0?(++this.size,t.push([s,e])):t[i][1]=e,this}function Jt(s){var e=-1,t=s==null?0:s.length;for(this.clear();++e-1&&s%1==0&&s<=Yme}function Qi(s){return s!=null&&BM(s.length)&&!PM(s)}function Qme(s){return Ns(s)&&Qi(s)}function bme(){return!1}var pL=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Jl=pL&&typeof module=="object"&&module&&!module.nodeType&&module,Ume=Jl&&Jl.exports===pL,Bl=Ume?yt.Buffer:void 0,$me=Bl?Bl.isBuffer:void 0,Ao=$me||bme,Pme="[object Object]",Wme=Function.prototype,Jme=Object.prototype,AL=Wme.toString,Bme=Jme.hasOwnProperty,Rme=AL.call(Object);function Fme(s){if(!Ns(s)||Ss(s)!=Pme)return!1;var e=IL(s);if(e===null)return!0;var t=Bme.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&AL.call(t)==Rme}var Gme="[object Arguments]",Hme="[object Array]",Vme="[object Boolean]",Zme="[object Date]",Xme="[object Error]",Kme="[object Function]",qme="[object Map]",e3e="[object Number]",t3e="[object Object]",s3e="[object RegExp]",i3e="[object Set]",r3e="[object String]",o3e="[object WeakMap]",n3e="[object ArrayBuffer]",a3e="[object DataView]",M3e="[object Float32Array]",c3e="[object Float64Array]",u3e="[object Int8Array]",l3e="[object Int16Array]",N3e="[object Int32Array]",L3e="[object Uint8Array]",g3e="[object Uint8ClampedArray]",j3e="[object Uint16Array]",y3e="[object Uint32Array]",Ne={};Ne[M3e]=Ne[c3e]=Ne[u3e]=Ne[l3e]=Ne[N3e]=Ne[L3e]=Ne[g3e]=Ne[j3e]=Ne[y3e]=!0;Ne[Gme]=Ne[Hme]=Ne[n3e]=Ne[Vme]=Ne[a3e]=Ne[Zme]=Ne[Xme]=Ne[Kme]=Ne[qme]=Ne[e3e]=Ne[t3e]=Ne[s3e]=Ne[i3e]=Ne[r3e]=Ne[o3e]=!1;function T3e(s){return Ns(s)&&BM(s.length)&&!!Ne[Ss(s)]}function D3e(s){return function(e){return s(e)}}var mL=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ar=mL&&typeof module=="object"&&module&&!module.nodeType&&module,d3e=ar&&ar.exports===mL,Sn=d3e&&DL.process,Rl=(function(){try{var s=ar&&ar.require&&ar.require("util").types;return s||Sn&&Sn.binding&&Sn.binding("util")}catch{}})(),Fl=Rl&&Rl.isTypedArray,RM=Fl?D3e(Fl):T3e;function Ca(s,e){if(!(e==="constructor"&&typeof s[e]=="function")&&e!="__proto__")return s[e]}var h3e=Object.prototype,z3e=h3e.hasOwnProperty;function w3e(s,e,t){var i=s[e];(!(z3e.call(s,e)&&kr(i,t))||t===void 0&&!(e in s))&&WM(s,e,t)}function I3e(s,e,t,i){var r=!t;t||(t={});for(var o=-1,n=e.length;++o-1&&s%1==0&&s0){if(++e>=U3e)return arguments[0]}else e=0;return s.apply(void 0,arguments)}}var J3e=W3e(b3e);function B3e(s,e){return J3e(Y3e(s,e,sn),s+"")}function R3e(s,e,t){if(!Mt(t))return!1;var i=typeof e;return(i=="number"?Qi(t)&&FM(e,t.length):i=="string"&&e in t)?kr(t[e],s):!1}function F3e(s){return B3e(function(e,t){var i=-1,r=t.length,o=r>1?t[r-1]:void 0,n=r>2?t[2]:void 0;for(o=s.length>3&&typeof o=="function"?(r--,o):void 0,n&&R3e(t[0],t[1],n)&&(o=r<3?void 0:o,r=1),e=Object(e);++i=e||C<0||u&&E>=o}function d(){var h=kn();if(T(h))return I(h);M=setTimeout(d,y(h))}function I(h){return M=void 0,L&&i?g(h):(i=r=void 0,n)}function w(){M!==void 0&&clearTimeout(M),l=0,i=c=r=M=void 0}function A(){return M===void 0?n:I(kn())}function p(){var h=kn(),C=T(h);if(i=arguments,r=this,c=h,C){if(M===void 0)return j(c);if(u)return clearTimeout(M),M=setTimeout(d,e),g(c)}return M===void 0&&(M=setTimeout(d,e)),n}return p.cancel=w,p.flush=A,p}var ofe="Expected a function";function nfe(s,e,t){var i=!0,r=!0;if(typeof s!="function")throw new TypeError(ofe);return Mt(t)&&(i="leading"in t?!!t.leading:i,r="trailing"in t?!!t.trailing:r),_L(s,e,{leading:i,maxWait:e,trailing:r})}var afe=function(e,t,i){var r=i.getBoundingClientRect(),o=r.width,n=r.height,M=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,c=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,l=M-(i.getBoundingClientRect().left+window.pageXOffset),N=c-(i.getBoundingClientRect().top+window.pageYOffset);l<0?l=0:l>o&&(l=o),N<0?N=0:N>n&&(N=n);var u=l/o,L=1-N/n;return{h:t.h,s:u,v:L,a:t.a,source:"hsv"}},Mfe=(function(){function s(e,t){for(var i=0;i=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 U(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(Efe,arguments)},brighten:function(){return this._applyModification(_fe,arguments)},darken:function(){return this._applyModification(xfe,arguments)},desaturate:function(){return this._applyModification(mfe,arguments)},saturate:function(){return this._applyModification(ffe,arguments)},greyscale:function(){return this._applyModification(Ofe,arguments)},spin:function(){return this._applyModification(Sfe,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(Yfe,arguments)},complement:function(){return this._applyCombination(kfe,arguments)},monochromatic:function(){return this._applyCombination(Qfe,arguments)},splitcomplement:function(){return this._applyCombination(vfe,arguments)},triad:function(){return this._applyCombination(ql,[3])},tetrad:function(){return this._applyCombination(ql,[4])}};U.fromRatio=function(s,e){if(mo(s)=="object"){var t={};for(var i in s)s.hasOwnProperty(i)&&(i==="a"?t[i]=s[i]:t[i]=qi(s[i]));s=t}return U(s,e)};function wfe(s){var e={r:0,g:0,b:0},t=1,i=null,r=null,o=null,n=!1,M=!1;return typeof s=="string"&&(s=Wfe(s)),mo(s)=="object"&&(Et(s.r)&&Et(s.g)&&Et(s.b)?(e=Ife(s.r,s.g,s.b),n=!0,M=String(s.r).substr(-1)==="%"?"prgb":"rgb"):Et(s.h)&&Et(s.s)&&Et(s.v)?(i=qi(s.s),r=qi(s.v),e=pfe(s.h,i,r),n=!0,M="hsv"):Et(s.h)&&Et(s.s)&&Et(s.l)&&(i=qi(s.s),o=qi(s.l),e=Cfe(s.h,i,o),n=!0,M="hsl"),s.hasOwnProperty("a")&&(t=s.a)),t=_L(t),{ok:n,format:s.format||M,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 Ife(s,e,t){return{r:je(s,255)*255,g:je(e,255)*255,b:je(t,255)*255}}function Vl(s,e,t){s=je(s,255),e=je(e,255),t=je(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,M=(i+r)/2;if(i==r)o=n=0;else{var c=i-r;switch(n=M>.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 M=t<.5?t*(1+e):t+e-t*e,c=2*t-M;i=n(c,M,s+1/3),r=n(c,M,s),o=n(c,M,s-1/3)}return{r:i*255,g:r*255,b:o*255}}function Zl(s,e,t){s=je(s,255),e=je(e,255),t=je(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,M=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(U(i));return o}function Qfe(s,e){e=e||6;for(var t=U(s).toHsv(),i=t.h,r=t.s,o=t.v,n=[],M=1/e;e--;)n.push(U({h:i,s:r,v:o})),o=(o+M)%1;return n}U.mix=function(s,e,t){t=t===0?0:t||50;var i=U(s).toRgb(),r=U(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 U(n)};U.readability=function(s,e){var t=U(s),i=U(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)};U.isReadable=function(s,e,t){var i=U.readability(s,e),r,o;switch(o=!1,r=Jfe(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};U.mostReadable=function(s,e,t){var i=null,r=0,o,n,M,c;t=t||{},n=t.includeFallbackColors,M=t.level,c=t.size;for(var l=0;lr&&(r=o,i=U(e[l]));return U.isReadable(s,i,{level:M,size:c})||!n?i:(t.includeFallbackColors=!1,U.mostReadable(s,["#fff","#000"],t))};var Ca=U.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"},bfe=U.hexNames=Ufe(Ca);function Ufe(s){var e={};for(var t in s)s.hasOwnProperty(t)&&(e[s[t]]=t);return e}function _L(s){return s=parseFloat(s),(isNaN(s)||s<0||s>1)&&(s=1),s}function je(s,e){$fe(s)&&(s="100%");var t=Pfe(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 nn(s){return Math.min(1,Math.max(0,s))}function Ke(s){return parseInt(s,16)}function $fe(s){return typeof s=="string"&&s.indexOf(".")!=-1&&parseFloat(s)===1}function Pfe(s){return typeof s=="string"&&s.indexOf("%")!=-1}function Lt(s){return s.length==1?"0"+s:""+s}function qi(s){return s<=1&&(s=s*100+"%"),s}function xL(s){return Math.round(parseFloat(s)*255).toString(16)}function e0(s){return Ke(s)/255}var Nt=(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 Et(s){return!!Nt.CSS_UNIT.exec(s)}function Wfe(s){s=s.replace(hfe,"").replace(zfe,"").toLowerCase();var e=!1;if(Ca[s])s=Ca[s],e=!0;else if(s=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t;return(t=Nt.rgb.exec(s))?{r:t[1],g:t[2],b:t[3]}:(t=Nt.rgba.exec(s))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=Nt.hsl.exec(s))?{h:t[1],s:t[2],l:t[3]}:(t=Nt.hsla.exec(s))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=Nt.hsv.exec(s))?{h:t[1],s:t[2],v:t[3]}:(t=Nt.hsva.exec(s))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=Nt.hex8.exec(s))?{r:Ke(t[1]),g:Ke(t[2]),b:Ke(t[3]),a:e0(t[4]),format:e?"name":"hex8"}:(t=Nt.hex6.exec(s))?{r:Ke(t[1]),g:Ke(t[2]),b:Ke(t[3]),format:e?"name":"hex"}:(t=Nt.hex4.exec(s))?{r:Ke(t[1]+""+t[1]),g:Ke(t[2]+""+t[2]),b:Ke(t[3]+""+t[3]),a:e0(t[4]+""+t[4]),format:e?"name":"hex8"}:(t=Nt.hex3.exec(s))?{r:Ke(t[1]+""+t[1]),g:Ke(t[2]+""+t[2]),b:Ke(t[3]+""+t[3]),format:e?"name":"hex"}:!1}function Jfe(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 t0=function(e){var t=["r","g","b","a","h","s","l","v"],i=0,r=0;return dfe(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},er=function(e,t){var i=e.hex?U(e.hex):U(e),r=i.toHsl(),o=i.toHsv(),n=i.toRgb(),M=i.toHex();r.s===0&&(r.h=t||0,o.h=t||0);var c=M==="000000"&&n.a===0;return{hsl:r,hex:c?"transparent":"#"+M,rgb:n,hsv:o,oldHue:e.h||t||r.h,source:e.source}},Ls=function(e){if(e==="transparent")return!0;var t=String(e).charAt(0)==="#"?1:0;return e.length!==4+t&&e.length<7+t&&U(e).isValid()},GM=function(e){if(!e)return"#fff";var t=er(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"},vn=function(e,t){var i=e.replace("°","");return U(t+" ("+i+")")._ok},Ri=Object.assign||function(s){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return(function(i){Xfe(r,i);function r(){var o,n,M,c;Zfe(this,r);for(var l=arguments.length,N=Array(l),u=0;uM))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&cOe?new fo: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,IEe=WL.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,M=s.style,c=M===void 0?{}:M,l=wEe(s,["fill","width","height","style"]);return d0.default.createElement("svg",D0({viewBox:"0 0 "+Gr+" "+Gr,style:D0({fill:t,width:r,height:n},c)},l),d0.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"}))},CEe=(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(T0(r.s)?i.props.hsl.s:r.s),l:Number(T0(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 CEe(e,[{key:"render",value:function(){var i=this,r=Z({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=a.createElement("div",{style:r.fields,className:"flexbox-fix"},a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?o=a.createElement("div",{style:r.fields,className:"flexbox-fix"},a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),a.createElement("div",{style:r.alpha},a.createElement(se,{style:{input:r.input,label:r.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(o=a.createElement("div",{style:r.fields,className:"flexbox-fix"},a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),a.createElement("div",{style:r.alpha},a.createElement(se,{style:{input:r.input,label:r.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),a.createElement("div",{style:r.wrap,className:"flexbox-fix"},o,a.createElement("div",{style:r.toggle},a.createElement("div",{style:r.icon,onClick:this.toggleViews,ref:function(M){return i.icon=M}},a.createElement(IEe,{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})(a.Component);JL.defaultProps={view:"hex"};var h0=function(){var e=Z({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 a.createElement("div",{style:e.picker})},fEe=function(){var e=Z({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return a.createElement("div",{style:e.picker})},qM=function(e){var t=e.width,i=e.onChange,r=e.disableAlpha,o=e.rgb,n=e.hsl,M=e.hsv,c=e.hex,l=e.renderers,N=e.styles,u=N===void 0?{}:N,L=e.className,g=L===void 0?"":L,j=e.defaultView,y=Z(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 a.createElement("div",{style:y.picker,className:"chrome-picker "+g},a.createElement("div",{style:y.saturation},a.createElement(on,{style:y.Saturation,hsl:n,hsv:M,pointer:fEe,onChange:i})),a.createElement("div",{style:y.body},a.createElement("div",{style:y.controls,className:"flexbox-fix"},a.createElement("div",{style:y.color},a.createElement("div",{style:y.swatch},a.createElement("div",{style:y.active}),a.createElement(vi,{renderers:l}))),a.createElement("div",{style:y.toggles},a.createElement("div",{style:y.hue},a.createElement(Yi,{style:y.Hue,hsl:n,pointer:h0,onChange:i})),a.createElement("div",{style:y.alpha},a.createElement(UM,{style:y.Alpha,rgb:o,hsl:n,pointer:h0,renderers:l,onChange:i})))),a.createElement(JL,{rgb:o,hsl:n,hex:c,view:j,onChange:i,disableAlpha:r})))};qM.propTypes={width:_.oneOfType([_.string,_.number]),disableAlpha:_.bool,styles:_.object,defaultView:_.oneOf(["hex","rgb","hsl"])};qM.defaultProps={width:225,disableAlpha:!1,styles:{}};const OEe=Ze(qM);var EEe=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.active,M=Z({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:GM(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 a.createElement(Ys,{style:M.color,color:t,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},a.createElement("div",{style:M.dot}))},_Ee=function(e){var t=e.hex,i=e.rgb,r=e.onChange,o=Z({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 a.createElement("div",{style:o.fields,className:"flexbox-fix"},a.createElement("div",{style:o.active}),a.createElement(se,{style:{wrap:o.HEXwrap,input:o.HEXinput,label:o.HEXlabel},label:"hex",value:t,onChange:n}),a.createElement(se,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"r",value:i.r,onChange:n}),a.createElement(se,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"g",value:i.g,onChange:n}),a.createElement(se,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"b",value:i.b,onChange:n}))},ec=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.colors,o=e.hex,n=e.rgb,M=e.styles,c=M===void 0?{}:M,l=e.className,N=l===void 0?"":l,u=Z(Ve({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},c)),L=function(j,y){j.hex?Ls(j.hex)&&t({hex:j.hex,source:"hex"},y):t(j,y)};return a.createElement(vr,{style:u.Compact,styles:c},a.createElement("div",{style:u.compact,className:"compact-picker "+N},a.createElement("div",null,Qs(r,function(g){return a.createElement(EEe,{key:g,color:g,active:g.toLowerCase()===o,onClick:L,onSwatchHover:i})}),a.createElement("div",{style:u.clear})),a.createElement(_Ee,{hex:o,rgb:n,onChange:L})))};ec.propTypes={colors:_.arrayOf(_.string),styles:_.object};ec.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:{}};Ze(ec);var xEe=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)"},M=Z({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:n}},{hover:t});return a.createElement("div",{style:M.swatch},a.createElement(Ys,{color:i,onClick:r,onHover:o,focusStyle:n}))};const SEe=bM(xEe);var tc=function(e){var t=e.width,i=e.colors,r=e.onChange,o=e.onSwatchHover,n=e.triangle,M=e.styles,c=M===void 0?{}:M,l=e.className,N=l===void 0?"":l,u=Z(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(j,y){return r({hex:j,source:"hex"},y)};return a.createElement("div",{style:u.card,className:"github-picker "+N},a.createElement("div",{style:u.triangleShadow}),a.createElement("div",{style:u.triangle}),Qs(i,function(g){return a.createElement(SEe,{color:g,key:g,onClick:L,onSwatchHover:o})}))};tc.propTypes={width:_.oneOfType([_.string,_.number]),colors:_.arrayOf(_.string),triangle:_.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:_.object};tc.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};Ze(tc);var kEe=function(e){var t=e.direction,i=Z({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 a.createElement("div",{style:i.picker})},vEe=Object.assign||function(s){for(var e=1;e.5});return a.createElement("div",{style:i.picker})},UEe=function(){var e=Z({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 a.createElement("div",{style:e.pointer},a.createElement("div",{style:e.left},a.createElement("div",{style:e.leftInside})),a.createElement("div",{style:e.right},a.createElement("div",{style:e.rightInside})))},z0=function(e){var t=e.onClick,i=e.label,r=e.children,o=e.active,n=Z({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 a.createElement("div",{style:n.button,onClick:t},i||r)},$Ee=function(e){var t=e.rgb,i=e.currentColor,r=Z({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 a.createElement("div",null,a.createElement("div",{style:r.label},"new"),a.createElement("div",{style:r.swatches},a.createElement("div",{style:r.new}),a.createElement("div",{style:r.current})),a.createElement("div",{style:r.label},"current"))},PEe=(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 a.createElement("div",{style:M.fields,className:"flexbox-fix"},a.createElement("div",{style:M.double},a.createElement(se,{style:{input:M.input,label:M.label},label:"hex",value:o.replace("#",""),onChange:c})),a.createElement("div",{style:M.single},a.createElement(se,{style:{input:M.input,label:M.label},label:"r",value:i.r,onChange:c,dragLabel:"true",dragMax:"255"})),a.createElement("div",{style:M.single},a.createElement(se,{style:{input:M.input,label:M.label},label:"g",value:i.g,onChange:c,dragLabel:"true",dragMax:"255"})),a.createElement("div",{style:M.single},a.createElement(se,{style:{input:M.input,label:M.label},label:"b",value:i.b,onChange:c,dragLabel:"true",dragMax:"255"})),a.createElement("div",{style:M.alpha},a.createElement(se,{style:{input:M.input,label:M.label},label:"a",value:Math.round(i.a*100),onChange:c,dragLabel:"true",dragMax:"100"})))},FEe=Object.assign||function(s){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i]);return t}var Hr=24,qEe=RL.default=function(s){var e=s.fill,t=e===void 0?"currentColor":e,i=s.width,r=i===void 0?Hr:i,o=s.height,n=o===void 0?Hr:o,M=s.style,c=M===void 0?{}:M,l=KEe(s,["fill","width","height","style"]);return I0.default.createElement("svg",w0({viewBox:"0 0 "+Hr+" "+Hr,style:w0({fill:t,width:r,height:n},c)},l),I0.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},e_e=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.first,M=e.last,c=e.active,l=Z({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:t,marginBottom:"1px"},check:{color:GM(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:M,active:c,"color-#FFFFFF":t==="#FFFFFF",transparent:t==="transparent"});return a.createElement(Ys,{color:t,style:l.color,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},a.createElement("div",{style:l.check},a.createElement(qEe,null)))},t_e=function(e){var t=e.onClick,i=e.onSwatchHover,r=e.group,o=e.active,n=Z({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return a.createElement("div",{style:n.group},Qs(r,function(M,c){return a.createElement(e_e,{key:M,color:M,active:M.toLowerCase()===o,first:c===0,last:c===r.length-1,onClick:t,onSwatchHover:i})}))},nc=function(e){var t=e.width,i=e.height,r=e.onChange,o=e.onSwatchHover,n=e.colors,M=e.hex,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=Z(Ve({default:{picker:{width:t,height:i},overflow:{height:i,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},l)),g=function(y,T){return r({hex:y,source:"hex"},T)};return a.createElement("div",{style:L.picker,className:"swatches-picker "+u},a.createElement(vr,null,a.createElement("div",{style:L.overflow},a.createElement("div",{style:L.body},Qs(n,function(j){return a.createElement(t_e,{key:j.toString(),group:j,active:M,onClick:g,onSwatchHover:o})}),a.createElement("div",{style:L.clear})))))};nc.propTypes={width:_.oneOfType([_.string,_.number]),height:_.oneOfType([_.string,_.number]),colors:_.arrayOf(_.arrayOf(_.string)),styles:_.object};nc.defaultProps={width:320,height:240,colors:[[Hs[900],Hs[700],Hs[500],Hs[300],Hs[100]],[Vs[900],Vs[700],Vs[500],Vs[300],Vs[100]],[Zs[900],Zs[700],Zs[500],Zs[300],Zs[100]],[Xs[900],Xs[700],Xs[500],Xs[300],Xs[100]],[Ks[900],Ks[700],Ks[500],Ks[300],Ks[100]],[qs[900],qs[700],qs[500],qs[300],qs[100]],[ei[900],ei[700],ei[500],ei[300],ei[100]],[ti[900],ti[700],ti[500],ti[300],ti[100]],[si[900],si[700],si[500],si[300],si[100]],["#194D33",tr[700],tr[500],tr[300],tr[100]],[ii[900],ii[700],ii[500],ii[300],ii[100]],[ri[900],ri[700],ri[500],ri[300],ri[100]],[oi[900],oi[700],oi[500],oi[300],oi[100]],[ni[900],ni[700],ni[500],ni[300],ni[100]],[ai[900],ai[700],ai[500],ai[300],ai[100]],[Mi[900],Mi[700],Mi[500],Mi[300],Mi[100]],[ci[900],ci[700],ci[500],ci[300],ci[100]],[ui[900],ui[700],ui[500],ui[300],ui[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};Ze(nc);var ac=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.hex,o=e.colors,n=e.width,M=e.triangle,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=Z(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":M==="hide","top-left-triangle":M==="top-left","top-right-triangle":M==="top-right"}),g=function(y,T){Ls(y)&&t({hex:y,source:"hex"},T)};return a.createElement("div",{style:L.card,className:"twitter-picker "+u},a.createElement("div",{style:L.triangleShadow}),a.createElement("div",{style:L.triangle}),a.createElement("div",{style:L.body},Qs(o,function(j,y){return a.createElement(Ys,{key:y,color:j,hex:j,style:L.swatch,onClick:g,onHover:i,focusStyle:{boxShadow:"0 0 4px "+j}})}),a.createElement("div",{style:L.hash},"#"),a.createElement(se,{label:null,style:{input:L.input},value:r.replace("#",""),onChange:g}),a.createElement("div",{style:L.clear})))};ac.propTypes={width:_.oneOfType([_.string,_.number]),triangle:_.oneOf(["hide","top-left","top-right"]),colors:_.arrayOf(_.string),styles:_.object};ac.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};Ze(ac);var Mc=function(e){var t=Z({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 a.createElement("div",{style:t.picker})};Mc.propTypes={hsl:_.shape({h:_.number,s:_.number,l:_.number,a:_.number})};Mc.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var cc=function(e){var t=Z({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 a.createElement("div",{style:t.picker})};cc.propTypes={hsl:_.shape({h:_.number,s:_.number,l:_.number,a:_.number})};cc.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var s_e=function(e){var t=e.onChange,i=e.rgb,r=e.hsl,o=e.hex,n=e.hsv,M=function(g,j){if(g.hex)Ls(g.hex)&&t({hex:g.hex,source:"hex"},j);else if(g.rgb){var y=g.rgb.split(",");vn(g.rgb,"rgb")&&t({r:y[0],g:y[1],b:y[2],a:1,source:"rgb"},j)}else if(g.hsv){var T=g.hsv.split(",");vn(g.hsv,"hsv")&&(T[2]=T[2].replace("%",""),T[1]=T[1].replace("%",""),T[0]=T[0].replace("°",""),T[1]==1?T[1]=.01:T[2]==1&&(T[2]=.01),t({h:Number(T[0]),s:Number(T[1]),v:Number(T[2]),source:"hsv"},j))}else if(g.hsl){var d=g.hsl.split(",");vn(g.hsl,"hsl")&&(d[2]=d[2].replace("%",""),d[1]=d[1].replace("%",""),d[0]=d[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),t({h:Number(d[0]),s:Number(d[1]),v:Number(d[2]),source:"hsl"},j))}},c=Z({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 a.createElement("div",{style:c.wrap,className:"flexbox-fix"},a.createElement("div",{style:c.fields},a.createElement("div",{style:c.double},a.createElement(se,{style:{input:c.input,label:c.label},label:"hex",value:o,onChange:M})),a.createElement("div",{style:c.column},a.createElement("div",{style:c.single},a.createElement(se,{style:{input:c.input2,label:c.label2},label:"rgb",value:l,onChange:M})),a.createElement("div",{style:c.single},a.createElement(se,{style:{input:c.input2,label:c.label2},label:"hsv",value:u,onChange:M})),a.createElement("div",{style:c.single},a.createElement(se,{style:{input:c.input2,label:c.label2},label:"hsl",value:N,onChange:M})))))},uc=function(e){var t=e.width,i=e.onChange,r=e.rgb,o=e.hsl,n=e.hsv,M=e.hex,c=e.header,l=e.styles,N=l===void 0?{}:l,u=e.className,L=u===void 0?"":u,g=Z(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 a.createElement("div",{style:g.picker,className:"google-picker "+L},a.createElement("div",{style:g.head},c),a.createElement("div",{style:g.swatch}),a.createElement("div",{style:g.saturation},a.createElement(on,{hsl:o,hsv:n,pointer:Mc,onChange:i})),a.createElement("div",{style:g.body},a.createElement("div",{style:g.controls,className:"flexbox-fix"},a.createElement("div",{style:g.hue},a.createElement(Yi,{style:g.Hue,hsl:o,radius:"4px",pointer:cc,onChange:i}))),a.createElement(s_e,{rgb:r,hsl:o,hex:M,hsv:n,onChange:i})))};uc.propTypes={width:_.oneOfType([_.string,_.number]),styles:_.object,header:_.string};uc.defaultProps={width:652,styles:{},header:"Color picker"};Ze(uc);const ut={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 sr extends De{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?sr.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(sr.getColor(e)))};componentDidUpdate(e,t){const i=sr.getColor(this.props.color||this.props.value||"");i!==t.color&&this.setState({color:i})}renderCustomPalette(){return this.props.customPalette?a.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>a.createElement(q,{style:ut.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},a.createElement("div",{style:{...ut.iconButton,background:e}})))):null}render(){var i;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return a.createElement(J,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:a.createElement(Te,{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":ut.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?a.createElement(W,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?ut.delButton:void 0},a.createElement(wt,null)):null,a.createElement(J,{component:"div",onClick:r=>!this.props.disabled&&this.handleClick(r),title:D.t("ra_Select color"),sx:{...ut.swatch,...this.props.disabled?ut.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:{...ut.color,background:sr.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?a.createElement(ws,{sx:{...ut.popover,"&. MuiMenu-list":ut.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},a.createElement(OEe,{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?a.createElement(W,{sx:ut.closeButton,onClick:()=>this.handleChange("")},a.createElement(wt,null)):null,a.createElement(W,{sx:ut.closeButton,onClick:()=>this.handleClose()},a.createElement(we,null)),this.renderCustomPalette()):null)}}var FL={exports:{}};(function(s,e){(function(i,r){s.exports=r()})(globalThis,()=>(()=>{var t={949(n,M,c){Object.defineProperty(M,"__esModule",{value:!0}),M.CronParser=void 0;var l=c(515),N=(function(){function u(L,g,j){g===void 0&&(g=!0),j===void 0&&(j=!1),this.expression=L,this.dayOfWeekStartIndexZero=g,this.monthStartIndexZero=j}return u.prototype.parse=function(){var L,g,j=(L=this.expression)!==null&&L!==void 0?L:"";if(j==="@reboot")return g=["@reboot","","","","","",""],g;if(j.startsWith("@")){var y=this.parseSpecial(this.expression);g=this.extractParts(y)}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"},j=g[L];if(!j)throw new Error("Unknown special expression.");return j},u.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var g=L.trim().split(/[ ]+/),j=0;j7)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(p){var h=p.replace(/\D/,""),C=h;return g.dayOfWeekStartIndexZero?h=="7"&&(C="0"):C=(parseInt(h)-1).toString(),p.replace(h,C)}),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 j={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var y in j)L[5]=L[5].replace(new RegExp(y,"gi"),j[y].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(p){var h=p.replace(/\D/,""),C=h;return g.monthStartIndexZero&&(C=(parseInt(h)+1).toString()),p.replace(h,C)});var T={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 d in T)L[4]=L[4].replace(new RegExp(d,"gi"),T[d].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 w=null;switch(I){case 4:w="12";break;case 5:w="6";break;case 6:w="9999";break;default:w=null;break}if(w!==null){var A=L[I].split("/");L[I]="".concat(A[0],"-").concat(w,"/").concat(A[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 j=L.match(new RegExp("[^".concat(g,"]+"),"gi"));if(j&&j.length)throw new Error("Expression contains invalid values: '".concat(j.toString(),"'"))},u})();M.CronParser=N},333(n,M,c){Object.defineProperty(M,"__esModule",{value:!0}),M.ExpressionDescriptor=void 0;var l=c(823),N=c(949),u=(function(){function L(g,j){if(this.expression=g,this.options=j,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var y=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(y,"'.")),this.options.locale=y}this.i18n=L.locales[this.options.locale],j.use24HourTimeFormat===void 0&&(j.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(g,j){var y=j===void 0?{}:j,T=y.throwExceptionOnParseError,d=T===void 0?!0:T,I=y.verbose,w=I===void 0?!1:I,A=y.dayOfWeekStartIndexZero,p=A===void 0?!0:A,h=y.monthStartIndexZero,C=h===void 0?!1:h,E=y.use24HourTimeFormat,O=y.trimHoursLeadingZero,b=O===void 0?!1:O,k=y.locale,K=k===void 0?null:k,x=y.logicalAndDayFields,S=x===void 0?!1:x,R={throwExceptionOnParseError:d,verbose:w,dayOfWeekStartIndexZero:p,monthStartIndexZero:C,use24HourTimeFormat:E,trimHoursLeadingZero:b,locale:K,logicalAndDayFields:S};R.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var he=new L(g,R);return he.getFullDescription()},L.initialize=function(g,j){j===void 0&&(j="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=j,g.load(L.locales)},L.prototype.getFullDescription=function(){var g,j,y="";try{var T=new N.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=T.parse(),this.expressionParts[0]==="@reboot")return((j=(g=this.i18n).atReboot)===null||j===void 0?void 0:j.call(g))||"Run once, at startup";var d=this.getTimeOfDayDescription(),I=this.getDayOfMonthDescription(),w=this.getMonthDescription(),A=this.getDayOfWeekDescription(),p=this.getYearDescription();y+=d+I+A+w+p,y=this.transformVerbosity(y,!!this.options.verbose),y=y.charAt(0).toLocaleUpperCase()+y.substr(1)}catch(h){if(!this.options.throwExceptionOnParseError)y=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(h)}return y},L.prototype.getTimeOfDayDescription=function(){var g=this.expressionParts[0],j=this.expressionParts[1],y=this.expressionParts[2],T="";if(!l.StringUtilities.containsAny(j,L.specialCharacters)&&!l.StringUtilities.containsAny(y,L.specialCharacters)&&!l.StringUtilities.containsAny(g,L.specialCharacters))T+=this.i18n.atSpace()+this.formatTime(y,j,g);else if(!g&&j.indexOf("-")>-1&&!(j.indexOf(",")>-1)&&!(j.indexOf("/")>-1)&&!l.StringUtilities.containsAny(y,L.specialCharacters)){var d=j.split("-");T+=l.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(y,d[0],""),this.formatTime(y,d[1],""))}else if(!g&&y.indexOf(",")>-1&&y.indexOf("-")==-1&&y.indexOf("/")==-1&&!l.StringUtilities.containsAny(j,L.specialCharacters)){var I=y.split(",");T+=this.i18n.at();for(var w=0;w-1?I=T.substring(0,T.indexOf("#")):T.indexOf("L")>-1&&(I=I.replace("L",""));var w=parseInt(I),A=g.i18n.daysOfTheWeekInCase?g.i18n.daysOfTheWeekInCase(d)[w]:j[w];if(T.indexOf("#")>-1){var p=null,h=T.substring(T.indexOf("#")+1),C=T.substring(0,T.indexOf("#"));switch(h){case"1":p=g.i18n.first(C);break;case"2":p=g.i18n.second(C);break;case"3":p=g.i18n.third(C);break;case"4":p=g.i18n.fourth(C);break;case"5":p=g.i18n.fifth(C);break}A=p+" "+A}return A},function(T){return parseInt(T)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0DaysOfTheWeek(T),T)},function(T){var d=T.substring(0,T.indexOf("-")),I=g.expressionParts[3]!="*";return I?g.i18n.commaAndX0ThroughX1(d):g.i18n.commaX0ThroughX1(d)},function(T){var d=null;if(T.indexOf("#")>-1){var I=T.substring(T.indexOf("#")+1),w=T.substring(0,T.indexOf("#"));d=g.i18n.commaOnThe(I,w).trim()+g.i18n.spaceX0OfTheMonth()}else if(T.indexOf("L")>-1)d=g.i18n.commaOnTheLastX0OfTheMonth(T.replace("L",""));else{var A=g.expressionParts[3]!="*";A?g.options.logicalAndDayFields?d=g.i18n.commaOnlyOnX0(T):d=g.i18n.commaAndOnX0():d=g.i18n.commaOnlyOnX0(T)}return d}),y},L.prototype.getMonthDescription=function(){var g=this,j=this.i18n.monthsOfTheYear(),y=this.getSegmentDescription(this.expressionParts[4],"",function(T,d){return d&&g.i18n.monthsOfTheYearInCase?g.i18n.monthsOfTheYearInCase(d)[parseInt(T)-1]:j[parseInt(T)-1]},function(T){return parseInt(T)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0Months(T),T)},function(T){return g.i18n.commaMonthX0ThroughMonthX1()||g.i18n.commaX0ThroughX1()},function(T){return g.i18n.commaOnlyInMonthX0?g.i18n.commaOnlyInMonthX0():g.i18n.commaOnlyInX0()});return y},L.prototype.getDayOfMonthDescription=function(){var g=this,j=null,y=this.expressionParts[3];switch(y){case"L":j=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":j=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var T=y.match(/(\d{1,2}W)|(W\d{1,2})/);if(T){var d=parseInt(T[0].replace("W","")),I=d==1?this.i18n.firstWeekday():l.StringUtilities.format(this.i18n.weekdayNearestDayX0(),d.toString());j=l.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),I);break}else{var w=y.match(/L-(\d{1,2})/);if(w){var A=w[1];j=l.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(A),A);break}else{if(y=="*"&&this.expressionParts[5]!="*")return"";j=this.getSegmentDescription(y,this.i18n.commaEveryDay(),function(p){return p=="L"?g.i18n.lastDay():g.i18n.dayX0?l.StringUtilities.format(g.i18n.dayX0(),p):p},function(p){return p=="1"?g.i18n.commaEveryDay():g.i18n.commaEveryX0Days(p)},function(p){return g.i18n.commaBetweenDayX0AndX1OfTheMonth(p)},function(p){return g.i18n.commaOnDayX0OfTheMonth(p)})}break}}return j},L.prototype.getYearDescription=function(){var g=this,j=this.getSegmentDescription(this.expressionParts[6],"",function(y){return/^\d+$/.test(y)?new Date(parseInt(y),1).getFullYear().toString():y},function(y){return l.StringUtilities.format(g.i18n.commaEveryX0Years(y),y)},function(y){return g.i18n.commaYearX0ThroughYearX1()||g.i18n.commaX0ThroughX1()},function(y){return g.i18n.commaOnlyInYearX0?g.i18n.commaOnlyInYearX0():g.i18n.commaOnlyInX0()});return j},L.prototype.getSegmentDescription=function(g,j,y,T,d,I){var w=null,A=g.indexOf("/")>-1,p=g.indexOf("-")>-1,h=g.indexOf(",")>-1;if(!g)w="";else if(g==="*")w=j;else if(!A&&!p&&!h)w=l.StringUtilities.format(I(g),y(g));else if(h){for(var C=g.split(","),E="",O=0;O0&&C.length>2&&(E+=",",O0&&C.length>1&&(O==C.length-1||C.length==2)&&(E+="".concat(this.i18n.spaceAnd()," ")),C[O].indexOf("/")>-1||C[O].indexOf("-")>-1){var b=C[O].indexOf("-")>-1&&C[O].indexOf("/")==-1,k=this.getSegmentDescription(C[O],j,y,T,b?this.i18n.commaX0ThroughX1:d,I);b&&(k=k.replace(", ","")),E+=k}else if(!A)E+=y(C[O]);else{var K=this.getSegmentDescription(C[O],j,y,T,d,I);K&&K.startsWith(", ")&&(K=K.substring(2)),E+=K}A?w=E:w=l.StringUtilities.format(I(g),E)}else if(A){var C=g.split("/");if(w=l.StringUtilities.format(T(C[1]),C[1]),C[0].indexOf("-")>-1){var x=this.generateRangeSegmentDescription(C[0],d,y);x.indexOf(", ")!=0&&(w+=", "),w+=x}else if(C[0].indexOf("*")==-1){var S=l.StringUtilities.format(I(C[0]),y(C[0]));S=S.replace(", ",""),w+=l.StringUtilities.format(this.i18n.commaStartingX0(),S)}}else p&&(w=this.generateRangeSegmentDescription(g,d,y));return w},L.prototype.generateRangeSegmentDescription=function(g,j,y){var T="",d=g.split("-"),I=y(d[0],1),w=y(d[1],2),A=j(g);return T+=l.StringUtilities.format(A,I,w),T},L.prototype.formatTime=function(g,j,y){var T=0,d=0,I=parseInt(g)+T,w=parseInt(j)+d;w>=60?(w-=60,I+=1):w<0&&(w+=60,I-=1),I>=24?I=I-24:I<0&&(I=24+I);var A="",p=!1;this.options.use24HourTimeFormat||(p=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),A=p?"".concat(this.getPeriod(I)," "):" ".concat(this.getPeriod(I)),I>12&&(I-=12),I===0&&(I=12));var h="";y&&(h=":".concat(("00"+y).substring(y.length)));var C=I.toString(),E=("00"+C).substring(C.length),O=w.toString(),b=("00"+O).substring(O.length),k=this.options.trimHoursLeadingZero?C:E;return"".concat(p?A:"").concat(k,":").concat(b).concat(h).concat(p?"":A)},L.prototype.transformVerbosity=function(g,j){if(!j&&(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 y=0,T=Object.entries(this.i18n.conciseVerbosityReplacements());y=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L})();M.ExpressionDescriptor=u},747(n,M,c){Object.defineProperty(M,"__esModule",{value:!0}),M.enLocaleLoader=void 0;var l=c(486),N=(function(){function u(){}return u.prototype.load=function(L){L.en=new l.en},u})();M.enLocaleLoader=N},486(n,M){Object.defineProperty(M,"__esModule",{value:!0}),M.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 in a month"},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.prototype.onTheHour=function(){return"on the hour"},l})();M.en=c},515(n,M){Object.defineProperty(M,"__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&&j<=59,"seconds part must be >= 0 and <= 59")}},N.minuteRange=function(u){for(var L=u.split(","),g=0;g=0&&j<=59,"minutes part must be >= 0 and <= 59")}},N.hourRange=function(u){for(var L=u.split(","),g=0;g=0&&j<=23,"hours part must be >= 0 and <= 23")}},N.dayOfMonthRange=function(u){for(var L=u.split(","),g=0;g=1&&j<=31,"DOM part must be >= 1 and <= 31")}},N.monthRange=function(u,L){for(var g=u.split(","),j=0;j=1&&y<=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(","),j=0;j=0&&y<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},N})();M.default=l},823(n,M){Object.defineProperty(M,"__esModule",{value:!0}),M.StringUtilities=void 0;var c=(function(){function l(){}return l.format=function(N){for(var u=[],L=1;L-1})},l})();M.StringUtilities=c}},i={};function r(n){var M=i[n];if(M!==void 0)return M.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 M=r(333),c=r(747);M.ExpressionDescriptor.initialize(new c.enLocaleLoader),n.default=M.ExpressionDescriptor;var l=M.ExpressionDescriptor.toString;n.toString=l})(),o})())})(FL);var ft=FL.exports;const i_e=Ej(ft);var r_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"à l'heure pile"},u})();return l.fr=N,c().locales.fr=new N,n})())})(r_e);var o_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"en punto"},u})();return l.es=N,c().locales.es=new N,n})())})(o_e);var n_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"zur vollen Stunde"},u})();return l.de=N,c().locales.de=new N,n})())})(n_e);var a_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"all'ora esatta"},u})();return l.it=N,c().locales.it=new N,n})())})(a_e);var M_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(globalThis,t=>(()=>{var i={93(g){g.exports=t}},r={};function o(g){var j=r[g];if(j!==void 0)return j.exports;var y=r[g]={exports:{}};return i[g](y,y.exports,o),y.exports}o.n=g=>{var j=g&&g.__esModule?()=>g.default:()=>g;return o.d(j,{a:j}),j},o.d=(g,j)=>{for(var y in j)o.o(j,y)&&!o.o(g,y)&&Object.defineProperty(g,y,{enumerable:!0,get:j[y]})},o.o=(g,j)=>Object.prototype.hasOwnProperty.call(g,j),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 M=o(93),c=o.n(M),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.ru=void 0;var N=function(g,j){var y=Number(g);return y!==void 0?j[y%100>4&&y%100<20?2:[2,0,1,1,1,2][y%10<5?Math.abs(y)%10:5]]:j[2]},u=function(g,j){var y=Number(g);return y!==void 0?j[y===0?0:y===1||y===2||y===4?1:2]:j[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(j){return N(j,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},g.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},g.prototype.atX0SecondsPastTheMinute=function(j){return N(j,["в %s секунду","в %s секунды","в %s секунд"])},g.prototype.everyX0Minutes=function(j){return N(j,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},g.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},g.prototype.atX0MinutesPastTheHour=function(j){return N(j,["в %s минуту","в %s минуты","в %s минут"])},g.prototype.everyX0Hours=function(j){return N(j,["каждый %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(j){return N(j,[", каждый %s день недели",", каждые %s дня недели",", каждые %s дней недели"])},g.prototype.commaX0ThroughX1=function(j){return j&&(j[0]=="2"||j[0]=="3")?", со %s по %s":", с %s по %s"},g.prototype.commaAndX0ThroughX1=function(j){return j&&(j[0]=="2"||j[0]=="3")?" и со %s по %s":" и с %s по %s"},g.prototype.first=function(j){return u(j,["первое","первый","первую"])},g.prototype.second=function(j){return u(j,["второе","второй","вторую"])},g.prototype.third=function(j){return u(j,["третье","третий","третью"])},g.prototype.fourth=function(j){return u(j,["четвертое","четвертый","четвертую"])},g.prototype.fifth=function(j){return u(j,["пятое","пятый","пятую"])},g.prototype.commaOnThe=function(j){return j==="2"?", во ":", в "},g.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},g.prototype.lastDay=function(){return"последний день"},g.prototype.commaOnTheLastX0OfTheMonth=function(j){return u(j,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},g.prototype.commaOnlyOnX0=function(j){return j&&j[0]==="2"?", только во %s":", только в %s"},g.prototype.commaAndOnX0=function(){return", и %s"},g.prototype.commaEveryX0Months=function(j){return N(j,[""," каждые %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(j){return N(j,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},g.prototype.firstWeekday=function(){return"первый будний день"},g.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},g.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},g.prototype.commaEveryX0Days=function(j){return N(j,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},g.prototype.commaBetweenDayX0AndX1OfTheMonth=function(j){return j&&j.substring(0,j.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},g.prototype.commaOnDayX0OfTheMonth=function(j){return j&&j[0]=="2"?", во %s число месяца":", в %s число месяца"},g.prototype.commaEveryX0Years=function(j){return N(j,[", каждый %s год",", каждые %s года",", каждые %s лет"])},g.prototype.commaStartingX0=function(){return", начало %s"},g.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},g.prototype.daysOfTheWeekInCase=function(j){return j===void 0&&(j=2),j==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},g.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},g.prototype.monthsOfTheYearInCase=function(j){return j==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},g.prototype.onTheHour=function(){return"ровно в час"},g})();return l.ru=L,c().locales.ru=new L,n})())})(M_e);var c_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"整点"},u})();return l.zh_CN=N,c().locales.zh_CN=new N,n})())})(c_e);var u_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"рівно о годині"},u})();return l.uk=N,c().locales.uk=new N,n})())})(u_e);var l_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"na hora certa"},u})();return l.pt_BR=N,c().locales.pt_BR=new N,n})())})(l_e);var N_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft)})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"o pełnej godzinie"},u})();return l.pl=N,c().locales.pl=new N,n})())})(N_e);function GL(s,e){return i_e.toString(s,{locale:e})}const Be={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}},L_e=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],g_e=["January","February","March","April","May","June","July","August","September","October","November","December"];function C0(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 M=parseInt(o[0],10);M<=n;M++)t.push(M)}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 p0(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=rs.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=C0(this.state[t],i),o=r.indexOf(e);o!==-1?r.splice(o,1):(r.push(e),r.sort()),this.setCronAttr(t,p0(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)},D.t("ra_Deselect all")),a.createElement(q,{key:"addall",variant:"contained",style:Be.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},D.t("ra_Select all")),a.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)?a.createElement("div",{key:`allInner${o}`,style:{width:"100%"}}):null,a.createElement(q,{key:`_${o}`,variant:r.indexOf(o)!==-1?"contained":"outlined",style:Be.numberButton,color:r.indexOf(o)!==-1?"secondary":"primary",onClick:()=>this.onToggle(o,e,t)},t===7?D.t(L_e[o]):t===12?g_e[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 M=1;return o&&i&&(M=parseInt(i.replace("*/",""),10)||1),a.createElement("div",null,a.createElement(nt,{variant:"standard",style:{...Be.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,p0(N,t),l)}}},a.createElement(re,{key:"every",value:"every"},D.t(`sc_every_${e}`)),a.createElement(re,{key:"everyN",value:"everyN"},D.t(`sc_everyN_${e}`)),a.createElement(re,{key:"specific",value:"specific"},D.t(`sc_specific_${e}`))),o&&a.createElement(Te,{variant:"standard",key:"interval",label:D.t(`sc_${e}`),value:M,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("-")?D.t("ra_Invalid CRON"):GL(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 a.createElement("div",{style:Be.mainDiv},a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},a.createElement(Te,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},rs.convertCronToText(this.state.cron,this.props.language||"en"),a.createElement("span",{style:Be.warning},i?D.t("ra_warning_every_second"):t?D.t("ra_warning_every_minute"):"")),a.createElement(V,{control:a.createElement(ue,{checked:!!this.state.seconds,onChange:r=>this.setState({seconds:r.target.checked?"*":!1},()=>this.recalcCron())}),label:D.t("ra_use seconds")}),a.createElement(Wg,{position:"static",sx:{"&.MuiAppBar-root":Be.appBar},color:"secondary"},a.createElement(Jg,{value:this.state.tab,style:Be.appBar,color:"secondary",onChange:(r,o)=>this.setState({tab:o})},this.state.seconds!==!1&&a.createElement(Us,{id:"sc_seconds",label:D.t("sc_seconds")}),a.createElement(Us,{id:"minutes",label:D.t("sc_minutes")}),a.createElement(Us,{id:"hours",label:D.t("sc_hours")}),a.createElement(Us,{id:"dates",label:D.t("sc_dates")}),a.createElement(Us,{id:"months",label:D.t("sc_months")}),a.createElement(Us,{id:"dow",label:D.t("sc_dows")}))),e===0&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("seconds",60)),e===1&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("minutes",60)),e===2&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("hours",24)),e===3&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("dates",31)),e===4&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("months",12)),e===5&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("dow",7)))}}const Ps={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 hve(s){const{open:e,toggleTranslation:t,noTranslation:i,title:r,fullWidth:o,help:n,maxWidth:M,progress:c,icon:l,applyDisabled:N,applyButton:u,onClose:L,children:g,titleButtonApply:j,titleButtonClose:y,onApply:T,textInput:d,defaultValue:I,overflowHidden:w}=s,[A,p]=Ka(I||"");Ce(()=>{p(I||"")},[I]);const h=Bg(),C=CN(h.breakpoints.down("md"));let E=null;return l&&(E=l),a.createElement(Ae,{open:e,maxWidth:C?!1:M||"md",fullWidth:!!o,fullScreen:C,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":C?{}:Ps.modalDialog}},r&&a.createElement(fe,null,l?a.createElement(E,{style:Ps.titleIcon}):null,r,D.getLanguage()!=="en"&&t?a.createElement(W,{size:"large",sx:m.getStyle(s.theme,Ps.languageButton,i&&Ps.languageButtonActive),onClick:()=>t(),title:D.t("Disable/Enable translation")},a.createElement(Kg,null)):null),a.createElement(_e,{style:{...Ps.content,...w?Ps.overflowHidden:void 0,paddingTop:8}},d&&a.createElement(Te,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:A,onChange:O=>p(O.target.value)}),g,n?a.createElement("div",null,n):null),a.createElement(xe,null,u!==!1&&a.createElement(q,{startIcon:a.createElement(We,null),disabled:c||N&&I===A,onClick:()=>T(d?A:""),variant:"contained",color:"primary"},D.t(j||"ra_Ok")),a.createElement(q,{color:"grey",onClick:L,disabled:c,variant:"contained",startIcon:a.createElement(we,null)},D.t(y||"ra_Cancel"))))}function j_e(){const s=_j();return[...s.breakpoints.keys].reverse().reduce((t,i)=>{const r=CN(s.breakpoints.up(i));return!t&&r?i:t},null)||"xs"}function Mn(){return s=>function(t){const i=j_e();return a.createElement(s,{...t,width:i})}}function y_e(s){const[e,t]=a.useState(s.input||s.value||""),[i,r]=a.useState("");return a.createElement(Ae,{open:!0,onClose:()=>s.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:s.fullWidth!==void 0?s.fullWidth:!1},a.createElement(fe,{id:"form-dialog-title"},s.titleText),a.createElement(_e,null,a.createElement(as,null,s.promptText),a.createElement(Te,{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})),a.createElement(xe,null,a.createElement(q,{variant:"contained",disabled:!e||!!i,onClick:()=>s.onClose(e),color:"primary",startIcon:a.createElement(We,null)},s.applyText||D.t("ra_Ok")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>s.onClose(null),startIcon:a.createElement(we,null)},s.cancelText||D.t("ra_Cancel"))))}const T_e=Mn()(y_e);function Oa(s){return a.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},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 Ti(s){return a.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},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 uo(s){return a.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},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 lc(s){return a.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},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 D_e=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,(M,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 d_e(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 h_e=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],A0={"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 z_e(s,e){var o;const{key:t,level:i,...r}=e;switch(s.nodeType){case 1:return Qg(I_e(s.nodeName),w_e(s,t),m0(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 M=s.parentNode.nodeName.toLowerCase();return h_e.includes(M)?(/\S/.test(n)&&console.warn(`A textNode is not allowed inside '${M}'. Your text "${n}" will be ignored`),null):n}case 8:return null;case 11:return m0(s.childNodes,i,e);default:return null}}function w_e(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]=D_e(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[A0[r.name]||r.name]=!0;break;default:t[A0[r.name]||r.name]=r.value}})}return t}function m0(s,e,t){const i=[...s].map((r,o)=>Oo(r,{...t,index:o,level:e+1})).filter(Boolean);return i.length?i:null}function I_e(s){return/[a-z]+[A-Z]+[a-z]+/.test(s)?s:s.toLowerCase()}function HL(s,e={}){return typeof s=="string"?C_e(s,e):s instanceof Node?Oo(s,e):null}function Oo(s,e={}){if(!s||!(s instanceof Node))return null;const{actions:t=[],index:i=0,level:r=0,randomKey:o}=e;let n=s,M=`${r}-${i}`;const c=[];return o&&r===0&&(M=`${d_e()}-${M}`),Array.isArray(t)&&t.forEach(l=>{l.condition(n,M,r)&&(typeof l.pre=="function"&&(n=l.pre(n,M,r),n instanceof Node||(n=s)),typeof l.post=="function"&&c.push(l.post(n,M,r)))}),c.length?c:z_e(n,{key:M,level:r,...e})}function C_e(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 M=new DOMParser().parseFromString(s,o);if(t){const{childNodes:l}=M.body;return i?l:[...l].map(N=>Oo(N,e))}const c=M.querySelector(r)||M.body.childNodes[0];if(!(c instanceof Node))throw new TypeError("Error parsing input");return i?c:Oo(c,e)}catch{}return null}var p_e=Object.defineProperty,A_e=(s,e,t)=>e in s?p_e(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Vr=(s,e,t)=>A_e(s,typeof e!="symbol"?e+"":e,t),f0="react-inlinesvg",m_e=10,ne={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function f_e(s){return s[Math.floor(Math.random()*s.length)]}function ir(){var s;return!!(typeof window<"u"&&((s=window.document)!=null&&s.createElement))}function O_e(){return S_e()&&typeof window<"u"&&window!==null}function E_e(s,...e){const t={};for(const i in s)({}).hasOwnProperty.call(s,i)&&(e.includes(i)||(t[i]=s[i]));return t}function __e(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 x_e(s=1){return new Promise(e=>{setTimeout(e,s*1e3)})}function S_e(){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 k_e=class{constructor(){Vr(this,"cacheApi"),Vr(this,"cacheStore"),Vr(this,"subscribers",[]),Vr(this,"isReady",!1),this.cacheStore=new Map;let s=f0,e=!1;ir()&&(s=window.REACT_INLINESVG_CACHE_NAME??f0,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)===ne.LOADED}async fetchAndAddToInternalCache(s,e){const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===ne.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:ne.IDLE}),await this.fetchAndAddToInternalCache(s,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(s,{content:"",status:ne.LOADING});try{const i=await VL(s,e);this.cacheStore.set(s,{content:i,status:ne.LOADED})}catch(i){throw this.cacheStore.set(s,{content:"",status:ne.FAILED}),i}}}async fetchAndAddToPersistentCache(s,e){var r,o,n;const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===ne.LOADED)return;if((t==null?void 0:t.status)===ne.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:ne.IDLE}),await this.fetchAndAddToPersistentCache(s,e)});return}this.cacheStore.set(s,{content:"",status:ne.LOADING});const i=await((r=this.cacheApi)==null?void 0:r.match(s));if(i){const M=await i.text();this.cacheStore.set(s,{content:M,status:ne.LOADED});return}try{await((o=this.cacheApi)==null?void 0:o.add(new Request(s,e)));const M=await((n=this.cacheApi)==null?void 0:n.match(s)),c=await(M==null?void 0:M.text())??"";this.cacheStore.set(s,{content:c,status:ne.LOADED})}catch(M){throw this.cacheStore.set(s,{content:"",status:ne.FAILED}),M}}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 O0(s){const e=et(void 0);return Ce(()=>{e.current=s}),e.current}function v_e(s){const{baseURL:e,content:t,description:i,handleError:r,hash:o,preProcessor:n,title:M,uniquifyIDs:c=!1}=s;try{const l=Y_e(t,n),N=HL(l,{nodeOnly:!0});if(!N||!(N instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const u=ZL(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 M<"u"){const L=u.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),M){const g=document.createElementNS("http://www.w3.org/2000/svg","title");g.innerHTML=M,u.prepend(g)}}return u}catch(l){return r(l)}}function Y_e(s,e){return e?e(s):s}function ZL(s,e){const{baseURL:t="",hash:i,uniquifyIDs:r}=e,o=["id","href","xlink:href","xlink:role","xlink:arcrole"],n=["href","xlink:href"],M=(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&&!M(u,L.value)&&(L.value=`${L.value}__${i}`)})}return c.children.length?ZL(c,e):c}),s}var Ni;function Q_e(s){const{cacheRequests:e=!0,children:t=null,description:i,fetchOptions:r,innerRef:o,loader:n=null,onError:M,onLoad:c,src:l,title:N,uniqueHash:u}=s,[L,g]=bg((S,R)=>({...S,...R}),{content:"",element:null,isCached:e&&Ni.isCached(s.src),status:ne.IDLE}),{content:j,element:y,isCached:T,status:d}=L,I=O0(s),w=O0(L),A=et(u??__e(8)),p=et(!1),h=et(!1),C=Kt(S=>{p.current&&(g({status:S.message==="Browser does not support SVG"?ne.UNSUPPORTED:ne.FAILED}),M==null||M(S))},[M]),E=Kt((S,R=!1)=>{p.current&&g({content:S,isCached:R,status:ne.LOADED})},[]),O=Kt(async()=>{const S=await VL(l,r);E(S)},[r,E,l]),b=Kt(()=>{try{const S=v_e({...s,handleError:C,hash:A.current,content:j}),R=HL(S);if(!R||!zN(R))throw new Error("Could not convert the src to a React element");g({element:R,status:ne.READY})}catch(S){C(S)}},[j,C,s]),k=Kt(async()=>{const S=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l);let R;if(S?R=S[1]?window.atob(S[2]):decodeURIComponent(S[2]):l.includes("{p.current&&g({content:"",element:null,isCached:!1,status:ne.LOADING})},[]);Ce(()=>{if(p.current=!0,!(!ir()||h.current)){try{if(d===ne.IDLE){if(!O_e())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");K()}}catch(S){C(S)}return h.current=!0,()=>{p.current=!1}}},[]),Ce(()=>{if(!(!ir()||!I)&&I.src!==l){if(!l){C(new Error("Missing src"));return}K()}},[C,K,I,l]),Ce(()=>{d===ne.LOADED&&b()},[d,b]),Ce(()=>{!ir()||!I||I.src!==l||(I.title!==N||I.description!==i)&&b()},[i,b,I,l,N]),Ce(()=>{if(w)switch(d){case ne.LOADING:{w.status!==ne.LOADING&&k();break}case ne.LOADED:{w.status!==ne.LOADED&&b();break}case ne.READY:{w.status!==ne.READY&&(c==null||c(l,T));break}}},[k,b,T,c,w,l,d]);const x=E_e(s,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return ir()?y?Ug(y,{ref:o,...x}):[ne.UNSUPPORTED,ne.FAILED].includes(d)?t:n:n}function Ea(s){Ni||(Ni=new k_e);const{loader:e}=s,[t,i]=Ka(Ni.isReady);return Ce(()=>{t||Ni.onReady(()=>{i(!0)})},[t]),t?a.createElement(Q_e,{...s}):e}function b_e(s){return a.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},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 zve(s){let e;const t=s==null?void 0:s._id;return t?(t.startsWith("_design/")||t==="system"?e=a.createElement(go,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=a.createElement(uy,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=a.createElement(b_e,{className:"iconOwn"}):t==="system.adapter"?e=a.createElement(go,{className:"iconOwn"}):t==="system.group"?e=a.createElement(rM,{className:"iconOwn"}):t==="system.user"?e=a.createElement(sM,{className:"iconOwn"}):t==="system.host"?e=a.createElement(iM,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=a.createElement(li,{className:"iconOwn"}):t.endsWith(".info")?e=a.createElement(tM,{className:"iconOwn"}):(s==null?void 0:s.type)==="meta"&&(e=a.createElement(vo,{className:"iconOwn"})),e||null):null}function wve(s,e){var r;e=e||".";let t="";const i=s==null?void 0:s.common;if(i){const o=i.icon;if(o)if(o.startsWith("data:image/"))t=o;else if(o.includes(".")){let n;s.type==="instance"||s.type==="adapter"?t=`${e}/adapter/${i.name}/${o}`:(r=s._id)!=null&&r.startsWith("system.adapter.")?(n=s._id.split(".",3),o[0]==="/"?n[2]+=o:n[2]+=`/${o}`,t=`${e}/adapter/${n[2]}`):(n=s._id.split(".",2),o[0]==="/"?n[0]+=o:n[0]+=`/${o}`,t=`${e}/adapter/${n[0]}`)}else return null}return t||null}const U_e=window.location.hostname.endsWith("iobroker.in"),E0=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1),be=a.forwardRef(function(e,t){var i,r,o;if(e.src){if(typeof e.src=="string"){if(e.src.length<3)return e.sx?a.createElement(J,{component:"span",sx:e.sx,ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src):a.createElement("span",{ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src);if(e.src.startsWith("data:image/svg"))return a.createElement(Ea,{title:e.title||void 0,src:e.src,className:e.className?`iconOwn ${e.className}`:"iconOwn",width:((i=e.style)==null?void 0:i.width)||28,height:((r=e.style)==null?void 0:r.height)||((o=e.style)==null?void 0:o.width)||28,style:e.style||void 0});if(U_e&&!e.src.startsWith("http://")&&!e.src.startsWith("https://")){let n=e.src;return n.startsWith("./")?n=E0+n.substring(2):n.startsWith("/")||(n=E0+n),e.sx?a.createElement(J,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${n}`,alt:e.alt||void 0,ref:t,onError:M=>{var c;return(c=e.onError)==null?void 0:c.call(e,M)}}):a.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${n}`,alt:e.alt||void 0,ref:t,onError:M=>{var c;return(c=e.onError)==null?void 0:c.call(e,M)}})}return e.sx?a.createElement(J,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError}):a.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError})}return e.src}return null});be.displayName="Icon";const gs={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"}},ve={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics","csv"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function _0(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(_0(o,!0))}catch{console.error("Cannot convert base64 to string"),o=""}}else{const M=m.detectMimeType(_0(o));M&&(n.ext=M,n.copyPossible=ve.code.includes(M)||ve.txt.includes(M))}n.copyPossible&&(n.ext&&ve.txt.includes(n.ext)?(n.text=o,n.editingValue=o):n.ext&&ve.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.unsubscribeFiles(t,i,this.onFileChanged)}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 a.createElement(Te,{variant:"standard",style:gs.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&ve.images.includes(this.state.ext)?this.state.imgError?a.createElement(lc,{style:{...gs.img,...this.props.getStyleBackgroundImage()}}):a.createElement(be,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...gs.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&ve.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&&ve.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(Ae,{sx:{"&.MuiDialog-scrollPaper":gs.dialog,"& .MuiDialog-paper":gs.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:gs.dialogTitle},a.createElement(fe,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&ve.images.includes(this.state.ext)&&a.createElement("div",null,a.createElement(W,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},a.createElement(eM,null)))),a.createElement(_e,{style:gs.content},this.getContent()),a.createElement(xe,null,this.state.copyPossible?a.createElement(q,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),m.copyToClipboard(this.state.text||this.state.code||"")},startIcon:a.createElement(qg,null)},this.props.t("Copy content")):null,this.state.editing?a.createElement(q,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:a.createElement(Xn,null)},this.props.t("Save")):null,a.createElement(q,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:a.createElement(we,null)},this.props.t("Close"))))}}const P_e=Mn()($_e),Ws=32,_t=32,Zr=120,x0=64,S0="Not found",Xr={all:_N,images:iy,code:qa,txt:ty,audio:kj,video:Dy},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% - 104px)",display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${x0}px`},itemTile:s=>({position:"relative",userSelect:"none",cursor:"pointer",height:Zr,width:x0,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:s.palette.secondary.light,color:m.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:Zr-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:Zr-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Zr-32-16-8,display:"block",objectFit:"contain"},itemSelected:s=>({background:s.palette.primary.main,color:m.invertColor(s.palette.primary.main,!0)}),itemTable:s=>({userSelect:"none",cursor:"pointer",height:Ws,display:"inline-flex",lineHeight:`${Ws}px`,"&:hover":{background:s.palette.secondary.light,color:m.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:_t,height:Ws,minWidth:_t,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${_t/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:_t,height:Ws,minWidth:_t,padding:0},itemAclButtonTable:{width:_t,height:Ws,minWidth:_t,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:_t,height:Ws,minWidth:_t,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"}},Ft="0_userdata.0";function Js(s){const e=(s||"").split("/");return e.length&&e.pop(),e.join("/")}function Qn(s){const e=m.getFileExtension(s);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const oe="Table",bn="Tile";function k0(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")||oe:r=oe;let o=this.props.selected||this.localStorage.getItem("files.selected")||Ft,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===oe&&!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=Ft,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.browseList=[],this.browseListRunning=!1,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 y=this.state.restrictToFolder.split("/")[0];u=u.filter(T=>T._id===y)}else this.state.expertMode||(u=u.filter(y=>!y._id.endsWith(".admin")));const j=u.findIndex(y=>y._id==="system.meta.uuid");if(j!==-1&&u.splice(j,1),u.forEach(y=>{if(this.limitToObjectID&&this.limitToObjectID!==y._id)return;const T={id:y._id,name:y._id,title:y.common&&y.common.name||y._id,meta:!0,from:y.from,ts:y.ts,color:y.common&&y.common.color,icon:y.common&&y.common.icon,folder:!0,acl:y.acl,level:0};T.id===Ft?g=T:L.push(T)}),L.sort((y,T)=>y.id>T.id?1:y.idy.folder).map(y=>this.browseFolder(y.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("/"),M=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 j;const g={id:`${e}/${L.file}`,ext:m.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(j=L.stats)==null?void 0:j.size,modified:L.modifiedAt,acl:L.acl,level:M};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(k0),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===S0?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(M=>this.setState({folders:M})).catch(M=>console.error(`Cannot read folder: ${M.message}`))},300))};changeFolder(e,t){var r;e==null||e.stopPropagation(),this.lastSelect=Date.now();let i=t||Js(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=m.getFileExtension(e);(!this.props.filterFiles||r&&this.props.filterFiles.includes(r))&&(!this.state.filterByType||r&&ve[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!==Ft&&!e.temp)return null;const i=t?uo:Ti,r=this.state.viewType===oe?e.level*this.levelPadding:0,o=e.name===Ft,n=o||e.name==="vis.0"||e.name==="vis-2.0",M=m.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`],n&&Y.specialFolder);return a.createElement(J,{component:"div",key:e.id,id:e.id,style:this.state.viewType===oe?{marginLeft:r,width:`calc(100% - ${r}px)`}:void 0,onClick:l=>this.state.viewType===oe?this.select(e.id,l):this.changeFolder(l,e.id),onDoubleClick:l=>this.state.viewType===oe&&this.toggleFolder(e,l),title:this.getText(e.title),className:"browserItem",sx:m.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:{})},a.createElement(i,{style:M,onClick:this.state.viewType===oe?l=>this.toggleFolder(e,l):void 0}),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},o?this.props.t("ra_User files"):e.name),a.createElement(J,{component:"div",style:Y[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.state.folders[e.id]?this.state.folders[e.id].length:""),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===oe&&this.props.expertMode?a.createElement(J,{component:"div",sx:{...Y.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===oe&&this.props.allowDownload?a.createElement("div",{style:Y[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===oe&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?a.createElement(W,{"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"},a.createElement(wt,{fontSize:"small"})):this.state.viewType===oe&&this.props.allowDelete?a.createElement(J,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return a.createElement(J,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",Js(this.state.currentDir)),className:"browserItem",sx:m.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFolder${this.state.viewType}`])},a.createElement(Ti,{style:m.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`])}),a.createElement(xj,{sx:Y.itemFolderIconBack}),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return a.createElement("div",{style:Y[`itemSize${this.state.viewType}`]},e||e===0?m.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let i;return t?i=t.toString(16).padStart(3,"0"):i="",a.createElement("div",{style:Y[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?a.createElement(W,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:Y[`itemAclButton${this.state.viewType}`]},i||"---"):i||"---")}getFileIcon(e){switch(e){case"json":case"json5":return a.createElement(Yj,{style:Y[`itemIcon${this.state.viewType}`]});case"css":return a.createElement(Qj,{style:Y[`itemIcon${this.state.viewType}`]});case"js":case"ts":return a.createElement(qa,{style:Y[`itemIcon${this.state.viewType}`]});case"html":case"md":return a.createElement(vo,{style:Y[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return a.createElement(My,{style:Y[`itemIcon${this.state.viewType}`]});default:return a.createElement(_N,{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":case"csv":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===oe?e.level*this.levelPadding:0,i=m.getFileExtension(e.name);return a.createElement(J,{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&&ve[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===oe?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:m.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFile${this.state.viewType}`],this.state.selected===e.id?Y.itemSelected:void 0)},i&&ve.images.includes(i)?this.state.fileErrors.includes(e.id)?a.createElement(lc,{style:{...Y[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...Y[`itemNoImage${this.state.viewType}`]}}):a.createElement(be,{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),a.createElement(J,{component:"div",sx:Y[`itemName${this.state.viewType}`]},e.name),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.props.expertMode?this.formatAcl(e.acl):null),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.props.expertMode&&Nc.getEditFile(i)?a.createElement(W,{"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&&ve[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"},a.createElement(or,{fontSize:"small"})):a.createElement(J,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===oe&&this.props.allowDownload?a.createElement(J,{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()},a.createElement(ly,null)):null,this.state.viewType===oe&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==Ft?a.createElement(W,{"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"},a.createElement(wt,{fontSize:"small"})):this.state.viewType===oe&&this.props.allowDelete?a.createElement(J,{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===bn){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&&ve[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(M=>i.push(M)):i.push(n),this.state.folders[r.id]&&o){const M=this.renderItems(r.id);Array.isArray(M)?M.forEach(c=>i.push(c)):i.push(M)}}else(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&ve[this.state.filterByType].includes(r.ext))&&i.push(this.renderFile(r))}),i}return a.createElement("div",{style:{position:"relative"}},a.createElement(So,{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?Xr[this.state.filterByType||"all"]||Xr.all:null,t=this.findFirstFolder(this.state.selected);return a.createElement(IN,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?a.createElement(W,{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"},a.createElement(ey,{fontSize:"small"})):null,this.props.showExpertButton?a.createElement(W,{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"},a.createElement(Oa,null)):null,this.props.showViewTypeButton?a.createElement(W,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:Y.menuButton,"aria-label":"view mode",onClick:()=>{const i=this.state.viewType===oe?bn:oe;this.localStorage.setItem("files.viewType",i);let r=this.state.selected;Qn(r)&&(r=Js(r)),this.setState({viewType:i,currentDir:r},()=>{this.state.viewType===oe&&this.scrollToSelected()})},size:"small"},this.state.viewType!==oe?a.createElement(oy,{fontSize:"small"}):a.createElement(zy,{fontSize:"small"})):null,a.createElement(W,{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"},a.createElement(qj,{fontSize:"small"})),a.createElement(W,{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"},a.createElement(EN,{fontSize:"small"})),this.props.allowCreateFolder?a.createElement(W,{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"},a.createElement(mN,{fontSize:"small"})):null,this.props.allowUpload?a.createElement(W,{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"},a.createElement(Lo,{fontSize:"small"})):null,this.props.showTypeSelector&&e?a.createElement(Le,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:Y.tooltip}}},a.createElement(W,{size:"small",onClick:i=>this.setState({showTypesMenu:i.target})},a.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?a.createElement(ws,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(Xr).map(i=>{const r=Xr[i];return a.createElement(re,{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}))}},a.createElement(Xt,null,a.createElement(r,{fontSize:"small"})),a.createElement(dt,null,this.props.t(`ra_fileType_${i}`)))})):null,a.createElement(Le,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:Y.tooltip}}},a.createElement(W,{color:"inherit",edge:"start",style:Y.menuButton,onClick:this.setStateBackgroundImage,size:"small"},a.createElement(eM,{fontSize:"small"}))),this.state.viewType!==oe&&this.props.allowDelete?a.createElement(Le,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:Y.tooltip}}},a.createElement("span",null,a.createElement(W,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===Ft,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"},a.createElement(wt,{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?a.createElement(T_e,{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(M=>i[M]=this.state.folders[M]);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(k0),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})},a.createElement(we,null)),a.createElement(fN,{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 M=[...this.state.expanded];M.includes(o)||(M.push(o),M.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(M))),this.setState({expanded:M},()=>this.select(n))}else setTimeout(()=>this.browseFolder(o,null,!1,!0).then(M=>{const c=[...this.state.expanded];c.includes(o)||(c.push(o),c.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(c))),this.setState({folders:M,expanded:c},()=>this.select(n))}),500)})})}},r.readAsArrayBuffer(i)})}},({getRootProps:e,getInputProps:t})=>a.createElement("div",{style:{...Y.uploadDiv,...this.state.uploadFile==="dragging"?Y.uploadDivDragging:void 0},...e()},a.createElement("input",{...t()}),a.createElement(J,{component:"div",sx:Y.uploadCenterDiv},a.createElement("div",{style:Y.uploadCenterTextAndIcon},a.createElement(Lo,{style:Y.uploadCenterIcon}),a.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 M=JSON.parse(JSON.stringify(this.state.folders));delete M[t.id];const c=Js(t.id),l=M[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:M}))}})}});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?a.createElement(Ae,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},a.createElement(fe,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),a.createElement(_e,null,a.createElement(as,null,this.props.t("ra_Are you sure?")),a.createElement(V,{control:a.createElement(ue,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),a.createElement(q,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||P_e;return this.state.viewer?a.createElement(e,{supportSubscribes:this.supportSubscribes||void 0,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile||void 0,themeType:this.props.themeType||"light",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(_4,{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;Qn(this.state.path)&&(e=Js(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===S0?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(Rg,{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")):a.createElement("div",{style:Y.pathDivBreadcrumbSelected,key:`${this.state.selected}_${r}`,onClick:()=>this.setState({pathFocus:!0})},i)}))}renderPath(){return a.createElement(J,{component:"div",key:"path",sx:Y.pathDiv},this.state.pathFocus?a.createElement(qt,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:a.createElement(W,{size:"small",onClick:()=>this.changeToPath()},a.createElement(ry,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)),a.createElement("div",{style:{...Y.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===bn?this.renderPath():null,a.createElement("div",{style:{...Y.filesDiv,...Y[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==oe&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===oe?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==oe?a.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())):a.createElement(Fg,null)}}const W_e=Mn()(Nc),J_e="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgMGgtNDY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDMydjI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMjg4djI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMTkyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0zOTIgMjI0aC0yNHYtMTZoMjR6bTM0NCAwaC0yNHYtMTZoMjR6bTQwLTMyaC00NDh2LTE3Nmg0NDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYwIDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjAgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05NiAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTY0IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjggMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNjQgMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwOCAxMTJoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMzJjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptOC02NGgxNnYxNmgtMTZ6bTAgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyIDE2OGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",B_e="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3LjU0NiAxMDUuMTI1YzAtMS4wNDQtLjIwNS0yLjA5MS0uNjQ3LTMuMDcybC00My45My05Ny42M2MtMS4yMS0yLjY5Mi0zLjg4OC00LjQyMy02LjgzOS00LjQyM2gtMTgyLjYzYy00LjE0MyAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIzLjgxMnY4Mi42M2gtODIuNjI1di04Mi42M2gyMy44MTNjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE4Mi42M2MtMi45NTEgMC01LjYyOSAxLjczMS02Ljg0IDQuNDIzbC00My45MyA5Ny42M2MtLjQ0MS45ODEtLjY0NiAyLjAyOC0uNjQ3IDMuMDcyaC0uMDE1djEyLjIwM2MwIDI5LjUxNCAyMi44MjcgNTMuNzggNTEuNzUxIDU2LjExMmwzMS44NjUgNTguNDE5aC00LjAwN2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MzNjLjAwNSAwIC4wMS4wMDEuMDE1LjAwMXMuMDExLS4wMDEuMDE2LS4wMDFoMTYuNjE4YzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMi4xODlsLTMyLjQ1Ni01OS41MDNjMTUuNzUtMy40MTMgMjkuMDU3LTEzLjQzMyAzNi44NzktMjcuMDAzIDkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzcuODIyIDEzLjU3MSAyMS4xMjkgMjMuNTkxIDM2Ljg3OSAyNy4wMDNsLTMyLjQ1NiA1OS41MDNoLTEyLjE4OGMtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MThjLjAwNSAwIC4wMTEuMDAxLjAxNi4wMDFzLjAxLS4wMDEuMDE1LS4wMDFoMTYuNjMzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC00LjAwN2wzMS44NjUtNTguNDE5YzI4LjkyNC0yLjMzMiA1MS43NTEtMjYuNTk4IDUxLjc1MS01Ni4xMTJ2LTEyLjIwM3ptLTE5LjA4NS03LjQ5NWgtNzguNTIzdi04Mi42M2g0MS4zNDN6bS05My41MjMtODIuNjN2ODIuNjNoLTgyLjYyNXYtODIuNjN6bS0xOTUuMjUgODIuNjNoLTgyLjYyNXYtODIuNjNoODIuNjI1em0tMTM4Ljk2OC04Mi42M2g0MS4zNDN2ODIuNjNoLTc4LjUyNHptLjAzNCAxNDMuNjQxYy0uMDExIDAtLjAyMS0uMDAxLS4wMzItLjAwMS0yMi43NjctLjAxNS00MS4yODUtMTguNTQyLTQxLjI4NS00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzEgNDEuMzEtNDEuMzA4IDQxLjMxM3ptOTcuNjIxIDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4YzAgMjIuNzc4LTE4LjUzNCA0MS4zMTItNDEuMzEzIDQxLjMxMnptOTcuNjI1IDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4Yy0uMDAxIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjY0OC0uMDAxYy0uMDA1IDAtLjAwOSAwLS4wMTQgMC0uMDAzIDAtLjAwNiAwLS4wMDkgMC0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzItMTguNTIxIDQxLjMtNDEuMjkgNDEuMzEyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",R_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDk4LjUzNiAzNDQuMzIxaC0xNy4yOThjLjQzNC0xNy42NzItMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuMjk4Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5N2MwIDI0LjYwMSAxNS43MTIgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjkzdi02Ni42NGMzNi4wODggMS4yNjYgNTcuODQ2LTIyLjM5IDgxLjE0OS00NS42OTQgMjguNTE3LTMuMDI0IDUwLjgwOS0yNy4yMTYgNTAuODA5LTU2LjUyMnYtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI0LjYwMSAxNS43MTEgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjk0IDAtMjUuODk1IDAtNTEuNzkxIDAtNzcuNjg2aDIyLjcxNmMxMi4yODUgMCAxOC43MjYgMTUuNTMgMTAuMDMzIDI0LjIyMS05LjEyMiA5LjEyMSA1LjAyIDIzLjI2NCAxNC4xNDIgMTQuMTQzIDYuNDU4LTYuNDU3IDEwLjAxNC0xNS4wNDIgMTAuMDE0LTI0LjE3NSAwLTE4Ljg1Mi0xNS4zMzctMzQuMTg4LTM0LjE4OS0zNC4xODhoLTIyLjcxNnYtMTguODI0YzI2LjI1Ny01LjA0MyA0Ni4xNjEtMjguMTc1IDQ2LjE2MS01NS44ODF2LTIwLjg1MWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0zNi45MTR2LTI0LjIzNmgzNi45MTRjMTIuODQgMCAxMi44NTktMjAgMC0yMGgtOTMuODI4Yy0xMi44NCAwLTEyLjg1OSAyMCAwIDIwaDM2LjkxNHYyNC4yMzVoLTM2LjkxNGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyMC44NTFjMCAyOC4yMzMgMjAuNjY5IDUxLjcxOSA0Ny42NjcgNTYuMTUxdjE4LjU1NWgtMjIuNzE2Yy0xOC44NTIgMC0zNC4xODkgMTUuMzM3LTM0LjE4OSAzNC4xODggMCA5LjEzMiAzLjU1NiAxNy43MTcgMTAuMDE0IDI0LjE3NSA5LjEyMSA5LjEyMSAyMy4yNjMtNS4wMjEgMTQuMTQzLTE0LjE0My04LjY4NS04LjY4NC0yLjI2NC0yNC4yMjEgMTAuMDMzLTI0LjIyMWgyMi43MTZ2NzcuNjg2YzAgMzIuMzY0LTI2LjMzIDU4LjY5NC01OC42OTQgNTguNjk0LTE1LjY3NyAwLTMwLjQxNy02LjEwNS00MS41MDItMTcuMTkxbC0xMS4yMTgtMTEuMjE4YzIyLjUtNy41NzUgMzguNzU2LTI4Ljg1NiAzOC43NTYtNTMuODc3di0yNS42OThjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk4Yy40MzQtMTcuNjcxLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk4YzAgMjguNzA3IDIxLjM5NCA1Mi40OTggNDkuMDczIDU2LjNsMjIuOTM3IDIyLjkzN2MxNS4xNjQgMTUuMTYzIDM2LjAxIDIzLjQ4NiA1Ny40MzMgMjMuMDAzdjY2LjYxNGMwIDMyLjM2NC0yNi4zMyA1OC42OTMtNTguNjkzIDU4LjY5My0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuNjAyLTExLjYwMmMyMS45MTQtNy44OTggMzcuNjI1LTI4Ljg5MiAzNy42MjUtNTMuNDk0di0yNS42OTdjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk3Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OWMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyOS4zMDUgMjIuMjkyIDUzLjQ5NyA1MC44MDggNTYuNTIxbDIyLjcxNyAyMi43MTZjMTQuODYzIDE0Ljg2MyAzNC42MjUgMjMuMDQ4IDU1LjY0NSAyMy4wNDggNDMuMzkyIDAgNzguNjkzLTM1LjMwMiA3OC42OTMtNzguNjkzdi02OS42NTdjMTQuNDI2LTQuMTY0IDI3LjE2MS0xMi4zNDIgMzYuOTA1LTIzLjI1N3YyMC41MjJjMCAxMi44NCAyMCAxMi44NTkgMjAgMHYtMjAuNTIyYzkuNTIgMTAuNjYzIDIxLjg4OSAxOC43MjMgMzUuOTA1IDIyLjk3MnY2OS45NDZjMCA0My4zOTIgMzUuMzAyIDc4LjY5MyA3OC42OTMgNzguNjkzIDIxLjAyIDAgNDAuNzgxLTguMTg2IDU1LjY0NS0yMy4wNDhsMjIuNzE2LTIyLjcxNmMyOC41MTYtMy4wMjUgNTAuODA4LTI3LjIxNiA1MC44MDgtNTYuNTIxdi0yNS42OTdjLjAwMS01LjUyNC00LjQ3Ni0xMC4wMDEtOS45OTktMTAuMDAxem0tMTEyLjI5OC0xNDkuOTI3YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTMyNi45MTQtMjQuNjY0YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTEwNC44MTIgMTIwLjU5OWMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MiAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOC0zNi44NDUtMzYuODQ1di0xNS42OTd6bTEyMy40MTEtMjc4LjM2NHYtMTAuODUxaDczLjgyOHYxMC44NTFjMCA0Ny41OTYtNzMuODI4IDQ3LjU5Ni03My44MjggMHptMjI1LjA0MiAyNTMuN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0NS41MzUgMzc0LjE4M2MxLjYzNSAzLjkyNCA1LjcxNiA2LjQ2NiA5Ljk2OCA2LjEzOCA0LjE2OS0uMzIyIDcuNzc4LTMuMjcyIDguODk3LTcuMzAzIDIuMzY0LTguNTEzLTcuMTkxLTE1Ljc1OS0xNC43NzMtMTEuMjM1LTQuMjE0IDIuNTE0LTUuOTQ1IDcuODgtNC4wOTIgMTIuNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",F_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im05IDE3YzQuNDExIDAgOC0zLjU4OSA4LTggMC0xLjI1Ni0uMjk5LTIuNDQxLS44MTgtMy41MDEgMS4xMDMtMS41NDggMi44OTgtMi40OTkgNC44MTgtMi40OTkgMi44NCAwIDUuMjc4IDIuMDY0IDUuNzk5IDQuODMxLS4xOS4xMDUtLjM3NS4yMTgtLjU1NC4zNDItMS4yMjQtLjc0Ny0yLjYzNi0xLjE3My00LjA3NC0xLjE3M2gtLjE3MXYyaC4xNzFjLjg5NiAwIDEuNzguMjIxIDIuNTguNjE1LS4wODMuMTA5LS4xNzEuMjExLS4yNDguMzI2bC0uMzM2LjUwNCAxLjY2NCAxLjEwOS4zMzYtLjUwNGMuODU3LTEuMjgzIDIuMjktMi4wNSAzLjgzMy0yLjA1IDEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMmgtN2MtMS4xMDMgMC0yLS44OTctMi0yaC0yYzAgMi4yMDYgMS43OTQgNCA0IDRoMjVjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTRjLS40NzMgMC0uOTM1LjA2LTEuMzg3LjE1Ny0xLjE1OS0zLjYyMy00LjU0Mi02LjE1Ny04LjQzLTYuMTU3LTMuNTQ5IDAtNi43NDYgMi4xMDctOC4xNDQgNS4zNjlsLS4yNzcuNjQ2Yy0uMzU2LjAxMy0uNzA2LjA1NS0xLjA1LjEyMy0uODItMy41NDItNC4wMjMtNi4xMzgtNy43MTItNi4xMzgtMi4zMTIgMC00LjQ4OCAxLjAzNC01Ljk3OCAyLjc1MS0xLjQ2Ny0xLjY4Mi0zLjYyLTIuNzUxLTYuMDIyLTIuNzUxLTQuNDExIDAtOCAzLjU4OS04IDhzMy41ODkgOCA4IDh6bTI5LjE4My0xNGMzLjA0NyAwIDUuNjc2IDIuMDE3IDYuNTQxIDQuODc3LS4xNjMuMDkzLS4zMjUuMTg4LS40NzkuMjk1LTEuMjI1LS43NDYtMi42MzYtMS4xNzItNC4wNzQtMS4xNzJoLS4xNzF2MmguMTcxYy44OTUgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTE0LjU1NmMuMzQ0LS41OTEuNTU2LTEuMjY4LjU1Ni0yIDAtMS41NzEtLjkxOC0yLjkxOS0yLjIzOC0zLjU3M2wuMTE2LS4yN2MxLjA4Mi0yLjUyNSAzLjU1Ny00LjE1NyA2LjMwNS00LjE1N3ptLTI5LjE4MyAwYzMuMzA5IDAgNiAyLjY5MSA2IDZzLTIuNjkxIDYtNiA2LTYtMi42OTEtNi02IDIuNjkxLTYgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOSAyMWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyAxOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAyM2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",G_e="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTUxMS45NzYsNDE2LjA2M2MtMC4wMDUtMC4wNzUtMC4wMDQtMC4xNDktMC4wMTEtMC4yMjRjLTAuMDI3LTAuMjk3LTAuMDctMC41ODgtMC4xMzEtMC44NzMNCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4DQoJCWMtMC4wODQtMC4yMjctMC4xNzktMC40NDgtMC4yODQtMC42NjNjLTAuMDE4LTAuMDM4LTAuMDMtMC4wNzctMC4wNDktMC4xMTVsLTQwLjExMi03OS4xMThWNzMuNzINCgkJYzAtOC4wMDYtNi41MTMtMTQuNTE5LTE0LjUxOS0xNC41MTlINTUuNDQxYy04LjAwNiwwLTE0LjUxOSw2LjUxMy0xNC41MTksMTQuNTE5djI2MC4yOThMMC44MTEsNDEzLjEzNw0KCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQ0KCQljLTAuMDg1LDAuMjUxLTAuMTU5LDAuNTA4LTAuMjE4LDAuNzdjLTAuMDA2LDAuMDI3LTAuMDE1LDAuMDU0LTAuMDIxLDAuMDgxYy0wLjA2MSwwLjI4Ni0wLjEwNCwwLjU3Ny0wLjEzMSwwLjg3NA0KCQljLTAuMDA3LDAuMDc0LTAuMDA3LDAuMTQ5LTAuMDExLDAuMjIzQzAuMDE0LDQxNi4yMTcsMCw0MTYuMzcxLDAsNDE2LjUyOXYxOS4wMjZjMCw5LjUwOSw3LjczNSwxNy4yNDQsMTcuMjQ0LDE3LjI0NGg0NzcuNTEyDQoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5DQoJCUg1NS45MjNWNzQuMjAzeiBNNTMuMDI5LDM0My4zMTFINDU4Ljk3bDMzLjMxOCw2NS43MTdoLTE2NC43OGwtOC4yNzEtMjkuOTg5Yy0xLjY4NC02LjEwNS03LjI4Mi0xMC4zNjktMTMuNjE1LTEwLjM2OWgtOTkuMjQ2DQoJCWMtNi4zMzMsMC0xMS45MzIsNC4yNjQtMTMuNjE1LDEwLjM2OGwtOC4yNzEsMjkuOTlIMTkuNzExTDUzLjAyOSwzNDMuMzExeiBNMzExLjk0OCw0MDkuMDI5SDIwMC4wNTJsNi45OTMtMjUuMzU4aDk3LjkxDQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiINCgkJLz4NCgk8cGF0aCBkPSJNNDMyLjU3NywyMTMuNzU2Yy00LjE0MywwLTcuNSwzLjM1Ny03LjUsNy41djc2LjA1NUg4Ni45MjN2LTc2LjA1NWMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41DQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQNCgkJCUM0NDAuMDc3LDIxNy4xMTUsNDM2LjcyLDIxMy43NTYsNDMyLjU3NywyMTMuNzU2eiIvPg0KCTxwYXRoIGQ9Ik00MjguMzE2LDkwLjIwM0g4My42ODRjLTYuNDg1LDAtMTEuNzYxLDUuMjc1LTExLjc2MSwxMS43NjF2NzkuMjk0YzAsNC4xNDMsMy4zNTcsNy41LDcuNSw3LjVjNC4xNDMsMCw3LjUtMy4zNTcsNy41LTcuNQ0KCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPg0KPC9nPg0KPC9zdmc+DQo=",H_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTY0LjM5OSAyMDUuODcyYzQuMDk5LjY2NCA4LjIwNi0xLjI3MyAxMC4yODQtNC45MWw2MC0xMDVjMS43NjktMy4wOTUgMS43NTYtNi44OTctLjAzMy05Ljk4cy01LjA4NS00Ljk4MS04LjY0OS00Ljk4MWgtMzYuNjgybC0xMy40ODYtNzIuODIxYy0uNzcyLTQuMTY5LTQuMDg5LTcuMzk4LTguMjc3LTguMDU4LTQuMTg1LS42Ni04LjMzNyAxLjM5NC0xMC4zNTMgNS4xMjNsLTYwIDExMWMtMS42NzUgMy4wOTktMS41OTcgNi44NTEuMjA4IDkuODc2IDEuODA0IDMuMDI1IDUuMDY2IDQuODc5IDguNTg5IDQuODc5aDM2LjgwMmwxMy4zOTMgNjYuOTYxYy44MTcgNC4wOSA0LjA4OCA3LjI0MiA4LjIwNCA3LjkxMXptLTEzLjM5OS05NC44NzFoLTI4LjIyOGwzOC41NTQtNzEuMzIzIDkuODQxIDUzLjE0NGMuODc4IDQuNzQgNS4wMTMgOC4xNzkgOS44MzMgOC4xNzloMjcuNzY5bC0zOC4yIDY2Ljg1LTkuNzYzLTQ4LjgxMWMtLjkzNS00LjY3NC01LjAzOS04LjAzOS05LjgwNi04LjAzOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM2IDE0Ni4wMDFjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHYtNjBjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMzUuODU3bC0xMDAgMTAwaC01NS44NTdjLTIuNjUyIDAtNS4xOTUgMS4wNTQtNy4wNzEgMi45MjlsLTkwIDkwYy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMy45MDcgMy45MDUgMTAuMjM2IDMuOTA0IDE0LjE0MyAwbDg3LjA3MS04Ny4wNzFoNTUuODU3YzIuNjUyIDAgNS4xOTUtMS4wNTQgNy4wNzEtMi45MjlsMTAyLjkyOS0xMDIuOTN2MzUuODU3YzAgNS41MjQgNC40NzggMTAuMDAxIDEwIDEwLjAwMXoiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNDM2IiBjeT0iMzQ2LjAwMSIgcj0iMTAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",V_e="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cmVjdCB4PSIyMTYiIHk9Ijg4LjQ4OSIgd2lkdGg9IjgwIiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwLDUyLjQ5NHY5LjI4NWMtMi4zNDctMC44MzItNC44NzItMS4yODUtNy41LTEuMjg1Yy0xMi40MDYsMC0yMi41LDEwLjA5My0yMi41LDIyLjVjMCwxMi40MDcsMTAuMDk0LDIyLjUsMjIuNSwyMi41DQoJCQljMi42MjgsMCw1LjE1My0wLjQ1Myw3LjUtMS4yODV2MzU1LjI5OGg3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1YzIuODk5LTEuNzU1LDQuODE0LTIuOTE1LDkuMzI1LTIuOTE1DQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQ0KCQkJYzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NQ0KCQkJczEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTVjNC41MSwwLDYuNDI1LDEuMTYsOS4zMjIsMi45MTUNCgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUNCgkJCXM3LjUsMy4zNjQsNy41LDcuNUMzMCw4Ny4xMywyNi42MzYsOTAuNDk0LDIyLjUsOTAuNDk0eiBNMTg4LjUsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yMTYuNzloLTE1djIyMi45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMzYuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMTEuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTEzLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTM4Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSIxNTUuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEzMC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDg5LjUsNjAuNDk0Yy0yLjYyOCwwLTUuMTUzLDAuNDUzLTcuNSwxLjI4NXYtOS4yODVIMzA4LjV2NDA3LjAxM2g3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1DQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1DQoJCQljOC42OTgsMCwxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNQ0KCQkJYzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1czEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTUNCgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUNCgkJCWMxMi40MDYsMCwyMi41LTEwLjA5MywyMi41LTIyLjVDNTEyLDcwLjU4NSw1MDEuOTA2LDYwLjQ5NCw0ODkuNSw2MC40OTR6IE00NjcsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yNTAuNzloLTE1djI1Ni45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUNCgkJCWMwLTQuMTM2LDMuMzY0LTcuNSw3LjUtNy41czcuNSwzLjM2NCw3LjUsNy41QzQ5Nyw4Ny4xMyw0OTMuNjM2LDkwLjQ5NCw0ODkuNSw5MC40OTR6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Z_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00MiAxMmMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMi00YzAgMS4xMDMtLjg5NyAyLTIgMnMtMi0uODk3LTItMmMwLS4xNzguMDMxLS4zNDcuMDc1LS41MTFsMS4yMTggMS4yMTggMS40MTQtMS40MTQtMS4yMTgtMS4yMThjLjE2NC0uMDQ0LjMzMy0uMDc1LjUxMS0uMDc1IDEuMTAzIDAgMiAuODk3IDIgMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxMmgyYzEuNjU0IDAgMy0xLjM0NiAzLTNzLTEuMzQ2LTMtMy0zaC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzem0wLTRoMmMuNTUxIDAgMSAuNDQ5IDEgMXMtLjQ0OSAxLTEgMWgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzIDZoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDNoMmMxLjY1NCAwIDMtMS4zNDYgMy0zcy0xLjM0Ni0zLTMtM3ptMCA0aC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xaDJjLjU1MSAwIDEgLjQ0OSAxIDFzLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",X_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTExMy4yMDYgMTA2LjI2NWgtMTMuNjIzdi04Ni4yOGExLjc0OSAxLjc0OSAwIDAgMCAtMS41NTQtMS43MzhsLTQ2LTUuMTkyYTEuNzUgMS43NSAwIDAgMCAtMS45NDYgMS43Mzl2My40NDFoLTE5LjkxNmExLjc1IDEuNzUgMCAwIDAgLTEuNzUgMS43NXY4Ni4yOGgtMTMuNjIzYTEuNzUgMS43NSAwIDEgMCAwIDMuNWgzNS4yODl2My40NDFhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NSAxLjYxIDEuNjEgMCAwIDAgLjItLjAxMWw0NS45LTUuMThoMTUuMjc2YTEuNzUgMS43NSAwIDAgMCAwLTMuNXptLTgxLjI4OS04NC41M2gxOC4xNjZ2NC41aC0xMS45MTdhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2NzguMjhoLTQuNXptOCA4NC41M3YtNzYuNTNoMTAuMTY2djc2LjUzem0xMy42NjYtODkuNTEzIDQyLjUgNC44djg0LjlsLTQyLjUgNC44eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",K_e="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDAxLjA2NywwSDExMC45MzNjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0OTQuOTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjkwLjEzMw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsMzQuMTMzSDE0NS4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0NjAuOGMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDIyMS44NjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTQ2MC44QzM3NS40NjcsMzcuOTQ4LDM3MS42NDQsMzQuMTMzLDM2Ni45MzMsMzQuMTMzeiBNMzU4LjQsNDk0LjkzM0gxNTMuNlY1MS4yaDIwNC44VjQ5NC45MzN6DQoJCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQ3LjA1MywwLTg1LjMzMywzOC4yODEtODUuMzMzLDg1LjMzM3Y4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE1My42DQoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE1My42QzM0MS4zMzMsMTA2LjU0NywzMDMuMDUzLDY4LjI2NywyNTYsNjguMjY3eiBNMTg3LjczMywxNTMuNg0KCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMTg3LjczM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MyNDcuNDY3LDE5MS41NDgsMjQzLjY0NCwxODcuNzMzLDIzOC45MzMsMTg3LjczM3ogTTIzMC40LDMwNy4yaC00Mi42NjdWMjA0LjhIMjMwLjQNCgkJCVYzMDcuMnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDE4Ny43MzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxOTYuMjY3QzM0MS4zMzMsMTkxLjU0OCwzMzcuNTEsMTg3LjczMywzMzIuOCwxODcuNzMzeiBNMzI0LjI2NywzMDcuMkgyODEuNlYyMDQuOGg0Mi42NjdWMzA3LjINCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQxLjMzM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MyNDcuNDY3LDM0NS4xNDgsMjQzLjY0NCwzNDEuMzMzLDIzOC45MzMsMzQxLjMzM3ogTTIzMC40LDQ2MC44aC00Mi42NjdWMzU4LjRIMjMwLjQNCgkJCVY0NjAuOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDM0MS4zMzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNDkuODY3QzM0MS4zMzMsMzQ1LjE0OCwzMzcuNTEsMzQxLjMzMywzMzIuOCwzNDEuMzMzeiBNMzI0LjI2Nyw0NjAuOEgyODEuNlYzNTguNGg0Mi42NjdWNDYwLjgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y4NS4zMzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y3Ni44DQoJCQlDMjY0LjUzMyw3Mi4wODEsMjYwLjcxLDY4LjI2NywyNTYsNjguMjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2Ng0KCQkJYzEuNjY0LDEuNjY0LDMuODQ5LDIuNSw2LjAzMywyLjVjMi4xODUsMCw0LjM2OS0wLjgzNiw2LjAzMy0yLjVsNTguNDAyLTU4LjQwMkMzMjMuNzcyLDEwNi40MjgsMzIzLjc3MiwxMDEuMDM1LDMyMC40MzUsOTcuNjk4eiINCiAgICAgICAgLz4NCiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExDQoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNUMyNjUuMzcsMTY0LjgzLDI2NS4zNywxNTkuNDM3LDI2Mi4wMzMsMTU2LjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01OS43MzMsNDk0LjkzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzQzAsNTA4LjE4NiwzLjgyMyw1MTIsOC41MzMsNTEyaDUxLjINCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDQ5NC45MzNoLTEwMi40Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxMDIuNA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM0M1MTIsNDk4Ljc0OCw1MDguMTc3LDQ5NC45MzMsNTAzLjQ2Nyw0OTQuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",q_e="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE2MGE5NiA5NiAwIDEgMCA5NiA5NiA5Ni4xMDggOTYuMTA4IDAgMCAwIC05Ni05NnptMCAxNzZhODAgODAgMCAxIDEgODAtODAgODAuMDkxIDgwLjA5MSAwIDAgMSAtODAgODB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzIgNDg4di00NjRhOCA4IDAgMCAwIC04LThoLTMzNmE4IDggMCAwIDAgLTggOHY0NjRhOCA4IDAgMCAwIDggOGgzMzZhOCA4IDAgMCAwIDgtOHptLTMzNi0zNzZoMzIwdjMwNGgtMzIwem05Ni04MGgxNDR2NDBhOCA4IDAgMCAwIDggOGg3MnYxNmgtMjI0em0yMjQgMzJoLTY0di0zMmg2NHptLTI0MC0zMnY2NGgtODB2LTY0em0tODAgNDQ4di00OGgzMjB2NDh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDggNDBhMjQgMjQgMCAxIDAgMjQgMjQgMjQuMDI3IDI0LjAyNyAwIDAgMCAtMjQtMjR6bTAgMzJhOCA4IDAgMSAxIDgtOCA4LjAwOSA4LjAwOSAwIDAgMSAtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4OCA0MGgzMnYxNmgtMzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODggNzJoMzJ2MTZoLTMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjk2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjE2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",exe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+DQo8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KCTxwYXRoIGQ9Ik00MzIuNTU4LDE3Mi4wMkM0MTkuMzAzLDY0LjU4NywzMjEuNDY2LTExLjc2LDIxNC4wMzMsMS40OTVTMzAuMjUzLDExMi41ODcsNDMuNTA4LDIyMC4wMg0KCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2DQoJCXYtMzcuNTJDMzY5LjQ2NiwzNzcuMjksNDQ1LjgxMywyNzkuNDUzLDQzMi41NTgsMTcyLjAyeiBNMzE4LjAzMyw0NDQuMDY1YzQuNDE4LDAsOCwzLjU4Miw4LDh2OGgtMTc2di04YzAtNC40MTgsMy41ODItOCw4LTgNCgkJSDMxOC4wMzN6IE0yMzAuMDMzLDQyOC4wNjV2LTMyaDE2djMySDIzMC4wMzN6IE0yMzguMDMzLDM3Ni4wNjVjLTk5LjQxMSwwLTE4MC04MC41ODktMTgwLTE4MA0KCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+DQoJPHBhdGggZD0iTTQwNi4wMzMsMjEyLjA2NXYtMTZjMC00LjQxOC0zLjU4Mi04LTgtOGgtOTMuNTM2YzM5LjgtMjcuODMyLDQ5LjUwMi04Mi42NTgsMjEuNjctMTIyLjQ1OA0KCQljLTE2LjQ2Ny0yMy41NDgtNDMuNC0zNy41NjUtNzIuMTM0LTM3LjU0MmgtMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDh2OTMuNTM2Yy0yNy44MzItMzkuOC04Mi42NTgtNDkuNTAyLTEyMi40NTgtMjEuNjcNCgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzINCgkJYzAuMDU3LDQ4LjU3NywzOS40MjMsODcuOTQzLDg4LDg4aDE2YzQuNDE4LDAsOC0zLjU4Miw4LTh2LTkzLjUzNmMyNy44MzIsMzkuOCw4Mi42NTgsNDkuNTAyLDEyMi40NTgsMjEuNjcNCgkJQzM5Mi4wMzgsMjY3LjczMyw0MDYuMDU2LDI0MC44LDQwNi4wMzMsMjEyLjA2NXogTTI0Ni4wMzMsNDQuMDY1aDhjMzkuNzY0LDAuMDU1LDcxLjk1NSwzMi4zMzYsNzEuOSw3Mi4xDQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04DQoJCWMwLjA3My0zOS43NjQsMzIuMzY4LTcxLjk0LDcyLjEzMy03MS44NjdjMzEuMTQ4LDAuMDU3LDU4LjcyNywyMC4xMzgsNjguMzQ3LDQ5Ljc2M2MtMTQuMDQ3LDQuMjAzLTI0LjY2OCwxNS43NTUtMjcuNjgsMzAuMTA0DQoJCUg4Ni4wMzN6IE0yMzAuMDMzLDM0OC4wNjVoLThjLTM5Ljc2NC0wLjA1NS03MS45NTUtMzIuMzM2LTcxLjktNzIuMWMwLjA0My0zMS4xNywyMC4xMzgtNTguNzcyLDQ5Ljc4OC02OC4zODgNCgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNA0KCQlzMjQsMTAuNzQ1LDI0LDI0UzI1MS4yODcsMjIwLjA2NSwyMzguMDMzLDIyMC4wNjV6IE0zMTcuOSwyODMuOTMyYy0zMS4xNDgtMC4wNTctNTguNzI3LTIwLjEzOC02OC4zNDctNDkuNzYzDQoJCWMxNC4wNDctNC4yMDMsMjQuNjY4LTE1Ljc1NSwyNy42OC0zMC4xMDRoMTEyLjh2OEMzODkuOTU5LDI1MS44MywzNTcuNjY0LDI4NC4wMDYsMzE3LjksMjgzLjkzMnoiLz4NCjwvZz4NCjwvc3ZnPg0K",txe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTksMTI2LjAwMWgtMC4wMjdjNi4yOTItOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC4wMDEtNTAtNTAuMDAxDQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1DQoJCWMtMTEuMzI4LTcuMjMzLTIzLjEyOC0xMy42NTgtMzUuMzM0LTE5LjI0MXYtMTYuMzA0YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwLDQuNDc3LTEwLDEwdjguMDM3DQoJCWMtMy4zNjktMS4yNDctNi43NjQtMi40MzgtMTAuMTg2LTMuNTYyYy04LjI5MS0yLjcyMy0xNi42ODMtNS4wNTItMjUuMTQ2LTcuMDExdi0yMC44MzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMA0KCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCXYzMC4xODNjLTExLjg1OSwwLjQwNy0yMy42NTMsMS41MzItMzUuMzMzLDMuMzgxdi0xNi45MzJjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYyMC44MzMNCgkJYy04LjQ2MiwxLjk1OS0xNi44NTIsNC4yODctMjUuMTQyLDcuMDA5Yy0zLjQyNCwxLjEyNC02LjgxOSwyLjMxNi0xMC4xOTEsMy41NjN2LTguMDM3YzAtNS41MjMtNC40NzctMTAtMTAtMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcNCgkJYzYuMjkzLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAtNTAtNTBzLTUwLDIyLjQzLTUwLDUwYzAsMTEuMjQ4LDMuNzM0LDIxLjYzOCwxMC4wMjcsMzBIMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjMxOS45OTljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MGg0MGgzMS4wMzNjNS41MjIsMCwxMC00LjQ3NywxMC0xMGMwLTUuNTIyLTQuNDc4LTEwLTEwLTEwSDEwMA0KCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwDQoJCVYxMzYuMDAxQzUxMS45OTksMTMwLjQ3Nyw1MDcuNTIxLDEyNi4wMDEsNTAxLjk5OSwxMjYuMDAxeiBNODAsNDQ1Ljk5OUg1MEgyMFYxNDYuMDAxaDIwdjQxLjg5OGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwDQoJCXMxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwVjQ0NS45OTl6IE01MCwxMjYuMDAxYy0xNi41NDMsMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU3LTMwLDMwLTMwYzE2LjU0MywwLDMwLDEzLjQ1OCwzMCwzMA0KCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2DQoJCWgtMzUuMzMzVjE2NS4zODRjMTEuNS00LjYzLDIzLjI5OC04LjQ0OSwzNS4zMzMtMTEuNDM3VjQwNnogTTI0Niw0MDZoLTM1LjMzM1YxNDkuNzg3YzExLjYxNC0xLjk1OCwyMy40MDktMy4xNjgsMzUuMzMzLTMuNTk5DQoJCVY0MDZ6IE0zMDEuMzMyLDQwNS45OThIMjY2di0yNTkuODFjMTEuOTI0LDAuNDMxLDIzLjcxNywxLjY0MSwzNS4zMzIsMy41OTlWNDA1Ljk5OHogTTM1Ni42NjQsNDA1Ljk5OWgtMzUuMzMyVjE1My45NDgNCgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyDQoJCVY0MDUuOTk4eiBNNDkxLjk5OSw0NDUuOTk5aC0zMGgtMzAuMDAxVjE0Ni4wMDFoMjAuMDAxdjQxLjg5OGMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMA0KCQlWNDQ1Ljk5OXogTTQ2MS45OTksMTI2LjAwMWMtMTYuNTQyLDAtMzAuMDAxLTEzLjQ1OC0zMC4wMDEtMzBjMC0xNi41NDMsMTMuNDU5LTMwLjAwMSwzMC4wMDEtMzAuMDAxDQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUwLDQ0NS45OTloLTAuMjM2Yy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBIMTUwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTANCgkJQzE2MCw0NTAuNDc3LDE1NS41MjMsNDQ1Ljk5OSwxNTAsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCUMzNzIuMjM0LDQ1MC40NzcsMzY3Ljc1OCw0NDUuOTk5LDM2Mi4yMzQsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwLDIwNi42MzFjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MC4yMzVjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMC4yMzUNCgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS45OTksMjA2LjYzMWMtNS41MjIsMC0xMCw0LjQ3Ny0xMCwxMHYwLjIzNWMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTAuMjM1DQoJCUM0NzEuOTk5LDIxMS4xMDgsNDY3LjUyMSwyMDYuNjMxLDQ2MS45OTksMjA2LjYzMXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",sxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsMTA4LjAwM2MtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LThzMy41ODItOCw4LThzOC0zLjU4Miw4LTgNCgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzg1LjM1Nyw3Ni4xMTVsLTI4MC00OGMtMC40NDctMC4wNzMtMC44OTktMC4xMTEtMS4zNTItMC4xMTJDNDYuNjEyLDI3Ljk1NiwwLjA0Nyw3NC40NDQsMCwxMzEuODM3DQoJCQljLTAuMDI2LDMxLjA1OSwxMy44NDMsNjAuNTAxLDM3LjgwNSw4MC4yNjFsNTguNDQsMjMzLjg0OGMwLjg5MiwzLjU1OSw0LjA5MSw2LjA1Niw3Ljc2LDYuMDU2aDY0DQoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2DQoJCQljMy44NTQtMC42NDUsNi42NzktMy45OCw2LjY4LTcuODg4di05NkMzOTIuMDA3LDgwLjEwNSwzODkuMTk5LDc2Ljc3MywzODUuMzU3LDc2LjExNXogTTExMC4yNTMsNDM2LjAwM0w1Ny42MDUsMjI1LjE3MQ0KCQkJYzAuNTA0LDAuMjQ4LDEuMDQsMC40MTYsMS41NDQsMC42NjRjMi41NzYsMS4yMzIsNS4xODksMi4zNTIsNy44NCwzLjM2YzAuNzQ0LDAuMjgsMS40NjQsMC42LDIuMjA4LDAuODY0DQoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1Ng0KCQkJYzEuMDA4LDAuMTI4LDIuMDE2LDAuMjY0LDMuMDI0LDAuMzY4YzMuNjExLDAuMzksNy4yNCwwLjU5NiwxMC44NzIsMC42MTZjMC40NTMtMC4wMDEsMC45MDUtMC4wMzksMS4zNTItMC4xMTJsNDEuMjE2LTcuMDg4DQoJCQlsMTIuOTIsMjA3LjJIMTEwLjI1M3ogTTM0NC4wMDUsMTc4LjczOWwtMjM4LjA4OCw0MC44bC0yLjU3NiwwLjQ2NGMtNDguMzY3LTAuMzA0LTg3LjM5OS0zOS42MzItODcuMzM2LTg4DQoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDc2LjAwM2MtMzAuOTI4LDAtNTYsMjUuMDcyLTU2LDU2YzAuMDM1LDMwLjkxMywyNS4wODcsNTUuOTY1LDU2LDU2YzMwLjkyOCwwLDU2LTI1LjA3Miw1Ni01Ng0KCQkJQzE2MC4wMDUsMTAxLjA3NSwxMzQuOTMzLDc2LjAwMywxMDQuMDA1LDc2LjAwM3ogTTEwNC4wMDUsMTcyLjAwM2MtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MA0KCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQxLjkzMyw0MTEuNTIzbC05LjY2NC0xNTUuMDI0Yy0wLjI3Ni00LjQxOC00LjA4Mi03Ljc3Ni04LjUtNy41Yy00LjQxOCwwLjI3Ni03Ljc3Niw0LjA4Mi03LjUsOC41bDkuNjY0LDE1NQ0KCQkJYzAuMjYzLDQuMjI3LDMuNzczLDcuNTE2LDguMDA4LDcuNTA0YzAuMTY4LDAsMC4zMzYsMCwwLjUwNCwwQzEzOC44NTQsNDE5LjcyOCwxNDIuMjA3LDQxNS45MzIsMTQxLjkzMyw0MTEuNTIzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDE1Ni4wMDNoLTQ4Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThTNDc2LjQyMywxNTYuMDAzLDQ3Mi4wMDUsMTU2LjAwM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsOTIuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsOTIuMDAzLDQ3Mi4wMDUsOTIuMDAzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",ixe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ4LjQ1Nyw3Ny4yMjdhOC4wNjMsOC4wNjMsMCwwLDAtMTAuNCwxMi4zMjV2Ni45MjdhNS4yNzMsNS4yNzMsMCwwLDAsMTAuNTQ1LDBWODkuNTUzYTguMDYzLDguMDYzLDAsMCwwLS4xNDYtMTIuMzI2Wk00NS44NzQsODcuMjRhMS43NSwxLjc1LDAsMCwwLS43NzEsMS40NTF2Ny43ODdhMS43NzMsMS43NzMsMCwwLDEtMy41NDUsMFY4OC42OTFhMS43NDcsMS43NDcsMCwwLDAtLjc3My0xLjQ1MUE0LjU2Niw0LjU2NiwwLDAsMSw0Mi40LDc4Ljk3OGE0Ljg3Niw0Ljg3NiwwLDAsMSwuOTQtLjA5Miw0LjUsNC41LDAsMCwxLDIuODkzLDEuMDQxLDQuNTYyLDQuNTYyLDAsMCwxLS4zNTYsNy4zMTNaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",rxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS4zNCwxMTcuMzM2Yy01LjkwNiwwLTEwLjY4OCw0Ljc3My0xMC42ODgsMTAuNjY0djg1LjMzNUg0NjkuMzR2LTIxLjMzNmMwLTIzLjUyMy0xOS4xNTYtNDIuNjYzLTQyLjY4OC00Mi42NjMNCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTENCgkJYy03LjgxMi04Ljg4Mi0xOS4yNS0xNC40OTEtMzItMTQuNDkxYy0xMi43MTksMC0yNC4xNTYsNS42MDktMzEuOTkyLDE0LjQ5MWMtNy44Mi04Ljg4Mi0xOS4yNTgtMTQuNDkxLTMyLTE0LjQ5MQ0KCQljLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTFjLTcuODItOC44ODItMTkuMjU4LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTENCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQNCgkJQzQuNzczLDIxMy4zMzUsMCwyMTguMTA4LDAsMjIzLjk5OXM0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgxMC42NzJ2MjEuMzM2YzAsNS44OTEsNC43NzMsMTAuNjY0LDEwLjY2NCwxMC42NjRoMzJ2MjAyLjY3OA0KCQljMCwyMy41MTYsMTkuMTQxLDQyLjY1Niw0Mi42NjQsNDIuNjU2YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjVjNy44MjgsOC44NzUsMTkuMjczLDE0LjUsMzIsMTQuNQ0KCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUNCgkJYzcuODM2LDguODc1LDE5LjI3MywxNC41LDMxLjk5MiwxNC41YzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjUNCgkJYzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjVjMjMuNTMxLDAsNDIuNjg4LTE5LjE0MSw0Mi42ODgtNDIuNjU2VjIzNC42NjNoMzINCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUNCgkJeiBNMTI3Ljk5OSw0NjkuMzQxYzAsMTEuNzUtOS41NjMsMjEuMzEyLTIxLjMzNiwyMS4zMTJjLTExLjc1NywwLTIxLjMyOC05LjU2Mi0yMS4zMjgtMjEuMzEyVjI1NS45OTl2LTY0DQoJCWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0xOTEuOTk5LDQ2OS4zNDENCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2DQoJCWMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMjU1Ljk5OCw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjMzNiwyMS4zMTINCgkJYy0xMS43NTcsMC0yMS4zMjgtOS41NjItMjEuMzI4LTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTctMjEuMzM2LDIxLjMyOC0yMS4zMzZjMTEuNzczLDAsMjEuMzM2LDkuNTc4LDIxLjMzNiwyMS4zMzZWNDY5LjM0MXoNCgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5DQoJCWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNmMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNMzgzLjk5Nyw0NjkuMzQxDQoJCWMwLDExLjc1LTkuNTYyLDIxLjMxMi0yMS4zNDQsMjEuMzEyYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2DQoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTINCgkJYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDENCgkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyDQoJCQljLTIuMzEyLTcuOTM4LTYuODEyLTEzLjU0Ny03LjM3NS0xNC4yNWMtMC4wMzEsMC0wLjAzMS0wLjAwOC0wLjAzMS0wLjAwOHYtMC4wMTVjLTEuOTY5LTIuMzU5LTQuOTA2LTMuODY3LTguMjE5LTMuODY3DQoJCQljLTUuODksMC0xMC42NTUsNC43ODEtMTAuNjU1LDEwLjY3MmMwLDIuNTg2LDAuOTA2LDQuOTYxLDIuNDM4LDYuODA1YzAuMDMxLDAuMDIzLDIuMjgxLDIuOTM4LDMuMzc1LDYuNjU2DQoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOA0KCQkJYzEuOTY5LDIuNDIyLDQuOTUzLDMuOTc3LDguMzEyLDMuOTc3YzUuODkxLDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRjMC0yLjUzOS0wLjg3NS00Ljg2Ny0yLjM0NC02LjY5NQ0KCQkJQzM2MC4yNzgsMTEwLjYxLDM1Ny45NjUsMTA3LjU1NSwzNTYuODcxLDEwMy42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2DQoJCQljLTMuMTg4LTExLjkzOC05LjMxMi0yMC4yMjctMTAtMjEuMTMzVjQuMjJjLTEuOTY5LTIuNTU1LTUuMDIzLTQuMjE5LTguNDkyLTQuMjE5Yy01Ljg5MywwLTEwLjY2Niw0Ljc3My0xMC42NjYsMTAuNjY0DQoJCQljMCwyLjQxNCwwLjgwNSw0LjYzMywyLjE1Niw2LjQxNGgtMC4wMTZjMC4wNDcsMC4wNjIsNC40OTIsNi4xMDksNi41NDcsMTQuMzJjMi40NTMsOS44MjcsMC40ODQsMTguMTg3LTYuMDE2LDI1LjUzOA0KCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2DQoJCQljMS45NDUsMi41Nyw1LjAxNiw0LjIxOSw4LjQ3Nyw0LjIxOWM1Ljg5OCwwLDEwLjY4LTQuNzczLDEwLjY4LTEwLjY2NGMwLTIuNDE0LTAuODEyLTQuNjMzLTIuMTU2LTYuNDE0DQoJCQlDMjc1LjE0LDExMC44NiwyNzAuNjk1LDEwNC44MTMsMjY4LjY1Niw5Ni42MXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQ0KCQkJYzguNjY0LTguNjk1LDExLjUyMy0xOS45ODQsOC4wNjItMzEuODEyYy0yLjMyLTcuOTM4LTYuNzg5LTEzLjUzMS03LjM5MS0xNC4yNWMwLDAsMC0wLjAwOC0wLjAwOC0wLjAwOGwtMC4wMDgtMC4wMjN2MC4wMDgNCgkJCWMtMS45NjEtMi4zNTktNC45MDYtMy44NjctOC4yMTEtMy44NjdjLTUuODkxLDAtMTAuNjcyLDQuNzgxLTEwLjY3MiwxMC42NzJjMCwyLjU4NiwwLjkyMiw0Ljk2MSwyLjQ1Myw2LjgwNQ0KCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OA0KCQkJYzIuMzI4LDguMTAyLDYuODI4LDEzLjgzNiw3LjMzNiwxNC40Njl2LTAuMDA4YzEuOTYxLDIuNDIyLDQuOTQ1LDMuOTc3LDguMzA1LDMuOTc3YzUuODkxLDAsMTAuNjY0LTQuNzczLDEwLjY2NC0xMC42NjQNCgkJCWMwLTIuNTM5LTAuODkxLTQuODY3LTIuMzY3LTYuNjk1SDE4OS42NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",oxe="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDg4IDMyMC41aC00MHYtMzJjMC0yLjEyODkwNi0uODM5ODQ0LTQuMTYwMTU2LTIuMzQzNzUtNS42NTYyNWwtMTIwLTEyMGMtMS40OTYwOTQtMS41MDM5MDYtMy41MjczNDQtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTE2di0xNTJjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOGgtOTZjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2MTUyaC0yNGMtMi4xMjg5MDYgMC00LjE2MDE1Ni44Mzk4NDQtNS42NTYyNSAyLjM0Mzc1bC0xMjAgMTIwYy0xLjUwMzkwNiAxLjQ5NjA5NC0yLjM0Mzc1IDMuNTI3MzQ0LTIuMzQzNzUgNS42NTYyNXYzMmgtMzJjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2NDhjMCA0LjQyNTc4MSAzLjU3NDIxOSA4IDggOGg0ODBjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDhjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOHptLTI4MC0zMDRoODB2MTkyaC04MHptLTE1MiAyNzUuMzEyNSAxMTUuMzEyNS0xMTUuMzEyNWgyMC42ODc1djQwYzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoOTZjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDBoMTIuNjg3NWwxMTUuMzEyNSAxMTUuMzEyNXYyOC42ODc1aC0zNzZ6bTQyNCA3Ni42ODc1aC00NjR2LTMyaDQ2NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNy4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjc1LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDI4OC41aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",nxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTMyNy4xNTksMi43NjZjLTQuMDYzLTMuNjg4LTEwLjI1LTMuNjg4LTE0LjMxMywwYy00LjY0Miw0LjE4Ni0xMTAuODg5LDEwMS4yOTItMTYwLjIyOCwyMTMuODM5DQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2DQoJCQkJYy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4M2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2Nw0KCQkJCWMwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODMNCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43Ng0KCQkJCWM4LjA1Miw1LjYwNCwxOC4wODMsMTIuNTczLDM2Ljc3MSwxMi41NzNjMTguNjc3LDAsMjguNzA4LTYuOTY5LDM2Ljc3MS0xMi41NzNjNy4wMzEtNC44OTYsMTIuNTk0LTguNzYsMjQuNTk0LTguNzYNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3Mw0KCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkNCgkJCQljMzMuMjE5LDMyLjAxLDE3MC42NjcsMTcxLjg2NSwxNzAuNjY3LDI5NC42NzdjMCw5NC4xMDQtNzYuNTYzLDE3MC42NjctMTcwLjY2NywxNzAuNjY3Yy00Mi40NzcsMC04Mi42NjktMTUuODIyLTExMy43OC00My43NTgNCgkJCQljMTEuNTQyLTIuMTM4LDE4Ljk5NC03LjE3NywyNS4xODYtMTEuNDgyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYNCgkJCQljLTEyLDAtMTcuNTYzLTMuODY1LTI0LjU5NC04Ljc2Yy04LjA2My01LjYwNC0xOC4wOTQtMTIuNTczLTM2Ljc4MS0xMi41NzNjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUNCgkJCQljOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzUNCgkJCQljMTIsMCwxNy41NjMsMy44NjUsMjQuNjA0LDguNzZjNC4zNDUsMy4wMjMsOS40MTQsNi4zNTUsMTUuOTYxLDguODY1YzM2LjYsNDIuOTk2LDg5LjY1NSw2Ny43MDgsMTQ2LjE3NCw2Ny43MDgNCgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTAuNjY5LDM2Mi42NzJjMTEuOTY5LDAsMTcuNTIxLDMuODY1LDI0LjU0Miw4Ljc1YzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4Mw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NQ0KCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDM0MS4zMzljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdzNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdjMTIsMCwxNy41NjMsMy44NjUsMjQuNTk0LDguNzYNCgkJCQljOC4wNjMsNS42MDQsMTguMDk0LDEyLjU3MywzNi43ODEsMTIuNTczYzE4LjY3NywwLDI4LjcwOC02Ljk2OSwzNi43NzEtMTIuNTczYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2DQoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQljMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTIuMTk4LDAtMTguNDA2LTMuOTY5LTI2LjI1LTguOTljLTkuMDUyLTUuNzgxLTE5LjMxMy0xMi4zNDQtMzcuNzUtMTIuMzQ0DQoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTEyLDAtMTcuNTYzLTMuODY1LTI0LjYwNC04Ljc2DQoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTMzLjI2MywyNzcuMzM5Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43Ng0KCQkJCWMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODNjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcNCgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzDQoJCQkJYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzVjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2Nw0KCQkJCUMxNDMuOTMsMjgyLjEwOSwxMzkuMTU5LDI3Ny4zMzksMTMzLjI2MywyNzcuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQ0KCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQ0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3DQoJCQkJczQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3QzIxMy4zMTUsMzIwLjAwNSwyMjMuMzQ2LDMxMy4wMzYsMjMxLjQwOSwzMDcuNDMyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",axe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMiAxNjMuODdjMC0xMy45LTUuNDEyLTI2Ljk2MS0xNS4yMzMtMzYuNzctOS44MTUtOS44MjgtMjIuODc2LTE1LjI0LTM2Ljc3Ni0xNS4yNGgtODAuOTdjLTI2LjcwNSAwLTQ4LjQzLTIxLjcyNi00OC40My00OC40MyAwLTEyLjkzOCA1LjAzNy0yNS4xMDEgMTQuMTg0LTM0LjI0NyA5LjE0NC05LjE0NiAyMS4zMDctMTQuMTgzIDM0LjI0NS0xNC4xODNoMTI1LjQ4YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0xMjUuNDhjLTE2Ljk0NSAwLTMyLjg3NCA2LjU5Ny00NC44NTMgMTguNTc3LTExLjk3OSAxMS45NzktMTguNTc3IDI3LjkwOC0xOC41NzcgNDQuODUzIDAgMzQuOTc1IDI4LjQ1NSA2My40MyA2My40MyA2My40M2g4MC45N2M5Ljg5IDAgMTkuMTgyIDMuODUgMjYuMTY5IDEwLjg0NyA2Ljk5MSA2Ljk4MiAxMC44NDEgMTYuMjczIDEwLjg0MSAyNi4xNjMgMCA4LjYzNy0zLjAzOCAxNy4wNDQtOC41NTcgMjMuNjc0bC0yMi4zMDUgMjYuODIyYy03Ljg4NC0yLjcyNS0xNi45ODktLjk3Mi0yMy4yODIgNS4zMTFsLTkuMDU4IDkuMDU4Yy0yMC4zMi0uNDItNDMuMDk4IDMuOTQtNjIuODIxIDcuNDI3LTQuMDc5LjcyMS02LjgwMSA0LjYxMy02LjA3OSA4LjY5MS43MjEgNC4wNzkgNC42MTMgNi43OTkgOC42OTEgNi4wNzkgMTguOTQyLTMuMzUgMzguMzkyLTUuNzY4IDU3LjgwOS03LjE4NSA3LjY4MS0uNTY2IDE0LjgzMyA0LjM5MyAxNi45ODUgMTEuNzggMS44MjcgNi4yNyA0Ny4wMjcgMTYwLjE2NyA0OC41MzMgMTY2LjU3NS40OTggMi4xMTktLjczOCAzLjY2LTIuOTEyIDMuNjYtMjIuNzg2IDAtNDEuMDQyIDE1LjY2LTQ4LjQ2NCAzNi40ODhoLTMyMC4zNzFjLTQuMTQyIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzI3Ljc4N2M1LjQ0NSAwIDkuODc1IDQuNDMgOS44NzUgOS44NzVzLTQuNDMxIDkuODc1LTkuODc2IDkuODc1aC00MzYuOTA2YzMuMjY1LTExLjM5MSAxMy43NzUtMTkuNzUgMjYuMi0xOS43NWg1Mi45MTljNC4xNDIgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTQ0Ljk0NGM2Mi40NjItMTExLjU5OCAxNzEuOTAzLTE3Ny4wMjcgMjk0Ljc3OC0yMDUuNDg2IDQuMDM1LS45MzUgNi41NDktNC45NjMgNS42MTQtOC45OTktLjkzNC00LjAzNS00Ljk2NC02LjU0OS04Ljk5OS01LjYxNC03MS42MzIgMTYuNTk5LTE0My41OTMgNDcuMDUxLTIwMS40NzMgOTIuNjA2bC0xMC4wNzEtMTAuMDdjLTguNjM1LTguNzUyLTIzLjE1OS04LjY3OC0zMS44MjYtLjAxLTguNjMxIDguNjMyLTguNzI4IDIzLjE2NiAwIDMxLjgwN2w4LjA1MSA4LjA1MWMtMjkuNDY3IDI4Ljk1OS01NC4xMDIgNjIuMzItNzQuMDQyIDk4LjkyLTE4LjQ4NyA0LjUwMi0zMi4yNTYgMjEuMTkxLTMyLjI1NiA0MS4wNDUgMCA0LjE0MyAzLjM1OCA3LjUgNy41IDcuNWg0NDUuNDU1YzEzLjcxNiAwIDI0Ljg3NS0xMS4xNTkgMjQuODc1LTI0Ljg3NSAwLTEwLjc1LTYuODU1LTE5LjkyNy0xNi40MjQtMjMuMzk1IDUuMjYzLTEzLjU3MyAxNy45MDMtMjIuOTY5IDMyLjU5OC0yMi45NjkgMTEuNDgzIDAgMjAuMzAyLTExLjQwMSAxNy40MTEtMjIuNTEtLjAxOC0uMDcxLS4wMzgtLjE0Mi0uMDU4LS4yMTFsLTQ1Ljg1Ny0xNTcuMzkxIDkuMTYzLTkuMTU2YzcuMzU5LTcuMzAzIDguNjQ0LTE5LjA5MyAzLjE5Ny0yNy43NjJsMjIuMTE1LTI2LjU5M2M3Ljc1NC05LjMxOCAxMi4wMjUtMjEuMTMyIDEyLjAyNS0zMy4yNjh6bS00MDMuMTQ2IDE3MS40MTNjMS40Mi0xLjQyMSAzLjMwNS0yLjIwMyA1LjMwNy0yLjIwMyAxLjk5OSAwIDMuODc3Ljc3OSA1LjI5NiAyLjIwNGw5LjAxNCA5LjAxNGMtMy44MjUgMy4yNDMtNy41ODIgNi41NTEtMTEuMjc0IDkuOTIybC04LjM0NC04LjM0NGMtMi45Mi0yLjkyLTIuOTItNy42NzIuMDAxLTEwLjU5M3ptMzU1LjIwNS05NC4zOTgtMy45ODYgMy45ODNjLTIuNDk2LTQuNDYxLTYuMDM3LTguMjAzLTEwLjIzMy0xMC45NjFsMy42MTktMy42MTljMi45MjYtMi45MiA3LjY4LTIuOTIyIDEwLjU5OC0uMDA0IDEuNDIxIDEuNDIxIDIuMjAzIDMuMzAyIDIuMjAzIDUuMjk3IDAgMi0uNzgyIDMuODg1LTIuMjAxIDUuMzA0em0tMjE1Ljc2NSA5NC43NjRjLTEzLjgyNCA3LjY1My0yMi40MTIgMjIuMjM1LTIyLjQxMiAzOC4wNTYgMCAxMS45ODcgNS4wMTkgMjMuNTYzIDEzLjc3MSAzMS43NTggOC4wNjYgNy41NTMgMTguNzg4IDExLjc1NiAyOS43ODYgMTEuNzU1Ljk0IDAgMTUxLjA4LTkuODM4IDE1MS4wOC05LjgzOCA2LjkxMS0uNDU0IDEzLjIyNS0zLjkxNiAxNy4zMjItOS40OTggNC4wOTYtNS41NzkgNS41MDctMTIuNjM3IDMuODcyLTE5LjM2MmwtMTkuNTM4LTgwLjMyM2MtMy4wMTctMTIuNDA0LTE1LjE4My0yMC4wMTMtMjcuNjkzLTE3LjMyOS0zMC4wOTQgNi40NjYtNTkuNzg3IDE1LjU5NC04OC4yNTYgMjcuMTMtMTkuNzY4IDguMDEtMzkuMjU5IDE3LjMxMy01Ny45MzIgMjcuNjUxem0xMDcuMjY2IDYwLjk2OS02Ny40MyA0LjQzM3YtMTcuNjgxYzAtLjIzOC4yMDItLjQ0LjQ0LS40NGg2Ni41NWMuMjQzIDAgLjQ0LjE5Ny40NC40NHptNDIuMDcxLTEwMS4wODVjLjYxMy0uMTMyIDEuMjIzLS4xOTUgMS44MjMtLjE5NSAzLjgxNCAwIDcuMjEgMi41NTkgOC4xNDUgNi40MDNsMTkuNTM4IDgwLjMyM2MuNTk1IDIuNDQ2LjEwMiA0LjkxMS0xLjM4OCA2Ljk0LTEuNDkyIDIuMDMyLTMuNjk5IDMuMjQyLTYuMjE1IDMuNDA4bC00OC45NzQgMy4yMTl2LTEyLjI2MWMwLTguNTE0LTYuOTI2LTE1LjQ0LTE1LjQ0LTE1LjQ0aC02Ni41NWMtOC41MTQgMC0xNS40NCA2LjkyNy0xNS40NCAxNS40NHYxOC42NjdsLTEuODUuMTIyYy03Ljk1Ny41MTgtMTUuNTUyLTIuMTkyLTIxLjM3NS03LjY0NS01LjgxOS01LjQ0OS05LjAyNC0xMi44MzktOS4wMjQtMjAuODA5IDAtMTAuMzY3IDUuNjI0LTE5LjkyMSAxNC42NzctMjQuOTMzIDE4LjE0OC0xMC4wNDcgMzcuMDktMTkuMDg4IDU2LjMwMS0yNi44NzMgMjcuNjY2LTExLjIxMSA1Ni41MjUtMjAuMDgzIDg1Ljc3Mi0yNi4zNjZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Mxe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDM1LjIgMzI0LjI2N2gtMTAuOTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjdjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMjMyLjc3MmMtMTQuMTM4IDAtMjUuNi0xMS40NjItMjUuNi0yNS42czExLjQ2Mi0yNS42IDI1LjYtMjUuNmgzNi41MDZjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDYyLjEwNmMxNC4xMzggMCAyNS42LTExLjQ2MiAyNS42LTI1LjZzLTExLjQ2Mi0yNS42LTI1LjYtMjUuNmgtNjIuMTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjZjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMzYuNTA2Yy00Mi40MTUgMC03Ni44IDM0LjM4NS03Ni44IDc2LjhzMzQuMzg1IDc2LjggNzYuOCA3Ni44aDIzMi43NzJjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDEwLjkwN2MxNC4xMzggMCAyNS42IDExLjQ2MiAyNS42IDI1LjZzLTExLjQ2MiAyNS42LTI1LjYgMjUuNmgtMzA5LjU3MmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTE5LjQzOWMtMTQuMTM4IDAtMjUuNiAxMS40NjItMjUuNiAyNS42czExLjQ2MiAyNS42IDI1LjYgMjUuNmgxOS40MzljMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDMwOS41NzNjNDIuNDE1IDAgNzYuOC0zNC4zODUgNzYuOC03Ni44cy0zNC4zODUtNzYuOC03Ni44LTc2Ljh6bS01OS43MzMtMjUuNmgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS03Ni44LTUxLjJjMCA0LjcxMy0zLjgyMSA4LjUzMy04LjUzMyA4LjUzM2gtNTkuNzM0di0xNy4wNjdoNTkuNzMzYzQuNzEzIDAgOC41MzQgMy44MjEgOC41MzQgOC41MzR6bS0xMTkuNDY3LTUxLjJoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tOC41MzMgMzQuMTMzaDQyLjY2N3YzNC4xMzNoLTUxLjJ2LTM0LjEzM3ptLTExOS40NjcgNjguMjY3Yy4wMzgtMzIuOTc0IDI2Ljc1OS01OS42OTYgNTkuNzMzLTU5LjczM2gzNC4xMzN2MTcuMDY2aC0zNC4xMzNjLTIzLjU2NCAwLTQyLjY2NyAxOS4xMDMtNDIuNjY3IDQyLjY2N3MxOS4xMDMgNDIuNjY3IDQyLjY2NyA0Mi42NjdoMjMwLjR2MTcuMDY2aC0yMzAuNGMtMzIuOTc0LS4wMzgtNTkuNjk1LTI2Ljc1OS01OS43MzMtNTkuNzMzem0zMDcuMiA2OC4yNjZ2LTM0LjEzM2g1MS4ydjM0LjEzM3ptLTI4MS42IDM0LjEzNGgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS01OS43MzMgNTEuMmMwLTQuNzEzIDMuODIxLTguNTMzIDguNTMzLTguNTMzaDE3LjA2N3YxNy4wNjZoLTE3LjA2N2MtNC43MTMgMC04LjUzMy0zLjgyLTguNTMzLTguNTMzem00Mi42NjYgMTcuMDY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bTM3NS40NjctOC41MzNoLTMwNy4ydi0xNy4wNjdoMzA3LjJjMjMuNTY0IDAgNDIuNjY3LTE5LjEwMyA0Mi42NjctNDIuNjY3cy0xOS4xMDMtNDIuNjY3LTQyLjY2Ny00Mi42NjdoLTguNTMzdi0xNy4wNjdoOC41MzNjMzIuOTkgMCA1OS43MzMgMjYuNzQ0IDU5LjczMyA1OS43MzNzLTI2Ljc0MyA1OS43MzUtNTkuNzMzIDU5LjczNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyAxMTAuOTMzYzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODIxLTguNTMzLTguNTMzLTguNTMzLTQuNzEzIDAtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTMgMy44MjEgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDU5LjczM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI5LjE0MyAxMTMuNDkzYzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAzLjU0MyA2OS4xODhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzg4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzNC42NjcgMTE2LjY1MWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMxLjU0OS0yLjY0MiAxLjU2My01LjkxMS4wMzgtOC41NjZzLTQuMzU2LTQuMjktNy40MTgtNC4yODMtNS44ODYgMS42NTQtNy4zOTkgNC4zMTZsLTguNTMzIDE0Ljc4Yy0yLjM1OCA0LjA4LS45NiA5LjI5OSAzLjEyMiAxMS42NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjAuMjY3IDcyLjMxMWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43ODhjLTIuMzU4IDQuMDgxLS45NiA5LjMgMy4xMjIgMTEuNjU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDIyMS44NjdjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44Mi04LjUzMy04LjUzMy04LjUzM3MtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTIgMy44MiA4LjUzMyA4LjUzMyA4LjUzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAxNzAuNjY3YzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODItOC41MzMtOC41MzMtOC41MzNzLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEyIDMuODIgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjUuNDEgMjI0LjQyN2MxLjUxNCAyLjY2MiA0LjMzNyA0LjMwOSA3LjM5OSA0LjMxNnM1Ljg5My0xLjYyOCA3LjQxOC00LjI4MyAxLjUxMS01LjkyNC0uMDM4LTguNTY2bC04LjUzMy0xNC43OGMtMS41MTQtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5OS44MSAxODAuMTIyYzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzAuOTMzIDIyNy41ODRjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOHMtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMzAxIDMuMTIyIDExLjY1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1Ni41MzMgMTgzLjI0NWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOC00LjA2Mi0yLjM0NS05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzg4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMyAzLjEyMiAxMS42NTd6Ii8+DQogICAgPC9nPg0KPC9zdmc+",cxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzk4LjU4OSAyNDYuMzQyYy02NC42NjYtMTcuMzI4LTExNS42MDEtNjguMjY0LTEzMi45MjktMTMyLjkyOS0xLjE3MS00LjM3Mi01LjEzMy03LjQxMi05LjY1OS03LjQxMnMtOC40ODggMy4wNC05LjY1OSA3LjQxMmMtMTcuMzI4IDY0LjY2Ni02OC4yNjMgMTE1LjYwMS0xMzIuOTI5IDEzMi45MjktNC4zNzIgMS4xNzEtNy40MTIgNS4xMzMtNy40MTIgOS42NTlzMy4wNCA4LjQ4OCA3LjQxMiA5LjY1OWM2NC42NjYgMTcuMzI5IDExNS42MDEgNjguMjY0IDEzMi45MjkgMTMyLjkyOSAxLjE3MSA0LjM3MiA1LjEzMyA3LjQxMiA5LjY1OSA3LjQxMnM4LjQ4OC0zLjA0IDkuNjU5LTcuNDEyYzE3LjMyOC02NC42NjUgNjguMjY0LTExNS42MDEgMTMyLjkyOS0xMzIuOTI5IDQuMzcyLTEuMTcxIDcuNDEyLTUuMTMzIDcuNDEyLTkuNjU5cy0zLjA0LTguNDg4LTcuNDEyLTkuNjU5em0tMTQyLjU4OCAxMTkuMTc2Yy0yMS4wMzktNDkuMDk2LTYwLjQyLTg4LjQ3OC0xMDkuNTE2LTEwOS41MTcgNDkuMDk2LTIxLjAzOSA4OC40NzgtNjAuNDIgMTA5LjUxNi0xMDkuNTE3IDIxLjAzOSA0OS4wOTcgNjAuNDIgODguNDc4IDEwOS41MTcgMTA5LjUxNy00OS4wOTcgMjEuMDM5LTg4LjQ3OCA2MC40Mi0xMDkuNTE3IDEwOS41MTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNzUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMTI4LjcyMWMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc2IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M2wtMzkuNTk3LTM5LjU5OGMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MyAwcy0zLjkwNSAxMC4yMzcgMCAxNC4xNDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDM4My4yODEtMzkuNTk4IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcxIDIuOTI5czUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk4LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNi0xNC4xNDIgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNDM2LjAwM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwMi4wMDIgMjQ2LjAwMWgtNTUuOTk5Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU1Ljk5OWM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5MC4zNTMgMTMxLjY0OWMyLjU1OSAwIDUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk3LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNS0xNC4xNDMgMGwtMzkuNTk3IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcyIDIuOTI5eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjkuODQ0IDc0LjEzMSAxMy4wNTQgMzEuNTE0YzEuNTk1IDMuODUxIDUuMzE4IDYuMTc1IDkuMjQzIDYuMTc1IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0IDUuMTAyLTIuMTE0IDcuNTI1LTcuOTYzIDUuNDEyLTEzLjA2NmwtMTMuMDU0LTMxLjUxNGMtMi4xMTQtNS4xMDMtNy45NjMtNy41MjctMTMuMDY2LTUuNDEycy03LjUyNiA3Ljk2NC01LjQxMiAxMy4wNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNC41NDIgMTcwLjk0M2MxLjM1Ny42MjYgMi43ODIuOTIzIDQuMTg0LjkyMyAzLjc4IDAgNy4zOTgtMi4xNTQgOS4wODYtNS44MTIgMi4zMTQtNS4wMTQuMTI1LTEwLjk1Ni00Ljg4OS0xMy4yN2wtLjAwNi0uMDAzYy01LjAxMy0yLjMxNS0xMC45NTItLjEyNS0xMy4yNjcgNC44OTEtMi4zMTYgNS4wMTQtLjEyMyAxMC45NTYgNC44OTIgMTMuMjcxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDUuNjQ1IDMyOS4xMDRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTEzLTUuMTAzLTcuOTY0LTcuNTI3LTEzLjA2NS01LjQxMmwtMzEuNTE0IDEzLjA1NGMtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuNzkzIDM0MC45NDctLjAwNy4wMDNjLTUuMDc2IDIuMTc1LTcuNDI0IDguMDUzLTUuMjQ5IDEzLjEyOSAxLjYyNSAzLjc5MiA1LjMxNyA2LjA2MiA5LjE5OCA2LjA2MiAxLjMxNSAwIDIuNjUyLS4yNjEgMy45MzYtLjgxMiA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xMzEtMi4xNzQtNS4wNzUtOC4wNTMtNy40MjYtMTMuMTMtNS4yNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTUuOTYzIDQwMC45NDVjLTUuMTAxLTIuMTE0LTEwLjk1Mi4zMS0xMy4wNjUgNS40MTJsLTEzLjA1NCAzMS41MTVjLTIuMTE0IDUuMTAzLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjUgMS4yNTEuNTE5IDIuNTQ3Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NmwxMy4wNTQtMzEuNTE1YzIuMTEzLTUuMTAyLS4zMTEtMTAuOTUyLTUuNDEzLTEzLjA2NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Ni4xOTkgNDc0LjA3OGMtNS4wNzYgMi4xNzUtNy40MjggOC4wNTQtNS4yNTIgMTMuMTNsLjAwMy4wMDdjMS42MjUgMy43OTEgNS4zMTQgNi4wNiA5LjE5MiA2LjA2IDEuMzE1IDAgMi42NTEtLjI2MSAzLjkzNy0uODEyIDUuMDc2LTIuMTc1IDcuNDI2LTguMDU4IDUuMjUtMTMuMTM0LTIuMTc0LTUuMDc2LTguMDUxLTcuNDI2LTEzLjEzLTUuMjUxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODcuMjA4IDM0MC45NDdjLTUuMDc2LTIuMTc3LTEwLjk1NS4xNzctMTMuMTMgNS4yNTItMi4xNzYgNS4wNzcuMTc2IDEwLjk1NiA1LjI1MiAxMy4xMzFsLjAwNi4wMDNjMS4yODUuNTUgMi42MTkuODExIDMuOTMzLjgxMSAzLjg3OSAwIDcuNTY5LTIuMjcyIDkuMTk0LTYuMDY0IDIuMTc3LTUuMDc3LS4xNzgtMTAuOTU3LTUuMjU1LTEzLjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0NS41MjUgMzIzLjY4MS0zMS41MTQtMTMuMDU0Yy01LjEwMi0yLjExMy0xMC45NTEuMzEtMTMuMDY1IDUuNDEycy4zMSAxMC45NTIgNS40MTIgMTMuMDY1bDMxLjUxNCAxMy4wNTRjMS4yNTIuNTE5IDIuNTQ4Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NiAyLjExMy01LjEwMi0uMzExLTEwLjk1Mi01LjQxMy0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MDYuMzU3IDE4Mi44OTdjLTUuMTAzIDIuMTEzLTcuNTI2IDcuOTYzLTUuNDEyIDEzLjA2NSAxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NGwzMS41MTQtMTMuMDU0YzUuMTAzLTIuMTEzIDcuNTI2LTcuOTYzIDUuNDEyLTEzLjA2NS0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDM3LjkyM2MxLjI4NS41NTEgMi42MjEuODExIDMuOTM1LjgxMSAzLjg4IDAgNy41NzEtMi4yNzEgOS4xOTYtNi4wNjNsLjAwMy0uMDA3YzIuMTc2LTUuMDc2LS4xNzctMTAuOTUyLTUuMjUzLTEzLjEyNy01LjA3NC0yLjE3Ni0xMC45NTcuMTc5LTEzLjEzMiA1LjI1Ni0yLjE3NyA1LjA3Ni4xNzUgMTAuOTU1IDUuMjUxIDEzLjEzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",uxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI0MC4wMDMsNDhjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThzLTgsMy41ODItOCw4djMyQzIzMi4wMDMsNDQuNDE4LDIzNS41ODQsNDgsMjQwLjAwMyw0OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTINCgkJCQlsLTE2LTI3LjcwNGMtMi4xODQtMy44NDEtNy4wNjgtNS4xODQtMTAuOTA5LTNjLTMuODQxLDIuMTg0LTUuMTg0LDcuMDY4LTMsMTAuOTA5QzE0MS4wMzksMzYuNTk1LDE0MS4wNTcsMzYuNjI2LDE0MS4wNzUsMzYuNjU2DQoJCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2DQoJCQkJYzIuMjM0LTMuODEyLDAuOTU2LTguNzEzLTIuODU2LTEwLjk0N2MtMC4wMy0wLjAxOC0wLjA2MS0wLjAzNS0wLjA5Mi0wLjA1M2wtMjcuNzA0LTE2Yy0zLjgxMi0yLjIzNC04LjcxMy0wLjk1Ni0xMC45NDcsMi44NTYNCgkJCQlDNzEuNDc3LDk5LjczOSw3Mi43NTUsMTA0LjY0MSw3Ni41NjcsMTA2Ljg3NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA0LjQ1NiwyNjEuMDE4Yy0wLjAzMSwwLjAxOC0wLjA2MiwwLjAzNi0wLjA5MywwLjA1NGwtMjcuNzA0LDE2Yy0zLjg0MSwyLjE4My01LjE4NSw3LjA2Ny0zLjAwMiwxMC45MDgNCgkJCQljMi4xODMsMy44NDEsNy4wNjcsNS4xODUsMTAuOTA4LDMuMDAyYzAuMDMxLTAuMDE4LDAuMDYyLTAuMDM2LDAuMDkzLTAuMDU0bDI3LjcwNC0xNmMzLjg0MS0yLjE4Myw1LjE4NS03LjA2NywzLjAwMi0xMC45MDgNCgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDMuNDQsMjc3LjEyNmMtMC4wMzEtMC4wMTgtMC4wNjItMC4wMzYtMC4wOTMtMC4wNTRsLTI3LjcwNC0xNmMtMy44MTEtMi4yMzUtOC43MTMtMC45NTctMTAuOTQ4LDIuODU0DQoJCQkJYy0yLjIzNSwzLjgxMS0wLjk1Nyw4LjcxMywyLjg1NCwxMC45NDhjMC4wMzEsMC4wMTgsMC4wNjIsMC4wMzYsMC4wOTMsMC4wNTRsMjcuNzA0LDE2YzMuODExLDIuMjM1LDguNzEzLDAuOTU3LDEwLjk0OC0yLjg1NA0KCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI0LjAwMywxODRoLTMyYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNDI4LjQyMSwxODQsNDI0LjAwMywxODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNzEuNjUxLDEyNGMxLjQwNCwwLDIuNzg0LTAuMzcsNC0xLjA3MmwyNy43MDQtMTZjMy44NDEtMi4xODQsNS4xODQtNy4wNjgsMy0xMC45MDlzLTcuMDY4LTUuMTg0LTEwLjkwOS0zDQoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgNCgkJCQlDMzY2LjE1MiwxMjIuNDc1LDM2OC43OTMsMTI0LDM3MS42NTEsMTI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzExLjk5Myw2Ny4yOTFjMC4wMDMsMC4wMDIsMC4wMDYsMC4wMDQsMC4wMDksMC4wMDVjMy44MjcsMi4yMDcsOC43MiwwLjg5NCwxMC45MjctMi45MzQNCgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQNCgkJCQljLTAuMDE4LDAuMDMxLTAuMDM2LDAuMDYyLTAuMDU0LDAuMDkzbC0xNiwyNy43MDRDMzA2Ljg2Miw2MC4xODQsMzA4LjE2OSw2NS4wNzgsMzExLjk5Myw2Ny4yOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTYuMDAzLDMyMGM0LjQxOCwwLDgtMy41ODIsOC04di04OGgxNmMxNy42NzMsMCwzMi0xNC4zMjcsMzItMzJzLTE0LjMyNy0zMi0zMi0zMmMtMTcuNjczLDAtMzIsMTQuMzI3LTMyLDMydjE2aC0xNg0KCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4DQoJCQkJQzI0OC4wMDMsMzE2LjQxOCwyNTEuNTg0LDMyMCwyNTYuMDAzLDMyMHogTTI2NC4wMDMsMTkyYzAtOC44MzcsNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZzLTcuMTYzLDE2LTE2LDE2aC0xNlYxOTJ6DQoJCQkJIE0yMTYuMDAzLDIwOGgtMTZjLTguODM3LDAtMTYtNy4xNjMtMTYtMTZzNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZWMjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyDQoJCQkJYzUuNjM5LDQuNDE3LDguOTk0LDExLjEzNSw5LjEzNiwxOC4yOTZWMzI4YzAuMDQyLDEwLjEzNCw2LjQ0NSwxOS4xNSwxNiwyMi41MjhWMzYwYzAuMDIxLDUuOTIzLDIuMjQ1LDExLjYyNyw2LjI0LDE2DQoJCQkJYy04LjMyLDkuMDQ0LTguMzIsMjIuOTU2LDAsMzJjLTguODk0LDkuNzUtOC4yLDI0Ljg2NCwxLjU1LDMzLjc1OGM0LjQyOSw0LjA0LDEwLjIxNSw2LjI2OCwxNi4yMSw2LjI0Mg0KCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0DQoJCQkJYy0wLjY1OC0wLjYwMi0xLjQwOS0xLjA5NC0yLjIyNC0xLjQ1NmMtMC4yMzItMC4xMi0wLjQ2NC0wLjIxNi0wLjcwNC0wLjMxMmMtMC44MS0wLjI5NS0xLjY1OS0wLjQ2NS0yLjUyLTAuNTA0DQoJCQkJYy0wLjA4LDAtMC4xNTItMC4wNDgtMC4yMzItMC4wNDhjLTQuNDE4LDAtOC0zLjU4Mi04LThzMy41ODItOCw4LThoMzJjNC40MTgsMCw4LTMuNTgyLDgtOHMtMy41ODItOC04LThoLTMyDQoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04DQoJCQkJcy0zLjU4Mi04LTgtOGgtNDhjLTQuNDE4LDAtOC0zLjU4Mi04LTh2LTE4Ljc2Yy0wLjEzMS0xMS45NjItNS42NC0yMy4yMy0xNS0zMC42OGMtNDcuNzg4LTM5LjI3NC01NC42ODktMTA5Ljg1Mi0xNS40MTUtMTU3LjY0DQoJCQkJYzIyLjQ2Ni0yNy4zMzYsNTYuNTI4LTQyLjQ0OCw5MS44NzEtNDAuNzZjNTkuMTA3LDMuNTE2LDEwNS41MzYsNTEuOTU3LDEwNi41NDQsMTExLjE2YzAuMjg3LDM0LjA1Mi0xNS4wMjQsNjYuMzYzLTQxLjU2LDg3LjcwNA0KCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OA0KCQkJCWMwLDQuNDE4LTMuNTgyLDgtOCw4aC04Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDgNCgkJCQlzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtNDBjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzAuNjMyDQoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2DQoJCQkJYy0zLjMsMi45MzgtMy41OTQsNy45OTYtMC42NTYsMTEuMjk2YzE0LjYzMSwxNi40ODcsMzkuODU3LDE3Ljk5Miw1Ni4zNDQsMy4zNjJjNi44MS02LjA0MywxMS4zNDktMTQuMjMyLDEyLjg2NC0yMy4yMQ0KCQkJCWMxMi41MjktMy45MTYsMTkuNTExLTE3LjI0NywxNS41OTYtMjkuNzc2Yy0xLjA0LTMuMzI5LTIuODAxLTYuMzg4LTUuMTU2LTguOTZjOC4zMi05LjA0NCw4LjMyLTIyLjk1NiwwLTMyDQoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2DQoJCQkJYzMwLjM0NC0yNC4zOTUsNDcuODUtNjEuMzM5LDQ3LjUxMi0xMDAuMjcyQzM2Ni44NDcsMTIzLjUzMiwzMTMuNzc3LDY4LjE2OSwyNDYuMjE5LDY0LjE1MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",lxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTUuOTk5LDBjLTc5LjA0NCwwLTE0My4zNTIsNjQuMzA4LTE0My4zNTIsMTQzLjM1M3Y3MC4xOTNjMCw0Ljc4LDMuODc5LDguNjU2LDguNjU5LDguNjU2aDQ4LjA1Nw0KCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzDQoJCQljMCw0Ljc4LDMuODgsOC42NTYsOC42NjEsOC42NTZoNDguMDU3YzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzQzM5OS4zNTIsNjQuMzA4LDMzNS4wNDQsMCwyNTUuOTk5LDB6DQoJCQkgTTM4Mi4wNCwyMDQuODloLTMwLjc0OHYtNjEuNTM3YzAtNTIuNTQ0LTQyLjc0OC05NS4yOTItOTUuMjkxLTk1LjI5MnMtOTUuMjkxLDQyLjc0OC05NS4yOTEsOTUuMjkydjYxLjUzN2gtMzAuNzQ4di02MS41MzcNCgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQxMC42MywyMDQuODlIMTAxLjM3MWMtMjAuNTA1LDAtMzcuMTg4LDE2LjY4My0zNy4xODgsMzcuMTg4djIzMi43MzRjMCwyMC41MDUsMTYuNjgzLDM3LjE4OCwzNy4xODgsMzcuMTg4SDQxMC42Mw0KCQkJYzIwLjUwNSwwLDM3LjE4Ny0xNi42ODMsMzcuMTg3LTM3LjE4OVYyNDIuMDc4QzQ0Ny44MTcsMjIxLjU3Myw0MzEuMTM1LDIwNC44OSw0MTAuNjMsMjA0Ljg5eiBNNDMwLjUwNSw0NzQuODExDQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3Ng0KCQkJSDQxMC42M2MxMC45NTksMCwxOS44NzUsOC45MTYsMTkuODc1LDE5Ljg3NlY0NzQuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjg1LjExLDM2OS43ODFjMTAuMTEzLTguNTIxLDE1Ljk5OC0yMC45NzgsMTUuOTk4LTM0LjM2NWMwLTI0Ljg3My0yMC4yMzYtNDUuMTA5LTQ1LjEwOS00NS4xMDkNCgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2DQoJCQljMS42NDUsMi4wMjMsNC4xMTMsMy4yLDYuNzIsMy4yaDYwLjczOGMyLjYwOCwwLDUuMDc2LTEuMTc2LDYuNzE5LTMuMmMxLjY0My0yLjAyNiwyLjI4Ni00LjY4MywxLjc1MS03LjIzNEwyODUuMTEsMzY5Ljc4MXoNCgkJCSBNMjcwLjg1MSwzNTguODJjLTMuMDQsMS45MzYtNC41NjUsNS41NTMtMy44MjQsOS4wODFsOC42OCw0MS4zNjZoLTM5LjQxNWw4LjY4Mi00MS4zNjNjMC43NC0zLjUyOS0wLjc4Mi03LjE0Ni0zLjgyNC05LjA4MQ0KCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2DQoJCQlDMjgzLjc5NywzNDQuOTE0LDI3OC45NTcsMzUzLjY2MywyNzAuODUxLDM1OC44MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Nxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTQuOTMzNTk0IDBoLTQ3Ny44NjcxODhjLTkuNDIxODc1LjAwNzgxMjUtMTcuMDU4NTkzNSA3LjY0NDUzMS0xNy4wNjY0MDYgMTcuMDY2NDA2djU5LjczNDM3NWMuMDA3ODEyNSA5LjQyMTg3NSA3LjY0NDUzMSAxNy4wNTQ2ODggMTcuMDY2NDA2IDE3LjA2NjQwN2gxMC44OTQ1MzJsLTI2LjgzNTkzOCA0Ni45NjQ4NDNjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTk1MzEgMS41MjczNDQgMi42Mjg5MDcgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2NDg0NGMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODg2NzE5LjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYzMjgxMyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY4NzVjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4MjgxMy4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42Mjg5MDYgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTIgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1MzkwNmgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWg0OTQuOTI5Njg4YzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjgtLjAwMzkwNiA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1MzkwNiAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTMgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2ODc1aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjE3MTg3IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44Nzg5MDYuMDI3MzQ0LTguNTE5NTMxbC0yNi44MzU5MzgtNDYuOTY0ODQzaDEwLjg5NDUzMmM5LjQyMTg3NS0uMDExNzE5IDE3LjA1NDY4Ny03LjY0NDUzMiAxNy4wNjY0MDYtMTcuMDY2NDA3di01OS43MzQzNzVjLS4wMTE3MTktOS40MjE4NzUtNy42NDQ1MzEtMTcuMDU0Njg3Mi0xNy4wNjY0MDYtMTcuMDY2NDA2em0tNDQ3LjMxNjQwNiA5My44NjcxODhoNDYuMjV2NDIuNjY3OTY4aC03MC42Mjg5MDd6bTMxOS4zMTY0MDYgMHY0Mi42Njc5NjhoLTIyMS44NjcxODh2LTQyLjY2Nzk2OHptNjguMjY1NjI1IDB2NDIuNjY3OTY4aC0xNy4wNjY0MDd2LTQyLjY2Nzk2OHptLTI5MC4xMzI4MTMgMzQxLjMzMjAzMXYtNDIuNjY0MDYzaDIyMS44NjcxODh2NDIuNjY0MDYzem0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42Njc5NjloLTIyMS44NjcxODh2LTQyLjY2Nzk2OXptMC0yNTZoLTIyMS44NjcxODh2LTQyLjY2NDA2M2gyMjEuODY3MTg4em0xNy4wNjY0MDYtNDIuNjY0MDYzaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptLTIzOC45MzM1OTQgMTYyLjEzMjgxM3YtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42NjQwNjNoLTIyMS44NjcxODh2LTQyLjY2NDA2M3ptLTIyMS44NjcxODgtNzYuODAwNzgxdi00Mi42Njc5NjloMjIxLjg2NzE4OHY0Mi42Njc5Njl6bS0xNy4wNjY0MDYtNTkuNzM0Mzc1aC0xNy4wNjY0MDZ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ6bTAgMTcuMDY2NDA2djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTI1NiAwaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptMC0xNy4wNzAzMTJ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzem0wLTU5LjczMDQ2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTAtNTkuNzM0Mzc1di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMzQuMTMyODEyLTQyLjY2Nzk2OWgxNy4wNjY0MDd2NDIuNjY3OTY5aC0xNy4wNjY0MDd6bTAtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA3djQyLjY2NDA2M3ptLTE3LjA2NjQwNi01OS43MzA0NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTI3My4wNjY0MDYgMGgtMTcuMDY2NDA2di00Mi42Njc5NjhoMTcuMDY2NDA2em0tODAuMzgyODEyIDE3LjA2NjQwNmg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzA0NjloNDYuMjV2NDIuNjY3OTY5aC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em02My4zMTY0MDYgNDIuNjY3OTY5di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMjczLjA2NjQwNiAwdi00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMTA0Ljc1NzgxMiAwaC03MC42MjV2LTQyLjY2Nzk2OWg0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczNDM3NWgtNzAuNjI1di00Mi42NjQwNjNoNDYuMjV6bTAtNTkuNzMwNDY5aC03MC42MjV2LTQyLjY2Nzk2OWgxNy4wNjY0MDd2MTcuMDY2NDA2YzAgNC43MTQ4NDQgMy44MjAzMTIgOC41MzUxNTcgOC41MzUxNTYgOC41MzUxNTcgNC43MTA5MzcgMCA4LjUzMTI1LTMuODIwMzEzIDguNTMxMjUtOC41MzUxNTd2LTE3LjA2NjQwNmgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2Nzk2OWgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2NDA2M2gxMi4xMTcxODd6bTAtNTkuNzMwNDY5aC0zNi40OTIxODd2LTQyLjY2Nzk2OGgxMi4xMTcxODd6bS0xOS40MjU3ODEtNTkuNzM0Mzc1aC00NTIuMjY1NjI1di01OS43MzQzNzVoNDc3Ljg2NzE4OGwuMDA3ODEyIDU5LjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NS4wNjY0MDYgNDIuNjY3OTY5aC01MS4xOTkyMThjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDUxLjE5OTIxOGM0LjcxNDg0NCAwIDguNTM1MTU2LTMuODIwMzEzIDguNTM1MTU2LTguNTM1MTU2IDAtNC43MTA5MzgtMy44MjAzMTItOC41MzEyNS04LjUzNTE1Ni04LjUzMTI1em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Lxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNCAyNDMuNzgzYy0uOTUxIDAtMS44NjguMTQxLTIuNzM5LjM4OWwtLjAwMi0uMDA3LTI4LjcyMiA4LjE4N2MtNS4zMTEgMS41MTQtOC4zOSA3LjA0Ny02Ljg3NiAxMi4zNTggMS4yNTMgNC4zOTYgNS4yNTggNy4yNjEgOS42MTIgNy4yNjEuOTA3IDAgMS44My0uMTI1IDIuNzQ2LS4zODVsMTUuOTgxLTQuNTU0djM1LjQybC0xMjQgMzUuMzQ1di0zNS40MmwyMS40NjQtNi4xMThjNS4zMTEtMS41MTQgOC4zOS03LjA0NyA2Ljg3Ni0xMi4zNThzLTcuMDQ1LTguMzg3LTEyLjM1OC02Ljg3NmwtMjguNzIzIDguMTg3LjAwMS4wMDdjLTQuMTg5IDEuMTkzLTcuMjYgNS4wMzktNy4yNiA5LjYxdjEyNy4xOTljLTguMzYzLTYuMjkzLTE4Ljc1Mi0xMC4wMjgtMzAtMTAuMDI4LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTEwMy40MDZsMTI0LTM1LjM0NXY1Ny43MzNjLTguMzYzLTYuMjkyLTE4Ljc1Mi0xMC4wMjctMzAtMTAuMDI3LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTE2Ny4xNzJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHptLTE4NCAyNDguMjE3Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6bTE0NC00MS4wNDVjLTE2LjU0MiAwLTMwLTEzLjQ1OC0zMC0zMHMxMy40NTgtMzAgMzAtMzAgMzAgMTMuNDU4IDMwIDMwLTEzLjQ1OCAzMC0zMCAzMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzEuNTkxIDM0OC43NjItNDguMjg4LTcuMDE3LTIxLjU5NS00My43NTZjLTEuNjg1LTMuNDEzLTUuMTYxLTUuNTc0LTguOTY3LTUuNTc0cy03LjI4MyAyLjE2MS04Ljk2NyA1LjU3NGwtMjEuNTk1IDQzLjc1Ni00OC4yODggNy4wMTdjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTFsMzQuOTQxIDM0LjA2LTguMjQ5IDQ4LjA5M2MtLjY0NCAzLjc1MS44OTggNy41NDMgMy45NzggOS43ODEgMy4wNzkgMi4yMzYgNy4xNjIgMi41MzIgMTAuNTMxLjc2MWw0My4xOS0yMi43MDcgNDMuMTkgMjIuNzA2YzEuNDYzLjc3IDMuMDYxIDEuMTQ5IDQuNjUyIDEuMTQ5IDIuMDczIDAgNC4xMzctLjY0NCA1Ljg3OS0xLjkxIDMuMDgtMi4yMzcgNC42MjItNi4wMjkgMy45NzgtOS43ODFsLTguMjQ5LTQ4LjA5MyAzNC45NDEtMzQuMDZjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNC02LjI1OC04LjA3MS02LjgwNXptLTQ3LjEyNCA0MC40NjRjLTIuMzU3IDIuMjk3LTMuNDMzIDUuNjA3LTIuODc2IDguODUxbDUuNzEyIDMzLjMwNC0yOS45MDktMTUuNzI0Yy0yLjkxMy0xLjUzMi02LjM5My0xLjUzMi05LjMwNyAwbC0yOS45MDkgMTUuNzI0IDUuNzEyLTMzLjMwNGMuNTU3LTMuMjQ0LS41MTktNi41NTQtMi44NzYtOC44NTFsLTI0LjE5Ni0yMy41ODYgMzMuNDM5LTQuODU5YzMuMjU3LS40NzMgNi4wNzMtMi41MTkgNy41MjktNS40N2wxNC45NTUtMzAuMzAxIDE0Ljk1NCAzMC4zMDFjMS40NTcgMi45NTEgNC4yNzIgNC45OTcgNy41MjkgNS40N2wzMy40MzkgNC44NTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMi42MiA5MC43MDYtNi42MiAzOC41OTNjLS42NDQgMy43NTEuODk4IDcuNTQzIDMuOTc4IDkuNzgxIDMuMDc5IDIuMjM3IDcuMTYzIDIuNTMzIDEwLjUzMS43NjFsMzQuNjU4LTE4LjIyMSAzNC42NTkgMTguMjIxYzEuNDYzLjc2OSAzLjA2MSAxLjE0OCA0LjY1MiAxLjE0OCAyLjA3MyAwIDQuMTM3LS42NDQgNS44NzktMS45MSAzLjA4LTIuMjM4IDQuNjIyLTYuMDI5IDMuOTc4LTkuNzgxbC02LjYyLTM4LjU5MyAyOC4wNC0yNy4zMzFjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNi02LjI1OC04LjA3My02LjgwNmwtMzguNzUtNS42MzEtMTcuMzI4LTM1LjExMmMtMS42ODQtMy40MTMtNS4xNi01LjU3NC04Ljk2Ny01LjU3NHMtNy4yODMgMi4xNjEtOC45NjcgNS41NzRsLTE3LjMyOSAzNS4xMTMtMzguNzUgNS42MzFjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTF6bTI0LjMzLTMwLjk4M2MzLjI1Ny0uNDczIDYuMDczLTIuNTE5IDcuNTI5LTUuNDdsMTAuNjg4LTIxLjY1NyAxMC42ODggMjEuNjU3YzEuNDU3IDIuOTUxIDQuMjcyIDQuOTk3IDcuNTI5IDUuNDdsMjMuOSAzLjQ3My0xNy4yOTIgMTYuODU4Yy0yLjM1NyAyLjI5OC0zLjQzMyA1LjYwOC0yLjg3NiA4Ljg1Mmw0LjA4MyAyMy44MDQtMjEuMzc3LTExLjIzOGMtMS40NTctLjc2Ni0zLjA1NS0xLjE0OS00LjY1My0xLjE0OS0xLjU5OSAwLTMuMTk3LjM4My00LjY1MyAxLjE0OWwtMjEuMzc3IDExLjIzOCA0LjA4My0yMy44MDRjLjU1Ny0zLjI0NC0uNTE5LTYuNTU0LTIuODc2LTguODUybC0xNy4yOTYtMTYuODU4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDE1Ni4zMDZjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MTBjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtMTBjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3NCAxMjYuMzA2aC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMGgxMGM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2MiAyODQuMzFjMi42MyAwIDUuMjEtMS4wNyA3LjA3LTIuOTNzMi45My00LjQ0IDIuOTMtNy4wN2MwLTIuNjQtMS4wNy01LjIxLTIuOTMtNy4wOC0xLjg2LTEuODYtNC40NC0yLjkyLTcuMDctMi45MnMtNS4yMSAxLjA2LTcuMDcgMi45MmMtMS44NiAxLjg3LTIuOTMgNC40NC0yLjkzIDcuMDggMCAyLjYzIDEuMDcgNS4yMSAyLjkzIDcuMDdzNC40NCAyLjkzIDcuMDcgMi45M3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",gxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDM3LjEsMjMzLjQ1YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43Yy0zMS45LDAtNTcuNywyNS44LTU3LjcsNTcuNw0KCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNg0KCQkJYzAtNDAuNC0zMi43LTczLjEtNzMuMS03My4xYy00MC40LDAtNzMuMSwzMi44LTczLjEsNzMuMWMwLDI2LjUsMTQuMSw0OS44LDM1LjMsNjIuNmMtMTcuMiw1LjItMzIuOSwxMy45LTQ2LjMsMjUuMg0KCQkJYy05LjgtOC42LTIxLjItMTUuMy0zMy43LTE5LjZjMTQuOC0xMC40LDI0LjYtMjcuNywyNC42LTQ3LjJjMC0zMS45LTI1LjgtNTcuNy01Ny43LTU3LjdzLTU3LjcsMjUuOC01Ny43LDU3LjcNCgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44DQoJCQljMCwyOS40LDIzLjgsNTMuMiw1My4yLDUzLjJoMTU1YzI5LjQsMCw1My4yLTIzLjgsNTMuMi01My4ydi02LjhjMC01LjctMC40LTExLjQtMS4xLTE2LjlINTA1YzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNi42DQoJCQlDNTA1LjIsMjg0Ljg1LDQ3Ni44LDI0Ny4xNSw0MzcuMSwyMzMuNDV6IE0zNjIuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjcNCgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1DQoJCQljMC0zMS41LDI1LjYtNTcuMSw1Ny4xLTU3LjFzNTcuMSwyNS42LDU3LjEsNTcuMWMwLDMwLjQtMjMuOSw1NS4zLTUzLjgsNTdjLTEuMSwwLTIuMiwwLTMuMywwYy0xLjEsMC0yLjIsMC0zLjMsMA0KCQkJQzIxOC44LDIyMC42NSwxOTQuOSwxOTUuNzUsMTk0LjksMTY1LjM1eiBNNTkuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjdjMCwyMi43LTE4LjMsNDEuMi00MC45LDQxLjcNCgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMNCgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGMyMC44LDAuMSwzOS44LDcuOCw1NC41LDIwLjNDMTQxLjcsMjc5Ljc1LDEzMSwyOTguOTUsMTI1LjUsMzIwLjE1eiBNMzY2LjgsMzU5Ljk1DQoJCQljMCwyMC41LTE2LjcsMzcuMi0zNy4yLDM3LjJoLTE1NWMtMjAuNSwwLTM3LjItMTYuNy0zNy4yLTM3LjJ2LTYuOGMwLTYyLjEsNDkuNi0xMTIuOSwxMTEuMy0xMTQuN2MxLjEsMC4xLDIuMywwLjEsMy40LDAuMQ0KCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43DQoJCQljMC4yLDAsMC40LDAsMC42LDBzMC40LDAsMC42LDBjNDMuNywwLjMsNzkuNywzMy43LDg0LjIsNzYuM0gzNzguN3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",jxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",yxe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MGgtMzJ2LTgwYzAtOC44MjItNy4xNzgtMTYtMTYtMTZoLTMydi00MGMwLTEzLjIzMy0xMC43NjctMjQtMjQtMjRoLTIyNGMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0djQwaC0zMmMtOC44MjIgMC0xNiA3LjE3OC0xNiAxNnY4MGgtMzJjLTIyLjA1NiAwLTQwIDE3Ljk0NC00MCA0MHYxNzZjMCAyMi4wNTYgMTcuOTQ0IDQwIDQwIDQwaDgwdjcyYzAgMTMuMjMzIDEwLjc2NyAyNCAyNCAyNGgyMjRjMTMuMjMzIDAgMjQtMTAuNzY3IDI0LTI0di03Mmg4MGMyMi4wNTYgMCA0MC0xNy45NDQgNDAtNDB2LTE3NmMwLTIyLjA1Ni0xNy45NDQtNDAtNDAtNDB6bS00OC04MHY4MGgtMzJ2LTgwem0tMjg4LTU2YzAtNC40MTEgMy41ODktOCA4LThoMjI0YzQuNDExIDAgOCAzLjU4OSA4IDh2MTM2aC0yNDBjMC0xLjYzNSAwLTEzMC4yMTEgMC0xMzZ6bS00OCA1NmgzMnY4MGgtMzJ6bTI4OCA0MDhjMCA0LjQxMS0zLjU4OSA4LTggOGgtMjI0Yy00LjQxMSAwLTgtMy41ODktOC04di0xMzZoMjQwem0xMjAtMTEyYzAgMTMuMjMzLTEwLjc2NyAyNC0yNCAyNGgtODB2LTQ4aDE2YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04Yy0yOC42NTcgMC0yOTAuODgzIDAtMzA0IDAtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNnY0OGgtODBjLTEzLjIzMyAwLTI0LTEwLjc2Ny0yNC0yNHYtMTc2YzAtMTMuMjMzIDEwLjc2Ny0yNCAyNC0yNGg0MzJjMTMuMjMzIDAgMjQgMTAuNzY3IDI0IDI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkyIDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0IDM3NmgtMTY4Yy00LjQxOCAwLTggMy41ODItOCA4czMuNTgyIDggOCA4aDE2OGM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDQgNDU2aC0xNjhjLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTY4YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Txe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3My41NzQgMjUyLjQzMmgtNzMuMTg0di00My43NjFjMC0xMS40NzMtOS4zMzQtMjAuODA3LTIwLjgwNy0yMC44MDctOS44ODYgMC0zNC4yOTUgMC00NC4zMDIgMHYtMTcuODQxYzAtMTIuMzk5LTEwLjA4Ny0yMi40ODYtMjIuNDg2LTIyLjQ4NmgtMTcuNTk1bDE0LjcyNC00Ny41MzVjMTYuNzU5LjY5MiAzMC41MzktMTIuNzUgMzAuNTM5LTI5LjI4NCAwLTE2LjE2NC0xMy4xNTEtMjkuMzE1LTI5LjMxNS0yOS4zMTUtMjkuMjY4IDAtNDAuNDU1IDM4LjUxLTE1LjU0MSA1NC4xNTRsLTE2LjEwMSA1MS45NzloLTMwLjEzM2MtMTAuNTc2IDAtMTkuODMxIDcuNTE0LTIyLjAwNiAxNy44NjYtLjEwNi41MDctLjE2IDEuMDI0LS4xNiAxLjU0MnYyMC45MTloLTM4LjE0NnYtMTguODAxYzAtOC42NzMtNy4wNTctMTUuNzMtMTUuNzMtMTUuNzNoLTEuMzc5di0xOS41NzJjOS40NjktLjIwMyAxNy4xMTMtNy45NTMgMTcuMTEzLTE3LjQ3di0xNS42MTZjMC05LjUxNy03LjY0NC0xNy4yNjctMTcuMTEzLTE3LjQ3di00My42OTljMC0yMS42OTUtMTcuNjUtMzkuMzQ2LTM5LjM0Ni0zOS4zNDZoLTUxLjY3N2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDUxLjY3OGMxMy40MjkgMCAyNC4zNTUgMTAuOTI2IDI0LjM1NSAyNC4zNTV2NDMuNjgyaC0zNy45NTd2LTIyLjU4NGMwLTQuMTQtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTk2LjJ2LTM3Ljk1N2gzNS42MzhjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NWgtNDMuMTMzYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NTIuOTQ3YzAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg5Ni4ydjE1LjEwOWMtOS40NjguMjAzLTE3LjExMiA3Ljk1NC0xNy4xMTIgMTcuNDd2MTUuNjE2YzAgOS41MTYgNy42NDQgMTcuMjY3IDE3LjExMiAxNy40N3YxOS41NzJoLTEuMzc5Yy04LjY3MyAwLTE1LjczIDcuMDU3LTE1LjczIDE1LjczdjE4LjgwMWgtMjIuNTU1Yy0xMS40NzMgMC0yMC44MDcgOS4zMzQtMjAuODA3IDIwLjgwN3YyLjQ4OWwtMzMuNDAyIDcuNTg5Yy0zLjQxMy43NzUtNS44MzUgMy44MDktNS44MzUgNy4zMDl2MTA3LjI0M2MwIDMuNDk5IDIuNDIxIDYuNTMzIDUuODMzIDcuMzA4bDMzLjQwNCA3LjU5OHYyLjQ4N2MwIDExLjQ3MyA5LjMzNCAyMC44MDcgMjAuODA3IDIwLjgwN2g2LjQyNHYyNy43OTloLTE1LjEyN2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWgzMzMuODQ5YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MjUuNTJjLTE1LjgzNi0yLjgzLTMyLjQxOC4xMDMtNDYuNzA3IDguODExLTE2Ljc1NCAxMC4yMTEtMzcuNTcgMTAuMjEyLTU0LjMyNCAwLTIxLjU2Ny0xMy4xNDQtNDguMzYxLTEzLjE0NS02OS45MjggMC0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMi0zNy41NyAxMC4yMTItNTQuMzI0IDBsLTI3LjQ2OS0xNi43NDJ2LTIwLjA4N2gxMC42NzZjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtMTguMTcyYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTcuNTQ5YzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNDk3LjAwOWM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUgMC04OC41MDYgMC0xMTguMDA5IDAtMjEzLjQ4Ny4wMDEtMjEuMTg4LTE3LjIzNy0zOC40MjYtMzguNDI1LTM4LjQyNnptLTE2Mi40MjUtMTk2LjAzN2M3Ljg5OCAwIDE0LjMyNSA2LjQyNiAxNC4zMjUgMTQuMzI0cy02LjQyNiAxNC4zMjUtMTQuMzI1IDE0LjMyNWMtNy44OTggMC0xNC4zMjQtNi40MjYtMTQuMzI0LTE0LjMyNXM2LjQyNi0xNC4zMjQgMTQuMzI0LTE0LjMyNHptLTI2Ny42MDQgMjc2LjQ0LTI0LjI0Ny01LjUxNXYtOTUuMjc3bDI0LjI0Ny01LjUwOXptMTk4LjY1My0xNjQuOTc0Yy45NDctMy4xMjUgMy44NjctNS4zMzMgNy4xNzYtNS4zMzNoNjMuNDJjNC4xMzMgMCA3LjQ5NSAzLjM2MiA3LjQ5NSA3LjQ5NXYxNy44NDFoLTc4LjA5MXptLTE0MC4zMDUtNTEuNTY5di0xNS42MTZjMC0xLjM3OCAxLjEyMS0yLjQ5OCAyLjQ5OC0yLjQ5OGg2Ny4xODVjMS4zNzggMCAyLjQ5OCAxLjEyMSAyLjQ5OCAyLjQ5OHYxNS42MTZjMCAxLjM3OC0xLjEyMSAyLjQ5OC0yLjQ5OCAyLjQ5OGgtNjcuMTg1Yy0xLjM3Ny4wMDEtMi40OTgtMS4xMi0yLjQ5OC0yLjQ5OHptNTUuMDY5IDE3LjQ4OXYxOS41NTNoLTM3Ljk1N3YtMTkuNTUzem0tNTUuMDY2IDM1LjI4M2MwLS40MDcuMzMyLS43MzkuNzM5LS43MzloNzAuNjk2Yy40MDcgMCAuNzM5LjMzMi43MzkuNzM5djE4LjgwMWgtNzIuMTc1di0xOC44MDF6bS0uMDAzIDMzLjc5MWgyNDAuMTQ4djE1My42NTZoLTI0MC4xNDh6bS0zNy41NDIgMTUzLjY1NmMtMy4yMDcgMC01LjgxNi0yLjYwOS01LjgxNi01LjgxNnYtMTQyLjAyM2MwLTMuMjA3IDIuNjA5LTUuODE2IDUuODE2LTUuODE2aDIyLjU1MXYxNTMuNjU2Yy01LjIxMS0uMDAxLTE3LjQ4OC0uMDAxLTIyLjU1MS0uMDAxem0yOTkuMzcyIDQyLjc5aC0yNzcuOTU3di0yNy43OTloMjc3Ljk1NnYyNy43OTl6bTcuNDk1LTQyLjc5NGMtLjAyOSAwLS4wNTguMDA0LS4wODcuMDA0aC0xNC4wOTl2LTE1My42NTZoMjIuNTUxYzMuMjA3IDAgNS44MTYgMi42MDkgNS44MTYgNS44MTZ2MTQyLjAyNGMwIDMuMjA3LTIuNjA5IDUuODE2LTUuODE2IDUuODE2aC04LjI3OGMtLjAyOSAwLS4wNTgtLjAwNC0uMDg3LS4wMDR6bTEyNS43OTEgMTQwLjM0M2MtOS4zNzkgMC00NzEuMTA3IDAtNDgyLjAxOSAwdi00NC45MTZsMTkuNjY3IDExLjk4N2MyMS41NjcgMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTYuNzU0LTEwLjIxMSAzNy41Ny0xMC4yMTIgNTQuMzI0IDAgMjEuNTY4IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNy4wOTctMTAuNDIxIDM3Ljk0MS05Ljk4NiA1NC4zMjQgMCAyMS41NjcgMTMuMTQ0IDQ4LjM2MiAxMy4xNDQgNjkuOTI4IDBsMTkuNjY3LTExLjk4N2MuMDAxIDEwLjU1Ni4wMDEgMjIuMzguMDAxIDQ0LjkxNnptMC02Mi40NzJjLTI5Ljc4OSAxOC4xNTYtMzAuMzUzIDE4LjgzNi0zNi41MjcgMjEuMTMydi00NC4yNTdjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NXMtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NDcuNDI3Yy0xOS40NzIgMS4xNzItMjguOTg0LTcuNjg4LTM4LjUwNi0xMS44MzZ2LTMwLjA1NGMwLTkuNjQzLTcuODQ2LTE3LjQ4OS0xNy40ODktMTcuNDg5aC0xMC43ODN2LTI3Ljc5OWMxMy4zNDIgMCAyMS42NzYtMTAuMDQ5IDIxLjY3Ni0yMC44MDd2LTMxLjc1NWg0NS4xMDJ2NjIuMzMxYzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVzNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTY5LjgyNmMwLTQuMTM5LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC01Mi41OTd2LTM2LjUyN2g3My4xODRjMTIuOTIzIDAgMjMuNDM2IDEwLjUxMyAyMy40MzYgMjMuNDM1djE0My41MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNDAuOTdoLTY0LjUwNWMtNC4xMzkgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUuMDAxLTQuMTM5LTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNzIuMTg4aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg5OSAyODcuMTc5aDcuNTQ4bC0yLjkwNCA3LjQzMmMtMS41MDcgMy44NTUuMzk3IDguMjAyIDQuMjUzIDkuNzA5Ljg5Ni4zNSAxLjgxOS41MTYgMi43MjYuNTE2IDIuOTk3IDAgNS44MjYtMS44MDkgNi45ODMtNC43NjlsNi45LTE3LjY1NWMuOTAyLTIuMzA3LjYwNi00LjkxLS43OTEtNi45NTVzLTMuNzEzLTMuMjY4LTYuMTktMy4yNjhoLTcuNTQ4bDIuOTA0LTcuNDMyYzEuNTA3LTMuODU1LS4zOTctOC4yMDItNC4yNTMtOS43MDktMy44NTUtMS41MDktOC4yMDMuMzk2LTkuNzA5IDQuMjUzbC02LjkgMTcuNjU1Yy0uOTAyIDIuMzA3LS42MDYgNC45MS43OTEgNi45NTUgMS4zOTYgMi4wNDQgMy43MTMgMy4yNjggNi4xOSAzLjI2OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Dxe="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtOTQuNzI3IDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU2IDYuNzU2IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSI2NC45NjYiIGN5PSI0OC4wMjEiIHI9IjMiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNzcuNTkxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSIxMDIuODQxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjEuNSAzMy41aC0xMTVhMS43NTEgMS43NTEgMCAwIDAgLTEuNzUgMS43NXY1Ny41YTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUgMS43NWgxNS45NDJ2OC4yNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTBhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtOC4yNWg1Ni4xMTZ2OC4yNWExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtOC4yNWgxNS45NDJhMS43NTEgMS43NTEgMCAwIDAgMS43NS0xLjc1di01Ny41YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1LTEuNzV6bS04OS4wNTggNjcuNWgtNi41di02LjVoNi41em02OS42MTYgMGgtNi41di02LjVoNi41em0xNy42OTItMTBoLTExMS41di01NGgxMTEuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA0OS45NThhMS43NDkgMS43NDkgMCAwIDAgMS43NS0xLjc1di0zYTEuNzUgMS43NSAwIDAgMCAtMy41IDB2M2ExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzguNzkyIDUxLjM1M2ExLjc1IDEuNzUgMCAwIDAgMi4zMzctLjgxNmwxLjMtMi43YTEuNzUgMS43NSAwIDAgMCAtMy4xNTItMS41MmwtMS4zIDIuN2ExLjc1IDEuNzUgMCAwIDAgLjgxNSAyLjMzNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuMjU2IDUwLjUzN2ExLjc1IDEuNzUgMCAxIDAgMy4xNTItMS41MjFsLTEuMy0yLjdhMS43NSAxLjc1IDAgMCAwIC0zLjE1MiAxLjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYuOSA1My42NzEgMi4zNDkgMS44NjhhMS43NSAxLjc1IDAgMCAwIDIuMTc4LTIuNzRsLTIuMzQ4LTEuODY3YTEuNzUgMS43NSAwIDEgMCAtMi4xNzkgMi43Mzl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2LjEzNSA4Ny4yMDhoMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwIDMuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",dxe="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5OC4yMTQ4NDQgMGgtNTAuOTc2NTYzYy0xOC4xOTUzMTIuMDI3MzQzOC0zMi45MzM1OTMgMTQuNzY5NTMxLTMyLjk2NDg0MyAzMi45NjQ4NDR2MjQuODcxMDk0aC0xNDQuODI0MjE5Yy02MS40Mzc1LjA5Mzc1LTExMi4yNTM5MDcgNDcuODcxMDkzLTExNi4xMzI4MTMgMTA5LjE4NzVoLTM5LjA2NjQwNmMtNS41MTU2MjUgMC05Ljk4ODI4MSA0LjQ2ODc1LTkuOTg4MjgxIDkuOTg4MjgxdjMwLjUxMTcxOWgtMTAuMjg1MTU3Yy0zLjcwNzAzMSAwLTcuMTA1NDY4IDIuMDQ2ODc0LTguODM1OTM3IDUuMzI4MTI0bC04NS43Njk1MzEgMTYyLjU1NDY4OGMtMS42MzY3MTkgMy4wOTc2NTYtMS41MzEyNSA2LjgyNDIxOS4yNzczNDQgOS44MjQyMTkgMS44MDg1OTMgMyA1LjA1MDc4MSA0LjgyODEyNSA4LjU1NDY4NyA0LjgyODEyNWgxMDguMTIxMDk0Yy4xNzU3ODEgMy45NTcwMzEuNjc1NzgxIDcuODg2NzE4IDEuNDk2MDkzIDExLjc2MTcxOCA3LjU3MDMxMyAzNS4wNTQ2ODggMzguNTU4NTk0IDYwLjA5Mzc1IDc0LjQyNTc4MiA2MC4xMjUgMzUuODcxMDk0LjAzNTE1NyA2Ni45MDIzNDQtMjQuOTQ5MjE4IDc0LjUzNTE1Ni01OS45OTYwOTMuODQzNzUtMy45MTAxNTcgMS4zNjcxODgtNy44OTA2MjUgMS41NTA3ODEtMTEuODk0NTMxaDEwOC4xMzY3MTljMy41IDAgNi43NS0xLjgzMjAzMiA4LjU1NDY4OC00LjgzMjAzMiAxLjgwODU5My0zIDEuOTE3OTY4LTYuNzI2NTYyLjI3NzM0My05LjgyMDMxMmwtODUuNzY5NTMxLTE2Mi41NDY4NzVjLTEuNzMwNDY5LTMuMjg5MDYzLTUuMTQ0NTMxLTUuMzM5ODQ0LTguODU5Mzc1LTUuMzMyMDMxaC0xMC4yNjE3MTl2LTMwLjUxMTcxOWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTg4MjgxLTkuOTg4MjgxLTkuOTg4MjgxaC00NC41MzUxNTZjMi4xNDA2MjUtMjIuNDcyNjU3IDIwLjk4ODI4MS0zOS42NDQ1MzIgNDMuNTYyNS0zOS42OTkyMTloMTQ0LjgwNDY4N3YyOC4xNjAxNTZjLjAzNTE1NiAxOC4xOTE0MDYgMTQuNzc3MzQ0IDMyLjkzMzU5NCAzMi45Njg3NSAzMi45NjA5MzdoNTAuOTgwNDY5YzUuNTE1NjI1IDAgOS45ODgyODEtNC40NjQ4NDMgOS45ODgyODEtOS45ODgyODF2LTE2OC40Njg3NWMwLTUuNTExNzE5LTQuNDY0ODQ0LTkuOTgwNDY4NS05Ljk3NjU2Mi05Ljk4ODI4MXptLTI1MC45MTc5NjkgMzk3LjYzMjgxMmMtNS41NjY0MDYgMjUuOTMzNTk0LTI4LjUwNzgxMyA0NC40NTMxMjYtNTUuMDMxMjUgNDQuNDIxODc2LTI2LjUzMTI1LS4wMjczNDQtNDkuNDI1NzgxLTE4LjU5NzY1Ny01NC45MzM1OTQtNDQuNTQ2ODc2LS41NTQ2ODctMi40NTMxMjQtLjkyNTc4MS00Ljk0OTIxOC0xLjEyMTA5My03LjQ1MzEyNGgxMTIuMjM0Mzc0Yy0uMTk5MjE4IDIuNTUwNzgxLS41ODU5MzcgNS4wODIwMzEtMS4xNDg0MzcgNy41NzgxMjR6bTExMi42MDU0NjktMjcuNTc0MjE4aC0xMDEuMzk0NTMyYy0uMDY2NDA2IDAtLjEzNjcxOCAwLS4yMDMxMjQgMGgtMTMxLjk2MDkzOGMtLjA3MDMxMiAwLS4xMzY3MTkgMC0uMjA3MDMxIDBoLTEwMS4zOTQ1MzFsNzUuMjUzOTA2LTE0Mi41NTQ2ODhoMTg0LjY4MzU5NHptLTk5LjQ3MjY1Ni0xNjIuNTM1MTU2aC0xMzYuMTkxNDA3di0yMC41MTk1MzJoMTM2LjE5MTQwN3ptOC45OTYwOTMtMTAwLjE4MzU5NGMtMzMuNTM1MTU2LjI3MzQzNy02MS4yNDYwOTMgMjYuMjM4MjgxLTYzLjY5NTMxMiA1OS42ODM1OTRoLTMyLjQzMzU5NGMzLjg0NzY1Ni01MC4yNzM0MzggNDUuNzMwNDY5LTg5LjEyNSA5Ni4xNTIzNDQtODkuMTg3NWgxNDQuODA0Njg3djI5LjUwMzkwNnptMjE4Ljc2OTUzMSA2MS4xNDA2MjVoLTQwLjk4NDM3NGMtNy4xNjc5NjktLjAxOTUzMS0xMi45NzI2NTctNS44MjQyMTktMTIuOTkyMTg4LTEyLjk4ODI4MXYtMTIyLjUwNzgxM2MuMDE5NTMxLTcuMTYwMTU2IDUuODI0MjE5LTEyLjk2NDg0NCAxMi45OTIxODgtMTIuOTg0Mzc1aDQwLjk4NDM3NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuNTM5MDYyIDQ3Mi42NzE4NzUtNDAuMDcwMzEyIDM3Ljc0NjA5NGMtMi42NDA2MjUgMi40MzM1OTMtMy43NzM0MzggNi4xMDE1NjItMi45NTcwMzEgOS41OTc2NTYuODEyNSAzLjUwMzkwNiAzLjQ0MTQwNiA2LjI5Njg3NSA2Ljg4NjcxOSA3LjMxNjQwNiAzLjQ0NTMxMiAxLjAyMzQzOCA3LjE3NTc4MS4xMTcxODggOS43NjU2MjQtMi4zNzVsNDAuMDcwMzEzLTM3LjczODI4MWMyLjY0MDYyNS0yLjQzMzU5NCAzLjc2OTUzMS02LjEwMTU2MiAyLjk1NzAzMS05LjYwNTQ2OS0uODE2NDA2LTMuNDk2MDkzLTMuNDQ1MzEyLTYuMjkyOTY5LTYuODg2NzE4LTcuMzE2NDA2LTMuNDQ5MjE5LTEuMDE5NTMxLTcuMTc1NzgyLS4xMTMyODEtOS43NjU2MjYgMi4zNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzY1LjU0Njg3NSA0MDYuMDAzOTA2aC02MS4zOTA2MjVjLTUuNTE5NTMxIDAtOS45OTIxODggNC40NzI2NTYtOS45OTIxODggOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NyA5Ljk5MjE4NyA5Ljk5MjE4OCA5Ljk5MjE4N2g2MS4zOTA2MjVjNS41MTk1MzEgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4NyAwLTUuNTE1NjI2LTQuNDY4NzUtOS45ODgyODItOS45ODgyODEtOS45ODgyODJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5Mi4yNzM0MzggNDkwLjkzMzU5NGMtNS41MTU2MjYgMC05Ljk4ODI4MiA0LjQ3MjY1Ni05Ljk4ODI4MiA5Ljk5MjE4N3Y1MC44NDc2NTdjMCAuMjQ2MDkzLS4wMjM0MzcuNTAzOTA2LS4wMjM0MzcuNzM4MjgxIDAgNS41MTU2MjUgNC40NzI2NTYgOS45ODgyODEgOS45ODgyODEgOS45ODgyODEuNDI1NzgxLS4wMDM5MDYuODU1NDY5LS4wMjczNDQgMS4yNzczNDQtLjA4NTkzOCA0Ljk5MjE4Ny0uNjI4OTA2IDguNzM4MjgxLTQuODc4OTA2IDguNzM4MjgxLTkuOTA2MjV2LTUxLjU4MjAzMWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTkyMTg3LTkuOTkyMTg3LTkuOTkyMTg3em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",hxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3OC41MTEsODguNjIyQzQwMy42OTQsNjkuMjIzLDMyOC40MzcsMzkuMDE3LDI2MC44NzgsMS4yNjljLTMuMDMtMS42OTItNi43MjMtMS42OTMtOS43NTUsMA0KCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUNCgkJCWM0OS43NTcsNDYuMTM4LDEwNy40Niw3MS42NTUsMTI4LjMyNCw3MS42NTVjMjAuODY0LDAsNzguNTY3LTI1LjUxNywxMjguMzI0LTcxLjY1NQ0KCQkJYzQ2LjM4NC00My4wMTEsMTAxLjY3OC0xMTguMTE0LDEwMS42NzgtMjMxLjY1Vjk4LjMwMkM0ODYuMDAyLDkzLjc0Niw0ODIuOTIyLDg5Ljc2Niw0NzguNTExLDg4LjYyMnogTTM3MC43MjYsNDI1LjY3OA0KCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzDQoJCQljLTE3LjYxMi05LjAzMy00NC4zOTItMjUuMTY1LTcxLjk1LTUwLjcxOGMtNDMuNDY0LTQwLjMwMy05NS4yNzYtMTEwLjY2My05NS4yNzYtMjE2Ljk4M1YxMDYuMDA4DQoJCQljNzMuOTY0LTE5LjgsMTQyLjgwMS00Ny41MjMsMjEwLjAwMy04NC41NzRjNjUuNDk4LDM2LjA1OSwxMzcuODI3LDY1LjE4NSwyMTAsODQuNTcxdjEwMi42OWgwLjAwMQ0KCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NDMuNzkzLDExNS4zNjhjLTYzLjMzNi0xOC40MTMtMTI0LjkzNi00My40MjQtMTgzLjA4Ny03NC4zMzdjLTIuOTM4LTEuNTYzLTYuNDYxLTEuNTYtOS4zOTcsMC4wMDYNCgkJCUMxOTMuMDY5LDcyLjA3OSwxMzEuNDcsOTcuMDk0LDY4LjIyLDExNS4zODdjLTQuMjc3LDEuMjM3LTcuMjIyLDUuMTUzLTcuMjIyLDkuNjA2djgzLjcwMmMwLDM5LjA3Nyw3LjQwNSw3Ni4xNjEsMjIuMDA4LDExMC4yMjINCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjENCgkJCWMwLjYsMC4xMSwxLjIwNywwLjE2NiwxLjgxNSwwLjE2NmMwLjYwOCwwLDEuMjE1LTAuMDU2LDEuODE1LTAuMTY2YzEzLjA5Ny0yLjQxOCwzNS4xMi0xNC4xMDMsMzkuNDAyLTE2LjQyMQ0KCQkJYzIzLjg5NS0xMi45MzYsNDcuMTktMzAuMDIzLDY3LjM2Ny00OS40MTNjMjguMjA4LTI3LjExMSw0OS44NzgtNTguMDQxLDY0LjQwOS05MS45MzNjMTQuNjAzLTM0LjA2LDIyLjAwOC03MS4xNDQsMjIuMDA4LTExMC4yMjINCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0DQoJCQljLTE4Ljg5OCwxOC4xNjItNDAuNjkzLDM0LjE1My02My4wMjksNDYuMjQ1Yy0xMC4xNjcsNS41MDMtMjMuODkyLDExLjkxOS0zMS42OTcsMTMuOTM0Yy03LjgwNS0yLjAxNS0yMS41My04LjQzMS0zMS42OTYtMTMuOTM0DQoJCQljLTIyLjMzNy0xMi4wOTMtNDQuMTMyLTI4LjA4NC02My4wMjktNDYuMjQ1Yy01My4yNjctNTEuMTk1LTgwLjI3Ni0xMTQuMzU5LTgwLjI3Ni0xODcuNzM0VjEzMi40OA0KCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTczLjAyNywzNTguMzA1bC0wLjItMC4yMTVjLTMuNzAxLTQuMDU1LTkuOTg3LTQuMzY3LTE0LjA3My0wLjY4OWMtNC4xMDUsMy42OTQtNC40MzgsMTAuMDE3LTAuNzQ0LDE0LjEyMmwwLjIsMC4yMTUNCgkJCWMxLjk3MSwyLjE1OCw0LjY3MywzLjI1Niw3LjM4NywzLjI1NmMyLjM4MywwLDQuNzc1LTAuODQ4LDYuNjg2LTIuNTY3QzE3Ni4zODgsMzY4LjczMywxNzYuNzIxLDM2Mi40MDksMTczLjAyNywzNTguMzA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQ0KCQkJYy0zLjY4LDQuMTE4LTMuMzI2LDEwLjQzOSwwLjc5MiwxNC4xMmMxMS42NTMsMTAuNDE4LDI0LjE0NSwxOS44NTQsMzcuMTI5LDI4LjA0OGMxLjY1NywxLjA0NSwzLjUwMiwxLjU0NCw1LjMyNywxLjU0NA0KCQkJYzMuMzE4LDAsNi41NjQtMS42NSw4LjQ2Ni00LjY2NEMyMzMuMDMyLDQxMi44MTgsMjMxLjYzNSw0MDYuNjQyLDIyNi45NjMsNDAzLjY5NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxDQoJCQljLTExLjg5OCwwLjQyOS0yMS40NDcsMTAuMjM1LTIxLjQ0NywyMi4yMzZ2NzYuNzY5Yy0wLjAwMSwxMi4yNzMsOS45ODQsMjIuMjU3LDIyLjI1NywyMi4yNTdIMzA4LjA5DQoJCQljMTIuMjczLDAsMjIuMjU4LTkuOTg0LDIyLjI1OC0yMi4yNTd2LTc2Ljc2OUMzMzAuMzQ4LDIxOS4zMTEsMzIwLjc5OCwyMDkuNTA0LDMwOC44OTgsMjA5LjA3N3ogTTIyMy4wOTksMTc2LjE1Ng0KCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4Mw0KCQkJYzAsMS4yMjQtMS4wMzQsMi4yNTctMi4yNTgsMi4yNTdIMjAzLjkwOGMtMS4yMjQsMC0yLjI1OC0xLjAzMy0yLjI1OC0yLjI1N3YtNzYuNzY5aDAuMDAxYzAtMS4yMjQsMS4wMzQtMi4yNTcsMi4yNTgtMi4yNTdoOS4xODkNCgkJCWg4NS43OTloOS4xOTJjMS4yMjQsMCwyLjI1OCwxLjAzMywyLjI1OCwyLjI1N1YzMDguMDgzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTANCgkJCWM1LjUyMywwLDEwLTQuNDc4LDEwLTEwdi05Ljc4N2MyLjQ1OS0yLjUyMiwzLjk4Mi01Ljk2LDMuOTgyLTkuNzQ2QzI2OS45ODIsMjU1LjkyMSwyNjMuNzAxLDI0OS42NCwyNTYsMjQ5LjY0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",zxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTYuODgyODEyIDBoLTQ4MS43NjU2MjRjLTguMzQ3NjU3IDAtMTUuMTE3MTg4IDYuNzY5NTMxLTE1LjExNzE4OCAxNS4xMTcxODh2NDgxLjc2NTYyNGMwIDguMzQ3NjU3IDYuNzY5NTMxIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDQ4MS43NjU2MjRjOC4zNDc2NTcgMCAxNS4xMTcxODgtNi43Njk1MzEgMTUuMTE3MTg4LTE1LjExNzE4OHYtNDgxLjc2NTYyNGMwLTguMzQ3NjU3LTYuNzY5NTMxLTE1LjExNzE4OC0xNS4xMTcxODgtMTUuMTE3MTg4em0tNDA2LjE3NTc4MSA0MjEuMjkyOTY5di04OC42OTUzMTNoMTE5LjA3NDIxOXY4OC42OTUzMTN6bS02MC40NzI2NTYtMzkxLjA1ODU5NGg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzUyLjgzOTg0NC01OC40NTMxMjV2MjguMjE4NzVoLTI1NC4xNDg0Mzh2LTI4LjIxODc1em0tMjU0LjE0ODQzOCAyMzkuODcxMDk0aDI1NC4xNTIzNDR2MzAuMjM4MjgxaC0yNTQuMTUyMzQ0em0wLTMwLjIzNDM3NXYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1NnYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1N3YtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0tOTguNjkxNDA2IDMwLjIzNDM3Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMCA2MC40NzI2NTZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0zODMuMDc4MTI1IDBoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em02OC40NTMxMjUtMzAuMjM0Mzc1aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU3aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bS0yNDEuNzUgMjcyLjEyNWgzMC4yMzgyODF2ODguNjk1MzEzaC0zMC4yMzgyODF6bTYwLjQ3NjU2MyAwaDEyMC44MDA3ODF2ODguNjk1MzEzaC0xMjAuODAwNzgxem0tMjcwLjI1NzgxMyAxNDkuMTY3OTY5di0xNDkuMTY3OTY5aDMwLjIzODI4MXYxMDMuODEyNWMwIDguMzQ3NjU2IDYuNzY5NTMyIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDM2MC44MjAzMTJjOC4zNDc2NTYgMCAxNS4xMTcxODgtNi43Njk1MzIgMTUuMTE3MTg4LTE1LjExNzE4OHYtMTAzLjgxMjVoMzAuMjM4MjgxdjE0OS4xNjc5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",wxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzQ4LjI0NjA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzNyAwIDQuMzk4NDM3LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOWwyOC45NDkyMTgtMzYuMDkzNzVjMi42MDU0NjktMy4yNSAyLjA4NTkzOC03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTExMS43NSA0MjIuMDUwNzgxYzIuMTA5Mzc1IDAgNC4yMDcwMzEtLjg3ODkwNiA1LjY5OTIxOS0yLjU5NzY1NmwzOS42MTMyODEtNDUuNjQ0NTMxYzIuNzMwNDY5LTMuMTQ0NTMyIDIuMzk0NTMxLTcuOTA2MjUtLjc1LTEwLjYzMjgxMy0zLjE0NDUzMS0yLjczMDQ2OS03LjkxMDE1Ni0yLjM5NDUzMS0xMC42MzY3MTkuNzVsLTM5LjYxNzE4NyA0NS42NDQ1MzFjLTQuMjUzOTA2IDQuOTAyMzQ0LS42OTUzMTMgMTIuNDgwNDY5IDUuNjkxNDA2IDEyLjQ4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTYuNjIxMDk0IDM3Ni43ODUxNTZjLTMuMjUtMi42MDU0NjgtNy45OTYwOTQtMi4wODIwMzEtMTAuNjAxNTYzIDEuMTY0MDYzbC0xNC40NzI2NTYgMTguMDQ2ODc1Yy0yLjYwNTQ2OSAzLjI1LTIuMDgyMDMxIDcuOTk2MDk0IDEuMTY0MDYzIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyNSA4LjAxMTcxOCAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYybDE0LjQ3NjU2Mi0xOC4wNDY4NzZjMi42MDU0NjktMy4yNSAyLjA4MjAzMi03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTYuNDcyNjU2IDM2Mi45ODQzNzVjLTMuMjUtMi42MDU0NjktNy45OTIxODctMi4wODIwMzEtMTAuNTk3NjU2IDEuMTY0MDYzbC0xNC40NzY1NjIgMTguMDUwNzgxYy0yLjYwNTQ2OSAzLjI0NjA5My0yLjA4MjAzMiA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA5Mzc2LTMuMjUgMi4wODU5MzgtNy45OTYwOTQtMS4xNjAxNTYtMTAuNjAxNTYzem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwNC40NjA5MzggMGMtMTcuMjUzOTA3IDAtNDY2LjU5Mzc1IDAtNDk2LjkyMTg3NiAwLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNjcxODgtNy41MzkwNjIgNy41MzkwNjJ2NDkzLjg2NzE4OGMwIDQuMTcxODc1IDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYyIDcuNTM5MDYyaDQyMi4yMTA5MzhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTQuMTY0MDYyLTMuMzc4OTA2LTcuNTQyOTY5LTcuNTM5MDYyLTcuNTQyOTY5aC00MTQuNjcxODc1di0xNDMuODgyODEyaDE0LjM2NzE4N3Y5MC45NTcwMzFjMCA0LjE2NDA2MiAzLjM3NSA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgxMjYuNDAyMzQ0YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjIgMC00LjE2MDE1Ni0zLjM3ODkwNi03LjUzOTA2Mi03LjUzOTA2Mi03LjUzOTA2MmgtMTE4Ljg2MzI4MXYtODMuNDE3OTY5aDE0LjUzOTA2MnYyNi4xMjEwOTNjMCA0LjE2NDA2MyAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2MyA0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzc1IDcuNTM5MDYzLTcuNTM5MDYzdi0yNi4xMjEwOTNoMTUzLjcxMDkzN3Y4My40MTc5NjloLTM0LjMwODU5M2MtNC4xNjAxNTcgMC03LjUzOTA2MyAzLjM3ODkwNi03LjUzOTA2MyA3LjUzOTA2MiAwIDQuMTY0MDYyIDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYzIDcuNTM5MDYyaDI4MS40NzI2NTZjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2MnYtOTAuOTU3MDMxaDE0LjM2NzE4N3YxNDMuODgyODEyaC0zNy4wMTU2MjVjLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNzg5MDctNy41MzkwNjIgNy41NDI5NjkgMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0NC41NTQ2ODhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTUzLjg2MzI4MSAwLTQzNy40OTYwOTQgMC00OTMuODY3MTg4IDAtNC4xNzE4NzQtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJ6bS00NDUuMzk4NDM4IDMzNC45MDIzNDRjLTEzLjcxNDg0NCAwLTMwLjA1ODU5NCAwLTQzLjk4NDM3NSAwIDAtOS41NTA3ODIgMC0xNi4yNTc4MTMgMC0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRjLTkuNzAzMTI1IDAtMzMuOTE3OTY5IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0xNS4wNzgxMjUtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC0zNjMuNzE4NzV6bTAgODMuNzE4NzVoMjg5LjMwMDc4MWM0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzY3MTg3IDcuNTM5MDYzLTcuNTM5MDYzIDAtNC4xNjAxNTYtMy4zNzUtNy41MzkwNjItNy41MzkwNjMtNy41MzkwNjItMS4yMzQzNzUgMC0yODIuOTQxNDA2IDAtMjg5LjMwMDc4MSAwdi0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVoLTQ0LjI1NzgxM2MtNC4xNjQwNjIgMC03LjUzOTA2MiAzLjM3ODkwNi03LjUzOTA2MiA3LjUzOTA2MiAwIDQuMTcxODc2IDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYyIDcuNTM5MDYzaDQ0LjI1NzgxM3YyNi43ODkwNjNjLTExLjYyNSAwLTM1NC40OTIxODcgMC0zNjMuNzE4NzUgMHptMCA0MS44NzEwOTRoMzYzLjcxODc1djI2Ljc3NzM0M2gtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYyaC0zNjMuNzE4NzV6bTAgNDEuODY3MTg3aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYzaC0zNjMuNzE4NzV6bTAgNjguNjQ4NDM4di0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVjLTM1LjYxNzE4NyAwLTMyNi45NTMxMjUgMC0zNjMuNzE4NzUgMHptMzkzLjMzNTkzNyA5OC40OTYwOTRoLTE4My4zMjgxMjR2LTQwLjY2Nzk2OWMwLTQuMTY0MDYzLTMuMzc1LTcuNTM5MDYzLTcuNTM5MDYzLTcuNTM5MDYzcy03LjUzOTA2MyAzLjM3NS03LjUzOTA2MyA3LjUzOTA2M3Y0MC42Njc5NjloLTI2LjE0MDYyNHYtODMuNDE0MDYzaDI2LjE0MDYyNHYxMi41ODU5MzdjMCA0LjE2Nzk2OSAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MyA3LjUzOTA2M3M3LjUzOTA2My0zLjM3MTA5NCA3LjUzOTA2My03LjUzOTA2M3YtMTIuNTg5ODQzaDE1My43MTA5Mzd2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjMgNC4xNjQwNjIgMCA3LjUzOTA2Mi0zLjM3NSA3LjUzOTA2Mi03LjUzOTA2M3YtMjYuMTIxMDkzaDE0LjUzOTA2MnptMjkuNDQ1MzEzLTk4LjQ5NjA5NGMtMTMuNzg5MDYzIDAtMjkuODY3MTg3IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjJoNDMuOTg0Mzc1em0wLTQxLjg3MTA5NGgtNDMuOTg0Mzc1di0yNi43NzczNDNoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NGgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",Ixe="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTU2LjgzOCAxaC00OS42NzZjLTMuMzk4IDAtNi4xNjIgMi43NjQtNi4xNjIgNi4xNjIgMCAuNjY1LjEwNiAxLjMyLjMxNiAxLjk0OWwuNTU4IDEuNjc2Yy44NDEgMi41MiAzLjE5IDQuMjEzIDUuODQ3IDQuMjEzaDQuMzg0bDEuNTA2IDEzLjU1MmMuMjgyIDIuNTM2IDIuNDE4IDQuNDQ4IDQuOTY5IDQuNDQ4aDI2Ljg0YzIuNTUxIDAgNC42ODgtMS45MTIgNC45NjktNC40NDhsMS41MDYtMTMuNTUyaDQuMzg0YzIuNjU3IDAgNS4wMDYtMS42OTMgNS44NDYtNC4yMTRsLjU1OC0xLjY3NGMuMjExLS42My4zMTctMS4yODUuMzE3LTEuOTUgMC0zLjM5OC0yLjc2NC02LjE2Mi02LjE2Mi02LjE2MnptLTMyLjgzOCAzMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTEwIDBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptNC40MDItMi42NjhjLS4xNDcgMS4zMjQtMS4xMzggMi4zNjMtMi40MDIgMi42MTF2LTcuOTQzYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2OGgtMnYtOGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY3Ljk0MmMtMS4yNjQtLjI0OC0yLjI1NC0xLjI4Ny0yLjQwMi0yLjYxMWwtMS40ODEtMTMuMzMxaDM1Ljc2NnptMTIuMzg0LTE5Ljg1My0uNTU4IDEuNjc1Yy0uNTY3IDEuNzAyLTIuMTU0IDIuODQ2LTMuOTQ5IDIuODQ2aC00OC41NThjLTEuNzk0IDAtMy4zODEtMS4xNDQtMy45NDktMi44NDZsLS41NTgtMS42NzZjLS4xNDItLjQyNC0uMjE0LS44NjctLjIxNC0xLjMxNiAwLTIuMjk1IDEuODY3LTQuMTYyIDQuMTYyLTQuMTYyaDQ5LjY3NmMyLjI5NSAwIDQuMTYyIDEuODY3IDQuMTYyIDQuMTYyIDAgLjQ0OS0uMDcyLjg5Mi0uMjE0IDEuMzE3eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTEgNWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcgOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQgNDB2LTFoLTFjLS4xMTkgMC0xLjc5OS4wNDItMy4xNzkgMi4wMzUtLjA0Ni0uMDYzLS4wOTItLjEzMS0uMTM4LS4xOTMtLjkwMy0xLjIzLTEuNjgzLTIuMjkzLTEuNjgzLTQuODQydi0xaC0xYy0uMTM5IDAtMi44OTMuMDU3LTQuNjI0IDMuMjc4LTIuMDUzLTMuMjIzLTUuMzI4LTMuMjc4LTUuMzc2LTMuMjc4aC0xdjFjMCAyLjU1OS0uNzg0IDMuNjMzLTEuNjkyIDQuODc3LS4wNC4wNTUtLjA4LjExNC0uMTIuMTY5LTEuMzgzLTIuMDA0LTMuMDY5LTIuMDQ2LTMuMTg4LTIuMDQ2aC0xdjFjMCAyLjU0My0uOTk1IDMuODMzLTIuMTQ3IDUuMzI3LTEuMzM3IDEuNzMzLTIuODUzIDMuNjk3LTIuODUzIDcuNjczIDAgNi4wNzUgMy45MjUgMTAgMTAgMTBoMTRjNi4wNzUgMCAxMC0zLjkyNSAxMC0xMCAwLTMuOTc2LTEuNTE2LTUuOTQtMi44NTMtNy42NzMtMS4xNTItMS40OTQtMi4xNDctMi43ODQtMi4xNDctNS4zMjd6bS0xOSAxN2MwLTIuMzk2IDEuMzU4LTMuNzE5IDIuNjcyLTUgLjg1MS0uODMgMS43MjQtMS42OCAyLjExNS0yLjc3My41Ni4zMSAxLjIxMyAxLjA0MyAxLjIxMyAyLjc3M3YzaDJ2LTFjMC0xLjk4NiAxLjIzOS0yLjY2IDIuMTQ3LTIuODg3LjM1NSAxLjMwNCAxLjI5NSAyLjI0NCAyLjE0NiAzLjA5NC45MTYuOTE2IDEuNzA3IDEuNzA3IDEuNzA3IDIuNzkzIDAgMS4zODMtMS40NjMgNC03IDRzLTctMi42MTctNy00em0xNCA0aC0uMTAyYzEuNTYyLTEuMjggMi4xMDItMi44OTkgMi4xMDItNCAwLTEuOTE0LTEuMjE4LTMuMTMyLTIuMjkzLTQuMjA3LS45MTYtLjkxNi0xLjcwNy0xLjcwNy0xLjcwNy0yLjc5M3YtMWgtMWMtLjg5MiAwLTIuMTkzLjI3OC0zLjI0NSAxLjA4OS0uNjgyLTIuMzk1LTIuNjI4LTMuMDg5LTMuNzU1LTMuMDg5aC0xdjFjMCAuODQ1LS42NTUgMS41MjYtMS43MjQgMi41NjgtMS40NiAxLjQyMy0zLjI3NiAzLjE5My0zLjI3NiA2LjQzMiAwIDEuMTAxLjU0IDIuNzIgMi4xMDIgNGgtLjEwMmMtMy44NjggMC04LTIuMTAyLTgtOCAwLTMuMjk0IDEuMTgzLTQuODI4IDIuNDM2LTYuNDUyIDEuMDU1LTEuMzY3IDIuMTM5LTIuNzcyIDIuNDY1LTUuMDg0Ljg5MS43MzkgMi4wOTkgMi42NDIgMi4wOTkgNy41MzZoMmMwLTIuNTYtLjMyMy00LjQ2MS0uODAzLTUuODc4LjIyOC0uMzY2LjQ2OS0uNzEzLjcyNi0xLjA2Ni44NDYtMS4xNTkgMS43OTEtMi40NTMgMi4wMjMtNC44NzkgMS40NTYuNDUzIDQuMDU0IDIuMDY5IDQuMDU0IDcuODIzaDJjMC0xLjYzLS4xOTEtMi45OS0uNTA2LTQuMTMyLjYzNy0yLjI3MyAxLjc2MS0zLjIxOCAyLjU2Ny0zLjYwMS4yMzggMi4zNDYgMS4xMzcgMy41NyAyLjAxIDQuNzU5LjI2Mi4zNTcuNTA3LjcwOC43MzggMS4wOC0uNDgzIDEuNDE4LS44MDkgMy4zMjQtLjgwOSA1Ljg5NGgyYzAtNC45MDYgMS4yMTQtNi44MDcgMi4wOTgtNy41NDIuMzI1IDIuMzE1IDEuNDExIDMuNzIyIDIuNDY2IDUuMDkgMS4yNTMgMS42MjQgMi40MzYgMy4xNTggMi40MzYgNi40NTIgMCA1Ljg5OC00LjEzMiA4LTggOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Cxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDY3LDBINDVDMjAuMTg3LDAsMCwyMC4xODcsMCw0NXY0MjJjMCwyNC44MTMsMjAuMTg3LDQ1LDQ1LDQ1aDQyMmMyNC44MTMsMCw0NS0yMC4xODcsNDUtNDVWNDUNCgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMg0KCQkJYzguMjcxLDAsMTUsNi43MjksMTUsMTVWNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDgxYy05Ni40OTUsMC0xNzUsNzguNTA1LTE3NSwxNzVzNzguNTA1LDE3NSwxNzUsMTc1czE3NS03OC41MDUsMTc1LTE3NVMzNTIuNDk1LDgxLDI1Niw4MXogTTI1Niw0MDENCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4NywyMTZjLTIyLjA1NiwwLTQwLDE3Ljk0NC00MCw0MGMwLDIyLjA1NiwxNy45NDQsNDAsNDAsNDBjMjIuMDU2LDAsNDAtMTcuOTQ0LDQwLTQwQzIyNywyMzMuOTQ0LDIwOS4wNTYsMjE2LDE4NywyMTZ6DQoJCQkgTTE4NywyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzE5NywyNjEuNTE0LDE5Mi41MTQsMjY2LDE4NywyNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2eg0KCQkJIE0zMjUsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMzMzUsMjYxLjUxNCwzMzAuNTE0LDI2NiwzMjUsMjY2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",pxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjAsMEgxMjBDOTcuOTIsMC4wMjYsODAuMDI2LDE3LjkyLDgwLDQwdjM2OGMwLjAyNCwxOS4wMDEsMTMuMzg5LDM1LjM3MywzMiwzOS4yVjQ4MGg0OHYtMzJoMTYwdjMyaDQ4di0zMi44DQoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0eg0KCQkJIE0zODQsNDA4YzAsMTMuMjU1LTEwLjc0NSwyNC0yNCwyNEgxMjBjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNFY0MGMwLTEzLjI1NSwxMC43NDUtMjQsMjQtMjRoMjQwYzEzLjI1NSwwLDI0LDEwLjc0NSwyNCwyNFY0MDgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgNCgkJCVMzMTAuNjkyLDE2MCwyNDAsMTYweiBNMjQwLDQwMGMtNjEuODU2LDAtMTEyLTUwLjE0NC0xMTItMTEyYzAuMDY2LTYxLjgyOCw1MC4xNzItMTExLjkzNCwxMTItMTEyYzYxLjg1NiwwLDExMiw1MC4xNDQsMTEyLDExMg0KCQkJUzMwMS44NTYsNDAwLDI0MCw0MDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6DQoJCQkgTTI0MCwzNjhjLTQ0LjE4MywwLTgwLTM1LjgxNy04MC04MGMwLjA0OS00NC4xNjMsMzUuODM3LTc5Ljk1Miw4MC04MGM0NC4xODMsMCw4MCwzNS44MTcsODAsODBDMzIwLDMzMi4xODMsMjg0LjE4MywzNjgsMjQwLDM2OA0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2DQoJCQlDMjk2LDU3LjA3MiwyNzAuOTI4LDMyLDI0MCwzMnogTTI0MCwxMjhjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDBjMjIuMDkxLDAsNDAsMTcuOTA5LDQwLDQwDQoJCQlTMjYyLjA5MSwxMjgsMjQwLDEyOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgNCgkJCXMzLjU4Mi04LDgtOHM4LDMuNTgyLDgsOFMyNDQuNDE4LDk2LDI0MCw5NnoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTEyIiB5PSIzMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPg0KICAgICAgICA8cmVjdCB4PSIxMTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwDQoJCQlDMjgwLDI2NS45MDksMjYyLjA5MSwyNDgsMjQwLDI0OHogTTI0MCwzMTJjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNHMxMC43NDUtMjQsMjQtMjRzMjQsMTAuNzQ1LDI0LDI0UzI1My4yNTUsMzEyLDI0MCwzMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00OCwyODBIMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM1Mi40MTgsMjgwLDQ4LDI4MHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQNCgkJCWMzLjE3OCwzLjA2OSw4LjI0MywyLjk4MSwxMS4zMTItMC4xOTdDNTYuNjUsMjM0LjM1OSw1Ni42NSwyMjkuNDQ0LDUzLjY1NiwyMjYuMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTMuNDYsMzM4LjM0NGMtMy4xLTIuOTk1LTguMDE2LTIuOTk1LTExLjExNiwwbC0yNCwyNGMtMy4xNzgsMy4wNy0zLjI2Niw4LjEzNC0wLjE5NiwxMS4zMTJzOC4xMzQsMy4yNjYsMTEuMzEyLDAuMTk2DQoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY0LDI4MGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0NjguNDE4LDI4MCw0NjQsMjgweiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDYxLjQ2LDIwMi4zNDRjLTMuMS0yLjk5NC04LjAxNS0yLjk5NC0xMS4xMTYsMGwtMjQsMjRjLTMuMTI0LDMuMTI1LTMuMTIzLDguMTksMC4wMDIsMTEuMzE0DQoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS42NTYsMzYyLjM0NGwtMjQtMjRjLTMuMTc4LTMuMDctOC4yNDItMi45ODItMTEuMzEyLDAuMTk2Yy0yLjk5NSwzLjEtMi45OTUsOC4wMTYsMCwxMS4xMTZsMjQsMjQNCgkJCWMzLjE3OCwzLjA3LDguMjQyLDIuOTgyLDExLjMxMi0wLjE5NkM0NjQuNjUxLDM3MC4zNiw0NjQuNjUxLDM2NS40NDQsNDYxLjY1NiwzNjIuMzQ0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Axe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MTIgNTYuMTY0MDYyYzAtMTIuNzk2ODc0LTEwLjQwNjI1LTIzLjIwMzEyNC0yMy4yMDMxMjUtMjMuMjAzMTI0aC00OS45Njg3NXYtMTUuMDQ2ODc2YzAtOS44Nzg5MDYtOC4wMzUxNTYtMTcuOTE0MDYyLTE3LjkxNDA2My0xNy45MTQwNjJoLTEwMy4wODk4NDNjLTkuODc4OTA3IDAtMTcuOTE0MDYzIDguMDM5MDYyLTE3LjkxNDA2MyAxNy45MTQwNjJ2MTUuMDQ2ODc2aC04Ny44MTY0MDZ2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM5MDYyLTE3LjkxNDA2Mi0xNy45MTc5NjktMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtNDkuOTY4NzVjLTEyLjc5Njg3NSAwLTIzLjIwMzEyNSAxMC40MDYyNS0yMy4yMDMxMjUgMjMuMjAzMTI0djQ5LjVjMCA2LjA1MDc4MiAyLjMyODEyNSAxMS41NjI1IDYuMTM2NzE5IDE1LjY5OTIxOS0zLjgwODU5NCA0LjEzMjgxMy02LjEzNjcxOSA5LjY0ODQzOC02LjEzNjcxOSAxNS42OTkyMTl2MzA1LjgwODU5NGMwIDEyLjc5Mjk2OCAxMC40MDYyNSAyMy4yMDMxMjUgMjMuMjAzMTI1IDIzLjIwMzEyNWgyLjM3ODkwNnYyMi40NTMxMjVjMCAxMi43ODEyNSAxMC4zOTg0MzggMjMuMTc1NzgxIDIzLjE3OTY4OCAyMy4xNzU3ODFoMjMyLjYxNzE4N2M0LjE0NDUzMiAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNSAwLTQuMTQ0NTMxLTMuMzU5Mzc0LTcuNTAzOTA2LTcuNTAzOTA2LTcuNTAzOTA2aC0yMzIuNjE3MTg3Yy00LjUwNzgxMyAwLTguMTcxODc1LTMuNjY3OTY5LTguMTcxODc1LTguMTcxODc1di0yMi40NTMxMjVoNDMwLjgyMDMxMnYyMi40NTMxMjVjMCA0LjUwNzgxMi0zLjY2NDA2MiA4LjE3MTg3NS04LjE3MTg3NSA4LjE3MTg3NWgtMTQ3LjEyNWMtNC4xNDg0MzcgMC03LjUwMzkwNiAzLjM1OTM3NS03LjUwMzkwNiA3LjUwMzkwNiAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUwMzkwNiA3LjVoMTQ3LjEyNWMxMi43ODEyNSAwIDIzLjE3OTY4OC0xMC4zOTQ1MzEgMjMuMTc5Njg4LTIzLjE3NTc4MXYtMjIuNDUzMTI1aDIuMzc4OTA2YzEyLjc5Mjk2OSAwIDIzLjIwMzEyNS0xMC40MTAxNTcgMjMuMjAzMTI1LTIzLjIwMzEyNXYtMzA1LjgwODU5NGMwLTYuMDUwNzgxLTIuMzMyMDMxLTExLjU2NjQwNi02LjEzNjcxOS0xNS42OTkyMTkgMy44MDQ2ODgtNC4xMzY3MTkgNi4xMzY3MTktOS42NDg0MzcgNi4xMzY3MTktMTUuNjk5MjE5em0tMTk3LjA4NTkzOC0zOC4yNWMwLTEuNjA1NDY4IDEuMzA0Njg4LTIuOTA2MjUgMi45MTAxNTctMi45MDYyNWgxMDMuMDg5ODQzYzEuNjA1NDY5IDAgMi45MTAxNTcgMS4zMDQ2ODggMi45MTAxNTcgMi45MDYyNXYxNS4wNDY4NzZoLTEwOC45MTAxNTd6bS0yMjYuNzM4MjgxIDBjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em00MDguODE2NDA3IDQyNC45NTcwMzJjMCA0LjUxOTUzMS0zLjY3NTc4MiA4LjE5OTIxOC04LjE5NTMxMyA4LjE5OTIxOGgtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc5Njg3LTguMTk1MzEzLTguMTk5MjE4di0zMDUuODA4NTk0YzAtNC41MTk1MzEgMy42NzU3ODItOC4xOTkyMTkgOC4xOTUzMTMtOC4xOTkyMTloNDY1LjU5Mzc1YzQuNTIzNDM3IDAgOC4xOTUzMTMgMy42Nzk2ODggOC4xOTUzMTMgOC4xOTkyMTl6bTAtMzM3LjIwNzAzMmMwIDQuNTE5NTMyLTMuNjc1NzgyIDguMTk1MzEzLTguMTk1MzEzIDguMTk1MzEzaC00NjUuNTkzNzVjLTQuNTE5NTMxIDAtOC4xOTUzMTMtMy42NzU3ODEtOC4xOTUzMTMtOC4xOTUzMTN2LTQ5LjVjMC00LjUyMzQzNyAzLjY3NTc4Mi04LjE5OTIxOCA4LjE5NTMxMy04LjE5OTIxOGg0NjUuNTkzNzVjNC41MTk1MzEgMCA4LjE5NTMxMyAzLjY3NTc4MSA4LjE5NTMxMyA4LjE5OTIxOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMTY3OTY5IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4OCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NTc4MTItMTEuNTU0Njg3IDI1Ljc1NzgxMi0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NTc4MTItMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45MzM1OTQgMC0xMC43NTc4MTMtNC44MjQyMTktMTAuNzU3ODEzLTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTc4MTMtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzIuODMyMDMxIDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzU3ODEyIDExLjU1NDY4Ny0yNS43NTc4MTIgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzU3ODEyIDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg4LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTMzNTk0IDAgMTAuNzU3ODEzIDQuODI4MTI1IDEwLjc1NzgxMyAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzU3ODEzIDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MzQuNzQyMTg4IDE3MS45Mzc1aC0yMTguMTQ4NDM4Yy00LjE0NDUzMSAwLTcuNTAzOTA2IDMuMzU5Mzc1LTcuNTAzOTA2IDcuNSAwIDQuMTQ0NTMxIDMuMzU5Mzc1IDcuNTAzOTA2IDcuNTAzOTA2IDcuNTAzOTA2aDIxOC4xNDg0MzhjMS40Mzc1IDAgMi42MDU0NjggMS4xNzE4NzUgMi42MDU0NjggMi42MDkzNzV2MTkuODUxNTYzYzAgMS40Mzc1LTEuMTY3OTY4IDIuNjA5Mzc1LTIuNjA1NDY4IDIuNjA5Mzc1aC0zNTcuNDg0Mzc2Yy0xLjQzNzUgMC0yLjYwNTQ2OC0xLjE3MTg3NS0yLjYwNTQ2OC0yLjYwOTM3NXYtMTkuODUxNTYzYzAtMS40Mzc1IDEuMTY3OTY4LTIuNjA5Mzc1IDIuNjA1NDY4LTIuNjA5Mzc1aDEwNC4yNjk1MzJjNC4xNDQ1MzEgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjVoLTEwNC4yNjk1MzJjLTkuNzEwOTM3IDAtMTcuNjA5Mzc0IDcuODk4NDM4LTE3LjYwOTM3NCAxNy42MTMyODF2MTkuODUxNTYzYzAgOS43MTA5MzcgNy44OTg0MzcgMTcuNjEzMjgxIDE3LjYwOTM3NCAxNy42MTMyODFoMTAuMDM1MTU3djE2Ni40NjQ4NDRjMCAxNC4yNzczNDMgMTEuNjE3MTg3IDI1Ljg5NDUzMSAyNS44OTQ1MzEgMjUuODk0NTMxaDI4NS42MjVjMTQuMjc3MzQ0IDAgMjUuODk0NTMxLTExLjYxNzE4OCAyNS44OTQ1MzEtMjUuODk0NTMxdi0xNjYuNDY0ODQ0aDEwLjAzNTE1N2M5LjcxMDkzNyAwIDE3LjYxMzI4MS03Ljg5ODQzNyAxNy42MTMyODEtMTcuNjEzMjgxdi0xOS44NTE1NjNjMC05LjcxMDkzNy03LjkwMjM0NC0xNy42MTMyODEtMTcuNjEzMjgxLTE3LjYxMzI4MXptLTI1LjA0Mjk2OSAyMjEuNTQyOTY5YzAgNi4wMDM5MDYtNC44ODI4MTMgMTAuODg2NzE5LTEwLjg4NjcxOSAxMC44ODY3MTloLTI4NS42MjVjLTYuMDAzOTA2IDAtMTAuODkwNjI1LTQuODgyODEzLTEwLjg5MDYyNS0xMC44ODY3MTl2LTE2Ni40NjQ4NDRoMzA3LjQwMjM0NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIuNTQyOTY5IDI5NC44NTkzNzVjMi4wMjM0MzcgMCA0LjA0Mjk2OS0uODE2NDA2IDUuNTIzNDM3LTIuNDIxODc1bDIzLjAxMTcxOS0yNS4wMTU2MjVjMi44MDg1OTQtMy4wNTA3ODEgMi42MDkzNzUtNy43OTY4NzUtLjQ0MTQwNi0xMC42MDE1NjMtMy4wNTA3ODEtMi44MDQ2ODctNy43OTI5NjktMi42MDkzNzQtMTAuNjAxNTYzLjQ0MTQwN2wtMjMuMDExNzE4IDI1LjAxNTYyNWMtMi44MDQ2ODggMy4wNDY4NzUtMi42MDkzNzYgNy43OTI5NjguNDQxNDA2IDEwLjYwMTU2MiAxLjQ0MTQwNiAxLjMyNDIxOSAzLjI2MTcxOCAxLjk4MDQ2OSA1LjA3ODEyNSAxLjk4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",mxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEyMi4yNSAxNy4yNjZoLTExNi41YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1IDUuNzV2NjcuOTk0YTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUgNS43NWg5Ljg4M2wtMy4wNjggNC40NGE2LjA3OSA2LjA3OSAwIDAgMCAxMCA2LjkxMmw3Ljg0Ny0xMS4zNTJoNjcuMTc2bDcuODQ0IDExLjM1MWE2LjA3OSA2LjA3OSAwIDAgMCAxMC02LjkxMmwtMy4wNjgtNC40MzloOS44ODNhNS43NTcgNS43NTcgMCAwIDAgNS43NTMtNS43NXYtNjcuOTk0YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1LTUuNzV6bS0xMDIuNTYxIDg4Ljg1NmEyLjU4MiAyLjU4MiAwIDAgMSAtMi4xMjIgMS4xMTIgMi41OCAyLjU4IDAgMCAxIC0yLjEyMy00LjA0Nmw0LjQ0My02LjQyOGg2LjI3MXptOTIuODY3LTIuOTM0YTIuNTggMi41OCAwIDAgMSAtMi4xMjMgNC4wNDYgMi41ODUgMi41ODUgMCAwIDEgLTIuMTIzLTEuMTEybC02LjQ2OC05LjM2Mmg2LjI3MXptMTEuOTQ0LTEyLjE3OGEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNSAyLjI1aC0xMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNS0yLjI1di02Ny45OTRhMi4yNTMgMi4yNTMgMCAwIDEgMi4yNS0yLjI1aDExNi41YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUgMi4yNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDEuMzc1IDQ3LjkyMmg3LjN2MTkuOTMyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtMTkuOTMyaDcuM2ExLjc1IDEuNzUgMCAwIDAgMC0zLjVoLTE4LjFhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzUuOTYzIDY4LjUyN2ExLjc0OSAxLjc0OSAwIDAgMCAzLjIzIDBsOS4wNDctMjEuNjgxYTEuNzUgMS43NSAwIDEgMCAtMy4yMy0xLjM0NmwtNy40MzIgMTcuODA5LTcuNDMyLTE3LjgwOWExLjc1IDEuNzUgMCAxIDAgLTMuMjMgMS4zNDh6Ii8+DQogICAgPC9nPg0KPC9zdmc+",fxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01OSwySDVBMywzLDAsMCwwLDIsNVY1OWEzLDMsMCwwLDAsMywzSDU5YTMsMywwLDAsMCwzLTNWNUEzLDMsMCwwLDAsNTksMlptMSw1N2ExLDEsMCwwLDEtMSwxSDVhMSwxLDAsMCwxLTEtMVY1QTEsMSwwLDAsMSw1LDRINTlhMSwxLDAsMCwxLDEsMVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMiwxMEEyMiwyMiwwLDEsMCw1NCwzMiwyMi4wMjUsMjIuMDI1LDAsMCwwLDMyLDEwWm0xMC4xNzUsNC44MTNjMi40NjksOS41NS0zLjYxMywxMi45LTYuNDI4LDEzLjkxMWE1LDUsMCwwLDAtMS42NS0xLjI0NywxMS4zNzQsMTEuMzc0LDAsMCwwLDMuMzExLTYuNzk0Yy4yNDktMi44NDUtLjc5LTUuNzA2LTMuMDUtOC41MzFBMTkuODI0LDE5LjgyNCwwLDAsMSw0Mi4xNzUsMTQuODEzWk0zNSwzMmEzLDMsMCwxLDEtMy0zQTMsMywwLDAsMSwzNSwzMlpNMzEuNTg2LDEyLjAyMWMyLjc2NywyLjg3Myw0LjA2Niw1LjcyMiwzLjgzMSw4LjQ3YTEwLjEsMTAuMSwwLDAsMS0zLjc4NCw2LjUzLDE5LjY1MiwxOS42NTIsMCwwLDAtOS41ODUtMTIuMzQ0QTE5LjgzOCwxOS44MzgsMCwwLDEsMzEuNTg2LDEyLjAyMVpNMjAuMTIsMTUuOTQ4YTE3LjY1NywxNy42NTcsMCwwLDEsOS41OTIsMTEuNjMzLDQuOTUxLDQuOTUxLDAsMCwwLS45NTcuNjQ3LDE4Ljg4NiwxOC44ODYsMCwwLDAtMTQuMzM4LTUuNzUyQTIwLjEyNiwyMC4xMjYsMCwwLDEsMjAuMTIsMTUuOTQ4Wk0xMiwzMmExOS44NywxOS44NywwLDAsMSwxLjQ0Mi03LjQxNkExNi4zODUsMTYuMzg1LDAsMCwxLDI1LjgxNiwyOC4yNmExMy43OSwxMy43OSwwLDAsMC04LjA2NCwxLjI5MUExMi42NDQsMTIuNjQ0LDAsMCwwLDEyLjMxMSwzNS40LDE5LjkxMywxOS45MTMsMCwwLDEsMTIsMzJabTEuMTY0LDYuNjZjMS4xMy0zLjUyOSwyLjk4Mi02LDUuNTItNy4zNGExMi42NDMsMTIuNjQzLDAsMCwxLDguNTYxLS43ODdBNC45MTksNC45MTksMCwwLDAsMjcsMzJjMCwuMTA5LjAyNS4yMTEuMDMyLjMxOC0yLjAwOC45MTUtNy45NjEsNC40Mi04LjksMTQuMDYzQTIwLjAzNCwyMC4wMzQsMCwwLDEsMTMuMTY0LDM4LjY2Wm02Ljg3OCw5LjMzM2MuMzY0LTkuMjc5LDUuNTYzLTEyLjc0Myw3LjUzMS0xMy43MTlhNSw1LDAsMCwwLDEuMDY1LDEuNGMtLjk1OCwyLjYwOS0yLjg1Myw5Ljc5MSwyLjEwOCwxNi4yNjFBMTkuODU2LDE5Ljg1NiwwLDAsMSwyMC4wNDIsNDcuOTkzWk0zMy4zODEsNTEuOTNjLTUuNC01LjczMy0zLjkyLTEyLjQ5NS0yLjk4OC0xNS4yMTlBNC45MjksNC45MjksMCwwLDAsMzIsMzdjLjA4MSwwLC4xNTYtLjAyLjIzNS0uMDI0LjYsMy4wNDksMi44MjksOS4yMjMsMTEuMTExLDExLjQ3NUExOS44NTYsMTkuODU2LDAsMCwxLDMzLjM4MSw1MS45M1ptMTEuOTY2LTUuMDc4Yy04LjQ0MS0xLjYxNy0xMC42MjMtNy4yOTItMTEuMTc0LTEwLjM3YTUuMDA2LDUuMDA2LDAsMCwwLDEuMDg0LS43MTljMS44NjgsMS45LDYuMjE1LDUuNjMzLDExLjUyMiw1LjYzM2ExMS4yMDgsMTEuMjA4LDAsMCwwLDMuMDg1LS40NTVBMjAuMDY5LDIwLjA2OSwwLDAsMSw0NS4zNDcsNDYuODUyWk01MiwzMmExOS45LDE5LjksMCwwLDEtMS4wNzQsNi40MTRjLTYuNTA3LDMuMTItMTIuNDYyLTIuMTg0LTE0LjQzOC00LjI1MWE0LjkyNyw0LjkyNywwLDAsMCwuMzY5LTEuMDI1LDE2LjYsMTYuNiwwLDAsMCwxLjc4OS4wOTQsMTguMzI4LDE4LjMyOCwwLDAsMCwxMi45MjYtNS4zMzlBMjAsMjAsMCwwLDEsNTIsMzJabS0xNS4wODgtLjg2OGE0Ljc0NSw0Ljc0NSwwLDAsMC0uMTczLS42NWMyLjkyNi0xLjE1NSw5LjIzNC00Ljc2Niw3LjgxNy0xNC4wMjhhMjAuMDU3LDIwLjA1NywwLDAsMSw2LjM5NCw5LjJBMTYuMzQ0LDE2LjM0NCwwLDAsMSwzNi45MTIsMzEuMTMyWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOSwxMkEzLDMsMCwxLDAsNiw5LDMsMywwLDAsMCw5LDEyWk05LDhBMSwxLDAsMSwxLDgsOSwxLDEsMCwwLDEsOSw4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMiw1NWEzLDMsMCwwLDAtMy0zLDIuOTY2LDIuOTY2LDAsMCwwLTEsLjE4NFY0NUg2VjU1YTMsMywwLDAsMCwzLDNoNlY1NkgxMS44MTZBMi45NjYsMi45NjYsMCwwLDAsMTIsNTVaTTksNTZhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsOSw1NloiLz4NCiAgICAgICAgPHBhdGggZD0iTTU2LDUyLjE4NEEyLjk2NiwyLjk2NiwwLDAsMCw1NSw1MmEzLDMsMCwwLDAtMywzLDIuOTY2LDIuOTY2LDAsMCwwLC4xODQsMUg0NXYySDU1YTMsMywwLDAsMCwzLTNWNDlINTZaTTU1LDU2YTEsMSwwLDEsMSwxLTFBMSwxLDAsMCwxLDU1LDU2WiIvPg0KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Oxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMzQzLjg3MUw0MjMuNzczLDM0My44NzFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVjLTcuNDU4LTkuODUtMTYuODg5LTE4LjAzNS0yNy42OS0yNC4wMzNjLTUuMTk0LTIuNTk3LTExLjUwOS0wLjQ5Mi0xNC4xMDYsNC43MDINCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwzNTMuNTk0LDQyOC42NzksMzQ3LjA0NSw0MjMuNzczLDM0My44NzF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDI2NS41MDNMNDIzLjc3MywyNjUuNTAzYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1Nw0KCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUNCgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyDQoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4DQoJCQkJczQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjUNCgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQ0KCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1DQoJCQkJQzQzMC4wODIsMjc1LjIyNyw0MjguNjc5LDI2OC42NzcsNDIzLjc3MywyNjUuNTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywxODEuOTExTDQyMy43NzMsMTgxLjkxMWMtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcNCgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgNCgkJCQljLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyYy0yLjU5Nyw1LjE5NC0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2DQoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgNCgkJCQljMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjVzMjUuNiwyOS43OCw1My4yOSwyOS43OA0KCQkJCWMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhzMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1YzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1DQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwxOTEuNjM1LDQyOC42NzksMTg1LjA4NSw0MjMuNzczLDE4MS45MTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01LjgxNCw4Mi4xMjRjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc2YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3LDE0LjYyOS0zLjEzNQ0KCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMg0KCQkJCVMwLjYyMSw3OS41MjcsNS44MTQsODIuMTI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Exe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjEzOS4zIiB3aWR0aD0iMTYuNCIgaGVpZ2h0PSIzOC4yIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjcuNSw4OS40IDIxLjMsMTA0LjYgNDMuMywxMTMuNyA0OS41LDk4LjUgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxOTAuOSwyMS40IDE4MS44LDQzLjUgMTk2LjksNDkuOCAyMDYsMjcuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY3LjQsODkuNCAyNDUuNCw5OC41IDI1MS43LDExMy43IDI3My43LDEwNC42IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjQ2LDM3LjYgMjE5LjEsNjQuNiAyMzAuNyw3Ni4zIDI1Ny42LDQ5LjIgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE0LjMsMTQwIDAsMTQwIDAsMTU2LjQgMTQuMywxNTYuNCAzOC4xLDE1Ni40IDM4LjEsMTQwIAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNTkuMSw0Ny43IDQ5LDM3LjYgMzcuNCw0OS4yIDY0LjMsNzYuMyA3NS45LDY0LjYgCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY2LjEsMjk1LjVjMC42LTUuNiwwLjktMTAuNiwwLjktMTUuNmMwLTgxLjctNjYuMi0xNDguMi0xNDcuNS0xNDguMmMtMjguNCwwLTU1LjUsOC4yLTc4LjcsMjNjMC4yLTIuMiwwLjUtNC4zLDAuNS02LjUNCgkJCWMwLTUyLTQyLjEtOTQuMy05My44LTk0LjNzLTkzLjgsNDIuMy05My44LDk0LjNjMCwzMC42LDE0LjksNTkuMSwzOS41LDc2LjdjLTE1LjQsMTcuMi0yNS41LDM5LjMtMjcuMyw2My43DQoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6DQoJCQkgTTcwLDE0OC4yYzAtNDIuOSwzNC43LTc3LjgsNzcuNC03Ny44YzQyLjcsMCw3Ny40LDM0LjksNzcuNCw3Ny44YzAsNi45LTAuOSwxMy45LTIuNywyMC42Yy04LjMsNy40LTE1LjcsMTUuNS0yMi4xLDI0LjQNCgkJCWMtMzMuMS05LjEtNjguNy0xLjMtOTQuOSwyMC4xQzgzLjMsMTk5LDcwLDE3NC41LDcwLDE0OC4yeiBNNDM0LjMsNDE5LjlINzMuN2MtMzEuNiwwLTU3LjQtMjUuOS01Ny40LTU3LjYNCgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQNCgkJCWM3Mi4zLDAsMTMxLjEsNTkuMSwxMzEuMSwxMzEuN2MwLDEzLjktMi42LDI2LjEtMi42LDI2LjFsNi4yLDIuM2MyMi4zLDguNCwzNy4zLDMwLjEsMzcuMyw1My45DQoJCQlDNDkxLjYsMzk0LDQ2NS45LDQxOS45LDQzNC4zLDQxOS45eiIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxNzguNiw0NTUuMiAxMzcuNiw0OTYuNCAxNDkuMiw1MDggMTkwLjEsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjguNyw0NTUuMiAyMjcuNyw0OTYuNCAyMzkuMyw1MDggMjgwLjMsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI0NDguOSw0NTUuMiA0MDgsNDk2LjQgNDE5LjYsNTA4IDQ2MC41LDQ2Ni44IAkJIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",_xe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSA1NWgtNXYtNDRhMy4wMDkgMy4wMDkgMCAwIDAgMy0zdi01YTEgMSAwIDAgMCAtMS0xaC01MmExIDEgMCAwIDAgLTEgMXY1YTMuMDA5IDMuMDA5IDAgMCAwIDMgM3Y0NGgtNWExIDEgMCAwIDAgLTEgMXY1YTEgMSAwIDAgMCAxIDFoNThhMSAxIDAgMCAwIDEtMXYtNWExIDEgMCAwIDAgLTEtMXptLTU0LTQ3di00aDUwdjRhMSAxIDAgMCAxIC0xIDFoLTQ4YTEgMSAwIDAgMSAtMS0xem00NyAzdjQ0aC00NHYtNDR6bTYgNDloLTU2di0zaDU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE1LjE3MiAxOGg1LjY1N3YyaC01LjY1N3oiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC04LjE2MyAxOC4yOTMpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNC4xMzYgMjAuNWgxMi43Mjh2MmgtMTIuNzI4eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTkuMTk4IDIwLjc5MykiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",xxe={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNS4zMjgxMjUgMTE5LjE2Nzk2OWMyMC44Mzk4NDQgOC4wNTg1OTMgMzUuNjQ0NTMxIDIxLjE0ODQzNyA0NC42MzI4MTMgNDEuNTAzOTA2Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA3LjEwNTQ2OSAyMzcuODEyNWMyMC4wODk4NDMgMCAzNi40Mzc1LTE2LjM0Mzc1IDM2LjQzNzUtMzYuNDMzNTk0IDAtMjAuMDkzNzUtMTYuMzQ3NjU3LTM2LjQzNzUtMzYuNDM3NS0zNi40Mzc1LTIwLjA4OTg0NCAwLTM2LjQzNzUgMTYuMzQzNzUtMzYuNDM3NSAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0NzY1NiAzNi40MzM1OTQgMzYuNDM3NSAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTUzMTI1IDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4OTA2MiAxNi4yMzgyODItMTYuMjQyMTg3IDE2LjIzODI4Mi04Ljk1NzAzMSAwLTE2LjI0MjE4OC03LjI4NTE1Ny0xNi4yNDIxODgtMTYuMjM4MjgyIDAtOC45NTcwMzEgNy4yODUxNTctMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjE3OTY4OCAxNDcuMDE1NjI1YzMuNzY1NjI0IDAgNy4zOTg0MzctLjU3NDIxOSAxMC44MjAzMTItMS42MzY3MTlsNy4zMzk4NDQgOS44NzEwOTRjMTMuOTQxNDA2IDE4Ljc1IDIxLjYyMTA5NCA0MS45NDUzMTIgMjEuNjIxMDk0IDY1LjMxMjV2NTkuMTUyMzQ0YzAgNS41NzgxMjUgNC41MjM0MzcgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTYgNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnYtNTkuMTUyMzQ0YzAtMjcuNjc1NzgxLTkuMDkzNzUtNTUuMTUyMzQ0LTI1LjYwOTM3NS03Ny4zNTkzNzVsLTYuNjc1NzgxLTguOTgwNDY5YzUuNDQ5MjE4LTYuMzY3MTg3IDguNzQ2MDk0LTE0LjYyNSA4Ljc0NjA5NC0yMy42NDA2MjUgMC0yMC4wOTM3NS0xNi4zNDM3NS0zNi40Mzc1LTM2LjQzNzUtMzYuNDM3NS0yMC4wODk4NDQgMC0zNi40MzM1OTQgMTYuMzQzNzUtMzYuNDMzNTk0IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQzNzUgMzYuNDMzNTk0IDM2LjQzMzU5NCAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTU3MDMxIDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4NTE1NiAxNi4yNDIxODgtMTYuMjQyMTg3IDE2LjI0MjE4OC04Ljk1MzEyNiAwLTE2LjI0MjE4OC03LjI4OTA2My0xNi4yNDIxODgtMTYuMjQyMTg4IDAtOC45NTcwMzEgNy4yODkwNjItMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0OC4xNjAxNTYgMzc3Ljc4OTA2MmgxNy45MjU3ODJjNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MjM0MzcgMTAuMDk3NjU2LTEwLjA5NzY1NiAwLTUuNTc4MTI1LTQuNTIzNDM4LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC0xNy45MjU3ODJjLTUuNTc0MjE4IDAtMTAuMDk3NjU2IDQuNTE5NTMxLTEwLjA5NzY1NiAxMC4wOTc2NTYgMCA1LjU3NDIxOSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTguMTQ0NTMxIDM3Ny43ODkwNjJoMTcuOTIxODc1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUyMzQzNy0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NmgtMTcuOTIxODc1Yy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MTk1MzEgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiA0MjAuNjc1NzgxaDY3LjkwNjI1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZzLTQuNTIzNDM3LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC02Ny45MDYyNWMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NnM0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDguMTI1IDQ0My4xNTYyNWgtOTkuOTY0ODQ0Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MjM0MzggMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZoOTkuOTY0ODQ0YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUxOTUzMS0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02My4xNDQ1MzEgODMuMDE1NjI1LTI2LjA1NDY4Ny0xNS4wMzkwNjNjLTQuODMyMDMyLTIuNzg5MDYyLTExLjAwMzkwNi0xLjEzMjgxMi0xMy43OTI5NjkgMy42OTUzMTNzLTEuMTMyODEzIDExLjAwMzkwNiAzLjY5NTMxMyAxMy43OTI5NjlsMjYuMDU0Njg3IDE1LjA0Mjk2OGMxLjU4OTg0NC45MTc5NjkgMy4zMjgxMjUgMS4zNTE1NjMgNS4wMzkwNjMgMS4zNTE1NjMgMy40ODgyODEgMCA2Ljg4MjgxMi0xLjgwODU5NCA4Ljc1MzkwNi01LjA0Njg3NSAyLjc4OTA2Mi00LjgzMjAzMSAxLjEzMjgxMi0xMS4wMDc4MTItMy42OTUzMTMtMTMuNzk2ODc1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxLjExMzI4MSAxNDYuMjEwOTM4LTMwLjA4NTkzNy0xLjI4MTI1Yy01LjU4MjAzMi0uMjUtMTAuMjgxMjUgNC4wODk4NDMtMTAuNTE5NTMyIDkuNjYwMTU2LS4yMzQzNzQgNS41NzAzMTIgNC4wODk4NDQgMTAuMjgxMjUgOS42NjAxNTcgMTAuNTE1NjI1bDMwLjA4NTkzNyAxLjI4MTI1Yy4xNDQ1MzIuMDA3ODEyLjI5Mjk2OS4wMDc4MTIuNDM3NS4wMDc4MTIgNS4zNzg5MDYgMCA5Ljg1MTU2My00LjI0MjE4NyAxMC4wNzgxMjUtOS42Njc5NjkuMjM4MjgxLTUuNTcwMzEyLTQuMDg1OTM3LTEwLjI3NzM0My05LjY1NjI1LTEwLjUxNTYyNHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0OS4zNjcxODggMzE1LjY2Nzk2OWMtMi4wNzgxMjYtNS4xNzE4NzUtNy45NjQ4NDQtNy42Nzk2ODgtMTMuMTM2NzE5LTUuNjAxNTYzLTUuMTcxODc1IDIuMDgyMDMyLTcuNjc5Njg4IDcuOTYwOTM4LTUuNjAxNTYzIDEzLjEzNjcxOWwuMTE3MTg4LjI5Mjk2OWMxLjU4NTkzNyAzLjk0MTQwNiA1LjM3MTA5NCA2LjMzNTkzNyA5LjM3NSA2LjMzNTkzNyAxLjI1MzkwNiAwIDIuNTI3MzQ0LS4yMzQzNzUgMy43NjE3MTgtLjczNDM3NSA1LjE3NTc4Mi0yLjA3ODEyNSA3LjY4MzU5NC03Ljk2MDkzNyA1LjYwMTU2My0xMy4xMzI4MTJ6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Amplifier:J_e,Awnings:B_e,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM5NC4wNjMgMzkxLjk5NmMtOS4xOTgtNS4yOS0xOC4zNzMtMTAuNjIzLTI3LjU1OC0xNS45MzcgNS4wMDItMTEuNzY5IDEwLjE5NC0yMy45MDIgMTQuOTAzLTM2LjA1MyAxLjgwOS00LjY2NyAxLjE4OS05LjkxMS0xLjY1NS0xNC4wMjgtNS43NzYtOC4zNjEtMTYuODYzLTguODU1LTI0LjM0NC0xLjc0LTE5LjY2MSAxOC43LTM5LjA4NSAzNy01OC42NTIgNTUuNTM3LTMuNzc1IDMuNTc3LTUuNjM5IDguNDM0LTUuMTEgMTMuMzI3LjUyMyA0Ljg0NiAzLjMzOSA5LjE0NCA3LjcyNSAxMS43OTIgOS4zNDUgNS42NDEgMTguNzYxIDEwLjk1NSAyOC4wOTggMTYuMjkxLTQuNjQ0IDEwLjk1MS0xMC4zNzIgMjQuMjQ2LTE0LjkyIDM2LjAwMi0yLjg4NyA3LjQ2Mi40MjEgMTUuNzQ0IDcuNjkzIDE5LjI2NCA1LjcxNCAyLjc2NiAxMi4yOCAyLjIxMSAxOC4yOTktMy40ODMgMTkuMzQ0LTE4LjMgMzkuMzQzLTM3LjIxNCA1OC42Ny01NS41NDcgMy44MTgtMy42MjIgNS42NzQtOC41MTIgNS4wOS0xMy40MTYtLjU5MS00Ljk2Mi0zLjU5NC05LjMzOC04LjIzOS0xMi4wMDl6bS03LjE3NCAxNC41NGMtMTUuNjM0IDE0LjgzMi01OC45NDkgNTYuOTczLTYwLjEwOSA1Ni40MTItLjExOC0uMDU3LS4zMDYtLjE3OC0uMjQtLjM0OSA1LjE3OS0xMy41MjYgMTEuNjM1LTI4LjI3MiAxNi45MTgtNDAuNzMyIDEuNDkzLTMuNTIyLjkwNy04LjI4LTMuNzY4LTEwLjk3LTEwLjg0LTYuMjM3LTIxLjc5MS0xMi4zNTQtMzIuNTY0LTE4Ljg0NS0uODAyLS40ODMtLjc2Ny0uNzEtLjA1MS0xLjM4OCAyMC44NzQtMTkuNzc5IDU3Ljk1OS01NS4zMTEgNTkuODAzLTU2LjQ1OS4zOTYuMDg0LjU0NC4yOTkuNTQ1LjM4NC01LjMwNyAxMy42ODQtMTEuMjEzIDI3LjMwNS0xNi45IDQwLjczOS0xLjc5NCA0LjIzNy0uMjkzIDguNjQ5IDMuNzM5IDEwLjk4IDQuMzk5IDIuNTQgOC43OTYgNS4wODcgMTMuMTkxIDcuNjM0IDYuMzc0IDMuNjkzIDEyLjc0OCA3LjM4NyAxOS4xMzQgMTEuMDU5IDEuMTA2LjYzNSAxLjEzNi43NDQuMzAyIDEuNTM1em0tODEuNzg0LTIwOC40aC0yMDEuNDZjLTEwLjI3MyAwLTE4LjYzMSA4LjMzLTE4LjYzMSAxOC41Njl2NDQuMjc2YzAgMTAuMjM5IDguMzU3IDE4LjU2OSAxOC42MzEgMTguNTY5aDIwMS40NjFjMTAuMjczIDAgMTguNjMxLTguMzMgMTguNjMxLTE4LjU2OXYtNDQuMjc2Yy0uMDAxLTEwLjIzOS04LjM1OC0xOC41NjktMTguNjMyLTE4LjU2OXptMy42MzEgNjIuODQ1YzAgMS45NjgtMS42MjkgMy41NjktMy42MzEgMy41NjloLTIwMS40NmMtMi4wMDIgMC0zLjYzMS0xLjYwMS0zLjYzMS0zLjU2OXYtNDQuMjc2YzAtMS45NjggMS42MjktMy41NjkgMy42MzEtMy41NjloMjAxLjQ2MWMyLjAwMiAwIDMuNjMxIDEuNjAxIDMuNjMxIDMuNTY5djQ0LjI3NnptMTUtMTQzLjg5OGMwLTEwLjIzOS04LjM1Ny0xOC41NjktMTguNjMxLTE4LjU2OWgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NnptLTE1IDQ0LjI3N2MwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTM4LjI0NyAxMjMuODU3Yy0xOC42NTMgMC0zNi4yNjYgNC41MjktNTEuODAzIDEyLjU0MmgtMTkxLjUzNWMtMTAuMjcyIDAtMTguNjMgOC4zMzEtMTguNjMgMTguNTd2NDQuMjdjMCAxMC4yMzkgOC4zNTcgMTguNTcgMTguNjMgMTguNTdoMTMxLjYyMWMtMS4wOTYgNi4zMTgtMS42NzMgMTIuODEyLTEuNjczIDE5LjQzOCAwIDI0LjI0MyA3LjY1MSA0Ni43MjkgMjAuNjYgNjUuMTgyaC0xNTAuNjA4Yy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDEwNy42NDFjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEwNy42NDFjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDE2My4yMzdjNy4wNyA3LjA2MyAxNS4wNjUgMTMuMTk5IDIzLjc4NSAxOC4yMWgtMTk4LjI0MmMtMTQuMjI3IDAtMjUuOC0xMS41NzQtMjUuOC0yNS44di0zNjUuMDg5YzAtMTQuMjI2IDExLjU3My0yNS44IDI1LjgtMjUuOGgyMjMuOWMxNC4yMjcgMCAyNS44IDExLjU3NCAyNS44IDI1Ljh2MTU2LjY0YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE1Ni42NGMwLTIyLjQ5Ny0xOC4zMDMtNDAuOC00MC44LTQwLjhoLTQwLjA2N3YtMzUuNjExYzAtMTYuMzc2LTEzLjMyMy0yOS42OTktMjkuNjk5LTI5LjY5OWgtODQuMzY3Yy0xNi4zNzYgMC0yOS42OTkgMTMuMzIzLTI5LjY5OSAyOS42OTl2MzUuNjExaC00MC4wNjhjLTIyLjQ5NyAwLTQwLjggMTguMzAzLTQwLjggNDAuOHYzNjUuMDljMCAyMi40OTcgMTguMzAzIDQwLjggNDAuOCA0MC44aDIyMy45YzMuODkyIDAgNy43MzEtLjU1MyAxMS40NDItMS42MzYgNi4yNDggMS4wNzEgMTIuNjY3IDEuNjM2IDE5LjIxNiAxLjYzNiA2Mi41MjQgMCAxMTMuMzkyLTUwLjg2NyAxMTMuMzkyLTExMy4zOTIgMC02Mi41MjQtNTAuODY3LTExMy4zOTEtMTEzLjM5Mi0xMTMuMzkxem0tMTk5LjQ5MS0yNTUuNTE4YzAtOC4xMDUgNi41OTQtMTQuNjk5IDE0LjY5OS0xNC42OTloODQuMzY3YzguMTA1IDAgMTQuNjk5IDYuNTk0IDE0LjY5OSAxNC42OTl2MzUuNjExaC0xMTMuNzY1em0tNDMuODQ3IDMzNC40NzFjLTIuMDAyIDAtMy42My0xLjYwMi0zLjYzLTMuNTd2LTQ0LjI3YzAtMS45NjkgMS42MjgtMy41NyAzLjYzLTMuNTdoMTY5LjM0MWMtMTUuNjY2IDEzLjUyMS0yNy42IDMxLjI1LTM0LjA0MSA1MS40MXptMjQzLjMzOCAxMzIuODNjLTU0LjI1MyAwLTk4LjM5Mi00NC4xMzgtOTguMzkyLTk4LjM5MiAwLTU0LjI1MyA0NC4xMzktOTguMzkxIDk4LjM5Mi05OC4zOTFzOTguMzkyIDQ0LjEzOCA5OC4zOTIgOTguMzkxYzAgNTQuMjU0LTQ0LjEzOSA5OC4zOTItOTguMzkyIDk4LjM5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00Ni40NCA0aC0yLjk3YTEgMSAwIDAgMSAwLTJoMi45N2ExIDEgMCAwIDEgMCAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2LjQ3IDRoLTIuOTFhMSAxIDAgMCAxIDAtMmgyLjkxYTEgMSAwIDAgMSAwIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyA1MS4yMDdhMSAxIDAgMCAxIC0xLTF2LTQwLjgyOGExIDEgMCAxIDEgMiAwdjQwLjgyOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzcgNzJhNS45MzYgNS45MzYgMCAwIDEgLTUuOTMtNS45MyAxIDEgMCAwIDEgMiAwIDMuOTMgMy45MyAwIDAgMCA3Ljg2IDAgMSAxIDAgMCAxIDIgMCA1LjkzNiA1LjkzNiAwIDAgMSAtNS45MyA1LjkzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjAuNDE2IDM1LjExNGExIDEgMCAwIDEgLTEtMXYtMjQuNzM1YTEgMSAwIDAgMSAyIDB2MjQuNzM1YTEgMSAwIDAgMSAtMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MC40MTYgNTQuNjZhNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0LTUuNjM0IDEgMSAwIDEgMSAyIDAgMy42MzQgMy42MzQgMCAxIDAgNy4yNjggMCAxIDEgMCAxIDEgMiAwIDUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNCA1LjYzNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMCAxIDIgMCAzLjYzNCAzLjYzNCAwIDAgMCA3LjI2OCAwIDEgMSAwIDAgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Chandelier:R_e,Climate:F_e,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ2NiAxMTEuOTk2aC00OS43MTlsLTEwOS4yMTUtNDYuMzYxIDQuODg5LTU0Ljc0NmMuMjUtMi43OTYtLjY4Ny01LjU2OC0yLjU4Mi03LjYzOS0xLjg5NC0yLjA3LTQuNTcyLTMuMjUtNy4zNzgtMy4yNWgtNjBjLTIuODA3IDAtNS40ODQgMS4xOC03LjM3OSAzLjI1LTEuODk1IDIuMDcxLTIuODMxIDQuODQzLTIuNTgyIDcuNjM5bDQuODk4IDU0Ljg1NC0xMDQuNzk1IDQ2LjI1M2gtMjYuMTM3Yy0zOC41OTggMC03MCAzMS40MDItNzAgNzB2NjkuOTk3YzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMHMzMC0xMy40NTggMzAtMzB2LTY5Ljk5N2MwLTUuNDIgNC41OC0xMCAxMC0xMGgyNi45MTVsMjEuNDgzIDEyMS43MzhjMS45MjcgMTAuOTIzIDkuOTA0IDE4LjI2MyAxOS44NDggMTguMjYzdjQwLjAwM2MtOS42NTIgMC0xNy4yMTcgNi44MDItMTkuNzQ0IDE3Ljc1MWwtMzAuMDAxIDEzMGMtLjY4NSAyLjk2OS4wMjEgNi4wODkgMS45MTggOC40NzRzNC43NzggMy43NzQgNy44MjYgMy43NzRoMjgwYzMuMDQ3IDAgNS45MjktMS4zOSA3LjgyNi0zLjc3NCAxLjg5Ny0yLjM4NSAyLjYwNC01LjUwNSAxLjkxOC04LjQ3NGwtMzAuMDAxLTEzMGMtMi41MjUtMTAuOTQ5LTEwLjA5MS0xNy43NTEtMTkuNzQzLTE3Ljc1MXYtNDAuMDAyYzkuOTQ0IDAgMTcuOTItNy4zMzkgMTkuODQ3LTE4LjI2MmwxNC4zODEtODEuNDkyIDY0LjA1Ni01NS4yMzZjMi4yMDMtMS44OTkgMy40Ny00LjY2NSAzLjQ3LTcuNTczdi0yNy40MzhjLjAwMS01LjUyNC00LjQ3Ny0xMC4wMDEtOS45OTktMTAuMDAxem0tMTc0LjkzOC05MS45OTYtMy43NSA0MS45OTZoLTMwLjYzNGwtMy43NTEtNDEuOTk2em0tNDEuNDIzIDYxLjk5Nmg0NC43ODVsNzAuNjcyIDMwaC0xODMuNDI4em0tMTQzLjYzOSA3MC4wMDFjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHY2OS45OTdjMCA1LjUxNC00LjQ4NiAxMC0xMCAxMHMtMTAtNC40ODYtMTAtMTB2LTY5Ljk5N2MwLTI3LjU3IDIyLjQzLTUwIDUwLTUwaDE5Ljg1NmwzLjUzIDIwem02OC4wOTQgMTM4LjI2My0yNy45MjktMTU4LjI2NGg2Mi43NjJsMi41MjggMzUuODE3Yy4zNzIgNS4yNyA0Ljc2MiA5LjI5NiA5Ljk2NSA5LjI5Ni4yMzYgMCAuNDc1LS4wMDguNzE0LS4wMjUgNS41MDktLjM4OSA5LjY2LTUuMTcgOS4yNzEtMTAuNjc5bC0yLjQyOS0zNC40MDloOTAuNTM5bC0xMS4yOTUgMTYwLjAwMmgtNjcuOTQ5bC0yLjUyOS0zNS44MTdjLS4zODktNS41MDktNS4xNjYtOS42NjEtMTAuNjc5LTkuMjcxLTUuNTA5LjM4OS05LjY2IDUuMTctOS4yNzEgMTAuNjc5bDIuNDI5IDM0LjQwOWgtNDUuNTE4Yy0uMTk5LS4zMjEtLjQ2My0uOTE0LS42MDktMS43Mzh6bS0uMTAzIDgzLjk4OGMuMjU5LTEuMTI1LjYxLTEuODU3Ljg1My0yLjI0OWg0NS4zNmwtMTEuMDc3IDEyMGgtNjIuMzF6bTEzNC4yMTItMi4yNDggMTEuMDc3IDEyMGgtOTAuMDY5bDExLjA3Ny0xMjB6bTY2LjI5NyAyLjI0OCAyNy4xNzUgMTE3Ljc1MmgtNjIuMzFsLTExLjA3Ny0xMjBoNDUuMzZjLjI0My4zOTEuNTkzIDEuMTIzLjg1MiAyLjI0OHptLTIwLjI1NS0yMi4yNDhoLTE1OS45OTh2LTQwLjAwMmgxNTkuOTk4em0yMC4xNTEtNjEuNzRjLS4xNDYuODI0LS40MDkgMS40MTctLjYwOCAxLjczN2gtNDUuNTE4bDExLjI5NS0xNjAuMDAxaDYyLjc2MmwtMTIuOTM3IDczLjMwOWMwIC4wMDEgMCAuMDAyLS4wMDEuMDAzem04MS42MDQtMTQ1LjQwNy00Mi4wMjkgMzYuMjQyIDguNjY1LTQ5LjA5OWgzMy4zNjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+DQogICAgPC9nPg0KPC9zdmc+","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTQzOC40MTMsMzQzLjE4OEM0MjguMDU5LDMzNS4wODUsNDE1LjE3NCwzMjUsMzkwLjgzNSwzMjVjLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OA0KCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQ0KCQljLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc4LDE4LjE4OEMxODEuMTY2LDM1MC4wNDUsMTc0LjgzNCwzNTUsMTYwLjg0LDM1NWMtMTMuOTk2LDAtMjAuMzI3LTQuOTU1LTI5LjA5LTExLjgxMw0KCQlDMTIxLjM5NSwzMzUuMDg0LDEwOC41MDksMzI1LDg0LjE3LDMyNWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCwzNTAuMDQ1LDIxLjQ5NiwzNTUsNy41LDM1NXYzMA0KCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzDQoJCUMxMjMuNjE1LDM3NC45MTYsMTM2LjUsMzg1LDE2MC44NCwzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NCw0Ny41NzgtMTguMTg4QzIxNy4xOCwzNTkuOTU1LDIyMy41MTEsMzU1LDIzNy41MDYsMzU1DQoJCWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxM0MyNzYuOTQ3LDM3NC45MTUsMjg5LjgzMywzODUsMzE0LjE3LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODgNCgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwDQoJCUM0NTMuNTA2LDM1NSw0NDcuMTc1LDM1MC4wNDUsNDM4LjQxMywzNDMuMTg4eiIvPg0KCTxwYXRoIGQ9Ik0zOTAuODM1LDQxNWMtMjQuMzM4LDAtMzcuMjI0LDEwLjA4NS00Ny41NzcsMTguMTg4QzMzNC40OTYsNDQwLjA0NSwzMjguMTY1LDQ0NSwzMTQuMTcsNDQ1DQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgNCgkJQzE4MS4xNjYsNDQwLjA0NSwxNzQuODM0LDQ0NSwxNjAuODQsNDQ1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzQzEyMS4zOTUsNDI1LjA4NCwxMDguNTA5LDQxNSw4NC4xNyw0MTUNCgkJYy0yNC4zMzksMC0zNy4yMjUsMTAuMDg0LTQ3LjU3OSwxOC4xODhDMjcuODI4LDQ0MC4wNDUsMjEuNDk2LDQ0NSw3LjUsNDQ1djMwYzI0LjMzOSwwLDM3LjIyNS0xMC4wODQsNDcuNTc5LTE4LjE4OA0KCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1DQoJCWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDQ0OS45NTUsMjIzLjUxMSw0NDUsMjM3LjUwNiw0NDVjMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTMNCgkJQzI3Ni45NDcsNDY0LjkxNSwyODkuODMzLDQ3NSwzMTQuMTcsNDc1YzI0LjMzOCwwLDM3LjIyNC0xMC4wODUsNDcuNTc3LTE4LjE4OEMzNzAuNTEsNDQ5Ljk1NSwzNzYuODQxLDQ0NSwzOTAuODM1LDQ0NQ0KCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzDQoJCUM0MjguMDU5LDQyNS4wODUsNDE1LjE3NCw0MTUsMzkwLjgzNSw0MTV6Ii8+DQoJPHBvbHlnb24gcG9pbnRzPSIxODQuMzc4LDI1OC4zMjMgMjIyLjUsMjM2LjMxMyAyMjIuNSwyODAuMzMzIDI1Mi41LDI4MC4zMzMgMjUyLjUsMjM2LjMxMyAyOTAuNjIyLDI1OC4zMjMgMzA1LjYyMiwyMzIuMzQzDQoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0Mw0KCQkxNjkuMzc4LDE4OC4zMjMgMjA3LjUsMjEwLjMzMyAxNjkuMzc4LDIzMi4zNDMgCQkJIi8+DQoJPHBvbHlnb24gcG9pbnRzPSIyNC4wOTUsMTE3Ljk5IDYyLjIxNiw5NS45OCA2Mi4yMTYsMTQwIDkyLjIxNiwxNDAgOTIuMjE2LDk1Ljk4IDEzMC4zMzgsMTE3Ljk5IDE0NS4zMzgsOTIuMDEgMTA3LjIxNiw3MA0KCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxDQoJCSIvPg0KCTxwb2x5Z29uIHBvaW50cz0iMzQ0LjY2MiwxMTcuOTkgMzgyLjc4NCw5NS45OCAzODIuNzg0LDE0MCA0MTIuNzg0LDE0MCA0MTIuNzg0LDk1Ljk4IDQ1MC45MDUsMTE3Ljk5IDQ2NS45MDUsOTIuMDEgNDI3Ljc4Myw3MA0KCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzANCgkJMzI5LjY2Miw5Mi4wMSAJCQkiLz4NCjwvZz4NCjwvc3ZnPg0K",Computer:G_e,Consumption:H_e,Curtains:V_e,Dishwashers:Z_e,Doors:X_e,Doorstep:K_e,Dryer:q_e,Fan:exe,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM3Ny4wMTggMTA0LjQtNTQuODYxLTkzLjQxNmMtMy45OC02Ljc3NS0xMS4zMzQtMTAuOTg0LTE5LjE5MS0xMC45ODRoLTkxLjY1NWMtNy42OTcgMC0xNC45NzMgNC4wNzktMTguOTg3IDEwLjY0NGwtNTcuMTM1IDkzLjQxNGMtOS4wNTUgMTQuODAzIDEuNjI2IDMzLjg3IDE4Ljk4NyAzMy44N2gyOC4xODJjMi4yMjIgMzMuNDUyIDI2LjgwOCA2MC44ODQgNTguOTE2IDY3LjQxLS4yNzQgMS44MjYtLjE4NC0xMy41MS0uMTg0IDIxNy4xOTVoLTM3LjQ4NGMtMTEuODk4IDAtMjEuNTc5IDkuNjgtMjEuNTc5IDIxLjU3OXY0Ni4zMWMwIDExLjg5OCA5LjY4IDIxLjU3OSAyMS41NzkgMjEuNTc5aDEwNC43OWMxMS44OTkgMCAyMS41NzktOS42OCAyMS41NzktMjEuNTc5di00Ni4zMWMwLTExLjg5OC05LjY4LTIxLjU3OS0yMS41NzktMjEuNTc5aC0zNy40ODRjMC0yMzAuNzY2LjA5LTIxNS4zNy0uMTg0LTIxNy4xOTUgMjIuMDI1LTQuNDc2IDQwLjUwNS0xOC43OTUgNTAuNjY2LTM4LjE0MXYzNy42MzFjMCA4LjIzNSA2LjY3NiAxNC45MTEgMTQuOTExIDE0LjkxMXMxNC45MTEtNi42NzYgMTQuOTExLTE0LjkxMXYtNjYuOWg2LjYxYzE3LjE2NiAwIDI3Ljg5My0xOC43MDggMTkuMTkyLTMzLjUyOHptLTc2Ljg2NiAzNzcuNzc4aC04OC4zMDJ2LTI5LjgyMmg4OC4zMDJ6bS04NC41OTktNDUyLjM1Nmg4My4wODNsNDUuOTc0IDc4LjI4NGMtNy4wNjEgMC0xNjkuOTAzIDAtMTc2LjkzOCAwem00MC40NDcgMTQ3LjE3MmMtMjIuNTk1IDAtNDEuMjY3LTE3LjExNy00My43MjktMzkuMDY2aDg3LjQ1OGMtMi40NjIgMjEuOTQ5LTIxLjEzNCAzOS4wNjYtNDMuNzI5IDM5LjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsNjRjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThIOEMzLjU4MiwwLDAsMy41ODIsMCw4djQ4YzAsNC40MTgsMy41ODIsOCw4LDhoMTZ2NDAwSDgNCgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4DQoJCWgzMzZWNDAweiBNNDA4LDMzNkg3MnYtNDhoMzM2VjMzNnogTTQwOCwyNzJINzJ2LTQ4aDMzNlYyNzJ6IE00MDgsMjA4SDcydi00OGgzMzZWMjA4eiBNNDA4LDE0NEg3MlY5NmgzMzZWMTQ0eiBNNDQwLDQ2NGgtMTZWODgNCgkJYzAtNC40MTgtMy41ODItOC04LThINjRjLTQuNDE4LDAtOCwzLjU4Mi04LDh2Mzc2SDQwVjY0aDQwMFY0NjR6IE0xNiw0OFYxNmg0NDh2MzJIMTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gates:txe,Hairdryer:sxe,Handle:ixe,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTkzLjUyNSAzNTkuNzcxaDEwNy44ODV2NC4xMjlhNTMuMDcyIDUzLjA3MiAwIDEgMCAxMDYuMTQ0IDB2LTQuMTI0aDExMC45MjFhNiA2IDAgMCAwIDYtNmMwLTgyLjAxNS01OC45MTMtMTUwLjUxOC0xMzYuNjQtMTY1LjQ0NHYtMjAuMzE5YTMxLjg4MyAzMS44ODMgMCAwIDAgLTI1LjgzNS0zMS4yNnYtMTIwLjc1M2E2IDYgMCAwIDAgLTEyIDB2MTIwLjc1M2EzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUgMzEuMjZ2MjAuMzE0Yy03Ny43MjcgMTQuOTI2LTEzNi42NCA4My40MjktMTM2LjY0IDE2NS40NDRhNiA2IDAgMCAwIDYgNnptMjAyLjAyOSA0LjEyOWE0MS4wNzIgNDEuMDcyIDAgMSAxIC04Mi4xNDQgMHYtNC4xMjRoODIuMTQ0em0tMzkuNTU0LTIxNS43MjJhMTkuODUxIDE5Ljg1MSAwIDAgMSAxOS4xOCAxNC44NjhoLTM4LjM2YTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTgtMTQuODY4em0tMTkuODM1IDI2Ljg2OGgzOS42N3YxMS40MjRhMTY4LjI4OCAxNjguMjg4IDAgMCAwIC0zOS42NyAwem0xOS44MzUgMjIuMjU0Yzg0LjI3NCAwIDE1My4yIDY2Ljk2IDE1Ni4zNjEgMTUwLjQ3NGgtMzEyLjcyMmMzLjE2MS04My41MTcgNzIuMDg3LTE1MC40NzQgMTU2LjM2MS0xNTAuNDc0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjQyMiA0MzEuNDg4YTYgNiAwIDAgMCAtLjA3NSA4LjQ4NWwyOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MS04LjQxbC0yOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC40ODYtLjA3NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC4wOTIgNDMxLjU2My0yOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MSA4LjQxbDI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjU2MS04LjQxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Heater:rxe,Hoods:oxe,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NSAyNDEuOTAyYy0xOC4yMjMgMC0zMy4zNTgtNS45MzctNDUuMDkyLTE3LjYydi0xNDkuMzU0YzAtNDEuMzE1LTMzLjYxMy03NC45MjgtNzQuOTI5LTc0LjkyOHMtNzQuOTI4IDMzLjYxMy03NC45MjggNzQuOTI4djE0OS4zOTVjLTI0LjI1NCAyNC4xMDctNjkuNDc2IDI0LjQxNS05My42NjMtMy44MDMtNS45ODEtNi45NzgtMTYuNzkzLTYuOTgyLTIyLjc3NyAwLTI0LjU4NiAyOC42ODUtNzIuNTM4IDI4Ljc5OC05Ny4yMjMgMC02LjMyMi03LjM3OC0xNy44NjctNi44NjctMjMuNTM3Ljk2My0uMTQ4LjIwNC0xNS42ODggMjAuNDE4LTQ3Ljg1MiAyMC40MTgtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNWMyOC42MzIgMCA0OC40ODktMTEuMjggNjAuMDI3LTIwLjYyNCAzMy40NDcgMjcuNjE1IDg2LjUxMiAyNy42MjUgMTE5Ljk3My0uMDIyIDMwLjE5MSAyNC45NDQgNzQuMzYyIDI2LjE3OSAxMDUuMDUyIDkuOTU3djQwLjQ3MWMtMjcuOTg0IDIzLjEzMS00My44MTEgNTcuODc4LTQyLjY1OCA5NC40NTMgMS45NzQgNjIuNzI4IDUzLjc0MyAxMTMuODY0IDExNy41ODYgMTEzLjg2NCA2NC44NzEgMCAxMTcuNjQ3LTUyLjc3NiAxMTcuNjQ3LTExNy42NDYgMC0zNS4wNy0xNS44MzctNjguNDA2LTQyLjcxOS05MC42NjZ2LTQwLjQ5N2MxMy4zMjUgNy4wNTIgMjguNTE3IDEwLjcxIDQ1LjA5MiAxMC43MSA4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNS0xNC45OTktMTQuOTk5LTE0Ljk5OXptLTEyMC4wMi0yMTEuOTAyYzI0Ljc3MyAwIDQ0LjkyOCAyMC4xNTUgNDQuOTI4IDQ0LjkyOHYxNDkuNTM3Yy04LjMxNCA4LjIxMS0xOC4zMjcgMTMuNTUxLTI5LjkyOSAxNS45NTN2LTE0My45NTdjMC04LjI4NC02LjcxNi0xNS0xNS0xNXMtMTUgNi43MTYtMTUgMTV2MTQzLjk0N2MtMTEuNjAzLTIuNDA5LTIxLjYxNS03Ljc1OS0yOS45MjgtMTUuOTgzdi0xNDkuNDk3Yy4wMDEtMjQuNzczIDIwLjE1Ni00NC45MjggNDQuOTI5LTQ0LjkyOHptLS4wMDEgMzQzLjUwNGMxMC41MzIgMCAxOS4xMDEgOC41NjggMTkuMTAxIDE5LjFzLTguNTY4IDE5LjEtMTkuMTAxIDE5LjFjLTEwLjUzMSAwLTE5LjEtOC41NjgtMTkuMS0xOS4xczguNTY5LTE5LjEgMTkuMS0xOS4xem04Ny42NDggMTguODVjMCA0OC4zMjktMzkuMzE4IDg3LjY0Ni04Ny42NDcgODcuNjQ2LTQ2LjgzMSAwLTg2LjEyOS0zOC4wNDQtODcuNjAyLTg0LjgwOC0uOTItMjkuMjE4IDEyLjcwNC01Ni44NzUgMzYuNDQzLTczLjk4MSAzLjkxMi0yLjgxOSA2LjIzLTcuMzQ3IDYuMjMtMTIuMTY5di00Ny43NzRjOS4xNDggNC44MiAxOS4xNzcgOC4wMzMgMjkuOTI4IDkuNTY4djc1LjAyYy0xOS43NTggNi4zNTUtMzQuMSAyNC45MDUtMzQuMSA0Ni43NDggMCAyNy4wNzQgMjIuMDI2IDQ5LjEgNDkuMSA0OS4xczQ5LjEwMS0yMi4wMjYgNDkuMTAxLTQ5LjFjMC0yMS44NDMtMTQuMzQyLTQwLjM5My0zNC4xMDEtNDYuNzQ4di03NS4wMTRjMTAuNzUtMS41MzEgMjAuNzgtNC43MzggMjkuOTI5LTkuNTUydjQ3Ljc1M2MwIDQuODIyIDIuMzE4IDkuMzUxIDYuMjMgMTIuMTY5IDIyLjg0OCAxNi40NjMgMzYuNDg5IDQzLjA1OSAzNi40ODkgNzEuMTQyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTczLjg1NyAzNzkuMTE3Yy0yNC44MTMgMC00NSAyMC4xODctNDUgNDVzMjAuMTg3IDQ1IDQ1IDQ1IDQ1LTIwLjE4NyA0NS00NS0yMC4xODYtNDUtNDUtNDV6bTAgNjBjLTguMjcxIDAtMTUtNi43MjktMTUtMTVzNi43MjktMTUgMTUtMTUgMTUgNi43MjkgMTUgMTUtNi43MjggMTUtMTUgMTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02NC44NjMgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU3IDE1LjM1NSA1Ljg1OCAyMS4yMTMgMCAyMS4wNDYtMjEuMDQ2IDIxLjA0Ni01NS4yOTEgMC03Ni4zMzgtOS4zNzEtOS4zNy05LjM3My0yNC41MzkgMC0zMy45MTEgNS44NTgtNS44NTggNS44NTgtMTUuMzU1IDAtMjEuMjEzLTUuODU3LTUuODU4LTE1LjM1NS01Ljg1Ny0yMS4yMTMgMC0yMS4wOTYgMjEuMDk2LTIxLjA5OCA1NS4yNDEgMCA3Ni4zMzggOS4zNDkgOS4zNDkgOS4zNDkgMjQuNTYxIDAgMzMuOTExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxOS42MzkgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU4IDE1LjM1NCA1Ljg1OCAyMS4yMTMgMCAyMS4wOTctMjEuMDk3IDIxLjA5OC01NS4yNCAwLTc2LjMzOS05LjM3MS05LjM3LTkuMzczLTI0LjUzOSAwLTMzLjkxMSA1Ljg1OC01Ljg1OCA1Ljg1OC0xNS4zNTUgMC0yMS4yMTMtNS44NTYtNS44NTgtMTUuMzU0LTUuODU3LTIxLjIxMyAwLTIxLjA5NiAyMS4wOTYtMjEuMDk4IDU1LjI0MSAwIDc2LjMzOCA5LjM3IDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Humidity:nxe,Iron:axe,Irrigation:Mxe,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xNiAxOGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgNDJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNiA1MGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMzRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiA2Mmg4YTEgMSAwIDAgMCAxLTF2LTQ5aDZ2NDFhMSAxIDAgMCAwIC4yOTMuNzA3bDggOGExIDEgMCAwIDAgLjcwNy4yOTNoOGExIDEgMCAwIDAgLjcwNy0uMjkzbDgtOGExIDEgMCAwIDAgLjI5My0uNzA3di01MGExIDEgMCAwIDAgLTEtMWgtOGExIDEgMCAwIDAgLTEgMXY0OWgtNnYtNDlhMSAxIDAgMCAwIC0xLTFoLTE2YTEgMSAwIDAgMCAtLjcwNy4yOTNsLTggOGExIDEgMCAwIDAgLS4yOTMuNzA3djUwYTEgMSAwIDAgMCAxIDF6bTMzLTEzdi00NWg2djQ4LjU4NmwtNiA2em0tOCA1aDZ2NmgtNnptLTgtNXYtNDVoNnY1NC41ODZsLTYtNnptLTgtNDVoNnY2aC02em0tOCA1MXYtNDMuNTg2bDYtNnY1NC41ODZoLTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5IDU2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMzFoNXYyaC01eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4NCiAgICAgICAgPHBhdGggZD0ibTQuNSAzNS41aDV2MmgtNXoiIHRyYW5zZm9ybT0ibWF0cml4KC44IC0uNiAuNiAuOCAtMjAuNTA1IDExLjUwNSkiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDMxaDV2MmgtNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4NCiAgICAgICAgPHBhdGggZD0ibTU2IDM0aDJ2NWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC42IC0uOCAuOCAuNiAtNi40IDYwLjIpIi8+DQogICAgPC9nPg0KPC9zdmc+",Light:cxe,Lightings:uxe,Lock:lxe,Louvre:Nxe,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3IDU0YzUuNTE0IDAgMTAtNC40ODYgMTAtMTBzLTQuNDg2LTEwLTEwLTEwLTEwIDQuNDg2LTEwIDEwIDQuNDg2IDEwIDEwIDEwem0tNy45MzEtMTFjLjE4My0xLjQ1OC43NTktMi43OTIgMS42MTktMy44OThsMS4zNjIgMS4zNjMgMS40MTQtMS40MTQtMS4zNjItMS4zNjJjMS4xMDYtLjg2IDIuNDQtMS40MzYgMy44OTgtMS42MTl2MS45M2gydi0xLjkzMWMxLjQ1OC4xODMgMi43OTIuNzU5IDMuODk4IDEuNjE5bC0xLjM2MiAxLjM2MiAxLjQxNCAxLjQxNCAxLjM2Mi0xLjM2M2MuODYgMS4xMDYgMS40MzYgMi40NCAxLjYxOSAzLjg5OGgtMS45MzF2MmgxLjkzMWMtLjE4MyAxLjQ1OC0uNzU5IDIuNzkyLTEuNjE5IDMuODk4bC0xLjM2Mi0xLjM2My0xLjQxNCAxLjQxNCAxLjM2MiAxLjM2MmMtMS4xMDYuODYtMi40NCAxLjQzNi0zLjg5OCAxLjYxOXYtMS45MjloLTJ2MS45MzFjLTEuNDU4LS4xODMtMi43OTItLjc1OS0zLjg5OC0xLjYxOWwxLjM2Mi0xLjM2Mi0xLjQxNC0xLjQxNC0xLjM2MiAxLjM2M2MtLjg2LTEuMTA2LTEuNDM2LTIuNDQtMS42MTktMy44OThoMS45MzF2LTJoLTEuOTMxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA0OGMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMC02YzEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMi0yLS44OTctMi0yIC44OTctMiAyLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02LjY1MSAxNS42MzVjLTEuNzU3IDIuMTI1LTEuNDU4IDUuMjgyLjY2NyA3LjA0bDQuNjI0IDMuODIzYy4xODcuMTU0LjQxMi4yMjkuNjM3LjIyOS4yODggMCAuNTczLS4xMjQuNzcxLS4zNjIgMS43NTctMi4xMjUgMS40NTgtNS4yODItLjY2Ny03LjA0bC00LjYyNC0zLjgyM2MtLjQyNi0uMzUyLTEuMDU2LS4yOTItMS40MDguMTMzem01LjY2MiA4LjU3Ni0zLjcyMS0zLjA3N2MtMS4wMDQtLjgzMS0xLjMyOS0yLjE4NS0uOTA1LTMuMzQ1bDMuNzIxIDMuMDc3YzEuMDA1LjgzMSAxLjMyOSAyLjE4NS45MDUgMy4zNDV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Music:Lxe,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ1NyAwaC00MDJjLTMwLjMyNyAwLTU1IDI0LjY3My01NSA1NXY0NTdoNDMydi00MDguMDM1YzcuNTA3IDMuODQ4IDE2IDYuMDM1IDI1IDYuMDM1IDMwLjMyNyAwIDU1LTI0LjY3MyA1NS01NXMtMjQuNjczLTU1LTU1LTU1em0tNDAyIDMwaDM1My4wMzVjLTMuODQ4IDcuNTA3LTYuMDM1IDE2LTYuMDM1IDI1djdoLTM3MnYtN2MwLTEzLjc4NSAxMS4yMTUtMjUgMjUtMjV6bS0yNSAyNzJ2LTMwaDM3MnYzMHptMzcyIDMwdjMwaC0zNzJ2LTMwem0tMzcyLTkwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMC02MHYtMzBoMzcydjMwem0wIDM2MHYtOTBoMzcydjkwem00MjctNDAyYy0xMy43ODUgMC0yNS0xMS4yMTUtMjUtMjVzMTEuMjE1LTI1IDI1LTI1IDI1IDExLjIxNSAyNSAyNS0xMS4yMTUgMjUtMjUgMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyIDQyMmgzMHYzMGgtMzB6Ii8+DQogICAgPC9nPg0KPC9zdmc+",People:gxe,Pool:jxe,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAzYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMC4xMzIgMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTQtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk3LjA5Ny0uMjI1LjE0Ni0uMzUzLjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMuODY4IDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMi41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwLjU3MyAyMGMtLjA1OSAwLS4xMTctLjAxLS4xNzUtLjAzMS0uMjE5LS4wODItLjM1Mi0uMzA0LS4zMjEtLjUzNGwuODUzLTYuNDM1aC0zLjQzYy0uMTg5IDAtLjM2Mi0uMTA3LS40NDctLjI3NnMtLjA2Ny0uMzcyLjA0Ny0uNTI0bDYtOGMuMTM5LS4xODYuMzg2LS4yNTIuNTk3LS4xNi4yMTIuMDkxLjMzNS4zMTQuMjk3LjU0MmwtLjkwNCA1LjQxOGgzLjQxYy4xODQgMCAuMzUzLjEwMS40NC4yNjNzLjA3OC4zNTgtLjAyMi41MTNsLTUuOTI3IDljLS4wOTUuMTQzLS4yNTQuMjI0LS40MTguMjI0em0tMi4wNzMtOGgzYy4xNDUgMCAuMjgxLjA2My4zNzYuMTcxLjA5NS4xMDcuMTM5LjI1Mi4xMi4zOTVsLS42NDEgNC44MzggNC4yMTctNi40MDRoLTMuMDcyYy0uMTQ3IDAtLjI4Ni0uMDY0LS4zODItLjE3Ny0uMDk1LS4xMTItLjEzNi0uMjYxLS4xMTEtLjQwNWwuNjYzLTMuOTc4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Printer:yxe,Pump:Txe,Receiver:Dxe,Sconces:dxe,Security:hxe,Shading:zxe,Shutters:wxe,SmokeDetector:Ixe,Sockets:Cxe,Speaker:pxe,Stove:Axe,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTk3LjUgMjIwLjM2MS0xNS45MTQgMTUuOTE0YTYgNiAwIDEgMCA4LjQ4NCA4LjQ4NmwxNS45MTUtMTUuOTE1YTYgNiAwIDEgMCAtOC40ODQtOC40ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzUuNSAyNDIuNTA4LTE1LjkxLTE1LjkxNGE2IDYgMCAwIDAgLTguNDg2IDguNDg1bDE1LjkxNCAxNS45MTVhNiA2IDAgMCAwIDguNDg2LTguNDg2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtODYuODI2IDE3MWE2IDYgMCAwIDAgLTYtNmgtMjQuODM3YTYgNiAwIDAgMCAwIDEyaDI0LjgzN2E2IDYgMCAwIDAgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzguODUyIDQ1MS45NjlhNDEuODM3IDQxLjgzNyAwIDAgMCAtNDEuMTY2LTM1Ljk2OWgtMjguNjg2di0zMjYuNjg0YTY5LjMwOSA2OS4zMDkgMCAwIDAgLTEyMS43LTQ1LjM4MiA1Ni4wMjIgNTYuMDIyIDAgMCAwIC00OC43MDkgNi4zNDlsLTgxLjUxOSA1NC4wNjhhNiA2IDAgMCAwIC0uOTI1IDkuMjQybDIzLjQyMiAyMy40MjMtMS40NDIgMS40NDJhMzUuMTg4IDM1LjE4OCAwIDAgMCA0OS43NjMgNDkuNzYzbDEuNDQyLTEuNDQyIDIzLjQyMiAyMy40MjFhNiA2IDAgMCAwIDQuMjQ2IDEuNzU5Yy4yIDAgLjQtLjAxLjYtLjAzYTYgNiAwIDAgMCA0LjQtMi42NTRsNTQuMDY3LTgxLjUxOWE1Ni4wODggNTYuMDg4IDAgMCAwIDMuNDg4LTU1LjY1NiAyNi4zODYgMjYuMzg2IDAgMCAxIDQ2LjQ0NSAxNy4yMTZ2MzI2LjY4NGgtMjkuMTgyYTQyIDQyIDAgMCAwIC00MS4zNDMgMzYuMDc2IDI2LjQgMjYuNCAwIDAgMCAtMjIuNDc1IDI1Ljk1NnY3Ljk2OGE2LjI4MiA2LjI4MiAwIDAgMCA2LjMxOSA2aDIxNi42OTJhNS45OTIgNS45OTIgMCAwIDAgNS45ODktNnYtNy45NjhhMjYuMjQ3IDI2LjI0NyAwIDAgMCAtMjMuMTQ4LTI2LjA2M3ptLTI1OS40NTItMjcyLjIzNGEyMy4xODggMjMuMTg4IDAgMCAxIC0zMi43OTMtMzIuNzkybDEuNDQzLTEuNDQzIDMyLjc5MyAzMi43OTN6bTM2LjY0OCAxNi43OTQtODYuMjMtODYuMjI5IDE4LjA5My0xMiA4MC4xNCA4MC4xNHptNTAuMDEyLTc1LjQtMzEuMjQ2IDQ3LjExLTc2LjctNzYuNzA1IDQ3LjExLTMxLjI0NmE0My44OTQgNDMuODk0IDAgMCAxIDYwLjg0IDYwLjg0MXptMzMuNTI4LTcwLjI3MmEzOC4yNTIgMzguMjUyIDAgMCAwIC0yNi42ODggMTAuODIzIDU0LjYyIDU0LjYyIDAgMCAwIC0xNC4xODYtMTIuNDM1IDU3LjMxIDU3LjMxIDAgMCAxIDk4LjI4NiA0MC4wNzF2MzI2LjY4NGgtMTl2LTMyNi42ODRhMzguNDYxIDM4LjQ2MSAwIDAgMCAtMzguNDA5LTM4LjQ2NHptLTIuNzcgMzc3LjE0M2gxMDAuODY4YzE0LjI1OSAwIDI2LjE5NSAxMSAyOC45NzYgMjRoLTE1OC44MTljMi43ODEtMTMgMTQuNzE2LTI0IDI4Ljk3NS0yNHptMTUzLjE4MiA1MmgtMjA1di0xLjk2OGExNC4zMiAxNC4zMiAwIDAgMSAxNC4zMTktMTQuMDMyaDE3Ni42OTJhMTQuMDM0IDE0LjAzNCAwIDAgMSAxMy45ODkgMTQuMDMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA1IDM4MS4wMzFhNiA2IDAgMCAwIDEyIDB2LTc1LjgwNmE2IDYgMCAwIDAgLTEyIDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMzUyLDM4NS40MDZWNTMuMzMzQzM1MiwyMy45MjcsMzI4LjA3MywwLDI5OC42NjcsMHMtNTMuMzMzLDIzLjkyNy01My4zMzMsNTMuMzMzdjMzMi4wNzMNCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2Nw0KCQkJCUMzNzMuMzMzLDQxOC4wMzEsMzY1LjYxNSwzOTkuMzY1LDM1MiwzODUuNDA2eiBNMjk4LjY2Nyw0OTAuNjY3Yy0yOS40MDYsMC01My4zMzMtMjMuOTI3LTUzLjMzMy01My4zMzMNCgkJCQljMC0xNS4xMDQsNi4zMjMtMjkuMTI1LDE3LjgxMy0zOS40NjljMi4yNC0yLjAzMSwzLjUyMS00LjkwNiwzLjUyMS03LjkyN1Y1My4zMzNjMC0xNy42NDYsMTQuMzU0LTMyLDMyLTMyDQoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzDQoJCQkJQzM1Miw0NjYuNzQsMzI4LjA3Myw0OTAuNjY3LDI5OC42NjcsNDkwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOS4zMzMsNDA3LjI5OFYyMjRjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3YxODMuMjk4DQoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzINCgkJCQlDMzMwLjY2Nyw0MjMuNDQ1LDMyMS43MjMsNDExLjcxNiwzMDkuMzMzLDQwNy4yOTh6IE0yOTguNjY3LDQ0OGMtNS44ODUsMC0xMC42NjctNC43ODEtMTAuNjY3LTEwLjY2Nw0KCQkJCWMwLTUuODg1LDQuNzgxLTEwLjY2NywxMC42NjctMTAuNjY3YzUuODg1LDAsMTAuNjY3LDQuNzgxLDEwLjY2NywxMC42NjdDMzA5LjMzMyw0NDMuMjE5LDMwNC41NTIsNDQ4LDI5OC42NjcsNDQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0DQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDM0Ni4xMDQsMjE5LjIyOSwzNDEuMzMzLDIxMy4zMzMsMzQxLjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMjk4LjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywyNTZIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDI2MC43NzEsMjE5LjIyOSwyNTYsMjEzLjMzMywyNTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMjM0LjY2NywxNDkuMzMzLDIzNC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDEwNi42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDE3MC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDE3NS40MzgsMjE5LjIyOSwxNzAuNjY3LDIxMy4zMzMsMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxMzIuNzcxLDIxOS4yMjksMTI4LDIxMy4zMzMsMTI4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Tv:mxe,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wMjczNDQtMjIuMDgyMDMxLTE3LjkxNzk2OS0zOS45NzI2NTYtNDAtNDAtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGMzMC45MTQwNjIuMDM1MTU2IDU1Ljk2NDg0NCAyNS4wODU5MzggNTYgNTYgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3MiA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDQ2ODc1LTM5Ljc0NjA5NC0zMi4yNTM5MDYtNzEuOTUzMTI1LTcyLTcyLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjNDguNTc4MTI1LjA1ODU5MzggODcuOTQxNDA2IDM5LjQyMTg3NSA4OCA4OCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wMzUxNTYtMzAuOTE0MDYyIDI1LjA4NTkzOC01NS45NjQ4NDQgNTYtNTYgNC40MTc5NjkgMCA4IDMuNTgyMDMxIDggOHMtMy41ODIwMzEgOC04IDhjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04IDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wNTg1OTM4LTQ4LjU3ODEyNSAzOS40MjE4NzUtODcuOTQxNDA2MiA4OC04OCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOGMtMzkuNzQ2MDk0LjA0Njg3NS03MS45NTMxMjUgMzIuMjUzOTA2LTcyIDcyIDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDQxNmMyNi41MDc4MTIgMCA0OC0yMS40OTIxODggNDgtNDhzLTIxLjQ5MjE4OC00OC00OC00OC00OCAyMS40OTIxODgtNDggNDhjLjAyNzM0NCAyNi41IDIxLjUgNDcuOTcyNjU2IDQ4IDQ4em0wLTgwYzE3LjY3MTg3NSAwIDMyIDE0LjMyODEyNSAzMiAzMnMtMTQuMzI4MTI1IDMyLTMyIDMyLTMyLTE0LjMyODEyNS0zMi0zMiAxNC4zMjgxMjUtMzIgMzItMzJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxNy45NDUzMTIgMTUydi4wNDY4NzVoLjA1NDY4OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDAgNDhjLTEwMS4yNjU2MjUtLjAxMTcxOS0xODguOTQ1MzEyIDcwLjMzMjAzMS0yMTAuODkwNjI1IDE2OS4xODc1LTIxLjk0NTMxMyA5OC44NTkzNzUgMjcuNzM0Mzc1IDE5OS42OTE0MDYgMTE5LjQ5MjE4NyAyNDIuNTMxMjUgNTcuOTI1NzgyIDI3LjAzNTE1NiAxMjQuODUxNTYzIDI3LjAzNTE1NiAxODIuNzgxMjUgMCA5MS43NTc4MTMtNDIuODM1OTM4IDE0MS40MzM1OTQtMTQzLjY2NDA2MiAxMTkuNDkyMTg4LTI0Mi41MjM0MzgtMjEuOTQxNDA2LTk4Ljg1NTQ2OC0xMDkuNjEzMjgxLTE2OS4xOTkyMTgtMjEwLjg3NS0xNjkuMTk1MzEyem0wIDE2YzEwNy4yODUxNTYuMTMyODEyIDE5NS4zOTg0MzggODQuODA0Njg4IDE5OS44MDA3ODEgMTkyaC0xNmMtNC41ODIwMzEtOTguMTc5Njg4LTg1LjUxNTYyNS0xNzUuNDIxODc1LTE4My44MDA3ODEtMTc1LjQyMTg3NXMtMTc5LjIxODc1IDc3LjI0MjE4Ny0xODMuODAwNzgxIDE3NS40MjE4NzVoLTE2YzQuNDAyMzQzLTEwNy4xOTUzMTIgOTIuNTE1NjI1LTE5MS44NjcxODggMTk5LjgwMDc4MS0xOTJ6bTI5LjExMzI4MSAyNDUuNDk2MDk0YzMwLjY4MzU5NCAxMS45ODgyODEgNTAuODgyODEzIDQxLjU1ODU5NCA1MC44ODY3MTkgNzQuNTAzOTA2djI3LjY0MDYyNWMtNDkuODc4OTA2IDI3LjE0NDUzMS0xMTAuMTIxMDk0IDI3LjE0NDUzMS0xNjAgMHYtMjcuNjQwNjI1Yy4wMDM5MDYtMjYuNDI5Njg4IDEzLjA2MjUtNTEuMTUyMzQ0IDM0Ljg4NjcxOS02Ni4wNTQ2ODggMjEuODI4MTI1LTE0LjkwNjI1IDQ5LjYwOTM3NS0xOC4wNjY0MDYgNzQuMjI2NTYyLTguNDQ5MjE4em02Ni44ODY3MTkgNzQuNTAzOTA2YzAtNTMuMDE5NTMxLTQyLjk4MDQ2OS05Ni05Ni05NnMtOTYgNDIuOTgwNDY5LTk2IDk2djE3LjczNDM3NWMtMzguODYzMjgxLTI2Ljk4MDQ2OS02NC41MDc4MTItNjkuMTMyODEzLTcwLjYwMTU2Mi0xMTYuMDQ2ODc1LTYuMDk3NjU3LTQ2LjkxNzk2OSA3LjkyNTc4MS05NC4yMjI2NTYgMzguNjAxNTYyLTEzMC4yMzgyODF2MzYuNTUwNzgxYy4wMjczNDQgMjIuMDgyMDMxIDE3LjkxNzk2OSAzOS45NzI2NTYgNDAgNDBoMTc2YzIyLjA4MjAzMS0uMDI3MzQ0IDM5Ljk3MjY1Ni0xNy45MTc5NjkgNDAtNDB2LTM2LjU1MDc4MWMzMC42NzU3ODEgMzYuMDE1NjI1IDQ0LjY5OTIxOSA4My4zMjAzMTIgMzguNjAxNTYyIDEzMC4yMzgyODEtNi4wOTM3NSA0Ni45MTQwNjItMzEuNzM4MjgxIDg5LjA2NjQwNi03MC42MDE1NjIgMTE2LjA0Njg3NXptLTIwOC0yNDQuODYzMjgxYzYzLjU4OTg0NC01Ny41MTU2MjUgMTYwLjQxMDE1Ni01Ny41MTU2MjUgMjI0IDB2NTIuODYzMjgxYzAgMTMuMjUzOTA2LTEwLjc0NjA5NCAyNC0yNCAyNGgtMTc2Yy0xMy4yNTM5MDYgMC0yNC0xMC43NDYwOTQtMjQtMjR6bS04Ny43MTA5MzggMTMyLjg2MzI4MWgxNmMyLjgzNTkzOCA2MS4wMzkwNjIgMzUuNjcxODc2IDExNi43MjI2NTYgODcuNzEwOTM4IDE0OC43NTM5MDZ2MTguNjQ0NTMyYy02MS40Mzc1LTMzLjg1MTU2My0xMDAuNzUzOTA2LTk3LjMxMjUtMTAzLjcxMDkzOC0xNjcuMzk4NDM4em0xMTkuNzEwOTM4IDE3NS4yNDYwOTR2LTE3LjY0NDUzMmM1MC41MDM5MDYgMjQuNTYyNSAxMDkuNDk2MDk0IDI0LjU2MjUgMTYwIDB2MTcuNjcxODc2Yy01MC45OTYwOTQgMjIuMzM1OTM3LTEwOS4wMDM5MDYgMjIuMzM1OTM3LTE2MCAwem0xNzYtNy44NDc2NTZ2LTE4LjY0NDUzMmM1Mi4wNDI5NjktMzIuMDI3MzQ0IDg0Ljg4NjcxOS04Ny43MTA5MzcgODcuNzI2NTYyLTE0OC43NTM5MDZoMTZjLTIuOTYwOTM3IDcwLjA4OTg0NC00Mi4yODUxNTYgMTMzLjU1MDc4MS0xMDMuNzI2NTYyIDE2Ny4zOTg0Mzh6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Ventilation:fxe,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00ODggMGgtNDAwYy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djI5Ni44MzIwMzFjLTIuNjAxNTYyLS41MjczNDMtNS4yNzM0MzgtLjgzMjAzMS04LS44MzIwMzEtMjIuMDU0Njg4IDAtNDAgMTcuOTQ1MzEyLTQwIDQwdi4xNjc5NjljLTcuODI0MjE5IDUuODg2NzE5LTEzLjE1MjM0NCAxNC4zOTg0MzctMTUuMTIxMDk0IDIzLjgzMjAzMWgtOC44Nzg5MDZjLTQuNDI1NzgxIDAtOCAzLjU4NTkzOC04IDh2MzJjMCA0LjQxNDA2MiAzLjU3NDIxOSA4IDggOGg4djI0YzAgMzAuODc4OTA2IDI1LjEyODkwNiA1NiA1NiA1Nmg0MTZjNC40MjU3ODEgMCA4LTMuNTg1OTM4IDgtOHYtNDgwYzAtNC40MTQwNjItMy41NzQyMTktOC04LTh6bS04IDE2djgwaC0zODR2LTgwem0tNDM1LjY1NjI1IDMzOS4xNzU3ODFjMi44Mzk4NDQtMS42MDE1NjIgNC40MzM1OTQtNC43NjE3MTkgNC4wMTU2MjUtOGwtLjEyODkwNi0uOTI5Njg3Yy0uMTAxNTYzLS43MzQzNzUtLjIzMDQ2OS0xLjQ2ODc1LS4yMzA0NjktMi4yNDYwOTQgMC0xMy4yMzA0NjkgMTAuNzY5NTMxLTI0IDI0LTI0IDguNDQ5MjE5IDAgMTYuMTIxMDk0IDQuNDA2MjUgMjAuNTI3MzQ0IDExLjgwMDc4MSAxLjE5OTIxOCAyLjAxNTYyNSAzLjIzNDM3NSAzLjQwNjI1IDUuNTUwNzgxIDMuNzkyOTY5IDIuMzI4MTI1LjM5ODQzOCA0LjY5OTIxOS0uMjY1NjI1IDYuNDk2MDk0LTEuNzkyOTY5IDMuMTIxMDkzLTIuNjQ4NDM3IDguMzIwMzEyLTUuODAwNzgxIDE1LjQyNTc4MS01LjgwMDc4MSA4LjU1ODU5NCAwIDE2LjUzNTE1NiA0LjcyNjU2MiAyMC44MTY0MDYgMTIuMzM1OTM4IDEuNjY0MDYzIDIuOTc2NTYyIDUuMDU0Njg4IDQuNTU4NTkzIDguMzgyODEzIDMuOTYwOTM3IDguMzUxNTYyLTEuNDg4MjgxIDE2LjkwNjI1IDQuMjQ2MDk0IDE4LjQ5NjA5MyAxMi43NDIxODcuNTcwMzEzIDMuMDM5MDYzIDIuODM5ODQ0IDUuNDg4MjgyIDUuODM5ODQ0IDYuMjczNDM4IDMuMDE1NjI1LjgwMDc4MSA2LjE2Nzk2OS0uMjM0Mzc1IDguMTY3OTY5LTIuNjA5Mzc1IDQuNjE3MTg3LTUuNTI3MzQ0IDExLjI4OTA2My04LjcwMzEyNSAxOC4yOTY4NzUtOC43MDMxMjUgMTAuNDE0MDYyIDAgMTkuMjE0ODQ0IDYuNzEwOTM4IDIyLjUyNzM0NCAxNmgtMTg4LjkyNTc4MmMxLjk0MTQwNy01LjI5Njg3NSA1LjYwNTQ2OS05LjkzNzUgMTAuNzQyMTg4LTEyLjgyNDIxOXptMTA3LjY1NjI1LTc1LjE3NTc4MWMwLTc0Ljk5MjE4OCA2MS4wMDc4MTItMTM2IDEzNi0xMzZzMTM2IDYxLjAwNzgxMiAxMzYgMTM2LTYxLjAwNzgxMiAxMzYtMTM2IDEzNmMtMTEuMjg5MDYyIDAtMjIuMzI4MTI1LTEuNTE5NTMxLTMzLjA3ODEyNS00LjIxNDg0NC42Mjg5MDYtMS4xNDQ1MzEgMS4wNzgxMjUtMi4zOTQ1MzEgMS4wNzgxMjUtMy43ODUxNTZ2LTEyLjMzNTkzOGMxMC4zNjcxODggMi44NjMyODIgMjEuMDc4MTI1IDQuMzM1OTM4IDMyIDQuMzM1OTM4IDY2LjE2Nzk2OSAwIDEyMC01My44MzIwMzEgMTIwLTEyMHMtNTMuODMyMDMxLTEyMC0xMjAtMTIwLTEyMCA1My44MzIwMzEtMTIwIDEyMGMwIDIxLjA4OTg0NCA1LjQ4MDQ2OSA0MS40MzM1OTQgMTUuODI0MjE5IDU5LjUwMzkwNi0xLjc5Mjk2OS44MDg1OTQtMy41MzUxNTcgMS43MjY1NjMtNS4xOTE0MDcgMi44MDA3ODItNC4wNTg1OTMtNi4xMTMyODItMTAuMTUyMzQzLTEwLjYzMjgxMy0xNy4yMDcwMzEtMTIuODI0MjE5LTYuMTY3OTY5LTE1Ljc2MTcxOS05LjQyNTc4MS0zMi4zNTkzNzUtOS40MjU3ODEtNDkuNDgwNDY5em00OC40NjQ4NDQgNTYuMDQ2ODc1Yy02LjM2NzE4OC05LjkxMDE1Ni0xMS0yMC43MDMxMjUtMTMuNjc5Njg4LTMyLjA0Njg3NWg1LjIxNDg0NGM3LjI4OTA2MiAwIDE0LjE1MjM0NC0yLjgzOTg0NCAxOS4zMTI1LThsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzUuMTY3OTY5IDUuMTYwMTU2IDEyLjAyMzQzOCA4IDE5LjMxMjUgOGg1LjA5NzY1NmMtMTAuODgyODEyIDQ1Ljc5Mjk2OS01Mi4wMjczNDQgODAtMTAxLjA5NzY1NiA4MC0xMC45NzY1NjIgMC0yMS42OTUzMTItMS43OTI5NjktMzItNS4xMjg5MDZ2LTIuODcxMDk0YzAtNC40MTQwNjItMy41NzQyMTktOC04LThoLTguODA4NTk0Yy0zLjY4NzUtMTguMDg5ODQ0LTE5LjYyNS0zMS43MjY1NjItMzguNzI2NTYyLTMxLjk1MzEyNXptLTE2LjQ2NDg0NC01Ni4wNDY4NzVjMC01Ny4zNDM3NSA0Ni42NTYyNS0xMDQgMTA0LTEwNHMxMDQgNDYuNjU2MjUgMTA0IDEwNGMwIDIuNzAzMTI1LS4xOTkyMTkgNS4zNTE1NjItLjQwNjI1IDhoLTcuNTkzNzVjLTMuMDIzNDM4IDAtNS44NTU0NjktMS4xNzU3ODEtOC0zLjMxMjVsLTQuNjg3NS00LjY4NzVjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtNC4yODEyNSA0LjI4MTI1LTExLjcxODc1IDQuMjgxMjUtMTYgMGwtNC42ODc1LTQuNjc5Njg4Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy0yLjE0NDUzMSAyLjE0NDUzMS00Ljk3NjU2MiAzLjMyMDMxMi04IDMuMzIwMzEyaC03LjY5NTMxMmMtLjE5OTIxOS0yLjY0ODQzOC0uMzA0Njg4LTUuMzIwMzEyLS4zMDQ2ODgtOHptLTE2OCAxMDRoMjI0djE2aC0yMjR6bTE2MCA5NmgtMTA0Yy0yMi4wNTQ2ODggMC00MC0xNy45NDUzMTItNDAtNDB2LTI0aDE5MnYyNGMwIDIyLjA1NDY4OC0xNy45NDUzMTIgNDAtNDAgNDB6bTQ3LjExMzI4MSAwYzEwLjQwNjI1LTEwLjE3NTc4MSAxNi44ODY3MTktMjQuMzM1OTM4IDE2Ljg4NjcxOS00MHYtMTUuODcxMDk0YzE1LjQyNTc4MSA1LjE0NDUzMiAzMS41MDM5MDYgNy44NzEwOTQgNDggNy44NzEwOTQgODMuODE2NDA2IDAgMTUyLTY4LjE4MzU5NCAxNTItMTUycy02OC4xODM1OTQtMTUyLTE1Mi0xNTItMTUyIDY4LjE4MzU5NC0xNTIgMTUyYzAgMTMuMDE1NjI1IDEuODAwNzgxIDI1LjczNDM3NSA1LjAwNzgxMiAzOC4xMTMyODEtNi4yMjI2NTYtMy45MDYyNS0xMy40NjQ4NDMtNi4xMTMyODEtMjEuMDA3ODEyLTYuMTEzMjgxLTYuNTM1MTU2IDAtMTMgMS42NzE4NzUtMTguNzg1MTU2IDQuODE2NDA2LTEuNTg5ODQ0LTEuNzI2NTYyLTMuMzc1LTMuMjE0ODQ0LTUuMjE0ODQ0LTQuNjI1di0yMDAuMTkxNDA2aDM4NHYzNjh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMCA4MGMxMy4yMzA0NjkgMCAyNC0xMC43Njk1MzEgMjQtMjRzLTEwLjc2OTUzMS0yNC0yNC0yNC0yNCAxMC43Njk1MzEtMjQgMjQgMTAuNzY5NTMxIDI0IDI0IDI0em0wLTMyYzQuNDE0MDYyIDAgOCAzLjU5Mzc1IDggOHMtMy41ODU5MzggOC04IDgtOC0zLjU5Mzc1LTgtOCAzLjU4NTkzOC04IDgtOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQgODBjMTMuMjMwNDY5IDAgMjQtMTAuNzY5NTMxIDI0LTI0cy0xMC43Njk1MzEtMjQtMjQtMjQtMjQgMTAuNzY5NTMxLTI0IDI0IDEwLjc2OTUzMSAyNCAyNCAyNHptMC0zMmM0LjQxNDA2MiAwIDggMy41OTM3NSA4IDhzLTMuNTg1OTM4IDgtOCA4LTgtMy41OTM3NS04LTggMy41ODU5MzgtOCA4LTh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00NDggMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxNiA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zODQgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2OC45OSAxODcuNDk5Yy01Ljc1MS05Ljk1OS0yMC4xOTYtMTAuMDE2LTI1Ljk3OSAwLTIxLjgxIDQwLjYxMS0zMi4wMTEgNDguMDYxLTMyLjAxMSA2Ny41MDEgMCAyNC44MTMgMjAuMTg3IDQ1IDQ1IDQ1czQ1LTIwLjE4NyA0NS00NWMwLTE5LjQ1OC0xMC40ODYtMjcuNDIxLTMyLjAxLTY3LjUwMXptLTEyLjk5IDgyLjUwMWMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNSAwLTYuNjg3IDMuMDQyLTguMjE1IDE1LTMwLjAwNSAxMS45NzQgMjEuODE4IDE1IDIzLjMxOCAxNSAzMC4wMDUgMCA4LjI3MS02LjcyOSAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNjcsMTg1LjMyNXYyODFhMzUuNTQxLDM1LjU0MSwwLDAsMCwzNS40NjksMzUuNjMxTDMxOS4wNiw1MDJoLjAwNkEzNS44OTEsMzUuODkxLDAsMCwwLDM1NSw0NjYuMzY5VjQ2NGg2MC42MmMzNC44MzcsMCw2My4zOC0yNy44Nyw2My4zOC02Mi43MTVWMTg5LjczYzAtMzQuODQ0LTI4LjU0My02Mi43My02My4zOC02Mi43M0gzNTV2LTkuNjg5YzAtLjA3NC0uMTYtLjE0Ni0uMTYyLS4yMTlzLS4wNjUtLjExNC0uMDY1LS4xODdBNjIuMDQ0LDYyLjA0NCwwLDAsMCwyOTIuNzYzLDU1SDIxOVY0NGgxNy44MjhDMjQ1LjY1LDQ0LDI1MywzNy4yLDI1MywyOC4zNzRWMjZhMTYuMTY3LDE2LjE2NywwLDAsMC0xNi4xNzItMTZIMTg5LjcwNkExNS43NywxNS43NywwLDAsMCwxNzQsMjZ2Mi4zNzRBMTUuNDU0LDE1LjQ1NCwwLDAsMCwxODkuNzA2LDQ0SDIwN1Y1NUgxMzMuNzcxQzEwMS41LDU1LDc0LjkyNCw4MCw3Mi4xLDExMUgzOS4yYTYuMDU2LDYuMDU2LDAsMCwwLTUuMiw4LjkyOVpNMzU1LDE2MWg2MC42MkEyOC41ODEsMjguNTgxLDAsMCwxLDQ0NCwxODkuNzNWNDAxLjI4NUEyOC41NjgsMjguNTY4LDAsMCwxLDQxNS42Miw0MzBIMzU1Wm0wLDI4MWg2MC42MkE0MC41ODEsNDAuNTgxLDAsMCwwLDQ1Niw0MDEuMjg1VjE4OS43M0E0MC41OTQsNDAuNTk0LDAsMCwwLDQxNS42MiwxNDlIMzU1VjEzOWg2MC42MmMyOC4yMjEsMCw1MS4zOCwyMi41LDUxLjM4LDUwLjczVjQwMS4yODVDNDY3LDQyOS41MTMsNDQzLjg0MSw0NTIsNDE1LjYyLDQ1MkgzNTVabS0xMiwyNC4zNjlBMjMuODkxLDIzLjg5MSwwLDAsMSwzMTkuMDY2LDQ5MGgwbC0yMTYuNTkxLS4wNDFBMjMuNTI3LDIzLjUyNywwLDAsMSw3OSw0NjYuMzI4VjQ1Mi41N2wyNjQsLjA0OVpNMTkwLDMyYTQsNCwwLDAsMS00LTRWMjZhNCw0LDAsMCwxLDQtNGg0N2E0LDQsMCwwLDEsNCw0djJhNCw0LDAsMCwxLTQsNFpNMTMzLjc3MSw2N0gyOTIuNzYzYTQ5LjgyOSw0OS44MjksMCwwLDEsNDkuNTc2LDQ0SDg0LjJBNDkuODMsNDkuODMsMCwwLDEsMTMzLjc3MSw2N1pNMzQzLDEyM1Y0NDAuNjE5TDc5LDQ0MC41N1YxODMuOWE2Ljg1Myw2Ljg1MywwLDAsMC0uOC0yLjg1MUw0OC45MzQsMTIzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMzE0LjkxM2E2LDYsMCwwLDAsNi02VjIzMy4xMDZhNiw2LDAsMCwwLTEyLDB2NzUuODA3QTYsNiwwLDAsMCw5OSwzMTQuOTEzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMjE4LjcyNmE2LDYsMCwwLDAsNi02di00LjgzNGE2LDYsMCwwLDAtMTIsMHY0LjgzNEE2LDYsMCwwLDAsOTksMjE4LjcyNloiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Water:Oxe,Weather:Exe,Window:_xe},Sxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",kxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI2MC45NDUsMTQ0Ljk3OWMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOWwtNDcuNDg0LDgxLjMzM2MtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTYNCgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMNCgkJQzI2Ni4wNzgsMTQ2LjM5NSwyNjMuNjEyLDE0NC45NzksMjYwLjk0NSwxNDQuOTc5eiBNMjI2LjUyNCwyMjYuMzEybDM0LjQyMS01OC45NThsMzQuNDIsNTguOTU4SDIyNi41MjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTUuMjg3LDI1NC42OWgtMTc1LjYybDgxLjI3OC0xMzkuMjE4bDYyLjkyNiwxMDcuNzgzYzIuMDg4LDMuNTc4LDYuNjgzLDQuNzg0LDEwLjI1OCwyLjY5Ng0KCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMNCgkJYy0wLjA0NC0wLjA1OS0wLjA4Ni0wLjExOC0wLjEzMS0wLjE3NmMtMC4xODMtMC4yMy0wLjM3Ni0wLjQ1MS0wLjU4NC0wLjY1OGMtMC4wMjQtMC4wMjQtMC4wNTEtMC4wNDUtMC4wNzYtMC4wNjkNCgkJYy0wLjE4Ni0wLjE4LTAuMzgzLTAuMzQ5LTAuNTg3LTAuNTA5Yy0wLjA2NS0wLjA1MS0wLjEzMi0wLjEtMC4xOTktMC4xNDhjLTAuMTg3LTAuMTM3LTAuMzc5LTAuMjY0LTAuNTc4LTAuMzg0DQoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMg0KCQljLTAuMjYtMC4xMDYtMC41MjgtMC4xOTYtMC44MDItMC4yNzNjLTAuMDczLTAuMDIxLTAuMTQ2LTAuMDM4LTAuMjItMC4wNTZjLTAuMjIyLTAuMDU1LTAuNDQ3LTAuMS0wLjY3Ny0wLjEzNQ0KCQljLTAuMDc5LTAuMDEyLTAuMTU3LTAuMDI2LTAuMjM2LTAuMDM2Yy0wLjI5Ny0wLjAzNi0wLjU5OC0wLjA2LTAuOTA2LTAuMDZIMTAxLjg0MmMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOQ0KCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDENCgkJczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM1Ljg4OWMwLjAwOCwwLDAuMDE1LDAuMDAxLDAuMDIzLDAuMDAxczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM2LjU4NmgxODguNjg0DQoJCWM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41UzM1OS40MywyNTQuNjksMzU1LjI4NywyNTQuNjl6IE0xNjIuMjk4LDI1NC42OWgtMTkuMjYzbDY5LjQzLTExOS40Nw0KCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQ0KCQlMMTYyLjI5OCwyNTQuNjl6IE0xMDYuMTQ3LDEwOC4wOTZoMzQuMDkxTDc0Ljc4OSwyMjAuNzE3Yy0yLjA4MSwzLjU4Mi0wLjg2NSw4LjE3MiwyLjcxNiwxMC4yNTMNCgkJYzEuMTg2LDAuNjg5LDIuNDgyLDEuMDE3LDMuNzYyLDEuMDE3YzIuNTg0LDAsNS4xLTEuMzM3LDYuNDkxLTMuNzMzbDY5LjgzLTEyMC4xNThoMTcuMzU2TDg5Ljc1MSwyNTQuNjlIMjAuNTYzTDEwNi4xNDcsMTA4LjA5NnoiDQogICAgICAgIC8+DQogICAgPC9nPg0KPC9zdmc+DQo=",vxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ni43MDQgMjcyLjA4NmgtODEuNzA0di04OC4wNzNjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2ODguMDczaC0xNXYtMTkzLjcxYzAtOC4yNDktNi43MTEtMTQuOTU5LTE0Ljk1OS0xNC45NTloLTkxLjU4MmMtOC4yNDggMC0xNC45NTkgNi43MS0xNC45NTkgMTQuOTU5djE5My43MWgtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0yMjMuNjY5aDI4OHYxMDAuNTk2YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTEwMC41OTZoMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44ODMgMTUuMjk2LTE1LjM0NHYtMTcuNzNjMC04LjQ2LTYuODYxLTE1LjM0My0xNS4yOTYtMTUuMzQzaC0zMjQuNDA4Yy04LjQzNSAwLTE1LjI5NiA2Ljg4My0xNS4yOTYgMTUuMzQ0djE3LjczYzAgOC40NiA2Ljg2MSAxNS4zNDQgMTUuMjk2IDE1LjM0NGgzLjIwNHYyMjMuNjY5aC04MS43MDRjLTguNDM1LS4wMDEtMTUuMjk2IDYuODYxLTE1LjI5NiAxNS4yOTV2MTcuNjIyYzAgOC40MzUgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoLjV2MTQzLjQ4NmgtLjVjLTguNDM1IDAtMTUuMjk2IDYuODYyLTE1LjI5NiAxNS4yOTZ2MTcuNjIyYzAgOC40MzQgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoMjIzLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMjIzLjIwNGMtLjE2MyAwLS4yOTYtLjEzMy0uMjk2LS4yOTZ2LTE3LjYyMmMwLS4xNjMuMTMzLS4yOTYuMjk2LS4yOTZoNDgxLjQwOGMuMTYzIDAgLjI5Ni4xMzMuMjk2LjI5NnYxNy42MjJjMCAuMTYzLS4xMzMuMjk2LS4yOTYuMjk2aC0yMjMuMjA0Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIyMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44NjIgMTUuMjk2LTE1LjI5NnYtMTcuNjIyYzAtOC40MzQtNi44NjEtMTUuMjk2LTE1LjI5Ni0xNS4yOTZoLS41di0xNDMuNDg2aC41YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2em0tNDAzLjIwNC0yMzkuMDEydi0xNy43M2MwLS4yMTIuMTUzLS4zNDQuMjk2LS4zNDRoMzI0LjQwOGMuMTQzIDAgLjI5Ni4xMzEuMjk2LjM0NHYxNy43M2MwIC4yMTItLjE1My4zNDQtLjI5Ni4zNDQtMTUuMzY3IDAtMzA5LjA1MSAwLTMyNC40MDggMC0uMTQzLS4wMDEtLjI5Ni0uMTMyLS4yOTYtLjM0NHptMTg0Ljk1OSA0NS4zNDMgOTEuNTQxLS4wNDF2MTkzLjcxaC05MS41MDJ6bS0xMzYuNSAwIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0zMzkuMjQ1IDM4NC44MTdoLTQ1MC40MDh2LTE0Mi45MzRoNDUwLjQwOHptMTUuNzk2LTE1OC4yM2MwIC4xNjQtLjEzMy4yOTYtLjI5Ni4yOTYtMi44MjQgMC00NzEuMTUzIDAtNDgxLjQwOCAwLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS40MDYgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzQgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMC43OTYgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzIgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1NC4xMzEgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYy0uMDAxIDguNzY4IDcuMTMzIDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMi04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MjUuNTIxIDQ0Mi43MDRoMTguOTg5YzguNzY4IDAgMTUuOTAxLTcuMTMzIDE1LjkwMS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzQtMTUuOTAxLTE1LjkwMS0xNS45MDFoLTE4Ljk4OWMtOC43NjggMC0xNS45MDEgNy4xMzMtMTUuOTAxIDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTM0IDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMS04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Mi42MDQgOTIuODMyYy0yLjkzLTIuOTI5LTcuNjc4LTIuOTI5LTEwLjYwNyAwcy0yLjkyOSA3LjY3OCAwIDEwLjYwNmwxMS43NTYgMTEuNzU2YzIuOTMgMi45MjkgNy42NzggMi45MjkgMTAuNjA3IDBzMi45MjktNy42NzggMC0xMC42MDZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Yxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQxMy45MDcgMGMtNTQuMTA0IDAtOTguMTIyIDQ0LjAwNS05OC4xMjIgOTguMDk2djQzLjU4MnMtNjkuODMxLTM2LjkxMi03MS4wNjUtMzcuNTkzYy05LjU0NC01LjI2Ni0xMi4xODUtNS4yNjctMjEuNzMxIDAtMS4yMzQuNjgxLTEzNi4xNDEgNzEuOTU4LTEzNi4xNDEgNzEuOTU4LTExLjQzNyA2LjAxNy0xMy4wNDUgNy43NDUtMTcuODc4IDE1Ljc4My0uNzg4IDEuMzExLTY1LjY5OCAxMDQuMjMtNjUuNjk4IDEwNC4yMy0zLjE3NSA1LjAyMy00LjA3NyAxMC45NjItMi41MzkgMTYuNzIyIDEuNjE3IDYuMDU2IDUuODQgMTEuMjY5IDExLjU3NyAxNC4yOTUgMy42NDYgMS45MyA3LjU4MiAyLjg1IDExLjQ2NSAyLjg1IDYuMjAyIDAgMTIuMjU1LTIuMzU4IDE2Ljc0NS02LjY4OHY2NS4wNDRjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtODcuNTQxczQ5LjEzNC03Ny44NTUgNDkuNjUyLTc4LjY4MmMyLjMzNC0zLjcyOSAzLjMyOC01LjI4MyA0LjQ5Ni02LjMxOCAxLjMzMy0xLjE4MSAzLjY2NS0yLjQ2NCA4LjY2NS01LjEwN2wxMTMuMDAyLTU5LjY0OWMuODAxLS40MjUgMS40OS0uODAzIDIuMDkzLTEuMTMzLjE0MS0uMDc3LjI4NS0uMTU2LjQyOC0uMjM0LjE0My4wNzguMjg3LjE1Ny40MjguMjM0LjYwMy4zMzEgMS4yOTIuNzA4IDIuMTA5IDEuMTQyIDAgMCAxMTguMTkzIDYyLjQxMyAxMTkuNjQyIDYzLjMxLjg2OS41MzggMS41MDkuOTk1IDIuMDA5IDEuNDM4IDEuMTY3IDEuMDM1IDIuMTYyIDIuNTg5IDQuNDk2IDYuMzE4LjUxOC44MjcgNDkuNjUxIDc4LjY4MSA0OS42NTEgNzguNjgxdjE2MC43MTZoLTg0LjkyMXYtMTA0LjM0aDEyLjYyNWM3LjY1MiAwIDEzLjg3OC02LjIyNiAxMy44NzgtMTMuODc4di0yMS40M2MwLTcuNjUyLTYuMjI2LTEzLjg3OC0xMy44NzgtMTMuODc4aC04NS4xMjJjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoODR2MTkuMTg2aC0yMDkuODF2LTE5LjE4Nmg5MS4yYzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC05Mi4zMjJjLTcuNjUyIDAtMTMuODc4IDYuMjI2LTEzLjg3OCAxMy44Nzh2MjEuNDNjMCA3LjY1MiA2LjIyNiAxMy44NzggMTMuODc4IDEzLjg3OGgxMi42MjV2MTA0LjMzOWgtODQuOTQ3di0zOC41NjNjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzYuNTM2YzAgNi45MzQgNS42NDEgMTIuNTc0IDEyLjU3NCAxMi41NzRoNDQ1LjkwN2M3LjE2NyAwIDEyLjk5OS01LjgzMiAxMi45OTktMTIuOTk5di00MDAuOTA1Yy4wMDEtNTQuMDkxLTQ0LjAwNC05OC4wOTYtOTguMDkyLTk4LjA5NnptLTI3My40NCA0OTdoLTg0Ljk0OHYtMjAuNTQ2aDg0Ljk0N3YyMC41NDZ6bTE1OS43ODMtMTM5Ljg4Ni02Ni4zODIgNTkuODQ1LTY2LjM4Mi01OS44NDV6bS0xNDQuNzgzIDkuMzU5IDY3LjIwMSA2MC41ODQtNjcuMjAxIDYwLjU4NHptMTIuMDIgMTMwLjUyNyA2Ni4zODItNTkuODQ1IDY2LjM4MSA1OS44NDV6bTE0NC43ODMtOS4zNTktNjcuMjAxLTYwLjU4NCA2Ny4yMDEtNjAuNTg0em05OS45MTkgOS4zNTloLTg0LjkxOXYtMjAuNTQ2aDg0LjkxOXptNTMuNDQ1LTE5OC44MjNjLS4zNDctLjcyLS43MzMtMS40MjctMS4xNjYtMi4xMTdsLTUxLjk0NS04Mi4yNjZoODQuNDc3djg0LjM4M3ptLTEzNC44NDgtMjAwLjA4MWMwLTQ1LjgxOSAzNy4yODgtODMuMDk2IDgzLjEyMi04My4wOTYgNDUuODE2IDAgODMuMDkyIDM3LjI3NiA4My4wOTIgODMuMDk2djEuMjg3aC0xNjYuMjE0em0wIDE2LjI4N2gxNjYuMjE0djg0LjQxMmgtOTMuOTQ5cy0zLjUyMy01LjY1Ni00LjMxMi02Ljk2NmMtNC44MzEtOC4wMzYtNi40NC05Ljc2Ni0xNy44NjgtMTUuNzc4bC01MC4wODYtMjYuNDV2LTM1LjIxOHptOTUuMjQ2IDE4MC4xNzdzLTUwLjI3NS03OS42NTYtNTAuNzgtODAuNDYzYy00Ljc5OS03LjY2NS02LjUxNC05LjgyNS0xMy4yODEtMTMuNjkyLS41MjEtLjI5Ny0xMTkuOTI5LTYzLjQwOC0xMjAuNDgyLTYzLjcxMS01LjEwMS0yLjc5NS03Ljg0Ny0zLjMyLTEyLjA2Ny0xLjU3Mi0uMDM3LjAxNS0uMDc2LjAzNC0uMTEzLjA1LS42MTYuMjU5LTExNy45ODUgNjIuMTk3LTExNy45ODUgNjIuMTk3LTExLjcyNyA2LjItMTIuOTYxIDcuMjk1LTE4Ljg2OCAxNi43MjktLjUwNS44MDctNTAuNzggODAuNDYzLTUwLjc4IDgwLjQ2My0uMDEuMDE2LS4wMTYuMDMzLS4wMjYuMDQ5bC0xMC4yOTQgMTYuMzFjLTIuMzc1IDMuNzY3LTcuODg1IDUuMDk2LTEyLjAzOSAyLjg5NC0yLjA2LTEuMDg2LTMuNTUyLTIuODczLTQuMDkzLTQuOTAxLS4zMTYtMS4xODQtLjQ0Ni0yLjk4NC43MjktNC44NDMgMCAwIDY1LjAzNy0xMDMuMTI0IDY1Ljg3Mi0xMDQuNTEyIDMuNDQ4LTUuNzM0IDMuNDQ4LTUuNzM0IDEyLjAxNy0xMC4yNDMgMCAwIDEzOS4xOTMtNzMuNjM5IDE0MC4wMTItNzQuMDEzLjgyLjM3NCAxNDAuMDEyIDc0LjAxMyAxNDAuMDEyIDc0LjAxMy4wMDMuMDAyLjAwNy4wMDQuMDExLjAwNiA4LjU1OSA0LjUwMiA4LjU1OSA0LjUwMiAxMi4wMDcgMTAuMjM4LjgzNCAxLjM4OCAxLjgxNiAzLjAyIDMuMDU4IDQuOTg3bDYyLjgzMyA5OS41MDljMS4xNjggMS44NiAxLjAzNCAzLjY2OS43MTYgNC44NTktLjU0NCAyLjAzMi0yLjAzMiAzLjgyLTQuMDcyIDQuODk5LTQuMjI2IDIuMjMxLTkuNjQ1LjkyNC0xMi4wNjktMi44OTZsLTEwLjI5Mi0xNi4zMDdjLS4wMS0uMDE3LS4wMTYtLjAzNS0uMDI2LS4wNXptNzAuOTY4IDIwMi40NGgtNjkuODExdi04NC40MTFoNjkuODExem0tNjkuODExLTk5LjQxMXYtNzQuMzg5YzcuMzEzIDcuMDQyIDE4Ljc2MyA4Ljg3NCAyOC4yMzggMy44NzUgNS42LTIuOTY1IDkuNzQ2LTguMDE2IDExLjQzOC0xMy44OTdoMzAuMTM1djg0LjQxMmgtNjkuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Qxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Mi45OTUgMTY2LjQ4OS0zMS45OTUtMjMuOTk2di0xMTIuNDkzYzguMjg0IDAgMTUtNi43MTYgMTUtMTVzLTYuNzE2LTE1LTE1LTE1aC05MGMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNXY0NC45OTJsLTg4LjAwOS02Ni4wMDZjLTE1Ljg5My0xMS45MDQtMzguMDktMTEuOTA1LTUzLjk4OS4wMDVsLTIwOS45OTkgMTU3LjVjLTE5Ljg1MyAxNC44OTMtMjMuODkxIDQzLjE1NS05LjAwMSA2My4wMDQgNy4yMiA5LjYyIDE3Ljc1MiAxNS44NTMgMjkuNjU3IDE3LjU1IDIuMTU3LjMwOCA0LjMxLjQ2IDYuNDUuNDU5IDUuMTA5IDAgMTAuMTMtLjg3NiAxNC44OTEtMi41NjR2MjUyLjA2YzAgOC4yODQgNi43MTYgMTUgMTUgMTVoMzYwYzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Mi4wNjhjNC43NjMgMS42ODUgOS44MDMgMi41NiAxNC45NzggMi41NiAxNC4xIDAgMjcuNTY1LTYuNzI5IDM2LjAyMi0xOCAxNC44ODgtMTkuODQ2IDEwLjg0OS00OC4xMDgtOS4wMDUtNjMuMDAzem0tOTEuOTk1LTEzNi40ODloMzB2ODkuOTkybC0zMC0yMi41em0tMTIwIDI3MmgtNTB2LTkyaDUwem0zMCAwdi0xMDdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtODBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTA3aC0xMDkuOTk5di03Ny4wMDRsMTY0Ljk5OS0xMjMuNzUyIDE2NSAxMjMuNzUzdjc3LjAwM3ptLTIxOS45OTkgMzBoMjA5Ljk5OXYzMGgtNDVjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NDVoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC05MHptMTE5Ljk5OSAxNTB2LTMwaDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDkwdjE1MHptMjY3LjAwMi0yNzAuNTExYy0yLjg2MyAzLjgxNS03LjI0NSA2LjAwNC0xMi4wMjQgNi4wMDQtMy4yNiAwLTYuMzY1LTEuMDM2LTguOTc5LTIuOTk2bC0xOTEuOTk5LTE0NC4wMDNjLTUuMzMzLTQtMTIuNjY3LTQtMTggMGwtMTkyLjAwOCAxNDQuMDA5Yy0zLjE5MyAyLjM5Ny03LjEzNiAzLjQwOC0xMS4wOTggMi44NDItMy45NzMtLjU2Ni03LjQ4OC0yLjY0Ny05Ljg5Ni01Ljg1Ni00Ljk2MS02LjYxNC0zLjYxMi0xNi4wMzUgMy4wMDYtMjFsMjA5Ljk5MS0xNTcuNDkyYzIuNjUyLTEuOTg3IDUuODMtMi45NzkgOS4wMDctMi45NzkgMy4xNzUgMCA2LjM0OS45OTIgOC45OTYgMi45NzRsMjA5Ljk5NiAxNTcuNDk3YzYuNjIgNC45NjYgNy45NjkgMTQuMzg2IDMuMDA4IDIxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",bxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00ODUuNCwyNzIuMDY3aC04LjUzM3YtMTc5LjJjMC00Mi42NjctMzQuMTMzLTc2LjgtNzYuOC03Ni44Yy0zNy43NywwLTY0LjkzNSwyOC4wMDYtNjcuOTc0LDY5LjA0MQ0KCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMw0KCQkJCWMwLTIwLjgzMy0xNC4yNzQtMzcuNzY5LTMzLjc2Ny00MS43NjdjMi41NS0yNy4xMTYsMTguODM2LTUyLjEsNTAuODM0LTUyLjFjMzMuMjgsMCw1OS43MzMsMjYuNDUzLDU5LjczMyw1OS43MzN2MTc5LjJIMjAyLjk3NQ0KCQkJCWMtMy44Ni0xOS42ODEtMjAuODc4LTM0LjEzMy00MS44NDEtMzQuMTMzYy04LjUzMy0xMC4yNC0yMC40OC0xNy4wNjctMzQuMTMzLTE3LjA2N2MtMTYuMjEzLDAtMzAuNzIsOS4zODctMzcuNTQ3LDIzLjA0DQoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42DQoJCQkJYzAsMTQuNTA3LDExLjA5MywyNS42LDI1LjYsMjUuNmgxMC4yNTVsMjMuMDI1LDkxLjMwN2M2LjgyNywyNi40NTMsMzAuNzIsNDUuMjI3LDU4LjAyNyw0NS4yMjdoNi44MjdsLTExLjA5MywyMi4xODcNCgkJCQljLTIuNTYsNC4yNjctMC44NTMsOS4zODcsMy40MTMsMTEuMDkzYzAuODUzLDAuODUzLDIuNTYsMC44NTMsMy40MTMsMC44NTNjMy40MTMsMCw1Ljk3My0xLjcwNyw3LjY4LTQuMjY3TDE0MS4wOCw0NTkuOGgyMzYuOA0KCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzDQoJCQkJbC0xMC42ODktMjEuMzc5YzI2LjQxOS0wLjkzOCw0OS4yNjYtMTkuMzksNTUuOTE2LTQ0LjMyOGwyMy4yNC05Mi4xNmgxMC4wNGMxNC41MDcsMCwyNS42LTExLjA5MywyNS42LTI1LjYNCgkJCQlDNTExLDI4My4xNiw0OTkuOTA3LDI3Mi4wNjcsNDg1LjQsMjcyLjA2N3ogTTM2NS4wOCwxMTguNDY3aC00OC42NGMzLjQxMy0xMC4yNCwxMy42NTMtMTcuMDY3LDI0Ljc0Ny0xNy4wNjcNCgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2DQoJCQkJczUuMTItMy40MTMsNS45NzMtNi44MjdjMi41Ni0xMi44LDEyLjgtMjIuMTg3LDI1LjYtMjIuMTg3YzkuMzg3LDAsMTcuOTIsNC4yNjcsMjIuMTg3LDEyLjhjMS43MDcsMy40MTMsNS45NzMsNS4xMiw5LjM4Nyw0LjI2Nw0KCQkJCWMwLjg1MywwLDEuNzA3LDAsMi41NiwwYzExLjA5MywwLDIwLjQ4LDYuODI3LDIzLjg5MywxNy4wNjdINDMuMzczQzQ2Ljc4NywyNjEuODI3LDU2LjE3MywyNTUsNjcuMjY3LDI1NXogTTQzNi43Niw0MTAuMzA3DQoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6DQoJCQkJIE00ODUuNCwzMDYuMmgtMTcuMDY3SDQxLjY2N0gyNC42Yy01LjEyLDAtOC41MzMtMy40MTMtOC41MzMtOC41MzNzMy40MTMtOC41MzMsOC41MzMtOC41MzNoOC41MzNoMTYyLjEzM0g0ODUuNA0KCQkJCWM1LjEyLDAsOC41MzMsMy40MTMsOC41MzMsOC41MzNTNDkwLjUyLDMwNi4yLDQ4NS40LDMwNi4yeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywxNzAuNTIsMzAxLjA4LDE3My45MzMsMzA2LjIsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNi4yLDIxMy4xODdjNS4xMiwwLDguNTMzLTQuMjY3LDguNTMzLTguNTMzdi05LjM4N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzNzLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjkuMzg3DQoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMjQ2LjQ2N2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywyNDMuMDUzLDMwMS4wOCwyNDYuNDY3LDMwNi4yLDI0Ni40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMNCgkJCQljLTUuMTIsMC04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2N0MzMzEuOCwxNzAuNTIsMzM1LjIxMywxNzMuOTMzLDM0MC4zMzMsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMzY1LjkzMywxNzAuNTIsMzY5LjM0NywxNzMuOTMzLDM3NC40NjcsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2NS45MzMsMjA0LjY1M2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNTMzgzLDIwOC45MiwzODMsMjA0LjY1M3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjkzMywyMzcuOTMzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMzcuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Uxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ5NiwzNDRoLThWMjgwYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJWMTEyYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIODhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMlYyNDhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnY2NEgxNmE4LDgsMCwwLDAtOCw4djMyYTgsOCwwLDAsMCw4LDhoOHYzMmE4LDgsMCwwLDAsOCw4SDU2YTcuOTksNy45OSwwLDAsMCw3Ljg0LTYuNDNMNzAuNTYsMzkySDQ0MS40NGw2LjcyLDMzLjU3QTcuOTksNy45OSwwLDAsMCw0NTYsNDMyaDI0YTgsOCwwLDAsMCw4LThWMzkyaDhhOCw4LDAsMCwwLDgtOFYzNTJBOCw4LDAsMCwwLDQ5NiwzNDRaTTcyLDExMkExNi4wMjEsMTYuMDIxLDAsMCwxLDg4LDk2SDQyNGExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LDE2VjI0OEg0MjRWMjE2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIMjk2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2MzJIMjQ4VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDEyMGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDcyWk00MDgsMjE2djMySDI4MFYyMTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNmg5NkExNi4wMjEsMTYuMDIxLDAsMCwxLDQwOCwyMTZabS0xNzYsMHYzMkgxMDRWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSwyMzIsMjE2Wk00MCwyODBhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNkg0NTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNnY2NEg0MFptOS40NCwxMzZINDBWMzkySDU0LjI0Wk00NzIsNDE2aC05LjQ0bC00LjgtMjRINDcyWm0xNi00MEgyNFYzNjBINDg4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",$xe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDMuNTE4LDEyLjcwOUwyNS4xNzgsMC43MjhjLTEuNTExLTAuOTc4LTMuNDU4LTAuOTY4LTQuOTYsMC4wMjFMMS44NTksMTIuNzE5Yy0xLjE0LDAuNzUxLTEuNDU1LDIuMjg0LTAuNzA1LDMuNDI0DQoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2DQoJCQljMC44MTIsMCwxLjYwNC0wLjM5NywyLjA3Ny0xLjEyN0M0NC45OSwxNC45OCw0NC42NjIsMTMuNDUyLDQzLjUxOCwxMi43MDl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOC44NzksMjcuNjE2Yy0wLjE1MS0wLjg2NS0wLjkwMy0xLjUwNS0xLjc4LTEuNTA1aC0xLjAwOGwtMC4zODMtMy45ODdjLTAuNDA5LTQuMjY0LTMuOTQ4LTcuNDktOC4yMzItNy40OUgxNy45Mg0KCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNA0KCQkJYy0wLjE4NiwxLjA1NCwwLjExMiwyLjEzOSwwLjgsMi45NTdjMC42NjIsMC43ODgsMS42MzcsMS4yNTgsMi42NTcsMS4yOTN2MS40MTJjMCwxLjk5OSwxLjYwMiwzLjYxLDMuNjAzLDMuNjFoMS4xMzgNCgkJCWMxLjk5OSwwLDMuNjI1LTEuNjExLDMuNjI1LTMuNjF2LTEuMzg5aDExLjczMnYxLjM4NmMwLDIsMS42MTMsMy42MTMsMy42MTIsMy42MTNoMS4xMzljMS45OTksMCwzLjYxNC0xLjYxMywzLjYxNC0zLjYxM1Y0MC4zNw0KCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMw0KCQkJYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTdjMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1Nw0KCQkJQzE0LjY5OSwzNS43NDYsMTMuMzMsMzcuMTEzLDExLjY0MiwzNy4xMTN6IE0xMi40MDQsMjYuMTExbDAuMzUzLTMuNjc4YzAuMjU3LTIuNjc0LDIuNDc2LTQuNjg4LDUuMTYzLTQuNjg4aDAuNTUxdjEuMTU2DQoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4DQoJCQlsMC4zNTQsMy42NzhMMTIuNDA0LDI2LjExMUwxMi40MDQsMjYuMTExeiBNMzMuNzUsMzcuMTEzYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTcNCgkJCWMxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3QzM2LjgwNywzNS43NDYsMzUuNDM4LDM3LjExMywzMy43NSwzNy4xMTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Pxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00OTQuNTk0LDM5NC4yMzdoLTE5LjQ2MWMxMi45NTQtMTkuNTQzLDIwLjUxMi00Mi45NTgsMjAuNTEyLTY4LjEwOWMwLTY4LjE1Ny01NS40NDktMTIzLjYwNi0xMjMuNjA2LTEyMy42MDYNCgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQNCgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMzAuMDEyLDEwLjc1NSw1Ny41NTUsMjguNjA4LDc4Ljk5Yy02Ljg0LTEuMTc4LTEzLjg2OS0xLjc5OS0yMS4wNC0xLjc5OQ0KCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwyNS4xNTEsNy41NTgsNDguNTY3LDIwLjUxMiw2OC4xMDlIMTcuNDA2TDAsNTEwLjI3Nmg5My4yOTRsMTUuMTM1LTIwLjE4MWg2My4wNjQNCgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OA0KCQkJYzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDNDc5LjI1NCwzNDcuOTQ4LDQ3NS41MDMsMzYxLjQ1LDQ2OS41MTksMzczLjY3eiBNNDA5Ljg3NywzOTQuNTMzdi0xMzYuODENCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVM0MzMuOTIyLDM4MS4xNzgsNDA5Ljg3NywzOTQuNTMzeiBNNDE5LjU4MSw0MjMuNjA4DQoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2DQoJCQlsMTMuMTQ4LDcuNTkxYy03Ljc5NCwxMS41MTctMTcuNzQsMjEuNDYzLTI5LjI1NiwyOS4yNTZsLTcuNTkxLTEzLjE0OEM0MzQuMzM2LDM5Ni40NjQsNDQyLjM3NSwzODguNDI1LDQ0OC43ODcsMzc5LjE3NnoNCgkJCSBNNDgwLjI0MSwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4QzQ3NS41MDMsMjkwLjgwNSw0NzkuMjU0LDMwNC4zMDcsNDgwLjI0MSwzMTguNTZ6DQoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkNCgkJCUw0MzIuNjc4LDIzNi4yMzF6IE00MTEuOTk0LDI0MS43ODljLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OHYtMTUuMTc2YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMg0KCQkJTDQxMS45OTQsMjQxLjc4OXogTTM5NC43NDIsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWMjUxLjMNCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxDQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTMjAxLjg0NSwzODEuMTc4LDE3Ny44LDM5NC41MzN6IE0xODcuNTA0LDQyMy42MDgNCgkJCWMtMTIuMjIsNS45ODQtMjUuNzIyLDkuNzM0LTM5Ljk3NSwxMC43MjJ2LTE1LjE3NWMxMS41MDYtMC45MjcsMjIuNDI5LTMuOTUxLDMyLjM4Ny04LjY4OEwxODcuNTA0LDQyMy42MDh6IE0yODIuMTQyLDI2NS40ODgNCgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczDQoJCQljLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N2gtMTUuMTc1YzAuOTg3LTE0LjI1Myw0LjczNy0yNy43NTQsMTAuNzIyLTM5Ljk3NUwyODcuNywyODYuMTczeiBNMzE2LjY0LDIxNS4yMjcNCgkJCWwtNy41OTEtMTMuMTQ4YzkuMjQ5LTYuNDEyLDE3LjI4Ny0xNC40NSwyMy42OTktMjMuNjk5bDEzLjE0OCw3LjU5MUMzMzguMTAzLDE5Ny40ODcsMzI4LjE1NywyMDcuNDMzLDMxNi42NCwyMTUuMjI3eg0KCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5DQoJCQlsNy41ODcsMTMuMTQyYy0xMi4yMiw1Ljk4NC0yNS43MjIsOS43MzQtMzkuOTc1LDEwLjcyMnYtMTUuMTc1QzI3NS4wNzQsMjE3LjQzLDI4NS45OTYsMjE0LjQwNywyOTUuOTU1LDIwOS42Njl6IE0yNzcuMDQsMjQ3LjEzOA0KCQkJYy04Ljk1MSwxMC43NDctMTYuMTE5LDIzLjAyOC0yMS4wNCwzNi4zODljLTQuOTIxLTEzLjM2MS0xMi4wODktMjUuNjQxLTIxLjA0LTM2LjM4OWM2Ljg0LDEuMTc4LDEzLjg2OSwxLjc5OSwyMS4wNCwxLjc5OQ0KCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4DQoJCQlDMjQzLjQyNiwyOTAuODA1LDI0Ny4xNzcsMzA0LjMwNywyNDguMTY0LDMxOC41NnogTTI0OC40MzEsMjMzLjUzM2MtMTQuMjUyLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzQtMTAuNzIybDcuNTg3LTEzLjE0Mg0KCQkJYzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OFYyMzMuNTMzeiBNMjE4LjE2MSwxOTMuNzM2Yy0yNC4wNDUtMTMuMzU0LTQwLjM2MS0zOS4wMDUtNDAuMzYxLTY4LjQwNQ0KCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4DQoJCQljLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwxNzkuMjUxLDE3OC4zNzl6IE0yMDAuNjAxLDIzNi4yMzFjMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2DQoJCQlsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMjAwLjYwMSwyMzYuMjMxeiBNMjE2LjcxLDM3OS4xNzZsMTMuMTQ4LDcuNTkxDQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyDQoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NWMtMC45ODcsMTQuMjUzLTQuNzM3LDI3Ljc1NC0xMC43MjIsMzkuOTc1TDIyNC4zLDM2Ni4wODJ6IE0yNTYsMzY4LjcyOQ0KCQkJYzMuMzMyLDkuMDQ1LDcuNjk3LDE3LjU5MywxMi45NDQsMjUuNTA4aC0yNS44ODhDMjQ4LjMwMywzODYuMzIxLDI1Mi42NjgsMzc3Ljc3NCwyNTYsMzY4LjcyOXogTTI2My44MzYsMzMzLjY5NWgxNS4xNzUNCgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3Ng0KCQkJYzYuNDEyLDkuMjQ5LDE0LjQ1LDE3LjI4NywyMy42OTksMjMuNjk5bC03LjU5MSwxMy4xNDhjLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwyOTUuMjksMzc5LjE3NnoNCgkJCSBNMjkzLjgzOSwzMjYuMTI4YzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDV2MTM2LjgxQzMxMC4xNTUsMzgxLjE3OCwyOTMuODM5LDM1NS41MjgsMjkzLjgzOSwzMjYuMTI4eiBNMzMyLjA4NCw0MTAuNDY2DQoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQ0KCQkJYy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyQzMzNi43MTYsMjIyLjY2MywzNTAuMjE4LDIxOC45MTIsMzY0LjQ3MSwyMTcuOTI1eiBNMzUzLjQ4LDE3Mi44NzMNCgkJCWwtMTMuMTQyLTcuNTg4YzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDMzYzLjIxNiwxNDcuMTUxLDM1OS40NjUsMTYwLjY1MywzNTMuNDgsMTcyLjg3M3ogTTM2NC4yMDIsMTE3Ljc2Mw0KCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0DQoJCQljMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2bC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDMxNi42NCwzNS40MzR6IE0yOTUuOTU2LDQwLjk5Mg0KCQkJYy05Ljk1OC00LjczNi0yMC44ODEtNy43Ni0zMi4zODctOC42ODhWMTcuMTI4YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMkwyOTUuOTU2LDQwLjk5MnogTTI3OC43MDMsNTAuNTAzdjE0OS42NTUNCgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3Mg0KCQkJQzI2My44OTQsNDcuMTMxLDI3MS41MTQsNDguMzE3LDI3OC43MDMsNTAuNTAzeiBNMjQ4LjQzMiwxNy4xMjh2MTUuMTc1Yy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyDQoJCQlDMjIwLjY3OCwyMS44NjYsMjM0LjE4LDE4LjExNSwyNDguNDMyLDE3LjEyOHogTTE5NS4zNiwzNS40MzRsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OQ0KCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcNCgkJCWgtMTUuMTc1QzE0OC43ODUsMTAzLjUxLDE1Mi41MzUsOTAuMDA4LDE1OC41Miw3Ny43ODh6IE0xNTguNTIsMTcyLjg3M2MtNS45ODQtMTIuMjItOS43MzUtMjUuNzIyLTEwLjcyMi0zOS45NzVoMTUuMTc1DQoJCQljMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMMTU4LjUyLDE3Mi44NzN6IE0xODcuNTA0LDIyOC42NDdsLTcuNTg3LDEzLjE0MmMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4DQoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyDQoJCQljLTcuODk0LDAtMTUuNTE0LTEuMTg3LTIyLjcwMy0zLjM3MlYyNTEuM2M3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMTQ3Ljg1NSwyNDcuOTI4LDE1NS40NzUsMjQ5LjExNCwxNjIuNjY1LDI1MS4zeg0KCQkJIE02MS43NjIsMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUM3OC4wNzgsMzgxLjE3OCw2MS43NjIsMzU1LjUyOCw2MS43NjIsMzI2LjEyOHogTTg2LjkxMyw0MDIuODc2DQoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoNCgkJCSBNMTAwLjAwNyw0MTAuNDY2YzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OHYxNS4xNzVjLTE0LjI1My0wLjk4Ny0yNy43NTQtNC43MzgtMzkuOTc1LTEwLjcyMkwxMDAuMDA3LDQxMC40NjZ6DQoJCQkgTTEzMi4zOTQsMjE3LjkyNVYyMzMuMWMtMTEuNTA2LDAuOTI3LTIyLjQyOSwzLjk1MS0zMi4zODcsOC42ODhsLTcuNTg3LTEzLjE0MkMxMDQuNjM5LDIyMi42NjMsMTE4LjE0MSwyMTguOTEyLDEzMi4zOTQsMjE3LjkyNQ0KCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxDQoJCQlDNTcuODU5LDI1My45NzEsNjcuODA1LDI0NC4wMjUsNzkuMzIyLDIzNi4yMzF6IE00Mi40ODEsMjc4LjU4NWwxMy4xNDIsNy41ODhjLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N0gzMS43NTkNCgkJCUMzMi43NDYsMzA0LjMwNywzNi40OTcsMjkwLjgwNSw0Mi40ODEsMjc4LjU4NXogTTMxLjc1OSwzMzMuNjk1aDE1LjE3NWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N0w0Mi40OCwzNzMuNjcNCgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQ0KCQkJaC03OC4yTDg1LjcyNiw0OTUuMTRIMTcuNTc1bDEyLjg2NS04NS43NjhoMTguMjNjMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoNDkuNDk0DQoJCQljMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoMTguMjNsMTIuODY1LDg1Ljc2OEg0MjYuMjc0eiIvPg0KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIxOTAuOTE5IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSIxMTEuMjA1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjE3MS43NDciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQyMS45ODYiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjE4OS45MSIgeT0iMzE3LjU1MiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNzQuODgiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSINCiAgICAgICAgICAgICAgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNDU2LjIxIiB5PSI0MzEuOTM1IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk4ODkgLTAuMTQ4MyAwLjE0ODMgMC45ODg5IC02MC43MTk5IDczLjY5MDMpIg0KICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI0NjQuODciIHdpZHRoPSI0NS40MDYiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxOC4xNjIiIHk9IjQ2NC44NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjMzLjI5OCIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzYuMTI3IiB5PSI0MzYuNDYxIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC0zOTguMDY3NSA0MjUuODQyNykiDQogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1LjQ2OCIgeT0iNDcwLjg2IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC00MzYuNDgzOCA0NTAuMDMyNSkiDQogICAgICAgICAgICAgIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Wxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTYxLDIxSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMC0yWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik02MSw0NEgzYTEsMSwwLDAsMCwwLDJINjBWNjBINDZWNDlhMSwxLDAsMCwwLTIsMFY2MEg0MlY1M2ExLDEsMCwwLDAtMS0xSDI2YTEsMSwwLDAsMC0xLDF2N0gyMlY0OWExLDEsMCwwLDAtMS0xSDVhMSwxLDAsMCwwLTEsMVY2MEgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDEtMVY0NUExLDEsMCwwLDAsNjEsNDRaTTQwLDU2SDM3VjU0aDNabS01LDBIMzJWNTRoM1ptLTUtMnYySDI3VjU0Wk0yMCw1Mi4zODJhMy45NDcsMy45NDcsMCwwLDAtNiwwVjUwaDZaTTE5LDU1YTIsMiwwLDEsMS0yLTJBMiwyLDAsMCwxLDE5LDU1Wk02LDU0aDZ2Mkg2Wm02LTR2Mkg2VjUwWk02LDU4aDZ2Mkg2Wm04LDJWNTcuNjE4YTMuOTQ3LDMuOTQ3LDAsMCwwLDYsMFY2MFptMTMtMmgzdjJIMjdabTUsMGgzdjJIMzJabTUsMlY1OGgzdjJaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik01Nyw1NmExLDEsMCwwLDAsMS0xVjUxYTEsMSwwLDAsMC0xLTFINDlhMSwxLDAsMCwwLTEsMXY0YTEsMSwwLDAsMCwxLDFabS03LTRoNnYySDUwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Jxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Bxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Rxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3Ljg5MSAyMzguMzk5Yy02LjcyMy0zNS44ODEtMjEuODUzLTY2LjkwNS00My43NTUtODkuNzE4LTkuODQ1LTEwLjI1My0yMS40NTYtMTkuNzUtMzQuNTE0LTI4LjIyNy0xNC45NC05LjY5OS0zMi4xOTItMTguNDM4LTU0LjI5My0yNy41MDMtOS42ODQtMy45NzItMTkuMzc1LTcuNjM3LTI4LjQwNi0xMS4wMDUtMTQuNjQyLTUuNDYtMzAuMDY0LTEwLjk1OC00NS44NDMtMTYuMzM3LTUuNDI3LTEuODUxLTEwLjkyMS0zLjYwNi0xNi4yMzQtNS4zMDMtOC41MDUtMi43MTctMTcuMy01LjUyNy0yNS43NzEtOC43MjEtNS4yMjQtMS45Ny03LjQyNi0zLjQ2NC04LjMyMS00LjI1OC4wNDYtLjA1Ni4wOTYtLjExNS4xNTEtLjE3NyA0LjA0OC00LjYxNSAyNy42MDMtMjMuMTA1IDQxLjUwMS0zMy42NzcgMi41NjItMS45NDkgMy41OTUtNS4zMTUgMi41NjYtOC4zNjVzLTMuODg5LTUuMTA0LTcuMTA3LTUuMTA0bC0xNTQuMDUyLS4wMDRjLTEuMzIxIDAtMi42MTkuMzQ5LTMuNzYyIDEuMDEyLTE3LjI4MiAxMC4wMjEtMzEuNjIzIDI1Ljc5LTM5LjM0NiA0My4yNjItOC45NDYgMjAuMjQtOS4wMTYgNDEuNDI1LS4yMDIgNjEuMjYzIDEyLjA3IDI3LjE2NyAzNy41NjcgNDIuMjM3IDYwLjA2MyA1NS41MzMgNS44NyAzLjQ2OSAxMS40MTQgNi43NDYgMTYuNjU1IDEwLjE2NyAzLjA5NSAyLjAyIDYuMjczIDQuMDAzIDkuMzQ3IDUuOTIyIDExLjU0NSA3LjIwOCAyMi40NSAxNC4wMTYgMzEuMTY3IDIzLjYwNCA4Ljk4MSA5Ljg3NyAxMS42OTMgMjIuNTAxIDcuODQyIDM2LjUwNy04Ljk0OCAzMi41NDQtMzUuNTQ0IDYxLjc4MS01OS4wMDkgODcuNTc2LTQuMzQyIDQuNzczLTguNDQyIDkuMjgxLTEyLjQwOSAxMy43NzYtMTEuMTA3IDEyLjU4Ny0yNy4zOTMgMzAuODktNDQuNjM0IDUwLjI2Ny01Ni44NjkgNjMuOTE0LTk0LjQxNSAxMDYuMjI5LTk4IDExMS44NDYtMS40NzQgMi4zMDktMS41NzEgNS4yMzgtLjI1NCA3LjY0IDEuMzE2IDIuNDAyIDMuODM4IDMuODk1IDYuNTc3IDMuODk1bDQ0Ni4zMTYuMDAzaC4wMDFjMy4yNTEgMCA2LjEzMi0yLjA5NCA3LjEzNS01LjE4NyAxMS42NTktMzUuOTYgMjIuMjEyLTcyLjIzMiAzNS4yODMtMTIxLjI4MyAxNS41OTEtNTguNTE1IDE5LjE4NS0xMDUuMzU0IDExLjMwOC0xNDcuNDA0em0tMjUuODAzIDE0My41NDNjLTEyLjM3IDQ2LjQyLTIyLjQ2NCA4MS4zMDUtMzMuMzg1IDExNS4zMzFsLTI2Ljk0LS4wMDJjMS4yODgtMy45NDggMi41NzMtNy45MDMgMy44NjEtMTEuODQyIDExLjU4LTM1LjQxIDIyLjg3Ny03MC45MjUgMzIuNTA0LTEwNi44ODggMS41MzUtNS43NCAzLjEyMi0xMS42NzQgNC42Ny0xNy42NDUgMS4wNC00LjAwOS0xLjM2OC04LjEwMy01LjM3OC05LjE0Mi00LjAwOS0xLjAzOC04LjEwMiAxLjM2OS05LjE0MiA1LjM3OC0xLjUzMyA1LjkxNC0zLjExMyAxMS44Mi00LjY0MSAxNy41MzEtOS40MzkgMzUuMjc1LTIwLjc5NyA3MS4wMjUtMzIuMjcgMTA2LjEwNC0xLjc5NyA1LjQ5My0zLjU5NSAxMC45OTItNS4zODkgMTYuNTA0aC0xNTcuOTc4Yy0uNDMyLTEuODU4LTEuNTY3LTMuNTUzLTMuMzA5LTQuNjQ5LTMuNTA0LTIuMjA2LTguMTM2LTEuMTUyLTEwLjM0MiAyLjM1My0uNDk1Ljc4Ni0uOTczIDEuNTQyLTEuNDQ5IDIuMjk2aC0xNTYuMjM0YzI0LjQ3My0zMC41NTEgOTEuODk3LTExMi4wNzMgMTI0LjIzOC0xNDguNzI0IDE3LjI0LTE5LjUzNyAzMS4zNjgtMzguNzI2IDQxLjk5NC01Ny4wMzMgMTcuNTk4LTMwLjMxOSAyNC41NjctNTYuNzY1IDIwLjcxNi03OC42MDEtOC4yNzMtNDYuOTA5LTQ1LjEyNy02NS43NjQtNzcuNjQzLTgyLjM5OC0zLjQzOS0xLjc1OS02Ljk5NS0zLjU3OS0xMC40MDctNS4zNzVsLS42MDktLjMyMWMtMy42NjMtMS45MzMtOC4yLS41My0xMC4xMzMgMy4xMzNzLS41MyA4LjIgMy4xMzMgMTAuMTMzbC42MTYuMzI1YzMuNDk2IDEuODQgNy4wOTEgMy42OCAxMC41NjggNS40NTggMzIuMjU3IDE2LjUwMiA2Mi43MjYgMzIuMDkgNjkuNzAzIDcxLjY1IDMuMjIgMTguMjU2LTMuMTQ1IDQxLjI5MS0xOC45MTcgNjguNDY2LTkuOTg5IDE3LjIxLTIzLjkxNCAzNi4xMDQtNDAuMjY4IDU0LjYzOC0zNS4yODYgMzkuOTg4LTExNi4wOTggMTM3LjgzOC0xMzIuMDU2IDE1OC42NDhoLTMzLjg1YzE3Ljg4Mi0yMC43NTMgNTYuNzQ0LTY0LjQyOCA4Ni45ODEtOTguNDExIDE3LjI1Mi0xOS4zODkgMzMuNTQ3LTM3LjcwMiA0NC42NzUtNTAuMzEzIDMuODkyLTQuNDEgNy45NTYtOC44NzggMTIuMjU4LTEzLjYwNyAyNC41OTctMjcuMDQgNTIuNDc2LTU3LjY4OCA2Mi4zNzUtOTMuNjkzIDUuMjA3LTE4LjkzOSAxLjIyNy0zNi45LTExLjIwNy01MC41NzUtMTYuNDIzLTE4LjA2Mi0zOS44NjMtMzAuMjM3LTYwLjYzNS00Mi41MTQtMjEuNTY1LTEyLjc0Ni00My44NjQtMjUuOTI2LTUzLjk4Ny00OC43MS0xNS4wMjMtMzMuODE1IDQuMzY2LTY3LjcxOCAzMS42NjctODQuNDQ3aDEzLjYzOWMtMjAuNTU3IDE1LjA3NC0zMi41NjggMzAuMzA1LTM2LjQ5NCA0Ni4xOTUtMy4xODMgMTIuODgyLS44MTMgMjUuNzU2IDcuMDQ1IDM4LjI2NSA0LjMyNCA2Ljg4MyA5LjkwNCAxMy4xMTIgMTcuMDU4IDE5LjA0MiAzLjE4OCAyLjY0MyA3LjkxNiAyLjIwMSAxMC41NjEtLjk4OCAyLjY0My0zLjE4OSAyLjIwMS03LjkxNy0uOTg4LTEwLjU2MS01LjkwOS00Ljg5OC0xMC40NjUtOS45NTktMTMuOTI5LTE1LjQ3Mi01LjY4OC05LjA1Ni03LjM4NC0xNy43ODYtNS4xODUtMjYuNjg4IDMuOTc5LTE2LjEwMyAyMC41NjgtMzIuODUxIDQ5LjMxNC00OS43OTNoNTAuNzE1Yy0xMy4zMDYgMTAuNDc5LTI4LjEwNSAyNC43NzUtMjQuMDk1IDQyLjM1MyAzLjk3OSAxNy40NDEgMjQuMTc3IDI3LjE3OSAzOS4xNzggMzMuNDcyIDE5LjU1OCA4LjIwNSAzOS44MzUgMTQuNzIgNTkuNDQ1IDIxLjAyMSAzMi4wODggMTAuMzEgNjUuMjY5IDIwLjk3MSA5NS4wMDMgMzkuMTM3IDMzLjkzNCAyMC43MzEgNTUuNTE4IDUxLjE1OCA2Mi40MiA4Ny45ODkgNC40NzggMjMuODk2IDMuNDI2IDUwLjYzNC0zLjMxMSA4NC4xNTJsLS4xMDcuNTM2Yy0uODE0IDQuMDYyIDEuODE4IDguMDE0IDUuODggOC44MjguNDk4LjEuOTkzLjE0NyAxLjQ4MS4xNDcgMy41MDEgMCA2LjYzMi0yLjQ2NCA3LjM0Ni02LjAyOGwuMTA2LS41MzJjNy4xMjgtMzUuNDYyIDguMTkxLTY0LjAxOCAzLjM0OS04OS44NjctNy43MDctNDEuMTIzLTMxLjY4Ni03NS4wMi02OS4zNDQtOTguMDI2LTMxLjI2Mi0xOS4wOTktNjUuMzA5LTMwLjAzOS05OC4yMzQtNDAuNjE4LTE5LjMwNy02LjIwMy0zOS4yNzEtMTIuNjE4LTU4LjIzLTIwLjU3Mi01Ljc4Ny0yLjQyOS0xMC43MTItNC45MTItMTUuMDU3LTcuNTktNS40NjQtMy4zNjgtMTMuNzIxLTguNDU3LTE1LjMwMi0xNS4zODgtMi41NzktMTEuMzA5IDE0LjMzLTIzLjk5OCAyNS41Mi0zMi4zOTUgMy4yMTYtMi40MTQgNi4xMDYtNC41ODUgOC40NzMtNi42MTcgMCAwIDEzLjc4OSAwIDEzLjc4Ny4wMDItOS44OTIgNy43ODYtMzQuMTU2IDE5LjczMy0zMC4xNzQgMzUuNjUzIDEuOTk4IDcuOTg2IDEwLjY4OCAxMi4xOTEgMTguMDM1IDE0Ljk2MiAxMy45ODEgNS4yNzIgMjguMzI0IDkuMzY3IDQyLjQ1NiAxNC4xODYgMTUuNjQ0IDUuMzM1IDMwLjkzMyAxMC43ODMgNDUuNDQyIDE2LjE5NSA4LjkxMyAzLjMyNSAxOC40NyA2LjkzOCAyNy45NTcgMTAuODI5IDIxLjIxNCA4LjcwMSAzNy42NzkgMTcuMDI4IDUxLjgxNiAyNi4yMDYgMTIuMDk0IDcuODUyIDIyLjgxMyAxNi42MTEgMzEuODYxIDI2LjAzNSAxOS44NzUgMjAuNzAxIDMzLjY0OCA0OS4wODggMzkuODMxIDgyLjA5MSA3LjQ1MSAzOS43NzEgMy45MzcgODQuNTA1LTExLjA1OCAxNDAuNzgxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1NS4wODMgMTIyLjUxOC0uNDczLS4yNDZjLTUuNzc2LTIuOTkzLTExLjU0NS01Ljk4My0xNy4zMzQtOC45NDUtMy42ODQtMS44ODMtOC4yMDYtLjQyNi0xMC4wOTMgMy4yNjItMS44ODYgMy42ODgtLjQyNiA4LjIwNiAzLjI2MiAxMC4wOTMgNS43NjUgMi45NDkgMTEuNTExIDUuOTI3IDE3LjI2MyA4LjkwOGwuNDczLjI0NWMxLjEwNC41NzIgMi4yODMuODQzIDMuNDQ1Ljg0MyAyLjcxMiAwIDUuMzMxLTEuNDc2IDYuNjY1LTQuMDUgMS45MDYtMy42NzguNDctOC4yMDQtMy4yMDgtMTAuMTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuNjgzIDU3LjU4NGMxLjc0NC01LjUxIDQuNzE5LTEwLjE5NiA4LjE2My0xMi44NTYgMy4yNzgtMi41MzIgMy44ODItNy4yNDIgMS4zNTEtMTAuNTItMi41MzQtMy4yNzktNy4yNDQtMy44ODItMTAuNTIxLTEuMzUxLTUuODg5IDQuNTQ5LTEwLjYxIDExLjcyNC0xMy4yOTMgMjAuMjAxLTEuMjUgMy45NDkuOTM4IDguMTY0IDQuODg3IDkuNDE0Ljc1My4yMzggMS41MTUuMzUyIDIuMjY1LjM1MiAzLjE4Mi0uMDAxIDYuMTM2LTIuMDQzIDcuMTQ4LTUuMjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzUuODU1IDQ0MS4yNzZjLTMuNTUzLTIuMTI2LTguMTU5LS45NzItMTAuMjg3IDIuNTgzLTMuNDk0IDUuODM1LTYuOTQ5IDExLjU3Ni0xMC4zMDYgMTcuMTIyLTIuMTQ1IDMuNTQzLTEuMDExIDguMTU1IDIuNTMzIDEwLjI5OSAxLjIxNS43MzUgMi41NTQgMS4wODUgMy44NzcgMS4wODUgMi41MzcgMCA1LjAxNC0xLjI4OCA2LjQyMy0zLjYxOCAzLjM2OC01LjU2NSA2LjgzNy0xMS4zMjcgMTAuMzQzLTE3LjE4MyAyLjEyNy0zLjU1NC45NzEtOC4xNi0yLjU4My0xMC4yODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjQuODY0IDIyNC4xNTJjLTQuMDY3Ljc4Ni02LjcyNyA0LjcyLTUuOTQgOC43ODcuOTEgNC43MTMgMS4zNzIgOS40NjggMS4zNzIgMTQuMTMyIDAgLjM1OC0uMDAzLjcxNi0uMDA5IDEuMDktLjAxNS45NzYtLjA0NCAxLjk0Ny0uMDg3IDIuOTE1LS4xODcgNC4xMzggMy4wMTggNy42NDMgNy4xNTUgNy44MjkuMTE1LjAwNS4yMjkuMDA4LjM0My4wMDggMy45ODYgMCA3LjMwNi0zLjE0IDcuNDg2LTcuMTYzLjA1MS0xLjExNy4wODQtMi4yMzkuMTAxLTMuMzUuMDA4LS40NDMuMDExLS44ODcuMDExLTEuMzMgMC01LjYxNy0uNTU0LTExLjMzLTEuNjQ1LTE2Ljk3OC0uNzg3LTQuMDY3LTQuNzI4LTYuNzI1LTguNzg3LTUuOTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYxLjkyOSAyODMuMzE0Yy0zLjg4My0xLjQ0Ni04LjIwMS41My05LjY0NiA0LjQxMy0yLjA5MSA1LjYxOS00LjU5MiAxMS40MDQtNy42NDYgMTcuNjg2LTEuODExIDMuNzI1LS4yNTkgOC4yMTMgMy40NjYgMTAuMDI0IDEuMDU3LjUxNCAyLjE3NC43NTYgMy4yNzMuNzU2IDIuNzgxIDAgNS40NTQtMS41NTMgNi43NTEtNC4yMjMgMy4yNjYtNi43MTggNS45NTItMTIuOTM3IDguMjE0LTE5LjAxMSAxLjQ0NS0zLjg4Mi0uNTMtOC4yLTQuNDEyLTkuNjQ1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzM1LjkyIDMzNy4yNzVjLTMuNTg1LTIuMDc1LTguMTczLS44NTItMTAuMjQ5IDIuNzMzLTMuMTA5IDUuMzcyLTYuNjM0IDExLjQ2LTkuOTc1IDE3LjUxNy0yIDMuNjI3LS42ODIgOC4xODkgMi45NDUgMTAuMTkgMS4xNDguNjMzIDIuMzkxLjkzNCAzLjYxNS45MzQgMi42NDQgMCA1LjIwNy0xLjQwMSA2LjU3NC0zLjg3OSAzLjI2Ni01LjkyIDYuNzQ5LTExLjkzOCA5LjgyMi0xNy4yNDcgMi4wNzctMy41ODUuODUyLTguMTcyLTIuNzMyLTEwLjI0OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Fxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjE4OC42MzIiIHk9IjI1NiIgd2lkdGg9IjM1LjkzIiBoZWlnaHQ9IjE3Ljk2NSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQ0KCQkJYy0yLjY2NywwLTUuMTkzLDEuMTg0LTYuODk1LDMuMjI4Yy0xLjcxMSwyLjA0NC0yLjQyMSw0LjczNy0xLjkzOSw3LjM2bDE2LjAzOSw4OC4yMTlIMjYwLjQ5MVYzMS40MzkNCgkJCWMwLTQuOTY1LTQuMDE4LTguOTgyLTguOTgyLTguOTgySDUzLjg5NWMtNC45NjUsMC04Ljk4Miw0LjAxOC04Ljk4Miw4Ljk4MnY0NDAuMTRIMHYxNy45NjVoNTMuODk1aDE5Ny42MTRoMTI1Ljc1NGg1My44OTVINTEyDQoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4DQoJCQlMNDIzLjY1OCw0NzEuNTc5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDU4LjEwNSw3Ni4zNTFjLTI3LjQ1NiwwLTQ0LjQ4OSwxMi40OTYtNTMuODk1LDI1LjE5NWMtOS40MDgtMTIuNjk5LTI2LjQzOS0yNS4xOTUtNTMuODk1LTI1LjE5NQ0KCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYNCgkJCWMwLDQuOTY1LDQuMDE4LDguOTgyLDguOTgyLDguOTgyczguOTgyLTQuMDE4LDguOTgyLTguOTgyVjEyMi41NzJjMS41NDQtNC42OCwxMC45ODctMjguMjU3LDQ0LjkxMi0yOC4yNTcNCgkJCWM0Ljk2NSwwLDguOTgyLTQuMDE4LDguOTgyLTguOTgyQzQ2Ny4wODgsODAuMzY4LDQ2My4wNyw3Ni4zNTEsNDU4LjEwNSw3Ni4zNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5Ng0KCQkJYy00LjU3OSwxOC43NzIsMi4yMzcsNDAuMDk3LDE3Ljc5OCw1NS42NjdjMTIuMzYsMTIuMzYsMjguMzYsMTkuMjAyLDQzLjgxNiwxOS4yMDJjNC4wMDksMCw3Ljk4Mi0wLjQ2NSwxMS44NTEtMS40MDQNCgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDE1Ni4xNTgsMzgxLjM5NSwxMzQuODMzLDM2NS44MzMsMTE5LjI2M3ogTTM2Ny4wMDksMTY0LjkwMw0KCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDE0MS4zMTYsMzY3LjU3LDE1My43MDIsMzY3LjAwOSwxNjQuOTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyMDAuMTA1Yy0xNS41NTMtMTUuNTUzLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwyMzcsMzgxLjM5NSwyMTUuNjc2LDM2NS44MzMsMjAwLjEwNXogTTM2Ny4wMDksMjQ1Ljc0Ng0KCQkJYy0xMS4xNTgsMC40OTEtMjMuNTk2LTQuNTQ0LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41MzUsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyODAuOTQ3Yy0xNS41NTMtMTUuNTYxLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgNCgkJCWMtMTEuMTU4LDAuNDQ3LTIzLjU5Ni00LjUzNS0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTcsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDMwMywzNjcuNTcsMzE1LjM4NiwzNjcuMDA5LDMyNi41ODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY4LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMTQ4LjE1OCw1MTMuOTY1LDEyNi44MzMsNTA5LjM4NiwxMDguMDYxeiBNNDc4Ljg4NiwxNTEuMDI2DQoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3Nw0KCQkJQzQ5My4zMjUsMTI5LjI4OSw0ODguMjI4LDE0MS42NzUsNDc4Ljg4NiwxNTEuMDI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwxODguOTAzYy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4DQoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0DQoJCQljMTUuNDY1LDAsMzEuNDY1LTYuODQyLDQzLjgyNS0xOS4yMDJDNTA3LjE0OSwyMjksNTEzLjk2NSwyMDcuNjc2LDUwOS4zODYsMTg4LjkwM3ogTTQ3OC44ODYsMjMxLjg2OA0KCQkJYy05LjM1MSw5LjMzMy0yMS44NzcsMTQuMzY4LTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDAzLDMyLjkzOS0xMy44NzcNCgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMjY5Ljc0NmMtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY5LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzENCgkJCWMtOS4zNTEsOS4zNDItMjEuODc3LDE0LjMzMy0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQ0NywzMi45MzktMTMuODc3DQoJCQlDNDkzLjMyNSwyOTAuOTc0LDQ4OC4yMjgsMzAzLjM2LDQ3OC44ODYsMzEyLjcxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEzOS45MzMgMjMwLjU2NmgyMzIuMTM1YzIyLjQwNSAwIDQwLjYzNC0xOC4yMjggNDAuNjM0LTQwLjYzM3YtMTQ5LjNjLS4wMDEtMjIuNDA1LTE4LjIyOS00MC42MzMtNDAuNjM1LTQwLjYzM2gtMjMyLjEzNGMtMjIuNDA1IDAtNDAuNjM0IDE4LjIyOC00MC42MzQgNDAuNjMzdjE0OS4yOTljMCAyMi40MDYgMTguMjI4IDQwLjYzNCA0MC42MzQgNDAuNjM0em0tMjUuNjM0LTE4OS45MzNjMC0xNC4xMzQgMTEuNDk5LTI1LjYzMyAyNS42MzQtMjUuNjMzaDIzMi4xMzVjMTQuMTM1IDAgMjUuNjM0IDExLjQ5OSAyNS42MzQgMjUuNjMzdjE0OS4yOTljMCAxNC4xMzQtMTEuNDk5IDI1LjYzMy0yNS42MzQgMjUuNjMzaC0yMzIuMTM1Yy0xNC4xMzUgMC0yNS42MzQtMTEuNDk5LTI1LjYzNC0yNS42MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjExIDE2NC44MTNjMTAuNDIzIDIuMDgxIDE4Ljg1IDEwLjE4IDIwLjk3IDIwLjE1NyAxLjUzNiA3LjIyMiA4LjAyMiAxMi40NjMgMTUuNDIyIDEyLjQ2M2gxNDguOTQ3YzcuNDggMCAxMy45OC01LjMxIDE1LjQ1NS0xMi42MjQgMi4xMTUtMTAuNDgyIDEwLjU3Ni0xOC45MzYgMjEuMDUyLTIxLjAzOCA3LjMwOC0xLjQ2NiAxMi42MTEtNy45NjUgMTIuNjExLTE1LjQ1NHYtNjYuMDY3YzAtNy40ODQtNS4zMTEtMTMuOTg1LTEyLjYyNy0xNS40NTctMTAuNDcyLTIuMTA3LTE4LjkyNS0xMC41NjMtMjEuMDM2LTIxLjA0MS0xLjQ3NS03LjMxMi03Ljk2Ny0xMi42MTgtMTUuNDM5LTEyLjYxOGgtMTQ4Ljk3MWMtNy4zOTUgMC0xMy44NzggNS4yNDItMTUuNDE0IDEyLjQ2NS0yLjExOCA5Ljk2OS0xMC41NCAxOC4wNjctMjAuOTU1IDIwLjE1My03LjM1NSAxLjQ3Mi0xMi42OTIgNy45NzktMTIuNjkyIDE1LjQ3djY4LjEyNWMwIDcuNDk0IDUuMzMxIDEzLjk5OSAxMi42NzcgMTUuNDY2em0yLjMyMy04My41OTJjMC0uMzc0LjI2Mi0uNjg3LjYzOC0uNzYyIDE2LjIwMy0zLjI0NCAyOS4zMzctMTYgMzIuNjgyLTMxLjc0MS4wNzMtLjM0NC4zNzgtLjU4NS43NDItLjU4NWgxNDguOTcyYy4zNTcgMCAuNjY2LjI0NS43MzMuNTgzIDMuMjkgMTYuMzI1IDE2LjQ2NCAyOS40OTkgMzIuNzgyIDMyLjc4Mi4zNC4wNjguNTg2LjM4NS41ODYuNzUydjY2LjA2N2MwIC4zNjEtLjI0MS42ODMtLjU2MS43NDctMTYuMzI2IDMuMjc0LTI5LjUxIDE2LjQ0Ny0zMi44MDYgMzIuNzc4LS4wNjkuMzQyLS4zODYuNTkxLS43NTIuNTkxaC0xNDguOTQ3Yy0uMzYyIDAtLjY3OC0uMjQ2LS43NS0uNTgyLTMuMzQ3LTE1Ljc1Mi0xNi40OS0yOC41MTEtMzIuNzA1LTMxLjc0OC0uMzU3LS4wNzEtLjYxNC0uMzg5LS42MTQtLjc1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgNTAuMjA0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgMTgwLjM2MmMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg5LjczMyAxNjQuMWg0OS43YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTI1LjYzM2gxNy4zNWMyLjYgMCA1LjAxNC0xLjM0NiA2LjM4LTMuNTU3czEuNDkxLTQuOTcyLjMyOC03LjI5N2wtMjQuODUtNDkuN2MtMS4yNzEtMi41NDEtMy44NjctNC4xNDYtNi43MDgtNC4xNDZzLTUuNDM4IDEuNjA1LTYuNzA4IDQuMTQ2bC0xNC40OTMgMjguOTg3aC0yOC40OThjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjV2NDkuN2MtLjAwMSA0LjE0MiAzLjM1NyA3LjUgNy40OTkgNy41em00OS43MDEtNzMuNTYzIDEyLjcxNSAyNS40M2gtMjUuNDN6bS00Mi4yMDEgMjMuODYzaDEzLjQ5OGwtMi44NTYgNS43MTNjLTEuMTYzIDIuMzI1LTEuMDM4IDUuMDg2LjMyOCA3LjI5N3MzLjc4IDMuNTU3IDYuMzggMy41NTdoMTcuMzUxdjE4LjEzM2gtMzQuN3YtMzQuN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMwLjg2NyAyNDguNWMtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzNjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1MC4yNjZjOC41NDcgMCAxNS41LTYuOTUzIDE1LjUtMTUuNXYtMTcuMTMzYzAtOC41NDctNi45NTMtMTUuNS0xNS41LTE1LjV6bTUwLjc2NiAxNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTUwLjI2NmMtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNTAuMjY2Yy4yNzUgMCAuNS4yMjQuNS41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDk2LjUgNDYzLjg2N2gtMTcuNjcyYy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di0xMzYuNTA1YzkuNjA4LTMuMTYgMTYuNTY3LTEyLjIxMiAxNi41NjctMjIuODY0di04LjI4NGMwLTguNzAzLTcuMDgxLTE1Ljc4My0xNS43ODQtMTUuNzgzaC0yLjU2MmMxLjE0My0yLjggMS43NzktNS44NiAxLjc3OS05LjA2NyAwLTEzLjI3LTEwLjc5Ni0yNC4wNjYtMjQuMDY2LTI0LjA2NnMtMjQuMDY2IDEwLjc5Ni0yNC4wNjYgMjQuMDY2YzAgMy4yMDcuNjM1IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2M2MtOC43MDMgMC0xNS43ODMgNy4wODEtMTUuNzgzIDE1Ljc4M3Y4LjI4NGMwIDEwLjUxOCA2Ljc4NiAxOS40NzYgMTYuMjA3IDIyLjc0MS0xOC42MTYgMTguNDM4LTQwLjAzNyAzMy4zNTEtNjMuNzM0IDQ0LjMzNy0zLjc1OCAxLjc0Mi01LjM5MyA2LjIwMS0zLjY1IDkuOTU4IDEuMjcgMi43MzcgMy45NzggNC4zNDggNi44MSA0LjM0OCAxLjA1NiAwIDIuMTI5LS4yMjQgMy4xNDktLjY5OCAyMS4wNTgtOS43NjIgNDAuNDI3LTIyLjQzMiA1Ny43ODYtMzcuNzU0djIzLjcxMmMtNDUuNDEgMzUuNDk1LTEwMC4wMTQgNTQuMjQ3LTE1OC4xNjcgNTQuMjQ3LTU4LjE0OCAwLTExMi43NTYtMTguNzUzLTE1OC4xNjctNTQuMjQ5di0yMy42OWM0My43NjQgMzguNjkgOTkuMjggNTkuODA1IDE1OC4xNjcgNTkuODA1IDIzLjU5MiAwIDQ2LjkxMy0zLjQ0MSA2OS4zMTQtMTAuMjI4IDMuOTY0LTEuMjAxIDYuMjA0LTUuMzg4IDUuMDAzLTkuMzUzLTEuMjAxLTMuOTY0LTUuMzg5LTYuMjA3LTkuMzUzLTUuMDAzLTIwLjk4OSA2LjM1OS00Mi44NDcgOS41ODMtNjQuOTY0IDkuNTgzLTU5LjU3MiAwLTExNS40NjItMjMuMDctMTU3LjgwMi02NS4wMTggOS40MTktMy4yNjcgMTYuMjAyLTEyLjIyNCAxNi4yMDItMjIuNzR2LTguMjg0YzAtOC43MDMtNy4wOC0xNS43ODMtMTUuNzgzLTE1Ljc4M2gtMi41NjNjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA3IDEwLjc5OC0yNC4wNyAyNC4wNjhjMCAzLjIwNy42MzYgNi4yNjYgMS43NzkgOS4wNjdoLTIuNTYyYy04LjcwMyAwLTE1Ljc4NCA3LjA4MS0xNS43ODQgMTUuNzgzdjguMjg0YzAgMTAuNjUyIDYuOTU5IDE5LjcwNCAxNi41NjcgMjIuODY0djEzNi41MDZjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTcuNjczYy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzMmMwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDU5LjgzM2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNTkuODMzYy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg0ODFjLjI3NSAwIC41LjIyNC41LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtMzkxLjE2N2MtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgzOTEuMTY3YzguNTQ3IDAgMTUuNS02Ljk1MyAxNS41LTE1LjV2LTE3LjEzM2MwLTguNTQ3LTYuOTUzLTE1LjUtMTUuNS0xNS41em0tNjcuMzMzLTE2NC41NzdjLjE2MS0uODc4LjE1OC0xLjc3OC4wMDUtMi42NTZoMTguMTI4djE4LjEzM2gtMTguMTMzem0wIDQzLjkwNGMuMDEyLS4yMzkuMDEyLS40NzkgMC0uNzE5di0xMi43MDloMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC0xMDMuNzYxYzAtNC45OTkgNC4wNjctOS4wNjYgOS4wNjYtOS4wNjZzOS4wNjYgNC4wNjcgOS4wNjYgOS4wNjYtNC4wNjcgOS4wNjctOS4wNjYgOS4wNjctOS4wNjYtNC4wNjctOS4wNjYtOS4wNjd6bS0xNi41NjcgMjQuODVjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDQ5LjdjLjQzMyAwIC43ODQuMzUyLjc4NC43ODN2OC4yODRjMCA0Ljk5OS00LjA2NyA5LjA2Ni05LjA2NyA5LjA2NmgtMzMuMTMzYy01IDAtOS4wNjctNC4wNjctOS4wNjctOS4wNjZ6bS0xNTYuNiAxNDQuMTc2YzU3LjY0OCAwIDExMi4wMDctMTcuNDIyIDE1OC4xNjctNTAuNTE0djczLjk5MWMtOS42MDggMy4xNi0xNi41NjcgMTIuMjEyLTE2LjU2NyAyMi44NjR2OC4yODRjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0yODMuMjc5Yy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di03My45OTJjNDYuMTYxIDMzLjA5MiAxMDAuNTIzIDUwLjUxNSAxNTguMTY2IDUwLjUxNXptLTE3My4xNjctMTEwLjc4OWMtLjAxMi4yNDctLjAxMi40OTUgMCAuNzQydjE2LjM1NWgtMTguMTMzdi0xOC4xMzNoMTguMTMzem0tMTguMTMzIDMyLjA5N2gxOC4xMzN2MTAwLjk2N2gtMTguMTMzem0wLTkwLjMzNGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODQtLjc4M2g0OS43Yy40MzIgMCAuNzgzLjM1Mi43ODMuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0uNzg0IDE5OS41ODRjLS40MzMgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzem0zNjQuNDY2IDBjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODQuNzgzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Hxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzQuNjA4LDgwLjQzOWwtMjMyLTgwYy0xLjY5LTAuNTgzLTMuNTI2LTAuNTgzLTUuMjE2LDBsLTIzMiw4MEMyLjE2Niw4MS41NTEsMC4wMDEsODQuNTg3LDAsODcuOTk5djM4NA0KCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQNCgkJCUM0NzkuOTk5LDg0LjU4Nyw0NzcuODM0LDgxLjU1MSw0NzQuNjA4LDgwLjQzOXogTTQwLDIxNS45OTl2MjQ4SDE2di0zMDRoMjRWMjE1Ljk5OXogTTQyNCwyMDcuOTk5SDU2di0xNmgzNjhWMjA3Ljk5OXoNCgkJCSBNNDI0LDE3NS45OTlINTZ2LTE2aDM2OFYxNzUuOTk5eiBNNDY0LDQ2My45OTloLTI0di0zMDRoMjRWNDYzLjk5OXogTTQ2NCwxNDMuOTk5SDE2VjkzLjcwM2wyMjQtNzcuMjRsMjI0LDc3LjI0VjE0My45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgNCgkJCWMtOS4wOTgtMC4wMy0xNy40MjEsNS4xMTQtMjEuNDY0LDEzLjI2NGwtMjYuNCw1Mi44bC0yOS42LDE0LjhjLTIuNzA1LDEuMzUyLTQuNDE2LDQuMTEyLTQuNDI0LDcuMTM2djExMmMwLDguODM3LDcuMTYzLDE2LDE2LDE2DQoJCQloMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMjRoMTkydjI0YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTEyDQoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0DQoJCQljMy4wMzMtMC4wMSw1LjgwNywxLjcwNiw3LjE1Miw0LjQyNGwyMS43OTIsNDMuNTc2SDEzMi45NDRMMTU0LjczNiwyODQuNDIzeiBNMTI4LDQ2My45OTlIOTZ2LTI0aDMyVjQ2My45OTl6IE0zODQsNDYzLjk5OWgtMzINCgkJCXYtMjRoMzJWNDYzLjk5OXogTTM4NCw0MjMuOTk5SDEzNkg5NnYtNjcuMDU2bDI1Ljg4OC0xMi45NDRoMjM2LjIyNEwzODQsMzU2Ljk0M1Y0MjMuOTk5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYNCgkJCUMxNjgsMzY3LjE2MiwxNjAuODM3LDM1OS45OTksMTUyLDM1OS45OTl6IE0xNTIsMzkxLjk5OWgtMjR2LTE2aDI0VjM5MS45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMzU5Ljk5OWgtMjRjLTguODM3LDAtMTYsNy4xNjMtMTYsMTZ2MTZjMCw4LjgzNyw3LjE2MywxNiwxNiwxNmgyNGM4LjgzNywwLDE2LTcuMTYzLDE2LTE2di0xNg0KCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI4MCwzNTkuOTk5aC04MGMtOC44MzcsMC0xNiw3LjE2My0xNiwxNnYxNmMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDgwYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTE2DQoJCQlDMjk2LDM2Ny4xNjIsMjg4LjgzNywzNTkuOTk5LDI4MCwzNTkuOTk5eiBNMjgwLDM5MS45OTloLTgwdi0xNmg4MFYzOTEuOTk5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Vxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTMwLjAwOSAyMjMuMjQ4YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTE2LjY5NmMwLTEyLjU1NyAxMC4yMTYtMjIuNzczIDIyLjc3Mi0yMi43NzNoMTUuMzkyYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xNS4zOTJjLTIwLjgyOCAwLTM3Ljc3MiAxNi45NDUtMzcuNzcyIDM3Ljc3M3YxNi42OTZjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTcuODU2IDIwOC44NnYzNi4zMzljMCA0LjE0MiAzLjM1NyA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMzYuMzM5YzAtMy4yOTQgMi43OTYtNi4wNzggNi4xMDUtNi4wNzhoMTMuMjM3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMy4yMzdjLTExLjYzNyAwLTIxLjEwNSA5LjQ1NS0yMS4xMDUgMjEuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjI4LjE4MSAyMTEuNDNjMi45NDIgMS45NjQgNi4zODIgMi45NjMgOS44ODkgMi45NjMgMi40NDIgMCA0LjkxOS0uNDg1IDcuMjgyLTEuNDY3bDI0Ljc2LTEwLjI1NSA2My41OTUgNC45MDYgNC42NjEgMTYuMTIxYzEuNjE5IDUuNjAxIDUuNTk2IDEwLjA3NCAxMS4xOTcgMTIuNTk1IDMuMTQ4IDEuNDE3IDYuNTkxIDIuMTI0IDEwLjA0MSAyLjEyNCAzLjY1MyAwIDcuMzE2LS43OTMgMTAuNjQ0LTIuMzc0bDExNy4yOTEtNTUuNzI5YzYuNDY5LTMuMDc0IDExLjQyNS05LjAxIDEzLjI1OC0xNS44OCAxLjU4Mi01LjkzMi42MjktMTEuODM1LTIuNjg0LTE2LjYxOWwtMjMuNjM5LTM0LjE2NGMxNy43NjMtMjAuNDYyIDIxLjk0MS00OS41OTUgMTAuMTI3LTc0LjQ2MS0xNi4yNzItMzQuMjAxLTU3LjMzMi00OC43OTctOTEuNTEtMzIuNTUtMjYuMTgxIDEyLjQzNS00MS41OTIgNDAuMDA4LTM4LjkxIDY4LjQ1OGwtMzMuNzY2IDE2LjA0MmMtLjAwMSAwLS4wMDEgMC0uMDAxIDAtMTAuNzI1IDUuMDk2LTE1LjM5MSAxNy4yODEtMTEuNjExIDMwLjMxNWw4Ljc0NSAzMC4yNDJoLTQ3LjE1N2wtMjUuMDU1LTEwLjM3N2MtNS43NjMtMi4zNzEtMTIuMTc5LTEuNzkzLTE3LjE2NyAxLjU0Ni00LjcxMyAzLjE1Ny03LjQxNiA4LjIyMS03LjQxNiAxMy44OTN2NDAuNzYxYy0uMDAyIDUuNjkxIDIuNzA2IDEwLjc2IDcuNDI2IDEzLjkxem0yNTcuNi01NS4wNzdjLjc5IDEuMTQuOTY2IDIuNTU4LjUyNCA0LjIxNC0uNjkyIDIuNTkzLTIuNzM0IDUuMDI2LTUuMjAyIDYuMTk5bC0xMTcuMjkxIDU1LjcyOGMtMi40NyAxLjE3My01LjY0NiAxLjIyMS04LjA5MS4xMi0xLjU2NS0uNzA0LTIuNTU2LTEuNzQxLTIuOTQzLTMuMDgzbC0yMi4zNzYtNzcuMzg1IDEwOS41NDItNTIuMDR6bS04Ni4yNTItMTM2LjE2MmMuMDAxIDAgLjAwMi0uMDAxLjAwMy0uMDAxIDI2LjcxNi0xMi43MDMgNTguODA2LTEuMjg4IDcxLjUyNCAyNS40NDIgOC42NjQgMTguMjM3IDYuMzMgMzkuNDE3LTUuNDYzIDU1LjE3M2wtLjAyNC0uMDI2LTI4LjAwMi00MC40N2MtNy43MjktMTEuMTYtMjAuMTM1LTE1LjI0MS0zMC44NjgtMTAuMTU3bC0zNy44MDMgMTcuOTU4LS4wMTIuMDAzYy4yMTctMjAuMTkgMTEuODk5LTM5LjAxOSAzMC42NDUtNDcuOTIyem0tNzIuNjc2IDg0LjQ5OCA4Ni4yNzMtNDAuOTg0YzQuNzUtMi4yNTEgOS40OTIgMS4zNjYgMTIuMTA3IDUuMTQzbDYuMDYyIDguNzYtMTA1LjExNSA0OS45MzctMi45NjctMTAuMjYyYy0xLjI3OC00LjQwNC0xLjA5LTEwLjM0NiAzLjY0LTEyLjU5NHptLTUwLjQ1MyA2Mi4wMDloNDUuNDc4bDcuMzY1IDI1LjQ5LTUyLjg0My00LjA3N3ptLTQwLjY0Ny05LjkzOGMwLS4zOTUuMDc5LS45NzIuNzY1LTEuNDMxLjIwNC0uMTM3Ljc3MS0uNDU1IDEuNjEzLS40NTUuNDI3IDAgLjkyNC4wODIgMS40OC4zMTFsMjEuNzg4IDkuMDI0djI1LjgzNGwtMjEuNzk3IDkuMDI3Yy0xLjY2NS42OTQtMi43OTIuMDg1LTMuMDk2LS4xMTgtLjY2OC0uNDQ2LS43NTQtLjk5OS0uNzU0LTEuNDMxdi00MC43NjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTkwLjkyIDQ2OC4yNzdjLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjctNy42NzgtMi45MjctMTAuNjA3LjAwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwNy45NTcgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzAuNzg0IDQwOS4zODVjMjIuNzEzLTIuMjc4IDQxLjE5MS0yMi43OTIgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MDktMS41NDktNy4yMzQtNC4yNDgtOS42NzEtMi42OTItMi40MzEtNi4zNTItMy42MDktMTAuMDEtMy4yMzNsLTI4LjgxIDIuODkyYy05LjkyMyAxLjAxLTE5LjAzNyA1LjUwMi0yNi4xNTEgMTIuMTUybC4wNjMtNS4xNTRjMC0yMi45MDMtMTguMzM3LTQzLjI2Ni00MS4wNTQtNDUuNTc4bC0yOC43ODMtMi44OWMtMy42ODctLjM3OS03LjMzNC44MDItMTAuMDI1IDMuMjMyLTIuNjk5IDIuNDM4LTQuMjQ4IDUuOTYyLTQuMjQ4IDkuNjcxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzMgNDMuNDE3IDQxLjE4NSA0NS43MjlsMjcuODYzIDIuODE0djUzLjk5NmgtNTQuNTE5Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDExOS4zMDRjMi40NDQgMCA0LjQzNCAxLjk3NiA0LjQzNCA0LjQwNXY0NS41MjNjMCAyLjQwMy0yLjAzIDQuNDM0LTQuNDM0IDQuNDM0aC00NzMuMTM0Yy0yLjM4OCAwLTQuNDA1LTIuMDMtNC40MDUtNC40MzR2LTQ1LjUyM2MwLTIuMzg4IDIuMDE4LTQuNDA1IDQuNDA1LTQuNDA1aDMxOS4xOTJjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTc1LjEyNnYtMTUuMzk3bDI4LjA1Ny0yLjgzM2MyMi43MTMtMi4yNzggNDEuMTktMjIuNzkyIDQxLjE5LTQ1LjcyOXYtMjguNzQzYzAtMy43MDUtMS41NTItNy4yMjktNC4yNTctOS42NjktMi43LTIuNDM1LTYuMzU5LTMuNjEyLTEwLjAwMS0zLjIzNWwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xOCAxMi4xNjMgMCAwIC4xOTktNC40MjkuMTk5LTUuMDEzIDAtMjIuOTA3LTE4LjQ3NC00My40Mi00MS4xOS00NS43MjlsLTI4Ljc3Ni0yLjg5Yy0zLjY2Ni0uMzc1LTcuMzA4Ljc5Ni05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2Ny00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNCAyLjgxM3Y1My45OTZoLTE2NC4yNTN2LTE1LjM5OGwyOC4wMjYtMi44MzJjMjIuNzEzLTIuMjc0IDQxLjE5MS0yMi43ODkgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MTMtMS41NTEtNy4yNDItNC4yNTUtOS42ODEtMi42ODktMi40MjYtNi4zMzMtMy42MDQtOS45NzUtMy4yMjRsLTI4LjgxIDIuODkyYy05LjkzNCAxLjAxMS0xOS4wNTggNS41MDctMjYuMTc5IDEyLjE2MiAwIDAgLjE5OC00LjQzLjE5OC01LjAxMiAwLTIyLjkwMy0xOC40NzQtNDMuNDE3LTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjYtLjM3NC03LjMwNi43OTUtOS45OTcgMy4yMjItMi43MDQgMi40MzktNC4yNTUgNS45NjgtNC4yNTUgOS42ODF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3NCA0My40MTcgNDEuMTg2IDQ1LjcyOWwyNy44MzUgMi44MTN2MzEuNzk1IDIyLjIwMWgtNDkuODEyYy0xMC43IDAtMTkuNDA1IDguNzA1LTE5LjQwNSAxOS40MDV2NDUuNTIzYzAgMTAuNzE2IDguNzA1IDE5LjQzNCAxOS40MDUgMTkuNDM0aDQ3My4xMzRjMTAuNzE2IDAgMTkuNDM0LTguNzE4IDE5LjQzNC0xOS40MzR2LTQ1LjUyM2MwLTEwLjctOC43MTgtMTkuNDA1LTE5LjQzNC0xOS40MDVoLTQ5Ljc4NXYtMTUuMzk4em0tMjguMDI4LTM4Ljc1NmMwLTE1LjE3MSAxMi42NzItMjkuMjc5IDI3LjY2LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY4IDI5LjI5OS0yNy42OTMgMzAuODA1bC0xNS40MTUgMS41NTggMTkuMDY5LTIxLjA5N2MyLjc3Ny0zLjA3MyAyLjUzNy03LjgxNi0uNTM1LTEwLjU5My0zLjA3Mi0yLjc3NS03LjgxNC0yLjUzOS0xMC41OTQuNTM1bC0xOS4wNTEgMjEuMDc3em0tMTUtMjMuNDU3LTE4Ljg4LTIwLjg4OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTNsMTkuMDY3IDIxLjA5Ni0xNS40MDgtMS41NTZjLTE1LjAxNC0xLjUyOC0yNy42OTgtMTUuNjM1LTI3LjY5OC0zMC44MDV2LTI2LjQ5N2wyNi41NDggMi42NjZjMTUuMDE1IDEuNTI4IDI3LjUgMTUuNjM1IDI3LjUgMzAuODA1em0tMTY0LjI4MiAyMy40NTdjMC0xNS4xNyAxMi42ODUtMjkuMjc3IDI3LjY4OC0zMC44MDVsMjYuNTU5LTIuNjY2djI2LjQ5OGMwIDE1LjE5Mi0xMi42NzkgMjkuMjk5LTI3LjY5MiAzMC44MDVsLTE1LjQxNCAxLjU1NyAxOS4wNjgtMjEuMDk2YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA3OSAyMS4xMDh2LTE1LjM0M3ptLTQ0Ljk4LTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1N2MtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyMSAyLjY2M2MxNS4wMTUgMS41MjYgMjcuNDk5IDE1LjYzMyAyNy40OTkgMzAuODA1djE1LjA5MWwtMTguODUyLTIwLjg1N2MtMi43NzgtMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTN6bS0xMzQuMjczIDM0LjI4NmMwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41My0yLjY2M3YyNi40OTVjMCAxNS4xOTUtMTIuNjc5IDI5LjMwMS0yNy42OTIgMzAuODA1bC0xNS40MDUgMS41NTcgMTkuMDgzLTIxLjA5NGMyLjc3OS0zLjA3MiAyLjU0Mi03LjgxNC0uNTMtMTAuNTkzLTMuMDY4LTIuNzc4LTcuODEzLTIuNTQyLTEwLjU5My41M2wtMTkuMDgxIDIxLjA5MXptLTQ0Ljk4MS0zNC4yODYgMTkuMDY5IDIxLjA5Ny0xNS40MDktMS41NThjLTE1LjAxNS0xLjUyOC0yNy42OTktMTUuNjM1LTI3LjY5OS0zMC44MDV2LTI2LjQ5NWwyNi41MiAyLjY2M2MxNS4wMTUgMS41MjggMjcuNTAxIDE1LjYzNSAyNy41MDEgMzAuODA1djE1LjA5MmwtMTguODUzLTIwLjg1OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTIxLS41MzUgMTAuNTk0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Zxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2LjYyMiAxNTEuNzQxaDEwLjh2MzUuNjgxYzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NSA0LjVoMTQuODE0YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM5Ljk0aDIwLjEzOXYxODUuMTE1aC0yMy40NTdjLTEwLjkzOCAwLTE5LjgzNyA4Ljg5OC0xOS44MzcgMTkuODM2djM3LjMyNGMwIDkuOTY4IDcuMzk4IDE4LjIxOSAxNi45ODggMTkuNjA4djg3LjU3NmMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNWM4LjMwNCAwIDE1LjA1OS02Ljc1NSAxNS4wNTktMTUuMDU5di01My44NDRoNTEuNDY0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41Yy05Ljc2NSAwLTg1Ljc4NSAwLTk2LjkxNyAwdi0xOC41MDNoMjI4LjgzNHYxOC41MDNjLTExLjEzNyAwLTg3LjIxNyAwLTk2LjkxNyAwLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoNTEuNDY1djUzLjg0NGMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNGM4LjMwNCAwIDE1LjA2LTYuNzU1IDE1LjA2LTE1LjA1OSAwLTEwLjE1NCAwLTc3LjAzNiAwLTg3LjU3NiA5LjU5LTEuMzg5IDE2Ljk4OC05LjY0IDE2Ljk4OC0xOS42MDh2LTM3LjMyNGMwLTEwLjkzOC04Ljg5OC0xOS44MzYtMTkuODM3LTE5LjgzNmgtMjMuNDU3di03NS4wNThjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzUuMDU4aC0yNS4xNjRjMC0yMS43MTMgMC0xNjIuOTEyIDAtMTg1LjExNWgyNS4xNjR2NzUuMDU4YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTc1LjA1OGgyMC4xMzl2MzkuOTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzVoMTQuODE0YzQuNzk5IDAgOS4yMDgtMS42OTEgMTIuNjc1LTQuNSAzLjQ2NyAyLjgwOSA3Ljg3NSA0LjUgMTIuNjc0IDQuNWgxNC44MTVjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMzUuNjgxaDEwLjhjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMTQuODE0YzAtMTEuMTI1LTkuMDUxLTIwLjE3NS0yMC4xNzUtMjAuMTc1aC0xMC44di0zNS42ODFjMC0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNWMtNC43OTkgMC05LjIwNyAxLjY5MS0xMi42NzQgNC41LTMuNDY3LTIuODA5LTcuODc1LTQuNS0xMi42NzUtNC41aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2MzkuOTQxaC0yMC4xMzl2LTgwLjY2M2MtLjAwMS0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHY1MC41MzRoLTk1Ljg5NnYtNTAuNTM0YzAtMTEuMTI0LTkuMDUtMjAuMTc0LTIwLjE3NC0yMC4xNzRoLTE0LjgxNWMtMTEuMTI0IDAtMjAuMTc0IDkuMDUtMjAuMTc0IDIwLjE3NHY4MC42NjNoLTIwLjEzOXYtMzkuOTQxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTQuNzk5IDAtOS4yMDggMS42OTEtMTIuNjc1IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM1LjY4MWgtMTAuOGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NXYxNC44MTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzV6bTE0MS4yNjctNC4yNmgyNS4xNjN2MTg1LjExNWgtMjUuMTYzem00MC4xNjMgNjguNzEyaDk1Ljg5NnY3Ni45MDFoLTk1Ljg5NnptOTUuODk1LTE1aC05NS44OTZ2LTIzLjU4M2g5NS44OTZ6bS0xMzEuOTE5IDI0MS45MDQtLjA1MSA1My45MDMtMzAuMzkzLS4wMzljMC0uMDAxLS4wMDEtLjAwOC0uMDAxLS4wMnYtNTMuODQ0em0xOTguMzI5IDUzLjkwMy0zMC4zOTMtLjA1OXYtNTMuODQ0aDMwLjQ0NXptMTIuMjExLTE0OS40MDNjMi42NjcgMCA0LjgzNyAyLjE2OSA0LjgzNyA0LjgzNnYzNy4zMjRjMCAyLjY2Ny0yLjE3IDQuODM2LTQuODM3IDQuODM2LTEzLjIwMiAwLTI0MS4yNTYgMC0yNTMuMTM3IDAtMi42NjcgMC00LjgzNy0yLjE2OS00LjgzNy00LjgzNnYtMzcuMzI0YzAtMi42NjcgMi4xNy00LjgzNiA0LjgzNy00LjgzNnptLTE3NC41MTYtMTV2LTI0LjUwM2g5NS44OTZ2MjQuNTAzem05NS44OTUtMTY5Ljk4N2gtOTUuODk2di0xNS4xMjhoOTUuODk2em0tMTE1Ljk3Ny0zMC4xMjl2LTE2LjY0NWgxMzYuMDZ2MTYuNjQ1Yy00LjY1MyAwLTEzMC40MTEgMC0xMzYuMDYgMHptMjk3LjQwOC0yMC45MDRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc1djE0LjgxNGMwIDIuODA1LTIuMzcgNS4xNzUtNS4xNzUgNS4xNzVoLTEwLjh2LTI1LjE2NHptLTQ1Ljc5LTU1Ljg1NWgxNC44MTVjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTVjLTIuODA1IDAtNS4xNzQtMi4zNy01LjE3NC01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzY5LTUuMTc0IDUuMTc0LTUuMTc0em0tNDUuMzM4IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC0yLjkwNCAwLTEyMi42MDIgMC0xMjYuNTI2em0tMTUgNzEuNTg1Yy0xMy40NjMgMC0yNS4xODYgMC00MC4yMjEgMHYtMTYuNjQ1aDQwLjIyMXptLTYwLjMwMy0xMTIuMzA3YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44NTQgMCA1LjE3NSAyLjMyMSA1LjE3NSA1LjE3NHY4MC42NjNjLTkuMTA2IDAtMTYuMDU4IDAtMjUuMTY0IDAgMC05LjM3MyAwLTcwLjg4NSAwLTgwLjY2M3ptLTE1IDY1LjUzNHYxNS4xMjhoLTk1Ljg5NnYtMTUuMTI4em0tMTM2LjA1OC02NS41MzRjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NGgxNC44MTVjMi44MDUgMCA1LjE3NCAyLjM3IDUuMTc0IDUuMTc0djgwLjY2M2MtOS4xMDQgMC0xNi4wMzkgMC0yNS4xNjMgMHptNS4wODEgOTUuNjYzdjE2LjY0NWMtMTUuMjczIDAtMjYuNDYgMC00MC4yMiAwdi0xNi42NDV6bS03NS4yMDktNjAuMTE1aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODA1IDAtNS4xNzUtMi4zNy01LjE3NS01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzR6bS00NS4zMzkgNS4xNzRjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC01LjY3OSAwLTEyMC44MjcgMC0xMjYuNTI2em0tMzAuOTc1IDU1Ljg1NmMwLTIuODU0IDIuMzIxLTUuMTc1IDUuMTc1LTUuMTc1aDEwLjh2MjUuMTY0aC0xMC44Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Xxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsMjgwaC0xNlYxNjYuNGMwLTEyLTkuNi0yMi40LTIyLjQtMjIuNGgtNGMtMTIsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwaC0yNHYtMTZjMC0xMy42LTEwLjQtMjQtMjQtMjRIMTIwDQoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOA0KCQkJdjE0NGMwLDQuOCwzLjIsOCw4LDhoOHY4YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LThoMzg0djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGg4YzQuOCwwLDgtMy4yLDgtOFYyOTZoOA0KCQkJYzQuOCwwLDgtMy4yLDgtOFM0NzYuOCwyODAsNDcyLDI4MHogTTQzMC40LDE2MGg0YzMuMiwwLDYuNCwyLjQsNi40LDYuNFYyODBoLTE2VjE2Ni40SDQyNEM0MjQsMTYzLjIsNDI2LjQsMTYwLDQzMC40LDE2MHoNCgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6DQoJCQkgTTIzMiw0MzJIMzJ2LTY0aDIwMFY0MzJ6IE00NDgsNDMySDI0OHYtNjRoMjAwVjQzMnogTTQ0OCwzNTJIMzJ2LTU2aDQxNlYzNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDgsMzg0Yy00LjgsMC04LDMuMi04LDh2MTZjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtMTZDMjE2LDM4Ny4yLDIxMi44LDM4NCwyMDgsMzg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM4NCwxNkg5NmMtNC44LDAtOCwzLjItOCw4djE2MGMwLDQuOCwzLjIsOCw4LDhoMjg4YzQuOCwwLDgtMy4yLDgtOFYyNEMzOTIsMTkuMiwzODguOCwxNiwzODQsMTZ6IE0zNzYsMTc2SDEwNFYzMmgyNzINCgkJCVYxNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTU3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTI0LDI0Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGwyNC0yNA0KCQkJQzE2MC44LDU4LjQsMTYwLjgsNTMuNiwxNTcuNiw1MC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01Ng0KCQkJQzIwMC44LDU4LjQsMjAwLjgsNTMuNiwxOTcuNiw1MC40eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Kxe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgOTZoLTE0NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxODRoLTE3NnYtMjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2MTZoMTZ2MTZoLTMydi0zMmgtMTZ2MzJoLTMydi0xNmgxNnYtMTZoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djI0aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxNzZjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0NjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzY4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0xMzYgMTZoMTI4djk2aC0xMjh6bS0xNiAyMjRoLTE0NHYtMzJoMTQ0em0tMzA0LTMyaDE0NHYzMmgtMTQ0em0wIDQ4aDE0NHYxMTJoLTE0NHptMTYwIDBoNjR2MTEyaC02NHptODAgMGg2NHYxMTJoLTY0em04MCAxMTJ2LTI0MGgxMjh2MjQwem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAyNTZoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDQgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzNiAzNjhoLTk2Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTggNjRoLTgwdi00OGg4MHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzIgMzEyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzIgMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTIgMjAwaDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LThjLS4wNTQ2ODgtMTQuNTQ2ODc1LTkuOTE0MDYyLTI3LjIyNjU2Mi0yNC0zMC44NjMyODF2LTE1My4xMzY3MTloLTE2djE1My4xMzY3MTljLTE0LjA4NTkzOCAzLjYzNjcxOS0yMy45NDUzMTIgMTYuMzE2NDA2LTI0IDMwLjg2MzI4MXY4YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTI0LTMyYzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZoLTMyYzAtOC44MzU5MzggNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",qxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMC40MTcgMjMzLjIyNS01OC42NDQtMTE3LjI3OWMtMTUuOTM5LTMxLjg3Ny00Ny45NzgtNTEuNjgtODMuNjItNTEuNjgtOC41ODYgMC0xNi45ODQgMS4xODgtMjUuMDMyIDMuNDM3LjEwNS0xLjQ4OS4xNzgtMi45ODguMTc4LTQuNTAzIDAtMzQuODQ5LTI4LjM1MS02My4yLTYzLjItNjMuMnMtNjMuMiAyOC4zNTItNjMuMiA2My4yYzAgMzAuOTkzIDIyLjQzMiA1Ni44MjggNTEuOTA5IDYyLjE2OWwtNjEuMzY2IDYxLjQ3Yy02Ljg3NSA2Ljg4Ni0yMS44NzEgMjcuODItMTAuMzMzIDU0LjQ2LTEuNzA1LS4xOTEtMy40MjEtLjI5OS01LjE0NC0uMjk5LTIzLjA4NyAwLTQyLjMzNiAxNi42OS00Ni4zNTEgMzguNjM1LTcuNzQtNC4xNDQtMTYuNTczLTYuNTAxLTI1Ljk0OS02LjUwMS0zMC40MTkgMC01NS4xNjcgMjQuNzQ4LTU1LjE2NyA1NS4xNjcgMCA5LjA2MyAyLjIxMSAxNy42MTUgNi4xIDI1LjE2N2gtNDAuNTk4di0zMzguNDY4YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djQ4MmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1czE1LTYuNzE2IDE1LTE1di00OS4yNjdoMzA2LjU2M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di02NC4yNjdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtMzYuNDEyYzMuMjc0LTguMzk1IDMuMjE0LTE1LjI2MyAzLjIxNC0xOC4yIDI4LjQ2OSAwIDQ4LjItMjIuMDk4IDQ4LjItNDcuMTMzIDAtMjUuOTg5LTIxLjE0NC00Ny4xMzMtNDcuMTMzLTQ3LjEzM2gtMTIuMzA0bDU1LjkwNC01Ni4wODYgNTMuNzM2IDEwNi43NzctLjEwMyAyMDUuMzAxYy0uMDAyIDMuOTc5IDEuNTc4IDcuNzk2IDQuMzkxIDEwLjYxMSAyLjgxMyAyLjgxNCA2LjYzIDQuMzk2IDEwLjYwOSA0LjM5Nmg4MC4zMzVjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtMjU3LjA2NmMwLTIuMzI5LS41NDItNC42MjUtMS41ODMtNi43MDh6bS0yNjMuNTE3LTE3MC4wMjVjMC0xOC4zMDcgMTQuODk0LTMzLjIgMzMuMi0zMy4yczMzLjIgMTQuODk0IDMzLjIgMzMuMi0xNC44OTQgMzMuMi0zMy4yIDMzLjJjLTE4LjMwNyAwLTMzLjItMTQuODkzLTMzLjItMzMuMnptLTEyNy4yMzMgMjM5LjkzM2MxMy44NzcgMCAyNS4xNjcgMTEuMjkgMjUuMTY3IDI1LjE2N3MtMTEuMjkgMjUuMTY3LTI1LjE2NyAyNS4xNjctMjUuMTY3LTExLjI5LTI1LjE2Ny0yNS4xNjcgMTEuMjktMjUuMTY3IDI1LjE2Ny0yNS4xNjd6bTIwMS44OTYgODAuMzM0djM0LjI2N2gtMjkxLjU2M3YtMzQuMjY3em0tMTcuMTMtMTEyLjQ2N2M5LjQ0NyAwIDE3LjEzMyA3LjY4NiAxNy4xMzMgMTcuMTMzIDAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTE2LjA2N2MtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXYxNi4wNjdjMCA5LjU4My03LjgxNCAxNy4xMzMtMTcuMTMzIDE3LjEzM2gtNjQuMjY3Yy05LjQ0NyAwLTE3LjEzMy03LjY4Ni0xNy4xMzMtMTcuMTMzdi00OC4yYzAtOS40NDcgNy42ODYtMTcuMTMzIDE3LjEzMy0xNy4xMzMgOS4yOTcgMCAxNy4xMzMgNy41MjYgMTcuMTMzIDE3LjEzM3YxNi4wNjdjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtMTYuMDY3YzAtOS40MjkgNy42MTYtMTcuMTMzIDE3LjEzMy0xNy4xMzN6bTE3Ny41NjcgMjExaC01MC4zMjZsLjA5Ny0xOTMuODU5Yy4wMDEtMi4zNDQtLjU0Ny00LjY1Ni0xLjYwMS02Ljc1bC02NC42ODUtMTI4LjUzM2MtMi4xNjctNC4zMDUtNi4yNjktNy4zMDYtMTEuMDI3LTguMDY4LTQuNzYxLS43NjItOS41OTQuODEtMTIuOTk1IDQuMjIybC04Ni40NTggODYuNzM5Yy03LjI2MyA3LjI5MS0xOS4xMTUgNi44MDctMjYuMzA4LS4zODYtNy4zODEtNy4zODEtNy43MjgtMTkuNjExLS4wMjItMjcuMzI5bDk1LjI3LTk1LjQzMWMxMS43OTktMTEuODI1IDI3LjUtMTguMzM3IDQ0LjIxNy0xOC4zMzcgMjQuMTk5IDAgNDUuOTU1IDEzLjQ0OCA1Ni43NzkgMzUuMDk3bDU3LjA1OSAxMTQuMTA5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",eSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNOTIuNTQ1LDE4NS4wOWM1MS4wMjksMCw5Mi41NDUtNDEuNTE2LDkyLjU0NS05Mi41NDVTMTQzLjU3NCwwLDkyLjU0NSwwUzAsNDEuNTE2LDAsOTIuNTQ1ICAgIFM0MS41MTYsMTg1LjA5LDkyLjU0NSwxODUuMDl6IE05Mi41NDUsMjBjNDAuMDAxLDAsNzIuNTQ1LDMyLjU0NCw3Mi41NDUsNzIuNTQ1cy0zMi41NDQsNzIuNTQ1LTcyLjU0NSw3Mi41NDUgICAgUzIwLDEzMi41NDYsMjAsOTIuNTQ1UzUyLjU0NCwyMCw5Mi41NDUsMjB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMiwzMzJoLTYxLjU0N2MtOC40Ni0xMi4wMzQtMjEuMTcyLTIwLjU1OC0zNS42NzEtMjMuNzI4bC00My45NjQtOS42MTMgICAgYzE3Ljk5MS0xMi4xMzQsMjkuODQ3LTMyLjcwMiwyOS44NDctNTUuOTg4di0yNC40MTd2LTExLjI5N3YtMi41NDJjMC0zNy4yMTItMzAuMjc0LTY3LjQ4Ni02Ny40ODYtNjcuNDg2ICAgIHMtNjcuNDg2LDMwLjI3NC02Ny40ODYsNjcuNDg2djIuNTQydjExLjI5N3YyNC40MTdjMCwyMy4yNTYsMTEuODI1LDQzLjgwMywyOS43NzgsNTUuOTQzbC00My45MzYsOS42MzkgICAgYy0xLjg3NywwLjQxMi0zLjcyMiwwLjkxNy01LjUzNSwxLjUwMlYyMjdjMC01LjUyMi00LjQ3OC0xMC0xMC0xMGgtNjhjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBzNC40NzgsMTAsMTAsMTBoNTh2MTQwaC02OHYtNTAgICAgYzAtMTYuNTQyLTEzLjQ1OC0zMC0zMC0zMHMtMzAsMTMuNDU4LTMwLDMwdjUwSDIwVjIzN2g1OGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEgxMGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHYxNjAgICAgYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNzh2MTloLTFjLTE3LjA5NCwwLTMxLDEzLjkwNi0zMSwzMXY1SDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNDkyICAgIGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi00MHYtNDB2LTQwdi00MEM1MTIsMzM2LjQ3OCw1MDcuNTIyLDMzMiw1MDIsMzMyeiBNNDQxLjE3OSw0NTJIMzg0di0yMGgxMDh2MjBINDQxLjE3OXogTTQ5Miw0MTJIMzg0ICAgIHYtMjBoMTA4VjQxMnogTTQ5MiwzNzJIMzg0di0yMGg1MC44NzRjMC4wMywwLDAuMDYsMC4wMDYsMC4wODksMC4wMDZjMC4wMzEsMCwwLjA2My0wLjAwNiwwLjA5NC0wLjAwNkg0OTJWMzcyeiBNMjc1LjY5MiwyMDQuNDE2ICAgIGMwLTI2LjE4NCwyMS4zMDMtNDcuNDg2LDQ3LjQ4Ni00Ny40ODZjMjQuOTMzLDAsNDUuNDM5LDE5LjMxNCw0Ny4zNDIsNDMuNzY3bC0yMy4yNDYtMTMuNjU3ICAgIGMtNC4yMTEtMi40NzUtOS41OTMtMS41NDQtMTIuNzMsMi4xOTljLTEwLjEyNiwxMi4wODUtMjQuOTc3LDE5LjAxNy00MC43NDQsMTkuMDE3aC0xOC4xMDd2LTEuMjk3VjIwNC40MTZ6IE0yNzUuNjkyLDIyOC4yNTUgICAgSDI5My44YzE4LjgyNSwwLDM2LjctNy4xNzksNTAuMjA1LTE5Ljk0bDI2LjY2LDE1LjY2M3YxOC42OTRjMCwyNi4xODQtMjEuMzAzLDQ3LjQ4Ni00Ny40ODYsNDcuNDg2cy00Ny40ODYtMjEuMzAzLTQ3LjQ4Ni00Ny40ODYgICAgVjIyOC4yNTV6IE0zMzguODQ0LDMwOC4zMDNsLTE1LjgxNSw0Mi4yOTRsLTE1Ljg0NC00Mi4zN2M1LjEzLDEuMjUyLDEwLjQ4MywxLjkzMSwxNS45OTMsMS45MzEgICAgQzMyOC41NzIsMzEwLjE1OCwzMzMuODEzLDMwOS41MDQsMzM4Ljg0NCwzMDguMzAzeiBNMjI2LDM5N2M1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi01NS42MjNjMy4wODUtMS42MjYsNi4zNzQtMi44MzIsOS44Mi0zLjU4OCAgICBsNDMuNzQtOS41OTZsMjQuMTAzLDY0LjQ1N2MxLjQ2MSwzLjkwNyw1LjE5NCw2LjQ5Nyw5LjM2Niw2LjQ5N3M3LjkwNS0yLjU5LDkuMzY2LTYuNDk4bDI0LjEwNC02NC40NjFsNDQuMDExLDkuNjIzICAgIGMzLjg2MywwLjg0NCw3LjUyOSwyLjI3NCwxMC45MDIsNC4xODhIMzc0Yy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwdjQwdjMwSDIxNS4xNzl2LTU1SDIyNnogTTE5NS4xNzksMzk3djU1SDE4MHYtNSAgICBjMC0xNy4wOTQtMTMuOTA2LTMxLTMxLTMxaC0xdi0xOUgxOTUuMTc5eiBNMTA4LDMyN2MwLTUuNTE0LDQuNDg2LTEwLDEwLTEwczEwLDQuNDg2LDEwLDEwdjg5aC0yMFYzMjd6IE03Niw0NDcgICAgYzAtNi4wNjUsNC45MzUtMTEsMTEtMTFoMTFoNDBoMTFjNi4wNjUsMCwxMSw0LjkzNSwxMSwxMXY1SDc2VjQ0N3ogTTQ5Miw0OTJIMjB2LTIwaDQ3MlY0OTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMsMjE5LjkzYy0xLjg2LDEuODYtMi45Myw0LjQ0LTIuOTMsNy4wN3MxLjA2OSw1LjIxLDIuOTMsNy4wNjljMS44NiwxLjg2LDQuNDQsMi45MzEsNy4wNywyLjkzMSAgICBzNS4yMS0xLjA3LDcuMDY5LTIuOTMxQzEyNi45MywyMzIuMjEsMTI4LDIyOS42MywxMjgsMjI3cy0xLjA3LTUuMjEtMi45MzEtNy4wN2MtMS44NTktMS44Ni00LjQzOS0yLjkzLTcuMDY5LTIuOTMgICAgUzExMi43OSwyMTguMDY5LDExMC45MywyMTkuOTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",tSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01NSwzNS45MzVjNC40OTMtLjU1NSw4LTQuOCw4LTkuOTM1LDAtNC44ODUtMy41MzUtMTktOS0xOXMtOSwxNC4xMTUtOSwxOWMwLDUuMTM4LDMuNTA3LDkuMzgsOCw5LjkzNVY0Mkg0OS45NDlhOS45NzgsOS45NzgsMCwwLDAtMTQuNDQxLTcuOTIybC0xLjYtMi41MTNMMzIuMzg4LDI3SDM2LjVhMS41LDEuNSwwLDAsMSwwLDNIMzZ2MmguNWEzLjUsMy41LDAsMCwwLDAtN0gzMWExLDEsMCwwLDAtLjk0OCwxLjMxNkwzMS42MTMsMzFIMjBWMjloM2ExLDEsMCwwLDAsMS0xLDUsNSwwLDAsMC0xMCwwLDEsMSwwLDAsMCwxLDFoM3YyLjY3NWwtMS45NjQsMi43YTkuOTkxLDkuOTkxLDAsMSwwLDQuNTEsMTEuNjA2LDMuOTg1LDMuOTg1LDAsMSwwLDYuNDI1LTQuNjM0bDUuNTIxLTguMjgzLDEuMzI5LDIuMDg5QTkuOTk1LDkuOTk1LDAsMSwwLDQ5Ljk0OSw0NEg2M1Y0Mkg1NVpNNDcsMjZjMC01LjA2NywzLjY2MS0xNyw3LTE3czcsMTEuOTMzLDcsMTdjMCw0LjAyMi0yLjYxNCw3LjM1MS02LDcuOTA5VjE4LjUzNWwyLjU1NS0xLjctMS4xMS0xLjY2NC0zLDJBMSwxLDAsMCwwLDUzLDE4djdsLTIuNC0xLjgtMS4yLDEuNkw1MywyNy41djYuNDA5QzQ5LjYxNCwzMy4zNTEsNDcsMzAuMDIyLDQ3LDI2Wk0xOSwyNWEzLjAwNiwzLjAwNiwwLDAsMSwyLjgyOSwySDE2LjE3MUEzLjAwNiwzLjAwNiwwLDAsMSwxOSwyNVptNSwxNWEzLjgzNiwzLjgzNiwwLDAsMC0uNTYuMDU3TDIwLjUsMzNoOS42MzJsLTQuODI1LDcuMjM3QTMuOTY4LDMuOTY4LDAsMCwwLDI0LDQwWk0xMSw1MWE4LDgsMCwxLDEsMy44NTctMTVsLTMuMDExLDQuMTRBMi45NiwyLjk2LDAsMCwwLDExLDQwYTMsMywwLDEsMCwyLjczOCw0LjIxNGw1LjEuMzkyQTguMDE0LDguMDE0LDAsMCwxLDExLDUxWm03Ljk4LTguMzg5LTUuMS0uMzkyYTMuMDA1LDMuMDA1LDAsMCwwLS40MTQtLjkxNmwzLTQuMTI1QTcuOTY5LDcuOTY5LDAsMCwxLDE4Ljk4LDQyLjYxMVpNMTIsNDNhMSwxLDAsMSwxLTEtMUExLDEsMCwwLDEsMTIsNDNabTguODc5LTEuNDcyYTkuOTY4LDkuOTY4LDAsMCwwLTMuMjI4LTUuOTc0bDEuMTExLTEuNTI3LDIuODMyLDYuOEE0LjAzMiw0LjAzMiwwLDAsMCwyMC44NzksNDEuNTI4Wk0yNCw0NmEyLDIsMCwxLDEsMi0yQTIsMiwwLDAsMSwyNCw0NlptMTYsNWE4LDgsMCwwLDEtNS4xLTE0LjE1NmwyLjc0OCw0LjMxOUEyLjk2NiwyLjk2NiwwLDAsMCwzNyw0M2EzLDMsMCwxLDAsMy0zLDIuOTYzLDIuOTYzLDAsMCwwLS42NzEuMDgybC0yLjc0MS00LjMwN0E4LDgsMCwxLDEsNDAsNTFabTAtOWExLDEsMCwxLDEtMSwxQTEsMSwwLDAsMSw0MCw0MloiLz4NCiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMSIgeT0iNTUiIHdpZHRoPSI2MiIgaGVpZ2h0PSIyIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",sSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTE2OC45OTIgMjc3LjU5MWMwLTI2LjU1MS0yMS42MDEtNDguMTUxLTQ4LjE1MS00OC4xNTFzLTQ4LjE1MSAyMS42MDEtNDguMTUxIDQ4LjE1MSAyMS42MDEgNDguMTUgNDguMTUxIDQ4LjE1IDQ4LjE1MS0yMS42IDQ4LjE1MS00OC4xNXptLTgxLjMwMyAwYzAtMTguMjc5IDE0Ljg3Mi0zMy4xNTEgMzMuMTUxLTMzLjE1MXMzMy4xNTEgMTQuODcyIDMzLjE1MSAzMy4xNTEtMTQuODcyIDMzLjE1LTMzLjE1MSAzMy4xNS0zMy4xNTEtMTQuODcxLTMzLjE1MS0zMy4xNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",iSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",rSe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsMjUySDExNmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMGgxMDBjNS41MSwwLDEwLTQuNDksMTAtMTBTMjIxLjUxLDI1MiwyMTYsMjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM5NiwyNTJIMjk2Yy01LjUxLDAtMTAsNC40OS0xMCwxMHM0LjQ5LDEwLDEwLDEwaDEwMGM1LjUxLDAsMTAtNC40OSwxMC0xMFM0MDEuNTEsMjUyLDM5NiwyNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yODYsMTA3aC02MGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY2MGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDYwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTYwDQoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDIsNDkyaC0xM1YyMzNjMC02Mi4yMzctMjQuMjM2LTEyMC43NDgtNjguMjQ0LTE2NC43NTZDMzc2Ljc0OCwyNC4yMzYsMzE4LjIzNywwLDI1NiwwUzEzNS4yNTIsMjQuMjM2LDkxLjI0NCw2OC4yNDQNCgkJCVMyMywxNzAuNzYzLDIzLDIzM3YyNTlIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoNDkyYzUuNTIzLDAsMTAtNC40NzcsMTAtMTBTNTA3LjUyMyw0OTIsNTAyLDQ5MnogTTM4Niw0OTJIMTI2DQoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoNCgkJCSBNNDI5LDQ5MmgtMjNWMzAyYzAtNS41MjMtNC40NzctMTAtMTAtMTBIMTE2Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE5MEg4M1YyMzNjMC05NS42NjgsNzcuMzgzLTE3My41LDE3Mi41LTE3My41DQoJCQlDMzUxLjE2OCw1OS41LDQyOSwxMzcuMzMyLDQyOSwyMzNWNDkyeiBNNDY5LDQ5MmgtMjBWMjMzYzAtMTA2LjY5Ni04Ni44MDQtMTkzLjUtMTkzLjUtMTkzLjUNCgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMNCgkJCXMyMTMsOTUuNTUxLDIxMywyMTNWNDkyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",oSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUwOC41NDEgMjE4LjM4NC0xNjIuNTA3LTIwMy4xMzRjLTcuNzUzLTkuNjkyLTE5LjMxOC0xNS4yNS0zMS43MjktMTUuMjVoLTgzLjE1NWMtOC43MDMgMC0xNS43ODMgNy4wOC0xNS43ODMgMTUuNzgzdjE2LjU2N2MwIDguNzAzIDcuMDggMTUuNzgzIDE1Ljc4MyAxNS43ODNoMzMuOTE3djExNy41MzNoLTMwLjYzMmwtMTIwLjMzNC0xNTAuNDE2Yy03Ljc1My05LjY5MS0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC02Ni41ODljLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDE3LjM1djExNy41MzNoLTE3LjM1Yy04LjcwMy4wMDEtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODR2MzA2LjQ4M2MwIDEzLjI3MSAxMC43OTYgMjQuMDY3IDI0LjA2NyAyNC4wNjdoNDcyLjE1YzguNzAzIDAgMTUuNzgzLTcuMDggMTUuNzgzLTE1Ljc4M3YtNzQuNTUtMTQzLjI4OS01MC4xMzRjMC0zLjU3MS0xLjIyOC03LjA3My0zLjQ1OS05Ljg2em0tNjIuMDI0IDE5NS43ODNjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi03NC41NS0xMjEuOTA4bDE4LjEzNCAyMi42Njd2MTc0LjU3NHptLTIzMS45MzQgMGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjYtODIuODM0Yy0uNDMyIDAtLjc4NC0uMzUyLS43ODQtLjc4NHYtNjcuMDQ5aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjctODIuODMzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNjcuMDVoMTguMTMzdjY3LjgzM3ptODMuNjE2LTkxLjc0MXY4LjkwOGgtMTguMTMzdi0zMS41NzR6bTY2LjI2NyA4Mi44MzN2OC45MDhoLTE4LjEzM3YtMzEuNTc0em04MS4yNjcgOC4xMjV2LTE5Ni40MjhjLjA3Mi4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM4OXYxNzQuNTc1aC0xNy4zNWMtLjQzMSAwLS43ODMtLjM1Mi0uNzgzLS43ODN6bTExNy41MzMgNTAuNDgzaC0xOC4xMzN2LTEyMi42OTFsMTguMTM0IDIyLjY2N3YxMDAuMDI0em0tMTguMTMzIDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptLTE1IDE4LjEzM2gtMTcuMzVjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzg0di03NC41NDktMTIxLjkwOGwxOC4xMzMgMjIuNjY2em0tMzMuMTMzLTExNS45NjZoLTE4LjEzNHYtMTIyLjY5MWwxOC4xMzQgMjIuNjY3em0tMTguMTM0IDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzM3Y2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODRoLTg0LjQ0di01Mi45NTUtMTQuODc5em0tOTkuNDAxIDE3LjUwOXYxMDAuMDI0aC0xOC4xMzN2LTEyMi42OTFsNS4wODYgNi4zNTd6bS0xNTAuNjY2LTE4OC4zMzMgMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzMyA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0zMy4xMzMtNS4xNTggMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzNCA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0tMTE0LjQtOTcuODMzaC0xOC4xMzN2LTExNC4zNzhjLjA3My4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM5em0xNSA2NC43aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptNjYuMjY2IDgyLjgzM2gxOC4xMzR2MTguMTMzaC0xOC4xMzN2LTE4LjEzM3ptNjYuMjY3IDgyLjgzM2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTMzLjEzMy00OS43aDE1MC42Njd2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xNTAuNzA3em0yMDcuMzE2LTc3LjM0NiA5LjYxOCAxMi4wMjJ2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjl6bS04LjUxNSAxMjcuMDQ2aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptLTI0OC41LTM2My42ODN2LTE2LjU2N2MwLS40MzIuMzUyLS43ODMuNzgzLS43ODNoODMuMTU1YzcuODMgMCAxNS4xMjUgMy41MDYgMjAuMDE3IDkuNjJsMTYyLjUwNyAyMDMuMTM0YzAgLjAwMS4wMDEuMDAxLjAwMi4wMDIuMTA5LjEzNy4xNy4zMTEuMTcuNDg4djI4Ljc1M2wtMTcxLjg2Ni0yMTQuODMxYy00LjU5My01Ljc0LTExLjQ0Mi05LjAzMi0xOC43OTMtOS4wMzJoLS42NDItNzQuNTVjLS40MzItLjAwMS0uNzgzLS4zNTItLjc4My0uNzg0em02Ny44MzMgMTUuNzgzdjg0LjRoLTE4LjEzNHYtODQuNHptLTE4LjEzNCA5OS40aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzNHY2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE4LjE3NHYtMjAuMjU2YzAtMy41Ny0xLjIyOC03LjA3Mi0zLjQ1OC05Ljg1OSAwLS4wMDEgMC0uMDAxIDAtLjAwMWwtMzAuMTc0LTM3LjcxOGg1MS43NjZ6bS0yODMuMi0xNDguMzE3di0xNi41NjdjMC0uNDMxLjM1Mi0uNzgzLjc4My0uNzgzaDY2LjU4OGM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNiA5LjYybDE2Mi41MDggMjAzLjEzNGMuMTEuMTM4LjE3MS4zMTMuMTcxLjQ5djI4Ljc1NGwtMTcxLjg2NS0yMTQuODMyYy00LjU5Mi01Ljc0LTExLjQ0Mi05LjAzMy0xOC43OTMtOS4wMzNoLS42NDItNTcuOTgzYy0uNDMxIDAtLjc4My0uMzUxLS43ODMtLjc4M3ptNTEuMjY3IDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNC4wNjYgMzQ5LjQ2N2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY3di0zMDYuNDgzYzAtLjQzMi4zNTItLjc4NC43ODMtLjc4NGg1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4NCAxNS43ODQgMTUuNzg0aDUwLjQ4NHY2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4MyAxNS43ODQgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTI0MC4yMTd6bTQ3Mi45MzMtLjc4M2MwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTIxNi4xOWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi02Ny4wNWgyMTYuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",nSe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTgsMzAuNTk4aC0xNTJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMjAuMDAxdjc0Ljc5NGgtMTkwDQoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTANCgkJCQloMTMuOTk2VjQ3MS40YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMTgxLjc2YzIuMjU2LDAsNC40NDUtMC43NjMsNi4yMTMtMi4xNjVsMjg2LjI0My0yMjYuOTcyDQoJCQkJYzIuMzkyLTEuODk2LDMuNzg2LTQuNzgyLDMuNzg2LTcuODM1VjgwLjYwMVY0MC41OThDNTExLjk5OCwzNS4wNzUsNTA3LjUyMiwzMC41OTgsNTAxLjk5OCwzMC41OTh6IE0xODkuOTk5LDIwNS4zOTd2LTIwLjAwMg0KCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCQkJYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDEuMDM1djEwOS43MTVMMjEyLjI3MSw0NjEuNEg0My45OTZ2LTYyLjI1M2g0MS4wMzZjNS41MjIsMCwxMC00LjQ3NywxMC0xMHMtNC40NzgtMTAtMTAtMTBINDMuOTk2DQoJCQkJdi0xOC45NTNIMjEwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMXYtODQuNzk2aDE1OS45OTljNS41MjMsMCwxMC00LjQ3NywxMC0xMHYtNDAuMDAyVjkwLjYwMWgxMDEuOTk5VjEwOS44Nzl6DQoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTE0LDM3OS4xNDRoLTAuMjM2Yy01LjUyNCwwLTEwLDQuNDc3LTEwLDEwczQuNDc2LDEwLDEwLDEwSDExNGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwUzExOS41MjIsMzc5LjE0NCwxMTQsMzc5LjE0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyMS45OTgsMTI5Ljg4aDAuMjM1YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBzLTQuNDc4LTEwLTEwLTEwaC0wLjIzNWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMA0KCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",aSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01LjUxOCA2NGgyLjk4NmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMjFoNDQuOTkydjIuMDIxYzAgLjU1My40NDcgMSAxIDFoM2MuNTUzIDAgMS0uNDQ3IDEtMXYtNjAuNWMwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNXYxNS41MDRoLTIuOTk4di0xMy45OTZjMC0uNTUyLS40NDctMS0xLTFoLTE1Ljk5NmMtLjU1MyAwLTEgLjQ0OC0xIDF2MTMuOTk1aC0zLjAwMnYtMTMuOTk1YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtM3YtMTUuNTAzYzAtMS4zNzgtMS4xMjEtMi41LTIuNS0yLjVzLTIuNSAxLjEyMi0yLjUgMi41bC4wMTQgNjAuNWMwIC41NTMuNDQ3IDEgMSAxem01MC45NzgtNjEuNWMwLS4yNzYuMjI1LS41LjUtLjVzLjUuMjI0LjUuNXY1OS41aC0xem0tMTQuOTk4IDIuNTA4aDIuMDAydjEuMDA4aC0yLjAwMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0LjAwMmMuNTUzIDAgMS0uNDQ4IDEtMXYtMi4wMDhoMy45OTh2MTIuOTk1aC0xMy45OTZ6bS0xNS4wMDIgMGgydjEuMDA4aC0yem0tNS45OTYgMGgzLjk5NnYyLjAwOGMwIC41NTIuNDQ3IDEgMSAxaDRjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDR2MTIuOTk1aC0xMy45OTZ6bS01IDE0Ljk5NWg0IDE1Ljk5NiA1LjAwMiAxNS45OTYgMy45OTh2MWgtNDQuOTkyem0wIDNoNDQuOTkydjEzLjk3MWgtMi45OTZ2LTEwLjk5YzAtLjU1Mi0uNDQ3LTEtMS0xaC0zN2MtLjU1MyAwLTEgLjQ0OC0xIDF2MTAuOTkxaC0yLjk5NnptMTkuOTk2IDYuOTgxaDVjLjU1MyAwIDEtLjQ0OCAxLTF2LTJoMTR2OS45OTFoLTM1di05Ljk5MWgxNHYyYzAgLjU1Mi40NDcgMSAxIDF6bTEtMnYtMWgzdjF6bS0yMC45OTYgMTAuOTkxaDMuOTk2IDM3IDMuOTk2djEuMDAyaC00NC45OTJ6bTAgMy4wMDJoNDQuOTkydjE0aC0yLjk5NHYtMTEuOTljMC0uNTUzLS40NDctMS0xLTFoLTE0LjAwMmMtLjU1MyAwLTEgLjQ0Ny0xIDF2MTEuOTloLTIuOTk0di04Ljk4OGMwLS41NTMtLjQ0Ny0xLTEtMWgtNi45OTRjLS4wMDQgMC0uMDA2LS4wMDItLjAxLS4wMDJzLS4wMDYuMDAyLS4wMS4wMDJoLTMuOTgyYy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC02Ljk4NmMtLjU1MyAwLTEgLjQ0Ny0xIDF2OC45ODhoLTN6bTMxLjk5NiA2LjAxN2g0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDhoM3YxMC45OWgtMTIuMDAydi0xMC45OWgzdjIuMDA4YzAgLjU1My40NDcgMSAxIDF6bTEtMnYtMS4wMDhoMi4wMDJ2MS4wMDh6bS0yMiA1aDQuMDAyYy41NTMgMCAxLS40NDcgMS0xdi0yLjAwNmg1LjAwNHY3Ljk4OGgtMTYuMDAydi03Ljk4OGg0Ljk5NnYyLjAwNmMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA2aDIuMDAydjEuMDA2em0tMTEuOTk2IDguOTgzaDQgMTguMDAyIDQuOTk0IDE0LjAwMiAzLjk5NHYxLjAwMmgtNDQuOTkyem0tMi41LTU1Ljk3N2MuMjc1IDAgLjUuMjI0LjUuNXY1OS41aC0uOTg2bC0uMDE0LTU5LjVjMC0uMjc2LjIyNS0uNS41LS41eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",MSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MyAzdi0yaC0zMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2OGMwIC41NTMuNDQ3IDEgMSAxaDF2NTBoLTMydjJoMzMgNCA4IDQgMTN2LTJoLTEydi01aDEydi0yaC0xMy00LTN2LTJoMjB2LTJoLTIxYy0uNTUzIDAtMSAuNDQ3LTEgMXY0YzAgLjU1My40NDcgMSAxIDFoM3Y1aC02di01MGgyNHYtMmgtMjUtNC0xdi02em0tMTYgNTNoMnY1aC0yem0tMTAtNDV2NTBoLTJ2LTUweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNSAxNWgxM2MyLjc1NyAwIDUtMi4yNDMgNS01cy0yLjI0My01LTUtNWMtLjQzOCAwLS44NzcuMDYxLTEuMzAzLjE4LS43NjYtMi40NTUtMy4wMjMtNC4xOC01LjY5Ny00LjE4LTMuMzA5IDAtNiAyLjY5MS02IDYtMi4yMDYgMC00IDEuNzk0LTQgNHMxLjc5NCA0IDQgNHptMC02Yy4yNyAwIC41MzMuMDU0Ljc4My4xNi4zNTIuMTQ3Ljc1Ni4wODUgMS4wNDMtLjE2My4yODgtLjI0OC40MTEtLjYzOS4zMTctMS4wMDctLjA5OC0uMzc3LS4xNDMtLjY5Mi0uMTQzLS45OSAwLTIuMjA2IDEuNzk0LTQgNC00IDIuMDgxIDAgMy43ODQgMS41NzQgMy45NjEgMy42NjIuMDI4LjM0NS4yMzMuNjQ4LjU0LjgwNi4zMDguMTU4LjY3NS4xNDUuOTctLjAzMi40ODMtLjI5Ljk5Ny0uNDM2IDEuNTI5LS40MzYgMS42NTQgMCAzIDEuMzQ2IDMgM3MtMS4zNDYgMy0zIDNoLTEzYy0xLjEwMyAwLTItLjg5Ny0yLTJzLjg5Ny0yIDItMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",cSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",uSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM1OS4yIDB2ODkuOGgtODkuODAxdjg5LjhoLTg5Ljh2ODkuOGgtODkuNzk5djg5LjhoLTg5Ljh2MTQ5LjhoNTA5di01MDl6bTExOS44IDQ3OWgtNDQ5di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",lSe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguOTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzVjQyLjY2Nw0KCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2Nw0KCQkJQzQ4Ni40LDM3Ljk1Niw0ODIuNTc3LDM0LjEzMyw0NzcuODY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywzNTguNEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjINCgkJCVY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywwSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJUzE0MS4yNDQsMjQ3LjQ2NywxMzYuNTMzLDI0Ny40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYNCgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMyw0MTguMTMzaC01MS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTEuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJdi0xNy4wNjdDMzQ5Ljg2Nyw0MjEuOTU2LDM0Ni4wNDQsNDE4LjEzMywzNDEuMzMzLDQxOC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDExOS40NjdjLTQ1LjkzNSwwLTc2LjgsMTcuMTQzLTc2LjgsNDIuNjY3VjE3OS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxNy4wNjd2NzYuOA0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOA0KCQkJYzAtNC43MS0zLjgyMy04LjUzMy04LjUzMy04LjUzM0gyMzAuNHYtOC41MzNjMC0xMi40MDcsMjAuOTMyLTI1LjYsNTkuNzMzLTI1LjZzNTkuNzMzLDEzLjE5Myw1OS43MzMsMjUuNlYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1Nw0KCQkJVjE3MC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzMDQuMjQ3LDg1LjMzMywyOTAuMTMzLDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yDQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjMzMi44QzQ5NC45MzMsMzI4LjA5LDQ5MS4xMSwzMjQuMjY3LDQ4Ni40LDMyNC4yNjd6IE00NzcuODY3LDM1OC40SDE4Ny43MzN2LTE3LjA2N2gyOTAuMTMzDQoJCQlWMzU4LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi02OC4yNjdDNDc3Ljg2NywzOTYuMzU2LDQ3NC4wNDQsMzkyLjUzMyw0NjkuMzMzLDM5Mi41MzN6IE00NjAuOCw0NjAuOEgyMjEuODY3di01MS4ySDQ2MC44DQoJCQlWNDYwLjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",NSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01NS43NTggNjEtMS41NjktNS41N2M0LjA1My0yLjIwNCA2LjgxMS02LjUwMSA2LjgxMS0xMS40M3YtMWMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0ydi0xMGMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yaC0yNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJ2MTBjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjFjMCA0LjkyOSAyLjc1OCA5LjIyNiA2LjgxMSAxMS40M2wtMS41NjkgNS41N2gtMTMuMzQzYy0uNDY1LTIuMjc5LTIuNDg0LTQtNC44OTktNGgtMXYtOS4wMDNjNC42OTMtMS45NjMgOC02LjYgOC0xMS45OTd2LTdoLTE4di00aDR2Mmgydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtNi0xLTFjLTEuMTAzIDAtMiAuODk3LTIgMnY0aC0ydjdjMCA1LjM5NyAzLjMwNyAxMC4wMzQgOCAxMS45OTd2OS4wMDNoLTFjLTIuNDE0IDAtNC40MzQgMS43MjEtNC44OTkgNGgtNS4xMDF2Mmg2NHYtMnptLTIwLjc1OS0zOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDhoNHYtMmgtNHYtMmgyMnYxMGgtMjJ6bS0yLjAwMSA4aDI2LjAwMXYyaC0yNnptMi4wMDEgNXYtMWgyMnYxYzAgNi4wNjUtNC45MzUgMTEtMTEgMTFzLTExLTQuOTM1LTExLTExem02LjY2MSAxMi4yNGMxLjM2LjQ4MyAyLjgxNi43NiA0LjMzOS43NnMyLjk3OS0uMjc3IDQuMzM5LS43NmwxLjM0IDQuNzZoLTExLjM1OHptLTM2LjY2MS0zMS4yNGgxIDF2NGgtMnptMjAgNnYyaC0yMnYtMnptLTIyIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptOCAxMi42MzdjLjk2NS4yMjkgMS45NjYuMzYzIDMgLjM2M3MyLjAzNS0uMTM0IDMtLjM2M3Y4LjM2M2gtNnptLTMgMTAuMzYzaDEyYzEuMzAyIDAgMi40MDIuODM5IDIuODE2IDJoLTE3LjYzMmMuNDE0LTEuMTYxIDEuNTE0LTIgMi44MTYtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtNC41NTYgMTEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC0xLjYyNyAxOC4wNzEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1IDEzaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDUgN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzIDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMTVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTMgMTVoMnYyaC0yeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",LSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",gSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcNCgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Ny44NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNTNDg2LjQsODEuNTEsNDg2LjQsNzYuOFY0Mi42NjcNCgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlWOC41MzNDMTg3LjczMywzLjgyMywxODMuOTEsMCwxNzkuMiwweiBNMTcwLjY2Nyw0OTQuOTMzaC0xNTMuNlYxNy4wNjdoMTUzLjZWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yDQoJCQlWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2Nw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTM2LjUzMywyNDcuNDY3aC0yNS42Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjUuNmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2DQoJCQlDMTE5LjQ2NywyNTEuMjksMTE1LjY0NCwyNDcuNDY3LDExMC45MzMsMjQ3LjQ2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0MS4zMzMsNDE4LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjE3LjA2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzI5OC42NjcsMzcuOTU2LDI5NC44NDQsMzQuMTMzLDI5MC4xMzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDMzY2LjkzMywxMzYuNjEsMzM2LjA2OCwxMTkuNDY3LDI5MC4xMzMsMTE5LjQ2N3ogTTM0OS44NjcsMTcwLjY2N0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NkgyNTZ2LTc2LjgNCgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMw0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2Nw0KCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQlIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM2gtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQloMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3DQoJCQlWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzM2Ni45MzMsMzcuOTU2LDM2My4xMSwzNC4xMzMsMzU4LjQsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzcyLjUxNCw4NS4zMzMsMzU4LjQsODUuMzMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00ODYuNCwzMjQuMjY3SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMDcuMg0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMw0KCQkJVjM1OC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY5LjMzMywzOTIuNTMzaC0yNTZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y2OC4yNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1Ng0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOA0KCQkJVjQ2MC44eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",jSe="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTk0LjgzNiA1OGgtMTE5LjMyOGMtMjQuNDQ1IDAtNDQuMzM2IDE5Ljg4OS00NC4zMzYgNDQuMzM2djExOS4zMjhjMCAyNC40NDcgMTkuODkxIDQ0LjMzNiA0NC4zMzYgNDQuMzM2aDExOS4zMjhjMjQuNDQ1IDAgNDQuMzM2LTE5Ljg4OSA0NC4zMzYtNDQuMzM2di0xMTkuMzI4YzAtMjQuNDQ3LTE5Ljg5MS00NC4zMzYtNDQuMzM2LTQ0LjMzNnptMzYuMzM2IDE2My42NjRjMCAyMC4wMzUtMTYuMzAxIDM2LjMzNi0zNi4zMzYgMzYuMzM2aC0xMTkuMzI4Yy0yMC4wMzUgMC0zNi4zMzYtMTYuMzAxLTM2LjMzNi0zNi4zMzZ2LTExOS4zMjhjMC0yMC4wMzUgMTYuMzAxLTM2LjMzNiAzNi4zMzYtMzYuMzM2aDExOS4zMjhjMjAuMDM1IDAgMzYuMzM2IDE2LjMwMSAzNi4zMzYgMzYuMzM2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA5MGMtNDAuODA1IDAtNzQgMzMuMTk1LTc0IDc0czMzLjE5NSA3NCA3NCA3NCA3NC0zMy4xOTUgNzQtNzQtMzMuMTk1LTc0LTc0LTc0em0wIDE0MGMtMzYuMzkxIDAtNjYtMjkuNjA3LTY2LTY2czI5LjYwOS02NiA2Ni02NiA2NiAyOS42MDcgNjYgNjYtMjkuNjEgNjYtNjYgNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03OS4xNzIgMTM4djMyYzAgMi4yMDkgMS43ODkgNCA0IDRoMTA0YzIuMjExIDAgNC0xLjc5MSA0LTR2LTMyYzAtMi4yMDktMS43ODktNC00LTRoLTEwNGMtMi4yMTEgMC00IDEuNzkxLTQgNHptOCA0aDk2djI0aC05NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjE3MiAxNTEuNDdjLTIuNTAyIDAtNC41MyAyLjAyOC00LjUzIDQuNTMgMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41MyAyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzLS4wMDEtMi41MDItMi4wMjktNC41My00LjUzLTQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUzLjE3MiAxMjguNTNjMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41M3MtMi4wMjgtNC41My00LjUzLTQuNTMtNC41MyAyLjAyOC00LjUzIDQuNTNjMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41M3oiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iMTk5LjE3MiIgY3k9IjM4IiByPSI0Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY0LjgyOCAxMTAgMi44MjgtMi44MjhjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnMtNC4wOTQtMS41NjItNS42NTYgMGwtMi44MjggMi44MjgtMi44MjgtMi44MjhjLTEuNTYyLTEuNTYyLTQuMDk0LTEuNTYyLTUuNjU2IDBzLTEuNTYyIDQuMDk0IDAgNS42NTZsMi44MjggMi44MjgtMi44MjggMi44MjhjLTEuNTYyIDEuNTYyLTEuNTYyIDQuMDk0IDAgNS42NTYuNzgxLjc4MSAxLjgwNSAxLjE3MiAyLjgyOCAxLjE3MnMyLjA0Ny0uMzkxIDIuODI4LTEuMTcybDIuODI4LTIuODI4IDIuODI4IDIuODI4Yy43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS4xNzIgMTk0aC00LjkzNGw1Ljg1OS05Ljc2OGMxLjEzNy0xLjg5NS41MjMtNC4zNTItMS4zNzEtNS40ODgtMS44OTgtMS4xMzctNC4zNTItLjUyMS01LjQ4OCAxLjM3MWwtOS40OTYgMTUuODI2Yy0uNzQyIDEuMjM2LS43NjIgMi43NzUtLjA1MSA0LjAyOXMyLjAzOSAyLjAyOSAzLjQ4IDIuMDI5aDUuNTI3bC01LjEwNSAxMC4yMTFjLS45ODggMS45NzctLjE4OCA0LjM3OSAxLjc4OSA1LjM2Ny41NzQuMjg3IDEuMTg0LjQyMiAxLjc4NS40MjIgMS40NjkgMCAyLjg3OS0uODA5IDMuNTgyLTIuMjExbDgtMTZjLjYyMS0xLjI0LjU1NS0yLjcxMy0uMTc2LTMuODkzLS43MjktMS4xNzYtMi4wMTQtMS44OTUtMy40MDEtMS44OTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTA3LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTkuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYzLjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzUuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",ySe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNC43NSw0MTguNWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNXY3OC41YzAsOS42NzMsMTUsOS42NzMsMTUsMFY0MjZDNTEyLjI1LDQyMS44NTgsNTA4Ljg5Myw0MTguNSw1MDQuNzUsNDE4LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01NC43NSwzNTIuNWg1N2M5LjY3MywwLDkuNjczLTE1LDAtMTVoLTU3QzQ1LjA3NywzMzcuNSw0NS4wNzcsMzUyLjUsNTQuNzUsMzUyLjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTEuNzUsNDE1LjVoLTU3Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoNTdDMTIxLjQyMyw0MzAuNSwxMjEuNDIzLDQxNS41LDExMS43NSw0MTUuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",TSe={Anteroom:Sxe,Attic:kxe,Balcony:vxe,Barn:Yxe,Basement:Qxe,Bathroom:bxe,Bedroom:Uxe,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjM0Ljk2ODc1IDY0Yy0xMy4yNTM5MDYgMC0yNCAxMC43NDYwOTQtMjQgMjRzMTAuNzQ2MDk0IDI0IDI0IDI0IDI0LTEwLjc0NjA5NCAyNC0yNC0xMC43NDYwOTQtMjQtMjQtMjR6bTAgMzJjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDgtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xODYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMTguOTY4NzUgMTkyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzguOTY4NzUgNzJ2MzJoMTZ2LTI0aDE2di0xNmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDY2Ljk2ODc1IDBoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4aC01NnYtNTZoMjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNDhjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE2Yy0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MjE4NzUtMzkuOTcyNjU2LTQwLTQwaC0xNnYtMTZoLTE2djE2aC0xNy43NjE3MTlsLTYuNDgwNDY5LTI1LjkzNzVjLS44ODY3MTgtMy41NjI1LTQuMDg1OTM3LTYuMDYyNS03Ljc1NzgxMi02LjA2MjVoLTQ4Yy0zLjY3MTg3NSAwLTYuODcxMDk0IDIuNS03Ljc2MTcxOSA2LjA2MjVsLTYuNDgwNDY5IDI1LjkzNzVoLTE3Ljc1NzgxMnYtMTZoLTE2djE2aC0xNmMtMjIuMDgyMDMxLjAyNzM0NC0zOS45NzI2NTYgMTcuOTE3OTY5LTQwIDQwdjU2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHY2NGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDI0djIyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtNDEuNzEwOTM4YzEyLjM3MTA5NCA2LjM3NSAyNi4wODIwMzEgOS43MDMxMjYgNDAgOS43MTA5MzhoOHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDhjMTMuOTE0MDYyLS4wMDc4MTIgMjcuNjI4OTA2LTMuMzM1OTM4IDQwLTkuNzEwOTM4djQxLjcxMDkzOGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtMTc2aDU2YzMwLjkxMDE1Ni0uMDM5MDYyIDU1Ljk2MDkzOC0yNS4wODk4NDQgNTYtNTZ2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tODggMTA0djMyaC0xNnYtMzJ6bS0xNjEuNzUzOTA2LTg4aDM1LjUwMzkwNmw0IDE2aC00My41MDM5MDZ6bS05NC4yNDYwOTQgNTZjMC0xMy4yNTM5MDYgMTAuNzQ2MDk0LTI0IDI0LTI0aDE3NmMxMy4yNTM5MDYgMCAyNCAxMC43NDYwOTQgMjQgMjR2NTZoLTIyNHptLTMyIDEyMHYtNDhoMTZ2NDh6bTgwIDI3MmgtODB2LTE2aDgwem0tMzItMzJoLTE2di02OS41NTg1OTRjNC41MzUxNTYgNi40ODQzNzUgOS45MTQwNjIgMTIuMzMyMDMyIDE2IDE3LjM5MDYyNXptMTEyLTE2aC0zMnYtMTZoMzJ6bTEyOCA0OGgtODB2LTE2aDgwem0tMzItMzJoLTE2di01Mi4xNjc5NjljNi4wODIwMzEtNS4wNTg1OTMgMTEuNDY0ODQ0LTEwLjkwNjI1IDE2LTE3LjM5MDYyNXptMC0xMjBjLS4wNDI5NjkgMzkuNzQ2MDk0LTMyLjI1MzkwNiA3MS45NTcwMzEtNzIgNzJoLTgwYy0zOS43NDYwOTQtLjA0Mjk2OS03MS45NTcwMzEtMzIuMjUzOTA2LTcyLTcydi0xNjhoMjI0em0xMTItMTEyYy0uMDI3MzQ0IDIyLjA4MjAzMS0xNy45MjE4NzUgMzkuOTcyNjU2LTQwIDQwaC01NnYtMTZoNTZjMTMuMjUzOTA2IDAgMjQtMTAuNzQ2MDk0IDI0LTI0di0xODRoMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTAgODcuNDMzNTk0IDQwIDE2YzIuOTcyNjU2IDEuMTgzNTk0IDYuMzYzMjgxLjQ4NDM3NSA4LjYyNS0xLjc3NzM0NGwxMS45MTc5NjktMTEuOTIxODc1IDI2Ljg0NzY1NiAxMy40NjQ4NDQgNy4xNTIzNDQtMTQuMzIwMzEzLTMyLTE2Yy0zLjA3ODEyNS0xLjUzNTE1Ni02Ljc5Njg3NS0uOTI5Njg3LTkuMjMwNDY5IDEuNTAzOTA2bC0xMi4yNzM0MzggMTIuMjI2NTYzLTM1LjEwMTU2Mi0xNC4wNDI5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Carport:$xe,Cellar:Pxe,Chamber:Wxe,Corridor:Jxe,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Dining:Bxe,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ny4wMDQgMjc2LjE2OWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNDgzIDMuMzczIDcuNDgzIDcuNTEydjEzNy4zNCAzOS45OTdjMCA0LjEzOS0zLjM0NSA3LjQ4My03LjQ4MyA3LjQ4M2gtNDk3LjAwNGMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4MyAwLTEyNC43NTQgMC0yNDkuNTM2IDAtMzc0LjI5MSAwLTcuNzY3IDMuMTc1LTE0LjgyNSA4LjI3Ny0xOS45MjggNS4xMDMtNS4xMDMgMTIuMTYxLTguMjc3IDE5LjkyOC04LjI3N2gxMjQuMjQ0YzcuOTA5IDAgMTUuMzY0IDMuMzE2IDIwLjcyMiA5LjA5OSA1LjM1Ny01Ljc4MyAxMi44MTItOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDNjNy44ODEgMCAxNS4zNjQgMy4zMTYgMjAuNjkzIDkuMDk5IDUuMzU4LTUuNzgzIDEyLjgxMy05LjA5OSAyMC43MjItOS4wOTloMTI0LjI0NGM3Ljc2NyAwIDE0LjgyNiAzLjE3NSAxOS45MjggOC4yNzcgNS4xMDIgNS4xMDMgOC4yNzcgMTIuMTYxIDguMjc3IDE5LjkyOHYyNS42MjUgMTM3LjM0YzAgNC4xMzktMy4zNDUgNy41MTItNy40ODMgNy41MTItNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTI5Ljg1NWgtNjcuODM1djEyLjkyNmw0Ni44MyAyMy44MzljNC4xOTUgMi4xMjYgNy4xMTUgNS43NTUgOC40NDcgOS44OTQgMS4zNiA0LjEzOSAxLjEzNCA4Ljc4Ny0uOTkyIDEyLjk1NC0xLjQ0NiAyLjgzNS0zLjY1NyA1LjE1OS02LjI5MyA2Ljc3NS0yLjY2NCAxLjY0NC01LjcyNiAyLjUyMy04Ljg3MiAyLjUyM2gtMy4zNDV2OTUuNjEzYzAgNC4xMzktMy4zNDUgNy40ODQtNy40ODQgNy40ODRoLTcxLjE1Yy00LjEzOSAwLTcuNDgzLTMuMzQ1LTcuNDgzLTcuNDg0di0zNC41NTRjMC00LjE2NyAzLjM0NS03LjUxMiA3LjQ4My03LjUxMiA0LjEzOSAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNTEydjI3LjA0M2g1Ni4xMjd2LTg4LjEwMmgtNTYuMTI3djI3LjA3MWMwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjQ4My0zLjM3My03LjQ4My03LjUxMnYtMjcuMDcxaC0zLjM0NWMtNC43MDYgMC04Ljk1Ny0xLjg5OS0xMi4wMTktNC45ODktMy4wOS0zLjA2MS00Ljk4OS03LjMxMy00Ljk4OS0xMi4wMTkgMC0zLjM0NS45OTItNi41MiAyLjY5My05LjE1NiAxLjcyOS0yLjY2NCA0LjEzOS00LjgxOSA2Ljk3NC02LjE4bDQ2LjAzNS0yMy40NDN2LTEzLjEyNGgtNjcuODM0djI5My43MDFoMTUwLjY2M3YtMTI5Ljg1N3ptLTczLjg0My0xMzcuMTk5Yy0uODIyLS41MS0xLjY3Mi0uNTEtMi40OTUgMGwtNDUuNzIzIDIzLjMwMWMtLjkwNy4zNC0xLjQ3NC45MzYtMS40NzQgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTMgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzgtMi42OTNsLTE1LjMzNi03LjgyM2MtOS4wNDMtNC41OTMtMTguMDU3LTkuMTU4LTMwLjctMTUuNjQ5em0tMTY1LjgtLjA4NWMtLjcwOS0uNDI1LTEuNDc0LS40MjUtMi4yNCAwbC00NS44NjUgMjMuMzg2Yy0uODc5LjM0LTEuNDQ2LjkzNi0xLjQ0NiAxLjk1NiAwIDEuMTA1LjkwNyAyLjAxMyAyLjAxMyAyLjAxM2g5Mi44MDdjLjc5NCAwIDEuNDQ2LS4zOTcgMS43ODYtMS4xMDUuNTEtLjk5Mi4xNDItMi4xODMtLjg3OS0yLjY5My0xNS4zOTItNy44MjQtMzAuODEyLTE1LjY0OC00Ni4xNzYtMjMuNTU3em0tMjExLjY2Ni0yNi41NmMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4NHMzLjM3My03LjUxMiA3LjUxMi03LjUxMmg4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM3NCA3LjUxMiA3LjUxMiAwIDQuMTM5LTMuMzczIDcuNDg0LTcuNTEyIDcuNDg0em0wIDEwMS45MzRjLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMC0zMy45ODhjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODNzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNDgzLTcuNTEyIDcuNDgzem0wLTMzLjk1OWMtNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnMzLjM3My03LjQ4MyA3LjUxMi03LjQ4M2g4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjQ4MyAwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyem0yMDIuODIyLTIwLjg2M3YtMTMuMTI0aC02Ny44MzR2MTI5Ljg1N2MwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTYyLjk2N2MwLTMuNjI4LTEuNDc0LTYuOTE3LTMuODgzLTkuMzI2LTIuMzgxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI2LTMuODg0aC0xMjQuMjQ0Yy0zLjYyOCAwLTYuOTE3IDEuNTAyLTkuMzI3IDMuODg0LTIuMzgxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2djE5Mi4zNjFoMTUuMzA4YzYuMDk0IDAgMTEuNTk0IDIuNDY2IDE1LjU5IDYuNDY0IDMuOTk3IDMuOTk3IDYuNDkyIDkuNTI1IDYuNDkyIDE1LjU5djIzLjMwMWMwIDYuMDY3LTIuNDk1IDExLjU5NC02LjQ5MiAxNS41OTFzLTkuNDk2IDYuNDYzLTE1LjU5IDYuNDYzaC0xNS4zMDh2MTA3LjAwOWgxNTAuNjYzdi0xNjkuODI1YzAtNC4xMzkgMy4zNzQtNy41MTIgNy41MTItNy41MTJzNy41MTIgMy4zNzMgNy41MTIgNy41MTJ2MTI5Ljg1NmgxNTAuNjYzdi0yOTMuN2gtNjcuODM0djEyLjkyNmw0Ni42MyAyMy43MjZjNC4xNjcgMi4xMjYgNy4yIDUuNTI4IDguNjQ2IDEwLjAwNyAyLjQ2NiA3LjU2OC0uNTM5IDE1LjU5LTcuMjg1IDE5LjcyOS0yLjY2NCAxLjY0NC01Ljc1NCAyLjUyMy04Ljg3MiAyLjUyM2gtOTIuODA3Yy00LjcwNiAwLTguOTU4LTEuODk5LTEyLjA0Ny00Ljk4OS0zLjA2MS0zLjA2MS00Ljk2LTcuMzEzLTQuOTYtMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MDEtMi42NjQgNC4xMS00LjgxOSA2Ljk3My02LjE4em0tMjMzLjUyMSAxNzIuMzJoNi4wOTRjNC4xMzkgMCA3LjUxMiAzLjM3MyA3LjUxMiA3LjUxMnMtMy4zNzMgNy41MTItNy41MTIgNy41MTJoLTYuMDk0djExLjE5OGgxNS4zMDhjMS45NTYgMCAzLjcxMy0uNzk0IDQuOTg5LTIuMDY5IDEuMjc2LTEuMzA1IDIuMDk4LTMuMDYxIDIuMDk4LTQuOTl2LTIzLjMwMmMwLTEuOTI4LS44MjItMy42ODUtMi4wOTgtNC45ODktMS4yNzUtMS4yNzYtMy4wMzMtMi4wNjktNC45ODktMi4wNjloLTE1LjMwOHptMzMxLjM0NS0yMTguNTU0djE4LjExM2gxNTAuNjYzdi0xOC4xMTNjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjQwOS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNiAzLjg4NC0yLjQxIDIuNDEtMy44ODQgNS42OTgtMy44ODQgOS4zMjZ6bS0xNjUuNjU4IDE4LjExNGgxNTAuNjYzdi0xOC4xMTRjMC0zLjYyOC0xLjUwMi02LjkxNy0zLjg4My05LjMyNi0yLjQxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI3LTMuODg0aC0xMjQuMjQzYy0zLjYyOSAwLTYuOTQ1IDEuNTAyLTkuMzI3IDMuODg0LTIuNDEgMi40MDktMy44ODMgNS42OTctMy44ODMgOS4zMjZ6bTMxNi4zMjEgMzIzLjY5MmgtMzE2LjMyMXYyNC45NzNoMzE2LjMyMnYtMjQuOTczeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Driveway:Rxe,Entrance:Fxe,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjA5Mzc1IDE3NC4yNWMzLjM5NDUzMSAyLjM3ODkwNiA4LjA3MDMxMiAxLjU1MDc4MSAxMC40NDUzMTItMS44Mzk4NDRsMTUuOTUzMTI2LTIyLjc4OTA2MmMyLjM3ODkwNi0zLjM5NDUzMiAxLjU1NDY4Ny04LjA3MDMxMy0xLjgzOTg0NC0xMC40NDUzMTMtMy4zOTQ1MzItMi4zNzUtOC4wNzAzMTMtMS41NTA3ODEtMTAuNDQ1MzEzIDEuODQzNzVsLTE1Ljk1NzAzMSAyMi43ODUxNTdjLTIuMzc1IDMuMzk0NTMxLTEuNTUwNzgxIDguMDcwMzEyIDEuODQzNzUgMTAuNDQ1MzEyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDkuNTg5ODQ0IDEyMS40NDkyMTljLTIuMTQ0NTMyLTMuNTQyOTY5LTYuNzU3ODEzLTQuNjcxODc1LTEwLjMwMDc4Mi0yLjUyNzM0NGwtMjMuNzg5MDYyIDE0LjQyMTg3NWMtMy41NDI5NjkgMi4xNDg0MzgtNC42NzE4NzUgNi43NjE3MTktMi41MjczNDQgMTAuMzA0Njg4IDIuMTUyMzQ0IDMuNTQyOTY4IDYuNzY1NjI1IDQuNjY3OTY4IDEwLjMwNDY4OCAyLjUyMzQzN2wyMy43ODkwNjItMTQuNDE3OTY5YzMuNTQyOTY5LTIuMTQ4NDM3IDQuNjcxODc1LTYuNzYxNzE4IDIuNTIzNDM4LTEwLjMwNDY4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04My42NTIzNDQgMTUyLjE3OTY4OGMyLjc1NzgxMiAxLjM1OTM3NCA2LjExMzI4MSAxLjQwNjI1IDguOTY4NzUgMCA3LTMuNDUzMTI2IDI5LjgzNTkzNy0xNi41MDc4MTMgMjkuODM1OTM3LTM5LjQ2NDg0NCAwLTE4LjIwMzEyNS0yMS4yMTQ4NDMtMjcuMDY2NDA2LTM0LjMxMjUtMTYuMDc0MjE5LTUuMDYyNS00LjI2MTcxOS0xMS45NDE0MDYtNS44OTA2MjUtMTguNzUzOTA2LTQuMDg5ODQ0LTkuMzE2NDA2IDIuNDU3MDMxLTE1LjU3MDMxMyAxMC41NjI1LTE1LjU3MDMxMyAyMC4xNjQwNjMgMCAyMy4wMTU2MjUgMjIuODQzNzUgMzYuMDMxMjUgMjkuODMyMDMyIDM5LjQ2NDg0NHptLTMuNzc3MzQ0LTQyLjM2NzE4OGMxLjM5ODQzOCAyLjQ2ODc1IDQuNDY4NzUgNC42MjUgOC4wMjM0MzggNC43MTA5MzggMy41ODIwMzEuMTEzMjgxIDYuOTcyNjU2LTIuMDQ2ODc2IDguNDYwOTM3LTQuNjUyMzQ0IDMuMDU0Njg3LTUuMzU1NDY5IDExLjA5NzY1Ni0zLjE0NDUzMiAxMS4wOTc2NTYgMi44NDc2NTYgMCAxMi42OTE0MDYtMTMuMzk0NTMxIDIxLjU2NjQwNi0xOS4zMjQyMTkgMjQuODc1LTUuOTI5Njg3LTMuMjkyOTY5LTE5LjMxMjUtMTIuMTQ0NTMxLTE5LjMxMjUtMjQuODc1IDAtNi4wNDI5NjkgOC4wODU5MzgtOC4xMzI4MTIgMTEuMDU0Njg4LTIuOTA2MjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0MS4xNDA2MjUgMTMwLjAyNzM0NGgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNSAwLTQuMTQ0NTMyLTMuMzU1NDY5LTcuNS03LjUtNy41aC0yOS42MzY3MTljLTQuMTQ0NTMxIDAtNy41IDMuMzU1NDY4LTcuNSA3LjUgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTQwNjI1IDE1Ni40Mzc1aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41cy0zLjM1NTQ2OS03LjUtNy41LTcuNWgtMjkuNjM2NzE5Yy00LjE0NDUzMSAwLTcuNSAzLjM1NTQ2OS03LjUgNy41czMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5MC44MjAzMTIgMzEwLjUxNTYyNWgtMjE3LjMyMDMxMmMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzUtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNTAzOTA2IDcuNSA3LjUwMzkwNmgyMTcuMzIwMzEyYzMuNDA2MjUgMCA2LjE3OTY4OCAyLjc2OTUzMSA2LjE3OTY4OCA2LjE3NTc4MXYxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM4IDYuMTc5Njg4LTYuMTc5Njg4IDYuMTc5Njg4LTMuNDQ1MzEyIDAtNDYzLjYwOTM3NCAwLTQ2OS42NDA2MjQgMC0zLjQwNjI1IDAtNi4xNzk2ODgtMi43Njk1MzItNi4xNzk2ODgtNi4xNzk2ODh2LTEzLjY3OTY4OGMwLTMuNDA2MjUgMi43NzM0MzgtNi4xNzU3ODEgNi4xNzk2ODgtNi4xNzU3ODFoMjE3LjMyMDMxMmM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41MDM5MDYgMC00LjE0MDYyNS0zLjM1NTQ2OS03LjUtNy41LTcuNWgtODUuMzU1NDY5Yy41OTc2NTctMS45NTMxMjUuOTI1NzgxLTQuMDI3MzQ0LjkyNTc4MS02LjE3NTc4MXYtMTMuNjc5Njg4YzAtMTEuNjc5Njg3LTkuNS0yMS4xNzk2ODctMjEuMTc5Njg3LTIxLjE3OTY4N2gtMTExLjcxMDkzN2MtMTEuNjc5Njg4IDAtMjEuMTc5Njg4IDkuNS0yMS4xNzk2ODggMjEuMTc5Njg3djEzLjY3OTY4OGMwIDUuMjE0ODQ0IDEuOTAyMzQ0IDkuOTg0Mzc1IDUuMDM5MDYyIDEzLjY3OTY4Ny0zLjEzNjcxOCAzLjY5MTQwNy01LjAzOTA2MiA4LjQ2NDg0NC01LjAzOTA2MiAxMy42NzU3ODF2MTMuNjc5Njg4YzAgMTEuMzI4MTI1IDguOTQ1MzEyIDIwLjU3ODEyNSAyMC4xMzY3MTkgMjEuMTI4OTA2djYuNjA5Mzc1YzAgMTEuNjc5Njg4IDkuNTAzOTA2IDIxLjE3OTY4OCAyMS4xNzk2ODcgMjEuMTc5Njg4aDIwLjcxNDg0NHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44Nzg5MDcgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDMwMi40NjA5Mzh2OTUuMTQwNjI1YzAgNy44Nzg5MDYgNi40MTAxNTYgMTQuMjg5MDYyIDE0LjI5Mjk2OSAxNC4yODkwNjJoMTQuMTUyMzQzYzcuODgyODEzIDAgMTQuMjkyOTY5LTYuNDEwMTU2IDE0LjI5Mjk2OS0xNC4yODkwNjJ2LTk1LjE0MDYyNWgyMC43MTA5MzhjMTEuNjc5Njg3IDAgMjEuMTc5Njg3LTkuNSAyMS4xNzk2ODctMjEuMTc5Njg4di02LjYwOTM3NWMxMS4xOTUzMTMtLjU1MDc4MSAyMC4xNDA2MjUtOS44MDA3ODEgMjAuMTQwNjI1LTIxLjEyODkwNnYtMTMuNjc5Njg4YzAtMTEuNjc1NzgxLTkuNS0yMS4xNzk2ODctMjEuMTc5Njg4LTIxLjE3OTY4N3ptLTQ3NS44MjAzMTItMTkuODU1NDY5YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3OTY4NyA2LjE3OTY4OC02LjE3OTY4N2gxMTEuNzEwOTM3YzMuNDA2MjUgMCA2LjE3OTY4NyAyLjc3MzQzNyA2LjE3OTY4NyA2LjE3OTY4N3YxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM3IDYuMTc5Njg3LTYuMTc5Njg3IDYuMTc5Njg3aC0xMTEuNzEwOTM3Yy0zLjQwNjI1IDAtNi4xNzk2ODgtMi43NzM0MzctNi4xNzk2ODgtNi4xNzk2ODd6bTc0Ljc2NTYyNSAxOTguMDYyNWgtMTIuNzM0Mzc1di05NC40Mjk2ODdoMTIuNzM0Mzc1em0zNDUuMjAzMTI1IDBoLTEyLjczODI4MXYtOTQuNDI5Njg3aDEyLjczODI4MXptNDEuODkwNjI1LTExNS42MDkzNzVjMCAzLjQwNjI1LTIuNzY5NTMxIDYuMTc5Njg4LTYuMTc5Njg3IDYuMTc5Njg4LTEzLjcxNDg0NCAwLTQxNS4wMzUxNTcgMC00MjkuMzYzMjgyIDAtMy40MDYyNSAwLTYuMTc5Njg3LTIuNzczNDM4LTYuMTc5Njg3LTYuMTc5Njg4di02LjU1ODU5M2g0NDEuNzIyNjU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyOC45NjA5MzggMTEyLjUyNzM0NGM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41di00MS4xMzY3MTljMC0xNi4zMTY0MDYtMTMuMjczNDM4LTI5LjU5Mzc1LTI5LjU4OTg0NC0yOS41OTM3NWgtMTc3LjI4MTI1Yy0xNi4zMTY0MDYgMC0yOS41ODk4NDQgMTMuMjczNDM3LTI5LjU4OTg0NCAyOS41OTM3NXYxMTcuMjc3MzQ0YzAgMTYuMzE2NDA2IDEzLjI3MzQzOCAyOS41ODk4NDMgMjkuNTg5ODQ0IDI5LjU4OTg0M2gxNzcuMjgxMjVjMTYuMzE2NDA2IDAgMjkuNTkzNzUtMTMuMjczNDM3IDI5LjU5Mzc1LTI5LjU4OTg0M3YtNDEuMTQwNjI1YzAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNS00LjE0MDYyNiAwLTcuNSAzLjM1OTM3NS03LjUgNy41djQxLjE0MDYyNWMwIDguMDQyOTY5LTYuNTQ2ODc2IDE0LjU4OTg0My0xNC41ODk4NDQgMTQuNTg5ODQzaC0xNzcuMjgxMjVjLTguMDQyOTY5IDAtMTQuNTg5ODQ0LTYuNTQ2ODc0LTE0LjU4OTg0NC0xNC41ODk4NDN2LTExNy4yNzczNDRjMC04LjA0Njg3NSA2LjU0Njg3NS0xNC41OTM3NSAxNC41ODk4NDQtMTQuNTkzNzVoMTc3LjI4MTI1YzguMDQyOTY4IDAgMTQuNTg5ODQ0IDYuNTQ2ODc1IDE0LjU4OTg0NCAxNC41OTM3NXY0MS4xMzY3MTljMCA0LjE0MDYyNSAzLjM1OTM3NCA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMzYuOTQ3Yy0zMS41NzksMC01Ny4yNywyNS42OTEtNTcuMjcsNTcuMjdjMCwzMS41NzksMjUuNjkxLDU3LjI3LDU3LjI3LDU3LjI3YzMxLjU3OCwwLDU3LjI3LTI1LjY5MSw1Ny4yNy01Ny4yNw0KCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcNCgkJCWMwLTIwLjU1MSwxNi43MTktMzcuMjcsMzcuMjctMzcuMjdjMjAuNTUsMCwzNy4yNywxNi43MTksMzcuMjcsMzcuMjdDMTYzLjc2MSwxMTQuNzY4LDE0Ny4wNDIsMTMxLjQ4NywxMjYuNDksMTMxLjQ4N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyNi40OSwwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjEyLjMzOGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwczEwLTQuNDc3LDEwLTEwVjEwQzEzNi40OSw0LjQ3NywxMzIuMDE0LDAsMTI2LjQ5LDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4DQoJCQlDMTM2LjQ5LDE2MC41NzQsMTMyLjAxNCwxNTYuMDk3LDEyNi40OSwxNTYuMDk3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEwLjcwOCw4NC4yMTdIMTk4LjM3Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDEyLjMzOGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTU0LjYxLDg0LjIxN0g0Mi4yNzJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMTIuMzM5YzUuNTIzLDAsMTAtNC40NzcsOS45OTktMTANCgkJCUM2NC42MSw4OC42OTQsNjAuMTM0LDg0LjIxNyw1NC42MSw4NC4yMTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzDQoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjljMi41NTksMCw1LjExOS0wLjk3Niw3LjA3MS0yLjkyOWw5Ljg3Ny05Ljg3N0MyMDQuODgzLDI5Ljk2NiwyMDQuODgzLDIzLjYzNCwyMDAuOTc3LDE5LjcyOQ0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0Mw0KCQkJYzEuOTUyLDEuOTUzLDQuNTEyLDIuOTI5LDcuMDcxLDIuOTI5czUuMTE5LTAuOTc2LDcuMDcyLTIuOTI5bDkuODc3LTkuODc3Qzc5LjkyOCwxNTQuOTIyLDc5LjkyOCwxNDguNTksNzYuMDIzLDE0NC42ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik03Ni4wMjEsMjkuNjA2bC05Ljg3Ny05Ljg3N2MtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwYy0zLjkwNSwzLjkwNi0zLjkwNSwxMC4yMzgsMCwxNC4xNDNsOS44NzcsOS44NzcNCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ1OS41NCw0NjguMzg5Yy0wLjEyOS0wLjY0LTAuMzItMS4yNy0wLjU3LTEuODdjLTAuMjUtMC42LTAuNTYtMS4xOC0wLjkyLTEuNzJjLTAuMzYtMC41NS0wLjc4LTEuMDYtMS4yNC0xLjUzDQoJCQljLTAuNDYtMC40Ni0wLjk3LTAuODctMS41Mi0xLjI0Yy0wLjU0LTAuMzYtMS4xMi0wLjY3LTEuNzMtMC45MmMtMC41OTktMC4yNS0xLjIyOS0wLjQ0LTEuODctMC41N2MtMS4yOS0wLjI2LTIuNjItMC4yNi0zLjkwOSwwDQoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNA0KCQkJYy0wLjQ2LDAuNDctMC44OCwwLjk4LTEuMjUsMS41M2MtMC4zNiwwLjU0LTAuNjcsMS4xMi0wLjkyLDEuNzJjLTAuMjUsMC42LTAuNDQsMS4yMy0wLjU3LDEuODcNCgkJCWMtMC4xMywwLjY1MS0wLjE5LDEuMzAxLTAuMTksMS45NjFjMCwwLjY1LDAuMDYsMS4zMSwwLjE5LDEuOTVjMC4xMywwLjY0LDAuMzIsMS4yNywwLjU3LDEuODdjMC4yNSwwLjYsMC41NiwxLjE4LDAuOTIsMS43Mw0KCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3DQoJCQljMC42NSwwLjEzLDEuMzEsMC4yLDEuOTYsMC4yYzAuNjUsMCwxLjMxLTAuMDcsMS45NDktMC4yYzAuNjQxLTAuMTMsMS4yNy0wLjMyLDEuODctMC41N2MwLjYxLTAuMjUsMS4xOS0wLjU2LDEuNzMtMC45Mg0KCQkJYzAuNTUtMC4zNiwxLjA2LTAuNzgsMS41Mi0xLjI0YzAuNDYtMC40NiwwLjg4LTAuOTgsMS4yNC0xLjUyYzAuMzYxLTAuNTUsMC42Ny0xLjEzLDAuOTItMS43M2MwLjI1LTAuNiwwLjQ0LTEuMjMsMC41Ny0xLjg3DQoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQwOS43MzksNDYwLjM0Nkg2Mi4xMzhjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMzQ3LjZjNS41MjMsMCwxMC00LjQ3NywxMC4wMDEtMTANCgkJCUM0MTkuNzM5LDQ2NC44MjMsNDE1LjI2MSw0NjAuMzQ2LDQwOS43MzksNDYwLjM0NnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkNCgkJCWMzNi40ODItNC45MDIsNjQuNzA0LTM2LjIzNiw2NC43MDQtNzQuMDM3YzAtMTkuNzA5LTcuNzgxLTM4LjUzMS0yMS41MjQtNTIuNDY0YzAuMTg2LTEuODE0LDAuMjc4LTMuNjQxLDAuMjc4LTUuNDY4DQoJCQljMC0yOS40NzctMjMuOTgxLTUzLjQ1OC01My40NTgtNTMuNDU4Yy0yOS40NzcsMC01My40NTgsMjMuOTgyLTUzLjQ1OCw1My40NThjMCwxLjgyNywwLjA5MywzLjY1MywwLjI3Nyw1LjQ2Nw0KCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTINCgkJCWMtMjUuMTI5LDAtNDUuNTczLDIwLjQ0NC00NS41NzMsNDUuNTc0djEuOTY4aC04LjUwNnYtMzUuMTNoMC4wMDFjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtMC4wMDENCgkJCXYtNDcuMzI5YzAtMi44NDQtMS4yMTEtNS41NTMtMy4zMy03LjQ1TDMxNi4yNywyNDYuODZjLTMuNzk3LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LDBsLTI0Ljc4NywyMi4xOTFsLTI0Ljc4OC0yMi4xOTENCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTENCgkJCWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMEw4OS4zOTgsMjY5LjA1TDY0LjYxLDI0Ni44NTljLTMuNzk2LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LTAuMDAxDQoJCQlsLTMxLjQ1OCwyOC4xNjNjLTIuMTE5LDEuODk3LTMuMzMsNC42MDYtMy4zMyw3LjQ1MXY0Ny4zMjloLTAuMDAxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMC4wMDENCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkNCgkJCUM1MTEuNTYzLDQzMi40MDgsNTA3LjA4NSw0MjcuOTMxLDUwMS41NjMsNDI3LjkzMXogTTQ0OS44OSw0MTAuMzkxYzExLjI5NiwwLDIwLjkwNSw3LjM2MiwyNC4yODEsMTcuNTRoLTIzLjQ2MnYtMS45NjgNCgkJCWMwLTUuNDQxLTAuOTU5LTEwLjY2Mi0yLjcxNi0xNS41MDRDNDQ4LjYyLDQxMC40MTQsNDQ5LjI1Myw0MTAuMzkxLDQ0OS44OSw0MTAuMzkxeiBNNDIwLjA4NywxODUuNTc0djMzLjExOGwtMTAuNDA3LTEwLjQwNw0KCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTENCgkJCXYyNi4yNjVjLTI1LjQwNS00LjcxMi00NC43MDQtMjcuMDM5LTQ0LjcwNC01My43ODljMC0xNS44MTYsNi44NDUtMzAuODU0LDE4Ljc3OC00MS4yNTZjMi43NC0yLjM4OCwzLjk2OS02LjA3NSwzLjIwOS05LjYyOQ0KCQkJYy0wLjQ5Mi0yLjI5OS0wLjc0MS00LjY3LTAuNzQxLTcuMDQ3YzAtMTguNDQ5LDE1LjAwOS0zMy40NTgsMzMuNDU4LTMzLjQ1OGMxOC40NDksMCwzMy40NTgsMTUuMDA5LDMzLjQ1OCwzMy40NTgNCgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2DQoJCQljMCwyNi43NS0xOS4yOTksNDkuMDc2LTQ0LjcwNCw1My43ODh2LTI2LjI2NWMwLjQ1My0wLjMyMiwwLjg4Ny0wLjY4NSwxLjI5My0xLjA5MWwyMy4yNTctMjMuMjU3DQoJCQljMy45MDUtMy45MDUsMy45MDUtMTAuMjM3LDAtMTQuMTQzYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBsLTEwLjQwNywxMC40MDd2LTMzLjExOGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwDQoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0DQoJCQljMTQuMTAyLDAsMjUuNTczLDExLjQ3MiwyNS41NzMsMjUuNTc0djEuOTY4aC01MS4xNDZWNDI1Ljk2M3ogTTI4OC4xNDMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTRWMjg2Ljk0MQ0KCQkJeiBNMjI1LjIyNywyODYuOTQxbDIxLjQ1OC0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNVYyODYuOTQxeiBNMTYyLjMxMywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTgsMTkuMjFWMzI5LjhoLTQyLjkxNQ0KCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOA0KCQkJSDM2LjQ4M1YyODYuOTQxeiBNMjYuNDgyLDM0OS44MDFoMzE0LjU3NXYyM0gyNi40ODJWMzQ5LjgwMXogTTMzMS4wNTcsMzkyLjgwMXYzNS4xM2gtNDIuOTE0di0zNS4xM0gzMzEuMDU3eiBNMjY4LjE0MywzOTIuODAxDQoJCQl2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjY4LjE0M3ogTTIwNS4yMjcsMzkyLjgwMXYzNS4xM2gtNDIuOTE1di0zNS4xM0gyMDUuMjI3eiBNMTQyLjMxMywzOTIuODAxdjM1LjEzSDk5LjM5OHYtMzUuMTNIMTQyLjMxM3oNCgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc4LjQ4NywxMjcuODQzYy0wLjU1NiwwLTEuMTEyLDAuMDExLTEuNjY4LDAuMDMzYy03LjU0My0xNC40Mi0yMi41MTktMjMuOTIzLTM4Ljg5NC0yMy45MjMNCgkJCWMtMjAuNTg3LDAtMzguMDQ3LDE0LjY4My00Mi43NzMsMzQuMzQ2Yy0xOS43ODMsMS45My0zNS4zMDksMTkuMDAxLTM1LjMwOSwzOS43MDdjMCwyMS45OTQsMTcuNTE3LDM5Ljg4NywzOS4wNDgsMzkuODg3aDc5LjU5Ng0KCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2DQoJCQljLTEwLjUwMywwLTE5LjA0OC04LjkyMS0xOS4wNDgtMTkuODg3YzAtMTAuOTY3LDguNTQ1LTE5Ljg4OCwxOS4wNDgtMTkuODg4YzEuMDU2LDAsMi4xNDgsMC4wOTksMy4yNDQsMC4yOTYNCgkJCWMyLjg5MywwLjUxNiw1Ljg3LTAuMjY3LDguMTM1LTIuMTQxYzIuMjY1LTEuODc1LDMuNTktNC42NTIsMy42MjMtNy41OTJjMC4xNTMtMTMuNjM1LDEwLjkzMy0yNC43MjgsMjQuMDMyLTI0LjcyOA0KCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0DQoJCQljMTMuMjU2LDAsMjQuMDQxLDExLjIyNiwyNC4wNDEsMjUuMDI1QzMwMi41MjcsMTg2LjY2NywyOTEuNzQzLDE5Ny44OTMsMjc4LjQ4NywxOTcuODkzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gallery:Gxe,Garage:Hxe,Garden:Vxe,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNMjk5LjY2OCwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzgtMTAuMzhoLTU5LjM1NWMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPg0KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRoNTkuNTA0aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUNCgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNEgzOTYuNWg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcNCgkJCWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3di0xMi42M0MyODMuODMyLDQwOC4zNTIsMjgwLjU3LDQwNS4wODksMjc2LjU0NSw0MDUuMDg5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02My42MTggNjItMi43MTgtNS40NDdhMSAxIDAgMCAwIC0uOS0uNTUzaC0xdi0zMGgzdi0yaC0zdi0xOWE1LjAwNiA1LjAwNiAwIDAgMCAtNS01aC0xNGE1LjAwNiA1LjAwNiAwIDAgMCAtNSA1djFhMyAzIDAgMCAwIC0zIDN2MWgtNWEzIDMgMCAwIDAgLTMgM3YyYTEgMSAwIDAgMCAxIDFoMTV2LTJoLTE0di0xYTEgMSAwIDAgMSAxLTFoMThhMSAxIDAgMCAxIDEgMXYxaC00djJoNWExIDEgMCAwIDAgMS0xdi0yYTMgMyAwIDAgMCAtMy0zaC01di0xYTMgMyAwIDAgMCAtMy0zdi0xYTMgMyAwIDAgMSAzLTNoMTRhMyAzIDAgMCAxIDMgM3YxOWgtNXYyaDV2MTRoLTN2LTJoLTJ2Nmgydi0yaDN2MTRoLTFhMSAxIDAgMCAwIC0uOS41NTNsLTIuNzE4IDUuNDQ3aC01Mi4zODJ2Mmg2NHYtMnptLTI1LjYxOC01M3YxaC00di0xYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxem0xOC42MTggNDloMi43NjRsMiA0aC02Ljc2NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMjljNC40ODYgMCA4LTUuMjcxIDgtMTJzLTMuNTE0LTEyLTgtMTItOCA1LjI3MS04IDEyIDMuNTE0IDEyIDggMTJ6bTAtMjJjMy4yNTIgMCA2IDQuNTc5IDYgMTBzLTIuNzQ4IDEwLTYgMTAtNi00LjU3OS02LTEwIDIuNzQ4LTEwIDYtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01LjA5NSAxMy41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtNy4xOTcgOS4xMjIpIi8+DQogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ1NiwzMjhhNDAuMDM3LDQwLjAzNywwLDAsMC04LC44MDQ5M1YxNDRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLTIuMzQzODEtNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLTIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCw0NDgsMTEyVjg4aDQwYTcuOTk5NDYsNy45OTk0NiwwLDAsMCw2Ljk0NTgtMTEuOTY4NzVsLTMyLTU2QTcuOTk4NjMsNy45OTg2MywwLDAsMCw0NTYsMTZIMzg0YTcuOTk4NjMsNy45OTg2MywwLDAsMC02Ljk0NTgsNC4wMzEyNWwtMzIsNTZBNy45OTk0Niw3Ljk5OTQ2LDAsMCwwLDM1Miw4OGg0MHYyNGE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsMi4zNDM4MSw1LjY1NzQ3LDE0LjY0NTM1LDE0LjY0NTM1LDAsMCwxLDAsMjAuNjg1MDZBNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDM5MiwxNDRWMzIwSDMxMlYyODhoMjRhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYyNDhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLTgtOEgzMTJWMjE2aDQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMTEyYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjA4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2OTZhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOGg0OHYyNEgyMDUuNDE2MDhsLTEzLjYwNTUzLTM0LjAxNDY1LTQuOTc0MTItMzkuNzkzQTU2LjUzMTQ4LDU2LjUzMTQ4LDAsMCwwLDE4NCwxNTQuMjZWODBBNjQsNjQsMCwwLDAsNTYsODB2NTIuODI4NjFBNTYuMDQxOTMsNTYuMDQxOTMsMCwwLDAsMzMuNTk0MjQsMTYxLjkxOWwtMTcuMTgzNiw1MS41NTA3OGE3Ljk5OCw3Ljk5OCwwLDAsMC0uMTcxODcsNC40NzA3bDUuNTkxMzcsMjIuMzY1NDhBNy45OTc0NSw3Ljk5NzQ1LDAsMCwwLDE2LDI0OFY0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOEg0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYzNjhBNDAuMDQ1NTIsNDAuMDQ1NTIsMCwwLDAsNDU2LDMyOFptMjQsNDB2NTZINDMyVjM2OGEyNCwyNCwwLDAsMSw0OCwwWk0yNjQsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDQwOGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wk05Niw0MjRWNDAwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThIMjQwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LDh2MjRabTMyMC04MHYzMy4zNzYyMkEyMy44ODIxMiwyMy44ODIxMiwwLDAsMCw0MDgsMzc2SDI3MmEyMy45MDExMSwyMy45MDExMSwwLDAsMC0xNiw2LjEzMDg2QTIzLjkwMTExLDIzLjkwMTExLDAsMCwwLDI0MCwzNzZIMTA0YTIzLjg4MjEyLDIzLjg4MjEyLDAsMCwwLTgsMS4zNzYyMlYzNDRhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhBOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDQxNiwzNDRabTEwLjQ1MTcyLTIwOEg0MTMuNTQ4MjhhMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsMC0xNmgxMi45MDM0NEEzMC44NDM1MSwzMC44NDM1MSwwLDAsMCw0MjYuNDUxNzIsMTM2Wk0zODguNjQyNTgsMzJoNjIuNzE0ODRsMjIuODU2OTQsNDBIMzY1Ljc4NTY0Wk00MzIsODh2MTZINDA4Vjg4Wm0tMjQsNjRoMjRWMzM2LjAyMmMtLjM2NjMzLjI3NTY0LS43MjQxOC41NjItMS4wODA2OS44NDk2MUEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMCw0MDgsMzIwWk0yOTYsMzIwSDEwNGEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMC0yMi45MTkzMSwxNi44NzE1OEEzOS45LDM5LjksMCwwLDAsMzIsMzM2LjAyMlYyODhIMjk2Wm0zMi00OEgzMlYyNTZIMzI4Wk03MiwyNDBINjRWMjI1LjU0MWw3LjMxNjg5LTE4LjI5Mkw3MiwyMDkuMjk3ODVabTg4LS4wMDAyNC4wMDAyNC4wMDAyNEgxNjBaTTIxNiwyMDBWMTIwSDM1MnY4MEgzMTJWMTY4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjY0YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2MzJabTU2LTI0aDI0djY0SDI3MlpNMTIwLDMyYTQ4LjA1NCw0OC4wNTQsMCwwLDEsNDgsNDh2NTAuODUzNTJhNTYuNzI1NjIsNTYuNzI1NjIsMCwwLDAtNy45MTk5Mi01LjczNTM2bC0xMS40NDE2NS02Ljg2NUEzMS43OTQwNSwzMS43OTQwNSwwLDAsMCwxNTIsMTA0VjgwYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThoLTYuMTExMzNhMjAuODMwNTMsMjAuODMwNTMsMCwwLDEtMTguNzMzNC0xMS41NzgxMiw4LjAwMDY0LDguMDAwNjQsMCwwLDAtMTIuODEyLTIuMDc5MTFsLTE2LDE2QTguMDAwNzYsOC4wMDA3NiwwLDAsMCw4OCw4MHYyNGEzMS44MDE4OCwzMS44MDE4OCwwLDAsMCwyLjc1NzUxLDEyLjk3MTE5TDcyLDEyNS4wMVY4MEE0OC4wNTQsNDguMDU0LDAsMCwxLDEyMCwzMlptMTYsNzJhMTYsMTYsMCwwLDEtMzIsMFY4My4zMTM0OGw2Ljk0Njc4LTYuOTQ2MjlBMzYuNjk4MTYsMzYuNjk4MTYsMCwwLDAsMTM2LDg3Ljk1MzEyWm0tMzQuNzcxOTEsMjUuODkyMDlhMzEuOTE2MTMsMzEuOTE2MTMsMCwwLDAsMzYuNzA0NDcuNTk3MTdsMS4yMzcxOC43NDI0M0wxMjAsMTU1LjE5MzM2bC0xOS44NjYyNy0yNC44MzIyOFpNNDguNzczLDE2Ni45Nzk0OUE0MC4wMzUzOCw0MC4wMzUzOCwwLDAsMSw3MC45NjM4NywxNDIuODYyM2wxMy45MTE2Mi01Ljk2MTkxLDI4Ljg3NzQ0LDM2LjA5NjY4YTcuOTk5NDMsNy45OTk0MywwLDAsMCwxMi40OTQxNCwwTDE1Mi45OSwxMzkuNTY4MzZhMzkuNzI3NzksMzkuNzI3NzksMCwwLDEsMTcuOTY5NDgsMjguNjA4NGw1LjEwMjU0LDQwLjgxNTQzYTcuOTgyODEsNy45ODI4MSwwLDAsMCwuNTEwMjYsMS45Nzg1MUwxODguMTgzNTksMjQwSDE4MGwtMjAtMjYuNjY3VjIwMS44MDY2NGE1MC44MjMzOCw1MC44MjMzOCwwLDAsMCwxLjkzMjYyLTM3LjMwNzYybC0yLjM0MzI2LTcuMDI5MjktMTUuMTc4NzIsNS4wNjA1NCwyLjM0MzI3LDcuMDI5M2EzNC45NTUxMywzNC45NTUxMywwLDAsMS0xLjkwOTE4LDI2Ljg2MjMxQTcuOTk5MzQsNy45OTkzNCwwLDAsMCwxNDQsMjAwdjQwSDg4VjIwOGE4LjAwNjQzLDguMDA2NDMsMCwwLDAtLjQxMDY0LTIuNTMwMjdsLTgtMjRhOC4wMDAwOSw4LjAwMDA5LDAsMCwwLTE1LjAxNzA5LS40NDA0M2wtMTYsNDBBNy45OTcyMyw3Ljk5NzIzLDAsMCwwLDQ4LDIyNHYxNkgzOC4yNDYwOWwtNS45MTk5Mi0yMy42ODA2NlpNMzIsMzY4YTI0LDI0LDAsMCwxLDQ4LDB2NTZIMzJaTTQ4MCw0ODBIMzJWNDQwSDQ4MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Gym:Zxe,Hall:Xxe,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICA8cGF0aCBkPSJtMjgyLjUxOTUzMSAzMzMuOTg4MjgxYy00LjE3MTg3NSAwLTcuNTQ2ODc1IDMuMzc4OTA3LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjkgMy4zNzUgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoMTE0LjMzOTg0NGM3LjA4MjAzMSAwIDEyLjg0Mzc1LTUuNzYxNzE5IDEyLjg0Mzc1LTEyLjg0NzY1NnYtMTkxLjkyOTY4N2MwLTcuMDgyMDMyLTUuNzYxNzE5LTEyLjg0NzY1Ny0xMi44NDM3NS0xMi44NDc2NTdoLTI4MS43MTg3NWMtNy4wODIwMzEgMC0xMi44NDM3NSA1Ljc2NTYyNS0xMi44NDM3NSAxMi44NDc2NTd2MTkxLjkyOTY4N2MwIDcuMDg1OTM3IDUuNzYxNzE5IDEyLjg0NzY1NiAxMi44NDM3NSAxMi44NDc2NTZoMTM3LjE5MTQwNmM0LjE2Nzk2OSAwIDcuNTQ2ODc1LTMuMzc4OTA2IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjgtMy4zNzg5MDYtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTEzNC45NDUzMTJ2LTE4Ny40Mzc1aDI3Ny4yMjY1NjJ2MTg3LjQzNzV6bTAgMCIvPg0KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4NCiAgICA8cGF0aCBkPSJtNDYyLjczODI4MS41Yy0yNy4xNjQwNjIgMC00OS4yNjk1MzEgMjIuMTA1NDY5LTQ5LjI2OTUzMSA0OS4yNjk1MzF2NTYuMzA0Njg4Yy01LjY1MjM0NC0xLjM2NzE4OC02LjA0Mjk2OS0uNTM1MTU3LTU0LjMzMjAzMS0uNzc3MzQ0LTQuMTY0MDYzIDAtNy41NDI5NjkgMy4zODI4MTMtNy41NDI5NjkgNy41NDY4NzVzMy4zNzg5MDYgNy41NDY4NzUgNy41NDI5NjkgNy41NDY4NzVoNDcuNzIyNjU2YzcuNzMwNDY5IDAgMTMuOTE0MDYzIDYuMzA0Njg3IDEzLjkxNDA2MyAxMy45MTQwNjN2MjExLjkzMzU5M2MwIDcuNjY0MDYzLTYuMjQ2MDk0IDEzLjkxNDA2My0xMy45MTQwNjMgMTMuOTE0MDYzLTU5LjQxNzk2OSAwLTIzMS41NTQ2ODcgMC0zMDEuNzE4NzUgMC03LjY2Nzk2OSAwLTEzLjkxNDA2My02LjI1LTEzLjkxNDA2My0xMy45MTQwNjMgMC0xMC43NDYwOTMgMC0yMDQuNTg5ODQzIDAtMjExLjkzMzU5MyAwLTUuMjczNDM4IDIuOTU3MDMyLTkuODc4OTA3IDcuMzA0Njg4LTEyLjI0NjA5NCA1Ljg0Mzc1LTMuMTc1NzgyLTQuMjQyMTg4LTEuMDQ2ODc1IDIzMC40MjE4NzUtMS42Njc5NjkgNC4xNzU3ODEgMCA3LjU0Njg3NS0zLjM4MjgxMyA3LjU0Njg3NS03LjU0Njg3NXMtMy4zNzEwOTQtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVjLTIzNi4zNTE1NjMuMjczNDM3LTIyNC41NTA3ODEtLjY0NDUzMS0yMzAuNDIxODc1Ljc3NzM0NHYtNTYuMzA0Njg4YzAtMjcuMTY0MDYyLTIyLjEwNTQ2OS00OS4yNjk1MzEtNDkuMjY5NTMxLTQ5LjI2OTUzMS0yMi43Njk1MzEgMC00Mi40NDkyMTkgMTUuNDMzNTk0LTQ3Ljg2MzI4MSAzNy41MjczNDQtLjk4NDM3NiA0LjA1NDY4NyAxLjUgOC4xNDA2MjUgNS41NDI5NjggOS4xMjUgNC4wNDY4NzUuOTg4MjgxIDguMTI4OTA2LTEuNDg4MjgyIDkuMTI1LTUuNTMxMjUgMy43NDYwOTQtMTUuMzI0MjE5IDE3LjM5ODQzOC0yNi4wMzEyNSAzMy4xOTUzMTMtMjYuMDMxMjUgMTguODQzNzUgMCAzNC4xNzU3ODEgMTUuMzM1OTM3IDM0LjE3NTc4MSAzNC4xNzk2ODd2NjUuMzE2NDA3Yy0zLjExMzI4MSAzLjUxMTcxOC01LjM5MDYyNSA3Ljc3MzQzNy02LjUxMTcxOSAxMi40ODA0NjgtMi42NzE4NzUtMTIuODI0MjE4LTE0LjA1ODU5My0yMi40ODgyODEtMjcuNjY0MDYyLTIyLjQ4ODI4MS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc5Njg3LTI4LjI1MzkwNyAyOC4yNTc4MTMgMCAxNS41NzgxMjQgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMTA5MzggMjYuODcxMDkzLTE5LjUzMTI1djYxLjM5ODQzOGMtMy42ODM1OTMtMTEuMzIwMzEzLTE0LjMzNTkzNy0xOS41MjczNDQtMjYuODcxMDkzLTE5LjUyNzM0NC0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgxLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzEgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djYxLjQwMjM0NGMtMy42ODM1OTMtMTEuMzI0MjE4LTE0LjMzNTkzNy0xOS41MzEyNS0yNi44NzEwOTMtMTkuNTMxMjUtMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjUzOTA2IDAgMTUuNTgyMDMyIDEyLjY3NTc4MiAyOC4yNTc4MTMgMjguMjUzOTA3IDI4LjI1NzgxMyAxMi41MzUxNTYgMCAyMy4xODc1LTguMjA3MDMxIDI2Ljg3MTA5My0xOS41MzEyNXYxNy4wODk4NDRjLTIwLjEwNTQ2OCAyNS41MzEyNS02MS4wMzkwNjIgMTEuMTI1LTYxLjAzOTA2Mi0yMS4wOTc2NTd2LTIyNS44NDM3NWMwLTQuMTc1NzgxLTMuMzgyODEyLTcuNTQ2ODc0LTcuNTQ2ODc1LTcuNTQ2ODc0LTQuMTc1NzgxIDAtNy41NDY4NzUgMy4zNzEwOTMtNy41NDY4NzUgNy41NDY4NzR2MjI1Ljg0Mzc1YzAgMjQuNjAxNTYzIDE4LjEyMTA5NCA0NS4wNTA3ODIgNDEuNzE4NzUgNDguNjk1MzEzdjYyLjUyNzM0NGgtMTguOTY0ODQ0Yy00LjE2Nzk2OCAwLTcuNTQ2ODc1IDMuMzc4OTA2LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjggMy4zNzg5MDcgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoNTMuMDE5NTMyYzQuMTY3OTY4IDAgNy41NDY4NzQtMy4zNzg5MDcgNy41NDY4NzQtNy41NDY4NzUgMC00LjE2Nzk2OS0zLjM3ODkwNi03LjU0Njg3NS03LjU0Njg3NC03LjU0Njg3NWgtMTguOTY0ODQ0di02Mi41MzEyNWM3LjA0Mjk2OC0xLjA4NTkzOCAxMy41OTc2NTYtMy42Njc5NjkgMTkuMzI0MjE4LTcuNDEwMTU3djkuMTk5MjE5YzAgMTUuOTg0Mzc1IDEzLjAxOTUzMiAyOS4wMDM5MDcgMjkuMDA3ODEzIDI5LjAwMzkwN2g0NS44MjAzMTN2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzQgMTEuNDEwMTU2IDExLjM5ODQzNyAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM4LTUuMTIxMDkzIDExLjM5ODQzOC0xMS40MTAxNTZ2LTM1Ljg5ODQzN2gxMjIuMjI2NTYydjM1Ljg5ODQzN2MwIDYuMjg5MDYzIDUuMTA5Mzc1IDExLjQxMDE1NiAxMS4zOTg0MzggMTEuNDEwMTU2aDIxLjEyODkwNmM2LjI4OTA2MyAwIDExLjM5ODQzNy01LjEyMTA5MyAxMS4zOTg0MzctMTEuNDEwMTU2di0zNS44OTg0MzdoNDUuODIwMzEzYzE1Ljk4ODI4MSAwIDI5LjAwNzgxMy0xMy4wMTk1MzIgMjkuMDA3ODEzLTI5LjAwMzkwN3YtOS4xOTkyMTljNS43MjY1NjIgMy43NDIxODggMTIuMjgxMjUgNi4zMjQyMTkgMTkuMzI0MjE4IDcuNDEwMTU3djYyLjUzMTI1aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzQgMy4zNzg5MDYtNy41NDY4NzQgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Njg3NCA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NS0zLjM3ODkwNyA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA3LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUyNzM0NGMyMy41OTc2NTYtMy42NDQ1MzEgNDEuNzE4NzUtMjQuMDkzNzUgNDEuNzE4NzUtNDguNjk1MzEzdi0yNDUuOTg4MjgxYzAtMjcuMTY0MDYyLTIyLjA5Mzc1LTQ5LjI2OTUzMS00OS4yNjE3MTktNDkuMjY5NTMxem0tNDEzLjQ3NjU2MiAxNDZjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2NDA2MiAwLTcuMjU3ODEzIDUuOTA2MjUtMTMuMTY0MDYzIDEzLjE2NDA2My0xMy4xNjQwNjMgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYzIDAgNy4yNTc4MTItNS45MDYyNSAxMy4xNjQwNjItMTMuMTY0MDYyIDEzLjE2NDA2MnptMCA3OC44NTU0NjljLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMCA3OC44NTE1NjJjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMTMwLjUzNTE1NiAxMDMuMjUzOTA3aC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTY2LjE1MjM0NCAwaC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTUwLjk1NzAzMS0xMTEuNzAzMTI2YzAgMzIuMjM4MjgyLTQwLjk0MTQwNiA0Ni42MjEwOTQtNjEuMDM5MDYyIDIxLjA5NzY1N3YtMTcuMDg1OTM4YzMuNjgzNTkzIDExLjMyMDMxMyAxNC4zMzU5MzcgMTkuNTI3MzQ0IDI2Ljg3MTA5MyAxOS41MjczNDQgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEzIDAtMTUuNTc4MTI0LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzItMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk0NTMxYzMuNjgzNTkzIDExLjMyMDMxMiAxNC4zMzU5MzcgMTkuNTI3MzQzIDI2Ljg3MTA5MyAxOS41MjczNDMgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI1LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzEtMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk4NDM4YzMuNjgzNTkzIDExLjMyNDIxOSAxNC4zMzU5MzcgMTkuNTMxMjUgMjYuODcxMDkzIDE5LjUzMTI1IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1NzgxMiAwLTE1LjU3ODEyNi0xMi42NzU3ODItMjguMjUzOTA3LTI4LjI1MzkwNy0yOC4yNTM5MDctMTMuNjA1NDY5IDAtMjQuOTkyMTg3IDkuNjYwMTU3LTI3LjY2NDA2MiAyMi40ODQzNzUtMS4xMjEwOTQtNC43MDcwMzEtMy4zOTg0MzgtOC45Njg3NS02LjUxMTcxOS0xMi40NzY1NjJ2LTY1LjMyMDMxM2MwLTE4Ljg0Mzc1IDE1LjMzMjAzMS0zNC4xNzk2ODcgMzQuMTc5Njg4LTM0LjE3OTY4NyAxOC44NDM3NSAwIDM0LjE2Nzk2OCAxNS4zMzU5MzcgMzQuMTY3OTY4IDM0LjE3OTY4N3YyNDUuOTg4Mjgxem0tNDcuMzMyMDMxLTQuNzE4NzVjMC03LjI1NzgxMiA1LjkwNjI1LTEzLjE2NDA2MiAxMy4xNjQwNjItMTMuMTY0MDYyIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MiAwIDcuMjYxNzE5LTUuOTA2MjUgMTMuMTY3OTY5LTEzLjE2NDA2MyAxMy4xNjc5NjktNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY3OTY5em0wLTc4Ljg1MTU2MmMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYyLTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjMgMTMuMTY0MDYyLTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2NDA2MnptMCAwIi8+DQogICAgPHBhdGggZD0ibTQ2Mi43MzgyODEgMjYuMjI2NTYyYy0xNS41ODIwMzEgMC0yOC4yNTc4MTIgMTIuNjc1NzgyLTI4LjI1NzgxMiAyOC4yNTc4MTMgMCAxNS41NzgxMjUgMTIuNjc1NzgxIDI4LjI1MzkwNiAyOC4yNTc4MTIgMjguMjUzOTA2IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1MzkwNiAwLTE1LjU4MjAzMS0xMi42NzU3ODItMjguMjU3ODEzLTI4LjI1MzkwNy0yOC4yNTc4MTN6bTAgNDEuNDIxODc2Yy03LjI2MTcxOSAwLTEzLjE2Nzk2OS01LjkwNjI1LTEzLjE2Nzk2OS0xMy4xNjQwNjMgMC03LjI2MTcxOSA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjc5NjktMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTAyMzQ0IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMy01LjkwNjI1IDEzLjE2NDA2My0xMy4xNjQwNjMgMTMuMTY0MDYzem0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Kitchen:Kxe,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSAyaC01OGMtLjU1MiAwLTEgLjQ0OC0xIDF2NThjMCAuNTUyLjQ0OCAxIDEgMWg1OGMuNTUyIDAgMS0uNDQ4IDEtMXYtNThjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDZoLTR2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTZjLS41NTIgMC0xIC40NDgtMSAxdjJoLTNjLS41NTIgMC0xIC40NDgtMSAxdjloLTJ2LTE0aDE4em0tMTIuMTQyIDMxLTEuNjkyLTExaDkuNjY5bC0xLjY5MiAxMXptMS4xNDItMTNjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptOC43NTkuMzQ5Yy0uMTktLjIyMi0uNDY3LS4zNDktLjc1OS0uMzQ5aC0yYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0aC0yYy0uMjkyIDAtLjU2OS4xMjctLjc1OS4zNDlzLS4yNzQuNTE1LS4yMjkuODAzbDEuODIzIDExLjg0OGgtMy44MzV2LTE5aDE4djE5aC0zLjgzNWwxLjgyMy0xMS44NDhjLjA0NS0uMjg4LS4wMzktLjU4Mi0uMjI5LS44MDN6bS03Ljc1OS0xNy4zNDl2LTJoNHYxMWgtNHptLTIgOWgtMnYtOGgyem04IDB2LThoNHY4em0tMTYtMTR2MTRoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtN2MwLS4yNjUtLjEwNS0uNTItLjI5My0uNzA3bC0xLjcwNy0xLjcwN3YtMi41ODZjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjIuNTg2bC0xLjcwNyAxLjcwN2MtLjE4OC4xODctLjI5My40NDItLjI5My43MDd2N2gtMnYtMTBjMC0uNTUyLS40NDgtMS0xLTFoLThjLS41NTIgMC0xIC40NDgtMSAxdjEwaC0ydi0xNHptLTQgMTRoLTR2LTloNHptLTExLjcwNy04LjI5MyAxLjcwNyAxLjcwN3Y2LjU4NmgtNnYtNi41ODZsMS43MDctMS43MDdjLjE4OC0uMTg3LjI5My0uNDQyLjI5My0uNzA3di0yaDJ2MmMwIC4yNjUuMTA1LjUyLjI5My43MDd6bS0xMC4yOTMgOC4yOTNoLTZ2LTloNnptLTEwIDJoMzZ2NDBoLTM2em00NSAyOGgtMnYtMWgyem0tMyAyaDQuNjQ5bDQuMzUxIDMuNDh2Ni41MmgtOXptMTEgMTB2LTdjMC0uMzA0LS4xMzgtLjU5MS0uMzc1LS43ODFsLTUtNGMtLjE3OC0uMTQyLS4zOTgtLjIxOS0uNjI1LS4yMTl2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjJjLS41NTIgMC0xIC40NDgtMSAxdjExaC0ydi0xOWgxOHYxOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMiAzM2MtNi4wNjUgMC0xMSA0LjkzNS0xMSAxMXM0LjkzNSAxMSAxMSAxMSAxMS00LjkzNSAxMS0xMS00LjkzNS0xMS0xMS0xMXptMCAyMGMtNC45NjIgMC05LTQuMDM4LTktOXM0LjAzOC05IDktOSA5IDQuMDM4IDkgOS00LjAzOCA5LTkgOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI2LjE5OSA0OC4yODYgMS4zOTkgMS40MjljLjY3Ny0uNjYzIDEuMjI2LTEuNDMyIDEuNjMxLTIuMjg2bC0xLjgwNy0uODU3Yy0uMzAzLjYzOS0uNzE0IDEuMjE2LTEuMjIzIDEuNzE0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0IDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NC41IDI3Ny42NjdoLTUuNXYtMzYuNWMwLTE1LjE2NC0xMi4zMzYtMjcuNS0yNy41LTI3LjVoLTExMGMtNy44NzUgMC0xNC45ODIgMy4zMzItMjAgOC42NTUtNS4wMTgtNS4zMjItMTIuMTI1LTguNjU1LTIwLTguNjU1aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtNDAuNWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWg0MC41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2NzcuMDE4Yy0zLjc1My0xLjkyNC04LTMuMDE4LTEyLjUtMy4wMThoLTEwMS41di0yMGMwLTkuNjQ5LTcuODUxLTE3LjUtMTcuNS0xNy41aC0zLjV2LTM2LjVjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgzNC41YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zNC41Yy0xNS4xNjQgMC0yNy41IDEyLjMzNi0yNy41IDI3LjV2MzYuNWgtNi41Yy05LjY0OSAwLTE3LjUgNy44NTEtMTcuNSAxNy41djQyLjVjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtNDIuNWMwLTEuMzc4IDEuMTIyLTIuNSAyLjUtMi41aDI1YzEuMzc4IDAgMi41IDEuMTIyIDIuNSAyLjV2MTQwLjVoLTI3LjVjLTEuMzc4IDAtMi41LTEuMTIyLTIuNS0yLjV2LTYwLjVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NjAuNWMwIDkuNjQ5IDcuODUxIDE3LjUgMTcuNSAxNy41aDI3LjV2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDMyMnYxNC42NjdjMCA2Ljg5MyA1LjYwNyAxMi41IDEyLjUgMTIuNWgyNWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di0xNC42NjdoMjcuNWM5LjY0OSAwIDE3LjUtNy44NTEgMTcuNS0xNy41di0xMzhjMC05LjY1LTcuODUxLTE3LjUtMTcuNS0xNy41em0tMTQzLTQ5aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djM2LjVoLTQuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXYyMGgtMTAwLjVjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tMjkxLjUgMjA3di0xNWgzMjZjNC4xNDIgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTMyNnYtMTUuNWgxMDEuNWM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTEwYzcuODc1IDAgMTQuOTgyLTMuMzMyIDIwLTguNjU1IDUuMDE4IDUuMzIyIDEyLjEyNSA4LjY1NSAyMCA4LjY1NWgxMDAuNXYxNS41aC0zMWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWgzMXYxNXptMzkyLTYwLjVoLTEwMC41Yy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDEwMC41em0tMTI4LTEyLjVjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTEwYy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41em0tMTIyLjUtMTM0aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMTBjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tNDAgMTAxLjVjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYyMGMwIDYuODkzLTUuNjA3IDEyLjUtMTIuNSAxMi41aC0xMDEuNXYtNDV6bS04MS41IDEzMi42NjZoLTIwdi0xMi4xNjdoMjB6bTM1MiAwdi0xMi4xNjdoMjB2MTIuMTY3em02NS0yOS42NjZjMCAxLjM3OC0xLjEyMiAyLjUtMi41IDIuNWgtMjcuNXYtMTQwLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYyIDE3My42NjdoODljNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtNTZjMC02Ljg5My01LjYwNy0xMi41LTEyLjUtMTIuNWgtODljLTYuODkzIDAtMTIuNSA1LjYwNy0xMi41IDEyLjV2NTZjMCA2Ljg5MiA1LjYwNyAxMi41IDEyLjUgMTIuNXptMi41LTY2aDg0djUxaC04NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC40OSAxMzAuMTY3aDExMi4wMmM2Ljg4NyAwIDEyLjQ5LTUuNjAzIDEyLjQ5LTEyLjQ5di0xNi41NDljMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MTQuMDM5aC0xMDd2LTY2aDEwN3YxNi45NjFjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMTkuNDcyYzAtNi44ODctNS42MDMtMTIuNDktMTIuNDktMTIuNDloLTExMi4wMmMtNi44ODcgMC0xMi40OSA1LjYwMy0xMi40OSAxMi40OXY3MS4wMjFjMCA2Ljg4NiA1LjYwMyAxMi40OSAxMi40OSAxMi40OXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zODEuODgxIDI3OC4xMDJjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNzEtNi4yNjggMy4zODFjLTQuODI4IDcuMzQ5LTExLjAwMiAxMy41MjItMTguMzUxIDE4LjM1MS0yLjExIDEuMzg3LTMuMzgxIDMuNzQzLTMuMzgxIDYuMjY4czEuMjcxIDQuODgxIDMuMzgxIDYuMjY4em0yNC42MTktMTQuMzQ1YzIuNDk0IDIuODg3IDUuMTg5IDUuNTgzIDguMDc2IDguMDc2LTIuODg3IDIuNDk0LTUuNTgzIDUuMTg5LTguMDc2IDguMDc2LTIuNDk0LTIuODg3LTUuMTg5LTUuNTgzLTguMDc2LTguMDc2IDIuODg3LTIuNDkzIDUuNTgyLTUuMTg4IDguMDc2LTguMDc2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAwLjIzMiAyNDcuMjE1Yy00LjgyOCA3LjM0OS0xMS4wMDIgMTMuNTIyLTE4LjM1MSAxOC4zNTEtMi4xMSAxLjM4Ny0zLjM4MSAzLjc0My0zLjM4MSA2LjI2OHMxLjI3MSA0Ljg4MSAzLjM4MSA2LjI2OGM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3LTYuMjY4IDMuMzgxem0xNC4zNDQgMjQuNjE4Yy0yLjg4NyAyLjQ5NC01LjU4MyA1LjE4OS04LjA3NiA4LjA3Ni0yLjQ5NC0yLjg4Ny01LjE4OS01LjU4My04LjA3Ni04LjA3NiAyLjg4Ny0yLjQ5NCA1LjU4My01LjE4OSA4LjA3Ni04LjA3NiAyLjQ5NCAyLjg4OCA1LjE4OSA1LjU4MyA4LjA3NiA4LjA3NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3MywzMzEuOTE2VjI3My42NDhBMzkuNzEsMzkuNzEsMCwwLDAsNDMzLjMyOCwyMzRIMzc2VjE3MGg0NC4wMDlhNi4yODksNi4yODksMCwwLDAsNS43NDctOC4wMkw0MDQuODMxLDkyLjI0OEE1Ljk3Niw1Ljk3NiwwLDAsMCwzOTkuMDg0LDg4SDM0MC45MTZhNS45MzIsNS45MzIsMCwwLDAtNS43NDcsNC4yTDMxNC4yNDQsMTYxLjkyYTYuMzcyLDYuMzcyLDAsMCwwLC45MzQsNS40ODMsNi4xNzYsNi4xNzYsMCwwLDAsNC44MTMsMi42SDM2NHY2NEg4OC42NzVBMzkuNzEzLDM5LjcxMywwLDAsMCw0OSwyNzMuNjQ4djU4LjI2OGEzOS40MTcsMzkuNDE3LDAsMCwwLTM3LDM5LjU1NlY0NjMuMWE1LjkxNSw1LjkxNSwwLDAsMCw2LDUuOUgzNXYzMGE2LjI0Niw2LjI0NiwwLDAsMCw2LjI4LDZoNjcuODY3QTUuODc3LDUuODc3LDAsMCwwLDExNSw0OTlWNDY5SDQwN3YzMGE1Ljg3OSw1Ljg3OSwwLDAsMCw1Ljg1NSw2aDY3Ljg2OUE2LjI0Myw2LjI0MywwLDAsMCw0ODcsNDk5VjQ2OWgxN2E1LjkxMyw1LjkxMywwLDAsMCw2LTUuOVYzNzEuNDcyQTM5LjQxNywzOS40MTcsMCwwLDAsNDczLDMzMS45MTZaTTM0NS4zODEsMTAwaDQ5LjIzOGwxNy4zMjYsNThoLTgzLjg5Wk04OC42NzUsMjQ2SDQzMy4zMjhBMjcuNywyNy43LDAsMCwxLDQ2MSwyNzMuNjQ4djU5LjNhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMCwzOC41MjZWMzkwSDkxVjM3MS40NzJhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMC0zOC41MjZ2LTU5LjNBMjcuNywyNy43LDAsMCwxLDg4LjY3NSwyNDZaTTEwMyw0OTNINDdWNDY5aDU2Wm0zNzIsMEg0MTlWNDY5aDU2Wm0yMy0zNkgyNFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwVjM5NS44YTYuNDQ4LDYuNDQ4LDAsMCwwLDYuMzEsNi4ySDQzNi42OTNBNi40NDUsNi40NDUsMCwwLDAsNDQzLDM5NS44VjM3MS40NzJhMjcuNSwyNy41LDAsMSwxLDU1LDBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC4zNzQsMTMzLjJhMjAuMjE0LDIwLjIxNCwwLDEsMC0yMC4yMTQtMjAuMjE0QTIwLjIzNiwyMC4yMzYsMCwwLDAsMTI4LjM3NCwxMzMuMlptMC0yOC40MjdhOC4yMTQsOC4yMTQsMCwxLDEtOC4yMTQsOC4yMTNBOC4yMjMsOC4yMjMsMCwwLDEsMTI4LjM3NCwxMDQuNzY4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDM2OC4xLDMwOS4xMThaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwxNDguMSwzMDkuMTE4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA0aC0xNWMtMi4yMDkxMzkgMC00IDEuNzkwODYxLTQgNHYzNGMwIDIuMjA5MTM5IDEuNzkwODYxIDQgNCA0aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTEuMTA0NTY5NSAwLTItLjg5NTQzMDUtMi0ydi0zNGMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMSAxNmg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMTljMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUyIDBoLTE1Yy0yLjkxMjIxNDIuMDAxODA2OTEtNS41OTM0MDA4IDEuNTg2MDA1MTgtNyA0LjEzNi0xLjQwNjU5OTItMi41NDk5OTQ4Mi00LjA4Nzc4NTgtNC4xMzQxOTMwOS03LTQuMTM2aC0xNWMtNC40MTYyMjE5Mi4wMDQ5NTk4OC03Ljk5NTA0MDEyIDMuNTgzNzc4MDgtOCA4djM0Yy4wMDQ5NTk4OCA0LjQxNjIyMTkgMy41ODM3NzgwOCA3Ljk5NTA0MDEgOCA4aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTMuMzEyMzM3NTctLjAwMzMwNzQtNS45OTY2OTI2Mi0yLjY4NzY2MjQtNi02di0zNGMuMDAzMzA3MzgtMy4zMTIzMzc1NyAyLjY4NzY2MjQzLTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MTJjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMmMuMDAzMzA3NC0zLjMxMjMzNzU3IDIuNjg3NjYyNC01Ljk5NjY5MjYyIDYtNmgxNWMzLjMxMjMzNzYuMDAzMzA3MzggNS45OTY2OTI2IDIuNjg3NjYyNDMgNiA2djM0Yy0uMDAzMzA3NCAzLjMxMjMzNzYtMi42ODc2NjI0IDUuOTk2NjkyNi02IDZoLTZjLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoNmM0LjQxNjIyMTktLjAwNDk1OTkgNy45OTUwNDAxLTMuNTgzNzc4MSA4LTh2LTM0Yy0uMDA0OTU5OS00LjQxNjIyMTkyLTMuNTgzNzc4MS03Ljk5NTA0MDEyLTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2IDQ2aDZjMi4yMDkxMzkgMCA0LTEuNzkwODYxIDQtNHYtMzRjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MTIuMDVjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMi4wNWMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjM0YzAgMS4xMDQ1Njk1LS44OTU0MzA1IDItMiAyaC02Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyMGg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNyAyM2MtMy44NjQxNjU3LjAwNDQwODYtNi45OTU1OTE0IDMuMTM1ODM0My03IDd2NmMtMS42NTY4NTQyIDAtMyAxLjM0MzE0NTgtMyAzdjE4YzAgMS42NTY4NTQyIDEuMzQzMTQ1OCAzIDMgM2gyMGMxLjY1Njg1NDIgMCAzLTEuMzQzMTQ1OCAzLTN2LTE4YzAtMS42NTY4NTQyLTEuMzQzMTQ1OC0zLTMtM3YtNmMtLjAwNDQwODYtMy44NjQxNjU3LTMuMTM1ODM0My02Ljk5NTU5MTQtNy03em0xNCAxNnYxOGMwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxaC0yMGMtLjU1MjI4NDcgMC0xLS40NDc3MTUzLTEtMXYtMThjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDIwYy41NTIyODQ3IDAgMSAuNDQ3NzE1MyAxIDF6bS03LTNoLTh2LTZjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDZjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptNC02djZoLTJ2LTZjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zaC02Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2NmgtMnYtNmMuMDAzMzA2MS0yLjc2MDA1MzIgMi4yMzk5NDY4LTQuOTk2NjkzOSA1LTVoNmMyLjc2MDA1MzIuMDAzMzA2MSA0Ljk5NjY5MzkgMi4yMzk5NDY4IDUgNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxLjIxMyA0MS4xNDRjLTEuNTA0MTcyLS4zNjkzNzI3LTMuMDk0NjQyNi0uMDI1NjA2OC00LjMxMi45MzItMS4yMTc4ODM0Ljk2MTgxMzQtMS45MjAxMjc1IDIuNDM0NjA4OS0xLjkwMDc0MDMgMy45ODYzNjU3LjAxOTM4NzEgMS41NTE3NTY4Ljc1ODIwNzYgMy4wMDY1NDgxIDEuOTk5NzQwMyAzLjkzNzYzNDN2M2MwIDEuNjU2ODU0MiAxLjM0MzE0NTggMyAzIDNzMy0xLjM0MzE0NTggMy0zdi0zYzEuNTQ0NTEwNy0xLjE1Njk1NDQgMi4yODUzNDkyLTMuMDk5NDU1NyAxLjkwMzUxOTEtNC45OTEwODUyLS4zODE4MzAxLTEuODkxNjI5Ni0xLjgxODE1ODctMy4zOTQ2NjQzLTMuNjkwNTE5MS0zLjg2MTkxNDh6bS41ODcgNy4yNTZjLS40OTcxNDc5LjM1NzYwNjYtLjc5NDI0MDEuOTMwNjIzMi0uOCAxLjU0M3YzLjA1N2MwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxcy0xLS40NDc3MTUzLTEtMXYtMy4wODFjLS4wMDU3MDgyLS42MDIwNTIyLS4yOTk0MjU5LTEuMTY0OTQ5Mi0uNzktMS41MTQtMS4wMzUwNTUzLS43NzE3ODcyLTEuNDYwMjE2NC0yLjExOTI1MDctMS4wNTU1MzY0LTMuMzQ1MzEzMXMxLjU0ODQyMS0yLjA1NTY4NjcgMi44Mzk1MzY0LTIuMDU5Njg2OWMuMjU1MDMwOS4wMDA1MDg1LjUwOTExNDQuMDMxMDUyMi43NTcuMDkxIDEuMDU1ODY4LjI2MzI0NjEgMS44ODI5MDcgMS4wODMzNzcyIDIuMTU1IDIuMTM3LjMxMzM3NDYgMS4xODM5Njk1LS4xMjQ0MTY1IDIuNDM5NTUxMi0xLjEwNiAzLjE3MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Nursery:qxe,Office:eSe,Outdoors:tSe,Playroom:sSe,Pool:iSe,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDguNTMzSDM4NGMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdWMjU2djUxLjJoLTY5LjczNWMwLjk0OC0yLjY3MSwxLjQ2OC01LjU0MiwxLjQ2OC04LjUzMw0KCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMNCgkJCQlIMTYyLjEzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g4NS4zMzN2MTcuMDY3SDIzMC40DQoJCQkJYy0xNC4xMTQsMC0yNS42LDExLjQ4Ni0yNS42LDI1LjZjMCwyLjk5MSwwLjUyMSw1Ljg2MiwxLjQ2OCw4LjUzM2gtNjkuNzM1VjI1NlYxMzYuNTMzVjE3LjA2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2Nw0KCQkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzc1LjQ2N1YyNTZWMTM2LjUzM1YxNy4wNjdDNTEyLDEyLjM0OCw1MDguMTc3LDguNTMzLDUwMy40NjcsOC41MzN6IE0xNzAuNjY3LDE1My42aDE3MC42NjcNCgkJCQl2NTEuMkgxNzAuNjY3VjE1My42eiBNMzQxLjMzMywxMTkuNDY3djE3LjA2N0gxNzAuNjY3di0xNy4wNjdIMzQxLjMzM3ogTTE3MC42NjcsMjIxLjg2N2gxNzAuNjY3djE3LjA2N0gxNzAuNjY3VjIyMS44Njd6DQoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yDQoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTI1LjZoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y2OC4yNjdoLTE3LjA2N3YtMTAyLjRoMTAyLjRWMjQ3LjQ2N3oNCgkJCQkgTTQyNi42NjcsMjQ3LjQ2N3YtNTkuNzMzaDguNTMzdjU5LjczM0g0MjYuNjY3eiBNNDUyLjI2NywxODcuNzMzaDguNTMzdjU5LjczM2gtOC41MzNWMTg3LjczM3ogTTM5Mi41MzMsMzE1LjczM3YtNTEuMmgyNS42DQoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMNCgkJCQloNTEuMmM0LjcwMiwwLDguNTMzLDMuODIzLDguNTMzLDguNTMzcy0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2gtNTEuMkMyMjUuNjk4LDMwNy4yLDIyMS44NjcsMzAzLjM3NywyMjEuODY3LDI5OC42Njd6DQoJCQkJIE0yMzAuNCwzMjQuMjY3aDUxLjJoOTMuODY3djUxLjJoLTUxLjJWMzU4LjRjMC05LjQxMi03LjY1NC0xNy4wNjctMTcuMDY3LTE3LjA2N0gyMDQuOGMtOS40MTIsMC0xNy4wNjcsNy42NTQtMTcuMDY3LDE3LjA2Nw0KCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQNCgkJCQloMzQuMTMzdjguNTMzSDUxLjJWMzU4LjR6IE0xMDIuNCwzNDkuODY3di0yNS42di0yNS42YzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzMw0KCQkJCXYyNS42djI1LjZ2MTcuMDY3SDE3LjA2N3YtMTAyLjRoMTAyLjR2NTEuMnY1MS4ySDEwMi40VjM0OS44Njd6IE01OS43MzMsMTEwLjkzM0g3Ni44VjEyOEg1OS43MzNWMTEwLjkzM3ogTTUxLjIsMTQ1LjA2N2gzNC4xMzMNCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMw0KCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzaC04LjUzM0g1MS4yaC04LjUzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNWMTI4DQoJCQkJaC0yNS42VjI1LjZ6IE0xNy4wNjcsMzg0aDI1LjZoNTEuMmgyNS42djEwMi40aC0xMDIuNFYzODR6IE0xMzYuNTMzLDM5Mi41MzNoNTkuNzMzaDUxLjJWNDg2LjRIMTM2LjUzM1YzOTIuNTMzeiBNNDk0LjkzMyw0ODYuNA0KCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcNCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMw0KCQkJCXMtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTE3LjA2N1YzODRoMTAyLjRWNDg2LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMNCgkJCQljMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTE3LjA2N0MyMzAuNCw0MTMuNDE0LDIyNi41NzcsNDA5LjYsMjIxLjg2Nyw0MDkuNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNy4yLDQwOS42aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0MzUuMmMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzDQoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MTIuNTcyLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zNzktMTAuMzhoLTU5LjM1NmMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiIGQ9Ik0xODIuODEzLDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5NSw0LjUyOS0xMC4wOTUsMTAuMDk1djYwLjA0NQ0KCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTQwNC4zMTQsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk2LDQuNTI5LTEwLjA5NiwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTI3Ni41NDUsNDA1LjA4OWMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N3YxMi42M2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Shed:rSe,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NTYsMjI0Yy0xNC4xMzMsMC0yNCw2LjMwMS0yNCwxNS4zMnYyNy41MDVDNDE5LjMzMywyNDEuNzkzLDM5OS44NSwyMjQsMzc2LDIyNEgxNTJjLTQuNDE3LTAuMDAxLTcuOTk5LDMuNTc5LTgsNy45OTYNCgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5DQoJCQljLTE2Ljc2NCwxOC4zMDktMTYuODAxLDQ2LjM4LTAuMDg2LDY0LjczNGMtNC42MTIsMC41MDgtOC45NjgsMi4zOC0xMi41MTIsNS4zNzVWMTE1LjE5OUM0OCwxMDQuNDM0LDM3LjQ2MSw5NiwyNCw5Ng0KCQkJcy0yNCw4LjQzNC0yNCwxOS4xOTl2MzQ1LjYwMkMwLDQ3MS41NjYsMTAuNTM5LDQ4MCwyNCw0ODBzMjQtOC40MzQsMjQtMTkuMTk5VjQwOGgzODR2NTYuNjhjMCw5LjAxOSw5Ljg2NywxNS4zMiwyNCwxNS4zMg0KCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQ0KCQkJYy01LjI1LDAtNy45MjItMi41NDMtOC0zLjE5OVYxMTUuMTk5YzAuMDc4LTAuNjU2LDIuNzUtMy4xOTksOC0zLjE5OWM1LjIyNywwLDcuOTE0LDIuNTQzLDgsMy4xOTlWNDYwLjgwMXogTTE2MCwyNDBoMjE2DQoJCQljMzAuMTcyLDAsNTMuMTcyLDQ0LjkyNiw1NS43NTgsODhIMTYwVjI0MHogTTE0NCwyODAuMDgzdjM4LjU2Yy0zLjQ1Mi0zLjM1My03Ljg0OC01LjU2Ni0xMi41OTctNi4zNDINCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzINCgkJCUM2NC4wMTksMjYyLjMzNSw3OC4zMzUsMjQ4LjAxOSw5NiwyNDh6IE00MzIsMzkySDQ4di00OC4wMjNjNC4xNjMtMC4zMjgsNy4zNzQtMy44MDEsNy4zNzUtNy45NzcNCgkJCWMtMC4wNzctNC4zMzEsMy4zNjQtNy45MDksNy42OTUtOGg2NC42MWM0LjMzMSwwLjA5MSw3Ljc3MiwzLjY2OSw3LjY5NSw4Yy0wLjAwMSw0LjQxNywzLjU3OSw3Ljk5OSw3Ljk5Niw4DQoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6Ig0KICAgICAgICAvPg0KICAgICAgICA8cGF0aCBkPSJNMTM3LjA3OCwxNzZsMjkuMDctMzQuODc5YzEuOTg2LTIuMzg2LDIuNDEzLTUuNzA1LDEuMDk0LTguNTE2Yy0xLjMxNi0yLjgxLTQuMTM5LTQuNjA1LTcuMjQyLTQuNjA1aC00OHYxNmgzMC45MjINCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI0LjM1OSwxMzZsNDUuOTUzLTU5LjA5YzEuODc3LTIuNDExLDIuMjE3LTUuNjgxLDAuODc1LTguNDI2Yy0xLjM0NC0yLjc0My00LjEzMi00LjQ4My03LjE4OC00LjQ4NGgtNjR2MTZoNDcuNjQxDQoJCQlsLTQ1Ljk1Myw1OS4wOWMtMi43MTQsMy40ODQtMi4wODksOC41MDksMS4zOTYsMTEuMjIzYzEuNDA1LDEuMDk0LDMuMTM2LDEuNjg4LDQuOTE3LDEuNjg4aDY0di0xNkgyMjQuMzU5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQ0KCQkJYy0xLjgxOCwyLjQyNC0yLjExMiw1LjY2OC0wLjc1OCw4LjM3OUMzMDYuMiwxMTAuMjg4LDMwOC45NywxMTIsMzEyLDExMmg4MFY5NkgzMjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Stairway:oSe,Stairwell:nSe,Storeroom:aSe,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE3My44MzIsMjI1LjI2M2gtNDMuMDM5Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41djYwLjEzNGMwLDQuMTQyLDMuMzU3LDcuNSw3LjUsNy41aDQzLjAzOWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41DQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NTkuMTI3LDIwMS4xOTNjMy4zMTQsMi4yNzgsOC4wOTEsMS40NzEsMTAuNDMtMS45MzJjMCwwLDIzLjAwOS0zMy40NjksMjMuMDI5LTMzLjQ5OA0KCQkJYzIuMzE1LTMuMzY4LDEuNDI4LTguMTIxLTEuOTMyLTEwLjQzMUwyNzEuNzYzLDQuODYxYy05LjQyOS02LjQ4LTIyLjA5Ny02LjQ4MS0zMS41MjYsMGMwLDAtMTM5Ljc2Miw5Ni4wNzctMTQwLjI3Myw5Ni40MjgNCgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3DQoJCQljMCwwLTIwMS4xNDMtMTM4LjI3Mi0yMDEuMTk1LTEzOC4zMDhjLTIuNDk1LTEuNzE1LTUuOTk5LTEuNzE4LTguNDk4LTAuMDAxTDUwLjU1NywxODQuNTgzbC0xNC41My0yMS4xMzcNCgkJCWMwLDAsNDcuMTE3LTMyLjM5LDQ3LjI4OS0zMi41MDljNy44MDctNS4zNjYtMC40MTYtMTcuOTE3LTguNDk4LTEyLjM2MmMwLDAtNTMuMzAxLDM2LjY0LTUzLjQ3MSwzNi43NTcNCgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQ0KCQkJSDQwMi42NHYxMDguNTI4YzAsNC4xNDIsMy4zNTgsNy41LDcuNTAxLDcuNWgzMC40ODhjNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNVYzOTUuOTcxaDIzLjc2OWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41di0zMC40ODcNCgkJCWMwLTQuMTQzLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU3LjI1OWgyMy43NjljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNXYtMzAuNDg4YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVoLTIzLjc2OXYtNTQuMTAzDQoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoNCgkJCSBNNTYuMTI1LDI3MC4zMzJoMzguMzk5djUzLjA1NWMwLDQuMTQxLDMuMzU4LDcuNSw3LjUsNy41SDIwMi42YzQuMTQyLDAsNy41MDEtMy4zNTgsNy41MDEtNy41di01My4wNTVoMzguMzk4djY4LjQ1Nkg1Ni4xMjUNCgkJCVYyNzAuMzMyeiBNMTA5LjUyNSwzMTUuODg2VjIwOS43NzdoODUuNTc1djEwNi4xMDlIMTA5LjUyNXogTTk0LjUyNCw0OTYuOTk4SDU2LjEyNXYtNTkuNzU0aDM4LjM5OVY0OTYuOTk4eiBNMTY2LjMzMSw0OTYuOTk3DQoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkNCgkJCWMtNC4xNDIsMC03LjUwMSwzLjM1OC03LjUwMSw3LjV2OTMuMjgzaC0xMy43NjhWMzgwLjcyN2g4NS41NzVWNDk2Ljk5N3ogTTI0OC40OTksNDk2Ljk5OEgyMTAuMXYtNTkuNzU0aDM4LjM5OFY0OTYuOTk4eg0KCQkJIE0yNDguNSw0MjIuMjQ0aC0zOC4zOTl2LTQ5LjAxOGMtMC4wMDEtNC4xNDItMy4zNTktNy41LTcuNTAyLTcuNUgxMDIuMDI0Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41MDF2NDkuMDE4SDU2LjEyNXYtNjguNDU2DQoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0DQoJCQljLTQuMTQyLDAtNy41LDMuMzU4LTcuNSw3LjV2NTMuMDU1SDU2LjEyNXYtNTYuMzczbDE3LjY2My0xMi4xNDNjMC4yOTcsMC4wMzYsMC41OTcsMC4wNiwwLjkwNCwwLjA2SDI0OC41VjI1NS4yMjV6DQoJCQkgTTk1LjUyMywxNzEuODc1bDk5LjU4MS02OC40NTZoMTIxLjc5M2w5OS41ODEsNjguNDU2aC02LjMzNkg5NS41MjN6IE00MDIuNjQsMTg2Ljg3NnY2MC44NThIMjYzLjUwMXYtNjAuODU4SDQwMi42NHoNCgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYNCgkJCUgyNjMuNTAxdi0xNS40ODZINDY0LjM5N3ogTTI5My45ODgsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMjkzLjk4OHogTTMyNC40NzYsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzI0LjQ3NnoNCgkJCSBNMzU1LjgxNCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgzNTUuODE0eiBNMzg2LjMwMiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzODYuMzAyeiBNNDE3LjY0MSwzNTAuNDgydi01Ny4yNTkNCgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE4Ny41OTksMTUxLjQ1OEwxNTMuNDY1LDMzLjE4NmMtMC40MjItMS40NjEtMS43NTgtMi40NjYtMy4yNzktMi40NjZIMzcuNTQ3Yy0xLjUyMSwwLTIuODU3LDEuMDA1LTMuMjc5LDIuNDY2DQoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyDQoJCQljMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxM3YtMjUuMDg4QzE4Ny43MzMsMTUyLjA4NSwxODcuNjg3LDE1MS43NjUsMTg3LjU5OSwxNTEuNDU4eiBNMTgwLjkwNywxNzQuMDhINi44Mjd2LTIxLjE5Mg0KCQkJTDQwLjExNSwzNy41NDdIMTQ3LjYybDMzLjI4NywxMTUuMzQyVjE3NC4wOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjINCgkJCUM4MS45Miw4LjM1Niw4MC4zOTEsNi44MjcsNzguNTA3LDYuODI3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDE3LjA2N2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMTcuMDY3LDEwOS4yMjcsMTcuMDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMzAuNzIsMTA5LjIyNywzMC43MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNDQuMzczaC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzDQoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNjMuNzg5LDE0Ni4xNzlsLTE3LjUxNi05OC45ODdjLTAuMjg4LTEuNjMtMS43MDUtMi44MTgtMy4zNi0yLjgxOEg0OC4zMjhjLTEuNjEzLDAtMy4wMDUsMS4xMjYtMy4zNCwyLjcwMw0KCQkJbC0yMS4wMTksOTguOTg3Yy0wLjIxMywxLjAwNywwLjAzOCwyLjA1NywwLjY4NiwyLjg1N2MwLjY0OSwwLjgsMS42MjEsMS4yNjUsMi42NTIsMS4yNjVoMTMzLjEyYzEuMDA5LDAsMS45NjYtMC40NDcsMi42MTYtMS4yMTkNCgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Terrace:MSe,Toilet:cSe,Upstairs:uSe,Wardrobe:lSe,Washroom:NSe,Wc:LSe,Windscreen:gSe,Workshop:jSe,Workspace:ySe},DSe=[{_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"}],dSe=[{_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 hSe extends De{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 M=n.split(".");M.pop(),t[o]=M[M.length-1]}}else n=r;return n?n.startsWith("data:")?(e[o]=n,Promise.resolve()):m.getSvg(n).then(M=>e[o]=M):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?dSe: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,M)=>o!==M&&n.icon===r.icon&&n.name===r.name))),i.forEach((r,o)=>{t[o]=r.name,e[o]=`data:image/svg+xml;base64,${TSe[r.icon.replace(/\.svg$/,"")]}`})),i=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?DSe: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((M,c)=>n!==c&&M.icon===o.icon&&M.name===o.name))),i.forEach((o,n)=>{t[n+r]=o.name,e[n+r]=`data:image/svg+xml;base64,${xxe[o.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)})}})}render(){return this.state.loading?a.createElement(So,null):a.createElement(a.Fragment,null,a.createElement(q,{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(Ae,{onClose:()=>this.setState({opened:!1}),open:!0},a.createElement(fe,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?a.createElement(Te,{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(W,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},a.createElement(ON,null)):void 0}}}):null),a.createElement(_e,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(Le,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{onClick:()=>this.setState({opened:!1},()=>{const i=this.props.onSelect||this.props.onChange;i&&i(e)}),size:"large"},a.createElement(be,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),a.createElement(xe,null,a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:a.createElement(we,null)},this.props.t("ra_Close")))):null)}}const Gt={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 Ive(s){var M,c,l,N;const e=s.icon,t=s.onChange,i=Kt(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}=ej({onDrop:i});return a.createElement("div",{style:Gt.formContainer},e?a.createElement(e,{style:Gt.formIcon}):null,a.createElement(Qt,{variant:"standard",style:{...Gt.formControl,padding:3}},a.createElement(yi,{shrink:!0,sx:(M=s.customStyles)!=null&&M.label?{"&.MuiInputLabel-root":s.customStyles.label}:void 0,classes:{root:(c=s.customClasses)==null?void 0:c.label}},s.label),a.createElement("div",{style:Gt.formContainer},s.value?a.createElement("div",{style:Gt.divContainer},a.createElement(be,{style:{...s.previewStyle,...((l=s.customStyles)==null?void 0:l.icon)||void 0},src:s.value,className:m.clsx(s.previewClassName,(N=s.customClasses)==null?void 0:N.icon)}),!s.disabled&&a.createElement(W,{style:{verticalAlign:"top"},title:D.t("ra_Clear icon"),size:"small",onClick:()=>s.onChange("")},a.createElement(ON,null))):!s.disabled&&a.createElement(hSe,{icons:s.icons,onlyRooms:s.onlyRooms,onlyDevices:s.onlyDevices,onSelect:u=>s.onChange(u),t:D.t,lang:D.getLanguage()}),!s.disabled&&a.createElement("div",{...r(),style:{...Gt.dragField,...n?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},a.createElement("input",{...o()}),n?a.createElement("span",{style:Gt.text},D.t("ra_Drop the files here...")):a.createElement("span",{style:Gt.text},D.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function zSe(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 wSe(s){const e={};if(!s)return e;for(let t,i=0;io[1].toUpperCase()),e[t]=s[i].value}return e}class lo extends De{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=zSe(e),r=i.innerHTML,o=wSe(i.attributes);return i.remove(),a.createElement(J,{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 a.createElement(lc,{className:this.props.className});if(lo.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=lo.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=lo.REMOTE_PREFIX+e),a.createElement(J,{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(J,{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 ISe(s){return te({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 CSe(s){return te({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 pSe(s){return te({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 ASe(s){return te({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 mSe(s){return te({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 fSe(s){return te({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 OSe(s){return te({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 ESe(s){return te({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 _Se(s){return te({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 xSe(s){return te({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 + `),a.createElement("div",{style:N.white,className:"saturation-white"},a.createElement("div",{style:N.black,className:"saturation-black"}),a.createElement("div",{style:N.pointer},this.props.pointer?a.createElement(this.props.pointer,this.props):a.createElement("div",{style:N.circle}))))}}]),e})(hr||De);function Nfe(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 U(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(_fe,arguments)},brighten:function(){return this._applyModification(xfe,arguments)},darken:function(){return this._applyModification(Sfe,arguments)},desaturate:function(){return this._applyModification(ffe,arguments)},saturate:function(){return this._applyModification(Ofe,arguments)},greyscale:function(){return this._applyModification(Efe,arguments)},spin:function(){return this._applyModification(kfe,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(Qfe,arguments)},complement:function(){return this._applyCombination(vfe,arguments)},monochromatic:function(){return this._applyCombination(bfe,arguments)},splitcomplement:function(){return this._applyCombination(Yfe,arguments)},triad:function(){return this._applyCombination(e0,[3])},tetrad:function(){return this._applyCombination(e0,[4])}};U.fromRatio=function(s,e){if(mo(s)=="object"){var t={};for(var i in s)s.hasOwnProperty(i)&&(i==="a"?t[i]=s[i]:t[i]=qi(s[i]));s=t}return U(s,e)};function Ife(s){var e={r:0,g:0,b:0},t=1,i=null,r=null,o=null,n=!1,M=!1;return typeof s=="string"&&(s=Jfe(s)),mo(s)=="object"&&(Et(s.r)&&Et(s.g)&&Et(s.b)?(e=Cfe(s.r,s.g,s.b),n=!0,M=String(s.r).substr(-1)==="%"?"prgb":"rgb"):Et(s.h)&&Et(s.s)&&Et(s.v)?(i=qi(s.s),r=qi(s.v),e=Afe(s.h,i,r),n=!0,M="hsv"):Et(s.h)&&Et(s.s)&&Et(s.l)&&(i=qi(s.s),o=qi(s.l),e=pfe(s.h,i,o),n=!0,M="hsl"),s.hasOwnProperty("a")&&(t=s.a)),t=SL(t),{ok:n,format:s.format||M,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 Cfe(s,e,t){return{r:je(s,255)*255,g:je(e,255)*255,b:je(t,255)*255}}function Zl(s,e,t){s=je(s,255),e=je(e,255),t=je(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,M=(i+r)/2;if(i==r)o=n=0;else{var c=i-r;switch(n=M>.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 M=t<.5?t*(1+e):t+e-t*e,c=2*t-M;i=n(c,M,s+1/3),r=n(c,M,s),o=n(c,M,s-1/3)}return{r:i*255,g:r*255,b:o*255}}function Xl(s,e,t){s=je(s,255),e=je(e,255),t=je(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,M=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(U(i));return o}function bfe(s,e){e=e||6;for(var t=U(s).toHsv(),i=t.h,r=t.s,o=t.v,n=[],M=1/e;e--;)n.push(U({h:i,s:r,v:o})),o=(o+M)%1;return n}U.mix=function(s,e,t){t=t===0?0:t||50;var i=U(s).toRgb(),r=U(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 U(n)};U.readability=function(s,e){var t=U(s),i=U(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)};U.isReadable=function(s,e,t){var i=U.readability(s,e),r,o;switch(o=!1,r=Bfe(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};U.mostReadable=function(s,e,t){var i=null,r=0,o,n,M,c;t=t||{},n=t.includeFallbackColors,M=t.level,c=t.size;for(var l=0;lr&&(r=o,i=U(e[l]));return U.isReadable(s,i,{level:M,size:c})||!n?i:(t.includeFallbackColors=!1,U.mostReadable(s,["#fff","#000"],t))};var pa=U.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"},Ufe=U.hexNames=$fe(pa);function $fe(s){var e={};for(var t in s)s.hasOwnProperty(t)&&(e[s[t]]=t);return e}function SL(s){return s=parseFloat(s),(isNaN(s)||s<0||s>1)&&(s=1),s}function je(s,e){Pfe(s)&&(s="100%");var t=Wfe(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 nn(s){return Math.min(1,Math.max(0,s))}function Ke(s){return parseInt(s,16)}function Pfe(s){return typeof s=="string"&&s.indexOf(".")!=-1&&parseFloat(s)===1}function Wfe(s){return typeof s=="string"&&s.indexOf("%")!=-1}function Lt(s){return s.length==1?"0"+s:""+s}function qi(s){return s<=1&&(s=s*100+"%"),s}function kL(s){return Math.round(parseFloat(s)*255).toString(16)}function t0(s){return Ke(s)/255}var Nt=(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 Et(s){return!!Nt.CSS_UNIT.exec(s)}function Jfe(s){s=s.replace(zfe,"").replace(wfe,"").toLowerCase();var e=!1;if(pa[s])s=pa[s],e=!0;else if(s=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t;return(t=Nt.rgb.exec(s))?{r:t[1],g:t[2],b:t[3]}:(t=Nt.rgba.exec(s))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=Nt.hsl.exec(s))?{h:t[1],s:t[2],l:t[3]}:(t=Nt.hsla.exec(s))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=Nt.hsv.exec(s))?{h:t[1],s:t[2],v:t[3]}:(t=Nt.hsva.exec(s))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=Nt.hex8.exec(s))?{r:Ke(t[1]),g:Ke(t[2]),b:Ke(t[3]),a:t0(t[4]),format:e?"name":"hex8"}:(t=Nt.hex6.exec(s))?{r:Ke(t[1]),g:Ke(t[2]),b:Ke(t[3]),format:e?"name":"hex"}:(t=Nt.hex4.exec(s))?{r:Ke(t[1]+""+t[1]),g:Ke(t[2]+""+t[2]),b:Ke(t[3]+""+t[3]),a:t0(t[4]+""+t[4]),format:e?"name":"hex8"}:(t=Nt.hex3.exec(s))?{r:Ke(t[1]+""+t[1]),g:Ke(t[2]+""+t[2]),b:Ke(t[3]+""+t[3]),format:e?"name":"hex"}:!1}function Bfe(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 s0=function(e){var t=["r","g","b","a","h","s","l","v"],i=0,r=0;return hfe(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},er=function(e,t){var i=e.hex?U(e.hex):U(e),r=i.toHsl(),o=i.toHsv(),n=i.toRgb(),M=i.toHex();r.s===0&&(r.h=t||0,o.h=t||0);var c=M==="000000"&&n.a===0;return{hsl:r,hex:c?"transparent":"#"+M,rgb:n,hsv:o,oldHue:e.h||t||r.h,source:e.source}},Ls=function(e){if(e==="transparent")return!0;var t=String(e).charAt(0)==="#"?1:0;return e.length!==4+t&&e.length<7+t&&U(e).isValid()},HM=function(e){if(!e)return"#fff";var t=er(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"},vn=function(e,t){var i=e.replace("°","");return U(t+" ("+i+")")._ok},Ri=Object.assign||function(s){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return(function(i){Kfe(r,i);function r(){var o,n,M,c;Xfe(this,r);for(var l=arguments.length,N=Array(l),u=0;uM))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&uOe?new fo: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,CEe=BL.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,M=s.style,c=M===void 0?{}:M,l=IEe(s,["fill","width","height","style"]);return h0.default.createElement("svg",d0({viewBox:"0 0 "+Gr+" "+Gr,style:d0({fill:t,width:r,height:n},c)},l),h0.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"}))},pEe=(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(D0(r.s)?i.props.hsl.s:r.s),l:Number(D0(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 pEe(e,[{key:"render",value:function(){var i=this,r=Z({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=a.createElement("div",{style:r.fields,className:"flexbox-fix"},a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?o=a.createElement("div",{style:r.fields,className:"flexbox-fix"},a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),a.createElement("div",{style:r.alpha},a.createElement(se,{style:{input:r.input,label:r.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(o=a.createElement("div",{style:r.fields,className:"flexbox-fix"},a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),a.createElement("div",{style:r.field},a.createElement(se,{style:{input:r.input,label:r.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),a.createElement("div",{style:r.alpha},a.createElement(se,{style:{input:r.input,label:r.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),a.createElement("div",{style:r.wrap,className:"flexbox-fix"},o,a.createElement("div",{style:r.toggle},a.createElement("div",{style:r.icon,onClick:this.toggleViews,ref:function(M){return i.icon=M}},a.createElement(CEe,{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})(a.Component);RL.defaultProps={view:"hex"};var z0=function(){var e=Z({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 a.createElement("div",{style:e.picker})},OEe=function(){var e=Z({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return a.createElement("div",{style:e.picker})},ec=function(e){var t=e.width,i=e.onChange,r=e.disableAlpha,o=e.rgb,n=e.hsl,M=e.hsv,c=e.hex,l=e.renderers,N=e.styles,u=N===void 0?{}:N,L=e.className,g=L===void 0?"":L,j=e.defaultView,y=Z(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 a.createElement("div",{style:y.picker,className:"chrome-picker "+g},a.createElement("div",{style:y.saturation},a.createElement(on,{style:y.Saturation,hsl:n,hsv:M,pointer:OEe,onChange:i})),a.createElement("div",{style:y.body},a.createElement("div",{style:y.controls,className:"flexbox-fix"},a.createElement("div",{style:y.color},a.createElement("div",{style:y.swatch},a.createElement("div",{style:y.active}),a.createElement(vi,{renderers:l}))),a.createElement("div",{style:y.toggles},a.createElement("div",{style:y.hue},a.createElement(Yi,{style:y.Hue,hsl:n,pointer:z0,onChange:i})),a.createElement("div",{style:y.alpha},a.createElement($M,{style:y.Alpha,rgb:o,hsl:n,pointer:z0,renderers:l,onChange:i})))),a.createElement(RL,{rgb:o,hsl:n,hex:c,view:j,onChange:i,disableAlpha:r})))};ec.propTypes={width:_.oneOfType([_.string,_.number]),disableAlpha:_.bool,styles:_.object,defaultView:_.oneOf(["hex","rgb","hsl"])};ec.defaultProps={width:225,disableAlpha:!1,styles:{}};const EEe=Ze(ec);var _Ee=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.active,M=Z({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:HM(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 a.createElement(Ys,{style:M.color,color:t,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},a.createElement("div",{style:M.dot}))},xEe=function(e){var t=e.hex,i=e.rgb,r=e.onChange,o=Z({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 a.createElement("div",{style:o.fields,className:"flexbox-fix"},a.createElement("div",{style:o.active}),a.createElement(se,{style:{wrap:o.HEXwrap,input:o.HEXinput,label:o.HEXlabel},label:"hex",value:t,onChange:n}),a.createElement(se,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"r",value:i.r,onChange:n}),a.createElement(se,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"g",value:i.g,onChange:n}),a.createElement(se,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"b",value:i.b,onChange:n}))},tc=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.colors,o=e.hex,n=e.rgb,M=e.styles,c=M===void 0?{}:M,l=e.className,N=l===void 0?"":l,u=Z(Ve({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},c)),L=function(j,y){j.hex?Ls(j.hex)&&t({hex:j.hex,source:"hex"},y):t(j,y)};return a.createElement(vr,{style:u.Compact,styles:c},a.createElement("div",{style:u.compact,className:"compact-picker "+N},a.createElement("div",null,Qs(r,function(g){return a.createElement(_Ee,{key:g,color:g,active:g.toLowerCase()===o,onClick:L,onSwatchHover:i})}),a.createElement("div",{style:u.clear})),a.createElement(xEe,{hex:o,rgb:n,onChange:L})))};tc.propTypes={colors:_.arrayOf(_.string),styles:_.object};tc.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:{}};Ze(tc);var SEe=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)"},M=Z({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:n}},{hover:t});return a.createElement("div",{style:M.swatch},a.createElement(Ys,{color:i,onClick:r,onHover:o,focusStyle:n}))};const kEe=UM(SEe);var sc=function(e){var t=e.width,i=e.colors,r=e.onChange,o=e.onSwatchHover,n=e.triangle,M=e.styles,c=M===void 0?{}:M,l=e.className,N=l===void 0?"":l,u=Z(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(j,y){return r({hex:j,source:"hex"},y)};return a.createElement("div",{style:u.card,className:"github-picker "+N},a.createElement("div",{style:u.triangleShadow}),a.createElement("div",{style:u.triangle}),Qs(i,function(g){return a.createElement(kEe,{color:g,key:g,onClick:L,onSwatchHover:o})}))};sc.propTypes={width:_.oneOfType([_.string,_.number]),colors:_.arrayOf(_.string),triangle:_.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:_.object};sc.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};Ze(sc);var vEe=function(e){var t=e.direction,i=Z({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 a.createElement("div",{style:i.picker})},YEe=Object.assign||function(s){for(var e=1;e.5});return a.createElement("div",{style:i.picker})},$Ee=function(){var e=Z({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 a.createElement("div",{style:e.pointer},a.createElement("div",{style:e.left},a.createElement("div",{style:e.leftInside})),a.createElement("div",{style:e.right},a.createElement("div",{style:e.rightInside})))},w0=function(e){var t=e.onClick,i=e.label,r=e.children,o=e.active,n=Z({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 a.createElement("div",{style:n.button,onClick:t},i||r)},PEe=function(e){var t=e.rgb,i=e.currentColor,r=Z({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 a.createElement("div",null,a.createElement("div",{style:r.label},"new"),a.createElement("div",{style:r.swatches},a.createElement("div",{style:r.new}),a.createElement("div",{style:r.current})),a.createElement("div",{style:r.label},"current"))},WEe=(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 a.createElement("div",{style:M.fields,className:"flexbox-fix"},a.createElement("div",{style:M.double},a.createElement(se,{style:{input:M.input,label:M.label},label:"hex",value:o.replace("#",""),onChange:c})),a.createElement("div",{style:M.single},a.createElement(se,{style:{input:M.input,label:M.label},label:"r",value:i.r,onChange:c,dragLabel:"true",dragMax:"255"})),a.createElement("div",{style:M.single},a.createElement(se,{style:{input:M.input,label:M.label},label:"g",value:i.g,onChange:c,dragLabel:"true",dragMax:"255"})),a.createElement("div",{style:M.single},a.createElement(se,{style:{input:M.input,label:M.label},label:"b",value:i.b,onChange:c,dragLabel:"true",dragMax:"255"})),a.createElement("div",{style:M.alpha},a.createElement(se,{style:{input:M.input,label:M.label},label:"a",value:Math.round(i.a*100),onChange:c,dragLabel:"true",dragMax:"100"})))},GEe=Object.assign||function(s){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i]);return t}var Hr=24,e_e=GL.default=function(s){var e=s.fill,t=e===void 0?"currentColor":e,i=s.width,r=i===void 0?Hr:i,o=s.height,n=o===void 0?Hr:o,M=s.style,c=M===void 0?{}:M,l=qEe(s,["fill","width","height","style"]);return C0.default.createElement("svg",I0({viewBox:"0 0 "+Hr+" "+Hr,style:I0({fill:t,width:r,height:n},c)},l),C0.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},t_e=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.first,M=e.last,c=e.active,l=Z({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:t,marginBottom:"1px"},check:{color:HM(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:M,active:c,"color-#FFFFFF":t==="#FFFFFF",transparent:t==="transparent"});return a.createElement(Ys,{color:t,style:l.color,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},a.createElement("div",{style:l.check},a.createElement(e_e,null)))},s_e=function(e){var t=e.onClick,i=e.onSwatchHover,r=e.group,o=e.active,n=Z({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return a.createElement("div",{style:n.group},Qs(r,function(M,c){return a.createElement(t_e,{key:M,color:M,active:M.toLowerCase()===o,first:c===0,last:c===r.length-1,onClick:t,onSwatchHover:i})}))},ac=function(e){var t=e.width,i=e.height,r=e.onChange,o=e.onSwatchHover,n=e.colors,M=e.hex,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=Z(Ve({default:{picker:{width:t,height:i},overflow:{height:i,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},l)),g=function(y,T){return r({hex:y,source:"hex"},T)};return a.createElement("div",{style:L.picker,className:"swatches-picker "+u},a.createElement(vr,null,a.createElement("div",{style:L.overflow},a.createElement("div",{style:L.body},Qs(n,function(j){return a.createElement(s_e,{key:j.toString(),group:j,active:M,onClick:g,onSwatchHover:o})}),a.createElement("div",{style:L.clear})))))};ac.propTypes={width:_.oneOfType([_.string,_.number]),height:_.oneOfType([_.string,_.number]),colors:_.arrayOf(_.arrayOf(_.string)),styles:_.object};ac.defaultProps={width:320,height:240,colors:[[Hs[900],Hs[700],Hs[500],Hs[300],Hs[100]],[Vs[900],Vs[700],Vs[500],Vs[300],Vs[100]],[Zs[900],Zs[700],Zs[500],Zs[300],Zs[100]],[Xs[900],Xs[700],Xs[500],Xs[300],Xs[100]],[Ks[900],Ks[700],Ks[500],Ks[300],Ks[100]],[qs[900],qs[700],qs[500],qs[300],qs[100]],[ei[900],ei[700],ei[500],ei[300],ei[100]],[ti[900],ti[700],ti[500],ti[300],ti[100]],[si[900],si[700],si[500],si[300],si[100]],["#194D33",tr[700],tr[500],tr[300],tr[100]],[ii[900],ii[700],ii[500],ii[300],ii[100]],[ri[900],ri[700],ri[500],ri[300],ri[100]],[oi[900],oi[700],oi[500],oi[300],oi[100]],[ni[900],ni[700],ni[500],ni[300],ni[100]],[ai[900],ai[700],ai[500],ai[300],ai[100]],[Mi[900],Mi[700],Mi[500],Mi[300],Mi[100]],[ci[900],ci[700],ci[500],ci[300],ci[100]],[ui[900],ui[700],ui[500],ui[300],ui[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};Ze(ac);var Mc=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.hex,o=e.colors,n=e.width,M=e.triangle,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=Z(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":M==="hide","top-left-triangle":M==="top-left","top-right-triangle":M==="top-right"}),g=function(y,T){Ls(y)&&t({hex:y,source:"hex"},T)};return a.createElement("div",{style:L.card,className:"twitter-picker "+u},a.createElement("div",{style:L.triangleShadow}),a.createElement("div",{style:L.triangle}),a.createElement("div",{style:L.body},Qs(o,function(j,y){return a.createElement(Ys,{key:y,color:j,hex:j,style:L.swatch,onClick:g,onHover:i,focusStyle:{boxShadow:"0 0 4px "+j}})}),a.createElement("div",{style:L.hash},"#"),a.createElement(se,{label:null,style:{input:L.input},value:r.replace("#",""),onChange:g}),a.createElement("div",{style:L.clear})))};Mc.propTypes={width:_.oneOfType([_.string,_.number]),triangle:_.oneOf(["hide","top-left","top-right"]),colors:_.arrayOf(_.string),styles:_.object};Mc.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};Ze(Mc);var cc=function(e){var t=Z({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 a.createElement("div",{style:t.picker})};cc.propTypes={hsl:_.shape({h:_.number,s:_.number,l:_.number,a:_.number})};cc.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var uc=function(e){var t=Z({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 a.createElement("div",{style:t.picker})};uc.propTypes={hsl:_.shape({h:_.number,s:_.number,l:_.number,a:_.number})};uc.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var i_e=function(e){var t=e.onChange,i=e.rgb,r=e.hsl,o=e.hex,n=e.hsv,M=function(g,j){if(g.hex)Ls(g.hex)&&t({hex:g.hex,source:"hex"},j);else if(g.rgb){var y=g.rgb.split(",");vn(g.rgb,"rgb")&&t({r:y[0],g:y[1],b:y[2],a:1,source:"rgb"},j)}else if(g.hsv){var T=g.hsv.split(",");vn(g.hsv,"hsv")&&(T[2]=T[2].replace("%",""),T[1]=T[1].replace("%",""),T[0]=T[0].replace("°",""),T[1]==1?T[1]=.01:T[2]==1&&(T[2]=.01),t({h:Number(T[0]),s:Number(T[1]),v:Number(T[2]),source:"hsv"},j))}else if(g.hsl){var d=g.hsl.split(",");vn(g.hsl,"hsl")&&(d[2]=d[2].replace("%",""),d[1]=d[1].replace("%",""),d[0]=d[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),t({h:Number(d[0]),s:Number(d[1]),v:Number(d[2]),source:"hsl"},j))}},c=Z({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 a.createElement("div",{style:c.wrap,className:"flexbox-fix"},a.createElement("div",{style:c.fields},a.createElement("div",{style:c.double},a.createElement(se,{style:{input:c.input,label:c.label},label:"hex",value:o,onChange:M})),a.createElement("div",{style:c.column},a.createElement("div",{style:c.single},a.createElement(se,{style:{input:c.input2,label:c.label2},label:"rgb",value:l,onChange:M})),a.createElement("div",{style:c.single},a.createElement(se,{style:{input:c.input2,label:c.label2},label:"hsv",value:u,onChange:M})),a.createElement("div",{style:c.single},a.createElement(se,{style:{input:c.input2,label:c.label2},label:"hsl",value:N,onChange:M})))))},lc=function(e){var t=e.width,i=e.onChange,r=e.rgb,o=e.hsl,n=e.hsv,M=e.hex,c=e.header,l=e.styles,N=l===void 0?{}:l,u=e.className,L=u===void 0?"":u,g=Z(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 a.createElement("div",{style:g.picker,className:"google-picker "+L},a.createElement("div",{style:g.head},c),a.createElement("div",{style:g.swatch}),a.createElement("div",{style:g.saturation},a.createElement(on,{hsl:o,hsv:n,pointer:cc,onChange:i})),a.createElement("div",{style:g.body},a.createElement("div",{style:g.controls,className:"flexbox-fix"},a.createElement("div",{style:g.hue},a.createElement(Yi,{style:g.Hue,hsl:o,radius:"4px",pointer:uc,onChange:i}))),a.createElement(i_e,{rgb:r,hsl:o,hex:M,hsv:n,onChange:i})))};lc.propTypes={width:_.oneOfType([_.string,_.number]),styles:_.object,header:_.string};lc.defaultProps={width:652,styles:{},header:"Color picker"};Ze(lc);const ut={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 sr extends De{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?sr.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(sr.getColor(e)))};componentDidUpdate(e,t){const i=sr.getColor(this.props.color||this.props.value||"");i!==t.color&&this.setState({color:i})}renderCustomPalette(){return this.props.customPalette?a.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>a.createElement(q,{style:ut.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},a.createElement("div",{style:{...ut.iconButton,background:e}})))):null}render(){var i;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return a.createElement(J,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:a.createElement(Te,{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":ut.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?a.createElement(W,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?ut.delButton:void 0},a.createElement(wt,null)):null,a.createElement(J,{component:"div",onClick:r=>!this.props.disabled&&this.handleClick(r),title:D.t("ra_Select color"),sx:{...ut.swatch,...this.props.disabled?ut.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:{...ut.color,background:sr.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?a.createElement(ws,{sx:{...ut.popover,"&. MuiMenu-list":ut.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},a.createElement(EEe,{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?a.createElement(W,{sx:ut.closeButton,onClick:()=>this.handleChange("")},a.createElement(wt,null)):null,a.createElement(W,{sx:ut.closeButton,onClick:()=>this.handleClose()},a.createElement(we,null)),this.renderCustomPalette()):null)}}var Qn={exports:{}},p0;function ft(){return p0||(p0=1,(function(s,e){(function(i,r){s.exports=r()})(globalThis,()=>(()=>{var t={949(n,M,c){Object.defineProperty(M,"__esModule",{value:!0}),M.CronParser=void 0;var l=c(515),N=(function(){function u(L,g,j){g===void 0&&(g=!0),j===void 0&&(j=!1),this.expression=L,this.dayOfWeekStartIndexZero=g,this.monthStartIndexZero=j}return u.prototype.parse=function(){var L,g,j=(L=this.expression)!==null&&L!==void 0?L:"";if(j==="@reboot")return g=["@reboot","","","","","",""],g;if(j.startsWith("@")){var y=this.parseSpecial(this.expression);g=this.extractParts(y)}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"},j=g[L];if(!j)throw new Error("Unknown special expression.");return j},u.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var g=L.trim().split(/[ ]+/),j=0;j7)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(p){var h=p.replace(/\D/,""),C=h;return g.dayOfWeekStartIndexZero?h=="7"&&(C="0"):C=(parseInt(h)-1).toString(),p.replace(h,C)}),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 j={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var y in j)L[5]=L[5].replace(new RegExp(y,"gi"),j[y].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(p){var h=p.replace(/\D/,""),C=h;return g.monthStartIndexZero&&(C=(parseInt(h)+1).toString()),p.replace(h,C)});var T={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 d in T)L[4]=L[4].replace(new RegExp(d,"gi"),T[d].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 w=null;switch(I){case 4:w="12";break;case 5:w="6";break;case 6:w="9999";break;default:w=null;break}if(w!==null){var A=L[I].split("/");L[I]="".concat(A[0],"-").concat(w,"/").concat(A[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 j=L.match(new RegExp("[^".concat(g,"]+"),"gi"));if(j&&j.length)throw new Error("Expression contains invalid values: '".concat(j.toString(),"'"))},u})();M.CronParser=N},333(n,M,c){Object.defineProperty(M,"__esModule",{value:!0}),M.ExpressionDescriptor=void 0;var l=c(823),N=c(949),u=(function(){function L(g,j){if(this.expression=g,this.options=j,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var y=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(y,"'.")),this.options.locale=y}this.i18n=L.locales[this.options.locale],j.use24HourTimeFormat===void 0&&(j.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(g,j){var y=j===void 0?{}:j,T=y.throwExceptionOnParseError,d=T===void 0?!0:T,I=y.verbose,w=I===void 0?!1:I,A=y.dayOfWeekStartIndexZero,p=A===void 0?!0:A,h=y.monthStartIndexZero,C=h===void 0?!1:h,E=y.use24HourTimeFormat,O=y.trimHoursLeadingZero,b=O===void 0?!1:O,k=y.locale,K=k===void 0?null:k,x=y.logicalAndDayFields,S=x===void 0?!1:x,R={throwExceptionOnParseError:d,verbose:w,dayOfWeekStartIndexZero:p,monthStartIndexZero:C,use24HourTimeFormat:E,trimHoursLeadingZero:b,locale:K,logicalAndDayFields:S};R.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var he=new L(g,R);return he.getFullDescription()},L.initialize=function(g,j){j===void 0&&(j="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=j,g.load(L.locales)},L.prototype.getFullDescription=function(){var g,j,y="";try{var T=new N.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=T.parse(),this.expressionParts[0]==="@reboot")return((j=(g=this.i18n).atReboot)===null||j===void 0?void 0:j.call(g))||"Run once, at startup";var d=this.getTimeOfDayDescription(),I=this.getDayOfMonthDescription(),w=this.getMonthDescription(),A=this.getDayOfWeekDescription(),p=this.getYearDescription();y+=d+I+A+w+p,y=this.transformVerbosity(y,!!this.options.verbose),y=y.charAt(0).toLocaleUpperCase()+y.substr(1)}catch(h){if(!this.options.throwExceptionOnParseError)y=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(h)}return y},L.prototype.getTimeOfDayDescription=function(){var g=this.expressionParts[0],j=this.expressionParts[1],y=this.expressionParts[2],T="";if(!l.StringUtilities.containsAny(j,L.specialCharacters)&&!l.StringUtilities.containsAny(y,L.specialCharacters)&&!l.StringUtilities.containsAny(g,L.specialCharacters))T+=this.i18n.atSpace()+this.formatTime(y,j,g);else if(!g&&j.indexOf("-")>-1&&!(j.indexOf(",")>-1)&&!(j.indexOf("/")>-1)&&!l.StringUtilities.containsAny(y,L.specialCharacters)){var d=j.split("-");T+=l.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(y,d[0],""),this.formatTime(y,d[1],""))}else if(!g&&y.indexOf(",")>-1&&y.indexOf("-")==-1&&y.indexOf("/")==-1&&!l.StringUtilities.containsAny(j,L.specialCharacters)){var I=y.split(",");T+=this.i18n.at();for(var w=0;w-1?I=T.substring(0,T.indexOf("#")):T.indexOf("L")>-1&&(I=I.replace("L",""));var w=parseInt(I),A=g.i18n.daysOfTheWeekInCase?g.i18n.daysOfTheWeekInCase(d)[w]:j[w];if(T.indexOf("#")>-1){var p=null,h=T.substring(T.indexOf("#")+1),C=T.substring(0,T.indexOf("#"));switch(h){case"1":p=g.i18n.first(C);break;case"2":p=g.i18n.second(C);break;case"3":p=g.i18n.third(C);break;case"4":p=g.i18n.fourth(C);break;case"5":p=g.i18n.fifth(C);break}A=p+" "+A}return A},function(T){return parseInt(T)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0DaysOfTheWeek(T),T)},function(T){var d=T.substring(0,T.indexOf("-")),I=g.expressionParts[3]!="*";return I?g.i18n.commaAndX0ThroughX1(d):g.i18n.commaX0ThroughX1(d)},function(T){var d=null;if(T.indexOf("#")>-1){var I=T.substring(T.indexOf("#")+1),w=T.substring(0,T.indexOf("#"));d=g.i18n.commaOnThe(I,w).trim()+g.i18n.spaceX0OfTheMonth()}else if(T.indexOf("L")>-1)d=g.i18n.commaOnTheLastX0OfTheMonth(T.replace("L",""));else{var A=g.expressionParts[3]!="*";A?g.options.logicalAndDayFields?d=g.i18n.commaOnlyOnX0(T):d=g.i18n.commaAndOnX0():d=g.i18n.commaOnlyOnX0(T)}return d}),y},L.prototype.getMonthDescription=function(){var g=this,j=this.i18n.monthsOfTheYear(),y=this.getSegmentDescription(this.expressionParts[4],"",function(T,d){return d&&g.i18n.monthsOfTheYearInCase?g.i18n.monthsOfTheYearInCase(d)[parseInt(T)-1]:j[parseInt(T)-1]},function(T){return parseInt(T)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0Months(T),T)},function(T){return g.i18n.commaMonthX0ThroughMonthX1()||g.i18n.commaX0ThroughX1()},function(T){return g.i18n.commaOnlyInMonthX0?g.i18n.commaOnlyInMonthX0():g.i18n.commaOnlyInX0()});return y},L.prototype.getDayOfMonthDescription=function(){var g=this,j=null,y=this.expressionParts[3];switch(y){case"L":j=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":j=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var T=y.match(/(\d{1,2}W)|(W\d{1,2})/);if(T){var d=parseInt(T[0].replace("W","")),I=d==1?this.i18n.firstWeekday():l.StringUtilities.format(this.i18n.weekdayNearestDayX0(),d.toString());j=l.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),I);break}else{var w=y.match(/L-(\d{1,2})/);if(w){var A=w[1];j=l.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(A),A);break}else{if(y=="*"&&this.expressionParts[5]!="*")return"";j=this.getSegmentDescription(y,this.i18n.commaEveryDay(),function(p){return p=="L"?g.i18n.lastDay():g.i18n.dayX0?l.StringUtilities.format(g.i18n.dayX0(),p):p},function(p){return p=="1"?g.i18n.commaEveryDay():g.i18n.commaEveryX0Days(p)},function(p){return g.i18n.commaBetweenDayX0AndX1OfTheMonth(p)},function(p){return g.i18n.commaOnDayX0OfTheMonth(p)})}break}}return j},L.prototype.getYearDescription=function(){var g=this,j=this.getSegmentDescription(this.expressionParts[6],"",function(y){return/^\d+$/.test(y)?new Date(parseInt(y),1).getFullYear().toString():y},function(y){return l.StringUtilities.format(g.i18n.commaEveryX0Years(y),y)},function(y){return g.i18n.commaYearX0ThroughYearX1()||g.i18n.commaX0ThroughX1()},function(y){return g.i18n.commaOnlyInYearX0?g.i18n.commaOnlyInYearX0():g.i18n.commaOnlyInX0()});return j},L.prototype.getSegmentDescription=function(g,j,y,T,d,I){var w=null,A=g.indexOf("/")>-1,p=g.indexOf("-")>-1,h=g.indexOf(",")>-1;if(!g)w="";else if(g==="*")w=j;else if(!A&&!p&&!h)w=l.StringUtilities.format(I(g),y(g));else if(h){for(var C=g.split(","),E="",O=0;O0&&C.length>2&&(E+=",",O0&&C.length>1&&(O==C.length-1||C.length==2)&&(E+="".concat(this.i18n.spaceAnd()," ")),C[O].indexOf("/")>-1||C[O].indexOf("-")>-1){var b=C[O].indexOf("-")>-1&&C[O].indexOf("/")==-1,k=this.getSegmentDescription(C[O],j,y,T,b?this.i18n.commaX0ThroughX1:d,I);b&&(k=k.replace(", ","")),E+=k}else if(!A)E+=y(C[O]);else{var K=this.getSegmentDescription(C[O],j,y,T,d,I);K&&K.startsWith(", ")&&(K=K.substring(2)),E+=K}A?w=E:w=l.StringUtilities.format(I(g),E)}else if(A){var C=g.split("/");if(w=l.StringUtilities.format(T(C[1]),C[1]),C[0].indexOf("-")>-1){var x=this.generateRangeSegmentDescription(C[0],d,y);x.indexOf(", ")!=0&&(w+=", "),w+=x}else if(C[0].indexOf("*")==-1){var S=l.StringUtilities.format(I(C[0]),y(C[0]));S=S.replace(", ",""),w+=l.StringUtilities.format(this.i18n.commaStartingX0(),S)}}else p&&(w=this.generateRangeSegmentDescription(g,d,y));return w},L.prototype.generateRangeSegmentDescription=function(g,j,y){var T="",d=g.split("-"),I=y(d[0],1),w=y(d[1],2),A=j(g);return T+=l.StringUtilities.format(A,I,w),T},L.prototype.formatTime=function(g,j,y){var T=0,d=0,I=parseInt(g)+T,w=parseInt(j)+d;w>=60?(w-=60,I+=1):w<0&&(w+=60,I-=1),I>=24?I=I-24:I<0&&(I=24+I);var A="",p=!1;this.options.use24HourTimeFormat||(p=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),A=p?"".concat(this.getPeriod(I)," "):" ".concat(this.getPeriod(I)),I>12&&(I-=12),I===0&&(I=12));var h="";y&&(h=":".concat(("00"+y).substring(y.length)));var C=I.toString(),E=("00"+C).substring(C.length),O=w.toString(),b=("00"+O).substring(O.length),k=this.options.trimHoursLeadingZero?C:E;return"".concat(p?A:"").concat(k,":").concat(b).concat(h).concat(p?"":A)},L.prototype.transformVerbosity=function(g,j){if(!j&&(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 y=0,T=Object.entries(this.i18n.conciseVerbosityReplacements());y=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L})();M.ExpressionDescriptor=u},747(n,M,c){Object.defineProperty(M,"__esModule",{value:!0}),M.enLocaleLoader=void 0;var l=c(486),N=(function(){function u(){}return u.prototype.load=function(L){L.en=new l.en},u})();M.enLocaleLoader=N},486(n,M){Object.defineProperty(M,"__esModule",{value:!0}),M.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 in a month"},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.prototype.onTheHour=function(){return"on the hour"},l})();M.en=c},515(n,M){Object.defineProperty(M,"__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&&j<=59,"seconds part must be >= 0 and <= 59")}},N.minuteRange=function(u){for(var L=u.split(","),g=0;g=0&&j<=59,"minutes part must be >= 0 and <= 59")}},N.hourRange=function(u){for(var L=u.split(","),g=0;g=0&&j<=23,"hours part must be >= 0 and <= 23")}},N.dayOfMonthRange=function(u){for(var L=u.split(","),g=0;g=1&&j<=31,"DOM part must be >= 1 and <= 31")}},N.monthRange=function(u,L){for(var g=u.split(","),j=0;j=1&&y<=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(","),j=0;j=0&&y<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},N})();M.default=l},823(n,M){Object.defineProperty(M,"__esModule",{value:!0}),M.StringUtilities=void 0;var c=(function(){function l(){}return l.format=function(N){for(var u=[],L=1;L-1})},l})();M.StringUtilities=c}},i={};function r(n){var M=i[n];if(M!==void 0)return M.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 M=r(333),c=r(747);M.ExpressionDescriptor.initialize(new c.enLocaleLoader),n.default=M.ExpressionDescriptor;var l=M.ExpressionDescriptor.toString;n.toString=l})(),o})())})(Qn)),Qn.exports}var r_e=ft();const o_e=_j(r_e);var n_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"à l'heure pile"},u})();return l.fr=N,c().locales.fr=new N,n})())})(n_e);var a_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"en punto"},u})();return l.es=N,c().locales.es=new N,n})())})(a_e);var M_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"zur vollen Stunde"},u})();return l.de=N,c().locales.de=new N,n})())})(M_e);var c_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"all'ora esatta"},u})();return l.it=N,c().locales.it=new N,n})())})(c_e);var u_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(globalThis,t=>(()=>{var i={93(g){g.exports=t}},r={};function o(g){var j=r[g];if(j!==void 0)return j.exports;var y=r[g]={exports:{}};return i[g](y,y.exports,o),y.exports}o.n=g=>{var j=g&&g.__esModule?()=>g.default:()=>g;return o.d(j,{a:j}),j},o.d=(g,j)=>{for(var y in j)o.o(j,y)&&!o.o(g,y)&&Object.defineProperty(g,y,{enumerable:!0,get:j[y]})},o.o=(g,j)=>Object.prototype.hasOwnProperty.call(g,j),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 M=o(93),c=o.n(M),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.ru=void 0;var N=function(g,j){var y=Number(g);return y!==void 0?j[y%100>4&&y%100<20?2:[2,0,1,1,1,2][y%10<5?Math.abs(y)%10:5]]:j[2]},u=function(g,j){var y=Number(g);return y!==void 0?j[y===0?0:y===1||y===2||y===4?1:2]:j[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(j){return N(j,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},g.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},g.prototype.atX0SecondsPastTheMinute=function(j){return N(j,["в %s секунду","в %s секунды","в %s секунд"])},g.prototype.everyX0Minutes=function(j){return N(j,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},g.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},g.prototype.atX0MinutesPastTheHour=function(j){return N(j,["в %s минуту","в %s минуты","в %s минут"])},g.prototype.everyX0Hours=function(j){return N(j,["каждый %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(j){return N(j,[", каждый %s день недели",", каждые %s дня недели",", каждые %s дней недели"])},g.prototype.commaX0ThroughX1=function(j){return j&&(j[0]=="2"||j[0]=="3")?", со %s по %s":", с %s по %s"},g.prototype.commaAndX0ThroughX1=function(j){return j&&(j[0]=="2"||j[0]=="3")?" и со %s по %s":" и с %s по %s"},g.prototype.first=function(j){return u(j,["первое","первый","первую"])},g.prototype.second=function(j){return u(j,["второе","второй","вторую"])},g.prototype.third=function(j){return u(j,["третье","третий","третью"])},g.prototype.fourth=function(j){return u(j,["четвертое","четвертый","четвертую"])},g.prototype.fifth=function(j){return u(j,["пятое","пятый","пятую"])},g.prototype.commaOnThe=function(j){return j==="2"?", во ":", в "},g.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},g.prototype.lastDay=function(){return"последний день"},g.prototype.commaOnTheLastX0OfTheMonth=function(j){return u(j,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},g.prototype.commaOnlyOnX0=function(j){return j&&j[0]==="2"?", только во %s":", только в %s"},g.prototype.commaAndOnX0=function(){return", и %s"},g.prototype.commaEveryX0Months=function(j){return N(j,[""," каждые %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(j){return N(j,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},g.prototype.firstWeekday=function(){return"первый будний день"},g.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},g.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},g.prototype.commaEveryX0Days=function(j){return N(j,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},g.prototype.commaBetweenDayX0AndX1OfTheMonth=function(j){return j&&j.substring(0,j.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},g.prototype.commaOnDayX0OfTheMonth=function(j){return j&&j[0]=="2"?", во %s число месяца":", в %s число месяца"},g.prototype.commaEveryX0Years=function(j){return N(j,[", каждый %s год",", каждые %s года",", каждые %s лет"])},g.prototype.commaStartingX0=function(){return", начало %s"},g.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},g.prototype.daysOfTheWeekInCase=function(j){return j===void 0&&(j=2),j==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},g.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},g.prototype.monthsOfTheYearInCase=function(j){return j==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},g.prototype.onTheHour=function(){return"ровно в час"},g})();return l.ru=L,c().locales.ru=new L,n})())})(u_e);var l_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"整点"},u})();return l.zh_CN=N,c().locales.zh_CN=new N,n})())})(l_e);var N_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"рівно о годині"},u})();return l.uk=N,c().locales.uk=new N,n})())})(N_e);var L_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"na hora certa"},u})();return l.pt_BR=N,c().locales.pt_BR=new N,n})())})(L_e);var g_e={exports:{}};(function(s,e){(function(i,r){s.exports=r(ft())})(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 M=o(93),c=o.n(M),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.prototype.onTheHour=function(){return"o pełnej godzinie"},u})();return l.pl=N,c().locales.pl=new N,n})())})(g_e);function HL(s,e){return o_e.toString(s,{locale:e})}const Be={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}},j_e=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],y_e=["January","February","March","April","May","June","July","August","September","October","November","December"];function A0(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 M=parseInt(o[0],10);M<=n;M++)t.push(M)}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 m0(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=rs.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=A0(this.state[t],i),o=r.indexOf(e);o!==-1?r.splice(o,1):(r.push(e),r.sort()),this.setCronAttr(t,m0(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)},D.t("ra_Deselect all")),a.createElement(q,{key:"addall",variant:"contained",style:Be.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},D.t("ra_Select all")),a.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)?a.createElement("div",{key:`allInner${o}`,style:{width:"100%"}}):null,a.createElement(q,{key:`_${o}`,variant:r.indexOf(o)!==-1?"contained":"outlined",style:Be.numberButton,color:r.indexOf(o)!==-1?"secondary":"primary",onClick:()=>this.onToggle(o,e,t)},t===7?D.t(j_e[o]):t===12?y_e[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 M=1;return o&&i&&(M=parseInt(i.replace("*/",""),10)||1),a.createElement("div",null,a.createElement(nt,{variant:"standard",style:{...Be.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,m0(N,t),l)}}},a.createElement(re,{key:"every",value:"every"},D.t(`sc_every_${e}`)),a.createElement(re,{key:"everyN",value:"everyN"},D.t(`sc_everyN_${e}`)),a.createElement(re,{key:"specific",value:"specific"},D.t(`sc_specific_${e}`))),o&&a.createElement(Te,{variant:"standard",key:"interval",label:D.t(`sc_${e}`),value:M,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("-")?D.t("ra_Invalid CRON"):HL(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 a.createElement("div",{style:Be.mainDiv},a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},a.createElement(Te,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},rs.convertCronToText(this.state.cron,this.props.language||"en"),a.createElement("span",{style:Be.warning},i?D.t("ra_warning_every_second"):t?D.t("ra_warning_every_minute"):"")),a.createElement(V,{control:a.createElement(ue,{checked:!!this.state.seconds,onChange:r=>this.setState({seconds:r.target.checked?"*":!1},()=>this.recalcCron())}),label:D.t("ra_use seconds")}),a.createElement(Jg,{position:"static",sx:{"&.MuiAppBar-root":Be.appBar},color:"secondary"},a.createElement(Bg,{value:this.state.tab,style:Be.appBar,color:"secondary",onChange:(r,o)=>this.setState({tab:o})},this.state.seconds!==!1&&a.createElement(Us,{id:"sc_seconds",label:D.t("sc_seconds")}),a.createElement(Us,{id:"minutes",label:D.t("sc_minutes")}),a.createElement(Us,{id:"hours",label:D.t("sc_hours")}),a.createElement(Us,{id:"dates",label:D.t("sc_dates")}),a.createElement(Us,{id:"months",label:D.t("sc_months")}),a.createElement(Us,{id:"dow",label:D.t("sc_dows")}))),e===0&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("seconds",60)),e===1&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("minutes",60)),e===2&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("hours",24)),e===3&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("dates",31)),e===4&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("months",12)),e===5&&a.createElement("div",{style:Be.tabContent},this.getPeriodsTab("dow",7)))}}const Ps={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 wve(s){const{open:e,toggleTranslation:t,noTranslation:i,title:r,fullWidth:o,help:n,maxWidth:M,progress:c,icon:l,applyDisabled:N,applyButton:u,onClose:L,children:g,titleButtonApply:j,titleButtonClose:y,onApply:T,textInput:d,defaultValue:I,overflowHidden:w}=s,[A,p]=qa(I||"");Ce(()=>{p(I||"")},[I]);const h=Rg(),C=AN(h.breakpoints.down("md"));let E=null;return l&&(E=l),a.createElement(Ae,{open:e,maxWidth:C?!1:M||"md",fullWidth:!!o,fullScreen:C,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":C?{}:Ps.modalDialog}},r&&a.createElement(fe,null,l?a.createElement(E,{style:Ps.titleIcon}):null,r,D.getLanguage()!=="en"&&t?a.createElement(W,{size:"large",sx:m.getStyle(s.theme,Ps.languageButton,i&&Ps.languageButtonActive),onClick:()=>t(),title:D.t("Disable/Enable translation")},a.createElement(qg,null)):null),a.createElement(_e,{style:{...Ps.content,...w?Ps.overflowHidden:void 0,paddingTop:8}},d&&a.createElement(Te,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:A,onChange:O=>p(O.target.value)}),g,n?a.createElement("div",null,n):null),a.createElement(xe,null,u!==!1&&a.createElement(q,{startIcon:a.createElement(We,null),disabled:c||N&&I===A,onClick:()=>T(d?A:""),variant:"contained",color:"primary"},D.t(j||"ra_Ok")),a.createElement(q,{color:"grey",onClick:L,disabled:c,variant:"contained",startIcon:a.createElement(we,null)},D.t(y||"ra_Cancel"))))}function T_e(){const s=xj();return[...s.breakpoints.keys].reverse().reduce((t,i)=>{const r=AN(s.breakpoints.up(i));return!t&&r?i:t},null)||"xs"}function Mn(){return s=>function(t){const i=T_e();return a.createElement(s,{...t,width:i})}}function D_e(s){const[e,t]=a.useState(s.input||s.value||""),[i,r]=a.useState("");return a.createElement(Ae,{open:!0,onClose:()=>s.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:s.fullWidth!==void 0?s.fullWidth:!1},a.createElement(fe,{id:"form-dialog-title"},s.titleText),a.createElement(_e,null,a.createElement(as,null,s.promptText),a.createElement(Te,{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})),a.createElement(xe,null,a.createElement(q,{variant:"contained",disabled:!e||!!i,onClick:()=>s.onClose(e),color:"primary",startIcon:a.createElement(We,null)},s.applyText||D.t("ra_Ok")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>s.onClose(null),startIcon:a.createElement(we,null)},s.cancelText||D.t("ra_Cancel"))))}const d_e=Mn()(D_e);function Ea(s){return a.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},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 Ti(s){return a.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},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 uo(s){return a.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},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 Nc(s){return a.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},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 h_e=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,(M,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 z_e(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 w_e=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],f0={"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 I_e(s,e){var o;const{key:t,level:i,...r}=e;switch(s.nodeType){case 1:return bg(p_e(s.nodeName),C_e(s,t),O0(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 M=s.parentNode.nodeName.toLowerCase();return w_e.includes(M)?(/\S/.test(n)&&console.warn(`A textNode is not allowed inside '${M}'. Your text "${n}" will be ignored`),null):n}case 8:return null;case 11:return O0(s.childNodes,i,e);default:return null}}function C_e(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]=h_e(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[f0[r.name]||r.name]=!0;break;default:t[f0[r.name]||r.name]=r.value}})}return t}function O0(s,e,t){const i=[...s].map((r,o)=>Oo(r,{...t,index:o,level:e+1})).filter(Boolean);return i.length?i:null}function p_e(s){return/[a-z]+[A-Z]+[a-z]+/.test(s)?s:s.toLowerCase()}function VL(s,e={}){return typeof s=="string"?A_e(s,e):s instanceof Node?Oo(s,e):null}function Oo(s,e={}){if(!s||!(s instanceof Node))return null;const{actions:t=[],index:i=0,level:r=0,randomKey:o}=e;let n=s,M=`${r}-${i}`;const c=[];return o&&r===0&&(M=`${z_e()}-${M}`),Array.isArray(t)&&t.forEach(l=>{l.condition(n,M,r)&&(typeof l.pre=="function"&&(n=l.pre(n,M,r),n instanceof Node||(n=s)),typeof l.post=="function"&&c.push(l.post(n,M,r)))}),c.length?c:I_e(n,{key:M,level:r,...e})}function A_e(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 M=new DOMParser().parseFromString(s,o);if(t){const{childNodes:l}=M.body;return i?l:[...l].map(N=>Oo(N,e))}const c=M.querySelector(r)||M.body.childNodes[0];if(!(c instanceof Node))throw new TypeError("Error parsing input");return i?c:Oo(c,e)}catch{}return null}var m_e=Object.defineProperty,f_e=(s,e,t)=>e in s?m_e(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Vr=(s,e,t)=>f_e(s,typeof e!="symbol"?e+"":e,t),E0="react-inlinesvg",O_e=10,ne={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function E_e(s){return s[Math.floor(Math.random()*s.length)]}function ir(){var s;return!!(typeof window<"u"&&((s=window.document)!=null&&s.createElement))}function __e(){return v_e()&&typeof window<"u"&&window!==null}function x_e(s,...e){const t={};for(const i in s)({}).hasOwnProperty.call(s,i)&&(e.includes(i)||(t[i]=s[i]));return t}function S_e(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 k_e(s=1){return new Promise(e=>{setTimeout(e,s*1e3)})}function v_e(){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 Y_e=class{constructor(){Vr(this,"cacheApi"),Vr(this,"cacheStore"),Vr(this,"subscribers",[]),Vr(this,"isReady",!1),this.cacheStore=new Map;let s=E0,e=!1;ir()&&(s=window.REACT_INLINESVG_CACHE_NAME??E0,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)===ne.LOADED}async fetchAndAddToInternalCache(s,e){const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===ne.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:ne.IDLE}),await this.fetchAndAddToInternalCache(s,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(s,{content:"",status:ne.LOADING});try{const i=await ZL(s,e);this.cacheStore.set(s,{content:i,status:ne.LOADED})}catch(i){throw this.cacheStore.set(s,{content:"",status:ne.FAILED}),i}}}async fetchAndAddToPersistentCache(s,e){var r,o,n;const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===ne.LOADED)return;if((t==null?void 0:t.status)===ne.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:ne.IDLE}),await this.fetchAndAddToPersistentCache(s,e)});return}this.cacheStore.set(s,{content:"",status:ne.LOADING});const i=await((r=this.cacheApi)==null?void 0:r.match(s));if(i){const M=await i.text();this.cacheStore.set(s,{content:M,status:ne.LOADED});return}try{await((o=this.cacheApi)==null?void 0:o.add(new Request(s,e)));const M=await((n=this.cacheApi)==null?void 0:n.match(s)),c=await(M==null?void 0:M.text())??"";this.cacheStore.set(s,{content:c,status:ne.LOADED})}catch(M){throw this.cacheStore.set(s,{content:"",status:ne.FAILED}),M}}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 _0(s){const e=et(void 0);return Ce(()=>{e.current=s}),e.current}function Q_e(s){const{baseURL:e,content:t,description:i,handleError:r,hash:o,preProcessor:n,title:M,uniquifyIDs:c=!1}=s;try{const l=b_e(t,n),N=VL(l,{nodeOnly:!0});if(!N||!(N instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const u=XL(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 M<"u"){const L=u.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),M){const g=document.createElementNS("http://www.w3.org/2000/svg","title");g.innerHTML=M,u.prepend(g)}}return u}catch(l){return r(l)}}function b_e(s,e){return e?e(s):s}function XL(s,e){const{baseURL:t="",hash:i,uniquifyIDs:r}=e,o=["id","href","xlink:href","xlink:role","xlink:arcrole"],n=["href","xlink:href"],M=(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&&!M(u,L.value)&&(L.value=`${L.value}__${i}`)})}return c.children.length?XL(c,e):c}),s}var Ni;function U_e(s){const{cacheRequests:e=!0,children:t=null,description:i,fetchOptions:r,innerRef:o,loader:n=null,onError:M,onLoad:c,src:l,title:N,uniqueHash:u}=s,[L,g]=Ug((S,R)=>({...S,...R}),{content:"",element:null,isCached:e&&Ni.isCached(s.src),status:ne.IDLE}),{content:j,element:y,isCached:T,status:d}=L,I=_0(s),w=_0(L),A=et(u??S_e(8)),p=et(!1),h=et(!1),C=Kt(S=>{p.current&&(g({status:S.message==="Browser does not support SVG"?ne.UNSUPPORTED:ne.FAILED}),M==null||M(S))},[M]),E=Kt((S,R=!1)=>{p.current&&g({content:S,isCached:R,status:ne.LOADED})},[]),O=Kt(async()=>{const S=await ZL(l,r);E(S)},[r,E,l]),b=Kt(()=>{try{const S=Q_e({...s,handleError:C,hash:A.current,content:j}),R=VL(S);if(!R||!IN(R))throw new Error("Could not convert the src to a React element");g({element:R,status:ne.READY})}catch(S){C(S)}},[j,C,s]),k=Kt(async()=>{const S=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l);let R;if(S?R=S[1]?window.atob(S[2]):decodeURIComponent(S[2]):l.includes("{p.current&&g({content:"",element:null,isCached:!1,status:ne.LOADING})},[]);Ce(()=>{if(p.current=!0,!(!ir()||h.current)){try{if(d===ne.IDLE){if(!__e())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");K()}}catch(S){C(S)}return h.current=!0,()=>{p.current=!1}}},[]),Ce(()=>{if(!(!ir()||!I)&&I.src!==l){if(!l){C(new Error("Missing src"));return}K()}},[C,K,I,l]),Ce(()=>{d===ne.LOADED&&b()},[d,b]),Ce(()=>{!ir()||!I||I.src!==l||(I.title!==N||I.description!==i)&&b()},[i,b,I,l,N]),Ce(()=>{if(w)switch(d){case ne.LOADING:{w.status!==ne.LOADING&&k();break}case ne.LOADED:{w.status!==ne.LOADED&&b();break}case ne.READY:{w.status!==ne.READY&&(c==null||c(l,T));break}}},[k,b,T,c,w,l,d]);const x=x_e(s,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return ir()?y?$g(y,{ref:o,...x}):[ne.UNSUPPORTED,ne.FAILED].includes(d)?t:n:n}function _a(s){Ni||(Ni=new Y_e);const{loader:e}=s,[t,i]=qa(Ni.isReady);return Ce(()=>{t||Ni.onReady(()=>{i(!0)})},[t]),t?a.createElement(U_e,{...s}):e}function $_e(s){return a.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},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 Ive(s){let e;const t=s==null?void 0:s._id;return t?(t.startsWith("_design/")||t==="system"?e=a.createElement(go,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=a.createElement(ly,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=a.createElement($_e,{className:"iconOwn"}):t==="system.adapter"?e=a.createElement(go,{className:"iconOwn"}):t==="system.group"?e=a.createElement(oM,{className:"iconOwn"}):t==="system.user"?e=a.createElement(iM,{className:"iconOwn"}):t==="system.host"?e=a.createElement(rM,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=a.createElement(li,{className:"iconOwn"}):t.endsWith(".info")?e=a.createElement(sM,{className:"iconOwn"}):(s==null?void 0:s.type)==="meta"&&(e=a.createElement(vo,{className:"iconOwn"})),e||null):null}function Cve(s,e){var r;e=e||".";let t="";const i=s==null?void 0:s.common;if(i){const o=i.icon;if(o)if(o.startsWith("data:image/"))t=o;else if(o.includes(".")){let n;s.type==="instance"||s.type==="adapter"?t=`${e}/adapter/${i.name}/${o}`:(r=s._id)!=null&&r.startsWith("system.adapter.")?(n=s._id.split(".",3),o[0]==="/"?n[2]+=o:n[2]+=`/${o}`,t=`${e}/adapter/${n[2]}`):(n=s._id.split(".",2),o[0]==="/"?n[0]+=o:n[0]+=`/${o}`,t=`${e}/adapter/${n[0]}`)}else return null}return t||null}const P_e=window.location.hostname.endsWith("iobroker.in"),x0=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1),be=a.forwardRef(function(e,t){var i,r,o;if(e.src){if(typeof e.src=="string"){if(e.src.length<3)return e.sx?a.createElement(J,{component:"span",sx:e.sx,ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src):a.createElement("span",{ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src);if(e.src.startsWith("data:image/svg"))return a.createElement(_a,{title:e.title||void 0,src:e.src,className:e.className?`iconOwn ${e.className}`:"iconOwn",width:((i=e.style)==null?void 0:i.width)||28,height:((r=e.style)==null?void 0:r.height)||((o=e.style)==null?void 0:o.width)||28,style:e.style||void 0});if(P_e&&!e.src.startsWith("http://")&&!e.src.startsWith("https://")){let n=e.src;return n.startsWith("./")?n=x0+n.substring(2):n.startsWith("/")||(n=x0+n),e.sx?a.createElement(J,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${n}`,alt:e.alt||void 0,ref:t,onError:M=>{var c;return(c=e.onError)==null?void 0:c.call(e,M)}}):a.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${n}`,alt:e.alt||void 0,ref:t,onError:M=>{var c;return(c=e.onError)==null?void 0:c.call(e,M)}})}return e.sx?a.createElement(J,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError}):a.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError})}return e.src}return null});be.displayName="Icon";const gs={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"}},ve={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics","csv"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function S0(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(S0(o,!0))}catch{console.error("Cannot convert base64 to string"),o=""}}else{const M=m.detectMimeType(S0(o));M&&(n.ext=M,n.copyPossible=ve.code.includes(M)||ve.txt.includes(M))}n.copyPossible&&(n.ext&&ve.txt.includes(n.ext)?(n.text=o,n.editingValue=o):n.ext&&ve.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.unsubscribeFiles(t,i,this.onFileChanged)}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 a.createElement(Te,{variant:"standard",style:gs.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&ve.images.includes(this.state.ext)?this.state.imgError?a.createElement(Nc,{style:{...gs.img,...this.props.getStyleBackgroundImage()}}):a.createElement(be,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...gs.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&ve.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&&ve.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(Ae,{sx:{"&.MuiDialog-scrollPaper":gs.dialog,"& .MuiDialog-paper":gs.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:gs.dialogTitle},a.createElement(fe,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&ve.images.includes(this.state.ext)&&a.createElement("div",null,a.createElement(W,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},a.createElement(tM,null)))),a.createElement(_e,{style:gs.content},this.getContent()),a.createElement(xe,null,this.state.copyPossible?a.createElement(q,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),m.copyToClipboard(this.state.text||this.state.code||"")},startIcon:a.createElement(ej,null)},this.props.t("Copy content")):null,this.state.editing?a.createElement(q,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:a.createElement(Kn,null)},this.props.t("Save")):null,a.createElement(q,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:a.createElement(we,null)},this.props.t("Close"))))}}const J_e=Mn()(W_e),Ws=32,_t=32,Zr=120,k0=64,v0="Not found",Xr={all:SN,images:ry,code:eM,txt:sy,audio:vj,video:dy},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% - 104px)",display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${k0}px`},itemTile:s=>({position:"relative",userSelect:"none",cursor:"pointer",height:Zr,width:k0,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:s.palette.secondary.light,color:m.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:Zr-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:Zr-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Zr-32-16-8,display:"block",objectFit:"contain"},itemSelected:s=>({background:s.palette.primary.main,color:m.invertColor(s.palette.primary.main,!0)}),itemTable:s=>({userSelect:"none",cursor:"pointer",height:Ws,display:"inline-flex",lineHeight:`${Ws}px`,"&:hover":{background:s.palette.secondary.light,color:m.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:_t,height:Ws,minWidth:_t,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${_t/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:_t,height:Ws,minWidth:_t,padding:0},itemAclButtonTable:{width:_t,height:Ws,minWidth:_t,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:_t,height:Ws,minWidth:_t,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"}},Ft="0_userdata.0";function Js(s){const e=(s||"").split("/");return e.length&&e.pop(),e.join("/")}function bn(s){const e=m.getFileExtension(s);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const oe="Table",Un="Tile";function Y0(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")||oe:r=oe;let o=this.props.selected||this.localStorage.getItem("files.selected")||Ft,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===oe&&!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=Ft,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.browseList=[],this.browseListRunning=!1,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 y=this.state.restrictToFolder.split("/")[0];u=u.filter(T=>T._id===y)}else this.state.expertMode||(u=u.filter(y=>!y._id.endsWith(".admin")));const j=u.findIndex(y=>y._id==="system.meta.uuid");if(j!==-1&&u.splice(j,1),u.forEach(y=>{if(this.limitToObjectID&&this.limitToObjectID!==y._id)return;const T={id:y._id,name:y._id,title:y.common&&y.common.name||y._id,meta:!0,from:y.from,ts:y.ts,color:y.common&&y.common.color,icon:y.common&&y.common.icon,folder:!0,acl:y.acl,level:0};T.id===Ft?g=T:L.push(T)}),L.sort((y,T)=>y.id>T.id?1:y.idy.folder).map(y=>this.browseFolder(y.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("/"),M=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 j;const g={id:`${e}/${L.file}`,ext:m.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(j=L.stats)==null?void 0:j.size,modified:L.modifiedAt,acl:L.acl,level:M};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(Y0),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===v0?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(M=>this.setState({folders:M})).catch(M=>console.error(`Cannot read folder: ${M.message}`))},300))};changeFolder(e,t){var r;e==null||e.stopPropagation(),this.lastSelect=Date.now();let i=t||Js(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=m.getFileExtension(e);(!this.props.filterFiles||r&&this.props.filterFiles.includes(r))&&(!this.state.filterByType||r&&ve[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!==Ft&&!e.temp)return null;const i=t?uo:Ti,r=this.state.viewType===oe?e.level*this.levelPadding:0,o=e.name===Ft,n=o||e.name==="vis.0"||e.name==="vis-2.0",M=m.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`],n&&Y.specialFolder);return a.createElement(J,{component:"div",key:e.id,id:e.id,style:this.state.viewType===oe?{marginLeft:r,width:`calc(100% - ${r}px)`}:void 0,onClick:l=>this.state.viewType===oe?this.select(e.id,l):this.changeFolder(l,e.id),onDoubleClick:l=>this.state.viewType===oe&&this.toggleFolder(e,l),title:this.getText(e.title),className:"browserItem",sx:m.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:{})},a.createElement(i,{style:M,onClick:this.state.viewType===oe?l=>this.toggleFolder(e,l):void 0}),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},o?this.props.t("ra_User files"):e.name),a.createElement(J,{component:"div",style:Y[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.state.folders[e.id]?this.state.folders[e.id].length:""),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===oe&&this.props.expertMode?a.createElement(J,{component:"div",sx:{...Y.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===oe&&this.props.allowDownload?a.createElement("div",{style:Y[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===oe&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?a.createElement(W,{"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"},a.createElement(wt,{fontSize:"small"})):this.state.viewType===oe&&this.props.allowDelete?a.createElement(J,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return a.createElement(J,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",Js(this.state.currentDir)),className:"browserItem",sx:m.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFolder${this.state.viewType}`])},a.createElement(Ti,{style:m.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`])}),a.createElement(Sj,{sx:Y.itemFolderIconBack}),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return a.createElement("div",{style:Y[`itemSize${this.state.viewType}`]},e||e===0?m.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let i;return t?i=t.toString(16).padStart(3,"0"):i="",a.createElement("div",{style:Y[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?a.createElement(W,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:Y[`itemAclButton${this.state.viewType}`]},i||"---"):i||"---")}getFileIcon(e){switch(e){case"json":case"json5":return a.createElement(Qj,{style:Y[`itemIcon${this.state.viewType}`]});case"css":return a.createElement(bj,{style:Y[`itemIcon${this.state.viewType}`]});case"js":case"ts":return a.createElement(eM,{style:Y[`itemIcon${this.state.viewType}`]});case"html":case"md":return a.createElement(vo,{style:Y[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return a.createElement(cy,{style:Y[`itemIcon${this.state.viewType}`]});default:return a.createElement(SN,{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":case"csv":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===oe?e.level*this.levelPadding:0,i=m.getFileExtension(e.name);return a.createElement(J,{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&&ve[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===oe?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:m.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFile${this.state.viewType}`],this.state.selected===e.id?Y.itemSelected:void 0)},i&&ve.images.includes(i)?this.state.fileErrors.includes(e.id)?a.createElement(Nc,{style:{...Y[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...Y[`itemNoImage${this.state.viewType}`]}}):a.createElement(be,{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),a.createElement(J,{component:"div",sx:Y[`itemName${this.state.viewType}`]},e.name),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.props.expertMode?this.formatAcl(e.acl):null),a.createElement(J,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===oe&&this.props.expertMode&&Lc.getEditFile(i)?a.createElement(W,{"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&&ve[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"},a.createElement(or,{fontSize:"small"})):a.createElement(J,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===oe&&this.props.allowDownload?a.createElement(J,{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()},a.createElement(Ny,null)):null,this.state.viewType===oe&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==Ft?a.createElement(W,{"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"},a.createElement(wt,{fontSize:"small"})):this.state.viewType===oe&&this.props.allowDelete?a.createElement(J,{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===Un){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&&ve[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(M=>i.push(M)):i.push(n),this.state.folders[r.id]&&o){const M=this.renderItems(r.id);Array.isArray(M)?M.forEach(c=>i.push(c)):i.push(M)}}else(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&ve[this.state.filterByType].includes(r.ext))&&i.push(this.renderFile(r))}),i}return a.createElement("div",{style:{position:"relative"}},a.createElement(So,{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?Xr[this.state.filterByType||"all"]||Xr.all:null,t=this.findFirstFolder(this.state.selected);return a.createElement(pN,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?a.createElement(W,{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"},a.createElement(ty,{fontSize:"small"})):null,this.props.showExpertButton?a.createElement(W,{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"},a.createElement(Ea,null)):null,this.props.showViewTypeButton?a.createElement(W,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:Y.menuButton,"aria-label":"view mode",onClick:()=>{const i=this.state.viewType===oe?Un:oe;this.localStorage.setItem("files.viewType",i);let r=this.state.selected;bn(r)&&(r=Js(r)),this.setState({viewType:i,currentDir:r},()=>{this.state.viewType===oe&&this.scrollToSelected()})},size:"small"},this.state.viewType!==oe?a.createElement(ny,{fontSize:"small"}):a.createElement(wy,{fontSize:"small"})):null,a.createElement(W,{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"},a.createElement(ey,{fontSize:"small"})),a.createElement(W,{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"},a.createElement(xN,{fontSize:"small"})),this.props.allowCreateFolder?a.createElement(W,{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"},a.createElement(ON,{fontSize:"small"})):null,this.props.allowUpload?a.createElement(W,{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"},a.createElement(Lo,{fontSize:"small"})):null,this.props.showTypeSelector&&e?a.createElement(Le,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:Y.tooltip}}},a.createElement(W,{size:"small",onClick:i=>this.setState({showTypesMenu:i.target})},a.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?a.createElement(ws,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(Xr).map(i=>{const r=Xr[i];return a.createElement(re,{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}))}},a.createElement(Xt,null,a.createElement(r,{fontSize:"small"})),a.createElement(dt,null,this.props.t(`ra_fileType_${i}`)))})):null,a.createElement(Le,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:Y.tooltip}}},a.createElement(W,{color:"inherit",edge:"start",style:Y.menuButton,onClick:this.setStateBackgroundImage,size:"small"},a.createElement(tM,{fontSize:"small"}))),this.state.viewType!==oe&&this.props.allowDelete?a.createElement(Le,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:Y.tooltip}}},a.createElement("span",null,a.createElement(W,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===Ft,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"},a.createElement(wt,{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?a.createElement(d_e,{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(M=>i[M]=this.state.folders[M]);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(Y0),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})},a.createElement(we,null)),a.createElement(EN,{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 M=[...this.state.expanded];M.includes(o)||(M.push(o),M.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(M))),this.setState({expanded:M},()=>this.select(n))}else setTimeout(()=>this.browseFolder(o,null,!1,!0).then(M=>{const c=[...this.state.expanded];c.includes(o)||(c.push(o),c.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(c))),this.setState({folders:M,expanded:c},()=>this.select(n))}),500)})})}},r.readAsArrayBuffer(i)})}},({getRootProps:e,getInputProps:t})=>a.createElement("div",{style:{...Y.uploadDiv,...this.state.uploadFile==="dragging"?Y.uploadDivDragging:void 0},...e()},a.createElement("input",{...t()}),a.createElement(J,{component:"div",sx:Y.uploadCenterDiv},a.createElement("div",{style:Y.uploadCenterTextAndIcon},a.createElement(Lo,{style:Y.uploadCenterIcon}),a.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 M=JSON.parse(JSON.stringify(this.state.folders));delete M[t.id];const c=Js(t.id),l=M[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:M}))}})}});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?a.createElement(Ae,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},a.createElement(fe,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),a.createElement(_e,null,a.createElement(as,null,this.props.t("ra_Are you sure?")),a.createElement(V,{control:a.createElement(ue,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),a.createElement(q,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||J_e;return this.state.viewer?a.createElement(e,{supportSubscribes:this.supportSubscribes||void 0,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile||void 0,themeType:this.props.themeType||"light",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(S4,{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;bn(this.state.path)&&(e=Js(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===v0?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(Fg,{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")):a.createElement("div",{style:Y.pathDivBreadcrumbSelected,key:`${this.state.selected}_${r}`,onClick:()=>this.setState({pathFocus:!0})},i)}))}renderPath(){return a.createElement(J,{component:"div",key:"path",sx:Y.pathDiv},this.state.pathFocus?a.createElement(qt,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:a.createElement(W,{size:"small",onClick:()=>this.changeToPath()},a.createElement(oy,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)),a.createElement("div",{style:{...Y.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===Un?this.renderPath():null,a.createElement("div",{style:{...Y.filesDiv,...Y[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==oe&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===oe?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==oe?a.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())):a.createElement(Gg,null)}}const B_e=Mn()(Lc),R_e="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgMGgtNDY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDMydjI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMjg4djI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMTkyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0zOTIgMjI0aC0yNHYtMTZoMjR6bTM0NCAwaC0yNHYtMTZoMjR6bTQwLTMyaC00NDh2LTE3Nmg0NDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYwIDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjAgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05NiAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTY0IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjggMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNjQgMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwOCAxMTJoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMzJjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptOC02NGgxNnYxNmgtMTZ6bTAgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyIDE2OGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",F_e="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3LjU0NiAxMDUuMTI1YzAtMS4wNDQtLjIwNS0yLjA5MS0uNjQ3LTMuMDcybC00My45My05Ny42M2MtMS4yMS0yLjY5Mi0zLjg4OC00LjQyMy02LjgzOS00LjQyM2gtMTgyLjYzYy00LjE0MyAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIzLjgxMnY4Mi42M2gtODIuNjI1di04Mi42M2gyMy44MTNjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE4Mi42M2MtMi45NTEgMC01LjYyOSAxLjczMS02Ljg0IDQuNDIzbC00My45MyA5Ny42M2MtLjQ0MS45ODEtLjY0NiAyLjAyOC0uNjQ3IDMuMDcyaC0uMDE1djEyLjIwM2MwIDI5LjUxNCAyMi44MjcgNTMuNzggNTEuNzUxIDU2LjExMmwzMS44NjUgNTguNDE5aC00LjAwN2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MzNjLjAwNSAwIC4wMS4wMDEuMDE1LjAwMXMuMDExLS4wMDEuMDE2LS4wMDFoMTYuNjE4YzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMi4xODlsLTMyLjQ1Ni01OS41MDNjMTUuNzUtMy40MTMgMjkuMDU3LTEzLjQzMyAzNi44NzktMjcuMDAzIDkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzcuODIyIDEzLjU3MSAyMS4xMjkgMjMuNTkxIDM2Ljg3OSAyNy4wMDNsLTMyLjQ1NiA1OS41MDNoLTEyLjE4OGMtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MThjLjAwNSAwIC4wMTEuMDAxLjAxNi4wMDFzLjAxLS4wMDEuMDE1LS4wMDFoMTYuNjMzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC00LjAwN2wzMS44NjUtNTguNDE5YzI4LjkyNC0yLjMzMiA1MS43NTEtMjYuNTk4IDUxLjc1MS01Ni4xMTJ2LTEyLjIwM3ptLTE5LjA4NS03LjQ5NWgtNzguNTIzdi04Mi42M2g0MS4zNDN6bS05My41MjMtODIuNjN2ODIuNjNoLTgyLjYyNXYtODIuNjN6bS0xOTUuMjUgODIuNjNoLTgyLjYyNXYtODIuNjNoODIuNjI1em0tMTM4Ljk2OC04Mi42M2g0MS4zNDN2ODIuNjNoLTc4LjUyNHptLjAzNCAxNDMuNjQxYy0uMDExIDAtLjAyMS0uMDAxLS4wMzItLjAwMS0yMi43NjctLjAxNS00MS4yODUtMTguNTQyLTQxLjI4NS00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzEgNDEuMzEtNDEuMzA4IDQxLjMxM3ptOTcuNjIxIDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4YzAgMjIuNzc4LTE4LjUzNCA0MS4zMTItNDEuMzEzIDQxLjMxMnptOTcuNjI1IDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4Yy0uMDAxIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjY0OC0uMDAxYy0uMDA1IDAtLjAwOSAwLS4wMTQgMC0uMDAzIDAtLjAwNiAwLS4wMDkgMC0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzItMTguNTIxIDQxLjMtNDEuMjkgNDEuMzEyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",G_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDk4LjUzNiAzNDQuMzIxaC0xNy4yOThjLjQzNC0xNy42NzItMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuMjk4Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5N2MwIDI0LjYwMSAxNS43MTIgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjkzdi02Ni42NGMzNi4wODggMS4yNjYgNTcuODQ2LTIyLjM5IDgxLjE0OS00NS42OTQgMjguNTE3LTMuMDI0IDUwLjgwOS0yNy4yMTYgNTAuODA5LTU2LjUyMnYtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI0LjYwMSAxNS43MTEgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjk0IDAtMjUuODk1IDAtNTEuNzkxIDAtNzcuNjg2aDIyLjcxNmMxMi4yODUgMCAxOC43MjYgMTUuNTMgMTAuMDMzIDI0LjIyMS05LjEyMiA5LjEyMSA1LjAyIDIzLjI2NCAxNC4xNDIgMTQuMTQzIDYuNDU4LTYuNDU3IDEwLjAxNC0xNS4wNDIgMTAuMDE0LTI0LjE3NSAwLTE4Ljg1Mi0xNS4zMzctMzQuMTg4LTM0LjE4OS0zNC4xODhoLTIyLjcxNnYtMTguODI0YzI2LjI1Ny01LjA0MyA0Ni4xNjEtMjguMTc1IDQ2LjE2MS01NS44ODF2LTIwLjg1MWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0zNi45MTR2LTI0LjIzNmgzNi45MTRjMTIuODQgMCAxMi44NTktMjAgMC0yMGgtOTMuODI4Yy0xMi44NCAwLTEyLjg1OSAyMCAwIDIwaDM2LjkxNHYyNC4yMzVoLTM2LjkxNGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyMC44NTFjMCAyOC4yMzMgMjAuNjY5IDUxLjcxOSA0Ny42NjcgNTYuMTUxdjE4LjU1NWgtMjIuNzE2Yy0xOC44NTIgMC0zNC4xODkgMTUuMzM3LTM0LjE4OSAzNC4xODggMCA5LjEzMiAzLjU1NiAxNy43MTcgMTAuMDE0IDI0LjE3NSA5LjEyMSA5LjEyMSAyMy4yNjMtNS4wMjEgMTQuMTQzLTE0LjE0My04LjY4NS04LjY4NC0yLjI2NC0yNC4yMjEgMTAuMDMzLTI0LjIyMWgyMi43MTZ2NzcuNjg2YzAgMzIuMzY0LTI2LjMzIDU4LjY5NC01OC42OTQgNTguNjk0LTE1LjY3NyAwLTMwLjQxNy02LjEwNS00MS41MDItMTcuMTkxbC0xMS4yMTgtMTEuMjE4YzIyLjUtNy41NzUgMzguNzU2LTI4Ljg1NiAzOC43NTYtNTMuODc3di0yNS42OThjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk4Yy40MzQtMTcuNjcxLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk4YzAgMjguNzA3IDIxLjM5NCA1Mi40OTggNDkuMDczIDU2LjNsMjIuOTM3IDIyLjkzN2MxNS4xNjQgMTUuMTYzIDM2LjAxIDIzLjQ4NiA1Ny40MzMgMjMuMDAzdjY2LjYxNGMwIDMyLjM2NC0yNi4zMyA1OC42OTMtNTguNjkzIDU4LjY5My0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuNjAyLTExLjYwMmMyMS45MTQtNy44OTggMzcuNjI1LTI4Ljg5MiAzNy42MjUtNTMuNDk0di0yNS42OTdjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk3Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OWMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyOS4zMDUgMjIuMjkyIDUzLjQ5NyA1MC44MDggNTYuNTIxbDIyLjcxNyAyMi43MTZjMTQuODYzIDE0Ljg2MyAzNC42MjUgMjMuMDQ4IDU1LjY0NSAyMy4wNDggNDMuMzkyIDAgNzguNjkzLTM1LjMwMiA3OC42OTMtNzguNjkzdi02OS42NTdjMTQuNDI2LTQuMTY0IDI3LjE2MS0xMi4zNDIgMzYuOTA1LTIzLjI1N3YyMC41MjJjMCAxMi44NCAyMCAxMi44NTkgMjAgMHYtMjAuNTIyYzkuNTIgMTAuNjYzIDIxLjg4OSAxOC43MjMgMzUuOTA1IDIyLjk3MnY2OS45NDZjMCA0My4zOTIgMzUuMzAyIDc4LjY5MyA3OC42OTMgNzguNjkzIDIxLjAyIDAgNDAuNzgxLTguMTg2IDU1LjY0NS0yMy4wNDhsMjIuNzE2LTIyLjcxNmMyOC41MTYtMy4wMjUgNTAuODA4LTI3LjIxNiA1MC44MDgtNTYuNTIxdi0yNS42OTdjLjAwMS01LjUyNC00LjQ3Ni0xMC4wMDEtOS45OTktMTAuMDAxem0tMTEyLjI5OC0xNDkuOTI3YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTMyNi45MTQtMjQuNjY0YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTEwNC44MTIgMTIwLjU5OWMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MiAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOC0zNi44NDUtMzYuODQ1di0xNS42OTd6bTEyMy40MTEtMjc4LjM2NHYtMTAuODUxaDczLjgyOHYxMC44NTFjMCA0Ny41OTYtNzMuODI4IDQ3LjU5Ni03My44MjggMHptMjI1LjA0MiAyNTMuN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0NS41MzUgMzc0LjE4M2MxLjYzNSAzLjkyNCA1LjcxNiA2LjQ2NiA5Ljk2OCA2LjEzOCA0LjE2OS0uMzIyIDcuNzc4LTMuMjcyIDguODk3LTcuMzAzIDIuMzY0LTguNTEzLTcuMTkxLTE1Ljc1OS0xNC43NzMtMTEuMjM1LTQuMjE0IDIuNTE0LTUuOTQ1IDcuODgtNC4wOTIgMTIuNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",H_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im05IDE3YzQuNDExIDAgOC0zLjU4OSA4LTggMC0xLjI1Ni0uMjk5LTIuNDQxLS44MTgtMy41MDEgMS4xMDMtMS41NDggMi44OTgtMi40OTkgNC44MTgtMi40OTkgMi44NCAwIDUuMjc4IDIuMDY0IDUuNzk5IDQuODMxLS4xOS4xMDUtLjM3NS4yMTgtLjU1NC4zNDItMS4yMjQtLjc0Ny0yLjYzNi0xLjE3My00LjA3NC0xLjE3M2gtLjE3MXYyaC4xNzFjLjg5NiAwIDEuNzguMjIxIDIuNTguNjE1LS4wODMuMTA5LS4xNzEuMjExLS4yNDguMzI2bC0uMzM2LjUwNCAxLjY2NCAxLjEwOS4zMzYtLjUwNGMuODU3LTEuMjgzIDIuMjktMi4wNSAzLjgzMy0yLjA1IDEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMmgtN2MtMS4xMDMgMC0yLS44OTctMi0yaC0yYzAgMi4yMDYgMS43OTQgNCA0IDRoMjVjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTRjLS40NzMgMC0uOTM1LjA2LTEuMzg3LjE1Ny0xLjE1OS0zLjYyMy00LjU0Mi02LjE1Ny04LjQzLTYuMTU3LTMuNTQ5IDAtNi43NDYgMi4xMDctOC4xNDQgNS4zNjlsLS4yNzcuNjQ2Yy0uMzU2LjAxMy0uNzA2LjA1NS0xLjA1LjEyMy0uODItMy41NDItNC4wMjMtNi4xMzgtNy43MTItNi4xMzgtMi4zMTIgMC00LjQ4OCAxLjAzNC01Ljk3OCAyLjc1MS0xLjQ2Ny0xLjY4Mi0zLjYyLTIuNzUxLTYuMDIyLTIuNzUxLTQuNDExIDAtOCAzLjU4OS04IDhzMy41ODkgOCA4IDh6bTI5LjE4My0xNGMzLjA0NyAwIDUuNjc2IDIuMDE3IDYuNTQxIDQuODc3LS4xNjMuMDkzLS4zMjUuMTg4LS40NzkuMjk1LTEuMjI1LS43NDYtMi42MzYtMS4xNzItNC4wNzQtMS4xNzJoLS4xNzF2MmguMTcxYy44OTUgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTE0LjU1NmMuMzQ0LS41OTEuNTU2LTEuMjY4LjU1Ni0yIDAtMS41NzEtLjkxOC0yLjkxOS0yLjIzOC0zLjU3M2wuMTE2LS4yN2MxLjA4Mi0yLjUyNSAzLjU1Ny00LjE1NyA2LjMwNS00LjE1N3ptLTI5LjE4MyAwYzMuMzA5IDAgNiAyLjY5MSA2IDZzLTIuNjkxIDYtNiA2LTYtMi42OTEtNi02IDIuNjkxLTYgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOSAyMWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyAxOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAyM2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",V_e="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTUxMS45NzYsNDE2LjA2M2MtMC4wMDUtMC4wNzUtMC4wMDQtMC4xNDktMC4wMTEtMC4yMjRjLTAuMDI3LTAuMjk3LTAuMDctMC41ODgtMC4xMzEtMC44NzMNCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4DQoJCWMtMC4wODQtMC4yMjctMC4xNzktMC40NDgtMC4yODQtMC42NjNjLTAuMDE4LTAuMDM4LTAuMDMtMC4wNzctMC4wNDktMC4xMTVsLTQwLjExMi03OS4xMThWNzMuNzINCgkJYzAtOC4wMDYtNi41MTMtMTQuNTE5LTE0LjUxOS0xNC41MTlINTUuNDQxYy04LjAwNiwwLTE0LjUxOSw2LjUxMy0xNC41MTksMTQuNTE5djI2MC4yOThMMC44MTEsNDEzLjEzNw0KCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQ0KCQljLTAuMDg1LDAuMjUxLTAuMTU5LDAuNTA4LTAuMjE4LDAuNzdjLTAuMDA2LDAuMDI3LTAuMDE1LDAuMDU0LTAuMDIxLDAuMDgxYy0wLjA2MSwwLjI4Ni0wLjEwNCwwLjU3Ny0wLjEzMSwwLjg3NA0KCQljLTAuMDA3LDAuMDc0LTAuMDA3LDAuMTQ5LTAuMDExLDAuMjIzQzAuMDE0LDQxNi4yMTcsMCw0MTYuMzcxLDAsNDE2LjUyOXYxOS4wMjZjMCw5LjUwOSw3LjczNSwxNy4yNDQsMTcuMjQ0LDE3LjI0NGg0NzcuNTEyDQoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5DQoJCUg1NS45MjNWNzQuMjAzeiBNNTMuMDI5LDM0My4zMTFINDU4Ljk3bDMzLjMxOCw2NS43MTdoLTE2NC43OGwtOC4yNzEtMjkuOTg5Yy0xLjY4NC02LjEwNS03LjI4Mi0xMC4zNjktMTMuNjE1LTEwLjM2OWgtOTkuMjQ2DQoJCWMtNi4zMzMsMC0xMS45MzIsNC4yNjQtMTMuNjE1LDEwLjM2OGwtOC4yNzEsMjkuOTlIMTkuNzExTDUzLjAyOSwzNDMuMzExeiBNMzExLjk0OCw0MDkuMDI5SDIwMC4wNTJsNi45OTMtMjUuMzU4aDk3LjkxDQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiINCgkJLz4NCgk8cGF0aCBkPSJNNDMyLjU3NywyMTMuNzU2Yy00LjE0MywwLTcuNSwzLjM1Ny03LjUsNy41djc2LjA1NUg4Ni45MjN2LTc2LjA1NWMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41DQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQNCgkJCUM0NDAuMDc3LDIxNy4xMTUsNDM2LjcyLDIxMy43NTYsNDMyLjU3NywyMTMuNzU2eiIvPg0KCTxwYXRoIGQ9Ik00MjguMzE2LDkwLjIwM0g4My42ODRjLTYuNDg1LDAtMTEuNzYxLDUuMjc1LTExLjc2MSwxMS43NjF2NzkuMjk0YzAsNC4xNDMsMy4zNTcsNy41LDcuNSw3LjVjNC4xNDMsMCw3LjUtMy4zNTcsNy41LTcuNQ0KCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPg0KPC9nPg0KPC9zdmc+DQo=",Z_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTY0LjM5OSAyMDUuODcyYzQuMDk5LjY2NCA4LjIwNi0xLjI3MyAxMC4yODQtNC45MWw2MC0xMDVjMS43NjktMy4wOTUgMS43NTYtNi44OTctLjAzMy05Ljk4cy01LjA4NS00Ljk4MS04LjY0OS00Ljk4MWgtMzYuNjgybC0xMy40ODYtNzIuODIxYy0uNzcyLTQuMTY5LTQuMDg5LTcuMzk4LTguMjc3LTguMDU4LTQuMTg1LS42Ni04LjMzNyAxLjM5NC0xMC4zNTMgNS4xMjNsLTYwIDExMWMtMS42NzUgMy4wOTktMS41OTcgNi44NTEuMjA4IDkuODc2IDEuODA0IDMuMDI1IDUuMDY2IDQuODc5IDguNTg5IDQuODc5aDM2LjgwMmwxMy4zOTMgNjYuOTYxYy44MTcgNC4wOSA0LjA4OCA3LjI0MiA4LjIwNCA3LjkxMXptLTEzLjM5OS05NC44NzFoLTI4LjIyOGwzOC41NTQtNzEuMzIzIDkuODQxIDUzLjE0NGMuODc4IDQuNzQgNS4wMTMgOC4xNzkgOS44MzMgOC4xNzloMjcuNzY5bC0zOC4yIDY2Ljg1LTkuNzYzLTQ4LjgxMWMtLjkzNS00LjY3NC01LjAzOS04LjAzOS05LjgwNi04LjAzOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM2IDE0Ni4wMDFjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHYtNjBjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMzUuODU3bC0xMDAgMTAwaC01NS44NTdjLTIuNjUyIDAtNS4xOTUgMS4wNTQtNy4wNzEgMi45MjlsLTkwIDkwYy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMy45MDcgMy45MDUgMTAuMjM2IDMuOTA0IDE0LjE0MyAwbDg3LjA3MS04Ny4wNzFoNTUuODU3YzIuNjUyIDAgNS4xOTUtMS4wNTQgNy4wNzEtMi45MjlsMTAyLjkyOS0xMDIuOTN2MzUuODU3YzAgNS41MjQgNC40NzggMTAuMDAxIDEwIDEwLjAwMXoiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNDM2IiBjeT0iMzQ2LjAwMSIgcj0iMTAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",X_e="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cmVjdCB4PSIyMTYiIHk9Ijg4LjQ4OSIgd2lkdGg9IjgwIiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwLDUyLjQ5NHY5LjI4NWMtMi4zNDctMC44MzItNC44NzItMS4yODUtNy41LTEuMjg1Yy0xMi40MDYsMC0yMi41LDEwLjA5My0yMi41LDIyLjVjMCwxMi40MDcsMTAuMDk0LDIyLjUsMjIuNSwyMi41DQoJCQljMi42MjgsMCw1LjE1My0wLjQ1Myw3LjUtMS4yODV2MzU1LjI5OGg3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1YzIuODk5LTEuNzU1LDQuODE0LTIuOTE1LDkuMzI1LTIuOTE1DQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQ0KCQkJYzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NQ0KCQkJczEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTVjNC41MSwwLDYuNDI1LDEuMTYsOS4zMjIsMi45MTUNCgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUNCgkJCXM3LjUsMy4zNjQsNy41LDcuNUMzMCw4Ny4xMywyNi42MzYsOTAuNDk0LDIyLjUsOTAuNDk0eiBNMTg4LjUsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yMTYuNzloLTE1djIyMi45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMzYuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMTEuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTEzLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTM4Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSIxNTUuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEzMC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDg5LjUsNjAuNDk0Yy0yLjYyOCwwLTUuMTUzLDAuNDUzLTcuNSwxLjI4NXYtOS4yODVIMzA4LjV2NDA3LjAxM2g3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1DQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1DQoJCQljOC42OTgsMCwxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNQ0KCQkJYzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1czEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTUNCgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUNCgkJCWMxMi40MDYsMCwyMi41LTEwLjA5MywyMi41LTIyLjVDNTEyLDcwLjU4NSw1MDEuOTA2LDYwLjQ5NCw0ODkuNSw2MC40OTR6IE00NjcsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yNTAuNzloLTE1djI1Ni45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUNCgkJCWMwLTQuMTM2LDMuMzY0LTcuNSw3LjUtNy41czcuNSwzLjM2NCw3LjUsNy41QzQ5Nyw4Ny4xMyw0OTMuNjM2LDkwLjQ5NCw0ODkuNSw5MC40OTR6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",K_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00MiAxMmMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMi00YzAgMS4xMDMtLjg5NyAyLTIgMnMtMi0uODk3LTItMmMwLS4xNzguMDMxLS4zNDcuMDc1LS41MTFsMS4yMTggMS4yMTggMS40MTQtMS40MTQtMS4yMTgtMS4yMThjLjE2NC0uMDQ0LjMzMy0uMDc1LjUxMS0uMDc1IDEuMTAzIDAgMiAuODk3IDIgMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxMmgyYzEuNjU0IDAgMy0xLjM0NiAzLTNzLTEuMzQ2LTMtMy0zaC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzem0wLTRoMmMuNTUxIDAgMSAuNDQ5IDEgMXMtLjQ0OSAxLTEgMWgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzIDZoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDNoMmMxLjY1NCAwIDMtMS4zNDYgMy0zcy0xLjM0Ni0zLTMtM3ptMCA0aC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xaDJjLjU1MSAwIDEgLjQ0OSAxIDFzLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",q_e="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTExMy4yMDYgMTA2LjI2NWgtMTMuNjIzdi04Ni4yOGExLjc0OSAxLjc0OSAwIDAgMCAtMS41NTQtMS43MzhsLTQ2LTUuMTkyYTEuNzUgMS43NSAwIDAgMCAtMS45NDYgMS43Mzl2My40NDFoLTE5LjkxNmExLjc1IDEuNzUgMCAwIDAgLTEuNzUgMS43NXY4Ni4yOGgtMTMuNjIzYTEuNzUgMS43NSAwIDEgMCAwIDMuNWgzNS4yODl2My40NDFhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NSAxLjYxIDEuNjEgMCAwIDAgLjItLjAxMWw0NS45LTUuMThoMTUuMjc2YTEuNzUgMS43NSAwIDAgMCAwLTMuNXptLTgxLjI4OS04NC41M2gxOC4xNjZ2NC41aC0xMS45MTdhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2NzguMjhoLTQuNXptOCA4NC41M3YtNzYuNTNoMTAuMTY2djc2LjUzem0xMy42NjYtODkuNTEzIDQyLjUgNC44djg0LjlsLTQyLjUgNC44eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",exe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDAxLjA2NywwSDExMC45MzNjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0OTQuOTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjkwLjEzMw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsMzQuMTMzSDE0NS4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0NjAuOGMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDIyMS44NjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTQ2MC44QzM3NS40NjcsMzcuOTQ4LDM3MS42NDQsMzQuMTMzLDM2Ni45MzMsMzQuMTMzeiBNMzU4LjQsNDk0LjkzM0gxNTMuNlY1MS4yaDIwNC44VjQ5NC45MzN6DQoJCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQ3LjA1MywwLTg1LjMzMywzOC4yODEtODUuMzMzLDg1LjMzM3Y4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE1My42DQoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE1My42QzM0MS4zMzMsMTA2LjU0NywzMDMuMDUzLDY4LjI2NywyNTYsNjguMjY3eiBNMTg3LjczMywxNTMuNg0KCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMTg3LjczM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MyNDcuNDY3LDE5MS41NDgsMjQzLjY0NCwxODcuNzMzLDIzOC45MzMsMTg3LjczM3ogTTIzMC40LDMwNy4yaC00Mi42NjdWMjA0LjhIMjMwLjQNCgkJCVYzMDcuMnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDE4Ny43MzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxOTYuMjY3QzM0MS4zMzMsMTkxLjU0OCwzMzcuNTEsMTg3LjczMywzMzIuOCwxODcuNzMzeiBNMzI0LjI2NywzMDcuMkgyODEuNlYyMDQuOGg0Mi42NjdWMzA3LjINCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQxLjMzM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MyNDcuNDY3LDM0NS4xNDgsMjQzLjY0NCwzNDEuMzMzLDIzOC45MzMsMzQxLjMzM3ogTTIzMC40LDQ2MC44aC00Mi42NjdWMzU4LjRIMjMwLjQNCgkJCVY0NjAuOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDM0MS4zMzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNDkuODY3QzM0MS4zMzMsMzQ1LjE0OCwzMzcuNTEsMzQxLjMzMywzMzIuOCwzNDEuMzMzeiBNMzI0LjI2Nyw0NjAuOEgyODEuNlYzNTguNGg0Mi42NjdWNDYwLjgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y4NS4zMzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y3Ni44DQoJCQlDMjY0LjUzMyw3Mi4wODEsMjYwLjcxLDY4LjI2NywyNTYsNjguMjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2Ng0KCQkJYzEuNjY0LDEuNjY0LDMuODQ5LDIuNSw2LjAzMywyLjVjMi4xODUsMCw0LjM2OS0wLjgzNiw2LjAzMy0yLjVsNTguNDAyLTU4LjQwMkMzMjMuNzcyLDEwNi40MjgsMzIzLjc3MiwxMDEuMDM1LDMyMC40MzUsOTcuNjk4eiINCiAgICAgICAgLz4NCiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExDQoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNUMyNjUuMzcsMTY0LjgzLDI2NS4zNywxNTkuNDM3LDI2Mi4wMzMsMTU2LjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01OS43MzMsNDk0LjkzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzQzAsNTA4LjE4NiwzLjgyMyw1MTIsOC41MzMsNTEyaDUxLjINCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDQ5NC45MzNoLTEwMi40Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxMDIuNA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM0M1MTIsNDk4Ljc0OCw1MDguMTc3LDQ5NC45MzMsNTAzLjQ2Nyw0OTQuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",txe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE2MGE5NiA5NiAwIDEgMCA5NiA5NiA5Ni4xMDggOTYuMTA4IDAgMCAwIC05Ni05NnptMCAxNzZhODAgODAgMCAxIDEgODAtODAgODAuMDkxIDgwLjA5MSAwIDAgMSAtODAgODB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzIgNDg4di00NjRhOCA4IDAgMCAwIC04LThoLTMzNmE4IDggMCAwIDAgLTggOHY0NjRhOCA4IDAgMCAwIDggOGgzMzZhOCA4IDAgMCAwIDgtOHptLTMzNi0zNzZoMzIwdjMwNGgtMzIwem05Ni04MGgxNDR2NDBhOCA4IDAgMCAwIDggOGg3MnYxNmgtMjI0em0yMjQgMzJoLTY0di0zMmg2NHptLTI0MC0zMnY2NGgtODB2LTY0em0tODAgNDQ4di00OGgzMjB2NDh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDggNDBhMjQgMjQgMCAxIDAgMjQgMjQgMjQuMDI3IDI0LjAyNyAwIDAgMCAtMjQtMjR6bTAgMzJhOCA4IDAgMSAxIDgtOCA4LjAwOSA4LjAwOSAwIDAgMSAtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4OCA0MGgzMnYxNmgtMzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODggNzJoMzJ2MTZoLTMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjk2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjE2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",sxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+DQo8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KCTxwYXRoIGQ9Ik00MzIuNTU4LDE3Mi4wMkM0MTkuMzAzLDY0LjU4NywzMjEuNDY2LTExLjc2LDIxNC4wMzMsMS40OTVTMzAuMjUzLDExMi41ODcsNDMuNTA4LDIyMC4wMg0KCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2DQoJCXYtMzcuNTJDMzY5LjQ2NiwzNzcuMjksNDQ1LjgxMywyNzkuNDUzLDQzMi41NTgsMTcyLjAyeiBNMzE4LjAzMyw0NDQuMDY1YzQuNDE4LDAsOCwzLjU4Miw4LDh2OGgtMTc2di04YzAtNC40MTgsMy41ODItOCw4LTgNCgkJSDMxOC4wMzN6IE0yMzAuMDMzLDQyOC4wNjV2LTMyaDE2djMySDIzMC4wMzN6IE0yMzguMDMzLDM3Ni4wNjVjLTk5LjQxMSwwLTE4MC04MC41ODktMTgwLTE4MA0KCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+DQoJPHBhdGggZD0iTTQwNi4wMzMsMjEyLjA2NXYtMTZjMC00LjQxOC0zLjU4Mi04LTgtOGgtOTMuNTM2YzM5LjgtMjcuODMyLDQ5LjUwMi04Mi42NTgsMjEuNjctMTIyLjQ1OA0KCQljLTE2LjQ2Ny0yMy41NDgtNDMuNC0zNy41NjUtNzIuMTM0LTM3LjU0MmgtMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDh2OTMuNTM2Yy0yNy44MzItMzkuOC04Mi42NTgtNDkuNTAyLTEyMi40NTgtMjEuNjcNCgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzINCgkJYzAuMDU3LDQ4LjU3NywzOS40MjMsODcuOTQzLDg4LDg4aDE2YzQuNDE4LDAsOC0zLjU4Miw4LTh2LTkzLjUzNmMyNy44MzIsMzkuOCw4Mi42NTgsNDkuNTAyLDEyMi40NTgsMjEuNjcNCgkJQzM5Mi4wMzgsMjY3LjczMyw0MDYuMDU2LDI0MC44LDQwNi4wMzMsMjEyLjA2NXogTTI0Ni4wMzMsNDQuMDY1aDhjMzkuNzY0LDAuMDU1LDcxLjk1NSwzMi4zMzYsNzEuOSw3Mi4xDQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04DQoJCWMwLjA3My0zOS43NjQsMzIuMzY4LTcxLjk0LDcyLjEzMy03MS44NjdjMzEuMTQ4LDAuMDU3LDU4LjcyNywyMC4xMzgsNjguMzQ3LDQ5Ljc2M2MtMTQuMDQ3LDQuMjAzLTI0LjY2OCwxNS43NTUtMjcuNjgsMzAuMTA0DQoJCUg4Ni4wMzN6IE0yMzAuMDMzLDM0OC4wNjVoLThjLTM5Ljc2NC0wLjA1NS03MS45NTUtMzIuMzM2LTcxLjktNzIuMWMwLjA0My0zMS4xNywyMC4xMzgtNTguNzcyLDQ5Ljc4OC02OC4zODgNCgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNA0KCQlzMjQsMTAuNzQ1LDI0LDI0UzI1MS4yODcsMjIwLjA2NSwyMzguMDMzLDIyMC4wNjV6IE0zMTcuOSwyODMuOTMyYy0zMS4xNDgtMC4wNTctNTguNzI3LTIwLjEzOC02OC4zNDctNDkuNzYzDQoJCWMxNC4wNDctNC4yMDMsMjQuNjY4LTE1Ljc1NSwyNy42OC0zMC4xMDRoMTEyLjh2OEMzODkuOTU5LDI1MS44MywzNTcuNjY0LDI4NC4wMDYsMzE3LjksMjgzLjkzMnoiLz4NCjwvZz4NCjwvc3ZnPg0K",ixe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTksMTI2LjAwMWgtMC4wMjdjNi4yOTItOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC4wMDEtNTAtNTAuMDAxDQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1DQoJCWMtMTEuMzI4LTcuMjMzLTIzLjEyOC0xMy42NTgtMzUuMzM0LTE5LjI0MXYtMTYuMzA0YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwLDQuNDc3LTEwLDEwdjguMDM3DQoJCWMtMy4zNjktMS4yNDctNi43NjQtMi40MzgtMTAuMTg2LTMuNTYyYy04LjI5MS0yLjcyMy0xNi42ODMtNS4wNTItMjUuMTQ2LTcuMDExdi0yMC44MzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMA0KCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCXYzMC4xODNjLTExLjg1OSwwLjQwNy0yMy42NTMsMS41MzItMzUuMzMzLDMuMzgxdi0xNi45MzJjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYyMC44MzMNCgkJYy04LjQ2MiwxLjk1OS0xNi44NTIsNC4yODctMjUuMTQyLDcuMDA5Yy0zLjQyNCwxLjEyNC02LjgxOSwyLjMxNi0xMC4xOTEsMy41NjN2LTguMDM3YzAtNS41MjMtNC40NzctMTAtMTAtMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcNCgkJYzYuMjkzLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAtNTAtNTBzLTUwLDIyLjQzLTUwLDUwYzAsMTEuMjQ4LDMuNzM0LDIxLjYzOCwxMC4wMjcsMzBIMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjMxOS45OTljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MGg0MGgzMS4wMzNjNS41MjIsMCwxMC00LjQ3NywxMC0xMGMwLTUuNTIyLTQuNDc4LTEwLTEwLTEwSDEwMA0KCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwDQoJCVYxMzYuMDAxQzUxMS45OTksMTMwLjQ3Nyw1MDcuNTIxLDEyNi4wMDEsNTAxLjk5OSwxMjYuMDAxeiBNODAsNDQ1Ljk5OUg1MEgyMFYxNDYuMDAxaDIwdjQxLjg5OGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwDQoJCXMxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwVjQ0NS45OTl6IE01MCwxMjYuMDAxYy0xNi41NDMsMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU3LTMwLDMwLTMwYzE2LjU0MywwLDMwLDEzLjQ1OCwzMCwzMA0KCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2DQoJCWgtMzUuMzMzVjE2NS4zODRjMTEuNS00LjYzLDIzLjI5OC04LjQ0OSwzNS4zMzMtMTEuNDM3VjQwNnogTTI0Niw0MDZoLTM1LjMzM1YxNDkuNzg3YzExLjYxNC0xLjk1OCwyMy40MDktMy4xNjgsMzUuMzMzLTMuNTk5DQoJCVY0MDZ6IE0zMDEuMzMyLDQwNS45OThIMjY2di0yNTkuODFjMTEuOTI0LDAuNDMxLDIzLjcxNywxLjY0MSwzNS4zMzIsMy41OTlWNDA1Ljk5OHogTTM1Ni42NjQsNDA1Ljk5OWgtMzUuMzMyVjE1My45NDgNCgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyDQoJCVY0MDUuOTk4eiBNNDkxLjk5OSw0NDUuOTk5aC0zMGgtMzAuMDAxVjE0Ni4wMDFoMjAuMDAxdjQxLjg5OGMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMA0KCQlWNDQ1Ljk5OXogTTQ2MS45OTksMTI2LjAwMWMtMTYuNTQyLDAtMzAuMDAxLTEzLjQ1OC0zMC4wMDEtMzBjMC0xNi41NDMsMTMuNDU5LTMwLjAwMSwzMC4wMDEtMzAuMDAxDQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUwLDQ0NS45OTloLTAuMjM2Yy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBIMTUwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTANCgkJQzE2MCw0NTAuNDc3LDE1NS41MjMsNDQ1Ljk5OSwxNTAsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCUMzNzIuMjM0LDQ1MC40NzcsMzY3Ljc1OCw0NDUuOTk5LDM2Mi4yMzQsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwLDIwNi42MzFjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MC4yMzVjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMC4yMzUNCgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS45OTksMjA2LjYzMWMtNS41MjIsMC0xMCw0LjQ3Ny0xMCwxMHYwLjIzNWMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTAuMjM1DQoJCUM0NzEuOTk5LDIxMS4xMDgsNDY3LjUyMSwyMDYuNjMxLDQ2MS45OTksMjA2LjYzMXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",rxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsMTA4LjAwM2MtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LThzMy41ODItOCw4LThzOC0zLjU4Miw4LTgNCgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzg1LjM1Nyw3Ni4xMTVsLTI4MC00OGMtMC40NDctMC4wNzMtMC44OTktMC4xMTEtMS4zNTItMC4xMTJDNDYuNjEyLDI3Ljk1NiwwLjA0Nyw3NC40NDQsMCwxMzEuODM3DQoJCQljLTAuMDI2LDMxLjA1OSwxMy44NDMsNjAuNTAxLDM3LjgwNSw4MC4yNjFsNTguNDQsMjMzLjg0OGMwLjg5MiwzLjU1OSw0LjA5MSw2LjA1Niw3Ljc2LDYuMDU2aDY0DQoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2DQoJCQljMy44NTQtMC42NDUsNi42NzktMy45OCw2LjY4LTcuODg4di05NkMzOTIuMDA3LDgwLjEwNSwzODkuMTk5LDc2Ljc3MywzODUuMzU3LDc2LjExNXogTTExMC4yNTMsNDM2LjAwM0w1Ny42MDUsMjI1LjE3MQ0KCQkJYzAuNTA0LDAuMjQ4LDEuMDQsMC40MTYsMS41NDQsMC42NjRjMi41NzYsMS4yMzIsNS4xODksMi4zNTIsNy44NCwzLjM2YzAuNzQ0LDAuMjgsMS40NjQsMC42LDIuMjA4LDAuODY0DQoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1Ng0KCQkJYzEuMDA4LDAuMTI4LDIuMDE2LDAuMjY0LDMuMDI0LDAuMzY4YzMuNjExLDAuMzksNy4yNCwwLjU5NiwxMC44NzIsMC42MTZjMC40NTMtMC4wMDEsMC45MDUtMC4wMzksMS4zNTItMC4xMTJsNDEuMjE2LTcuMDg4DQoJCQlsMTIuOTIsMjA3LjJIMTEwLjI1M3ogTTM0NC4wMDUsMTc4LjczOWwtMjM4LjA4OCw0MC44bC0yLjU3NiwwLjQ2NGMtNDguMzY3LTAuMzA0LTg3LjM5OS0zOS42MzItODcuMzM2LTg4DQoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDc2LjAwM2MtMzAuOTI4LDAtNTYsMjUuMDcyLTU2LDU2YzAuMDM1LDMwLjkxMywyNS4wODcsNTUuOTY1LDU2LDU2YzMwLjkyOCwwLDU2LTI1LjA3Miw1Ni01Ng0KCQkJQzE2MC4wMDUsMTAxLjA3NSwxMzQuOTMzLDc2LjAwMywxMDQuMDA1LDc2LjAwM3ogTTEwNC4wMDUsMTcyLjAwM2MtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MA0KCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQxLjkzMyw0MTEuNTIzbC05LjY2NC0xNTUuMDI0Yy0wLjI3Ni00LjQxOC00LjA4Mi03Ljc3Ni04LjUtNy41Yy00LjQxOCwwLjI3Ni03Ljc3Niw0LjA4Mi03LjUsOC41bDkuNjY0LDE1NQ0KCQkJYzAuMjYzLDQuMjI3LDMuNzczLDcuNTE2LDguMDA4LDcuNTA0YzAuMTY4LDAsMC4zMzYsMCwwLjUwNCwwQzEzOC44NTQsNDE5LjcyOCwxNDIuMjA3LDQxNS45MzIsMTQxLjkzMyw0MTEuNTIzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDE1Ni4wMDNoLTQ4Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThTNDc2LjQyMywxNTYuMDAzLDQ3Mi4wMDUsMTU2LjAwM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsOTIuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsOTIuMDAzLDQ3Mi4wMDUsOTIuMDAzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",oxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ4LjQ1Nyw3Ny4yMjdhOC4wNjMsOC4wNjMsMCwwLDAtMTAuNCwxMi4zMjV2Ni45MjdhNS4yNzMsNS4yNzMsMCwwLDAsMTAuNTQ1LDBWODkuNTUzYTguMDYzLDguMDYzLDAsMCwwLS4xNDYtMTIuMzI2Wk00NS44NzQsODcuMjRhMS43NSwxLjc1LDAsMCwwLS43NzEsMS40NTF2Ny43ODdhMS43NzMsMS43NzMsMCwwLDEtMy41NDUsMFY4OC42OTFhMS43NDcsMS43NDcsMCwwLDAtLjc3My0xLjQ1MUE0LjU2Niw0LjU2NiwwLDAsMSw0Mi40LDc4Ljk3OGE0Ljg3Niw0Ljg3NiwwLDAsMSwuOTQtLjA5Miw0LjUsNC41LDAsMCwxLDIuODkzLDEuMDQxLDQuNTYyLDQuNTYyLDAsMCwxLS4zNTYsNy4zMTNaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",nxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS4zNCwxMTcuMzM2Yy01LjkwNiwwLTEwLjY4OCw0Ljc3My0xMC42ODgsMTAuNjY0djg1LjMzNUg0NjkuMzR2LTIxLjMzNmMwLTIzLjUyMy0xOS4xNTYtNDIuNjYzLTQyLjY4OC00Mi42NjMNCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTENCgkJYy03LjgxMi04Ljg4Mi0xOS4yNS0xNC40OTEtMzItMTQuNDkxYy0xMi43MTksMC0yNC4xNTYsNS42MDktMzEuOTkyLDE0LjQ5MWMtNy44Mi04Ljg4Mi0xOS4yNTgtMTQuNDkxLTMyLTE0LjQ5MQ0KCQljLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTFjLTcuODItOC44ODItMTkuMjU4LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTENCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQNCgkJQzQuNzczLDIxMy4zMzUsMCwyMTguMTA4LDAsMjIzLjk5OXM0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgxMC42NzJ2MjEuMzM2YzAsNS44OTEsNC43NzMsMTAuNjY0LDEwLjY2NCwxMC42NjRoMzJ2MjAyLjY3OA0KCQljMCwyMy41MTYsMTkuMTQxLDQyLjY1Niw0Mi42NjQsNDIuNjU2YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjVjNy44MjgsOC44NzUsMTkuMjczLDE0LjUsMzIsMTQuNQ0KCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUNCgkJYzcuODM2LDguODc1LDE5LjI3MywxNC41LDMxLjk5MiwxNC41YzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjUNCgkJYzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjVjMjMuNTMxLDAsNDIuNjg4LTE5LjE0MSw0Mi42ODgtNDIuNjU2VjIzNC42NjNoMzINCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUNCgkJeiBNMTI3Ljk5OSw0NjkuMzQxYzAsMTEuNzUtOS41NjMsMjEuMzEyLTIxLjMzNiwyMS4zMTJjLTExLjc1NywwLTIxLjMyOC05LjU2Mi0yMS4zMjgtMjEuMzEyVjI1NS45OTl2LTY0DQoJCWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0xOTEuOTk5LDQ2OS4zNDENCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2DQoJCWMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMjU1Ljk5OCw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjMzNiwyMS4zMTINCgkJYy0xMS43NTcsMC0yMS4zMjgtOS41NjItMjEuMzI4LTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTctMjEuMzM2LDIxLjMyOC0yMS4zMzZjMTEuNzczLDAsMjEuMzM2LDkuNTc4LDIxLjMzNiwyMS4zMzZWNDY5LjM0MXoNCgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5DQoJCWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNmMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNMzgzLjk5Nyw0NjkuMzQxDQoJCWMwLDExLjc1LTkuNTYyLDIxLjMxMi0yMS4zNDQsMjEuMzEyYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2DQoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTINCgkJYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDENCgkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyDQoJCQljLTIuMzEyLTcuOTM4LTYuODEyLTEzLjU0Ny03LjM3NS0xNC4yNWMtMC4wMzEsMC0wLjAzMS0wLjAwOC0wLjAzMS0wLjAwOHYtMC4wMTVjLTEuOTY5LTIuMzU5LTQuOTA2LTMuODY3LTguMjE5LTMuODY3DQoJCQljLTUuODksMC0xMC42NTUsNC43ODEtMTAuNjU1LDEwLjY3MmMwLDIuNTg2LDAuOTA2LDQuOTYxLDIuNDM4LDYuODA1YzAuMDMxLDAuMDIzLDIuMjgxLDIuOTM4LDMuMzc1LDYuNjU2DQoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOA0KCQkJYzEuOTY5LDIuNDIyLDQuOTUzLDMuOTc3LDguMzEyLDMuOTc3YzUuODkxLDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRjMC0yLjUzOS0wLjg3NS00Ljg2Ny0yLjM0NC02LjY5NQ0KCQkJQzM2MC4yNzgsMTEwLjYxLDM1Ny45NjUsMTA3LjU1NSwzNTYuODcxLDEwMy42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2DQoJCQljLTMuMTg4LTExLjkzOC05LjMxMi0yMC4yMjctMTAtMjEuMTMzVjQuMjJjLTEuOTY5LTIuNTU1LTUuMDIzLTQuMjE5LTguNDkyLTQuMjE5Yy01Ljg5MywwLTEwLjY2Niw0Ljc3My0xMC42NjYsMTAuNjY0DQoJCQljMCwyLjQxNCwwLjgwNSw0LjYzMywyLjE1Niw2LjQxNGgtMC4wMTZjMC4wNDcsMC4wNjIsNC40OTIsNi4xMDksNi41NDcsMTQuMzJjMi40NTMsOS44MjcsMC40ODQsMTguMTg3LTYuMDE2LDI1LjUzOA0KCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2DQoJCQljMS45NDUsMi41Nyw1LjAxNiw0LjIxOSw4LjQ3Nyw0LjIxOWM1Ljg5OCwwLDEwLjY4LTQuNzczLDEwLjY4LTEwLjY2NGMwLTIuNDE0LTAuODEyLTQuNjMzLTIuMTU2LTYuNDE0DQoJCQlDMjc1LjE0LDExMC44NiwyNzAuNjk1LDEwNC44MTMsMjY4LjY1Niw5Ni42MXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQ0KCQkJYzguNjY0LTguNjk1LDExLjUyMy0xOS45ODQsOC4wNjItMzEuODEyYy0yLjMyLTcuOTM4LTYuNzg5LTEzLjUzMS03LjM5MS0xNC4yNWMwLDAsMC0wLjAwOC0wLjAwOC0wLjAwOGwtMC4wMDgtMC4wMjN2MC4wMDgNCgkJCWMtMS45NjEtMi4zNTktNC45MDYtMy44NjctOC4yMTEtMy44NjdjLTUuODkxLDAtMTAuNjcyLDQuNzgxLTEwLjY3MiwxMC42NzJjMCwyLjU4NiwwLjkyMiw0Ljk2MSwyLjQ1Myw2LjgwNQ0KCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OA0KCQkJYzIuMzI4LDguMTAyLDYuODI4LDEzLjgzNiw3LjMzNiwxNC40Njl2LTAuMDA4YzEuOTYxLDIuNDIyLDQuOTQ1LDMuOTc3LDguMzA1LDMuOTc3YzUuODkxLDAsMTAuNjY0LTQuNzczLDEwLjY2NC0xMC42NjQNCgkJCWMwLTIuNTM5LTAuODkxLTQuODY3LTIuMzY3LTYuNjk1SDE4OS42NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",axe="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDg4IDMyMC41aC00MHYtMzJjMC0yLjEyODkwNi0uODM5ODQ0LTQuMTYwMTU2LTIuMzQzNzUtNS42NTYyNWwtMTIwLTEyMGMtMS40OTYwOTQtMS41MDM5MDYtMy41MjczNDQtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTE2di0xNTJjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOGgtOTZjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2MTUyaC0yNGMtMi4xMjg5MDYgMC00LjE2MDE1Ni44Mzk4NDQtNS42NTYyNSAyLjM0Mzc1bC0xMjAgMTIwYy0xLjUwMzkwNiAxLjQ5NjA5NC0yLjM0Mzc1IDMuNTI3MzQ0LTIuMzQzNzUgNS42NTYyNXYzMmgtMzJjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2NDhjMCA0LjQyNTc4MSAzLjU3NDIxOSA4IDggOGg0ODBjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDhjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOHptLTI4MC0zMDRoODB2MTkyaC04MHptLTE1MiAyNzUuMzEyNSAxMTUuMzEyNS0xMTUuMzEyNWgyMC42ODc1djQwYzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoOTZjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDBoMTIuNjg3NWwxMTUuMzEyNSAxMTUuMzEyNXYyOC42ODc1aC0zNzZ6bTQyNCA3Ni42ODc1aC00NjR2LTMyaDQ2NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNy4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjc1LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDI4OC41aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Mxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTMyNy4xNTksMi43NjZjLTQuMDYzLTMuNjg4LTEwLjI1LTMuNjg4LTE0LjMxMywwYy00LjY0Miw0LjE4Ni0xMTAuODg5LDEwMS4yOTItMTYwLjIyOCwyMTMuODM5DQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2DQoJCQkJYy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4M2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2Nw0KCQkJCWMwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODMNCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43Ng0KCQkJCWM4LjA1Miw1LjYwNCwxOC4wODMsMTIuNTczLDM2Ljc3MSwxMi41NzNjMTguNjc3LDAsMjguNzA4LTYuOTY5LDM2Ljc3MS0xMi41NzNjNy4wMzEtNC44OTYsMTIuNTk0LTguNzYsMjQuNTk0LTguNzYNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3Mw0KCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkNCgkJCQljMzMuMjE5LDMyLjAxLDE3MC42NjcsMTcxLjg2NSwxNzAuNjY3LDI5NC42NzdjMCw5NC4xMDQtNzYuNTYzLDE3MC42NjctMTcwLjY2NywxNzAuNjY3Yy00Mi40NzcsMC04Mi42NjktMTUuODIyLTExMy43OC00My43NTgNCgkJCQljMTEuNTQyLTIuMTM4LDE4Ljk5NC03LjE3NywyNS4xODYtMTEuNDgyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYNCgkJCQljLTEyLDAtMTcuNTYzLTMuODY1LTI0LjU5NC04Ljc2Yy04LjA2My01LjYwNC0xOC4wOTQtMTIuNTczLTM2Ljc4MS0xMi41NzNjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUNCgkJCQljOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzUNCgkJCQljMTIsMCwxNy41NjMsMy44NjUsMjQuNjA0LDguNzZjNC4zNDUsMy4wMjMsOS40MTQsNi4zNTUsMTUuOTYxLDguODY1YzM2LjYsNDIuOTk2LDg5LjY1NSw2Ny43MDgsMTQ2LjE3NCw2Ny43MDgNCgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTAuNjY5LDM2Mi42NzJjMTEuOTY5LDAsMTcuNTIxLDMuODY1LDI0LjU0Miw4Ljc1YzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4Mw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NQ0KCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDM0MS4zMzljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdzNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdjMTIsMCwxNy41NjMsMy44NjUsMjQuNTk0LDguNzYNCgkJCQljOC4wNjMsNS42MDQsMTguMDk0LDEyLjU3MywzNi43ODEsMTIuNTczYzE4LjY3NywwLDI4LjcwOC02Ljk2OSwzNi43NzEtMTIuNTczYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2DQoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQljMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTIuMTk4LDAtMTguNDA2LTMuOTY5LTI2LjI1LTguOTljLTkuMDUyLTUuNzgxLTE5LjMxMy0xMi4zNDQtMzcuNzUtMTIuMzQ0DQoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTEyLDAtMTcuNTYzLTMuODY1LTI0LjYwNC04Ljc2DQoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTMzLjI2MywyNzcuMzM5Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43Ng0KCQkJCWMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODNjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcNCgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzDQoJCQkJYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzVjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2Nw0KCQkJCUMxNDMuOTMsMjgyLjEwOSwxMzkuMTU5LDI3Ny4zMzksMTMzLjI2MywyNzcuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQ0KCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQ0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3DQoJCQkJczQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3QzIxMy4zMTUsMzIwLjAwNSwyMjMuMzQ2LDMxMy4wMzYsMjMxLjQwOSwzMDcuNDMyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",cxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMiAxNjMuODdjMC0xMy45LTUuNDEyLTI2Ljk2MS0xNS4yMzMtMzYuNzctOS44MTUtOS44MjgtMjIuODc2LTE1LjI0LTM2Ljc3Ni0xNS4yNGgtODAuOTdjLTI2LjcwNSAwLTQ4LjQzLTIxLjcyNi00OC40My00OC40MyAwLTEyLjkzOCA1LjAzNy0yNS4xMDEgMTQuMTg0LTM0LjI0NyA5LjE0NC05LjE0NiAyMS4zMDctMTQuMTgzIDM0LjI0NS0xNC4xODNoMTI1LjQ4YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0xMjUuNDhjLTE2Ljk0NSAwLTMyLjg3NCA2LjU5Ny00NC44NTMgMTguNTc3LTExLjk3OSAxMS45NzktMTguNTc3IDI3LjkwOC0xOC41NzcgNDQuODUzIDAgMzQuOTc1IDI4LjQ1NSA2My40MyA2My40MyA2My40M2g4MC45N2M5Ljg5IDAgMTkuMTgyIDMuODUgMjYuMTY5IDEwLjg0NyA2Ljk5MSA2Ljk4MiAxMC44NDEgMTYuMjczIDEwLjg0MSAyNi4xNjMgMCA4LjYzNy0zLjAzOCAxNy4wNDQtOC41NTcgMjMuNjc0bC0yMi4zMDUgMjYuODIyYy03Ljg4NC0yLjcyNS0xNi45ODktLjk3Mi0yMy4yODIgNS4zMTFsLTkuMDU4IDkuMDU4Yy0yMC4zMi0uNDItNDMuMDk4IDMuOTQtNjIuODIxIDcuNDI3LTQuMDc5LjcyMS02LjgwMSA0LjYxMy02LjA3OSA4LjY5MS43MjEgNC4wNzkgNC42MTMgNi43OTkgOC42OTEgNi4wNzkgMTguOTQyLTMuMzUgMzguMzkyLTUuNzY4IDU3LjgwOS03LjE4NSA3LjY4MS0uNTY2IDE0LjgzMyA0LjM5MyAxNi45ODUgMTEuNzggMS44MjcgNi4yNyA0Ny4wMjcgMTYwLjE2NyA0OC41MzMgMTY2LjU3NS40OTggMi4xMTktLjczOCAzLjY2LTIuOTEyIDMuNjYtMjIuNzg2IDAtNDEuMDQyIDE1LjY2LTQ4LjQ2NCAzNi40ODhoLTMyMC4zNzFjLTQuMTQyIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzI3Ljc4N2M1LjQ0NSAwIDkuODc1IDQuNDMgOS44NzUgOS44NzVzLTQuNDMxIDkuODc1LTkuODc2IDkuODc1aC00MzYuOTA2YzMuMjY1LTExLjM5MSAxMy43NzUtMTkuNzUgMjYuMi0xOS43NWg1Mi45MTljNC4xNDIgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTQ0Ljk0NGM2Mi40NjItMTExLjU5OCAxNzEuOTAzLTE3Ny4wMjcgMjk0Ljc3OC0yMDUuNDg2IDQuMDM1LS45MzUgNi41NDktNC45NjMgNS42MTQtOC45OTktLjkzNC00LjAzNS00Ljk2NC02LjU0OS04Ljk5OS01LjYxNC03MS42MzIgMTYuNTk5LTE0My41OTMgNDcuMDUxLTIwMS40NzMgOTIuNjA2bC0xMC4wNzEtMTAuMDdjLTguNjM1LTguNzUyLTIzLjE1OS04LjY3OC0zMS44MjYtLjAxLTguNjMxIDguNjMyLTguNzI4IDIzLjE2NiAwIDMxLjgwN2w4LjA1MSA4LjA1MWMtMjkuNDY3IDI4Ljk1OS01NC4xMDIgNjIuMzItNzQuMDQyIDk4LjkyLTE4LjQ4NyA0LjUwMi0zMi4yNTYgMjEuMTkxLTMyLjI1NiA0MS4wNDUgMCA0LjE0MyAzLjM1OCA3LjUgNy41IDcuNWg0NDUuNDU1YzEzLjcxNiAwIDI0Ljg3NS0xMS4xNTkgMjQuODc1LTI0Ljg3NSAwLTEwLjc1LTYuODU1LTE5LjkyNy0xNi40MjQtMjMuMzk1IDUuMjYzLTEzLjU3MyAxNy45MDMtMjIuOTY5IDMyLjU5OC0yMi45NjkgMTEuNDgzIDAgMjAuMzAyLTExLjQwMSAxNy40MTEtMjIuNTEtLjAxOC0uMDcxLS4wMzgtLjE0Mi0uMDU4LS4yMTFsLTQ1Ljg1Ny0xNTcuMzkxIDkuMTYzLTkuMTU2YzcuMzU5LTcuMzAzIDguNjQ0LTE5LjA5MyAzLjE5Ny0yNy43NjJsMjIuMTE1LTI2LjU5M2M3Ljc1NC05LjMxOCAxMi4wMjUtMjEuMTMyIDEyLjAyNS0zMy4yNjh6bS00MDMuMTQ2IDE3MS40MTNjMS40Mi0xLjQyMSAzLjMwNS0yLjIwMyA1LjMwNy0yLjIwMyAxLjk5OSAwIDMuODc3Ljc3OSA1LjI5NiAyLjIwNGw5LjAxNCA5LjAxNGMtMy44MjUgMy4yNDMtNy41ODIgNi41NTEtMTEuMjc0IDkuOTIybC04LjM0NC04LjM0NGMtMi45Mi0yLjkyLTIuOTItNy42NzIuMDAxLTEwLjU5M3ptMzU1LjIwNS05NC4zOTgtMy45ODYgMy45ODNjLTIuNDk2LTQuNDYxLTYuMDM3LTguMjAzLTEwLjIzMy0xMC45NjFsMy42MTktMy42MTljMi45MjYtMi45MiA3LjY4LTIuOTIyIDEwLjU5OC0uMDA0IDEuNDIxIDEuNDIxIDIuMjAzIDMuMzAyIDIuMjAzIDUuMjk3IDAgMi0uNzgyIDMuODg1LTIuMjAxIDUuMzA0em0tMjE1Ljc2NSA5NC43NjRjLTEzLjgyNCA3LjY1My0yMi40MTIgMjIuMjM1LTIyLjQxMiAzOC4wNTYgMCAxMS45ODcgNS4wMTkgMjMuNTYzIDEzLjc3MSAzMS43NTggOC4wNjYgNy41NTMgMTguNzg4IDExLjc1NiAyOS43ODYgMTEuNzU1Ljk0IDAgMTUxLjA4LTkuODM4IDE1MS4wOC05LjgzOCA2LjkxMS0uNDU0IDEzLjIyNS0zLjkxNiAxNy4zMjItOS40OTggNC4wOTYtNS41NzkgNS41MDctMTIuNjM3IDMuODcyLTE5LjM2MmwtMTkuNTM4LTgwLjMyM2MtMy4wMTctMTIuNDA0LTE1LjE4My0yMC4wMTMtMjcuNjkzLTE3LjMyOS0zMC4wOTQgNi40NjYtNTkuNzg3IDE1LjU5NC04OC4yNTYgMjcuMTMtMTkuNzY4IDguMDEtMzkuMjU5IDE3LjMxMy01Ny45MzIgMjcuNjUxem0xMDcuMjY2IDYwLjk2OS02Ny40MyA0LjQzM3YtMTcuNjgxYzAtLjIzOC4yMDItLjQ0LjQ0LS40NGg2Ni41NWMuMjQzIDAgLjQ0LjE5Ny40NC40NHptNDIuMDcxLTEwMS4wODVjLjYxMy0uMTMyIDEuMjIzLS4xOTUgMS44MjMtLjE5NSAzLjgxNCAwIDcuMjEgMi41NTkgOC4xNDUgNi40MDNsMTkuNTM4IDgwLjMyM2MuNTk1IDIuNDQ2LjEwMiA0LjkxMS0xLjM4OCA2Ljk0LTEuNDkyIDIuMDMyLTMuNjk5IDMuMjQyLTYuMjE1IDMuNDA4bC00OC45NzQgMy4yMTl2LTEyLjI2MWMwLTguNTE0LTYuOTI2LTE1LjQ0LTE1LjQ0LTE1LjQ0aC02Ni41NWMtOC41MTQgMC0xNS40NCA2LjkyNy0xNS40NCAxNS40NHYxOC42NjdsLTEuODUuMTIyYy03Ljk1Ny41MTgtMTUuNTUyLTIuMTkyLTIxLjM3NS03LjY0NS01LjgxOS01LjQ0OS05LjAyNC0xMi44MzktOS4wMjQtMjAuODA5IDAtMTAuMzY3IDUuNjI0LTE5LjkyMSAxNC42NzctMjQuOTMzIDE4LjE0OC0xMC4wNDcgMzcuMDktMTkuMDg4IDU2LjMwMS0yNi44NzMgMjcuNjY2LTExLjIxMSA1Ni41MjUtMjAuMDgzIDg1Ljc3Mi0yNi4zNjZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",uxe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDM1LjIgMzI0LjI2N2gtMTAuOTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjdjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMjMyLjc3MmMtMTQuMTM4IDAtMjUuNi0xMS40NjItMjUuNi0yNS42czExLjQ2Mi0yNS42IDI1LjYtMjUuNmgzNi41MDZjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDYyLjEwNmMxNC4xMzggMCAyNS42LTExLjQ2MiAyNS42LTI1LjZzLTExLjQ2Mi0yNS42LTI1LjYtMjUuNmgtNjIuMTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjZjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMzYuNTA2Yy00Mi40MTUgMC03Ni44IDM0LjM4NS03Ni44IDc2LjhzMzQuMzg1IDc2LjggNzYuOCA3Ni44aDIzMi43NzJjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDEwLjkwN2MxNC4xMzggMCAyNS42IDExLjQ2MiAyNS42IDI1LjZzLTExLjQ2MiAyNS42LTI1LjYgMjUuNmgtMzA5LjU3MmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTE5LjQzOWMtMTQuMTM4IDAtMjUuNiAxMS40NjItMjUuNiAyNS42czExLjQ2MiAyNS42IDI1LjYgMjUuNmgxOS40MzljMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDMwOS41NzNjNDIuNDE1IDAgNzYuOC0zNC4zODUgNzYuOC03Ni44cy0zNC4zODUtNzYuOC03Ni44LTc2Ljh6bS01OS43MzMtMjUuNmgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS03Ni44LTUxLjJjMCA0LjcxMy0zLjgyMSA4LjUzMy04LjUzMyA4LjUzM2gtNTkuNzM0di0xNy4wNjdoNTkuNzMzYzQuNzEzIDAgOC41MzQgMy44MjEgOC41MzQgOC41MzR6bS0xMTkuNDY3LTUxLjJoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tOC41MzMgMzQuMTMzaDQyLjY2N3YzNC4xMzNoLTUxLjJ2LTM0LjEzM3ptLTExOS40NjcgNjguMjY3Yy4wMzgtMzIuOTc0IDI2Ljc1OS01OS42OTYgNTkuNzMzLTU5LjczM2gzNC4xMzN2MTcuMDY2aC0zNC4xMzNjLTIzLjU2NCAwLTQyLjY2NyAxOS4xMDMtNDIuNjY3IDQyLjY2N3MxOS4xMDMgNDIuNjY3IDQyLjY2NyA0Mi42NjdoMjMwLjR2MTcuMDY2aC0yMzAuNGMtMzIuOTc0LS4wMzgtNTkuNjk1LTI2Ljc1OS01OS43MzMtNTkuNzMzem0zMDcuMiA2OC4yNjZ2LTM0LjEzM2g1MS4ydjM0LjEzM3ptLTI4MS42IDM0LjEzNGgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS01OS43MzMgNTEuMmMwLTQuNzEzIDMuODIxLTguNTMzIDguNTMzLTguNTMzaDE3LjA2N3YxNy4wNjZoLTE3LjA2N2MtNC43MTMgMC04LjUzMy0zLjgyLTguNTMzLTguNTMzem00Mi42NjYgMTcuMDY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bTM3NS40NjctOC41MzNoLTMwNy4ydi0xNy4wNjdoMzA3LjJjMjMuNTY0IDAgNDIuNjY3LTE5LjEwMyA0Mi42NjctNDIuNjY3cy0xOS4xMDMtNDIuNjY3LTQyLjY2Ny00Mi42NjdoLTguNTMzdi0xNy4wNjdoOC41MzNjMzIuOTkgMCA1OS43MzMgMjYuNzQ0IDU5LjczMyA1OS43MzNzLTI2Ljc0MyA1OS43MzUtNTkuNzMzIDU5LjczNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyAxMTAuOTMzYzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODIxLTguNTMzLTguNTMzLTguNTMzLTQuNzEzIDAtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTMgMy44MjEgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDU5LjczM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI5LjE0MyAxMTMuNDkzYzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAzLjU0MyA2OS4xODhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzg4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzNC42NjcgMTE2LjY1MWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMxLjU0OS0yLjY0MiAxLjU2My01LjkxMS4wMzgtOC41NjZzLTQuMzU2LTQuMjktNy40MTgtNC4yODMtNS44ODYgMS42NTQtNy4zOTkgNC4zMTZsLTguNTMzIDE0Ljc4Yy0yLjM1OCA0LjA4LS45NiA5LjI5OSAzLjEyMiAxMS42NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjAuMjY3IDcyLjMxMWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43ODhjLTIuMzU4IDQuMDgxLS45NiA5LjMgMy4xMjIgMTEuNjU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDIyMS44NjdjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44Mi04LjUzMy04LjUzMy04LjUzM3MtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTIgMy44MiA4LjUzMyA4LjUzMyA4LjUzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAxNzAuNjY3YzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODItOC41MzMtOC41MzMtOC41MzNzLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEyIDMuODIgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjUuNDEgMjI0LjQyN2MxLjUxNCAyLjY2MiA0LjMzNyA0LjMwOSA3LjM5OSA0LjMxNnM1Ljg5My0xLjYyOCA3LjQxOC00LjI4MyAxLjUxMS01LjkyNC0uMDM4LTguNTY2bC04LjUzMy0xNC43OGMtMS41MTQtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5OS44MSAxODAuMTIyYzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzAuOTMzIDIyNy41ODRjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOHMtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMzAxIDMuMTIyIDExLjY1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1Ni41MzMgMTgzLjI0NWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOC00LjA2Mi0yLjM0NS05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzg4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMyAzLjEyMiAxMS42NTd6Ii8+DQogICAgPC9nPg0KPC9zdmc+",lxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzk4LjU4OSAyNDYuMzQyYy02NC42NjYtMTcuMzI4LTExNS42MDEtNjguMjY0LTEzMi45MjktMTMyLjkyOS0xLjE3MS00LjM3Mi01LjEzMy03LjQxMi05LjY1OS03LjQxMnMtOC40ODggMy4wNC05LjY1OSA3LjQxMmMtMTcuMzI4IDY0LjY2Ni02OC4yNjMgMTE1LjYwMS0xMzIuOTI5IDEzMi45MjktNC4zNzIgMS4xNzEtNy40MTIgNS4xMzMtNy40MTIgOS42NTlzMy4wNCA4LjQ4OCA3LjQxMiA5LjY1OWM2NC42NjYgMTcuMzI5IDExNS42MDEgNjguMjY0IDEzMi45MjkgMTMyLjkyOSAxLjE3MSA0LjM3MiA1LjEzMyA3LjQxMiA5LjY1OSA3LjQxMnM4LjQ4OC0zLjA0IDkuNjU5LTcuNDEyYzE3LjMyOC02NC42NjUgNjguMjY0LTExNS42MDEgMTMyLjkyOS0xMzIuOTI5IDQuMzcyLTEuMTcxIDcuNDEyLTUuMTMzIDcuNDEyLTkuNjU5cy0zLjA0LTguNDg4LTcuNDEyLTkuNjU5em0tMTQyLjU4OCAxMTkuMTc2Yy0yMS4wMzktNDkuMDk2LTYwLjQyLTg4LjQ3OC0xMDkuNTE2LTEwOS41MTcgNDkuMDk2LTIxLjAzOSA4OC40NzgtNjAuNDIgMTA5LjUxNi0xMDkuNTE3IDIxLjAzOSA0OS4wOTcgNjAuNDIgODguNDc4IDEwOS41MTcgMTA5LjUxNy00OS4wOTcgMjEuMDM5LTg4LjQ3OCA2MC40Mi0xMDkuNTE3IDEwOS41MTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNzUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMTI4LjcyMWMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc2IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M2wtMzkuNTk3LTM5LjU5OGMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MyAwcy0zLjkwNSAxMC4yMzcgMCAxNC4xNDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDM4My4yODEtMzkuNTk4IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcxIDIuOTI5czUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk4LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNi0xNC4xNDIgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNDM2LjAwM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwMi4wMDIgMjQ2LjAwMWgtNTUuOTk5Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU1Ljk5OWM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5MC4zNTMgMTMxLjY0OWMyLjU1OSAwIDUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk3LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNS0xNC4xNDMgMGwtMzkuNTk3IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcyIDIuOTI5eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjkuODQ0IDc0LjEzMSAxMy4wNTQgMzEuNTE0YzEuNTk1IDMuODUxIDUuMzE4IDYuMTc1IDkuMjQzIDYuMTc1IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0IDUuMTAyLTIuMTE0IDcuNTI1LTcuOTYzIDUuNDEyLTEzLjA2NmwtMTMuMDU0LTMxLjUxNGMtMi4xMTQtNS4xMDMtNy45NjMtNy41MjctMTMuMDY2LTUuNDEycy03LjUyNiA3Ljk2NC01LjQxMiAxMy4wNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNC41NDIgMTcwLjk0M2MxLjM1Ny42MjYgMi43ODIuOTIzIDQuMTg0LjkyMyAzLjc4IDAgNy4zOTgtMi4xNTQgOS4wODYtNS44MTIgMi4zMTQtNS4wMTQuMTI1LTEwLjk1Ni00Ljg4OS0xMy4yN2wtLjAwNi0uMDAzYy01LjAxMy0yLjMxNS0xMC45NTItLjEyNS0xMy4yNjcgNC44OTEtMi4zMTYgNS4wMTQtLjEyMyAxMC45NTYgNC44OTIgMTMuMjcxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDUuNjQ1IDMyOS4xMDRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTEzLTUuMTAzLTcuOTY0LTcuNTI3LTEzLjA2NS01LjQxMmwtMzEuNTE0IDEzLjA1NGMtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuNzkzIDM0MC45NDctLjAwNy4wMDNjLTUuMDc2IDIuMTc1LTcuNDI0IDguMDUzLTUuMjQ5IDEzLjEyOSAxLjYyNSAzLjc5MiA1LjMxNyA2LjA2MiA5LjE5OCA2LjA2MiAxLjMxNSAwIDIuNjUyLS4yNjEgMy45MzYtLjgxMiA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xMzEtMi4xNzQtNS4wNzUtOC4wNTMtNy40MjYtMTMuMTMtNS4yNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTUuOTYzIDQwMC45NDVjLTUuMTAxLTIuMTE0LTEwLjk1Mi4zMS0xMy4wNjUgNS40MTJsLTEzLjA1NCAzMS41MTVjLTIuMTE0IDUuMTAzLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjUgMS4yNTEuNTE5IDIuNTQ3Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NmwxMy4wNTQtMzEuNTE1YzIuMTEzLTUuMTAyLS4zMTEtMTAuOTUyLTUuNDEzLTEzLjA2NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Ni4xOTkgNDc0LjA3OGMtNS4wNzYgMi4xNzUtNy40MjggOC4wNTQtNS4yNTIgMTMuMTNsLjAwMy4wMDdjMS42MjUgMy43OTEgNS4zMTQgNi4wNiA5LjE5MiA2LjA2IDEuMzE1IDAgMi42NTEtLjI2MSAzLjkzNy0uODEyIDUuMDc2LTIuMTc1IDcuNDI2LTguMDU4IDUuMjUtMTMuMTM0LTIuMTc0LTUuMDc2LTguMDUxLTcuNDI2LTEzLjEzLTUuMjUxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODcuMjA4IDM0MC45NDdjLTUuMDc2LTIuMTc3LTEwLjk1NS4xNzctMTMuMTMgNS4yNTItMi4xNzYgNS4wNzcuMTc2IDEwLjk1NiA1LjI1MiAxMy4xMzFsLjAwNi4wMDNjMS4yODUuNTUgMi42MTkuODExIDMuOTMzLjgxMSAzLjg3OSAwIDcuNTY5LTIuMjcyIDkuMTk0LTYuMDY0IDIuMTc3LTUuMDc3LS4xNzgtMTAuOTU3LTUuMjU1LTEzLjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0NS41MjUgMzIzLjY4MS0zMS41MTQtMTMuMDU0Yy01LjEwMi0yLjExMy0xMC45NTEuMzEtMTMuMDY1IDUuNDEycy4zMSAxMC45NTIgNS40MTIgMTMuMDY1bDMxLjUxNCAxMy4wNTRjMS4yNTIuNTE5IDIuNTQ4Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NiAyLjExMy01LjEwMi0uMzExLTEwLjk1Mi01LjQxMy0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MDYuMzU3IDE4Mi44OTdjLTUuMTAzIDIuMTEzLTcuNTI2IDcuOTYzLTUuNDEyIDEzLjA2NSAxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NGwzMS41MTQtMTMuMDU0YzUuMTAzLTIuMTEzIDcuNTI2LTcuOTYzIDUuNDEyLTEzLjA2NS0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDM3LjkyM2MxLjI4NS41NTEgMi42MjEuODExIDMuOTM1LjgxMSAzLjg4IDAgNy41NzEtMi4yNzEgOS4xOTYtNi4wNjNsLjAwMy0uMDA3YzIuMTc2LTUuMDc2LS4xNzctMTAuOTUyLTUuMjUzLTEzLjEyNy01LjA3NC0yLjE3Ni0xMC45NTcuMTc5LTEzLjEzMiA1LjI1Ni0yLjE3NyA1LjA3Ni4xNzUgMTAuOTU1IDUuMjUxIDEzLjEzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Nxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI0MC4wMDMsNDhjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThzLTgsMy41ODItOCw4djMyQzIzMi4wMDMsNDQuNDE4LDIzNS41ODQsNDgsMjQwLjAwMyw0OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTINCgkJCQlsLTE2LTI3LjcwNGMtMi4xODQtMy44NDEtNy4wNjgtNS4xODQtMTAuOTA5LTNjLTMuODQxLDIuMTg0LTUuMTg0LDcuMDY4LTMsMTAuOTA5QzE0MS4wMzksMzYuNTk1LDE0MS4wNTcsMzYuNjI2LDE0MS4wNzUsMzYuNjU2DQoJCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2DQoJCQkJYzIuMjM0LTMuODEyLDAuOTU2LTguNzEzLTIuODU2LTEwLjk0N2MtMC4wMy0wLjAxOC0wLjA2MS0wLjAzNS0wLjA5Mi0wLjA1M2wtMjcuNzA0LTE2Yy0zLjgxMi0yLjIzNC04LjcxMy0wLjk1Ni0xMC45NDcsMi44NTYNCgkJCQlDNzEuNDc3LDk5LjczOSw3Mi43NTUsMTA0LjY0MSw3Ni41NjcsMTA2Ljg3NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA0LjQ1NiwyNjEuMDE4Yy0wLjAzMSwwLjAxOC0wLjA2MiwwLjAzNi0wLjA5MywwLjA1NGwtMjcuNzA0LDE2Yy0zLjg0MSwyLjE4My01LjE4NSw3LjA2Ny0zLjAwMiwxMC45MDgNCgkJCQljMi4xODMsMy44NDEsNy4wNjcsNS4xODUsMTAuOTA4LDMuMDAyYzAuMDMxLTAuMDE4LDAuMDYyLTAuMDM2LDAuMDkzLTAuMDU0bDI3LjcwNC0xNmMzLjg0MS0yLjE4Myw1LjE4NS03LjA2NywzLjAwMi0xMC45MDgNCgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDMuNDQsMjc3LjEyNmMtMC4wMzEtMC4wMTgtMC4wNjItMC4wMzYtMC4wOTMtMC4wNTRsLTI3LjcwNC0xNmMtMy44MTEtMi4yMzUtOC43MTMtMC45NTctMTAuOTQ4LDIuODU0DQoJCQkJYy0yLjIzNSwzLjgxMS0wLjk1Nyw4LjcxMywyLjg1NCwxMC45NDhjMC4wMzEsMC4wMTgsMC4wNjIsMC4wMzYsMC4wOTMsMC4wNTRsMjcuNzA0LDE2YzMuODExLDIuMjM1LDguNzEzLDAuOTU3LDEwLjk0OC0yLjg1NA0KCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI0LjAwMywxODRoLTMyYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNDI4LjQyMSwxODQsNDI0LjAwMywxODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNzEuNjUxLDEyNGMxLjQwNCwwLDIuNzg0LTAuMzcsNC0xLjA3MmwyNy43MDQtMTZjMy44NDEtMi4xODQsNS4xODQtNy4wNjgsMy0xMC45MDlzLTcuMDY4LTUuMTg0LTEwLjkwOS0zDQoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgNCgkJCQlDMzY2LjE1MiwxMjIuNDc1LDM2OC43OTMsMTI0LDM3MS42NTEsMTI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzExLjk5Myw2Ny4yOTFjMC4wMDMsMC4wMDIsMC4wMDYsMC4wMDQsMC4wMDksMC4wMDVjMy44MjcsMi4yMDcsOC43MiwwLjg5NCwxMC45MjctMi45MzQNCgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQNCgkJCQljLTAuMDE4LDAuMDMxLTAuMDM2LDAuMDYyLTAuMDU0LDAuMDkzbC0xNiwyNy43MDRDMzA2Ljg2Miw2MC4xODQsMzA4LjE2OSw2NS4wNzgsMzExLjk5Myw2Ny4yOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTYuMDAzLDMyMGM0LjQxOCwwLDgtMy41ODIsOC04di04OGgxNmMxNy42NzMsMCwzMi0xNC4zMjcsMzItMzJzLTE0LjMyNy0zMi0zMi0zMmMtMTcuNjczLDAtMzIsMTQuMzI3LTMyLDMydjE2aC0xNg0KCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4DQoJCQkJQzI0OC4wMDMsMzE2LjQxOCwyNTEuNTg0LDMyMCwyNTYuMDAzLDMyMHogTTI2NC4wMDMsMTkyYzAtOC44MzcsNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZzLTcuMTYzLDE2LTE2LDE2aC0xNlYxOTJ6DQoJCQkJIE0yMTYuMDAzLDIwOGgtMTZjLTguODM3LDAtMTYtNy4xNjMtMTYtMTZzNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZWMjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyDQoJCQkJYzUuNjM5LDQuNDE3LDguOTk0LDExLjEzNSw5LjEzNiwxOC4yOTZWMzI4YzAuMDQyLDEwLjEzNCw2LjQ0NSwxOS4xNSwxNiwyMi41MjhWMzYwYzAuMDIxLDUuOTIzLDIuMjQ1LDExLjYyNyw2LjI0LDE2DQoJCQkJYy04LjMyLDkuMDQ0LTguMzIsMjIuOTU2LDAsMzJjLTguODk0LDkuNzUtOC4yLDI0Ljg2NCwxLjU1LDMzLjc1OGM0LjQyOSw0LjA0LDEwLjIxNSw2LjI2OCwxNi4yMSw2LjI0Mg0KCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0DQoJCQkJYy0wLjY1OC0wLjYwMi0xLjQwOS0xLjA5NC0yLjIyNC0xLjQ1NmMtMC4yMzItMC4xMi0wLjQ2NC0wLjIxNi0wLjcwNC0wLjMxMmMtMC44MS0wLjI5NS0xLjY1OS0wLjQ2NS0yLjUyLTAuNTA0DQoJCQkJYy0wLjA4LDAtMC4xNTItMC4wNDgtMC4yMzItMC4wNDhjLTQuNDE4LDAtOC0zLjU4Mi04LThzMy41ODItOCw4LThoMzJjNC40MTgsMCw4LTMuNTgyLDgtOHMtMy41ODItOC04LThoLTMyDQoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04DQoJCQkJcy0zLjU4Mi04LTgtOGgtNDhjLTQuNDE4LDAtOC0zLjU4Mi04LTh2LTE4Ljc2Yy0wLjEzMS0xMS45NjItNS42NC0yMy4yMy0xNS0zMC42OGMtNDcuNzg4LTM5LjI3NC01NC42ODktMTA5Ljg1Mi0xNS40MTUtMTU3LjY0DQoJCQkJYzIyLjQ2Ni0yNy4zMzYsNTYuNTI4LTQyLjQ0OCw5MS44NzEtNDAuNzZjNTkuMTA3LDMuNTE2LDEwNS41MzYsNTEuOTU3LDEwNi41NDQsMTExLjE2YzAuMjg3LDM0LjA1Mi0xNS4wMjQsNjYuMzYzLTQxLjU2LDg3LjcwNA0KCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OA0KCQkJCWMwLDQuNDE4LTMuNTgyLDgtOCw4aC04Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDgNCgkJCQlzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtNDBjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzAuNjMyDQoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2DQoJCQkJYy0zLjMsMi45MzgtMy41OTQsNy45OTYtMC42NTYsMTEuMjk2YzE0LjYzMSwxNi40ODcsMzkuODU3LDE3Ljk5Miw1Ni4zNDQsMy4zNjJjNi44MS02LjA0MywxMS4zNDktMTQuMjMyLDEyLjg2NC0yMy4yMQ0KCQkJCWMxMi41MjktMy45MTYsMTkuNTExLTE3LjI0NywxNS41OTYtMjkuNzc2Yy0xLjA0LTMuMzI5LTIuODAxLTYuMzg4LTUuMTU2LTguOTZjOC4zMi05LjA0NCw4LjMyLTIyLjk1NiwwLTMyDQoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2DQoJCQkJYzMwLjM0NC0yNC4zOTUsNDcuODUtNjEuMzM5LDQ3LjUxMi0xMDAuMjcyQzM2Ni44NDcsMTIzLjUzMiwzMTMuNzc3LDY4LjE2OSwyNDYuMjE5LDY0LjE1MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Lxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTUuOTk5LDBjLTc5LjA0NCwwLTE0My4zNTIsNjQuMzA4LTE0My4zNTIsMTQzLjM1M3Y3MC4xOTNjMCw0Ljc4LDMuODc5LDguNjU2LDguNjU5LDguNjU2aDQ4LjA1Nw0KCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzDQoJCQljMCw0Ljc4LDMuODgsOC42NTYsOC42NjEsOC42NTZoNDguMDU3YzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzQzM5OS4zNTIsNjQuMzA4LDMzNS4wNDQsMCwyNTUuOTk5LDB6DQoJCQkgTTM4Mi4wNCwyMDQuODloLTMwLjc0OHYtNjEuNTM3YzAtNTIuNTQ0LTQyLjc0OC05NS4yOTItOTUuMjkxLTk1LjI5MnMtOTUuMjkxLDQyLjc0OC05NS4yOTEsOTUuMjkydjYxLjUzN2gtMzAuNzQ4di02MS41MzcNCgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQxMC42MywyMDQuODlIMTAxLjM3MWMtMjAuNTA1LDAtMzcuMTg4LDE2LjY4My0zNy4xODgsMzcuMTg4djIzMi43MzRjMCwyMC41MDUsMTYuNjgzLDM3LjE4OCwzNy4xODgsMzcuMTg4SDQxMC42Mw0KCQkJYzIwLjUwNSwwLDM3LjE4Ny0xNi42ODMsMzcuMTg3LTM3LjE4OVYyNDIuMDc4QzQ0Ny44MTcsMjIxLjU3Myw0MzEuMTM1LDIwNC44OSw0MTAuNjMsMjA0Ljg5eiBNNDMwLjUwNSw0NzQuODExDQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3Ng0KCQkJSDQxMC42M2MxMC45NTksMCwxOS44NzUsOC45MTYsMTkuODc1LDE5Ljg3NlY0NzQuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjg1LjExLDM2OS43ODFjMTAuMTEzLTguNTIxLDE1Ljk5OC0yMC45NzgsMTUuOTk4LTM0LjM2NWMwLTI0Ljg3My0yMC4yMzYtNDUuMTA5LTQ1LjEwOS00NS4xMDkNCgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2DQoJCQljMS42NDUsMi4wMjMsNC4xMTMsMy4yLDYuNzIsMy4yaDYwLjczOGMyLjYwOCwwLDUuMDc2LTEuMTc2LDYuNzE5LTMuMmMxLjY0My0yLjAyNiwyLjI4Ni00LjY4MywxLjc1MS03LjIzNEwyODUuMTEsMzY5Ljc4MXoNCgkJCSBNMjcwLjg1MSwzNTguODJjLTMuMDQsMS45MzYtNC41NjUsNS41NTMtMy44MjQsOS4wODFsOC42OCw0MS4zNjZoLTM5LjQxNWw4LjY4Mi00MS4zNjNjMC43NC0zLjUyOS0wLjc4Mi03LjE0Ni0zLjgyNC05LjA4MQ0KCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2DQoJCQlDMjgzLjc5NywzNDQuOTE0LDI3OC45NTcsMzUzLjY2MywyNzAuODUxLDM1OC44MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",gxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTQuOTMzNTk0IDBoLTQ3Ny44NjcxODhjLTkuNDIxODc1LjAwNzgxMjUtMTcuMDU4NTkzNSA3LjY0NDUzMS0xNy4wNjY0MDYgMTcuMDY2NDA2djU5LjczNDM3NWMuMDA3ODEyNSA5LjQyMTg3NSA3LjY0NDUzMSAxNy4wNTQ2ODggMTcuMDY2NDA2IDE3LjA2NjQwN2gxMC44OTQ1MzJsLTI2LjgzNTkzOCA0Ni45NjQ4NDNjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTk1MzEgMS41MjczNDQgMi42Mjg5MDcgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2NDg0NGMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODg2NzE5LjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYzMjgxMyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY4NzVjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4MjgxMy4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42Mjg5MDYgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTIgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1MzkwNmgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWg0OTQuOTI5Njg4YzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjgtLjAwMzkwNiA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1MzkwNiAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTMgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2ODc1aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjE3MTg3IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44Nzg5MDYuMDI3MzQ0LTguNTE5NTMxbC0yNi44MzU5MzgtNDYuOTY0ODQzaDEwLjg5NDUzMmM5LjQyMTg3NS0uMDExNzE5IDE3LjA1NDY4Ny03LjY0NDUzMiAxNy4wNjY0MDYtMTcuMDY2NDA3di01OS43MzQzNzVjLS4wMTE3MTktOS40MjE4NzUtNy42NDQ1MzEtMTcuMDU0Njg3Mi0xNy4wNjY0MDYtMTcuMDY2NDA2em0tNDQ3LjMxNjQwNiA5My44NjcxODhoNDYuMjV2NDIuNjY3OTY4aC03MC42Mjg5MDd6bTMxOS4zMTY0MDYgMHY0Mi42Njc5NjhoLTIyMS44NjcxODh2LTQyLjY2Nzk2OHptNjguMjY1NjI1IDB2NDIuNjY3OTY4aC0xNy4wNjY0MDd2LTQyLjY2Nzk2OHptLTI5MC4xMzI4MTMgMzQxLjMzMjAzMXYtNDIuNjY0MDYzaDIyMS44NjcxODh2NDIuNjY0MDYzem0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42Njc5NjloLTIyMS44NjcxODh2LTQyLjY2Nzk2OXptMC0yNTZoLTIyMS44NjcxODh2LTQyLjY2NDA2M2gyMjEuODY3MTg4em0xNy4wNjY0MDYtNDIuNjY0MDYzaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptLTIzOC45MzM1OTQgMTYyLjEzMjgxM3YtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42NjQwNjNoLTIyMS44NjcxODh2LTQyLjY2NDA2M3ptLTIyMS44NjcxODgtNzYuODAwNzgxdi00Mi42Njc5NjloMjIxLjg2NzE4OHY0Mi42Njc5Njl6bS0xNy4wNjY0MDYtNTkuNzM0Mzc1aC0xNy4wNjY0MDZ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ6bTAgMTcuMDY2NDA2djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTI1NiAwaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptMC0xNy4wNzAzMTJ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzem0wLTU5LjczMDQ2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTAtNTkuNzM0Mzc1di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMzQuMTMyODEyLTQyLjY2Nzk2OWgxNy4wNjY0MDd2NDIuNjY3OTY5aC0xNy4wNjY0MDd6bTAtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA3djQyLjY2NDA2M3ptLTE3LjA2NjQwNi01OS43MzA0NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTI3My4wNjY0MDYgMGgtMTcuMDY2NDA2di00Mi42Njc5NjhoMTcuMDY2NDA2em0tODAuMzgyODEyIDE3LjA2NjQwNmg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzA0NjloNDYuMjV2NDIuNjY3OTY5aC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em02My4zMTY0MDYgNDIuNjY3OTY5di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMjczLjA2NjQwNiAwdi00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMTA0Ljc1NzgxMiAwaC03MC42MjV2LTQyLjY2Nzk2OWg0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczNDM3NWgtNzAuNjI1di00Mi42NjQwNjNoNDYuMjV6bTAtNTkuNzMwNDY5aC03MC42MjV2LTQyLjY2Nzk2OWgxNy4wNjY0MDd2MTcuMDY2NDA2YzAgNC43MTQ4NDQgMy44MjAzMTIgOC41MzUxNTcgOC41MzUxNTYgOC41MzUxNTcgNC43MTA5MzcgMCA4LjUzMTI1LTMuODIwMzEzIDguNTMxMjUtOC41MzUxNTd2LTE3LjA2NjQwNmgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2Nzk2OWgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2NDA2M2gxMi4xMTcxODd6bTAtNTkuNzMwNDY5aC0zNi40OTIxODd2LTQyLjY2Nzk2OGgxMi4xMTcxODd6bS0xOS40MjU3ODEtNTkuNzM0Mzc1aC00NTIuMjY1NjI1di01OS43MzQzNzVoNDc3Ljg2NzE4OGwuMDA3ODEyIDU5LjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NS4wNjY0MDYgNDIuNjY3OTY5aC01MS4xOTkyMThjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDUxLjE5OTIxOGM0LjcxNDg0NCAwIDguNTM1MTU2LTMuODIwMzEzIDguNTM1MTU2LTguNTM1MTU2IDAtNC43MTA5MzgtMy44MjAzMTItOC41MzEyNS04LjUzNTE1Ni04LjUzMTI1em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",jxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNCAyNDMuNzgzYy0uOTUxIDAtMS44NjguMTQxLTIuNzM5LjM4OWwtLjAwMi0uMDA3LTI4LjcyMiA4LjE4N2MtNS4zMTEgMS41MTQtOC4zOSA3LjA0Ny02Ljg3NiAxMi4zNTggMS4yNTMgNC4zOTYgNS4yNTggNy4yNjEgOS42MTIgNy4yNjEuOTA3IDAgMS44My0uMTI1IDIuNzQ2LS4zODVsMTUuOTgxLTQuNTU0djM1LjQybC0xMjQgMzUuMzQ1di0zNS40MmwyMS40NjQtNi4xMThjNS4zMTEtMS41MTQgOC4zOS03LjA0NyA2Ljg3Ni0xMi4zNThzLTcuMDQ1LTguMzg3LTEyLjM1OC02Ljg3NmwtMjguNzIzIDguMTg3LjAwMS4wMDdjLTQuMTg5IDEuMTkzLTcuMjYgNS4wMzktNy4yNiA5LjYxdjEyNy4xOTljLTguMzYzLTYuMjkzLTE4Ljc1Mi0xMC4wMjgtMzAtMTAuMDI4LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTEwMy40MDZsMTI0LTM1LjM0NXY1Ny43MzNjLTguMzYzLTYuMjkyLTE4Ljc1Mi0xMC4wMjctMzAtMTAuMDI3LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTE2Ny4xNzJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHptLTE4NCAyNDguMjE3Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6bTE0NC00MS4wNDVjLTE2LjU0MiAwLTMwLTEzLjQ1OC0zMC0zMHMxMy40NTgtMzAgMzAtMzAgMzAgMTMuNDU4IDMwIDMwLTEzLjQ1OCAzMC0zMCAzMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzEuNTkxIDM0OC43NjItNDguMjg4LTcuMDE3LTIxLjU5NS00My43NTZjLTEuNjg1LTMuNDEzLTUuMTYxLTUuNTc0LTguOTY3LTUuNTc0cy03LjI4MyAyLjE2MS04Ljk2NyA1LjU3NGwtMjEuNTk1IDQzLjc1Ni00OC4yODggNy4wMTdjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTFsMzQuOTQxIDM0LjA2LTguMjQ5IDQ4LjA5M2MtLjY0NCAzLjc1MS44OTggNy41NDMgMy45NzggOS43ODEgMy4wNzkgMi4yMzYgNy4xNjIgMi41MzIgMTAuNTMxLjc2MWw0My4xOS0yMi43MDcgNDMuMTkgMjIuNzA2YzEuNDYzLjc3IDMuMDYxIDEuMTQ5IDQuNjUyIDEuMTQ5IDIuMDczIDAgNC4xMzctLjY0NCA1Ljg3OS0xLjkxIDMuMDgtMi4yMzcgNC42MjItNi4wMjkgMy45NzgtOS43ODFsLTguMjQ5LTQ4LjA5MyAzNC45NDEtMzQuMDZjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNC02LjI1OC04LjA3MS02LjgwNXptLTQ3LjEyNCA0MC40NjRjLTIuMzU3IDIuMjk3LTMuNDMzIDUuNjA3LTIuODc2IDguODUxbDUuNzEyIDMzLjMwNC0yOS45MDktMTUuNzI0Yy0yLjkxMy0xLjUzMi02LjM5My0xLjUzMi05LjMwNyAwbC0yOS45MDkgMTUuNzI0IDUuNzEyLTMzLjMwNGMuNTU3LTMuMjQ0LS41MTktNi41NTQtMi44NzYtOC44NTFsLTI0LjE5Ni0yMy41ODYgMzMuNDM5LTQuODU5YzMuMjU3LS40NzMgNi4wNzMtMi41MTkgNy41MjktNS40N2wxNC45NTUtMzAuMzAxIDE0Ljk1NCAzMC4zMDFjMS40NTcgMi45NTEgNC4yNzIgNC45OTcgNy41MjkgNS40N2wzMy40MzkgNC44NTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMi42MiA5MC43MDYtNi42MiAzOC41OTNjLS42NDQgMy43NTEuODk4IDcuNTQzIDMuOTc4IDkuNzgxIDMuMDc5IDIuMjM3IDcuMTYzIDIuNTMzIDEwLjUzMS43NjFsMzQuNjU4LTE4LjIyMSAzNC42NTkgMTguMjIxYzEuNDYzLjc2OSAzLjA2MSAxLjE0OCA0LjY1MiAxLjE0OCAyLjA3MyAwIDQuMTM3LS42NDQgNS44NzktMS45MSAzLjA4LTIuMjM4IDQuNjIyLTYuMDI5IDMuOTc4LTkuNzgxbC02LjYyLTM4LjU5MyAyOC4wNC0yNy4zMzFjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNi02LjI1OC04LjA3My02LjgwNmwtMzguNzUtNS42MzEtMTcuMzI4LTM1LjExMmMtMS42ODQtMy40MTMtNS4xNi01LjU3NC04Ljk2Ny01LjU3NHMtNy4yODMgMi4xNjEtOC45NjcgNS41NzRsLTE3LjMyOSAzNS4xMTMtMzguNzUgNS42MzFjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTF6bTI0LjMzLTMwLjk4M2MzLjI1Ny0uNDczIDYuMDczLTIuNTE5IDcuNTI5LTUuNDdsMTAuNjg4LTIxLjY1NyAxMC42ODggMjEuNjU3YzEuNDU3IDIuOTUxIDQuMjcyIDQuOTk3IDcuNTI5IDUuNDdsMjMuOSAzLjQ3My0xNy4yOTIgMTYuODU4Yy0yLjM1NyAyLjI5OC0zLjQzMyA1LjYwOC0yLjg3NiA4Ljg1Mmw0LjA4MyAyMy44MDQtMjEuMzc3LTExLjIzOGMtMS40NTctLjc2Ni0zLjA1NS0xLjE0OS00LjY1My0xLjE0OS0xLjU5OSAwLTMuMTk3LjM4My00LjY1MyAxLjE0OWwtMjEuMzc3IDExLjIzOCA0LjA4My0yMy44MDRjLjU1Ny0zLjI0NC0uNTE5LTYuNTU0LTIuODc2LTguODUybC0xNy4yOTYtMTYuODU4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDE1Ni4zMDZjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MTBjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtMTBjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3NCAxMjYuMzA2aC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMGgxMGM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2MiAyODQuMzFjMi42MyAwIDUuMjEtMS4wNyA3LjA3LTIuOTNzMi45My00LjQ0IDIuOTMtNy4wN2MwLTIuNjQtMS4wNy01LjIxLTIuOTMtNy4wOC0xLjg2LTEuODYtNC40NC0yLjkyLTcuMDctMi45MnMtNS4yMSAxLjA2LTcuMDcgMi45MmMtMS44NiAxLjg3LTIuOTMgNC40NC0yLjkzIDcuMDggMCAyLjYzIDEuMDcgNS4yMSAyLjkzIDcuMDdzNC40NCAyLjkzIDcuMDcgMi45M3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",yxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDM3LjEsMjMzLjQ1YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43Yy0zMS45LDAtNTcuNywyNS44LTU3LjcsNTcuNw0KCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNg0KCQkJYzAtNDAuNC0zMi43LTczLjEtNzMuMS03My4xYy00MC40LDAtNzMuMSwzMi44LTczLjEsNzMuMWMwLDI2LjUsMTQuMSw0OS44LDM1LjMsNjIuNmMtMTcuMiw1LjItMzIuOSwxMy45LTQ2LjMsMjUuMg0KCQkJYy05LjgtOC42LTIxLjItMTUuMy0zMy43LTE5LjZjMTQuOC0xMC40LDI0LjYtMjcuNywyNC42LTQ3LjJjMC0zMS45LTI1LjgtNTcuNy01Ny43LTU3LjdzLTU3LjcsMjUuOC01Ny43LDU3LjcNCgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44DQoJCQljMCwyOS40LDIzLjgsNTMuMiw1My4yLDUzLjJoMTU1YzI5LjQsMCw1My4yLTIzLjgsNTMuMi01My4ydi02LjhjMC01LjctMC40LTExLjQtMS4xLTE2LjlINTA1YzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNi42DQoJCQlDNTA1LjIsMjg0Ljg1LDQ3Ni44LDI0Ny4xNSw0MzcuMSwyMzMuNDV6IE0zNjIuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjcNCgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1DQoJCQljMC0zMS41LDI1LjYtNTcuMSw1Ny4xLTU3LjFzNTcuMSwyNS42LDU3LjEsNTcuMWMwLDMwLjQtMjMuOSw1NS4zLTUzLjgsNTdjLTEuMSwwLTIuMiwwLTMuMywwYy0xLjEsMC0yLjIsMC0zLjMsMA0KCQkJQzIxOC44LDIyMC42NSwxOTQuOSwxOTUuNzUsMTk0LjksMTY1LjM1eiBNNTkuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjdjMCwyMi43LTE4LjMsNDEuMi00MC45LDQxLjcNCgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMNCgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGMyMC44LDAuMSwzOS44LDcuOCw1NC41LDIwLjNDMTQxLjcsMjc5Ljc1LDEzMSwyOTguOTUsMTI1LjUsMzIwLjE1eiBNMzY2LjgsMzU5Ljk1DQoJCQljMCwyMC41LTE2LjcsMzcuMi0zNy4yLDM3LjJoLTE1NWMtMjAuNSwwLTM3LjItMTYuNy0zNy4yLTM3LjJ2LTYuOGMwLTYyLjEsNDkuNi0xMTIuOSwxMTEuMy0xMTQuN2MxLjEsMC4xLDIuMywwLjEsMy40LDAuMQ0KCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43DQoJCQljMC4yLDAsMC40LDAsMC42LDBzMC40LDAsMC42LDBjNDMuNywwLjMsNzkuNywzMy43LDg0LjIsNzYuM0gzNzguN3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Txe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Dxe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MGgtMzJ2LTgwYzAtOC44MjItNy4xNzgtMTYtMTYtMTZoLTMydi00MGMwLTEzLjIzMy0xMC43NjctMjQtMjQtMjRoLTIyNGMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0djQwaC0zMmMtOC44MjIgMC0xNiA3LjE3OC0xNiAxNnY4MGgtMzJjLTIyLjA1NiAwLTQwIDE3Ljk0NC00MCA0MHYxNzZjMCAyMi4wNTYgMTcuOTQ0IDQwIDQwIDQwaDgwdjcyYzAgMTMuMjMzIDEwLjc2NyAyNCAyNCAyNGgyMjRjMTMuMjMzIDAgMjQtMTAuNzY3IDI0LTI0di03Mmg4MGMyMi4wNTYgMCA0MC0xNy45NDQgNDAtNDB2LTE3NmMwLTIyLjA1Ni0xNy45NDQtNDAtNDAtNDB6bS00OC04MHY4MGgtMzJ2LTgwem0tMjg4LTU2YzAtNC40MTEgMy41ODktOCA4LThoMjI0YzQuNDExIDAgOCAzLjU4OSA4IDh2MTM2aC0yNDBjMC0xLjYzNSAwLTEzMC4yMTEgMC0xMzZ6bS00OCA1NmgzMnY4MGgtMzJ6bTI4OCA0MDhjMCA0LjQxMS0zLjU4OSA4LTggOGgtMjI0Yy00LjQxMSAwLTgtMy41ODktOC04di0xMzZoMjQwem0xMjAtMTEyYzAgMTMuMjMzLTEwLjc2NyAyNC0yNCAyNGgtODB2LTQ4aDE2YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04Yy0yOC42NTcgMC0yOTAuODgzIDAtMzA0IDAtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNnY0OGgtODBjLTEzLjIzMyAwLTI0LTEwLjc2Ny0yNC0yNHYtMTc2YzAtMTMuMjMzIDEwLjc2Ny0yNCAyNC0yNGg0MzJjMTMuMjMzIDAgMjQgMTAuNzY3IDI0IDI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkyIDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0IDM3NmgtMTY4Yy00LjQxOCAwLTggMy41ODItOCA4czMuNTgyIDggOCA4aDE2OGM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDQgNDU2aC0xNjhjLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTY4YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",dxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3My41NzQgMjUyLjQzMmgtNzMuMTg0di00My43NjFjMC0xMS40NzMtOS4zMzQtMjAuODA3LTIwLjgwNy0yMC44MDctOS44ODYgMC0zNC4yOTUgMC00NC4zMDIgMHYtMTcuODQxYzAtMTIuMzk5LTEwLjA4Ny0yMi40ODYtMjIuNDg2LTIyLjQ4NmgtMTcuNTk1bDE0LjcyNC00Ny41MzVjMTYuNzU5LjY5MiAzMC41MzktMTIuNzUgMzAuNTM5LTI5LjI4NCAwLTE2LjE2NC0xMy4xNTEtMjkuMzE1LTI5LjMxNS0yOS4zMTUtMjkuMjY4IDAtNDAuNDU1IDM4LjUxLTE1LjU0MSA1NC4xNTRsLTE2LjEwMSA1MS45NzloLTMwLjEzM2MtMTAuNTc2IDAtMTkuODMxIDcuNTE0LTIyLjAwNiAxNy44NjYtLjEwNi41MDctLjE2IDEuMDI0LS4xNiAxLjU0MnYyMC45MTloLTM4LjE0NnYtMTguODAxYzAtOC42NzMtNy4wNTctMTUuNzMtMTUuNzMtMTUuNzNoLTEuMzc5di0xOS41NzJjOS40NjktLjIwMyAxNy4xMTMtNy45NTMgMTcuMTEzLTE3LjQ3di0xNS42MTZjMC05LjUxNy03LjY0NC0xNy4yNjctMTcuMTEzLTE3LjQ3di00My42OTljMC0yMS42OTUtMTcuNjUtMzkuMzQ2LTM5LjM0Ni0zOS4zNDZoLTUxLjY3N2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDUxLjY3OGMxMy40MjkgMCAyNC4zNTUgMTAuOTI2IDI0LjM1NSAyNC4zNTV2NDMuNjgyaC0zNy45NTd2LTIyLjU4NGMwLTQuMTQtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTk2LjJ2LTM3Ljk1N2gzNS42MzhjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NWgtNDMuMTMzYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NTIuOTQ3YzAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg5Ni4ydjE1LjEwOWMtOS40NjguMjAzLTE3LjExMiA3Ljk1NC0xNy4xMTIgMTcuNDd2MTUuNjE2YzAgOS41MTYgNy42NDQgMTcuMjY3IDE3LjExMiAxNy40N3YxOS41NzJoLTEuMzc5Yy04LjY3MyAwLTE1LjczIDcuMDU3LTE1LjczIDE1LjczdjE4LjgwMWgtMjIuNTU1Yy0xMS40NzMgMC0yMC44MDcgOS4zMzQtMjAuODA3IDIwLjgwN3YyLjQ4OWwtMzMuNDAyIDcuNTg5Yy0zLjQxMy43NzUtNS44MzUgMy44MDktNS44MzUgNy4zMDl2MTA3LjI0M2MwIDMuNDk5IDIuNDIxIDYuNTMzIDUuODMzIDcuMzA4bDMzLjQwNCA3LjU5OHYyLjQ4N2MwIDExLjQ3MyA5LjMzNCAyMC44MDcgMjAuODA3IDIwLjgwN2g2LjQyNHYyNy43OTloLTE1LjEyN2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWgzMzMuODQ5YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MjUuNTJjLTE1LjgzNi0yLjgzLTMyLjQxOC4xMDMtNDYuNzA3IDguODExLTE2Ljc1NCAxMC4yMTEtMzcuNTcgMTAuMjEyLTU0LjMyNCAwLTIxLjU2Ny0xMy4xNDQtNDguMzYxLTEzLjE0NS02OS45MjggMC0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMi0zNy41NyAxMC4yMTItNTQuMzI0IDBsLTI3LjQ2OS0xNi43NDJ2LTIwLjA4N2gxMC42NzZjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtMTguMTcyYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTcuNTQ5YzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNDk3LjAwOWM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUgMC04OC41MDYgMC0xMTguMDA5IDAtMjEzLjQ4Ny4wMDEtMjEuMTg4LTE3LjIzNy0zOC40MjYtMzguNDI1LTM4LjQyNnptLTE2Mi40MjUtMTk2LjAzN2M3Ljg5OCAwIDE0LjMyNSA2LjQyNiAxNC4zMjUgMTQuMzI0cy02LjQyNiAxNC4zMjUtMTQuMzI1IDE0LjMyNWMtNy44OTggMC0xNC4zMjQtNi40MjYtMTQuMzI0LTE0LjMyNXM2LjQyNi0xNC4zMjQgMTQuMzI0LTE0LjMyNHptLTI2Ny42MDQgMjc2LjQ0LTI0LjI0Ny01LjUxNXYtOTUuMjc3bDI0LjI0Ny01LjUwOXptMTk4LjY1My0xNjQuOTc0Yy45NDctMy4xMjUgMy44NjctNS4zMzMgNy4xNzYtNS4zMzNoNjMuNDJjNC4xMzMgMCA3LjQ5NSAzLjM2MiA3LjQ5NSA3LjQ5NXYxNy44NDFoLTc4LjA5MXptLTE0MC4zMDUtNTEuNTY5di0xNS42MTZjMC0xLjM3OCAxLjEyMS0yLjQ5OCAyLjQ5OC0yLjQ5OGg2Ny4xODVjMS4zNzggMCAyLjQ5OCAxLjEyMSAyLjQ5OCAyLjQ5OHYxNS42MTZjMCAxLjM3OC0xLjEyMSAyLjQ5OC0yLjQ5OCAyLjQ5OGgtNjcuMTg1Yy0xLjM3Ny4wMDEtMi40OTgtMS4xMi0yLjQ5OC0yLjQ5OHptNTUuMDY5IDE3LjQ4OXYxOS41NTNoLTM3Ljk1N3YtMTkuNTUzem0tNTUuMDY2IDM1LjI4M2MwLS40MDcuMzMyLS43MzkuNzM5LS43MzloNzAuNjk2Yy40MDcgMCAuNzM5LjMzMi43MzkuNzM5djE4LjgwMWgtNzIuMTc1di0xOC44MDF6bS0uMDAzIDMzLjc5MWgyNDAuMTQ4djE1My42NTZoLTI0MC4xNDh6bS0zNy41NDIgMTUzLjY1NmMtMy4yMDcgMC01LjgxNi0yLjYwOS01LjgxNi01LjgxNnYtMTQyLjAyM2MwLTMuMjA3IDIuNjA5LTUuODE2IDUuODE2LTUuODE2aDIyLjU1MXYxNTMuNjU2Yy01LjIxMS0uMDAxLTE3LjQ4OC0uMDAxLTIyLjU1MS0uMDAxem0yOTkuMzcyIDQyLjc5aC0yNzcuOTU3di0yNy43OTloMjc3Ljk1NnYyNy43OTl6bTcuNDk1LTQyLjc5NGMtLjAyOSAwLS4wNTguMDA0LS4wODcuMDA0aC0xNC4wOTl2LTE1My42NTZoMjIuNTUxYzMuMjA3IDAgNS44MTYgMi42MDkgNS44MTYgNS44MTZ2MTQyLjAyNGMwIDMuMjA3LTIuNjA5IDUuODE2LTUuODE2IDUuODE2aC04LjI3OGMtLjAyOSAwLS4wNTgtLjAwNC0uMDg3LS4wMDR6bTEyNS43OTEgMTQwLjM0M2MtOS4zNzkgMC00NzEuMTA3IDAtNDgyLjAxOSAwdi00NC45MTZsMTkuNjY3IDExLjk4N2MyMS41NjcgMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTYuNzU0LTEwLjIxMSAzNy41Ny0xMC4yMTIgNTQuMzI0IDAgMjEuNTY4IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNy4wOTctMTAuNDIxIDM3Ljk0MS05Ljk4NiA1NC4zMjQgMCAyMS41NjcgMTMuMTQ0IDQ4LjM2MiAxMy4xNDQgNjkuOTI4IDBsMTkuNjY3LTExLjk4N2MuMDAxIDEwLjU1Ni4wMDEgMjIuMzguMDAxIDQ0LjkxNnptMC02Mi40NzJjLTI5Ljc4OSAxOC4xNTYtMzAuMzUzIDE4LjgzNi0zNi41MjcgMjEuMTMydi00NC4yNTdjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NXMtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NDcuNDI3Yy0xOS40NzIgMS4xNzItMjguOTg0LTcuNjg4LTM4LjUwNi0xMS44MzZ2LTMwLjA1NGMwLTkuNjQzLTcuODQ2LTE3LjQ4OS0xNy40ODktMTcuNDg5aC0xMC43ODN2LTI3Ljc5OWMxMy4zNDIgMCAyMS42NzYtMTAuMDQ5IDIxLjY3Ni0yMC44MDd2LTMxLjc1NWg0NS4xMDJ2NjIuMzMxYzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVzNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTY5LjgyNmMwLTQuMTM5LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC01Mi41OTd2LTM2LjUyN2g3My4xODRjMTIuOTIzIDAgMjMuNDM2IDEwLjUxMyAyMy40MzYgMjMuNDM1djE0My41MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNDAuOTdoLTY0LjUwNWMtNC4xMzkgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUuMDAxLTQuMTM5LTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNzIuMTg4aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg5OSAyODcuMTc5aDcuNTQ4bC0yLjkwNCA3LjQzMmMtMS41MDcgMy44NTUuMzk3IDguMjAyIDQuMjUzIDkuNzA5Ljg5Ni4zNSAxLjgxOS41MTYgMi43MjYuNTE2IDIuOTk3IDAgNS44MjYtMS44MDkgNi45ODMtNC43NjlsNi45LTE3LjY1NWMuOTAyLTIuMzA3LjYwNi00LjkxLS43OTEtNi45NTVzLTMuNzEzLTMuMjY4LTYuMTktMy4yNjhoLTcuNTQ4bDIuOTA0LTcuNDMyYzEuNTA3LTMuODU1LS4zOTctOC4yMDItNC4yNTMtOS43MDktMy44NTUtMS41MDktOC4yMDMuMzk2LTkuNzA5IDQuMjUzbC02LjkgMTcuNjU1Yy0uOTAyIDIuMzA3LS42MDYgNC45MS43OTEgNi45NTUgMS4zOTYgMi4wNDQgMy43MTMgMy4yNjggNi4xOSAzLjI2OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",hxe="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtOTQuNzI3IDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU2IDYuNzU2IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSI2NC45NjYiIGN5PSI0OC4wMjEiIHI9IjMiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNzcuNTkxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSIxMDIuODQxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjEuNSAzMy41aC0xMTVhMS43NTEgMS43NTEgMCAwIDAgLTEuNzUgMS43NXY1Ny41YTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUgMS43NWgxNS45NDJ2OC4yNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTBhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtOC4yNWg1Ni4xMTZ2OC4yNWExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtOC4yNWgxNS45NDJhMS43NTEgMS43NTEgMCAwIDAgMS43NS0xLjc1di01Ny41YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1LTEuNzV6bS04OS4wNTggNjcuNWgtNi41di02LjVoNi41em02OS42MTYgMGgtNi41di02LjVoNi41em0xNy42OTItMTBoLTExMS41di01NGgxMTEuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA0OS45NThhMS43NDkgMS43NDkgMCAwIDAgMS43NS0xLjc1di0zYTEuNzUgMS43NSAwIDAgMCAtMy41IDB2M2ExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzguNzkyIDUxLjM1M2ExLjc1IDEuNzUgMCAwIDAgMi4zMzctLjgxNmwxLjMtMi43YTEuNzUgMS43NSAwIDAgMCAtMy4xNTItMS41MmwtMS4zIDIuN2ExLjc1IDEuNzUgMCAwIDAgLjgxNSAyLjMzNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuMjU2IDUwLjUzN2ExLjc1IDEuNzUgMCAxIDAgMy4xNTItMS41MjFsLTEuMy0yLjdhMS43NSAxLjc1IDAgMCAwIC0zLjE1MiAxLjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYuOSA1My42NzEgMi4zNDkgMS44NjhhMS43NSAxLjc1IDAgMCAwIDIuMTc4LTIuNzRsLTIuMzQ4LTEuODY3YTEuNzUgMS43NSAwIDEgMCAtMi4xNzkgMi43Mzl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2LjEzNSA4Ny4yMDhoMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwIDMuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",zxe="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5OC4yMTQ4NDQgMGgtNTAuOTc2NTYzYy0xOC4xOTUzMTIuMDI3MzQzOC0zMi45MzM1OTMgMTQuNzY5NTMxLTMyLjk2NDg0MyAzMi45NjQ4NDR2MjQuODcxMDk0aC0xNDQuODI0MjE5Yy02MS40Mzc1LjA5Mzc1LTExMi4yNTM5MDcgNDcuODcxMDkzLTExNi4xMzI4MTMgMTA5LjE4NzVoLTM5LjA2NjQwNmMtNS41MTU2MjUgMC05Ljk4ODI4MSA0LjQ2ODc1LTkuOTg4MjgxIDkuOTg4MjgxdjMwLjUxMTcxOWgtMTAuMjg1MTU3Yy0zLjcwNzAzMSAwLTcuMTA1NDY4IDIuMDQ2ODc0LTguODM1OTM3IDUuMzI4MTI0bC04NS43Njk1MzEgMTYyLjU1NDY4OGMtMS42MzY3MTkgMy4wOTc2NTYtMS41MzEyNSA2LjgyNDIxOS4yNzczNDQgOS44MjQyMTkgMS44MDg1OTMgMyA1LjA1MDc4MSA0LjgyODEyNSA4LjU1NDY4NyA0LjgyODEyNWgxMDguMTIxMDk0Yy4xNzU3ODEgMy45NTcwMzEuNjc1NzgxIDcuODg2NzE4IDEuNDk2MDkzIDExLjc2MTcxOCA3LjU3MDMxMyAzNS4wNTQ2ODggMzguNTU4NTk0IDYwLjA5Mzc1IDc0LjQyNTc4MiA2MC4xMjUgMzUuODcxMDk0LjAzNTE1NyA2Ni45MDIzNDQtMjQuOTQ5MjE4IDc0LjUzNTE1Ni01OS45OTYwOTMuODQzNzUtMy45MTAxNTcgMS4zNjcxODgtNy44OTA2MjUgMS41NTA3ODEtMTEuODk0NTMxaDEwOC4xMzY3MTljMy41IDAgNi43NS0xLjgzMjAzMiA4LjU1NDY4OC00LjgzMjAzMiAxLjgwODU5My0zIDEuOTE3OTY4LTYuNzI2NTYyLjI3NzM0My05LjgyMDMxMmwtODUuNzY5NTMxLTE2Mi41NDY4NzVjLTEuNzMwNDY5LTMuMjg5MDYzLTUuMTQ0NTMxLTUuMzM5ODQ0LTguODU5Mzc1LTUuMzMyMDMxaC0xMC4yNjE3MTl2LTMwLjUxMTcxOWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTg4MjgxLTkuOTg4MjgxLTkuOTg4MjgxaC00NC41MzUxNTZjMi4xNDA2MjUtMjIuNDcyNjU3IDIwLjk4ODI4MS0zOS42NDQ1MzIgNDMuNTYyNS0zOS42OTkyMTloMTQ0LjgwNDY4N3YyOC4xNjAxNTZjLjAzNTE1NiAxOC4xOTE0MDYgMTQuNzc3MzQ0IDMyLjkzMzU5NCAzMi45Njg3NSAzMi45NjA5MzdoNTAuOTgwNDY5YzUuNTE1NjI1IDAgOS45ODgyODEtNC40NjQ4NDMgOS45ODgyODEtOS45ODgyODF2LTE2OC40Njg3NWMwLTUuNTExNzE5LTQuNDY0ODQ0LTkuOTgwNDY4NS05Ljk3NjU2Mi05Ljk4ODI4MXptLTI1MC45MTc5NjkgMzk3LjYzMjgxMmMtNS41NjY0MDYgMjUuOTMzNTk0LTI4LjUwNzgxMyA0NC40NTMxMjYtNTUuMDMxMjUgNDQuNDIxODc2LTI2LjUzMTI1LS4wMjczNDQtNDkuNDI1NzgxLTE4LjU5NzY1Ny01NC45MzM1OTQtNDQuNTQ2ODc2LS41NTQ2ODctMi40NTMxMjQtLjkyNTc4MS00Ljk0OTIxOC0xLjEyMTA5My03LjQ1MzEyNGgxMTIuMjM0Mzc0Yy0uMTk5MjE4IDIuNTUwNzgxLS41ODU5MzcgNS4wODIwMzEtMS4xNDg0MzcgNy41NzgxMjR6bTExMi42MDU0NjktMjcuNTc0MjE4aC0xMDEuMzk0NTMyYy0uMDY2NDA2IDAtLjEzNjcxOCAwLS4yMDMxMjQgMGgtMTMxLjk2MDkzOGMtLjA3MDMxMiAwLS4xMzY3MTkgMC0uMjA3MDMxIDBoLTEwMS4zOTQ1MzFsNzUuMjUzOTA2LTE0Mi41NTQ2ODhoMTg0LjY4MzU5NHptLTk5LjQ3MjY1Ni0xNjIuNTM1MTU2aC0xMzYuMTkxNDA3di0yMC41MTk1MzJoMTM2LjE5MTQwN3ptOC45OTYwOTMtMTAwLjE4MzU5NGMtMzMuNTM1MTU2LjI3MzQzNy02MS4yNDYwOTMgMjYuMjM4MjgxLTYzLjY5NTMxMiA1OS42ODM1OTRoLTMyLjQzMzU5NGMzLjg0NzY1Ni01MC4yNzM0MzggNDUuNzMwNDY5LTg5LjEyNSA5Ni4xNTIzNDQtODkuMTg3NWgxNDQuODA0Njg3djI5LjUwMzkwNnptMjE4Ljc2OTUzMSA2MS4xNDA2MjVoLTQwLjk4NDM3NGMtNy4xNjc5NjktLjAxOTUzMS0xMi45NzI2NTctNS44MjQyMTktMTIuOTkyMTg4LTEyLjk4ODI4MXYtMTIyLjUwNzgxM2MuMDE5NTMxLTcuMTYwMTU2IDUuODI0MjE5LTEyLjk2NDg0NCAxMi45OTIxODgtMTIuOTg0Mzc1aDQwLjk4NDM3NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuNTM5MDYyIDQ3Mi42NzE4NzUtNDAuMDcwMzEyIDM3Ljc0NjA5NGMtMi42NDA2MjUgMi40MzM1OTMtMy43NzM0MzggNi4xMDE1NjItMi45NTcwMzEgOS41OTc2NTYuODEyNSAzLjUwMzkwNiAzLjQ0MTQwNiA2LjI5Njg3NSA2Ljg4NjcxOSA3LjMxNjQwNiAzLjQ0NTMxMiAxLjAyMzQzOCA3LjE3NTc4MS4xMTcxODggOS43NjU2MjQtMi4zNzVsNDAuMDcwMzEzLTM3LjczODI4MWMyLjY0MDYyNS0yLjQzMzU5NCAzLjc2OTUzMS02LjEwMTU2MiAyLjk1NzAzMS05LjYwNTQ2OS0uODE2NDA2LTMuNDk2MDkzLTMuNDQ1MzEyLTYuMjkyOTY5LTYuODg2NzE4LTcuMzE2NDA2LTMuNDQ5MjE5LTEuMDE5NTMxLTcuMTc1NzgyLS4xMTMyODEtOS43NjU2MjYgMi4zNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzY1LjU0Njg3NSA0MDYuMDAzOTA2aC02MS4zOTA2MjVjLTUuNTE5NTMxIDAtOS45OTIxODggNC40NzI2NTYtOS45OTIxODggOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NyA5Ljk5MjE4NyA5Ljk5MjE4OCA5Ljk5MjE4N2g2MS4zOTA2MjVjNS41MTk1MzEgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4NyAwLTUuNTE1NjI2LTQuNDY4NzUtOS45ODgyODItOS45ODgyODEtOS45ODgyODJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5Mi4yNzM0MzggNDkwLjkzMzU5NGMtNS41MTU2MjYgMC05Ljk4ODI4MiA0LjQ3MjY1Ni05Ljk4ODI4MiA5Ljk5MjE4N3Y1MC44NDc2NTdjMCAuMjQ2MDkzLS4wMjM0MzcuNTAzOTA2LS4wMjM0MzcuNzM4MjgxIDAgNS41MTU2MjUgNC40NzI2NTYgOS45ODgyODEgOS45ODgyODEgOS45ODgyODEuNDI1NzgxLS4wMDM5MDYuODU1NDY5LS4wMjczNDQgMS4yNzczNDQtLjA4NTkzOCA0Ljk5MjE4Ny0uNjI4OTA2IDguNzM4MjgxLTQuODc4OTA2IDguNzM4MjgxLTkuOTA2MjV2LTUxLjU4MjAzMWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTkyMTg3LTkuOTkyMTg3LTkuOTkyMTg3em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",wxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3OC41MTEsODguNjIyQzQwMy42OTQsNjkuMjIzLDMyOC40MzcsMzkuMDE3LDI2MC44NzgsMS4yNjljLTMuMDMtMS42OTItNi43MjMtMS42OTMtOS43NTUsMA0KCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUNCgkJCWM0OS43NTcsNDYuMTM4LDEwNy40Niw3MS42NTUsMTI4LjMyNCw3MS42NTVjMjAuODY0LDAsNzguNTY3LTI1LjUxNywxMjguMzI0LTcxLjY1NQ0KCQkJYzQ2LjM4NC00My4wMTEsMTAxLjY3OC0xMTguMTE0LDEwMS42NzgtMjMxLjY1Vjk4LjMwMkM0ODYuMDAyLDkzLjc0Niw0ODIuOTIyLDg5Ljc2Niw0NzguNTExLDg4LjYyMnogTTM3MC43MjYsNDI1LjY3OA0KCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzDQoJCQljLTE3LjYxMi05LjAzMy00NC4zOTItMjUuMTY1LTcxLjk1LTUwLjcxOGMtNDMuNDY0LTQwLjMwMy05NS4yNzYtMTEwLjY2My05NS4yNzYtMjE2Ljk4M1YxMDYuMDA4DQoJCQljNzMuOTY0LTE5LjgsMTQyLjgwMS00Ny41MjMsMjEwLjAwMy04NC41NzRjNjUuNDk4LDM2LjA1OSwxMzcuODI3LDY1LjE4NSwyMTAsODQuNTcxdjEwMi42OWgwLjAwMQ0KCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NDMuNzkzLDExNS4zNjhjLTYzLjMzNi0xOC40MTMtMTI0LjkzNi00My40MjQtMTgzLjA4Ny03NC4zMzdjLTIuOTM4LTEuNTYzLTYuNDYxLTEuNTYtOS4zOTcsMC4wMDYNCgkJCUMxOTMuMDY5LDcyLjA3OSwxMzEuNDcsOTcuMDk0LDY4LjIyLDExNS4zODdjLTQuMjc3LDEuMjM3LTcuMjIyLDUuMTUzLTcuMjIyLDkuNjA2djgzLjcwMmMwLDM5LjA3Nyw3LjQwNSw3Ni4xNjEsMjIuMDA4LDExMC4yMjINCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjENCgkJCWMwLjYsMC4xMSwxLjIwNywwLjE2NiwxLjgxNSwwLjE2NmMwLjYwOCwwLDEuMjE1LTAuMDU2LDEuODE1LTAuMTY2YzEzLjA5Ny0yLjQxOCwzNS4xMi0xNC4xMDMsMzkuNDAyLTE2LjQyMQ0KCQkJYzIzLjg5NS0xMi45MzYsNDcuMTktMzAuMDIzLDY3LjM2Ny00OS40MTNjMjguMjA4LTI3LjExMSw0OS44NzgtNTguMDQxLDY0LjQwOS05MS45MzNjMTQuNjAzLTM0LjA2LDIyLjAwOC03MS4xNDQsMjIuMDA4LTExMC4yMjINCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0DQoJCQljLTE4Ljg5OCwxOC4xNjItNDAuNjkzLDM0LjE1My02My4wMjksNDYuMjQ1Yy0xMC4xNjcsNS41MDMtMjMuODkyLDExLjkxOS0zMS42OTcsMTMuOTM0Yy03LjgwNS0yLjAxNS0yMS41My04LjQzMS0zMS42OTYtMTMuOTM0DQoJCQljLTIyLjMzNy0xMi4wOTMtNDQuMTMyLTI4LjA4NC02My4wMjktNDYuMjQ1Yy01My4yNjctNTEuMTk1LTgwLjI3Ni0xMTQuMzU5LTgwLjI3Ni0xODcuNzM0VjEzMi40OA0KCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTczLjAyNywzNTguMzA1bC0wLjItMC4yMTVjLTMuNzAxLTQuMDU1LTkuOTg3LTQuMzY3LTE0LjA3My0wLjY4OWMtNC4xMDUsMy42OTQtNC40MzgsMTAuMDE3LTAuNzQ0LDE0LjEyMmwwLjIsMC4yMTUNCgkJCWMxLjk3MSwyLjE1OCw0LjY3MywzLjI1Niw3LjM4NywzLjI1NmMyLjM4MywwLDQuNzc1LTAuODQ4LDYuNjg2LTIuNTY3QzE3Ni4zODgsMzY4LjczMywxNzYuNzIxLDM2Mi40MDksMTczLjAyNywzNTguMzA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQ0KCQkJYy0zLjY4LDQuMTE4LTMuMzI2LDEwLjQzOSwwLjc5MiwxNC4xMmMxMS42NTMsMTAuNDE4LDI0LjE0NSwxOS44NTQsMzcuMTI5LDI4LjA0OGMxLjY1NywxLjA0NSwzLjUwMiwxLjU0NCw1LjMyNywxLjU0NA0KCQkJYzMuMzE4LDAsNi41NjQtMS42NSw4LjQ2Ni00LjY2NEMyMzMuMDMyLDQxMi44MTgsMjMxLjYzNSw0MDYuNjQyLDIyNi45NjMsNDAzLjY5NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxDQoJCQljLTExLjg5OCwwLjQyOS0yMS40NDcsMTAuMjM1LTIxLjQ0NywyMi4yMzZ2NzYuNzY5Yy0wLjAwMSwxMi4yNzMsOS45ODQsMjIuMjU3LDIyLjI1NywyMi4yNTdIMzA4LjA5DQoJCQljMTIuMjczLDAsMjIuMjU4LTkuOTg0LDIyLjI1OC0yMi4yNTd2LTc2Ljc2OUMzMzAuMzQ4LDIxOS4zMTEsMzIwLjc5OCwyMDkuNTA0LDMwOC44OTgsMjA5LjA3N3ogTTIyMy4wOTksMTc2LjE1Ng0KCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4Mw0KCQkJYzAsMS4yMjQtMS4wMzQsMi4yNTctMi4yNTgsMi4yNTdIMjAzLjkwOGMtMS4yMjQsMC0yLjI1OC0xLjAzMy0yLjI1OC0yLjI1N3YtNzYuNzY5aDAuMDAxYzAtMS4yMjQsMS4wMzQtMi4yNTcsMi4yNTgtMi4yNTdoOS4xODkNCgkJCWg4NS43OTloOS4xOTJjMS4yMjQsMCwyLjI1OCwxLjAzMywyLjI1OCwyLjI1N1YzMDguMDgzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTANCgkJCWM1LjUyMywwLDEwLTQuNDc4LDEwLTEwdi05Ljc4N2MyLjQ1OS0yLjUyMiwzLjk4Mi01Ljk2LDMuOTgyLTkuNzQ2QzI2OS45ODIsMjU1LjkyMSwyNjMuNzAxLDI0OS42NCwyNTYsMjQ5LjY0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Ixe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTYuODgyODEyIDBoLTQ4MS43NjU2MjRjLTguMzQ3NjU3IDAtMTUuMTE3MTg4IDYuNzY5NTMxLTE1LjExNzE4OCAxNS4xMTcxODh2NDgxLjc2NTYyNGMwIDguMzQ3NjU3IDYuNzY5NTMxIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDQ4MS43NjU2MjRjOC4zNDc2NTcgMCAxNS4xMTcxODgtNi43Njk1MzEgMTUuMTE3MTg4LTE1LjExNzE4OHYtNDgxLjc2NTYyNGMwLTguMzQ3NjU3LTYuNzY5NTMxLTE1LjExNzE4OC0xNS4xMTcxODgtMTUuMTE3MTg4em0tNDA2LjE3NTc4MSA0MjEuMjkyOTY5di04OC42OTUzMTNoMTE5LjA3NDIxOXY4OC42OTUzMTN6bS02MC40NzI2NTYtMzkxLjA1ODU5NGg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzUyLjgzOTg0NC01OC40NTMxMjV2MjguMjE4NzVoLTI1NC4xNDg0Mzh2LTI4LjIxODc1em0tMjU0LjE0ODQzOCAyMzkuODcxMDk0aDI1NC4xNTIzNDR2MzAuMjM4MjgxaC0yNTQuMTUyMzQ0em0wLTMwLjIzNDM3NXYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1NnYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1N3YtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0tOTguNjkxNDA2IDMwLjIzNDM3Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMCA2MC40NzI2NTZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0zODMuMDc4MTI1IDBoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em02OC40NTMxMjUtMzAuMjM0Mzc1aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU3aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bS0yNDEuNzUgMjcyLjEyNWgzMC4yMzgyODF2ODguNjk1MzEzaC0zMC4yMzgyODF6bTYwLjQ3NjU2MyAwaDEyMC44MDA3ODF2ODguNjk1MzEzaC0xMjAuODAwNzgxem0tMjcwLjI1NzgxMyAxNDkuMTY3OTY5di0xNDkuMTY3OTY5aDMwLjIzODI4MXYxMDMuODEyNWMwIDguMzQ3NjU2IDYuNzY5NTMyIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDM2MC44MjAzMTJjOC4zNDc2NTYgMCAxNS4xMTcxODgtNi43Njk1MzIgMTUuMTE3MTg4LTE1LjExNzE4OHYtMTAzLjgxMjVoMzAuMjM4MjgxdjE0OS4xNjc5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Cxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzQ4LjI0NjA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzNyAwIDQuMzk4NDM3LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOWwyOC45NDkyMTgtMzYuMDkzNzVjMi42MDU0NjktMy4yNSAyLjA4NTkzOC03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTExMS43NSA0MjIuMDUwNzgxYzIuMTA5Mzc1IDAgNC4yMDcwMzEtLjg3ODkwNiA1LjY5OTIxOS0yLjU5NzY1NmwzOS42MTMyODEtNDUuNjQ0NTMxYzIuNzMwNDY5LTMuMTQ0NTMyIDIuMzk0NTMxLTcuOTA2MjUtLjc1LTEwLjYzMjgxMy0zLjE0NDUzMS0yLjczMDQ2OS03LjkxMDE1Ni0yLjM5NDUzMS0xMC42MzY3MTkuNzVsLTM5LjYxNzE4NyA0NS42NDQ1MzFjLTQuMjUzOTA2IDQuOTAyMzQ0LS42OTUzMTMgMTIuNDgwNDY5IDUuNjkxNDA2IDEyLjQ4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTYuNjIxMDk0IDM3Ni43ODUxNTZjLTMuMjUtMi42MDU0NjgtNy45OTYwOTQtMi4wODIwMzEtMTAuNjAxNTYzIDEuMTY0MDYzbC0xNC40NzI2NTYgMTguMDQ2ODc1Yy0yLjYwNTQ2OSAzLjI1LTIuMDgyMDMxIDcuOTk2MDk0IDEuMTY0MDYzIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyNSA4LjAxMTcxOCAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYybDE0LjQ3NjU2Mi0xOC4wNDY4NzZjMi42MDU0NjktMy4yNSAyLjA4MjAzMi03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTYuNDcyNjU2IDM2Mi45ODQzNzVjLTMuMjUtMi42MDU0NjktNy45OTIxODctMi4wODIwMzEtMTAuNTk3NjU2IDEuMTY0MDYzbC0xNC40NzY1NjIgMTguMDUwNzgxYy0yLjYwNTQ2OSAzLjI0NjA5My0yLjA4MjAzMiA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA5Mzc2LTMuMjUgMi4wODU5MzgtNy45OTYwOTQtMS4xNjAxNTYtMTAuNjAxNTYzem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwNC40NjA5MzggMGMtMTcuMjUzOTA3IDAtNDY2LjU5Mzc1IDAtNDk2LjkyMTg3NiAwLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNjcxODgtNy41MzkwNjIgNy41MzkwNjJ2NDkzLjg2NzE4OGMwIDQuMTcxODc1IDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYyIDcuNTM5MDYyaDQyMi4yMTA5MzhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTQuMTY0MDYyLTMuMzc4OTA2LTcuNTQyOTY5LTcuNTM5MDYyLTcuNTQyOTY5aC00MTQuNjcxODc1di0xNDMuODgyODEyaDE0LjM2NzE4N3Y5MC45NTcwMzFjMCA0LjE2NDA2MiAzLjM3NSA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgxMjYuNDAyMzQ0YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjIgMC00LjE2MDE1Ni0zLjM3ODkwNi03LjUzOTA2Mi03LjUzOTA2Mi03LjUzOTA2MmgtMTE4Ljg2MzI4MXYtODMuNDE3OTY5aDE0LjUzOTA2MnYyNi4xMjEwOTNjMCA0LjE2NDA2MyAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2MyA0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzc1IDcuNTM5MDYzLTcuNTM5MDYzdi0yNi4xMjEwOTNoMTUzLjcxMDkzN3Y4My40MTc5NjloLTM0LjMwODU5M2MtNC4xNjAxNTcgMC03LjUzOTA2MyAzLjM3ODkwNi03LjUzOTA2MyA3LjUzOTA2MiAwIDQuMTY0MDYyIDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYzIDcuNTM5MDYyaDI4MS40NzI2NTZjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2MnYtOTAuOTU3MDMxaDE0LjM2NzE4N3YxNDMuODgyODEyaC0zNy4wMTU2MjVjLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNzg5MDctNy41MzkwNjIgNy41NDI5NjkgMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0NC41NTQ2ODhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTUzLjg2MzI4MSAwLTQzNy40OTYwOTQgMC00OTMuODY3MTg4IDAtNC4xNzE4NzQtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJ6bS00NDUuMzk4NDM4IDMzNC45MDIzNDRjLTEzLjcxNDg0NCAwLTMwLjA1ODU5NCAwLTQzLjk4NDM3NSAwIDAtOS41NTA3ODIgMC0xNi4yNTc4MTMgMC0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRjLTkuNzAzMTI1IDAtMzMuOTE3OTY5IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0xNS4wNzgxMjUtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC0zNjMuNzE4NzV6bTAgODMuNzE4NzVoMjg5LjMwMDc4MWM0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzY3MTg3IDcuNTM5MDYzLTcuNTM5MDYzIDAtNC4xNjAxNTYtMy4zNzUtNy41MzkwNjItNy41MzkwNjMtNy41MzkwNjItMS4yMzQzNzUgMC0yODIuOTQxNDA2IDAtMjg5LjMwMDc4MSAwdi0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVoLTQ0LjI1NzgxM2MtNC4xNjQwNjIgMC03LjUzOTA2MiAzLjM3ODkwNi03LjUzOTA2MiA3LjUzOTA2MiAwIDQuMTcxODc2IDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYyIDcuNTM5MDYzaDQ0LjI1NzgxM3YyNi43ODkwNjNjLTExLjYyNSAwLTM1NC40OTIxODcgMC0zNjMuNzE4NzUgMHptMCA0MS44NzEwOTRoMzYzLjcxODc1djI2Ljc3NzM0M2gtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYyaC0zNjMuNzE4NzV6bTAgNDEuODY3MTg3aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYzaC0zNjMuNzE4NzV6bTAgNjguNjQ4NDM4di0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVjLTM1LjYxNzE4NyAwLTMyNi45NTMxMjUgMC0zNjMuNzE4NzUgMHptMzkzLjMzNTkzNyA5OC40OTYwOTRoLTE4My4zMjgxMjR2LTQwLjY2Nzk2OWMwLTQuMTY0MDYzLTMuMzc1LTcuNTM5MDYzLTcuNTM5MDYzLTcuNTM5MDYzcy03LjUzOTA2MyAzLjM3NS03LjUzOTA2MyA3LjUzOTA2M3Y0MC42Njc5NjloLTI2LjE0MDYyNHYtODMuNDE0MDYzaDI2LjE0MDYyNHYxMi41ODU5MzdjMCA0LjE2Nzk2OSAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MyA3LjUzOTA2M3M3LjUzOTA2My0zLjM3MTA5NCA3LjUzOTA2My03LjUzOTA2M3YtMTIuNTg5ODQzaDE1My43MTA5Mzd2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjMgNC4xNjQwNjIgMCA3LjUzOTA2Mi0zLjM3NSA3LjUzOTA2Mi03LjUzOTA2M3YtMjYuMTIxMDkzaDE0LjUzOTA2MnptMjkuNDQ1MzEzLTk4LjQ5NjA5NGMtMTMuNzg5MDYzIDAtMjkuODY3MTg3IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjJoNDMuOTg0Mzc1em0wLTQxLjg3MTA5NGgtNDMuOTg0Mzc1di0yNi43NzczNDNoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NGgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",pxe="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTU2LjgzOCAxaC00OS42NzZjLTMuMzk4IDAtNi4xNjIgMi43NjQtNi4xNjIgNi4xNjIgMCAuNjY1LjEwNiAxLjMyLjMxNiAxLjk0OWwuNTU4IDEuNjc2Yy44NDEgMi41MiAzLjE5IDQuMjEzIDUuODQ3IDQuMjEzaDQuMzg0bDEuNTA2IDEzLjU1MmMuMjgyIDIuNTM2IDIuNDE4IDQuNDQ4IDQuOTY5IDQuNDQ4aDI2Ljg0YzIuNTUxIDAgNC42ODgtMS45MTIgNC45NjktNC40NDhsMS41MDYtMTMuNTUyaDQuMzg0YzIuNjU3IDAgNS4wMDYtMS42OTMgNS44NDYtNC4yMTRsLjU1OC0xLjY3NGMuMjExLS42My4zMTctMS4yODUuMzE3LTEuOTUgMC0zLjM5OC0yLjc2NC02LjE2Mi02LjE2Mi02LjE2MnptLTMyLjgzOCAzMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTEwIDBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptNC40MDItMi42NjhjLS4xNDcgMS4zMjQtMS4xMzggMi4zNjMtMi40MDIgMi42MTF2LTcuOTQzYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2OGgtMnYtOGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY3Ljk0MmMtMS4yNjQtLjI0OC0yLjI1NC0xLjI4Ny0yLjQwMi0yLjYxMWwtMS40ODEtMTMuMzMxaDM1Ljc2NnptMTIuMzg0LTE5Ljg1My0uNTU4IDEuNjc1Yy0uNTY3IDEuNzAyLTIuMTU0IDIuODQ2LTMuOTQ5IDIuODQ2aC00OC41NThjLTEuNzk0IDAtMy4zODEtMS4xNDQtMy45NDktMi44NDZsLS41NTgtMS42NzZjLS4xNDItLjQyNC0uMjE0LS44NjctLjIxNC0xLjMxNiAwLTIuMjk1IDEuODY3LTQuMTYyIDQuMTYyLTQuMTYyaDQ5LjY3NmMyLjI5NSAwIDQuMTYyIDEuODY3IDQuMTYyIDQuMTYyIDAgLjQ0OS0uMDcyLjg5Mi0uMjE0IDEuMzE3eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTEgNWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcgOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQgNDB2LTFoLTFjLS4xMTkgMC0xLjc5OS4wNDItMy4xNzkgMi4wMzUtLjA0Ni0uMDYzLS4wOTItLjEzMS0uMTM4LS4xOTMtLjkwMy0xLjIzLTEuNjgzLTIuMjkzLTEuNjgzLTQuODQydi0xaC0xYy0uMTM5IDAtMi44OTMuMDU3LTQuNjI0IDMuMjc4LTIuMDUzLTMuMjIzLTUuMzI4LTMuMjc4LTUuMzc2LTMuMjc4aC0xdjFjMCAyLjU1OS0uNzg0IDMuNjMzLTEuNjkyIDQuODc3LS4wNC4wNTUtLjA4LjExNC0uMTIuMTY5LTEuMzgzLTIuMDA0LTMuMDY5LTIuMDQ2LTMuMTg4LTIuMDQ2aC0xdjFjMCAyLjU0My0uOTk1IDMuODMzLTIuMTQ3IDUuMzI3LTEuMzM3IDEuNzMzLTIuODUzIDMuNjk3LTIuODUzIDcuNjczIDAgNi4wNzUgMy45MjUgMTAgMTAgMTBoMTRjNi4wNzUgMCAxMC0zLjkyNSAxMC0xMCAwLTMuOTc2LTEuNTE2LTUuOTQtMi44NTMtNy42NzMtMS4xNTItMS40OTQtMi4xNDctMi43ODQtMi4xNDctNS4zMjd6bS0xOSAxN2MwLTIuMzk2IDEuMzU4LTMuNzE5IDIuNjcyLTUgLjg1MS0uODMgMS43MjQtMS42OCAyLjExNS0yLjc3My41Ni4zMSAxLjIxMyAxLjA0MyAxLjIxMyAyLjc3M3YzaDJ2LTFjMC0xLjk4NiAxLjIzOS0yLjY2IDIuMTQ3LTIuODg3LjM1NSAxLjMwNCAxLjI5NSAyLjI0NCAyLjE0NiAzLjA5NC45MTYuOTE2IDEuNzA3IDEuNzA3IDEuNzA3IDIuNzkzIDAgMS4zODMtMS40NjMgNC03IDRzLTctMi42MTctNy00em0xNCA0aC0uMTAyYzEuNTYyLTEuMjggMi4xMDItMi44OTkgMi4xMDItNCAwLTEuOTE0LTEuMjE4LTMuMTMyLTIuMjkzLTQuMjA3LS45MTYtLjkxNi0xLjcwNy0xLjcwNy0xLjcwNy0yLjc5M3YtMWgtMWMtLjg5MiAwLTIuMTkzLjI3OC0zLjI0NSAxLjA4OS0uNjgyLTIuMzk1LTIuNjI4LTMuMDg5LTMuNzU1LTMuMDg5aC0xdjFjMCAuODQ1LS42NTUgMS41MjYtMS43MjQgMi41NjgtMS40NiAxLjQyMy0zLjI3NiAzLjE5My0zLjI3NiA2LjQzMiAwIDEuMTAxLjU0IDIuNzIgMi4xMDIgNGgtLjEwMmMtMy44NjggMC04LTIuMTAyLTgtOCAwLTMuMjk0IDEuMTgzLTQuODI4IDIuNDM2LTYuNDUyIDEuMDU1LTEuMzY3IDIuMTM5LTIuNzcyIDIuNDY1LTUuMDg0Ljg5MS43MzkgMi4wOTkgMi42NDIgMi4wOTkgNy41MzZoMmMwLTIuNTYtLjMyMy00LjQ2MS0uODAzLTUuODc4LjIyOC0uMzY2LjQ2OS0uNzEzLjcyNi0xLjA2Ni44NDYtMS4xNTkgMS43OTEtMi40NTMgMi4wMjMtNC44NzkgMS40NTYuNDUzIDQuMDU0IDIuMDY5IDQuMDU0IDcuODIzaDJjMC0xLjYzLS4xOTEtMi45OS0uNTA2LTQuMTMyLjYzNy0yLjI3MyAxLjc2MS0zLjIxOCAyLjU2Ny0zLjYwMS4yMzggMi4zNDYgMS4xMzcgMy41NyAyLjAxIDQuNzU5LjI2Mi4zNTcuNTA3LjcwOC43MzggMS4wOC0uNDgzIDEuNDE4LS44MDkgMy4zMjQtLjgwOSA1Ljg5NGgyYzAtNC45MDYgMS4yMTQtNi44MDcgMi4wOTgtNy41NDIuMzI1IDIuMzE1IDEuNDExIDMuNzIyIDIuNDY2IDUuMDkgMS4yNTMgMS42MjQgMi40MzYgMy4xNTggMi40MzYgNi40NTIgMCA1Ljg5OC00LjEzMiA4LTggOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Axe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDY3LDBINDVDMjAuMTg3LDAsMCwyMC4xODcsMCw0NXY0MjJjMCwyNC44MTMsMjAuMTg3LDQ1LDQ1LDQ1aDQyMmMyNC44MTMsMCw0NS0yMC4xODcsNDUtNDVWNDUNCgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMg0KCQkJYzguMjcxLDAsMTUsNi43MjksMTUsMTVWNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDgxYy05Ni40OTUsMC0xNzUsNzguNTA1LTE3NSwxNzVzNzguNTA1LDE3NSwxNzUsMTc1czE3NS03OC41MDUsMTc1LTE3NVMzNTIuNDk1LDgxLDI1Niw4MXogTTI1Niw0MDENCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4NywyMTZjLTIyLjA1NiwwLTQwLDE3Ljk0NC00MCw0MGMwLDIyLjA1NiwxNy45NDQsNDAsNDAsNDBjMjIuMDU2LDAsNDAtMTcuOTQ0LDQwLTQwQzIyNywyMzMuOTQ0LDIwOS4wNTYsMjE2LDE4NywyMTZ6DQoJCQkgTTE4NywyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzE5NywyNjEuNTE0LDE5Mi41MTQsMjY2LDE4NywyNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2eg0KCQkJIE0zMjUsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMzMzUsMjYxLjUxNCwzMzAuNTE0LDI2NiwzMjUsMjY2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",mxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjAsMEgxMjBDOTcuOTIsMC4wMjYsODAuMDI2LDE3LjkyLDgwLDQwdjM2OGMwLjAyNCwxOS4wMDEsMTMuMzg5LDM1LjM3MywzMiwzOS4yVjQ4MGg0OHYtMzJoMTYwdjMyaDQ4di0zMi44DQoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0eg0KCQkJIE0zODQsNDA4YzAsMTMuMjU1LTEwLjc0NSwyNC0yNCwyNEgxMjBjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNFY0MGMwLTEzLjI1NSwxMC43NDUtMjQsMjQtMjRoMjQwYzEzLjI1NSwwLDI0LDEwLjc0NSwyNCwyNFY0MDgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgNCgkJCVMzMTAuNjkyLDE2MCwyNDAsMTYweiBNMjQwLDQwMGMtNjEuODU2LDAtMTEyLTUwLjE0NC0xMTItMTEyYzAuMDY2LTYxLjgyOCw1MC4xNzItMTExLjkzNCwxMTItMTEyYzYxLjg1NiwwLDExMiw1MC4xNDQsMTEyLDExMg0KCQkJUzMwMS44NTYsNDAwLDI0MCw0MDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6DQoJCQkgTTI0MCwzNjhjLTQ0LjE4MywwLTgwLTM1LjgxNy04MC04MGMwLjA0OS00NC4xNjMsMzUuODM3LTc5Ljk1Miw4MC04MGM0NC4xODMsMCw4MCwzNS44MTcsODAsODBDMzIwLDMzMi4xODMsMjg0LjE4MywzNjgsMjQwLDM2OA0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2DQoJCQlDMjk2LDU3LjA3MiwyNzAuOTI4LDMyLDI0MCwzMnogTTI0MCwxMjhjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDBjMjIuMDkxLDAsNDAsMTcuOTA5LDQwLDQwDQoJCQlTMjYyLjA5MSwxMjgsMjQwLDEyOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgNCgkJCXMzLjU4Mi04LDgtOHM4LDMuNTgyLDgsOFMyNDQuNDE4LDk2LDI0MCw5NnoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTEyIiB5PSIzMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPg0KICAgICAgICA8cmVjdCB4PSIxMTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwDQoJCQlDMjgwLDI2NS45MDksMjYyLjA5MSwyNDgsMjQwLDI0OHogTTI0MCwzMTJjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNHMxMC43NDUtMjQsMjQtMjRzMjQsMTAuNzQ1LDI0LDI0UzI1My4yNTUsMzEyLDI0MCwzMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00OCwyODBIMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM1Mi40MTgsMjgwLDQ4LDI4MHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQNCgkJCWMzLjE3OCwzLjA2OSw4LjI0MywyLjk4MSwxMS4zMTItMC4xOTdDNTYuNjUsMjM0LjM1OSw1Ni42NSwyMjkuNDQ0LDUzLjY1NiwyMjYuMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTMuNDYsMzM4LjM0NGMtMy4xLTIuOTk1LTguMDE2LTIuOTk1LTExLjExNiwwbC0yNCwyNGMtMy4xNzgsMy4wNy0zLjI2Niw4LjEzNC0wLjE5NiwxMS4zMTJzOC4xMzQsMy4yNjYsMTEuMzEyLDAuMTk2DQoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY0LDI4MGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0NjguNDE4LDI4MCw0NjQsMjgweiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDYxLjQ2LDIwMi4zNDRjLTMuMS0yLjk5NC04LjAxNS0yLjk5NC0xMS4xMTYsMGwtMjQsMjRjLTMuMTI0LDMuMTI1LTMuMTIzLDguMTksMC4wMDIsMTEuMzE0DQoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS42NTYsMzYyLjM0NGwtMjQtMjRjLTMuMTc4LTMuMDctOC4yNDItMi45ODItMTEuMzEyLDAuMTk2Yy0yLjk5NSwzLjEtMi45OTUsOC4wMTYsMCwxMS4xMTZsMjQsMjQNCgkJCWMzLjE3OCwzLjA3LDguMjQyLDIuOTgyLDExLjMxMi0wLjE5NkM0NjQuNjUxLDM3MC4zNiw0NjQuNjUxLDM2NS40NDQsNDYxLjY1NiwzNjIuMzQ0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",fxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MTIgNTYuMTY0MDYyYzAtMTIuNzk2ODc0LTEwLjQwNjI1LTIzLjIwMzEyNC0yMy4yMDMxMjUtMjMuMjAzMTI0aC00OS45Njg3NXYtMTUuMDQ2ODc2YzAtOS44Nzg5MDYtOC4wMzUxNTYtMTcuOTE0MDYyLTE3LjkxNDA2My0xNy45MTQwNjJoLTEwMy4wODk4NDNjLTkuODc4OTA3IDAtMTcuOTE0MDYzIDguMDM5MDYyLTE3LjkxNDA2MyAxNy45MTQwNjJ2MTUuMDQ2ODc2aC04Ny44MTY0MDZ2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM5MDYyLTE3LjkxNDA2Mi0xNy45MTc5NjktMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtNDkuOTY4NzVjLTEyLjc5Njg3NSAwLTIzLjIwMzEyNSAxMC40MDYyNS0yMy4yMDMxMjUgMjMuMjAzMTI0djQ5LjVjMCA2LjA1MDc4MiAyLjMyODEyNSAxMS41NjI1IDYuMTM2NzE5IDE1LjY5OTIxOS0zLjgwODU5NCA0LjEzMjgxMy02LjEzNjcxOSA5LjY0ODQzOC02LjEzNjcxOSAxNS42OTkyMTl2MzA1LjgwODU5NGMwIDEyLjc5Mjk2OCAxMC40MDYyNSAyMy4yMDMxMjUgMjMuMjAzMTI1IDIzLjIwMzEyNWgyLjM3ODkwNnYyMi40NTMxMjVjMCAxMi43ODEyNSAxMC4zOTg0MzggMjMuMTc1NzgxIDIzLjE3OTY4OCAyMy4xNzU3ODFoMjMyLjYxNzE4N2M0LjE0NDUzMiAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNSAwLTQuMTQ0NTMxLTMuMzU5Mzc0LTcuNTAzOTA2LTcuNTAzOTA2LTcuNTAzOTA2aC0yMzIuNjE3MTg3Yy00LjUwNzgxMyAwLTguMTcxODc1LTMuNjY3OTY5LTguMTcxODc1LTguMTcxODc1di0yMi40NTMxMjVoNDMwLjgyMDMxMnYyMi40NTMxMjVjMCA0LjUwNzgxMi0zLjY2NDA2MiA4LjE3MTg3NS04LjE3MTg3NSA4LjE3MTg3NWgtMTQ3LjEyNWMtNC4xNDg0MzcgMC03LjUwMzkwNiAzLjM1OTM3NS03LjUwMzkwNiA3LjUwMzkwNiAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUwMzkwNiA3LjVoMTQ3LjEyNWMxMi43ODEyNSAwIDIzLjE3OTY4OC0xMC4zOTQ1MzEgMjMuMTc5Njg4LTIzLjE3NTc4MXYtMjIuNDUzMTI1aDIuMzc4OTA2YzEyLjc5Mjk2OSAwIDIzLjIwMzEyNS0xMC40MTAxNTcgMjMuMjAzMTI1LTIzLjIwMzEyNXYtMzA1LjgwODU5NGMwLTYuMDUwNzgxLTIuMzMyMDMxLTExLjU2NjQwNi02LjEzNjcxOS0xNS42OTkyMTkgMy44MDQ2ODgtNC4xMzY3MTkgNi4xMzY3MTktOS42NDg0MzcgNi4xMzY3MTktMTUuNjk5MjE5em0tMTk3LjA4NTkzOC0zOC4yNWMwLTEuNjA1NDY4IDEuMzA0Njg4LTIuOTA2MjUgMi45MTAxNTctMi45MDYyNWgxMDMuMDg5ODQzYzEuNjA1NDY5IDAgMi45MTAxNTcgMS4zMDQ2ODggMi45MTAxNTcgMi45MDYyNXYxNS4wNDY4NzZoLTEwOC45MTAxNTd6bS0yMjYuNzM4MjgxIDBjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em00MDguODE2NDA3IDQyNC45NTcwMzJjMCA0LjUxOTUzMS0zLjY3NTc4MiA4LjE5OTIxOC04LjE5NTMxMyA4LjE5OTIxOGgtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc5Njg3LTguMTk1MzEzLTguMTk5MjE4di0zMDUuODA4NTk0YzAtNC41MTk1MzEgMy42NzU3ODItOC4xOTkyMTkgOC4xOTUzMTMtOC4xOTkyMTloNDY1LjU5Mzc1YzQuNTIzNDM3IDAgOC4xOTUzMTMgMy42Nzk2ODggOC4xOTUzMTMgOC4xOTkyMTl6bTAtMzM3LjIwNzAzMmMwIDQuNTE5NTMyLTMuNjc1NzgyIDguMTk1MzEzLTguMTk1MzEzIDguMTk1MzEzaC00NjUuNTkzNzVjLTQuNTE5NTMxIDAtOC4xOTUzMTMtMy42NzU3ODEtOC4xOTUzMTMtOC4xOTUzMTN2LTQ5LjVjMC00LjUyMzQzNyAzLjY3NTc4Mi04LjE5OTIxOCA4LjE5NTMxMy04LjE5OTIxOGg0NjUuNTkzNzVjNC41MTk1MzEgMCA4LjE5NTMxMyAzLjY3NTc4MSA4LjE5NTMxMyA4LjE5OTIxOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMTY3OTY5IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4OCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NTc4MTItMTEuNTU0Njg3IDI1Ljc1NzgxMi0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NTc4MTItMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45MzM1OTQgMC0xMC43NTc4MTMtNC44MjQyMTktMTAuNzU3ODEzLTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTc4MTMtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzIuODMyMDMxIDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzU3ODEyIDExLjU1NDY4Ny0yNS43NTc4MTIgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzU3ODEyIDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg4LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTMzNTk0IDAgMTAuNzU3ODEzIDQuODI4MTI1IDEwLjc1NzgxMyAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzU3ODEzIDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MzQuNzQyMTg4IDE3MS45Mzc1aC0yMTguMTQ4NDM4Yy00LjE0NDUzMSAwLTcuNTAzOTA2IDMuMzU5Mzc1LTcuNTAzOTA2IDcuNSAwIDQuMTQ0NTMxIDMuMzU5Mzc1IDcuNTAzOTA2IDcuNTAzOTA2IDcuNTAzOTA2aDIxOC4xNDg0MzhjMS40Mzc1IDAgMi42MDU0NjggMS4xNzE4NzUgMi42MDU0NjggMi42MDkzNzV2MTkuODUxNTYzYzAgMS40Mzc1LTEuMTY3OTY4IDIuNjA5Mzc1LTIuNjA1NDY4IDIuNjA5Mzc1aC0zNTcuNDg0Mzc2Yy0xLjQzNzUgMC0yLjYwNTQ2OC0xLjE3MTg3NS0yLjYwNTQ2OC0yLjYwOTM3NXYtMTkuODUxNTYzYzAtMS40Mzc1IDEuMTY3OTY4LTIuNjA5Mzc1IDIuNjA1NDY4LTIuNjA5Mzc1aDEwNC4yNjk1MzJjNC4xNDQ1MzEgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjVoLTEwNC4yNjk1MzJjLTkuNzEwOTM3IDAtMTcuNjA5Mzc0IDcuODk4NDM4LTE3LjYwOTM3NCAxNy42MTMyODF2MTkuODUxNTYzYzAgOS43MTA5MzcgNy44OTg0MzcgMTcuNjEzMjgxIDE3LjYwOTM3NCAxNy42MTMyODFoMTAuMDM1MTU3djE2Ni40NjQ4NDRjMCAxNC4yNzczNDMgMTEuNjE3MTg3IDI1Ljg5NDUzMSAyNS44OTQ1MzEgMjUuODk0NTMxaDI4NS42MjVjMTQuMjc3MzQ0IDAgMjUuODk0NTMxLTExLjYxNzE4OCAyNS44OTQ1MzEtMjUuODk0NTMxdi0xNjYuNDY0ODQ0aDEwLjAzNTE1N2M5LjcxMDkzNyAwIDE3LjYxMzI4MS03Ljg5ODQzNyAxNy42MTMyODEtMTcuNjEzMjgxdi0xOS44NTE1NjNjMC05LjcxMDkzNy03LjkwMjM0NC0xNy42MTMyODEtMTcuNjEzMjgxLTE3LjYxMzI4MXptLTI1LjA0Mjk2OSAyMjEuNTQyOTY5YzAgNi4wMDM5MDYtNC44ODI4MTMgMTAuODg2NzE5LTEwLjg4NjcxOSAxMC44ODY3MTloLTI4NS42MjVjLTYuMDAzOTA2IDAtMTAuODkwNjI1LTQuODgyODEzLTEwLjg5MDYyNS0xMC44ODY3MTl2LTE2Ni40NjQ4NDRoMzA3LjQwMjM0NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIuNTQyOTY5IDI5NC44NTkzNzVjMi4wMjM0MzcgMCA0LjA0Mjk2OS0uODE2NDA2IDUuNTIzNDM3LTIuNDIxODc1bDIzLjAxMTcxOS0yNS4wMTU2MjVjMi44MDg1OTQtMy4wNTA3ODEgMi42MDkzNzUtNy43OTY4NzUtLjQ0MTQwNi0xMC42MDE1NjMtMy4wNTA3ODEtMi44MDQ2ODctNy43OTI5NjktMi42MDkzNzQtMTAuNjAxNTYzLjQ0MTQwN2wtMjMuMDExNzE4IDI1LjAxNTYyNWMtMi44MDQ2ODggMy4wNDY4NzUtMi42MDkzNzYgNy43OTI5NjguNDQxNDA2IDEwLjYwMTU2MiAxLjQ0MTQwNiAxLjMyNDIxOSAzLjI2MTcxOCAxLjk4MDQ2OSA1LjA3ODEyNSAxLjk4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Oxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEyMi4yNSAxNy4yNjZoLTExNi41YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1IDUuNzV2NjcuOTk0YTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUgNS43NWg5Ljg4M2wtMy4wNjggNC40NGE2LjA3OSA2LjA3OSAwIDAgMCAxMCA2LjkxMmw3Ljg0Ny0xMS4zNTJoNjcuMTc2bDcuODQ0IDExLjM1MWE2LjA3OSA2LjA3OSAwIDAgMCAxMC02LjkxMmwtMy4wNjgtNC40MzloOS44ODNhNS43NTcgNS43NTcgMCAwIDAgNS43NTMtNS43NXYtNjcuOTk0YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1LTUuNzV6bS0xMDIuNTYxIDg4Ljg1NmEyLjU4MiAyLjU4MiAwIDAgMSAtMi4xMjIgMS4xMTIgMi41OCAyLjU4IDAgMCAxIC0yLjEyMy00LjA0Nmw0LjQ0My02LjQyOGg2LjI3MXptOTIuODY3LTIuOTM0YTIuNTggMi41OCAwIDAgMSAtMi4xMjMgNC4wNDYgMi41ODUgMi41ODUgMCAwIDEgLTIuMTIzLTEuMTEybC02LjQ2OC05LjM2Mmg2LjI3MXptMTEuOTQ0LTEyLjE3OGEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNSAyLjI1aC0xMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNS0yLjI1di02Ny45OTRhMi4yNTMgMi4yNTMgMCAwIDEgMi4yNS0yLjI1aDExNi41YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUgMi4yNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDEuMzc1IDQ3LjkyMmg3LjN2MTkuOTMyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtMTkuOTMyaDcuM2ExLjc1IDEuNzUgMCAwIDAgMC0zLjVoLTE4LjFhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzUuOTYzIDY4LjUyN2ExLjc0OSAxLjc0OSAwIDAgMCAzLjIzIDBsOS4wNDctMjEuNjgxYTEuNzUgMS43NSAwIDEgMCAtMy4yMy0xLjM0NmwtNy40MzIgMTcuODA5LTcuNDMyLTE3LjgwOWExLjc1IDEuNzUgMCAxIDAgLTMuMjMgMS4zNDh6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Exe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01OSwySDVBMywzLDAsMCwwLDIsNVY1OWEzLDMsMCwwLDAsMywzSDU5YTMsMywwLDAsMCwzLTNWNUEzLDMsMCwwLDAsNTksMlptMSw1N2ExLDEsMCwwLDEtMSwxSDVhMSwxLDAsMCwxLTEtMVY1QTEsMSwwLDAsMSw1LDRINTlhMSwxLDAsMCwxLDEsMVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMiwxMEEyMiwyMiwwLDEsMCw1NCwzMiwyMi4wMjUsMjIuMDI1LDAsMCwwLDMyLDEwWm0xMC4xNzUsNC44MTNjMi40NjksOS41NS0zLjYxMywxMi45LTYuNDI4LDEzLjkxMWE1LDUsMCwwLDAtMS42NS0xLjI0NywxMS4zNzQsMTEuMzc0LDAsMCwwLDMuMzExLTYuNzk0Yy4yNDktMi44NDUtLjc5LTUuNzA2LTMuMDUtOC41MzFBMTkuODI0LDE5LjgyNCwwLDAsMSw0Mi4xNzUsMTQuODEzWk0zNSwzMmEzLDMsMCwxLDEtMy0zQTMsMywwLDAsMSwzNSwzMlpNMzEuNTg2LDEyLjAyMWMyLjc2NywyLjg3Myw0LjA2Niw1LjcyMiwzLjgzMSw4LjQ3YTEwLjEsMTAuMSwwLDAsMS0zLjc4NCw2LjUzLDE5LjY1MiwxOS42NTIsMCwwLDAtOS41ODUtMTIuMzQ0QTE5LjgzOCwxOS44MzgsMCwwLDEsMzEuNTg2LDEyLjAyMVpNMjAuMTIsMTUuOTQ4YTE3LjY1NywxNy42NTcsMCwwLDEsOS41OTIsMTEuNjMzLDQuOTUxLDQuOTUxLDAsMCwwLS45NTcuNjQ3LDE4Ljg4NiwxOC44ODYsMCwwLDAtMTQuMzM4LTUuNzUyQTIwLjEyNiwyMC4xMjYsMCwwLDEsMjAuMTIsMTUuOTQ4Wk0xMiwzMmExOS44NywxOS44NywwLDAsMSwxLjQ0Mi03LjQxNkExNi4zODUsMTYuMzg1LDAsMCwxLDI1LjgxNiwyOC4yNmExMy43OSwxMy43OSwwLDAsMC04LjA2NCwxLjI5MUExMi42NDQsMTIuNjQ0LDAsMCwwLDEyLjMxMSwzNS40LDE5LjkxMywxOS45MTMsMCwwLDEsMTIsMzJabTEuMTY0LDYuNjZjMS4xMy0zLjUyOSwyLjk4Mi02LDUuNTItNy4zNGExMi42NDMsMTIuNjQzLDAsMCwxLDguNTYxLS43ODdBNC45MTksNC45MTksMCwwLDAsMjcsMzJjMCwuMTA5LjAyNS4yMTEuMDMyLjMxOC0yLjAwOC45MTUtNy45NjEsNC40Mi04LjksMTQuMDYzQTIwLjAzNCwyMC4wMzQsMCwwLDEsMTMuMTY0LDM4LjY2Wm02Ljg3OCw5LjMzM2MuMzY0LTkuMjc5LDUuNTYzLTEyLjc0Myw3LjUzMS0xMy43MTlhNSw1LDAsMCwwLDEuMDY1LDEuNGMtLjk1OCwyLjYwOS0yLjg1Myw5Ljc5MSwyLjEwOCwxNi4yNjFBMTkuODU2LDE5Ljg1NiwwLDAsMSwyMC4wNDIsNDcuOTkzWk0zMy4zODEsNTEuOTNjLTUuNC01LjczMy0zLjkyLTEyLjQ5NS0yLjk4OC0xNS4yMTlBNC45MjksNC45MjksMCwwLDAsMzIsMzdjLjA4MSwwLC4xNTYtLjAyLjIzNS0uMDI0LjYsMy4wNDksMi44MjksOS4yMjMsMTEuMTExLDExLjQ3NUExOS44NTYsMTkuODU2LDAsMCwxLDMzLjM4MSw1MS45M1ptMTEuOTY2LTUuMDc4Yy04LjQ0MS0xLjYxNy0xMC42MjMtNy4yOTItMTEuMTc0LTEwLjM3YTUuMDA2LDUuMDA2LDAsMCwwLDEuMDg0LS43MTljMS44NjgsMS45LDYuMjE1LDUuNjMzLDExLjUyMiw1LjYzM2ExMS4yMDgsMTEuMjA4LDAsMCwwLDMuMDg1LS40NTVBMjAuMDY5LDIwLjA2OSwwLDAsMSw0NS4zNDcsNDYuODUyWk01MiwzMmExOS45LDE5LjksMCwwLDEtMS4wNzQsNi40MTRjLTYuNTA3LDMuMTItMTIuNDYyLTIuMTg0LTE0LjQzOC00LjI1MWE0LjkyNyw0LjkyNywwLDAsMCwuMzY5LTEuMDI1LDE2LjYsMTYuNiwwLDAsMCwxLjc4OS4wOTQsMTguMzI4LDE4LjMyOCwwLDAsMCwxMi45MjYtNS4zMzlBMjAsMjAsMCwwLDEsNTIsMzJabS0xNS4wODgtLjg2OGE0Ljc0NSw0Ljc0NSwwLDAsMC0uMTczLS42NWMyLjkyNi0xLjE1NSw5LjIzNC00Ljc2Niw3LjgxNy0xNC4wMjhhMjAuMDU3LDIwLjA1NywwLDAsMSw2LjM5NCw5LjJBMTYuMzQ0LDE2LjM0NCwwLDAsMSwzNi45MTIsMzEuMTMyWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOSwxMkEzLDMsMCwxLDAsNiw5LDMsMywwLDAsMCw5LDEyWk05LDhBMSwxLDAsMSwxLDgsOSwxLDEsMCwwLDEsOSw4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMiw1NWEzLDMsMCwwLDAtMy0zLDIuOTY2LDIuOTY2LDAsMCwwLTEsLjE4NFY0NUg2VjU1YTMsMywwLDAsMCwzLDNoNlY1NkgxMS44MTZBMi45NjYsMi45NjYsMCwwLDAsMTIsNTVaTTksNTZhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsOSw1NloiLz4NCiAgICAgICAgPHBhdGggZD0iTTU2LDUyLjE4NEEyLjk2NiwyLjk2NiwwLDAsMCw1NSw1MmEzLDMsMCwwLDAtMywzLDIuOTY2LDIuOTY2LDAsMCwwLC4xODQsMUg0NXYySDU1YTMsMywwLDAsMCwzLTNWNDlINTZaTTU1LDU2YTEsMSwwLDEsMSwxLTFBMSwxLDAsMCwxLDU1LDU2WiIvPg0KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",_xe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMzQzLjg3MUw0MjMuNzczLDM0My44NzFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVjLTcuNDU4LTkuODUtMTYuODg5LTE4LjAzNS0yNy42OS0yNC4wMzNjLTUuMTk0LTIuNTk3LTExLjUwOS0wLjQ5Mi0xNC4xMDYsNC43MDINCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwzNTMuNTk0LDQyOC42NzksMzQ3LjA0NSw0MjMuNzczLDM0My44NzF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDI2NS41MDNMNDIzLjc3MywyNjUuNTAzYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1Nw0KCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUNCgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyDQoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4DQoJCQkJczQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjUNCgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQ0KCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1DQoJCQkJQzQzMC4wODIsMjc1LjIyNyw0MjguNjc5LDI2OC42NzcsNDIzLjc3MywyNjUuNTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywxODEuOTExTDQyMy43NzMsMTgxLjkxMWMtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcNCgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgNCgkJCQljLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyYy0yLjU5Nyw1LjE5NC0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2DQoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgNCgkJCQljMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjVzMjUuNiwyOS43OCw1My4yOSwyOS43OA0KCQkJCWMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhzMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1YzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1DQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwxOTEuNjM1LDQyOC42NzksMTg1LjA4NSw0MjMuNzczLDE4MS45MTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01LjgxNCw4Mi4xMjRjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc2YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3LDE0LjYyOS0zLjEzNQ0KCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMg0KCQkJCVMwLjYyMSw3OS41MjcsNS44MTQsODIuMTI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",xxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjEzOS4zIiB3aWR0aD0iMTYuNCIgaGVpZ2h0PSIzOC4yIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjcuNSw4OS40IDIxLjMsMTA0LjYgNDMuMywxMTMuNyA0OS41LDk4LjUgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxOTAuOSwyMS40IDE4MS44LDQzLjUgMTk2LjksNDkuOCAyMDYsMjcuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY3LjQsODkuNCAyNDUuNCw5OC41IDI1MS43LDExMy43IDI3My43LDEwNC42IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjQ2LDM3LjYgMjE5LjEsNjQuNiAyMzAuNyw3Ni4zIDI1Ny42LDQ5LjIgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE0LjMsMTQwIDAsMTQwIDAsMTU2LjQgMTQuMywxNTYuNCAzOC4xLDE1Ni40IDM4LjEsMTQwIAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNTkuMSw0Ny43IDQ5LDM3LjYgMzcuNCw0OS4yIDY0LjMsNzYuMyA3NS45LDY0LjYgCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY2LjEsMjk1LjVjMC42LTUuNiwwLjktMTAuNiwwLjktMTUuNmMwLTgxLjctNjYuMi0xNDguMi0xNDcuNS0xNDguMmMtMjguNCwwLTU1LjUsOC4yLTc4LjcsMjNjMC4yLTIuMiwwLjUtNC4zLDAuNS02LjUNCgkJCWMwLTUyLTQyLjEtOTQuMy05My44LTk0LjNzLTkzLjgsNDIuMy05My44LDk0LjNjMCwzMC42LDE0LjksNTkuMSwzOS41LDc2LjdjLTE1LjQsMTcuMi0yNS41LDM5LjMtMjcuMyw2My43DQoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6DQoJCQkgTTcwLDE0OC4yYzAtNDIuOSwzNC43LTc3LjgsNzcuNC03Ny44YzQyLjcsMCw3Ny40LDM0LjksNzcuNCw3Ny44YzAsNi45LTAuOSwxMy45LTIuNywyMC42Yy04LjMsNy40LTE1LjcsMTUuNS0yMi4xLDI0LjQNCgkJCWMtMzMuMS05LjEtNjguNy0xLjMtOTQuOSwyMC4xQzgzLjMsMTk5LDcwLDE3NC41LDcwLDE0OC4yeiBNNDM0LjMsNDE5LjlINzMuN2MtMzEuNiwwLTU3LjQtMjUuOS01Ny40LTU3LjYNCgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQNCgkJCWM3Mi4zLDAsMTMxLjEsNTkuMSwxMzEuMSwxMzEuN2MwLDEzLjktMi42LDI2LjEtMi42LDI2LjFsNi4yLDIuM2MyMi4zLDguNCwzNy4zLDMwLjEsMzcuMyw1My45DQoJCQlDNDkxLjYsMzk0LDQ2NS45LDQxOS45LDQzNC4zLDQxOS45eiIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxNzguNiw0NTUuMiAxMzcuNiw0OTYuNCAxNDkuMiw1MDggMTkwLjEsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjguNyw0NTUuMiAyMjcuNyw0OTYuNCAyMzkuMyw1MDggMjgwLjMsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI0NDguOSw0NTUuMiA0MDgsNDk2LjQgNDE5LjYsNTA4IDQ2MC41LDQ2Ni44IAkJIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Sxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSA1NWgtNXYtNDRhMy4wMDkgMy4wMDkgMCAwIDAgMy0zdi01YTEgMSAwIDAgMCAtMS0xaC01MmExIDEgMCAwIDAgLTEgMXY1YTMuMDA5IDMuMDA5IDAgMCAwIDMgM3Y0NGgtNWExIDEgMCAwIDAgLTEgMXY1YTEgMSAwIDAgMCAxIDFoNThhMSAxIDAgMCAwIDEtMXYtNWExIDEgMCAwIDAgLTEtMXptLTU0LTQ3di00aDUwdjRhMSAxIDAgMCAxIC0xIDFoLTQ4YTEgMSAwIDAgMSAtMS0xem00NyAzdjQ0aC00NHYtNDR6bTYgNDloLTU2di0zaDU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE1LjE3MiAxOGg1LjY1N3YyaC01LjY1N3oiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC04LjE2MyAxOC4yOTMpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNC4xMzYgMjAuNWgxMi43Mjh2MmgtMTIuNzI4eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTkuMTk4IDIwLjc5MykiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",kxe={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNS4zMjgxMjUgMTE5LjE2Nzk2OWMyMC44Mzk4NDQgOC4wNTg1OTMgMzUuNjQ0NTMxIDIxLjE0ODQzNyA0NC42MzI4MTMgNDEuNTAzOTA2Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA3LjEwNTQ2OSAyMzcuODEyNWMyMC4wODk4NDMgMCAzNi40Mzc1LTE2LjM0Mzc1IDM2LjQzNzUtMzYuNDMzNTk0IDAtMjAuMDkzNzUtMTYuMzQ3NjU3LTM2LjQzNzUtMzYuNDM3NS0zNi40Mzc1LTIwLjA4OTg0NCAwLTM2LjQzNzUgMTYuMzQzNzUtMzYuNDM3NSAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0NzY1NiAzNi40MzM1OTQgMzYuNDM3NSAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTUzMTI1IDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4OTA2MiAxNi4yMzgyODItMTYuMjQyMTg3IDE2LjIzODI4Mi04Ljk1NzAzMSAwLTE2LjI0MjE4OC03LjI4NTE1Ny0xNi4yNDIxODgtMTYuMjM4MjgyIDAtOC45NTcwMzEgNy4yODUxNTctMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjE3OTY4OCAxNDcuMDE1NjI1YzMuNzY1NjI0IDAgNy4zOTg0MzctLjU3NDIxOSAxMC44MjAzMTItMS42MzY3MTlsNy4zMzk4NDQgOS44NzEwOTRjMTMuOTQxNDA2IDE4Ljc1IDIxLjYyMTA5NCA0MS45NDUzMTIgMjEuNjIxMDk0IDY1LjMxMjV2NTkuMTUyMzQ0YzAgNS41NzgxMjUgNC41MjM0MzcgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTYgNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnYtNTkuMTUyMzQ0YzAtMjcuNjc1NzgxLTkuMDkzNzUtNTUuMTUyMzQ0LTI1LjYwOTM3NS03Ny4zNTkzNzVsLTYuNjc1NzgxLTguOTgwNDY5YzUuNDQ5MjE4LTYuMzY3MTg3IDguNzQ2MDk0LTE0LjYyNSA4Ljc0NjA5NC0yMy42NDA2MjUgMC0yMC4wOTM3NS0xNi4zNDM3NS0zNi40Mzc1LTM2LjQzNzUtMzYuNDM3NS0yMC4wODk4NDQgMC0zNi40MzM1OTQgMTYuMzQzNzUtMzYuNDMzNTk0IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQzNzUgMzYuNDMzNTk0IDM2LjQzMzU5NCAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTU3MDMxIDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4NTE1NiAxNi4yNDIxODgtMTYuMjQyMTg3IDE2LjI0MjE4OC04Ljk1MzEyNiAwLTE2LjI0MjE4OC03LjI4OTA2My0xNi4yNDIxODgtMTYuMjQyMTg4IDAtOC45NTcwMzEgNy4yODkwNjItMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0OC4xNjAxNTYgMzc3Ljc4OTA2MmgxNy45MjU3ODJjNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MjM0MzcgMTAuMDk3NjU2LTEwLjA5NzY1NiAwLTUuNTc4MTI1LTQuNTIzNDM4LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC0xNy45MjU3ODJjLTUuNTc0MjE4IDAtMTAuMDk3NjU2IDQuNTE5NTMxLTEwLjA5NzY1NiAxMC4wOTc2NTYgMCA1LjU3NDIxOSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTguMTQ0NTMxIDM3Ny43ODkwNjJoMTcuOTIxODc1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUyMzQzNy0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NmgtMTcuOTIxODc1Yy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MTk1MzEgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiA0MjAuNjc1NzgxaDY3LjkwNjI1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZzLTQuNTIzNDM3LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC02Ny45MDYyNWMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NnM0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDguMTI1IDQ0My4xNTYyNWgtOTkuOTY0ODQ0Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MjM0MzggMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZoOTkuOTY0ODQ0YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUxOTUzMS0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02My4xNDQ1MzEgODMuMDE1NjI1LTI2LjA1NDY4Ny0xNS4wMzkwNjNjLTQuODMyMDMyLTIuNzg5MDYyLTExLjAwMzkwNi0xLjEzMjgxMi0xMy43OTI5NjkgMy42OTUzMTNzLTEuMTMyODEzIDExLjAwMzkwNiAzLjY5NTMxMyAxMy43OTI5NjlsMjYuMDU0Njg3IDE1LjA0Mjk2OGMxLjU4OTg0NC45MTc5NjkgMy4zMjgxMjUgMS4zNTE1NjMgNS4wMzkwNjMgMS4zNTE1NjMgMy40ODgyODEgMCA2Ljg4MjgxMi0xLjgwODU5NCA4Ljc1MzkwNi01LjA0Njg3NSAyLjc4OTA2Mi00LjgzMjAzMSAxLjEzMjgxMi0xMS4wMDc4MTItMy42OTUzMTMtMTMuNzk2ODc1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxLjExMzI4MSAxNDYuMjEwOTM4LTMwLjA4NTkzNy0xLjI4MTI1Yy01LjU4MjAzMi0uMjUtMTAuMjgxMjUgNC4wODk4NDMtMTAuNTE5NTMyIDkuNjYwMTU2LS4yMzQzNzQgNS41NzAzMTIgNC4wODk4NDQgMTAuMjgxMjUgOS42NjAxNTcgMTAuNTE1NjI1bDMwLjA4NTkzNyAxLjI4MTI1Yy4xNDQ1MzIuMDA3ODEyLjI5Mjk2OS4wMDc4MTIuNDM3NS4wMDc4MTIgNS4zNzg5MDYgMCA5Ljg1MTU2My00LjI0MjE4NyAxMC4wNzgxMjUtOS42Njc5NjkuMjM4MjgxLTUuNTcwMzEyLTQuMDg1OTM3LTEwLjI3NzM0My05LjY1NjI1LTEwLjUxNTYyNHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0OS4zNjcxODggMzE1LjY2Nzk2OWMtMi4wNzgxMjYtNS4xNzE4NzUtNy45NjQ4NDQtNy42Nzk2ODgtMTMuMTM2NzE5LTUuNjAxNTYzLTUuMTcxODc1IDIuMDgyMDMyLTcuNjc5Njg4IDcuOTYwOTM4LTUuNjAxNTYzIDEzLjEzNjcxOWwuMTE3MTg4LjI5Mjk2OWMxLjU4NTkzNyAzLjk0MTQwNiA1LjM3MTA5NCA2LjMzNTkzNyA5LjM3NSA2LjMzNTkzNyAxLjI1MzkwNiAwIDIuNTI3MzQ0LS4yMzQzNzUgMy43NjE3MTgtLjczNDM3NSA1LjE3NTc4Mi0yLjA3ODEyNSA3LjY4MzU5NC03Ljk2MDkzNyA1LjYwMTU2My0xMy4xMzI4MTJ6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Amplifier:R_e,Awnings:F_e,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM5NC4wNjMgMzkxLjk5NmMtOS4xOTgtNS4yOS0xOC4zNzMtMTAuNjIzLTI3LjU1OC0xNS45MzcgNS4wMDItMTEuNzY5IDEwLjE5NC0yMy45MDIgMTQuOTAzLTM2LjA1MyAxLjgwOS00LjY2NyAxLjE4OS05LjkxMS0xLjY1NS0xNC4wMjgtNS43NzYtOC4zNjEtMTYuODYzLTguODU1LTI0LjM0NC0xLjc0LTE5LjY2MSAxOC43LTM5LjA4NSAzNy01OC42NTIgNTUuNTM3LTMuNzc1IDMuNTc3LTUuNjM5IDguNDM0LTUuMTEgMTMuMzI3LjUyMyA0Ljg0NiAzLjMzOSA5LjE0NCA3LjcyNSAxMS43OTIgOS4zNDUgNS42NDEgMTguNzYxIDEwLjk1NSAyOC4wOTggMTYuMjkxLTQuNjQ0IDEwLjk1MS0xMC4zNzIgMjQuMjQ2LTE0LjkyIDM2LjAwMi0yLjg4NyA3LjQ2Mi40MjEgMTUuNzQ0IDcuNjkzIDE5LjI2NCA1LjcxNCAyLjc2NiAxMi4yOCAyLjIxMSAxOC4yOTktMy40ODMgMTkuMzQ0LTE4LjMgMzkuMzQzLTM3LjIxNCA1OC42Ny01NS41NDcgMy44MTgtMy42MjIgNS42NzQtOC41MTIgNS4wOS0xMy40MTYtLjU5MS00Ljk2Mi0zLjU5NC05LjMzOC04LjIzOS0xMi4wMDl6bS03LjE3NCAxNC41NGMtMTUuNjM0IDE0LjgzMi01OC45NDkgNTYuOTczLTYwLjEwOSA1Ni40MTItLjExOC0uMDU3LS4zMDYtLjE3OC0uMjQtLjM0OSA1LjE3OS0xMy41MjYgMTEuNjM1LTI4LjI3MiAxNi45MTgtNDAuNzMyIDEuNDkzLTMuNTIyLjkwNy04LjI4LTMuNzY4LTEwLjk3LTEwLjg0LTYuMjM3LTIxLjc5MS0xMi4zNTQtMzIuNTY0LTE4Ljg0NS0uODAyLS40ODMtLjc2Ny0uNzEtLjA1MS0xLjM4OCAyMC44NzQtMTkuNzc5IDU3Ljk1OS01NS4zMTEgNTkuODAzLTU2LjQ1OS4zOTYuMDg0LjU0NC4yOTkuNTQ1LjM4NC01LjMwNyAxMy42ODQtMTEuMjEzIDI3LjMwNS0xNi45IDQwLjczOS0xLjc5NCA0LjIzNy0uMjkzIDguNjQ5IDMuNzM5IDEwLjk4IDQuMzk5IDIuNTQgOC43OTYgNS4wODcgMTMuMTkxIDcuNjM0IDYuMzc0IDMuNjkzIDEyLjc0OCA3LjM4NyAxOS4xMzQgMTEuMDU5IDEuMTA2LjYzNSAxLjEzNi43NDQuMzAyIDEuNTM1em0tODEuNzg0LTIwOC40aC0yMDEuNDZjLTEwLjI3MyAwLTE4LjYzMSA4LjMzLTE4LjYzMSAxOC41Njl2NDQuMjc2YzAgMTAuMjM5IDguMzU3IDE4LjU2OSAxOC42MzEgMTguNTY5aDIwMS40NjFjMTAuMjczIDAgMTguNjMxLTguMzMgMTguNjMxLTE4LjU2OXYtNDQuMjc2Yy0uMDAxLTEwLjIzOS04LjM1OC0xOC41NjktMTguNjMyLTE4LjU2OXptMy42MzEgNjIuODQ1YzAgMS45NjgtMS42MjkgMy41NjktMy42MzEgMy41NjloLTIwMS40NmMtMi4wMDIgMC0zLjYzMS0xLjYwMS0zLjYzMS0zLjU2OXYtNDQuMjc2YzAtMS45NjggMS42MjktMy41NjkgMy42MzEtMy41NjloMjAxLjQ2MWMyLjAwMiAwIDMuNjMxIDEuNjAxIDMuNjMxIDMuNTY5djQ0LjI3NnptMTUtMTQzLjg5OGMwLTEwLjIzOS04LjM1Ny0xOC41NjktMTguNjMxLTE4LjU2OWgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NnptLTE1IDQ0LjI3N2MwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTM4LjI0NyAxMjMuODU3Yy0xOC42NTMgMC0zNi4yNjYgNC41MjktNTEuODAzIDEyLjU0MmgtMTkxLjUzNWMtMTAuMjcyIDAtMTguNjMgOC4zMzEtMTguNjMgMTguNTd2NDQuMjdjMCAxMC4yMzkgOC4zNTcgMTguNTcgMTguNjMgMTguNTdoMTMxLjYyMWMtMS4wOTYgNi4zMTgtMS42NzMgMTIuODEyLTEuNjczIDE5LjQzOCAwIDI0LjI0MyA3LjY1MSA0Ni43MjkgMjAuNjYgNjUuMTgyaC0xNTAuNjA4Yy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDEwNy42NDFjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEwNy42NDFjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDE2My4yMzdjNy4wNyA3LjA2MyAxNS4wNjUgMTMuMTk5IDIzLjc4NSAxOC4yMWgtMTk4LjI0MmMtMTQuMjI3IDAtMjUuOC0xMS41NzQtMjUuOC0yNS44di0zNjUuMDg5YzAtMTQuMjI2IDExLjU3My0yNS44IDI1LjgtMjUuOGgyMjMuOWMxNC4yMjcgMCAyNS44IDExLjU3NCAyNS44IDI1Ljh2MTU2LjY0YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE1Ni42NGMwLTIyLjQ5Ny0xOC4zMDMtNDAuOC00MC44LTQwLjhoLTQwLjA2N3YtMzUuNjExYzAtMTYuMzc2LTEzLjMyMy0yOS42OTktMjkuNjk5LTI5LjY5OWgtODQuMzY3Yy0xNi4zNzYgMC0yOS42OTkgMTMuMzIzLTI5LjY5OSAyOS42OTl2MzUuNjExaC00MC4wNjhjLTIyLjQ5NyAwLTQwLjggMTguMzAzLTQwLjggNDAuOHYzNjUuMDljMCAyMi40OTcgMTguMzAzIDQwLjggNDAuOCA0MC44aDIyMy45YzMuODkyIDAgNy43MzEtLjU1MyAxMS40NDItMS42MzYgNi4yNDggMS4wNzEgMTIuNjY3IDEuNjM2IDE5LjIxNiAxLjYzNiA2Mi41MjQgMCAxMTMuMzkyLTUwLjg2NyAxMTMuMzkyLTExMy4zOTIgMC02Mi41MjQtNTAuODY3LTExMy4zOTEtMTEzLjM5Mi0xMTMuMzkxem0tMTk5LjQ5MS0yNTUuNTE4YzAtOC4xMDUgNi41OTQtMTQuNjk5IDE0LjY5OS0xNC42OTloODQuMzY3YzguMTA1IDAgMTQuNjk5IDYuNTk0IDE0LjY5OSAxNC42OTl2MzUuNjExaC0xMTMuNzY1em0tNDMuODQ3IDMzNC40NzFjLTIuMDAyIDAtMy42My0xLjYwMi0zLjYzLTMuNTd2LTQ0LjI3YzAtMS45NjkgMS42MjgtMy41NyAzLjYzLTMuNTdoMTY5LjM0MWMtMTUuNjY2IDEzLjUyMS0yNy42IDMxLjI1LTM0LjA0MSA1MS40MXptMjQzLjMzOCAxMzIuODNjLTU0LjI1MyAwLTk4LjM5Mi00NC4xMzgtOTguMzkyLTk4LjM5MiAwLTU0LjI1MyA0NC4xMzktOTguMzkxIDk4LjM5Mi05OC4zOTFzOTguMzkyIDQ0LjEzOCA5OC4zOTIgOTguMzkxYzAgNTQuMjU0LTQ0LjEzOSA5OC4zOTItOTguMzkyIDk4LjM5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00Ni40NCA0aC0yLjk3YTEgMSAwIDAgMSAwLTJoMi45N2ExIDEgMCAwIDEgMCAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2LjQ3IDRoLTIuOTFhMSAxIDAgMCAxIDAtMmgyLjkxYTEgMSAwIDAgMSAwIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyA1MS4yMDdhMSAxIDAgMCAxIC0xLTF2LTQwLjgyOGExIDEgMCAxIDEgMiAwdjQwLjgyOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzcgNzJhNS45MzYgNS45MzYgMCAwIDEgLTUuOTMtNS45MyAxIDEgMCAwIDEgMiAwIDMuOTMgMy45MyAwIDAgMCA3Ljg2IDAgMSAxIDAgMCAxIDIgMCA1LjkzNiA1LjkzNiAwIDAgMSAtNS45MyA1LjkzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjAuNDE2IDM1LjExNGExIDEgMCAwIDEgLTEtMXYtMjQuNzM1YTEgMSAwIDAgMSAyIDB2MjQuNzM1YTEgMSAwIDAgMSAtMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MC40MTYgNTQuNjZhNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0LTUuNjM0IDEgMSAwIDEgMSAyIDAgMy42MzQgMy42MzQgMCAxIDAgNy4yNjggMCAxIDEgMCAxIDEgMiAwIDUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNCA1LjYzNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMCAxIDIgMCAzLjYzNCAzLjYzNCAwIDAgMCA3LjI2OCAwIDEgMSAwIDAgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Chandelier:G_e,Climate:H_e,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ2NiAxMTEuOTk2aC00OS43MTlsLTEwOS4yMTUtNDYuMzYxIDQuODg5LTU0Ljc0NmMuMjUtMi43OTYtLjY4Ny01LjU2OC0yLjU4Mi03LjYzOS0xLjg5NC0yLjA3LTQuNTcyLTMuMjUtNy4zNzgtMy4yNWgtNjBjLTIuODA3IDAtNS40ODQgMS4xOC03LjM3OSAzLjI1LTEuODk1IDIuMDcxLTIuODMxIDQuODQzLTIuNTgyIDcuNjM5bDQuODk4IDU0Ljg1NC0xMDQuNzk1IDQ2LjI1M2gtMjYuMTM3Yy0zOC41OTggMC03MCAzMS40MDItNzAgNzB2NjkuOTk3YzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMHMzMC0xMy40NTggMzAtMzB2LTY5Ljk5N2MwLTUuNDIgNC41OC0xMCAxMC0xMGgyNi45MTVsMjEuNDgzIDEyMS43MzhjMS45MjcgMTAuOTIzIDkuOTA0IDE4LjI2MyAxOS44NDggMTguMjYzdjQwLjAwM2MtOS42NTIgMC0xNy4yMTcgNi44MDItMTkuNzQ0IDE3Ljc1MWwtMzAuMDAxIDEzMGMtLjY4NSAyLjk2OS4wMjEgNi4wODkgMS45MTggOC40NzRzNC43NzggMy43NzQgNy44MjYgMy43NzRoMjgwYzMuMDQ3IDAgNS45MjktMS4zOSA3LjgyNi0zLjc3NCAxLjg5Ny0yLjM4NSAyLjYwNC01LjUwNSAxLjkxOC04LjQ3NGwtMzAuMDAxLTEzMGMtMi41MjUtMTAuOTQ5LTEwLjA5MS0xNy43NTEtMTkuNzQzLTE3Ljc1MXYtNDAuMDAyYzkuOTQ0IDAgMTcuOTItNy4zMzkgMTkuODQ3LTE4LjI2MmwxNC4zODEtODEuNDkyIDY0LjA1Ni01NS4yMzZjMi4yMDMtMS44OTkgMy40Ny00LjY2NSAzLjQ3LTcuNTczdi0yNy40MzhjLjAwMS01LjUyNC00LjQ3Ny0xMC4wMDEtOS45OTktMTAuMDAxem0tMTc0LjkzOC05MS45OTYtMy43NSA0MS45OTZoLTMwLjYzNGwtMy43NTEtNDEuOTk2em0tNDEuNDIzIDYxLjk5Nmg0NC43ODVsNzAuNjcyIDMwaC0xODMuNDI4em0tMTQzLjYzOSA3MC4wMDFjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHY2OS45OTdjMCA1LjUxNC00LjQ4NiAxMC0xMCAxMHMtMTAtNC40ODYtMTAtMTB2LTY5Ljk5N2MwLTI3LjU3IDIyLjQzLTUwIDUwLTUwaDE5Ljg1NmwzLjUzIDIwem02OC4wOTQgMTM4LjI2My0yNy45MjktMTU4LjI2NGg2Mi43NjJsMi41MjggMzUuODE3Yy4zNzIgNS4yNyA0Ljc2MiA5LjI5NiA5Ljk2NSA5LjI5Ni4yMzYgMCAuNDc1LS4wMDguNzE0LS4wMjUgNS41MDktLjM4OSA5LjY2LTUuMTcgOS4yNzEtMTAuNjc5bC0yLjQyOS0zNC40MDloOTAuNTM5bC0xMS4yOTUgMTYwLjAwMmgtNjcuOTQ5bC0yLjUyOS0zNS44MTdjLS4zODktNS41MDktNS4xNjYtOS42NjEtMTAuNjc5LTkuMjcxLTUuNTA5LjM4OS05LjY2IDUuMTctOS4yNzEgMTAuNjc5bDIuNDI5IDM0LjQwOWgtNDUuNTE4Yy0uMTk5LS4zMjEtLjQ2My0uOTE0LS42MDktMS43Mzh6bS0uMTAzIDgzLjk4OGMuMjU5LTEuMTI1LjYxLTEuODU3Ljg1My0yLjI0OWg0NS4zNmwtMTEuMDc3IDEyMGgtNjIuMzF6bTEzNC4yMTItMi4yNDggMTEuMDc3IDEyMGgtOTAuMDY5bDExLjA3Ny0xMjB6bTY2LjI5NyAyLjI0OCAyNy4xNzUgMTE3Ljc1MmgtNjIuMzFsLTExLjA3Ny0xMjBoNDUuMzZjLjI0My4zOTEuNTkzIDEuMTIzLjg1MiAyLjI0OHptLTIwLjI1NS0yMi4yNDhoLTE1OS45OTh2LTQwLjAwMmgxNTkuOTk4em0yMC4xNTEtNjEuNzRjLS4xNDYuODI0LS40MDkgMS40MTctLjYwOCAxLjczN2gtNDUuNTE4bDExLjI5NS0xNjAuMDAxaDYyLjc2MmwtMTIuOTM3IDczLjMwOWMwIC4wMDEgMCAuMDAyLS4wMDEuMDAzem04MS42MDQtMTQ1LjQwNy00Mi4wMjkgMzYuMjQyIDguNjY1LTQ5LjA5OWgzMy4zNjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+DQogICAgPC9nPg0KPC9zdmc+","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTQzOC40MTMsMzQzLjE4OEM0MjguMDU5LDMzNS4wODUsNDE1LjE3NCwzMjUsMzkwLjgzNSwzMjVjLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OA0KCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQ0KCQljLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc4LDE4LjE4OEMxODEuMTY2LDM1MC4wNDUsMTc0LjgzNCwzNTUsMTYwLjg0LDM1NWMtMTMuOTk2LDAtMjAuMzI3LTQuOTU1LTI5LjA5LTExLjgxMw0KCQlDMTIxLjM5NSwzMzUuMDg0LDEwOC41MDksMzI1LDg0LjE3LDMyNWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCwzNTAuMDQ1LDIxLjQ5NiwzNTUsNy41LDM1NXYzMA0KCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzDQoJCUMxMjMuNjE1LDM3NC45MTYsMTM2LjUsMzg1LDE2MC44NCwzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NCw0Ny41NzgtMTguMTg4QzIxNy4xOCwzNTkuOTU1LDIyMy41MTEsMzU1LDIzNy41MDYsMzU1DQoJCWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxM0MyNzYuOTQ3LDM3NC45MTUsMjg5LjgzMywzODUsMzE0LjE3LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODgNCgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwDQoJCUM0NTMuNTA2LDM1NSw0NDcuMTc1LDM1MC4wNDUsNDM4LjQxMywzNDMuMTg4eiIvPg0KCTxwYXRoIGQ9Ik0zOTAuODM1LDQxNWMtMjQuMzM4LDAtMzcuMjI0LDEwLjA4NS00Ny41NzcsMTguMTg4QzMzNC40OTYsNDQwLjA0NSwzMjguMTY1LDQ0NSwzMTQuMTcsNDQ1DQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgNCgkJQzE4MS4xNjYsNDQwLjA0NSwxNzQuODM0LDQ0NSwxNjAuODQsNDQ1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzQzEyMS4zOTUsNDI1LjA4NCwxMDguNTA5LDQxNSw4NC4xNyw0MTUNCgkJYy0yNC4zMzksMC0zNy4yMjUsMTAuMDg0LTQ3LjU3OSwxOC4xODhDMjcuODI4LDQ0MC4wNDUsMjEuNDk2LDQ0NSw3LjUsNDQ1djMwYzI0LjMzOSwwLDM3LjIyNS0xMC4wODQsNDcuNTc5LTE4LjE4OA0KCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1DQoJCWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDQ0OS45NTUsMjIzLjUxMSw0NDUsMjM3LjUwNiw0NDVjMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTMNCgkJQzI3Ni45NDcsNDY0LjkxNSwyODkuODMzLDQ3NSwzMTQuMTcsNDc1YzI0LjMzOCwwLDM3LjIyNC0xMC4wODUsNDcuNTc3LTE4LjE4OEMzNzAuNTEsNDQ5Ljk1NSwzNzYuODQxLDQ0NSwzOTAuODM1LDQ0NQ0KCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzDQoJCUM0MjguMDU5LDQyNS4wODUsNDE1LjE3NCw0MTUsMzkwLjgzNSw0MTV6Ii8+DQoJPHBvbHlnb24gcG9pbnRzPSIxODQuMzc4LDI1OC4zMjMgMjIyLjUsMjM2LjMxMyAyMjIuNSwyODAuMzMzIDI1Mi41LDI4MC4zMzMgMjUyLjUsMjM2LjMxMyAyOTAuNjIyLDI1OC4zMjMgMzA1LjYyMiwyMzIuMzQzDQoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0Mw0KCQkxNjkuMzc4LDE4OC4zMjMgMjA3LjUsMjEwLjMzMyAxNjkuMzc4LDIzMi4zNDMgCQkJIi8+DQoJPHBvbHlnb24gcG9pbnRzPSIyNC4wOTUsMTE3Ljk5IDYyLjIxNiw5NS45OCA2Mi4yMTYsMTQwIDkyLjIxNiwxNDAgOTIuMjE2LDk1Ljk4IDEzMC4zMzgsMTE3Ljk5IDE0NS4zMzgsOTIuMDEgMTA3LjIxNiw3MA0KCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxDQoJCSIvPg0KCTxwb2x5Z29uIHBvaW50cz0iMzQ0LjY2MiwxMTcuOTkgMzgyLjc4NCw5NS45OCAzODIuNzg0LDE0MCA0MTIuNzg0LDE0MCA0MTIuNzg0LDk1Ljk4IDQ1MC45MDUsMTE3Ljk5IDQ2NS45MDUsOTIuMDEgNDI3Ljc4Myw3MA0KCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzANCgkJMzI5LjY2Miw5Mi4wMSAJCQkiLz4NCjwvZz4NCjwvc3ZnPg0K",Computer:V_e,Consumption:Z_e,Curtains:X_e,Dishwashers:K_e,Doors:q_e,Doorstep:exe,Dryer:txe,Fan:sxe,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM3Ny4wMTggMTA0LjQtNTQuODYxLTkzLjQxNmMtMy45OC02Ljc3NS0xMS4zMzQtMTAuOTg0LTE5LjE5MS0xMC45ODRoLTkxLjY1NWMtNy42OTcgMC0xNC45NzMgNC4wNzktMTguOTg3IDEwLjY0NGwtNTcuMTM1IDkzLjQxNGMtOS4wNTUgMTQuODAzIDEuNjI2IDMzLjg3IDE4Ljk4NyAzMy44N2gyOC4xODJjMi4yMjIgMzMuNDUyIDI2LjgwOCA2MC44ODQgNTguOTE2IDY3LjQxLS4yNzQgMS44MjYtLjE4NC0xMy41MS0uMTg0IDIxNy4xOTVoLTM3LjQ4NGMtMTEuODk4IDAtMjEuNTc5IDkuNjgtMjEuNTc5IDIxLjU3OXY0Ni4zMWMwIDExLjg5OCA5LjY4IDIxLjU3OSAyMS41NzkgMjEuNTc5aDEwNC43OWMxMS44OTkgMCAyMS41NzktOS42OCAyMS41NzktMjEuNTc5di00Ni4zMWMwLTExLjg5OC05LjY4LTIxLjU3OS0yMS41NzktMjEuNTc5aC0zNy40ODRjMC0yMzAuNzY2LjA5LTIxNS4zNy0uMTg0LTIxNy4xOTUgMjIuMDI1LTQuNDc2IDQwLjUwNS0xOC43OTUgNTAuNjY2LTM4LjE0MXYzNy42MzFjMCA4LjIzNSA2LjY3NiAxNC45MTEgMTQuOTExIDE0LjkxMXMxNC45MTEtNi42NzYgMTQuOTExLTE0LjkxMXYtNjYuOWg2LjYxYzE3LjE2NiAwIDI3Ljg5My0xOC43MDggMTkuMTkyLTMzLjUyOHptLTc2Ljg2NiAzNzcuNzc4aC04OC4zMDJ2LTI5LjgyMmg4OC4zMDJ6bS04NC41OTktNDUyLjM1Nmg4My4wODNsNDUuOTc0IDc4LjI4NGMtNy4wNjEgMC0xNjkuOTAzIDAtMTc2LjkzOCAwem00MC40NDcgMTQ3LjE3MmMtMjIuNTk1IDAtNDEuMjY3LTE3LjExNy00My43MjktMzkuMDY2aDg3LjQ1OGMtMi40NjIgMjEuOTQ5LTIxLjEzNCAzOS4wNjYtNDMuNzI5IDM5LjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsNjRjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThIOEMzLjU4MiwwLDAsMy41ODIsMCw4djQ4YzAsNC40MTgsMy41ODIsOCw4LDhoMTZ2NDAwSDgNCgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4DQoJCWgzMzZWNDAweiBNNDA4LDMzNkg3MnYtNDhoMzM2VjMzNnogTTQwOCwyNzJINzJ2LTQ4aDMzNlYyNzJ6IE00MDgsMjA4SDcydi00OGgzMzZWMjA4eiBNNDA4LDE0NEg3MlY5NmgzMzZWMTQ0eiBNNDQwLDQ2NGgtMTZWODgNCgkJYzAtNC40MTgtMy41ODItOC04LThINjRjLTQuNDE4LDAtOCwzLjU4Mi04LDh2Mzc2SDQwVjY0aDQwMFY0NjR6IE0xNiw0OFYxNmg0NDh2MzJIMTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gates:ixe,Hairdryer:rxe,Handle:oxe,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTkzLjUyNSAzNTkuNzcxaDEwNy44ODV2NC4xMjlhNTMuMDcyIDUzLjA3MiAwIDEgMCAxMDYuMTQ0IDB2LTQuMTI0aDExMC45MjFhNiA2IDAgMCAwIDYtNmMwLTgyLjAxNS01OC45MTMtMTUwLjUxOC0xMzYuNjQtMTY1LjQ0NHYtMjAuMzE5YTMxLjg4MyAzMS44ODMgMCAwIDAgLTI1LjgzNS0zMS4yNnYtMTIwLjc1M2E2IDYgMCAwIDAgLTEyIDB2MTIwLjc1M2EzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUgMzEuMjZ2MjAuMzE0Yy03Ny43MjcgMTQuOTI2LTEzNi42NCA4My40MjktMTM2LjY0IDE2NS40NDRhNiA2IDAgMCAwIDYgNnptMjAyLjAyOSA0LjEyOWE0MS4wNzIgNDEuMDcyIDAgMSAxIC04Mi4xNDQgMHYtNC4xMjRoODIuMTQ0em0tMzkuNTU0LTIxNS43MjJhMTkuODUxIDE5Ljg1MSAwIDAgMSAxOS4xOCAxNC44NjhoLTM4LjM2YTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTgtMTQuODY4em0tMTkuODM1IDI2Ljg2OGgzOS42N3YxMS40MjRhMTY4LjI4OCAxNjguMjg4IDAgMCAwIC0zOS42NyAwem0xOS44MzUgMjIuMjU0Yzg0LjI3NCAwIDE1My4yIDY2Ljk2IDE1Ni4zNjEgMTUwLjQ3NGgtMzEyLjcyMmMzLjE2MS04My41MTcgNzIuMDg3LTE1MC40NzQgMTU2LjM2MS0xNTAuNDc0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjQyMiA0MzEuNDg4YTYgNiAwIDAgMCAtLjA3NSA4LjQ4NWwyOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MS04LjQxbC0yOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC40ODYtLjA3NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC4wOTIgNDMxLjU2My0yOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MSA4LjQxbDI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjU2MS04LjQxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Heater:nxe,Hoods:axe,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NSAyNDEuOTAyYy0xOC4yMjMgMC0zMy4zNTgtNS45MzctNDUuMDkyLTE3LjYydi0xNDkuMzU0YzAtNDEuMzE1LTMzLjYxMy03NC45MjgtNzQuOTI5LTc0LjkyOHMtNzQuOTI4IDMzLjYxMy03NC45MjggNzQuOTI4djE0OS4zOTVjLTI0LjI1NCAyNC4xMDctNjkuNDc2IDI0LjQxNS05My42NjMtMy44MDMtNS45ODEtNi45NzgtMTYuNzkzLTYuOTgyLTIyLjc3NyAwLTI0LjU4NiAyOC42ODUtNzIuNTM4IDI4Ljc5OC05Ny4yMjMgMC02LjMyMi03LjM3OC0xNy44NjctNi44NjctMjMuNTM3Ljk2My0uMTQ4LjIwNC0xNS42ODggMjAuNDE4LTQ3Ljg1MiAyMC40MTgtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNWMyOC42MzIgMCA0OC40ODktMTEuMjggNjAuMDI3LTIwLjYyNCAzMy40NDcgMjcuNjE1IDg2LjUxMiAyNy42MjUgMTE5Ljk3My0uMDIyIDMwLjE5MSAyNC45NDQgNzQuMzYyIDI2LjE3OSAxMDUuMDUyIDkuOTU3djQwLjQ3MWMtMjcuOTg0IDIzLjEzMS00My44MTEgNTcuODc4LTQyLjY1OCA5NC40NTMgMS45NzQgNjIuNzI4IDUzLjc0MyAxMTMuODY0IDExNy41ODYgMTEzLjg2NCA2NC44NzEgMCAxMTcuNjQ3LTUyLjc3NiAxMTcuNjQ3LTExNy42NDYgMC0zNS4wNy0xNS44MzctNjguNDA2LTQyLjcxOS05MC42NjZ2LTQwLjQ5N2MxMy4zMjUgNy4wNTIgMjguNTE3IDEwLjcxIDQ1LjA5MiAxMC43MSA4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNS0xNC45OTktMTQuOTk5LTE0Ljk5OXptLTEyMC4wMi0yMTEuOTAyYzI0Ljc3MyAwIDQ0LjkyOCAyMC4xNTUgNDQuOTI4IDQ0LjkyOHYxNDkuNTM3Yy04LjMxNCA4LjIxMS0xOC4zMjcgMTMuNTUxLTI5LjkyOSAxNS45NTN2LTE0My45NTdjMC04LjI4NC02LjcxNi0xNS0xNS0xNXMtMTUgNi43MTYtMTUgMTV2MTQzLjk0N2MtMTEuNjAzLTIuNDA5LTIxLjYxNS03Ljc1OS0yOS45MjgtMTUuOTgzdi0xNDkuNDk3Yy4wMDEtMjQuNzczIDIwLjE1Ni00NC45MjggNDQuOTI5LTQ0LjkyOHptLS4wMDEgMzQzLjUwNGMxMC41MzIgMCAxOS4xMDEgOC41NjggMTkuMTAxIDE5LjFzLTguNTY4IDE5LjEtMTkuMTAxIDE5LjFjLTEwLjUzMSAwLTE5LjEtOC41NjgtMTkuMS0xOS4xczguNTY5LTE5LjEgMTkuMS0xOS4xem04Ny42NDggMTguODVjMCA0OC4zMjktMzkuMzE4IDg3LjY0Ni04Ny42NDcgODcuNjQ2LTQ2LjgzMSAwLTg2LjEyOS0zOC4wNDQtODcuNjAyLTg0LjgwOC0uOTItMjkuMjE4IDEyLjcwNC01Ni44NzUgMzYuNDQzLTczLjk4MSAzLjkxMi0yLjgxOSA2LjIzLTcuMzQ3IDYuMjMtMTIuMTY5di00Ny43NzRjOS4xNDggNC44MiAxOS4xNzcgOC4wMzMgMjkuOTI4IDkuNTY4djc1LjAyYy0xOS43NTggNi4zNTUtMzQuMSAyNC45MDUtMzQuMSA0Ni43NDggMCAyNy4wNzQgMjIuMDI2IDQ5LjEgNDkuMSA0OS4xczQ5LjEwMS0yMi4wMjYgNDkuMTAxLTQ5LjFjMC0yMS44NDMtMTQuMzQyLTQwLjM5My0zNC4xMDEtNDYuNzQ4di03NS4wMTRjMTAuNzUtMS41MzEgMjAuNzgtNC43MzggMjkuOTI5LTkuNTUydjQ3Ljc1M2MwIDQuODIyIDIuMzE4IDkuMzUxIDYuMjMgMTIuMTY5IDIyLjg0OCAxNi40NjMgMzYuNDg5IDQzLjA1OSAzNi40ODkgNzEuMTQyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTczLjg1NyAzNzkuMTE3Yy0yNC44MTMgMC00NSAyMC4xODctNDUgNDVzMjAuMTg3IDQ1IDQ1IDQ1IDQ1LTIwLjE4NyA0NS00NS0yMC4xODYtNDUtNDUtNDV6bTAgNjBjLTguMjcxIDAtMTUtNi43MjktMTUtMTVzNi43MjktMTUgMTUtMTUgMTUgNi43MjkgMTUgMTUtNi43MjggMTUtMTUgMTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02NC44NjMgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU3IDE1LjM1NSA1Ljg1OCAyMS4yMTMgMCAyMS4wNDYtMjEuMDQ2IDIxLjA0Ni01NS4yOTEgMC03Ni4zMzgtOS4zNzEtOS4zNy05LjM3My0yNC41MzkgMC0zMy45MTEgNS44NTgtNS44NTggNS44NTgtMTUuMzU1IDAtMjEuMjEzLTUuODU3LTUuODU4LTE1LjM1NS01Ljg1Ny0yMS4yMTMgMC0yMS4wOTYgMjEuMDk2LTIxLjA5OCA1NS4yNDEgMCA3Ni4zMzggOS4zNDkgOS4zNDkgOS4zNDkgMjQuNTYxIDAgMzMuOTExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxOS42MzkgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU4IDE1LjM1NCA1Ljg1OCAyMS4yMTMgMCAyMS4wOTctMjEuMDk3IDIxLjA5OC01NS4yNCAwLTc2LjMzOS05LjM3MS05LjM3LTkuMzczLTI0LjUzOSAwLTMzLjkxMSA1Ljg1OC01Ljg1OCA1Ljg1OC0xNS4zNTUgMC0yMS4yMTMtNS44NTYtNS44NTgtMTUuMzU0LTUuODU3LTIxLjIxMyAwLTIxLjA5NiAyMS4wOTYtMjEuMDk4IDU1LjI0MSAwIDc2LjMzOCA5LjM3IDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Humidity:Mxe,Iron:cxe,Irrigation:uxe,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xNiAxOGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgNDJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNiA1MGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMzRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiA2Mmg4YTEgMSAwIDAgMCAxLTF2LTQ5aDZ2NDFhMSAxIDAgMCAwIC4yOTMuNzA3bDggOGExIDEgMCAwIDAgLjcwNy4yOTNoOGExIDEgMCAwIDAgLjcwNy0uMjkzbDgtOGExIDEgMCAwIDAgLjI5My0uNzA3di01MGExIDEgMCAwIDAgLTEtMWgtOGExIDEgMCAwIDAgLTEgMXY0OWgtNnYtNDlhMSAxIDAgMCAwIC0xLTFoLTE2YTEgMSAwIDAgMCAtLjcwNy4yOTNsLTggOGExIDEgMCAwIDAgLS4yOTMuNzA3djUwYTEgMSAwIDAgMCAxIDF6bTMzLTEzdi00NWg2djQ4LjU4NmwtNiA2em0tOCA1aDZ2NmgtNnptLTgtNXYtNDVoNnY1NC41ODZsLTYtNnptLTgtNDVoNnY2aC02em0tOCA1MXYtNDMuNTg2bDYtNnY1NC41ODZoLTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5IDU2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMzFoNXYyaC01eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4NCiAgICAgICAgPHBhdGggZD0ibTQuNSAzNS41aDV2MmgtNXoiIHRyYW5zZm9ybT0ibWF0cml4KC44IC0uNiAuNiAuOCAtMjAuNTA1IDExLjUwNSkiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDMxaDV2MmgtNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4NCiAgICAgICAgPHBhdGggZD0ibTU2IDM0aDJ2NWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC42IC0uOCAuOCAuNiAtNi40IDYwLjIpIi8+DQogICAgPC9nPg0KPC9zdmc+",Light:lxe,Lightings:Nxe,Lock:Lxe,Louvre:gxe,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3IDU0YzUuNTE0IDAgMTAtNC40ODYgMTAtMTBzLTQuNDg2LTEwLTEwLTEwLTEwIDQuNDg2LTEwIDEwIDQuNDg2IDEwIDEwIDEwem0tNy45MzEtMTFjLjE4My0xLjQ1OC43NTktMi43OTIgMS42MTktMy44OThsMS4zNjIgMS4zNjMgMS40MTQtMS40MTQtMS4zNjItMS4zNjJjMS4xMDYtLjg2IDIuNDQtMS40MzYgMy44OTgtMS42MTl2MS45M2gydi0xLjkzMWMxLjQ1OC4xODMgMi43OTIuNzU5IDMuODk4IDEuNjE5bC0xLjM2MiAxLjM2MiAxLjQxNCAxLjQxNCAxLjM2Mi0xLjM2M2MuODYgMS4xMDYgMS40MzYgMi40NCAxLjYxOSAzLjg5OGgtMS45MzF2MmgxLjkzMWMtLjE4MyAxLjQ1OC0uNzU5IDIuNzkyLTEuNjE5IDMuODk4bC0xLjM2Mi0xLjM2My0xLjQxNCAxLjQxNCAxLjM2MiAxLjM2MmMtMS4xMDYuODYtMi40NCAxLjQzNi0zLjg5OCAxLjYxOXYtMS45MjloLTJ2MS45MzFjLTEuNDU4LS4xODMtMi43OTItLjc1OS0zLjg5OC0xLjYxOWwxLjM2Mi0xLjM2Mi0xLjQxNC0xLjQxNC0xLjM2MiAxLjM2M2MtLjg2LTEuMTA2LTEuNDM2LTIuNDQtMS42MTktMy44OThoMS45MzF2LTJoLTEuOTMxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA0OGMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMC02YzEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMi0yLS44OTctMi0yIC44OTctMiAyLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02LjY1MSAxNS42MzVjLTEuNzU3IDIuMTI1LTEuNDU4IDUuMjgyLjY2NyA3LjA0bDQuNjI0IDMuODIzYy4xODcuMTU0LjQxMi4yMjkuNjM3LjIyOS4yODggMCAuNTczLS4xMjQuNzcxLS4zNjIgMS43NTctMi4xMjUgMS40NTgtNS4yODItLjY2Ny03LjA0bC00LjYyNC0zLjgyM2MtLjQyNi0uMzUyLTEuMDU2LS4yOTItMS40MDguMTMzem01LjY2MiA4LjU3Ni0zLjcyMS0zLjA3N2MtMS4wMDQtLjgzMS0xLjMyOS0yLjE4NS0uOTA1LTMuMzQ1bDMuNzIxIDMuMDc3YzEuMDA1LjgzMSAxLjMyOSAyLjE4NS45MDUgMy4zNDV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Music:jxe,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ1NyAwaC00MDJjLTMwLjMyNyAwLTU1IDI0LjY3My01NSA1NXY0NTdoNDMydi00MDguMDM1YzcuNTA3IDMuODQ4IDE2IDYuMDM1IDI1IDYuMDM1IDMwLjMyNyAwIDU1LTI0LjY3MyA1NS01NXMtMjQuNjczLTU1LTU1LTU1em0tNDAyIDMwaDM1My4wMzVjLTMuODQ4IDcuNTA3LTYuMDM1IDE2LTYuMDM1IDI1djdoLTM3MnYtN2MwLTEzLjc4NSAxMS4yMTUtMjUgMjUtMjV6bS0yNSAyNzJ2LTMwaDM3MnYzMHptMzcyIDMwdjMwaC0zNzJ2LTMwem0tMzcyLTkwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMC02MHYtMzBoMzcydjMwem0wIDM2MHYtOTBoMzcydjkwem00MjctNDAyYy0xMy43ODUgMC0yNS0xMS4yMTUtMjUtMjVzMTEuMjE1LTI1IDI1LTI1IDI1IDExLjIxNSAyNSAyNS0xMS4yMTUgMjUtMjUgMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyIDQyMmgzMHYzMGgtMzB6Ii8+DQogICAgPC9nPg0KPC9zdmc+",People:yxe,Pool:Txe,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAzYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMC4xMzIgMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTQtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk3LjA5Ny0uMjI1LjE0Ni0uMzUzLjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMuODY4IDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMi41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwLjU3MyAyMGMtLjA1OSAwLS4xMTctLjAxLS4xNzUtLjAzMS0uMjE5LS4wODItLjM1Mi0uMzA0LS4zMjEtLjUzNGwuODUzLTYuNDM1aC0zLjQzYy0uMTg5IDAtLjM2Mi0uMTA3LS40NDctLjI3NnMtLjA2Ny0uMzcyLjA0Ny0uNTI0bDYtOGMuMTM5LS4xODYuMzg2LS4yNTIuNTk3LS4xNi4yMTIuMDkxLjMzNS4zMTQuMjk3LjU0MmwtLjkwNCA1LjQxOGgzLjQxYy4xODQgMCAuMzUzLjEwMS40NC4yNjNzLjA3OC4zNTgtLjAyMi41MTNsLTUuOTI3IDljLS4wOTUuMTQzLS4yNTQuMjI0LS40MTguMjI0em0tMi4wNzMtOGgzYy4xNDUgMCAuMjgxLjA2My4zNzYuMTcxLjA5NS4xMDcuMTM5LjI1Mi4xMi4zOTVsLS42NDEgNC44MzggNC4yMTctNi40MDRoLTMuMDcyYy0uMTQ3IDAtLjI4Ni0uMDY0LS4zODItLjE3Ny0uMDk1LS4xMTItLjEzNi0uMjYxLS4xMTEtLjQwNWwuNjYzLTMuOTc4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Printer:Dxe,Pump:dxe,Receiver:hxe,Sconces:zxe,Security:wxe,Shading:Ixe,Shutters:Cxe,SmokeDetector:pxe,Sockets:Axe,Speaker:mxe,Stove:fxe,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTk3LjUgMjIwLjM2MS0xNS45MTQgMTUuOTE0YTYgNiAwIDEgMCA4LjQ4NCA4LjQ4NmwxNS45MTUtMTUuOTE1YTYgNiAwIDEgMCAtOC40ODQtOC40ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzUuNSAyNDIuNTA4LTE1LjkxLTE1LjkxNGE2IDYgMCAwIDAgLTguNDg2IDguNDg1bDE1LjkxNCAxNS45MTVhNiA2IDAgMCAwIDguNDg2LTguNDg2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtODYuODI2IDE3MWE2IDYgMCAwIDAgLTYtNmgtMjQuODM3YTYgNiAwIDAgMCAwIDEyaDI0LjgzN2E2IDYgMCAwIDAgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzguODUyIDQ1MS45NjlhNDEuODM3IDQxLjgzNyAwIDAgMCAtNDEuMTY2LTM1Ljk2OWgtMjguNjg2di0zMjYuNjg0YTY5LjMwOSA2OS4zMDkgMCAwIDAgLTEyMS43LTQ1LjM4MiA1Ni4wMjIgNTYuMDIyIDAgMCAwIC00OC43MDkgNi4zNDlsLTgxLjUxOSA1NC4wNjhhNiA2IDAgMCAwIC0uOTI1IDkuMjQybDIzLjQyMiAyMy40MjMtMS40NDIgMS40NDJhMzUuMTg4IDM1LjE4OCAwIDAgMCA0OS43NjMgNDkuNzYzbDEuNDQyLTEuNDQyIDIzLjQyMiAyMy40MjFhNiA2IDAgMCAwIDQuMjQ2IDEuNzU5Yy4yIDAgLjQtLjAxLjYtLjAzYTYgNiAwIDAgMCA0LjQtMi42NTRsNTQuMDY3LTgxLjUxOWE1Ni4wODggNTYuMDg4IDAgMCAwIDMuNDg4LTU1LjY1NiAyNi4zODYgMjYuMzg2IDAgMCAxIDQ2LjQ0NSAxNy4yMTZ2MzI2LjY4NGgtMjkuMTgyYTQyIDQyIDAgMCAwIC00MS4zNDMgMzYuMDc2IDI2LjQgMjYuNCAwIDAgMCAtMjIuNDc1IDI1Ljk1NnY3Ljk2OGE2LjI4MiA2LjI4MiAwIDAgMCA2LjMxOSA2aDIxNi42OTJhNS45OTIgNS45OTIgMCAwIDAgNS45ODktNnYtNy45NjhhMjYuMjQ3IDI2LjI0NyAwIDAgMCAtMjMuMTQ4LTI2LjA2M3ptLTI1OS40NTItMjcyLjIzNGEyMy4xODggMjMuMTg4IDAgMCAxIC0zMi43OTMtMzIuNzkybDEuNDQzLTEuNDQzIDMyLjc5MyAzMi43OTN6bTM2LjY0OCAxNi43OTQtODYuMjMtODYuMjI5IDE4LjA5My0xMiA4MC4xNCA4MC4xNHptNTAuMDEyLTc1LjQtMzEuMjQ2IDQ3LjExLTc2LjctNzYuNzA1IDQ3LjExLTMxLjI0NmE0My44OTQgNDMuODk0IDAgMCAxIDYwLjg0IDYwLjg0MXptMzMuNTI4LTcwLjI3MmEzOC4yNTIgMzguMjUyIDAgMCAwIC0yNi42ODggMTAuODIzIDU0LjYyIDU0LjYyIDAgMCAwIC0xNC4xODYtMTIuNDM1IDU3LjMxIDU3LjMxIDAgMCAxIDk4LjI4NiA0MC4wNzF2MzI2LjY4NGgtMTl2LTMyNi42ODRhMzguNDYxIDM4LjQ2MSAwIDAgMCAtMzguNDA5LTM4LjQ2NHptLTIuNzcgMzc3LjE0M2gxMDAuODY4YzE0LjI1OSAwIDI2LjE5NSAxMSAyOC45NzYgMjRoLTE1OC44MTljMi43ODEtMTMgMTQuNzE2LTI0IDI4Ljk3NS0yNHptMTUzLjE4MiA1MmgtMjA1di0xLjk2OGExNC4zMiAxNC4zMiAwIDAgMSAxNC4zMTktMTQuMDMyaDE3Ni42OTJhMTQuMDM0IDE0LjAzNCAwIDAgMSAxMy45ODkgMTQuMDMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA1IDM4MS4wMzFhNiA2IDAgMCAwIDEyIDB2LTc1LjgwNmE2IDYgMCAwIDAgLTEyIDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMzUyLDM4NS40MDZWNTMuMzMzQzM1MiwyMy45MjcsMzI4LjA3MywwLDI5OC42NjcsMHMtNTMuMzMzLDIzLjkyNy01My4zMzMsNTMuMzMzdjMzMi4wNzMNCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2Nw0KCQkJCUMzNzMuMzMzLDQxOC4wMzEsMzY1LjYxNSwzOTkuMzY1LDM1MiwzODUuNDA2eiBNMjk4LjY2Nyw0OTAuNjY3Yy0yOS40MDYsMC01My4zMzMtMjMuOTI3LTUzLjMzMy01My4zMzMNCgkJCQljMC0xNS4xMDQsNi4zMjMtMjkuMTI1LDE3LjgxMy0zOS40NjljMi4yNC0yLjAzMSwzLjUyMS00LjkwNiwzLjUyMS03LjkyN1Y1My4zMzNjMC0xNy42NDYsMTQuMzU0LTMyLDMyLTMyDQoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzDQoJCQkJQzM1Miw0NjYuNzQsMzI4LjA3Myw0OTAuNjY3LDI5OC42NjcsNDkwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOS4zMzMsNDA3LjI5OFYyMjRjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3YxODMuMjk4DQoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzINCgkJCQlDMzMwLjY2Nyw0MjMuNDQ1LDMyMS43MjMsNDExLjcxNiwzMDkuMzMzLDQwNy4yOTh6IE0yOTguNjY3LDQ0OGMtNS44ODUsMC0xMC42NjctNC43ODEtMTAuNjY3LTEwLjY2Nw0KCQkJCWMwLTUuODg1LDQuNzgxLTEwLjY2NywxMC42NjctMTAuNjY3YzUuODg1LDAsMTAuNjY3LDQuNzgxLDEwLjY2NywxMC42NjdDMzA5LjMzMyw0NDMuMjE5LDMwNC41NTIsNDQ4LDI5OC42NjcsNDQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0DQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDM0Ni4xMDQsMjE5LjIyOSwzNDEuMzMzLDIxMy4zMzMsMzQxLjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMjk4LjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywyNTZIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDI2MC43NzEsMjE5LjIyOSwyNTYsMjEzLjMzMywyNTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMjM0LjY2NywxNDkuMzMzLDIzNC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDEwNi42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDE3MC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDE3NS40MzgsMjE5LjIyOSwxNzAuNjY3LDIxMy4zMzMsMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxMzIuNzcxLDIxOS4yMjksMTI4LDIxMy4zMzMsMTI4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Tv:Oxe,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wMjczNDQtMjIuMDgyMDMxLTE3LjkxNzk2OS0zOS45NzI2NTYtNDAtNDAtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGMzMC45MTQwNjIuMDM1MTU2IDU1Ljk2NDg0NCAyNS4wODU5MzggNTYgNTYgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3MiA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDQ2ODc1LTM5Ljc0NjA5NC0zMi4yNTM5MDYtNzEuOTUzMTI1LTcyLTcyLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjNDguNTc4MTI1LjA1ODU5MzggODcuOTQxNDA2IDM5LjQyMTg3NSA4OCA4OCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wMzUxNTYtMzAuOTE0MDYyIDI1LjA4NTkzOC01NS45NjQ4NDQgNTYtNTYgNC40MTc5NjkgMCA4IDMuNTgyMDMxIDggOHMtMy41ODIwMzEgOC04IDhjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04IDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wNTg1OTM4LTQ4LjU3ODEyNSAzOS40MjE4NzUtODcuOTQxNDA2MiA4OC04OCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOGMtMzkuNzQ2MDk0LjA0Njg3NS03MS45NTMxMjUgMzIuMjUzOTA2LTcyIDcyIDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDQxNmMyNi41MDc4MTIgMCA0OC0yMS40OTIxODggNDgtNDhzLTIxLjQ5MjE4OC00OC00OC00OC00OCAyMS40OTIxODgtNDggNDhjLjAyNzM0NCAyNi41IDIxLjUgNDcuOTcyNjU2IDQ4IDQ4em0wLTgwYzE3LjY3MTg3NSAwIDMyIDE0LjMyODEyNSAzMiAzMnMtMTQuMzI4MTI1IDMyLTMyIDMyLTMyLTE0LjMyODEyNS0zMi0zMiAxNC4zMjgxMjUtMzIgMzItMzJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxNy45NDUzMTIgMTUydi4wNDY4NzVoLjA1NDY4OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDAgNDhjLTEwMS4yNjU2MjUtLjAxMTcxOS0xODguOTQ1MzEyIDcwLjMzMjAzMS0yMTAuODkwNjI1IDE2OS4xODc1LTIxLjk0NTMxMyA5OC44NTkzNzUgMjcuNzM0Mzc1IDE5OS42OTE0MDYgMTE5LjQ5MjE4NyAyNDIuNTMxMjUgNTcuOTI1NzgyIDI3LjAzNTE1NiAxMjQuODUxNTYzIDI3LjAzNTE1NiAxODIuNzgxMjUgMCA5MS43NTc4MTMtNDIuODM1OTM4IDE0MS40MzM1OTQtMTQzLjY2NDA2MiAxMTkuNDkyMTg4LTI0Mi41MjM0MzgtMjEuOTQxNDA2LTk4Ljg1NTQ2OC0xMDkuNjEzMjgxLTE2OS4xOTkyMTgtMjEwLjg3NS0xNjkuMTk1MzEyem0wIDE2YzEwNy4yODUxNTYuMTMyODEyIDE5NS4zOTg0MzggODQuODA0Njg4IDE5OS44MDA3ODEgMTkyaC0xNmMtNC41ODIwMzEtOTguMTc5Njg4LTg1LjUxNTYyNS0xNzUuNDIxODc1LTE4My44MDA3ODEtMTc1LjQyMTg3NXMtMTc5LjIxODc1IDc3LjI0MjE4Ny0xODMuODAwNzgxIDE3NS40MjE4NzVoLTE2YzQuNDAyMzQzLTEwNy4xOTUzMTIgOTIuNTE1NjI1LTE5MS44NjcxODggMTk5LjgwMDc4MS0xOTJ6bTI5LjExMzI4MSAyNDUuNDk2MDk0YzMwLjY4MzU5NCAxMS45ODgyODEgNTAuODgyODEzIDQxLjU1ODU5NCA1MC44ODY3MTkgNzQuNTAzOTA2djI3LjY0MDYyNWMtNDkuODc4OTA2IDI3LjE0NDUzMS0xMTAuMTIxMDk0IDI3LjE0NDUzMS0xNjAgMHYtMjcuNjQwNjI1Yy4wMDM5MDYtMjYuNDI5Njg4IDEzLjA2MjUtNTEuMTUyMzQ0IDM0Ljg4NjcxOS02Ni4wNTQ2ODggMjEuODI4MTI1LTE0LjkwNjI1IDQ5LjYwOTM3NS0xOC4wNjY0MDYgNzQuMjI2NTYyLTguNDQ5MjE4em02Ni44ODY3MTkgNzQuNTAzOTA2YzAtNTMuMDE5NTMxLTQyLjk4MDQ2OS05Ni05Ni05NnMtOTYgNDIuOTgwNDY5LTk2IDk2djE3LjczNDM3NWMtMzguODYzMjgxLTI2Ljk4MDQ2OS02NC41MDc4MTItNjkuMTMyODEzLTcwLjYwMTU2Mi0xMTYuMDQ2ODc1LTYuMDk3NjU3LTQ2LjkxNzk2OSA3LjkyNTc4MS05NC4yMjI2NTYgMzguNjAxNTYyLTEzMC4yMzgyODF2MzYuNTUwNzgxYy4wMjczNDQgMjIuMDgyMDMxIDE3LjkxNzk2OSAzOS45NzI2NTYgNDAgNDBoMTc2YzIyLjA4MjAzMS0uMDI3MzQ0IDM5Ljk3MjY1Ni0xNy45MTc5NjkgNDAtNDB2LTM2LjU1MDc4MWMzMC42NzU3ODEgMzYuMDE1NjI1IDQ0LjY5OTIxOSA4My4zMjAzMTIgMzguNjAxNTYyIDEzMC4yMzgyODEtNi4wOTM3NSA0Ni45MTQwNjItMzEuNzM4MjgxIDg5LjA2NjQwNi03MC42MDE1NjIgMTE2LjA0Njg3NXptLTIwOC0yNDQuODYzMjgxYzYzLjU4OTg0NC01Ny41MTU2MjUgMTYwLjQxMDE1Ni01Ny41MTU2MjUgMjI0IDB2NTIuODYzMjgxYzAgMTMuMjUzOTA2LTEwLjc0NjA5NCAyNC0yNCAyNGgtMTc2Yy0xMy4yNTM5MDYgMC0yNC0xMC43NDYwOTQtMjQtMjR6bS04Ny43MTA5MzggMTMyLjg2MzI4MWgxNmMyLjgzNTkzOCA2MS4wMzkwNjIgMzUuNjcxODc2IDExNi43MjI2NTYgODcuNzEwOTM4IDE0OC43NTM5MDZ2MTguNjQ0NTMyYy02MS40Mzc1LTMzLjg1MTU2My0xMDAuNzUzOTA2LTk3LjMxMjUtMTAzLjcxMDkzOC0xNjcuMzk4NDM4em0xMTkuNzEwOTM4IDE3NS4yNDYwOTR2LTE3LjY0NDUzMmM1MC41MDM5MDYgMjQuNTYyNSAxMDkuNDk2MDk0IDI0LjU2MjUgMTYwIDB2MTcuNjcxODc2Yy01MC45OTYwOTQgMjIuMzM1OTM3LTEwOS4wMDM5MDYgMjIuMzM1OTM3LTE2MCAwem0xNzYtNy44NDc2NTZ2LTE4LjY0NDUzMmM1Mi4wNDI5NjktMzIuMDI3MzQ0IDg0Ljg4NjcxOS04Ny43MTA5MzcgODcuNzI2NTYyLTE0OC43NTM5MDZoMTZjLTIuOTYwOTM3IDcwLjA4OTg0NC00Mi4yODUxNTYgMTMzLjU1MDc4MS0xMDMuNzI2NTYyIDE2Ny4zOTg0Mzh6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Ventilation:Exe,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00ODggMGgtNDAwYy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djI5Ni44MzIwMzFjLTIuNjAxNTYyLS41MjczNDMtNS4yNzM0MzgtLjgzMjAzMS04LS44MzIwMzEtMjIuMDU0Njg4IDAtNDAgMTcuOTQ1MzEyLTQwIDQwdi4xNjc5NjljLTcuODI0MjE5IDUuODg2NzE5LTEzLjE1MjM0NCAxNC4zOTg0MzctMTUuMTIxMDk0IDIzLjgzMjAzMWgtOC44Nzg5MDZjLTQuNDI1NzgxIDAtOCAzLjU4NTkzOC04IDh2MzJjMCA0LjQxNDA2MiAzLjU3NDIxOSA4IDggOGg4djI0YzAgMzAuODc4OTA2IDI1LjEyODkwNiA1NiA1NiA1Nmg0MTZjNC40MjU3ODEgMCA4LTMuNTg1OTM4IDgtOHYtNDgwYzAtNC40MTQwNjItMy41NzQyMTktOC04LTh6bS04IDE2djgwaC0zODR2LTgwem0tNDM1LjY1NjI1IDMzOS4xNzU3ODFjMi44Mzk4NDQtMS42MDE1NjIgNC40MzM1OTQtNC43NjE3MTkgNC4wMTU2MjUtOGwtLjEyODkwNi0uOTI5Njg3Yy0uMTAxNTYzLS43MzQzNzUtLjIzMDQ2OS0xLjQ2ODc1LS4yMzA0NjktMi4yNDYwOTQgMC0xMy4yMzA0NjkgMTAuNzY5NTMxLTI0IDI0LTI0IDguNDQ5MjE5IDAgMTYuMTIxMDk0IDQuNDA2MjUgMjAuNTI3MzQ0IDExLjgwMDc4MSAxLjE5OTIxOCAyLjAxNTYyNSAzLjIzNDM3NSAzLjQwNjI1IDUuNTUwNzgxIDMuNzkyOTY5IDIuMzI4MTI1LjM5ODQzOCA0LjY5OTIxOS0uMjY1NjI1IDYuNDk2MDk0LTEuNzkyOTY5IDMuMTIxMDkzLTIuNjQ4NDM3IDguMzIwMzEyLTUuODAwNzgxIDE1LjQyNTc4MS01LjgwMDc4MSA4LjU1ODU5NCAwIDE2LjUzNTE1NiA0LjcyNjU2MiAyMC44MTY0MDYgMTIuMzM1OTM4IDEuNjY0MDYzIDIuOTc2NTYyIDUuMDU0Njg4IDQuNTU4NTkzIDguMzgyODEzIDMuOTYwOTM3IDguMzUxNTYyLTEuNDg4MjgxIDE2LjkwNjI1IDQuMjQ2MDk0IDE4LjQ5NjA5MyAxMi43NDIxODcuNTcwMzEzIDMuMDM5MDYzIDIuODM5ODQ0IDUuNDg4MjgyIDUuODM5ODQ0IDYuMjczNDM4IDMuMDE1NjI1LjgwMDc4MSA2LjE2Nzk2OS0uMjM0Mzc1IDguMTY3OTY5LTIuNjA5Mzc1IDQuNjE3MTg3LTUuNTI3MzQ0IDExLjI4OTA2My04LjcwMzEyNSAxOC4yOTY4NzUtOC43MDMxMjUgMTAuNDE0MDYyIDAgMTkuMjE0ODQ0IDYuNzEwOTM4IDIyLjUyNzM0NCAxNmgtMTg4LjkyNTc4MmMxLjk0MTQwNy01LjI5Njg3NSA1LjYwNTQ2OS05LjkzNzUgMTAuNzQyMTg4LTEyLjgyNDIxOXptMTA3LjY1NjI1LTc1LjE3NTc4MWMwLTc0Ljk5MjE4OCA2MS4wMDc4MTItMTM2IDEzNi0xMzZzMTM2IDYxLjAwNzgxMiAxMzYgMTM2LTYxLjAwNzgxMiAxMzYtMTM2IDEzNmMtMTEuMjg5MDYyIDAtMjIuMzI4MTI1LTEuNTE5NTMxLTMzLjA3ODEyNS00LjIxNDg0NC42Mjg5MDYtMS4xNDQ1MzEgMS4wNzgxMjUtMi4zOTQ1MzEgMS4wNzgxMjUtMy43ODUxNTZ2LTEyLjMzNTkzOGMxMC4zNjcxODggMi44NjMyODIgMjEuMDc4MTI1IDQuMzM1OTM4IDMyIDQuMzM1OTM4IDY2LjE2Nzk2OSAwIDEyMC01My44MzIwMzEgMTIwLTEyMHMtNTMuODMyMDMxLTEyMC0xMjAtMTIwLTEyMCA1My44MzIwMzEtMTIwIDEyMGMwIDIxLjA4OTg0NCA1LjQ4MDQ2OSA0MS40MzM1OTQgMTUuODI0MjE5IDU5LjUwMzkwNi0xLjc5Mjk2OS44MDg1OTQtMy41MzUxNTcgMS43MjY1NjMtNS4xOTE0MDcgMi44MDA3ODItNC4wNTg1OTMtNi4xMTMyODItMTAuMTUyMzQzLTEwLjYzMjgxMy0xNy4yMDcwMzEtMTIuODI0MjE5LTYuMTY3OTY5LTE1Ljc2MTcxOS05LjQyNTc4MS0zMi4zNTkzNzUtOS40MjU3ODEtNDkuNDgwNDY5em00OC40NjQ4NDQgNTYuMDQ2ODc1Yy02LjM2NzE4OC05LjkxMDE1Ni0xMS0yMC43MDMxMjUtMTMuNjc5Njg4LTMyLjA0Njg3NWg1LjIxNDg0NGM3LjI4OTA2MiAwIDE0LjE1MjM0NC0yLjgzOTg0NCAxOS4zMTI1LThsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzUuMTY3OTY5IDUuMTYwMTU2IDEyLjAyMzQzOCA4IDE5LjMxMjUgOGg1LjA5NzY1NmMtMTAuODgyODEyIDQ1Ljc5Mjk2OS01Mi4wMjczNDQgODAtMTAxLjA5NzY1NiA4MC0xMC45NzY1NjIgMC0yMS42OTUzMTItMS43OTI5NjktMzItNS4xMjg5MDZ2LTIuODcxMDk0YzAtNC40MTQwNjItMy41NzQyMTktOC04LThoLTguODA4NTk0Yy0zLjY4NzUtMTguMDg5ODQ0LTE5LjYyNS0zMS43MjY1NjItMzguNzI2NTYyLTMxLjk1MzEyNXptLTE2LjQ2NDg0NC01Ni4wNDY4NzVjMC01Ny4zNDM3NSA0Ni42NTYyNS0xMDQgMTA0LTEwNHMxMDQgNDYuNjU2MjUgMTA0IDEwNGMwIDIuNzAzMTI1LS4xOTkyMTkgNS4zNTE1NjItLjQwNjI1IDhoLTcuNTkzNzVjLTMuMDIzNDM4IDAtNS44NTU0NjktMS4xNzU3ODEtOC0zLjMxMjVsLTQuNjg3NS00LjY4NzVjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtNC4yODEyNSA0LjI4MTI1LTExLjcxODc1IDQuMjgxMjUtMTYgMGwtNC42ODc1LTQuNjc5Njg4Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy0yLjE0NDUzMSAyLjE0NDUzMS00Ljk3NjU2MiAzLjMyMDMxMi04IDMuMzIwMzEyaC03LjY5NTMxMmMtLjE5OTIxOS0yLjY0ODQzOC0uMzA0Njg4LTUuMzIwMzEyLS4zMDQ2ODgtOHptLTE2OCAxMDRoMjI0djE2aC0yMjR6bTE2MCA5NmgtMTA0Yy0yMi4wNTQ2ODggMC00MC0xNy45NDUzMTItNDAtNDB2LTI0aDE5MnYyNGMwIDIyLjA1NDY4OC0xNy45NDUzMTIgNDAtNDAgNDB6bTQ3LjExMzI4MSAwYzEwLjQwNjI1LTEwLjE3NTc4MSAxNi44ODY3MTktMjQuMzM1OTM4IDE2Ljg4NjcxOS00MHYtMTUuODcxMDk0YzE1LjQyNTc4MSA1LjE0NDUzMiAzMS41MDM5MDYgNy44NzEwOTQgNDggNy44NzEwOTQgODMuODE2NDA2IDAgMTUyLTY4LjE4MzU5NCAxNTItMTUycy02OC4xODM1OTQtMTUyLTE1Mi0xNTItMTUyIDY4LjE4MzU5NC0xNTIgMTUyYzAgMTMuMDE1NjI1IDEuODAwNzgxIDI1LjczNDM3NSA1LjAwNzgxMiAzOC4xMTMyODEtNi4yMjI2NTYtMy45MDYyNS0xMy40NjQ4NDMtNi4xMTMyODEtMjEuMDA3ODEyLTYuMTEzMjgxLTYuNTM1MTU2IDAtMTMgMS42NzE4NzUtMTguNzg1MTU2IDQuODE2NDA2LTEuNTg5ODQ0LTEuNzI2NTYyLTMuMzc1LTMuMjE0ODQ0LTUuMjE0ODQ0LTQuNjI1di0yMDAuMTkxNDA2aDM4NHYzNjh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMCA4MGMxMy4yMzA0NjkgMCAyNC0xMC43Njk1MzEgMjQtMjRzLTEwLjc2OTUzMS0yNC0yNC0yNC0yNCAxMC43Njk1MzEtMjQgMjQgMTAuNzY5NTMxIDI0IDI0IDI0em0wLTMyYzQuNDE0MDYyIDAgOCAzLjU5Mzc1IDggOHMtMy41ODU5MzggOC04IDgtOC0zLjU5Mzc1LTgtOCAzLjU4NTkzOC04IDgtOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQgODBjMTMuMjMwNDY5IDAgMjQtMTAuNzY5NTMxIDI0LTI0cy0xMC43Njk1MzEtMjQtMjQtMjQtMjQgMTAuNzY5NTMxLTI0IDI0IDEwLjc2OTUzMSAyNCAyNCAyNHptMC0zMmM0LjQxNDA2MiAwIDggMy41OTM3NSA4IDhzLTMuNTg1OTM4IDgtOCA4LTgtMy41OTM3NS04LTggMy41ODU5MzgtOCA4LTh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00NDggMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxNiA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zODQgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2OC45OSAxODcuNDk5Yy01Ljc1MS05Ljk1OS0yMC4xOTYtMTAuMDE2LTI1Ljk3OSAwLTIxLjgxIDQwLjYxMS0zMi4wMTEgNDguMDYxLTMyLjAxMSA2Ny41MDEgMCAyNC44MTMgMjAuMTg3IDQ1IDQ1IDQ1czQ1LTIwLjE4NyA0NS00NWMwLTE5LjQ1OC0xMC40ODYtMjcuNDIxLTMyLjAxLTY3LjUwMXptLTEyLjk5IDgyLjUwMWMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNSAwLTYuNjg3IDMuMDQyLTguMjE1IDE1LTMwLjAwNSAxMS45NzQgMjEuODE4IDE1IDIzLjMxOCAxNSAzMC4wMDUgMCA4LjI3MS02LjcyOSAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNjcsMTg1LjMyNXYyODFhMzUuNTQxLDM1LjU0MSwwLDAsMCwzNS40NjksMzUuNjMxTDMxOS4wNiw1MDJoLjAwNkEzNS44OTEsMzUuODkxLDAsMCwwLDM1NSw0NjYuMzY5VjQ2NGg2MC42MmMzNC44MzcsMCw2My4zOC0yNy44Nyw2My4zOC02Mi43MTVWMTg5LjczYzAtMzQuODQ0LTI4LjU0My02Mi43My02My4zOC02Mi43M0gzNTV2LTkuNjg5YzAtLjA3NC0uMTYtLjE0Ni0uMTYyLS4yMTlzLS4wNjUtLjExNC0uMDY1LS4xODdBNjIuMDQ0LDYyLjA0NCwwLDAsMCwyOTIuNzYzLDU1SDIxOVY0NGgxNy44MjhDMjQ1LjY1LDQ0LDI1MywzNy4yLDI1MywyOC4zNzRWMjZhMTYuMTY3LDE2LjE2NywwLDAsMC0xNi4xNzItMTZIMTg5LjcwNkExNS43NywxNS43NywwLDAsMCwxNzQsMjZ2Mi4zNzRBMTUuNDU0LDE1LjQ1NCwwLDAsMCwxODkuNzA2LDQ0SDIwN1Y1NUgxMzMuNzcxQzEwMS41LDU1LDc0LjkyNCw4MCw3Mi4xLDExMUgzOS4yYTYuMDU2LDYuMDU2LDAsMCwwLTUuMiw4LjkyOVpNMzU1LDE2MWg2MC42MkEyOC41ODEsMjguNTgxLDAsMCwxLDQ0NCwxODkuNzNWNDAxLjI4NUEyOC41NjgsMjguNTY4LDAsMCwxLDQxNS42Miw0MzBIMzU1Wm0wLDI4MWg2MC42MkE0MC41ODEsNDAuNTgxLDAsMCwwLDQ1Niw0MDEuMjg1VjE4OS43M0E0MC41OTQsNDAuNTk0LDAsMCwwLDQxNS42MiwxNDlIMzU1VjEzOWg2MC42MmMyOC4yMjEsMCw1MS4zOCwyMi41LDUxLjM4LDUwLjczVjQwMS4yODVDNDY3LDQyOS41MTMsNDQzLjg0MSw0NTIsNDE1LjYyLDQ1MkgzNTVabS0xMiwyNC4zNjlBMjMuODkxLDIzLjg5MSwwLDAsMSwzMTkuMDY2LDQ5MGgwbC0yMTYuNTkxLS4wNDFBMjMuNTI3LDIzLjUyNywwLDAsMSw3OSw0NjYuMzI4VjQ1Mi41N2wyNjQsLjA0OVpNMTkwLDMyYTQsNCwwLDAsMS00LTRWMjZhNCw0LDAsMCwxLDQtNGg0N2E0LDQsMCwwLDEsNCw0djJhNCw0LDAsMCwxLTQsNFpNMTMzLjc3MSw2N0gyOTIuNzYzYTQ5LjgyOSw0OS44MjksMCwwLDEsNDkuNTc2LDQ0SDg0LjJBNDkuODMsNDkuODMsMCwwLDEsMTMzLjc3MSw2N1pNMzQzLDEyM1Y0NDAuNjE5TDc5LDQ0MC41N1YxODMuOWE2Ljg1Myw2Ljg1MywwLDAsMC0uOC0yLjg1MUw0OC45MzQsMTIzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMzE0LjkxM2E2LDYsMCwwLDAsNi02VjIzMy4xMDZhNiw2LDAsMCwwLTEyLDB2NzUuODA3QTYsNiwwLDAsMCw5OSwzMTQuOTEzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMjE4LjcyNmE2LDYsMCwwLDAsNi02di00LjgzNGE2LDYsMCwwLDAtMTIsMHY0LjgzNEE2LDYsMCwwLDAsOTksMjE4LjcyNloiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Water:_xe,Weather:xxe,Window:Sxe},vxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Yxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI2MC45NDUsMTQ0Ljk3OWMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOWwtNDcuNDg0LDgxLjMzM2MtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTYNCgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMNCgkJQzI2Ni4wNzgsMTQ2LjM5NSwyNjMuNjEyLDE0NC45NzksMjYwLjk0NSwxNDQuOTc5eiBNMjI2LjUyNCwyMjYuMzEybDM0LjQyMS01OC45NThsMzQuNDIsNTguOTU4SDIyNi41MjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTUuMjg3LDI1NC42OWgtMTc1LjYybDgxLjI3OC0xMzkuMjE4bDYyLjkyNiwxMDcuNzgzYzIuMDg4LDMuNTc4LDYuNjgzLDQuNzg0LDEwLjI1OCwyLjY5Ng0KCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMNCgkJYy0wLjA0NC0wLjA1OS0wLjA4Ni0wLjExOC0wLjEzMS0wLjE3NmMtMC4xODMtMC4yMy0wLjM3Ni0wLjQ1MS0wLjU4NC0wLjY1OGMtMC4wMjQtMC4wMjQtMC4wNTEtMC4wNDUtMC4wNzYtMC4wNjkNCgkJYy0wLjE4Ni0wLjE4LTAuMzgzLTAuMzQ5LTAuNTg3LTAuNTA5Yy0wLjA2NS0wLjA1MS0wLjEzMi0wLjEtMC4xOTktMC4xNDhjLTAuMTg3LTAuMTM3LTAuMzc5LTAuMjY0LTAuNTc4LTAuMzg0DQoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMg0KCQljLTAuMjYtMC4xMDYtMC41MjgtMC4xOTYtMC44MDItMC4yNzNjLTAuMDczLTAuMDIxLTAuMTQ2LTAuMDM4LTAuMjItMC4wNTZjLTAuMjIyLTAuMDU1LTAuNDQ3LTAuMS0wLjY3Ny0wLjEzNQ0KCQljLTAuMDc5LTAuMDEyLTAuMTU3LTAuMDI2LTAuMjM2LTAuMDM2Yy0wLjI5Ny0wLjAzNi0wLjU5OC0wLjA2LTAuOTA2LTAuMDZIMTAxLjg0MmMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOQ0KCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDENCgkJczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM1Ljg4OWMwLjAwOCwwLDAuMDE1LDAuMDAxLDAuMDIzLDAuMDAxczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM2LjU4NmgxODguNjg0DQoJCWM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41UzM1OS40MywyNTQuNjksMzU1LjI4NywyNTQuNjl6IE0xNjIuMjk4LDI1NC42OWgtMTkuMjYzbDY5LjQzLTExOS40Nw0KCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQ0KCQlMMTYyLjI5OCwyNTQuNjl6IE0xMDYuMTQ3LDEwOC4wOTZoMzQuMDkxTDc0Ljc4OSwyMjAuNzE3Yy0yLjA4MSwzLjU4Mi0wLjg2NSw4LjE3MiwyLjcxNiwxMC4yNTMNCgkJYzEuMTg2LDAuNjg5LDIuNDgyLDEuMDE3LDMuNzYyLDEuMDE3YzIuNTg0LDAsNS4xLTEuMzM3LDYuNDkxLTMuNzMzbDY5LjgzLTEyMC4xNThoMTcuMzU2TDg5Ljc1MSwyNTQuNjlIMjAuNTYzTDEwNi4xNDcsMTA4LjA5NnoiDQogICAgICAgIC8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Qxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ni43MDQgMjcyLjA4NmgtODEuNzA0di04OC4wNzNjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2ODguMDczaC0xNXYtMTkzLjcxYzAtOC4yNDktNi43MTEtMTQuOTU5LTE0Ljk1OS0xNC45NTloLTkxLjU4MmMtOC4yNDggMC0xNC45NTkgNi43MS0xNC45NTkgMTQuOTU5djE5My43MWgtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0yMjMuNjY5aDI4OHYxMDAuNTk2YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTEwMC41OTZoMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44ODMgMTUuMjk2LTE1LjM0NHYtMTcuNzNjMC04LjQ2LTYuODYxLTE1LjM0My0xNS4yOTYtMTUuMzQzaC0zMjQuNDA4Yy04LjQzNSAwLTE1LjI5NiA2Ljg4My0xNS4yOTYgMTUuMzQ0djE3LjczYzAgOC40NiA2Ljg2MSAxNS4zNDQgMTUuMjk2IDE1LjM0NGgzLjIwNHYyMjMuNjY5aC04MS43MDRjLTguNDM1LS4wMDEtMTUuMjk2IDYuODYxLTE1LjI5NiAxNS4yOTV2MTcuNjIyYzAgOC40MzUgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoLjV2MTQzLjQ4NmgtLjVjLTguNDM1IDAtMTUuMjk2IDYuODYyLTE1LjI5NiAxNS4yOTZ2MTcuNjIyYzAgOC40MzQgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoMjIzLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMjIzLjIwNGMtLjE2MyAwLS4yOTYtLjEzMy0uMjk2LS4yOTZ2LTE3LjYyMmMwLS4xNjMuMTMzLS4yOTYuMjk2LS4yOTZoNDgxLjQwOGMuMTYzIDAgLjI5Ni4xMzMuMjk2LjI5NnYxNy42MjJjMCAuMTYzLS4xMzMuMjk2LS4yOTYuMjk2aC0yMjMuMjA0Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIyMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44NjIgMTUuMjk2LTE1LjI5NnYtMTcuNjIyYzAtOC40MzQtNi44NjEtMTUuMjk2LTE1LjI5Ni0xNS4yOTZoLS41di0xNDMuNDg2aC41YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2em0tNDAzLjIwNC0yMzkuMDEydi0xNy43M2MwLS4yMTIuMTUzLS4zNDQuMjk2LS4zNDRoMzI0LjQwOGMuMTQzIDAgLjI5Ni4xMzEuMjk2LjM0NHYxNy43M2MwIC4yMTItLjE1My4zNDQtLjI5Ni4zNDQtMTUuMzY3IDAtMzA5LjA1MSAwLTMyNC40MDggMC0uMTQzLS4wMDEtLjI5Ni0uMTMyLS4yOTYtLjM0NHptMTg0Ljk1OSA0NS4zNDMgOTEuNTQxLS4wNDF2MTkzLjcxaC05MS41MDJ6bS0xMzYuNSAwIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0zMzkuMjQ1IDM4NC44MTdoLTQ1MC40MDh2LTE0Mi45MzRoNDUwLjQwOHptMTUuNzk2LTE1OC4yM2MwIC4xNjQtLjEzMy4yOTYtLjI5Ni4yOTYtMi44MjQgMC00NzEuMTUzIDAtNDgxLjQwOCAwLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS40MDYgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzQgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMC43OTYgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzIgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1NC4xMzEgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYy0uMDAxIDguNzY4IDcuMTMzIDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMi04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MjUuNTIxIDQ0Mi43MDRoMTguOTg5YzguNzY4IDAgMTUuOTAxLTcuMTMzIDE1LjkwMS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzQtMTUuOTAxLTE1LjkwMS0xNS45MDFoLTE4Ljk4OWMtOC43NjggMC0xNS45MDEgNy4xMzMtMTUuOTAxIDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTM0IDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMS04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Mi42MDQgOTIuODMyYy0yLjkzLTIuOTI5LTcuNjc4LTIuOTI5LTEwLjYwNyAwcy0yLjkyOSA3LjY3OCAwIDEwLjYwNmwxMS43NTYgMTEuNzU2YzIuOTMgMi45MjkgNy42NzggMi45MjkgMTAuNjA3IDBzMi45MjktNy42NzggMC0xMC42MDZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",bxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQxMy45MDcgMGMtNTQuMTA0IDAtOTguMTIyIDQ0LjAwNS05OC4xMjIgOTguMDk2djQzLjU4MnMtNjkuODMxLTM2LjkxMi03MS4wNjUtMzcuNTkzYy05LjU0NC01LjI2Ni0xMi4xODUtNS4yNjctMjEuNzMxIDAtMS4yMzQuNjgxLTEzNi4xNDEgNzEuOTU4LTEzNi4xNDEgNzEuOTU4LTExLjQzNyA2LjAxNy0xMy4wNDUgNy43NDUtMTcuODc4IDE1Ljc4My0uNzg4IDEuMzExLTY1LjY5OCAxMDQuMjMtNjUuNjk4IDEwNC4yMy0zLjE3NSA1LjAyMy00LjA3NyAxMC45NjItMi41MzkgMTYuNzIyIDEuNjE3IDYuMDU2IDUuODQgMTEuMjY5IDExLjU3NyAxNC4yOTUgMy42NDYgMS45MyA3LjU4MiAyLjg1IDExLjQ2NSAyLjg1IDYuMjAyIDAgMTIuMjU1LTIuMzU4IDE2Ljc0NS02LjY4OHY2NS4wNDRjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtODcuNTQxczQ5LjEzNC03Ny44NTUgNDkuNjUyLTc4LjY4MmMyLjMzNC0zLjcyOSAzLjMyOC01LjI4MyA0LjQ5Ni02LjMxOCAxLjMzMy0xLjE4MSAzLjY2NS0yLjQ2NCA4LjY2NS01LjEwN2wxMTMuMDAyLTU5LjY0OWMuODAxLS40MjUgMS40OS0uODAzIDIuMDkzLTEuMTMzLjE0MS0uMDc3LjI4NS0uMTU2LjQyOC0uMjM0LjE0My4wNzguMjg3LjE1Ny40MjguMjM0LjYwMy4zMzEgMS4yOTIuNzA4IDIuMTA5IDEuMTQyIDAgMCAxMTguMTkzIDYyLjQxMyAxMTkuNjQyIDYzLjMxLjg2OS41MzggMS41MDkuOTk1IDIuMDA5IDEuNDM4IDEuMTY3IDEuMDM1IDIuMTYyIDIuNTg5IDQuNDk2IDYuMzE4LjUxOC44MjcgNDkuNjUxIDc4LjY4MSA0OS42NTEgNzguNjgxdjE2MC43MTZoLTg0LjkyMXYtMTA0LjM0aDEyLjYyNWM3LjY1MiAwIDEzLjg3OC02LjIyNiAxMy44NzgtMTMuODc4di0yMS40M2MwLTcuNjUyLTYuMjI2LTEzLjg3OC0xMy44NzgtMTMuODc4aC04NS4xMjJjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoODR2MTkuMTg2aC0yMDkuODF2LTE5LjE4Nmg5MS4yYzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC05Mi4zMjJjLTcuNjUyIDAtMTMuODc4IDYuMjI2LTEzLjg3OCAxMy44Nzh2MjEuNDNjMCA3LjY1MiA2LjIyNiAxMy44NzggMTMuODc4IDEzLjg3OGgxMi42MjV2MTA0LjMzOWgtODQuOTQ3di0zOC41NjNjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzYuNTM2YzAgNi45MzQgNS42NDEgMTIuNTc0IDEyLjU3NCAxMi41NzRoNDQ1LjkwN2M3LjE2NyAwIDEyLjk5OS01LjgzMiAxMi45OTktMTIuOTk5di00MDAuOTA1Yy4wMDEtNTQuMDkxLTQ0LjAwNC05OC4wOTYtOTguMDkyLTk4LjA5NnptLTI3My40NCA0OTdoLTg0Ljk0OHYtMjAuNTQ2aDg0Ljk0N3YyMC41NDZ6bTE1OS43ODMtMTM5Ljg4Ni02Ni4zODIgNTkuODQ1LTY2LjM4Mi01OS44NDV6bS0xNDQuNzgzIDkuMzU5IDY3LjIwMSA2MC41ODQtNjcuMjAxIDYwLjU4NHptMTIuMDIgMTMwLjUyNyA2Ni4zODItNTkuODQ1IDY2LjM4MSA1OS44NDV6bTE0NC43ODMtOS4zNTktNjcuMjAxLTYwLjU4NCA2Ny4yMDEtNjAuNTg0em05OS45MTkgOS4zNTloLTg0LjkxOXYtMjAuNTQ2aDg0LjkxOXptNTMuNDQ1LTE5OC44MjNjLS4zNDctLjcyLS43MzMtMS40MjctMS4xNjYtMi4xMTdsLTUxLjk0NS04Mi4yNjZoODQuNDc3djg0LjM4M3ptLTEzNC44NDgtMjAwLjA4MWMwLTQ1LjgxOSAzNy4yODgtODMuMDk2IDgzLjEyMi04My4wOTYgNDUuODE2IDAgODMuMDkyIDM3LjI3NiA4My4wOTIgODMuMDk2djEuMjg3aC0xNjYuMjE0em0wIDE2LjI4N2gxNjYuMjE0djg0LjQxMmgtOTMuOTQ5cy0zLjUyMy01LjY1Ni00LjMxMi02Ljk2NmMtNC44MzEtOC4wMzYtNi40NC05Ljc2Ni0xNy44NjgtMTUuNzc4bC01MC4wODYtMjYuNDV2LTM1LjIxOHptOTUuMjQ2IDE4MC4xNzdzLTUwLjI3NS03OS42NTYtNTAuNzgtODAuNDYzYy00Ljc5OS03LjY2NS02LjUxNC05LjgyNS0xMy4yODEtMTMuNjkyLS41MjEtLjI5Ny0xMTkuOTI5LTYzLjQwOC0xMjAuNDgyLTYzLjcxMS01LjEwMS0yLjc5NS03Ljg0Ny0zLjMyLTEyLjA2Ny0xLjU3Mi0uMDM3LjAxNS0uMDc2LjAzNC0uMTEzLjA1LS42MTYuMjU5LTExNy45ODUgNjIuMTk3LTExNy45ODUgNjIuMTk3LTExLjcyNyA2LjItMTIuOTYxIDcuMjk1LTE4Ljg2OCAxNi43MjktLjUwNS44MDctNTAuNzggODAuNDYzLTUwLjc4IDgwLjQ2My0uMDEuMDE2LS4wMTYuMDMzLS4wMjYuMDQ5bC0xMC4yOTQgMTYuMzFjLTIuMzc1IDMuNzY3LTcuODg1IDUuMDk2LTEyLjAzOSAyLjg5NC0yLjA2LTEuMDg2LTMuNTUyLTIuODczLTQuMDkzLTQuOTAxLS4zMTYtMS4xODQtLjQ0Ni0yLjk4NC43MjktNC44NDMgMCAwIDY1LjAzNy0xMDMuMTI0IDY1Ljg3Mi0xMDQuNTEyIDMuNDQ4LTUuNzM0IDMuNDQ4LTUuNzM0IDEyLjAxNy0xMC4yNDMgMCAwIDEzOS4xOTMtNzMuNjM5IDE0MC4wMTItNzQuMDEzLjgyLjM3NCAxNDAuMDEyIDc0LjAxMyAxNDAuMDEyIDc0LjAxMy4wMDMuMDAyLjAwNy4wMDQuMDExLjAwNiA4LjU1OSA0LjUwMiA4LjU1OSA0LjUwMiAxMi4wMDcgMTAuMjM4LjgzNCAxLjM4OCAxLjgxNiAzLjAyIDMuMDU4IDQuOTg3bDYyLjgzMyA5OS41MDljMS4xNjggMS44NiAxLjAzNCAzLjY2OS43MTYgNC44NTktLjU0NCAyLjAzMi0yLjAzMiAzLjgyLTQuMDcyIDQuODk5LTQuMjI2IDIuMjMxLTkuNjQ1LjkyNC0xMi4wNjktMi44OTZsLTEwLjI5Mi0xNi4zMDdjLS4wMS0uMDE3LS4wMTYtLjAzNS0uMDI2LS4wNXptNzAuOTY4IDIwMi40NGgtNjkuODExdi04NC40MTFoNjkuODExem0tNjkuODExLTk5LjQxMXYtNzQuMzg5YzcuMzEzIDcuMDQyIDE4Ljc2MyA4Ljg3NCAyOC4yMzggMy44NzUgNS42LTIuOTY1IDkuNzQ2LTguMDE2IDExLjQzOC0xMy44OTdoMzAuMTM1djg0LjQxMmgtNjkuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Uxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Mi45OTUgMTY2LjQ4OS0zMS45OTUtMjMuOTk2di0xMTIuNDkzYzguMjg0IDAgMTUtNi43MTYgMTUtMTVzLTYuNzE2LTE1LTE1LTE1aC05MGMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNXY0NC45OTJsLTg4LjAwOS02Ni4wMDZjLTE1Ljg5My0xMS45MDQtMzguMDktMTEuOTA1LTUzLjk4OS4wMDVsLTIwOS45OTkgMTU3LjVjLTE5Ljg1MyAxNC44OTMtMjMuODkxIDQzLjE1NS05LjAwMSA2My4wMDQgNy4yMiA5LjYyIDE3Ljc1MiAxNS44NTMgMjkuNjU3IDE3LjU1IDIuMTU3LjMwOCA0LjMxLjQ2IDYuNDUuNDU5IDUuMTA5IDAgMTAuMTMtLjg3NiAxNC44OTEtMi41NjR2MjUyLjA2YzAgOC4yODQgNi43MTYgMTUgMTUgMTVoMzYwYzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Mi4wNjhjNC43NjMgMS42ODUgOS44MDMgMi41NiAxNC45NzggMi41NiAxNC4xIDAgMjcuNTY1LTYuNzI5IDM2LjAyMi0xOCAxNC44ODgtMTkuODQ2IDEwLjg0OS00OC4xMDgtOS4wMDUtNjMuMDAzem0tOTEuOTk1LTEzNi40ODloMzB2ODkuOTkybC0zMC0yMi41em0tMTIwIDI3MmgtNTB2LTkyaDUwem0zMCAwdi0xMDdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtODBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTA3aC0xMDkuOTk5di03Ny4wMDRsMTY0Ljk5OS0xMjMuNzUyIDE2NSAxMjMuNzUzdjc3LjAwM3ptLTIxOS45OTkgMzBoMjA5Ljk5OXYzMGgtNDVjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NDVoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC05MHptMTE5Ljk5OSAxNTB2LTMwaDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDkwdjE1MHptMjY3LjAwMi0yNzAuNTExYy0yLjg2MyAzLjgxNS03LjI0NSA2LjAwNC0xMi4wMjQgNi4wMDQtMy4yNiAwLTYuMzY1LTEuMDM2LTguOTc5LTIuOTk2bC0xOTEuOTk5LTE0NC4wMDNjLTUuMzMzLTQtMTIuNjY3LTQtMTggMGwtMTkyLjAwOCAxNDQuMDA5Yy0zLjE5MyAyLjM5Ny03LjEzNiAzLjQwOC0xMS4wOTggMi44NDItMy45NzMtLjU2Ni03LjQ4OC0yLjY0Ny05Ljg5Ni01Ljg1Ni00Ljk2MS02LjYxNC0zLjYxMi0xNi4wMzUgMy4wMDYtMjFsMjA5Ljk5MS0xNTcuNDkyYzIuNjUyLTEuOTg3IDUuODMtMi45NzkgOS4wMDctMi45NzkgMy4xNzUgMCA2LjM0OS45OTIgOC45OTYgMi45NzRsMjA5Ljk5NiAxNTcuNDk3YzYuNjIgNC45NjYgNy45NjkgMTQuMzg2IDMuMDA4IDIxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",$xe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00ODUuNCwyNzIuMDY3aC04LjUzM3YtMTc5LjJjMC00Mi42NjctMzQuMTMzLTc2LjgtNzYuOC03Ni44Yy0zNy43NywwLTY0LjkzNSwyOC4wMDYtNjcuOTc0LDY5LjA0MQ0KCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMw0KCQkJCWMwLTIwLjgzMy0xNC4yNzQtMzcuNzY5LTMzLjc2Ny00MS43NjdjMi41NS0yNy4xMTYsMTguODM2LTUyLjEsNTAuODM0LTUyLjFjMzMuMjgsMCw1OS43MzMsMjYuNDUzLDU5LjczMyw1OS43MzN2MTc5LjJIMjAyLjk3NQ0KCQkJCWMtMy44Ni0xOS42ODEtMjAuODc4LTM0LjEzMy00MS44NDEtMzQuMTMzYy04LjUzMy0xMC4yNC0yMC40OC0xNy4wNjctMzQuMTMzLTE3LjA2N2MtMTYuMjEzLDAtMzAuNzIsOS4zODctMzcuNTQ3LDIzLjA0DQoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42DQoJCQkJYzAsMTQuNTA3LDExLjA5MywyNS42LDI1LjYsMjUuNmgxMC4yNTVsMjMuMDI1LDkxLjMwN2M2LjgyNywyNi40NTMsMzAuNzIsNDUuMjI3LDU4LjAyNyw0NS4yMjdoNi44MjdsLTExLjA5MywyMi4xODcNCgkJCQljLTIuNTYsNC4yNjctMC44NTMsOS4zODcsMy40MTMsMTEuMDkzYzAuODUzLDAuODUzLDIuNTYsMC44NTMsMy40MTMsMC44NTNjMy40MTMsMCw1Ljk3My0xLjcwNyw3LjY4LTQuMjY3TDE0MS4wOCw0NTkuOGgyMzYuOA0KCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzDQoJCQkJbC0xMC42ODktMjEuMzc5YzI2LjQxOS0wLjkzOCw0OS4yNjYtMTkuMzksNTUuOTE2LTQ0LjMyOGwyMy4yNC05Mi4xNmgxMC4wNGMxNC41MDcsMCwyNS42LTExLjA5MywyNS42LTI1LjYNCgkJCQlDNTExLDI4My4xNiw0OTkuOTA3LDI3Mi4wNjcsNDg1LjQsMjcyLjA2N3ogTTM2NS4wOCwxMTguNDY3aC00OC42NGMzLjQxMy0xMC4yNCwxMy42NTMtMTcuMDY3LDI0Ljc0Ny0xNy4wNjcNCgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2DQoJCQkJczUuMTItMy40MTMsNS45NzMtNi44MjdjMi41Ni0xMi44LDEyLjgtMjIuMTg3LDI1LjYtMjIuMTg3YzkuMzg3LDAsMTcuOTIsNC4yNjcsMjIuMTg3LDEyLjhjMS43MDcsMy40MTMsNS45NzMsNS4xMiw5LjM4Nyw0LjI2Nw0KCQkJCWMwLjg1MywwLDEuNzA3LDAsMi41NiwwYzExLjA5MywwLDIwLjQ4LDYuODI3LDIzLjg5MywxNy4wNjdINDMuMzczQzQ2Ljc4NywyNjEuODI3LDU2LjE3MywyNTUsNjcuMjY3LDI1NXogTTQzNi43Niw0MTAuMzA3DQoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6DQoJCQkJIE00ODUuNCwzMDYuMmgtMTcuMDY3SDQxLjY2N0gyNC42Yy01LjEyLDAtOC41MzMtMy40MTMtOC41MzMtOC41MzNzMy40MTMtOC41MzMsOC41MzMtOC41MzNoOC41MzNoMTYyLjEzM0g0ODUuNA0KCQkJCWM1LjEyLDAsOC41MzMsMy40MTMsOC41MzMsOC41MzNTNDkwLjUyLDMwNi4yLDQ4NS40LDMwNi4yeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywxNzAuNTIsMzAxLjA4LDE3My45MzMsMzA2LjIsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNi4yLDIxMy4xODdjNS4xMiwwLDguNTMzLTQuMjY3LDguNTMzLTguNTMzdi05LjM4N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzNzLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjkuMzg3DQoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMjQ2LjQ2N2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywyNDMuMDUzLDMwMS4wOCwyNDYuNDY3LDMwNi4yLDI0Ni40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMNCgkJCQljLTUuMTIsMC04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2N0MzMzEuOCwxNzAuNTIsMzM1LjIxMywxNzMuOTMzLDM0MC4zMzMsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMzY1LjkzMywxNzAuNTIsMzY5LjM0NywxNzMuOTMzLDM3NC40NjcsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2NS45MzMsMjA0LjY1M2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNTMzgzLDIwOC45MiwzODMsMjA0LjY1M3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjkzMywyMzcuOTMzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMzcuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Pxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ5NiwzNDRoLThWMjgwYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJWMTEyYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIODhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMlYyNDhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnY2NEgxNmE4LDgsMCwwLDAtOCw4djMyYTgsOCwwLDAsMCw4LDhoOHYzMmE4LDgsMCwwLDAsOCw4SDU2YTcuOTksNy45OSwwLDAsMCw3Ljg0LTYuNDNMNzAuNTYsMzkySDQ0MS40NGw2LjcyLDMzLjU3QTcuOTksNy45OSwwLDAsMCw0NTYsNDMyaDI0YTgsOCwwLDAsMCw4LThWMzkyaDhhOCw4LDAsMCwwLDgtOFYzNTJBOCw4LDAsMCwwLDQ5NiwzNDRaTTcyLDExMkExNi4wMjEsMTYuMDIxLDAsMCwxLDg4LDk2SDQyNGExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LDE2VjI0OEg0MjRWMjE2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIMjk2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2MzJIMjQ4VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDEyMGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDcyWk00MDgsMjE2djMySDI4MFYyMTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNmg5NkExNi4wMjEsMTYuMDIxLDAsMCwxLDQwOCwyMTZabS0xNzYsMHYzMkgxMDRWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSwyMzIsMjE2Wk00MCwyODBhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNkg0NTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNnY2NEg0MFptOS40NCwxMzZINDBWMzkySDU0LjI0Wk00NzIsNDE2aC05LjQ0bC00LjgtMjRINDcyWm0xNi00MEgyNFYzNjBINDg4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Wxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDMuNTE4LDEyLjcwOUwyNS4xNzgsMC43MjhjLTEuNTExLTAuOTc4LTMuNDU4LTAuOTY4LTQuOTYsMC4wMjFMMS44NTksMTIuNzE5Yy0xLjE0LDAuNzUxLTEuNDU1LDIuMjg0LTAuNzA1LDMuNDI0DQoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2DQoJCQljMC44MTIsMCwxLjYwNC0wLjM5NywyLjA3Ny0xLjEyN0M0NC45OSwxNC45OCw0NC42NjIsMTMuNDUyLDQzLjUxOCwxMi43MDl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOC44NzksMjcuNjE2Yy0wLjE1MS0wLjg2NS0wLjkwMy0xLjUwNS0xLjc4LTEuNTA1aC0xLjAwOGwtMC4zODMtMy45ODdjLTAuNDA5LTQuMjY0LTMuOTQ4LTcuNDktOC4yMzItNy40OUgxNy45Mg0KCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNA0KCQkJYy0wLjE4NiwxLjA1NCwwLjExMiwyLjEzOSwwLjgsMi45NTdjMC42NjIsMC43ODgsMS42MzcsMS4yNTgsMi42NTcsMS4yOTN2MS40MTJjMCwxLjk5OSwxLjYwMiwzLjYxLDMuNjAzLDMuNjFoMS4xMzgNCgkJCWMxLjk5OSwwLDMuNjI1LTEuNjExLDMuNjI1LTMuNjF2LTEuMzg5aDExLjczMnYxLjM4NmMwLDIsMS42MTMsMy42MTMsMy42MTIsMy42MTNoMS4xMzljMS45OTksMCwzLjYxNC0xLjYxMywzLjYxNC0zLjYxM1Y0MC4zNw0KCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMw0KCQkJYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTdjMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1Nw0KCQkJQzE0LjY5OSwzNS43NDYsMTMuMzMsMzcuMTEzLDExLjY0MiwzNy4xMTN6IE0xMi40MDQsMjYuMTExbDAuMzUzLTMuNjc4YzAuMjU3LTIuNjc0LDIuNDc2LTQuNjg4LDUuMTYzLTQuNjg4aDAuNTUxdjEuMTU2DQoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4DQoJCQlsMC4zNTQsMy42NzhMMTIuNDA0LDI2LjExMUwxMi40MDQsMjYuMTExeiBNMzMuNzUsMzcuMTEzYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTcNCgkJCWMxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3QzM2LjgwNywzNS43NDYsMzUuNDM4LDM3LjExMywzMy43NSwzNy4xMTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Jxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00OTQuNTk0LDM5NC4yMzdoLTE5LjQ2MWMxMi45NTQtMTkuNTQzLDIwLjUxMi00Mi45NTgsMjAuNTEyLTY4LjEwOWMwLTY4LjE1Ny01NS40NDktMTIzLjYwNi0xMjMuNjA2LTEyMy42MDYNCgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQNCgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMzAuMDEyLDEwLjc1NSw1Ny41NTUsMjguNjA4LDc4Ljk5Yy02Ljg0LTEuMTc4LTEzLjg2OS0xLjc5OS0yMS4wNC0xLjc5OQ0KCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwyNS4xNTEsNy41NTgsNDguNTY3LDIwLjUxMiw2OC4xMDlIMTcuNDA2TDAsNTEwLjI3Nmg5My4yOTRsMTUuMTM1LTIwLjE4MWg2My4wNjQNCgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OA0KCQkJYzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDNDc5LjI1NCwzNDcuOTQ4LDQ3NS41MDMsMzYxLjQ1LDQ2OS41MTksMzczLjY3eiBNNDA5Ljg3NywzOTQuNTMzdi0xMzYuODENCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVM0MzMuOTIyLDM4MS4xNzgsNDA5Ljg3NywzOTQuNTMzeiBNNDE5LjU4MSw0MjMuNjA4DQoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2DQoJCQlsMTMuMTQ4LDcuNTkxYy03Ljc5NCwxMS41MTctMTcuNzQsMjEuNDYzLTI5LjI1NiwyOS4yNTZsLTcuNTkxLTEzLjE0OEM0MzQuMzM2LDM5Ni40NjQsNDQyLjM3NSwzODguNDI1LDQ0OC43ODcsMzc5LjE3NnoNCgkJCSBNNDgwLjI0MSwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4QzQ3NS41MDMsMjkwLjgwNSw0NzkuMjU0LDMwNC4zMDcsNDgwLjI0MSwzMTguNTZ6DQoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkNCgkJCUw0MzIuNjc4LDIzNi4yMzF6IE00MTEuOTk0LDI0MS43ODljLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OHYtMTUuMTc2YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMg0KCQkJTDQxMS45OTQsMjQxLjc4OXogTTM5NC43NDIsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWMjUxLjMNCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxDQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTMjAxLjg0NSwzODEuMTc4LDE3Ny44LDM5NC41MzN6IE0xODcuNTA0LDQyMy42MDgNCgkJCWMtMTIuMjIsNS45ODQtMjUuNzIyLDkuNzM0LTM5Ljk3NSwxMC43MjJ2LTE1LjE3NWMxMS41MDYtMC45MjcsMjIuNDI5LTMuOTUxLDMyLjM4Ny04LjY4OEwxODcuNTA0LDQyMy42MDh6IE0yODIuMTQyLDI2NS40ODgNCgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczDQoJCQljLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N2gtMTUuMTc1YzAuOTg3LTE0LjI1Myw0LjczNy0yNy43NTQsMTAuNzIyLTM5Ljk3NUwyODcuNywyODYuMTczeiBNMzE2LjY0LDIxNS4yMjcNCgkJCWwtNy41OTEtMTMuMTQ4YzkuMjQ5LTYuNDEyLDE3LjI4Ny0xNC40NSwyMy42OTktMjMuNjk5bDEzLjE0OCw3LjU5MUMzMzguMTAzLDE5Ny40ODcsMzI4LjE1NywyMDcuNDMzLDMxNi42NCwyMTUuMjI3eg0KCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5DQoJCQlsNy41ODcsMTMuMTQyYy0xMi4yMiw1Ljk4NC0yNS43MjIsOS43MzQtMzkuOTc1LDEwLjcyMnYtMTUuMTc1QzI3NS4wNzQsMjE3LjQzLDI4NS45OTYsMjE0LjQwNywyOTUuOTU1LDIwOS42Njl6IE0yNzcuMDQsMjQ3LjEzOA0KCQkJYy04Ljk1MSwxMC43NDctMTYuMTE5LDIzLjAyOC0yMS4wNCwzNi4zODljLTQuOTIxLTEzLjM2MS0xMi4wODktMjUuNjQxLTIxLjA0LTM2LjM4OWM2Ljg0LDEuMTc4LDEzLjg2OSwxLjc5OSwyMS4wNCwxLjc5OQ0KCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4DQoJCQlDMjQzLjQyNiwyOTAuODA1LDI0Ny4xNzcsMzA0LjMwNywyNDguMTY0LDMxOC41NnogTTI0OC40MzEsMjMzLjUzM2MtMTQuMjUyLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzQtMTAuNzIybDcuNTg3LTEzLjE0Mg0KCQkJYzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OFYyMzMuNTMzeiBNMjE4LjE2MSwxOTMuNzM2Yy0yNC4wNDUtMTMuMzU0LTQwLjM2MS0zOS4wMDUtNDAuMzYxLTY4LjQwNQ0KCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4DQoJCQljLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwxNzkuMjUxLDE3OC4zNzl6IE0yMDAuNjAxLDIzNi4yMzFjMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2DQoJCQlsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMjAwLjYwMSwyMzYuMjMxeiBNMjE2LjcxLDM3OS4xNzZsMTMuMTQ4LDcuNTkxDQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyDQoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NWMtMC45ODcsMTQuMjUzLTQuNzM3LDI3Ljc1NC0xMC43MjIsMzkuOTc1TDIyNC4zLDM2Ni4wODJ6IE0yNTYsMzY4LjcyOQ0KCQkJYzMuMzMyLDkuMDQ1LDcuNjk3LDE3LjU5MywxMi45NDQsMjUuNTA4aC0yNS44ODhDMjQ4LjMwMywzODYuMzIxLDI1Mi42NjgsMzc3Ljc3NCwyNTYsMzY4LjcyOXogTTI2My44MzYsMzMzLjY5NWgxNS4xNzUNCgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3Ng0KCQkJYzYuNDEyLDkuMjQ5LDE0LjQ1LDE3LjI4NywyMy42OTksMjMuNjk5bC03LjU5MSwxMy4xNDhjLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwyOTUuMjksMzc5LjE3NnoNCgkJCSBNMjkzLjgzOSwzMjYuMTI4YzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDV2MTM2LjgxQzMxMC4xNTUsMzgxLjE3OCwyOTMuODM5LDM1NS41MjgsMjkzLjgzOSwzMjYuMTI4eiBNMzMyLjA4NCw0MTAuNDY2DQoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQ0KCQkJYy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyQzMzNi43MTYsMjIyLjY2MywzNTAuMjE4LDIxOC45MTIsMzY0LjQ3MSwyMTcuOTI1eiBNMzUzLjQ4LDE3Mi44NzMNCgkJCWwtMTMuMTQyLTcuNTg4YzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDMzYzLjIxNiwxNDcuMTUxLDM1OS40NjUsMTYwLjY1MywzNTMuNDgsMTcyLjg3M3ogTTM2NC4yMDIsMTE3Ljc2Mw0KCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0DQoJCQljMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2bC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDMxNi42NCwzNS40MzR6IE0yOTUuOTU2LDQwLjk5Mg0KCQkJYy05Ljk1OC00LjczNi0yMC44ODEtNy43Ni0zMi4zODctOC42ODhWMTcuMTI4YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMkwyOTUuOTU2LDQwLjk5MnogTTI3OC43MDMsNTAuNTAzdjE0OS42NTUNCgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3Mg0KCQkJQzI2My44OTQsNDcuMTMxLDI3MS41MTQsNDguMzE3LDI3OC43MDMsNTAuNTAzeiBNMjQ4LjQzMiwxNy4xMjh2MTUuMTc1Yy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyDQoJCQlDMjIwLjY3OCwyMS44NjYsMjM0LjE4LDE4LjExNSwyNDguNDMyLDE3LjEyOHogTTE5NS4zNiwzNS40MzRsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OQ0KCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcNCgkJCWgtMTUuMTc1QzE0OC43ODUsMTAzLjUxLDE1Mi41MzUsOTAuMDA4LDE1OC41Miw3Ny43ODh6IE0xNTguNTIsMTcyLjg3M2MtNS45ODQtMTIuMjItOS43MzUtMjUuNzIyLTEwLjcyMi0zOS45NzVoMTUuMTc1DQoJCQljMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMMTU4LjUyLDE3Mi44NzN6IE0xODcuNTA0LDIyOC42NDdsLTcuNTg3LDEzLjE0MmMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4DQoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyDQoJCQljLTcuODk0LDAtMTUuNTE0LTEuMTg3LTIyLjcwMy0zLjM3MlYyNTEuM2M3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMTQ3Ljg1NSwyNDcuOTI4LDE1NS40NzUsMjQ5LjExNCwxNjIuNjY1LDI1MS4zeg0KCQkJIE02MS43NjIsMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUM3OC4wNzgsMzgxLjE3OCw2MS43NjIsMzU1LjUyOCw2MS43NjIsMzI2LjEyOHogTTg2LjkxMyw0MDIuODc2DQoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoNCgkJCSBNMTAwLjAwNyw0MTAuNDY2YzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OHYxNS4xNzVjLTE0LjI1My0wLjk4Ny0yNy43NTQtNC43MzgtMzkuOTc1LTEwLjcyMkwxMDAuMDA3LDQxMC40NjZ6DQoJCQkgTTEzMi4zOTQsMjE3LjkyNVYyMzMuMWMtMTEuNTA2LDAuOTI3LTIyLjQyOSwzLjk1MS0zMi4zODcsOC42ODhsLTcuNTg3LTEzLjE0MkMxMDQuNjM5LDIyMi42NjMsMTE4LjE0MSwyMTguOTEyLDEzMi4zOTQsMjE3LjkyNQ0KCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxDQoJCQlDNTcuODU5LDI1My45NzEsNjcuODA1LDI0NC4wMjUsNzkuMzIyLDIzNi4yMzF6IE00Mi40ODEsMjc4LjU4NWwxMy4xNDIsNy41ODhjLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N0gzMS43NTkNCgkJCUMzMi43NDYsMzA0LjMwNywzNi40OTcsMjkwLjgwNSw0Mi40ODEsMjc4LjU4NXogTTMxLjc1OSwzMzMuNjk1aDE1LjE3NWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N0w0Mi40OCwzNzMuNjcNCgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQ0KCQkJaC03OC4yTDg1LjcyNiw0OTUuMTRIMTcuNTc1bDEyLjg2NS04NS43NjhoMTguMjNjMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoNDkuNDk0DQoJCQljMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoMTguMjNsMTIuODY1LDg1Ljc2OEg0MjYuMjc0eiIvPg0KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIxOTAuOTE5IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSIxMTEuMjA1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjE3MS43NDciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQyMS45ODYiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjE4OS45MSIgeT0iMzE3LjU1MiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNzQuODgiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSINCiAgICAgICAgICAgICAgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNDU2LjIxIiB5PSI0MzEuOTM1IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk4ODkgLTAuMTQ4MyAwLjE0ODMgMC45ODg5IC02MC43MTk5IDczLjY5MDMpIg0KICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI0NjQuODciIHdpZHRoPSI0NS40MDYiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxOC4xNjIiIHk9IjQ2NC44NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjMzLjI5OCIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzYuMTI3IiB5PSI0MzYuNDYxIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC0zOTguMDY3NSA0MjUuODQyNykiDQogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1LjQ2OCIgeT0iNDcwLjg2IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC00MzYuNDgzOCA0NTAuMDMyNSkiDQogICAgICAgICAgICAgIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Bxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTYxLDIxSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMC0yWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik02MSw0NEgzYTEsMSwwLDAsMCwwLDJINjBWNjBINDZWNDlhMSwxLDAsMCwwLTIsMFY2MEg0MlY1M2ExLDEsMCwwLDAtMS0xSDI2YTEsMSwwLDAsMC0xLDF2N0gyMlY0OWExLDEsMCwwLDAtMS0xSDVhMSwxLDAsMCwwLTEsMVY2MEgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDEtMVY0NUExLDEsMCwwLDAsNjEsNDRaTTQwLDU2SDM3VjU0aDNabS01LDBIMzJWNTRoM1ptLTUtMnYySDI3VjU0Wk0yMCw1Mi4zODJhMy45NDcsMy45NDcsMCwwLDAtNiwwVjUwaDZaTTE5LDU1YTIsMiwwLDEsMS0yLTJBMiwyLDAsMCwxLDE5LDU1Wk02LDU0aDZ2Mkg2Wm02LTR2Mkg2VjUwWk02LDU4aDZ2Mkg2Wm04LDJWNTcuNjE4YTMuOTQ3LDMuOTQ3LDAsMCwwLDYsMFY2MFptMTMtMmgzdjJIMjdabTUsMGgzdjJIMzJabTUsMlY1OGgzdjJaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik01Nyw1NmExLDEsMCwwLDAsMS0xVjUxYTEsMSwwLDAsMC0xLTFINDlhMSwxLDAsMCwwLTEsMXY0YTEsMSwwLDAsMCwxLDFabS03LTRoNnYySDUwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Rxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Fxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Gxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3Ljg5MSAyMzguMzk5Yy02LjcyMy0zNS44ODEtMjEuODUzLTY2LjkwNS00My43NTUtODkuNzE4LTkuODQ1LTEwLjI1My0yMS40NTYtMTkuNzUtMzQuNTE0LTI4LjIyNy0xNC45NC05LjY5OS0zMi4xOTItMTguNDM4LTU0LjI5My0yNy41MDMtOS42ODQtMy45NzItMTkuMzc1LTcuNjM3LTI4LjQwNi0xMS4wMDUtMTQuNjQyLTUuNDYtMzAuMDY0LTEwLjk1OC00NS44NDMtMTYuMzM3LTUuNDI3LTEuODUxLTEwLjkyMS0zLjYwNi0xNi4yMzQtNS4zMDMtOC41MDUtMi43MTctMTcuMy01LjUyNy0yNS43NzEtOC43MjEtNS4yMjQtMS45Ny03LjQyNi0zLjQ2NC04LjMyMS00LjI1OC4wNDYtLjA1Ni4wOTYtLjExNS4xNTEtLjE3NyA0LjA0OC00LjYxNSAyNy42MDMtMjMuMTA1IDQxLjUwMS0zMy42NzcgMi41NjItMS45NDkgMy41OTUtNS4zMTUgMi41NjYtOC4zNjVzLTMuODg5LTUuMTA0LTcuMTA3LTUuMTA0bC0xNTQuMDUyLS4wMDRjLTEuMzIxIDAtMi42MTkuMzQ5LTMuNzYyIDEuMDEyLTE3LjI4MiAxMC4wMjEtMzEuNjIzIDI1Ljc5LTM5LjM0NiA0My4yNjItOC45NDYgMjAuMjQtOS4wMTYgNDEuNDI1LS4yMDIgNjEuMjYzIDEyLjA3IDI3LjE2NyAzNy41NjcgNDIuMjM3IDYwLjA2MyA1NS41MzMgNS44NyAzLjQ2OSAxMS40MTQgNi43NDYgMTYuNjU1IDEwLjE2NyAzLjA5NSAyLjAyIDYuMjczIDQuMDAzIDkuMzQ3IDUuOTIyIDExLjU0NSA3LjIwOCAyMi40NSAxNC4wMTYgMzEuMTY3IDIzLjYwNCA4Ljk4MSA5Ljg3NyAxMS42OTMgMjIuNTAxIDcuODQyIDM2LjUwNy04Ljk0OCAzMi41NDQtMzUuNTQ0IDYxLjc4MS01OS4wMDkgODcuNTc2LTQuMzQyIDQuNzczLTguNDQyIDkuMjgxLTEyLjQwOSAxMy43NzYtMTEuMTA3IDEyLjU4Ny0yNy4zOTMgMzAuODktNDQuNjM0IDUwLjI2Ny01Ni44NjkgNjMuOTE0LTk0LjQxNSAxMDYuMjI5LTk4IDExMS44NDYtMS40NzQgMi4zMDktMS41NzEgNS4yMzgtLjI1NCA3LjY0IDEuMzE2IDIuNDAyIDMuODM4IDMuODk1IDYuNTc3IDMuODk1bDQ0Ni4zMTYuMDAzaC4wMDFjMy4yNTEgMCA2LjEzMi0yLjA5NCA3LjEzNS01LjE4NyAxMS42NTktMzUuOTYgMjIuMjEyLTcyLjIzMiAzNS4yODMtMTIxLjI4MyAxNS41OTEtNTguNTE1IDE5LjE4NS0xMDUuMzU0IDExLjMwOC0xNDcuNDA0em0tMjUuODAzIDE0My41NDNjLTEyLjM3IDQ2LjQyLTIyLjQ2NCA4MS4zMDUtMzMuMzg1IDExNS4zMzFsLTI2Ljk0LS4wMDJjMS4yODgtMy45NDggMi41NzMtNy45MDMgMy44NjEtMTEuODQyIDExLjU4LTM1LjQxIDIyLjg3Ny03MC45MjUgMzIuNTA0LTEwNi44ODggMS41MzUtNS43NCAzLjEyMi0xMS42NzQgNC42Ny0xNy42NDUgMS4wNC00LjAwOS0xLjM2OC04LjEwMy01LjM3OC05LjE0Mi00LjAwOS0xLjAzOC04LjEwMiAxLjM2OS05LjE0MiA1LjM3OC0xLjUzMyA1LjkxNC0zLjExMyAxMS44Mi00LjY0MSAxNy41MzEtOS40MzkgMzUuMjc1LTIwLjc5NyA3MS4wMjUtMzIuMjcgMTA2LjEwNC0xLjc5NyA1LjQ5My0zLjU5NSAxMC45OTItNS4zODkgMTYuNTA0aC0xNTcuOTc4Yy0uNDMyLTEuODU4LTEuNTY3LTMuNTUzLTMuMzA5LTQuNjQ5LTMuNTA0LTIuMjA2LTguMTM2LTEuMTUyLTEwLjM0MiAyLjM1My0uNDk1Ljc4Ni0uOTczIDEuNTQyLTEuNDQ5IDIuMjk2aC0xNTYuMjM0YzI0LjQ3My0zMC41NTEgOTEuODk3LTExMi4wNzMgMTI0LjIzOC0xNDguNzI0IDE3LjI0LTE5LjUzNyAzMS4zNjgtMzguNzI2IDQxLjk5NC01Ny4wMzMgMTcuNTk4LTMwLjMxOSAyNC41NjctNTYuNzY1IDIwLjcxNi03OC42MDEtOC4yNzMtNDYuOTA5LTQ1LjEyNy02NS43NjQtNzcuNjQzLTgyLjM5OC0zLjQzOS0xLjc1OS02Ljk5NS0zLjU3OS0xMC40MDctNS4zNzVsLS42MDktLjMyMWMtMy42NjMtMS45MzMtOC4yLS41My0xMC4xMzMgMy4xMzNzLS41MyA4LjIgMy4xMzMgMTAuMTMzbC42MTYuMzI1YzMuNDk2IDEuODQgNy4wOTEgMy42OCAxMC41NjggNS40NTggMzIuMjU3IDE2LjUwMiA2Mi43MjYgMzIuMDkgNjkuNzAzIDcxLjY1IDMuMjIgMTguMjU2LTMuMTQ1IDQxLjI5MS0xOC45MTcgNjguNDY2LTkuOTg5IDE3LjIxLTIzLjkxNCAzNi4xMDQtNDAuMjY4IDU0LjYzOC0zNS4yODYgMzkuOTg4LTExNi4wOTggMTM3LjgzOC0xMzIuMDU2IDE1OC42NDhoLTMzLjg1YzE3Ljg4Mi0yMC43NTMgNTYuNzQ0LTY0LjQyOCA4Ni45ODEtOTguNDExIDE3LjI1Mi0xOS4zODkgMzMuNTQ3LTM3LjcwMiA0NC42NzUtNTAuMzEzIDMuODkyLTQuNDEgNy45NTYtOC44NzggMTIuMjU4LTEzLjYwNyAyNC41OTctMjcuMDQgNTIuNDc2LTU3LjY4OCA2Mi4zNzUtOTMuNjkzIDUuMjA3LTE4LjkzOSAxLjIyNy0zNi45LTExLjIwNy01MC41NzUtMTYuNDIzLTE4LjA2Mi0zOS44NjMtMzAuMjM3LTYwLjYzNS00Mi41MTQtMjEuNTY1LTEyLjc0Ni00My44NjQtMjUuOTI2LTUzLjk4Ny00OC43MS0xNS4wMjMtMzMuODE1IDQuMzY2LTY3LjcxOCAzMS42NjctODQuNDQ3aDEzLjYzOWMtMjAuNTU3IDE1LjA3NC0zMi41NjggMzAuMzA1LTM2LjQ5NCA0Ni4xOTUtMy4xODMgMTIuODgyLS44MTMgMjUuNzU2IDcuMDQ1IDM4LjI2NSA0LjMyNCA2Ljg4MyA5LjkwNCAxMy4xMTIgMTcuMDU4IDE5LjA0MiAzLjE4OCAyLjY0MyA3LjkxNiAyLjIwMSAxMC41NjEtLjk4OCAyLjY0My0zLjE4OSAyLjIwMS03LjkxNy0uOTg4LTEwLjU2MS01LjkwOS00Ljg5OC0xMC40NjUtOS45NTktMTMuOTI5LTE1LjQ3Mi01LjY4OC05LjA1Ni03LjM4NC0xNy43ODYtNS4xODUtMjYuNjg4IDMuOTc5LTE2LjEwMyAyMC41NjgtMzIuODUxIDQ5LjMxNC00OS43OTNoNTAuNzE1Yy0xMy4zMDYgMTAuNDc5LTI4LjEwNSAyNC43NzUtMjQuMDk1IDQyLjM1MyAzLjk3OSAxNy40NDEgMjQuMTc3IDI3LjE3OSAzOS4xNzggMzMuNDcyIDE5LjU1OCA4LjIwNSAzOS44MzUgMTQuNzIgNTkuNDQ1IDIxLjAyMSAzMi4wODggMTAuMzEgNjUuMjY5IDIwLjk3MSA5NS4wMDMgMzkuMTM3IDMzLjkzNCAyMC43MzEgNTUuNTE4IDUxLjE1OCA2Mi40MiA4Ny45ODkgNC40NzggMjMuODk2IDMuNDI2IDUwLjYzNC0zLjMxMSA4NC4xNTJsLS4xMDcuNTM2Yy0uODE0IDQuMDYyIDEuODE4IDguMDE0IDUuODggOC44MjguNDk4LjEuOTkzLjE0NyAxLjQ4MS4xNDcgMy41MDEgMCA2LjYzMi0yLjQ2NCA3LjM0Ni02LjAyOGwuMTA2LS41MzJjNy4xMjgtMzUuNDYyIDguMTkxLTY0LjAxOCAzLjM0OS04OS44NjctNy43MDctNDEuMTIzLTMxLjY4Ni03NS4wMi02OS4zNDQtOTguMDI2LTMxLjI2Mi0xOS4wOTktNjUuMzA5LTMwLjAzOS05OC4yMzQtNDAuNjE4LTE5LjMwNy02LjIwMy0zOS4yNzEtMTIuNjE4LTU4LjIzLTIwLjU3Mi01Ljc4Ny0yLjQyOS0xMC43MTItNC45MTItMTUuMDU3LTcuNTktNS40NjQtMy4zNjgtMTMuNzIxLTguNDU3LTE1LjMwMi0xNS4zODgtMi41NzktMTEuMzA5IDE0LjMzLTIzLjk5OCAyNS41Mi0zMi4zOTUgMy4yMTYtMi40MTQgNi4xMDYtNC41ODUgOC40NzMtNi42MTcgMCAwIDEzLjc4OSAwIDEzLjc4Ny4wMDItOS44OTIgNy43ODYtMzQuMTU2IDE5LjczMy0zMC4xNzQgMzUuNjUzIDEuOTk4IDcuOTg2IDEwLjY4OCAxMi4xOTEgMTguMDM1IDE0Ljk2MiAxMy45ODEgNS4yNzIgMjguMzI0IDkuMzY3IDQyLjQ1NiAxNC4xODYgMTUuNjQ0IDUuMzM1IDMwLjkzMyAxMC43ODMgNDUuNDQyIDE2LjE5NSA4LjkxMyAzLjMyNSAxOC40NyA2LjkzOCAyNy45NTcgMTAuODI5IDIxLjIxNCA4LjcwMSAzNy42NzkgMTcuMDI4IDUxLjgxNiAyNi4yMDYgMTIuMDk0IDcuODUyIDIyLjgxMyAxNi42MTEgMzEuODYxIDI2LjAzNSAxOS44NzUgMjAuNzAxIDMzLjY0OCA0OS4wODggMzkuODMxIDgyLjA5MSA3LjQ1MSAzOS43NzEgMy45MzcgODQuNTA1LTExLjA1OCAxNDAuNzgxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1NS4wODMgMTIyLjUxOC0uNDczLS4yNDZjLTUuNzc2LTIuOTkzLTExLjU0NS01Ljk4My0xNy4zMzQtOC45NDUtMy42ODQtMS44ODMtOC4yMDYtLjQyNi0xMC4wOTMgMy4yNjItMS44ODYgMy42ODgtLjQyNiA4LjIwNiAzLjI2MiAxMC4wOTMgNS43NjUgMi45NDkgMTEuNTExIDUuOTI3IDE3LjI2MyA4LjkwOGwuNDczLjI0NWMxLjEwNC41NzIgMi4yODMuODQzIDMuNDQ1Ljg0MyAyLjcxMiAwIDUuMzMxLTEuNDc2IDYuNjY1LTQuMDUgMS45MDYtMy42NzguNDctOC4yMDQtMy4yMDgtMTAuMTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuNjgzIDU3LjU4NGMxLjc0NC01LjUxIDQuNzE5LTEwLjE5NiA4LjE2My0xMi44NTYgMy4yNzgtMi41MzIgMy44ODItNy4yNDIgMS4zNTEtMTAuNTItMi41MzQtMy4yNzktNy4yNDQtMy44ODItMTAuNTIxLTEuMzUxLTUuODg5IDQuNTQ5LTEwLjYxIDExLjcyNC0xMy4yOTMgMjAuMjAxLTEuMjUgMy45NDkuOTM4IDguMTY0IDQuODg3IDkuNDE0Ljc1My4yMzggMS41MTUuMzUyIDIuMjY1LjM1MiAzLjE4Mi0uMDAxIDYuMTM2LTIuMDQzIDcuMTQ4LTUuMjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzUuODU1IDQ0MS4yNzZjLTMuNTUzLTIuMTI2LTguMTU5LS45NzItMTAuMjg3IDIuNTgzLTMuNDk0IDUuODM1LTYuOTQ5IDExLjU3Ni0xMC4zMDYgMTcuMTIyLTIuMTQ1IDMuNTQzLTEuMDExIDguMTU1IDIuNTMzIDEwLjI5OSAxLjIxNS43MzUgMi41NTQgMS4wODUgMy44NzcgMS4wODUgMi41MzcgMCA1LjAxNC0xLjI4OCA2LjQyMy0zLjYxOCAzLjM2OC01LjU2NSA2LjgzNy0xMS4zMjcgMTAuMzQzLTE3LjE4MyAyLjEyNy0zLjU1NC45NzEtOC4xNi0yLjU4My0xMC4yODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjQuODY0IDIyNC4xNTJjLTQuMDY3Ljc4Ni02LjcyNyA0LjcyLTUuOTQgOC43ODcuOTEgNC43MTMgMS4zNzIgOS40NjggMS4zNzIgMTQuMTMyIDAgLjM1OC0uMDAzLjcxNi0uMDA5IDEuMDktLjAxNS45NzYtLjA0NCAxLjk0Ny0uMDg3IDIuOTE1LS4xODcgNC4xMzggMy4wMTggNy42NDMgNy4xNTUgNy44MjkuMTE1LjAwNS4yMjkuMDA4LjM0My4wMDggMy45ODYgMCA3LjMwNi0zLjE0IDcuNDg2LTcuMTYzLjA1MS0xLjExNy4wODQtMi4yMzkuMTAxLTMuMzUuMDA4LS40NDMuMDExLS44ODcuMDExLTEuMzMgMC01LjYxNy0uNTU0LTExLjMzLTEuNjQ1LTE2Ljk3OC0uNzg3LTQuMDY3LTQuNzI4LTYuNzI1LTguNzg3LTUuOTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYxLjkyOSAyODMuMzE0Yy0zLjg4My0xLjQ0Ni04LjIwMS41My05LjY0NiA0LjQxMy0yLjA5MSA1LjYxOS00LjU5MiAxMS40MDQtNy42NDYgMTcuNjg2LTEuODExIDMuNzI1LS4yNTkgOC4yMTMgMy40NjYgMTAuMDI0IDEuMDU3LjUxNCAyLjE3NC43NTYgMy4yNzMuNzU2IDIuNzgxIDAgNS40NTQtMS41NTMgNi43NTEtNC4yMjMgMy4yNjYtNi43MTggNS45NTItMTIuOTM3IDguMjE0LTE5LjAxMSAxLjQ0NS0zLjg4Mi0uNTMtOC4yLTQuNDEyLTkuNjQ1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzM1LjkyIDMzNy4yNzVjLTMuNTg1LTIuMDc1LTguMTczLS44NTItMTAuMjQ5IDIuNzMzLTMuMTA5IDUuMzcyLTYuNjM0IDExLjQ2LTkuOTc1IDE3LjUxNy0yIDMuNjI3LS42ODIgOC4xODkgMi45NDUgMTAuMTkgMS4xNDguNjMzIDIuMzkxLjkzNCAzLjYxNS45MzQgMi42NDQgMCA1LjIwNy0xLjQwMSA2LjU3NC0zLjg3OSAzLjI2Ni01LjkyIDYuNzQ5LTExLjkzOCA5LjgyMi0xNy4yNDcgMi4wNzctMy41ODUuODUyLTguMTcyLTIuNzMyLTEwLjI0OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Hxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjE4OC42MzIiIHk9IjI1NiIgd2lkdGg9IjM1LjkzIiBoZWlnaHQ9IjE3Ljk2NSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQ0KCQkJYy0yLjY2NywwLTUuMTkzLDEuMTg0LTYuODk1LDMuMjI4Yy0xLjcxMSwyLjA0NC0yLjQyMSw0LjczNy0xLjkzOSw3LjM2bDE2LjAzOSw4OC4yMTlIMjYwLjQ5MVYzMS40MzkNCgkJCWMwLTQuOTY1LTQuMDE4LTguOTgyLTguOTgyLTguOTgySDUzLjg5NWMtNC45NjUsMC04Ljk4Miw0LjAxOC04Ljk4Miw4Ljk4MnY0NDAuMTRIMHYxNy45NjVoNTMuODk1aDE5Ny42MTRoMTI1Ljc1NGg1My44OTVINTEyDQoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4DQoJCQlMNDIzLjY1OCw0NzEuNTc5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDU4LjEwNSw3Ni4zNTFjLTI3LjQ1NiwwLTQ0LjQ4OSwxMi40OTYtNTMuODk1LDI1LjE5NWMtOS40MDgtMTIuNjk5LTI2LjQzOS0yNS4xOTUtNTMuODk1LTI1LjE5NQ0KCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYNCgkJCWMwLDQuOTY1LDQuMDE4LDguOTgyLDguOTgyLDguOTgyczguOTgyLTQuMDE4LDguOTgyLTguOTgyVjEyMi41NzJjMS41NDQtNC42OCwxMC45ODctMjguMjU3LDQ0LjkxMi0yOC4yNTcNCgkJCWM0Ljk2NSwwLDguOTgyLTQuMDE4LDguOTgyLTguOTgyQzQ2Ny4wODgsODAuMzY4LDQ2My4wNyw3Ni4zNTEsNDU4LjEwNSw3Ni4zNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5Ng0KCQkJYy00LjU3OSwxOC43NzIsMi4yMzcsNDAuMDk3LDE3Ljc5OCw1NS42NjdjMTIuMzYsMTIuMzYsMjguMzYsMTkuMjAyLDQzLjgxNiwxOS4yMDJjNC4wMDksMCw3Ljk4Mi0wLjQ2NSwxMS44NTEtMS40MDQNCgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDE1Ni4xNTgsMzgxLjM5NSwxMzQuODMzLDM2NS44MzMsMTE5LjI2M3ogTTM2Ny4wMDksMTY0LjkwMw0KCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDE0MS4zMTYsMzY3LjU3LDE1My43MDIsMzY3LjAwOSwxNjQuOTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyMDAuMTA1Yy0xNS41NTMtMTUuNTUzLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwyMzcsMzgxLjM5NSwyMTUuNjc2LDM2NS44MzMsMjAwLjEwNXogTTM2Ny4wMDksMjQ1Ljc0Ng0KCQkJYy0xMS4xNTgsMC40OTEtMjMuNTk2LTQuNTQ0LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41MzUsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyODAuOTQ3Yy0xNS41NTMtMTUuNTYxLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgNCgkJCWMtMTEuMTU4LDAuNDQ3LTIzLjU5Ni00LjUzNS0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTcsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDMwMywzNjcuNTcsMzE1LjM4NiwzNjcuMDA5LDMyNi41ODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY4LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMTQ4LjE1OCw1MTMuOTY1LDEyNi44MzMsNTA5LjM4NiwxMDguMDYxeiBNNDc4Ljg4NiwxNTEuMDI2DQoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3Nw0KCQkJQzQ5My4zMjUsMTI5LjI4OSw0ODguMjI4LDE0MS42NzUsNDc4Ljg4NiwxNTEuMDI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwxODguOTAzYy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4DQoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0DQoJCQljMTUuNDY1LDAsMzEuNDY1LTYuODQyLDQzLjgyNS0xOS4yMDJDNTA3LjE0OSwyMjksNTEzLjk2NSwyMDcuNjc2LDUwOS4zODYsMTg4LjkwM3ogTTQ3OC44ODYsMjMxLjg2OA0KCQkJYy05LjM1MSw5LjMzMy0yMS44NzcsMTQuMzY4LTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDAzLDMyLjkzOS0xMy44NzcNCgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMjY5Ljc0NmMtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY5LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzENCgkJCWMtOS4zNTEsOS4zNDItMjEuODc3LDE0LjMzMy0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQ0NywzMi45MzktMTMuODc3DQoJCQlDNDkzLjMyNSwyOTAuOTc0LDQ4OC4yMjgsMzAzLjM2LDQ3OC44ODYsMzEyLjcxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Vxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEzOS45MzMgMjMwLjU2NmgyMzIuMTM1YzIyLjQwNSAwIDQwLjYzNC0xOC4yMjggNDAuNjM0LTQwLjYzM3YtMTQ5LjNjLS4wMDEtMjIuNDA1LTE4LjIyOS00MC42MzMtNDAuNjM1LTQwLjYzM2gtMjMyLjEzNGMtMjIuNDA1IDAtNDAuNjM0IDE4LjIyOC00MC42MzQgNDAuNjMzdjE0OS4yOTljMCAyMi40MDYgMTguMjI4IDQwLjYzNCA0MC42MzQgNDAuNjM0em0tMjUuNjM0LTE4OS45MzNjMC0xNC4xMzQgMTEuNDk5LTI1LjYzMyAyNS42MzQtMjUuNjMzaDIzMi4xMzVjMTQuMTM1IDAgMjUuNjM0IDExLjQ5OSAyNS42MzQgMjUuNjMzdjE0OS4yOTljMCAxNC4xMzQtMTEuNDk5IDI1LjYzMy0yNS42MzQgMjUuNjMzaC0yMzIuMTM1Yy0xNC4xMzUgMC0yNS42MzQtMTEuNDk5LTI1LjYzNC0yNS42MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjExIDE2NC44MTNjMTAuNDIzIDIuMDgxIDE4Ljg1IDEwLjE4IDIwLjk3IDIwLjE1NyAxLjUzNiA3LjIyMiA4LjAyMiAxMi40NjMgMTUuNDIyIDEyLjQ2M2gxNDguOTQ3YzcuNDggMCAxMy45OC01LjMxIDE1LjQ1NS0xMi42MjQgMi4xMTUtMTAuNDgyIDEwLjU3Ni0xOC45MzYgMjEuMDUyLTIxLjAzOCA3LjMwOC0xLjQ2NiAxMi42MTEtNy45NjUgMTIuNjExLTE1LjQ1NHYtNjYuMDY3YzAtNy40ODQtNS4zMTEtMTMuOTg1LTEyLjYyNy0xNS40NTctMTAuNDcyLTIuMTA3LTE4LjkyNS0xMC41NjMtMjEuMDM2LTIxLjA0MS0xLjQ3NS03LjMxMi03Ljk2Ny0xMi42MTgtMTUuNDM5LTEyLjYxOGgtMTQ4Ljk3MWMtNy4zOTUgMC0xMy44NzggNS4yNDItMTUuNDE0IDEyLjQ2NS0yLjExOCA5Ljk2OS0xMC41NCAxOC4wNjctMjAuOTU1IDIwLjE1My03LjM1NSAxLjQ3Mi0xMi42OTIgNy45NzktMTIuNjkyIDE1LjQ3djY4LjEyNWMwIDcuNDk0IDUuMzMxIDEzLjk5OSAxMi42NzcgMTUuNDY2em0yLjMyMy04My41OTJjMC0uMzc0LjI2Mi0uNjg3LjYzOC0uNzYyIDE2LjIwMy0zLjI0NCAyOS4zMzctMTYgMzIuNjgyLTMxLjc0MS4wNzMtLjM0NC4zNzgtLjU4NS43NDItLjU4NWgxNDguOTcyYy4zNTcgMCAuNjY2LjI0NS43MzMuNTgzIDMuMjkgMTYuMzI1IDE2LjQ2NCAyOS40OTkgMzIuNzgyIDMyLjc4Mi4zNC4wNjguNTg2LjM4NS41ODYuNzUydjY2LjA2N2MwIC4zNjEtLjI0MS42ODMtLjU2MS43NDctMTYuMzI2IDMuMjc0LTI5LjUxIDE2LjQ0Ny0zMi44MDYgMzIuNzc4LS4wNjkuMzQyLS4zODYuNTkxLS43NTIuNTkxaC0xNDguOTQ3Yy0uMzYyIDAtLjY3OC0uMjQ2LS43NS0uNTgyLTMuMzQ3LTE1Ljc1Mi0xNi40OS0yOC41MTEtMzIuNzA1LTMxLjc0OC0uMzU3LS4wNzEtLjYxNC0uMzg5LS42MTQtLjc1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgNTAuMjA0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgMTgwLjM2MmMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg5LjczMyAxNjQuMWg0OS43YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTI1LjYzM2gxNy4zNWMyLjYgMCA1LjAxNC0xLjM0NiA2LjM4LTMuNTU3czEuNDkxLTQuOTcyLjMyOC03LjI5N2wtMjQuODUtNDkuN2MtMS4yNzEtMi41NDEtMy44NjctNC4xNDYtNi43MDgtNC4xNDZzLTUuNDM4IDEuNjA1LTYuNzA4IDQuMTQ2bC0xNC40OTMgMjguOTg3aC0yOC40OThjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjV2NDkuN2MtLjAwMSA0LjE0MiAzLjM1NyA3LjUgNy40OTkgNy41em00OS43MDEtNzMuNTYzIDEyLjcxNSAyNS40M2gtMjUuNDN6bS00Mi4yMDEgMjMuODYzaDEzLjQ5OGwtMi44NTYgNS43MTNjLTEuMTYzIDIuMzI1LTEuMDM4IDUuMDg2LjMyOCA3LjI5N3MzLjc4IDMuNTU3IDYuMzggMy41NTdoMTcuMzUxdjE4LjEzM2gtMzQuN3YtMzQuN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMwLjg2NyAyNDguNWMtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzNjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1MC4yNjZjOC41NDcgMCAxNS41LTYuOTUzIDE1LjUtMTUuNXYtMTcuMTMzYzAtOC41NDctNi45NTMtMTUuNS0xNS41LTE1LjV6bTUwLjc2NiAxNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTUwLjI2NmMtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNTAuMjY2Yy4yNzUgMCAuNS4yMjQuNS41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDk2LjUgNDYzLjg2N2gtMTcuNjcyYy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di0xMzYuNTA1YzkuNjA4LTMuMTYgMTYuNTY3LTEyLjIxMiAxNi41NjctMjIuODY0di04LjI4NGMwLTguNzAzLTcuMDgxLTE1Ljc4My0xNS43ODQtMTUuNzgzaC0yLjU2MmMxLjE0My0yLjggMS43NzktNS44NiAxLjc3OS05LjA2NyAwLTEzLjI3LTEwLjc5Ni0yNC4wNjYtMjQuMDY2LTI0LjA2NnMtMjQuMDY2IDEwLjc5Ni0yNC4wNjYgMjQuMDY2YzAgMy4yMDcuNjM1IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2M2MtOC43MDMgMC0xNS43ODMgNy4wODEtMTUuNzgzIDE1Ljc4M3Y4LjI4NGMwIDEwLjUxOCA2Ljc4NiAxOS40NzYgMTYuMjA3IDIyLjc0MS0xOC42MTYgMTguNDM4LTQwLjAzNyAzMy4zNTEtNjMuNzM0IDQ0LjMzNy0zLjc1OCAxLjc0Mi01LjM5MyA2LjIwMS0zLjY1IDkuOTU4IDEuMjcgMi43MzcgMy45NzggNC4zNDggNi44MSA0LjM0OCAxLjA1NiAwIDIuMTI5LS4yMjQgMy4xNDktLjY5OCAyMS4wNTgtOS43NjIgNDAuNDI3LTIyLjQzMiA1Ny43ODYtMzcuNzU0djIzLjcxMmMtNDUuNDEgMzUuNDk1LTEwMC4wMTQgNTQuMjQ3LTE1OC4xNjcgNTQuMjQ3LTU4LjE0OCAwLTExMi43NTYtMTguNzUzLTE1OC4xNjctNTQuMjQ5di0yMy42OWM0My43NjQgMzguNjkgOTkuMjggNTkuODA1IDE1OC4xNjcgNTkuODA1IDIzLjU5MiAwIDQ2LjkxMy0zLjQ0MSA2OS4zMTQtMTAuMjI4IDMuOTY0LTEuMjAxIDYuMjA0LTUuMzg4IDUuMDAzLTkuMzUzLTEuMjAxLTMuOTY0LTUuMzg5LTYuMjA3LTkuMzUzLTUuMDAzLTIwLjk4OSA2LjM1OS00Mi44NDcgOS41ODMtNjQuOTY0IDkuNTgzLTU5LjU3MiAwLTExNS40NjItMjMuMDctMTU3LjgwMi02NS4wMTggOS40MTktMy4yNjcgMTYuMjAyLTEyLjIyNCAxNi4yMDItMjIuNzR2LTguMjg0YzAtOC43MDMtNy4wOC0xNS43ODMtMTUuNzgzLTE1Ljc4M2gtMi41NjNjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA3IDEwLjc5OC0yNC4wNyAyNC4wNjhjMCAzLjIwNy42MzYgNi4yNjYgMS43NzkgOS4wNjdoLTIuNTYyYy04LjcwMyAwLTE1Ljc4NCA3LjA4MS0xNS43ODQgMTUuNzgzdjguMjg0YzAgMTAuNjUyIDYuOTU5IDE5LjcwNCAxNi41NjcgMjIuODY0djEzNi41MDZjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTcuNjczYy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzMmMwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDU5LjgzM2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNTkuODMzYy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg0ODFjLjI3NSAwIC41LjIyNC41LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtMzkxLjE2N2MtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgzOTEuMTY3YzguNTQ3IDAgMTUuNS02Ljk1MyAxNS41LTE1LjV2LTE3LjEzM2MwLTguNTQ3LTYuOTUzLTE1LjUtMTUuNS0xNS41em0tNjcuMzMzLTE2NC41NzdjLjE2MS0uODc4LjE1OC0xLjc3OC4wMDUtMi42NTZoMTguMTI4djE4LjEzM2gtMTguMTMzem0wIDQzLjkwNGMuMDEyLS4yMzkuMDEyLS40NzkgMC0uNzE5di0xMi43MDloMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC0xMDMuNzYxYzAtNC45OTkgNC4wNjctOS4wNjYgOS4wNjYtOS4wNjZzOS4wNjYgNC4wNjcgOS4wNjYgOS4wNjYtNC4wNjcgOS4wNjctOS4wNjYgOS4wNjctOS4wNjYtNC4wNjctOS4wNjYtOS4wNjd6bS0xNi41NjcgMjQuODVjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDQ5LjdjLjQzMyAwIC43ODQuMzUyLjc4NC43ODN2OC4yODRjMCA0Ljk5OS00LjA2NyA5LjA2Ni05LjA2NyA5LjA2NmgtMzMuMTMzYy01IDAtOS4wNjctNC4wNjctOS4wNjctOS4wNjZ6bS0xNTYuNiAxNDQuMTc2YzU3LjY0OCAwIDExMi4wMDctMTcuNDIyIDE1OC4xNjctNTAuNTE0djczLjk5MWMtOS42MDggMy4xNi0xNi41NjcgMTIuMjEyLTE2LjU2NyAyMi44NjR2OC4yODRjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0yODMuMjc5Yy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di03My45OTJjNDYuMTYxIDMzLjA5MiAxMDAuNTIzIDUwLjUxNSAxNTguMTY2IDUwLjUxNXptLTE3My4xNjctMTEwLjc4OWMtLjAxMi4yNDctLjAxMi40OTUgMCAuNzQydjE2LjM1NWgtMTguMTMzdi0xOC4xMzNoMTguMTMzem0tMTguMTMzIDMyLjA5N2gxOC4xMzN2MTAwLjk2N2gtMTguMTMzem0wLTkwLjMzNGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODQtLjc4M2g0OS43Yy40MzIgMCAuNzgzLjM1Mi43ODMuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0uNzg0IDE5OS41ODRjLS40MzMgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzem0zNjQuNDY2IDBjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODQuNzgzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Zxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzQuNjA4LDgwLjQzOWwtMjMyLTgwYy0xLjY5LTAuNTgzLTMuNTI2LTAuNTgzLTUuMjE2LDBsLTIzMiw4MEMyLjE2Niw4MS41NTEsMC4wMDEsODQuNTg3LDAsODcuOTk5djM4NA0KCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQNCgkJCUM0NzkuOTk5LDg0LjU4Nyw0NzcuODM0LDgxLjU1MSw0NzQuNjA4LDgwLjQzOXogTTQwLDIxNS45OTl2MjQ4SDE2di0zMDRoMjRWMjE1Ljk5OXogTTQyNCwyMDcuOTk5SDU2di0xNmgzNjhWMjA3Ljk5OXoNCgkJCSBNNDI0LDE3NS45OTlINTZ2LTE2aDM2OFYxNzUuOTk5eiBNNDY0LDQ2My45OTloLTI0di0zMDRoMjRWNDYzLjk5OXogTTQ2NCwxNDMuOTk5SDE2VjkzLjcwM2wyMjQtNzcuMjRsMjI0LDc3LjI0VjE0My45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgNCgkJCWMtOS4wOTgtMC4wMy0xNy40MjEsNS4xMTQtMjEuNDY0LDEzLjI2NGwtMjYuNCw1Mi44bC0yOS42LDE0LjhjLTIuNzA1LDEuMzUyLTQuNDE2LDQuMTEyLTQuNDI0LDcuMTM2djExMmMwLDguODM3LDcuMTYzLDE2LDE2LDE2DQoJCQloMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMjRoMTkydjI0YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTEyDQoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0DQoJCQljMy4wMzMtMC4wMSw1LjgwNywxLjcwNiw3LjE1Miw0LjQyNGwyMS43OTIsNDMuNTc2SDEzMi45NDRMMTU0LjczNiwyODQuNDIzeiBNMTI4LDQ2My45OTlIOTZ2LTI0aDMyVjQ2My45OTl6IE0zODQsNDYzLjk5OWgtMzINCgkJCXYtMjRoMzJWNDYzLjk5OXogTTM4NCw0MjMuOTk5SDEzNkg5NnYtNjcuMDU2bDI1Ljg4OC0xMi45NDRoMjM2LjIyNEwzODQsMzU2Ljk0M1Y0MjMuOTk5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYNCgkJCUMxNjgsMzY3LjE2MiwxNjAuODM3LDM1OS45OTksMTUyLDM1OS45OTl6IE0xNTIsMzkxLjk5OWgtMjR2LTE2aDI0VjM5MS45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMzU5Ljk5OWgtMjRjLTguODM3LDAtMTYsNy4xNjMtMTYsMTZ2MTZjMCw4LjgzNyw3LjE2MywxNiwxNiwxNmgyNGM4LjgzNywwLDE2LTcuMTYzLDE2LTE2di0xNg0KCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI4MCwzNTkuOTk5aC04MGMtOC44MzcsMC0xNiw3LjE2My0xNiwxNnYxNmMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDgwYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTE2DQoJCQlDMjk2LDM2Ny4xNjIsMjg4LjgzNywzNTkuOTk5LDI4MCwzNTkuOTk5eiBNMjgwLDM5MS45OTloLTgwdi0xNmg4MFYzOTEuOTk5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Xxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTMwLjAwOSAyMjMuMjQ4YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTE2LjY5NmMwLTEyLjU1NyAxMC4yMTYtMjIuNzczIDIyLjc3Mi0yMi43NzNoMTUuMzkyYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xNS4zOTJjLTIwLjgyOCAwLTM3Ljc3MiAxNi45NDUtMzcuNzcyIDM3Ljc3M3YxNi42OTZjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTcuODU2IDIwOC44NnYzNi4zMzljMCA0LjE0MiAzLjM1NyA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMzYuMzM5YzAtMy4yOTQgMi43OTYtNi4wNzggNi4xMDUtNi4wNzhoMTMuMjM3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMy4yMzdjLTExLjYzNyAwLTIxLjEwNSA5LjQ1NS0yMS4xMDUgMjEuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjI4LjE4MSAyMTEuNDNjMi45NDIgMS45NjQgNi4zODIgMi45NjMgOS44ODkgMi45NjMgMi40NDIgMCA0LjkxOS0uNDg1IDcuMjgyLTEuNDY3bDI0Ljc2LTEwLjI1NSA2My41OTUgNC45MDYgNC42NjEgMTYuMTIxYzEuNjE5IDUuNjAxIDUuNTk2IDEwLjA3NCAxMS4xOTcgMTIuNTk1IDMuMTQ4IDEuNDE3IDYuNTkxIDIuMTI0IDEwLjA0MSAyLjEyNCAzLjY1MyAwIDcuMzE2LS43OTMgMTAuNjQ0LTIuMzc0bDExNy4yOTEtNTUuNzI5YzYuNDY5LTMuMDc0IDExLjQyNS05LjAxIDEzLjI1OC0xNS44OCAxLjU4Mi01LjkzMi42MjktMTEuODM1LTIuNjg0LTE2LjYxOWwtMjMuNjM5LTM0LjE2NGMxNy43NjMtMjAuNDYyIDIxLjk0MS00OS41OTUgMTAuMTI3LTc0LjQ2MS0xNi4yNzItMzQuMjAxLTU3LjMzMi00OC43OTctOTEuNTEtMzIuNTUtMjYuMTgxIDEyLjQzNS00MS41OTIgNDAuMDA4LTM4LjkxIDY4LjQ1OGwtMzMuNzY2IDE2LjA0MmMtLjAwMSAwLS4wMDEgMC0uMDAxIDAtMTAuNzI1IDUuMDk2LTE1LjM5MSAxNy4yODEtMTEuNjExIDMwLjMxNWw4Ljc0NSAzMC4yNDJoLTQ3LjE1N2wtMjUuMDU1LTEwLjM3N2MtNS43NjMtMi4zNzEtMTIuMTc5LTEuNzkzLTE3LjE2NyAxLjU0Ni00LjcxMyAzLjE1Ny03LjQxNiA4LjIyMS03LjQxNiAxMy44OTN2NDAuNzYxYy0uMDAyIDUuNjkxIDIuNzA2IDEwLjc2IDcuNDI2IDEzLjkxem0yNTcuNi01NS4wNzdjLjc5IDEuMTQuOTY2IDIuNTU4LjUyNCA0LjIxNC0uNjkyIDIuNTkzLTIuNzM0IDUuMDI2LTUuMjAyIDYuMTk5bC0xMTcuMjkxIDU1LjcyOGMtMi40NyAxLjE3My01LjY0NiAxLjIyMS04LjA5MS4xMi0xLjU2NS0uNzA0LTIuNTU2LTEuNzQxLTIuOTQzLTMuMDgzbC0yMi4zNzYtNzcuMzg1IDEwOS41NDItNTIuMDR6bS04Ni4yNTItMTM2LjE2MmMuMDAxIDAgLjAwMi0uMDAxLjAwMy0uMDAxIDI2LjcxNi0xMi43MDMgNTguODA2LTEuMjg4IDcxLjUyNCAyNS40NDIgOC42NjQgMTguMjM3IDYuMzMgMzkuNDE3LTUuNDYzIDU1LjE3M2wtLjAyNC0uMDI2LTI4LjAwMi00MC40N2MtNy43MjktMTEuMTYtMjAuMTM1LTE1LjI0MS0zMC44NjgtMTAuMTU3bC0zNy44MDMgMTcuOTU4LS4wMTIuMDAzYy4yMTctMjAuMTkgMTEuODk5LTM5LjAxOSAzMC42NDUtNDcuOTIyem0tNzIuNjc2IDg0LjQ5OCA4Ni4yNzMtNDAuOTg0YzQuNzUtMi4yNTEgOS40OTIgMS4zNjYgMTIuMTA3IDUuMTQzbDYuMDYyIDguNzYtMTA1LjExNSA0OS45MzctMi45NjctMTAuMjYyYy0xLjI3OC00LjQwNC0xLjA5LTEwLjM0NiAzLjY0LTEyLjU5NHptLTUwLjQ1MyA2Mi4wMDloNDUuNDc4bDcuMzY1IDI1LjQ5LTUyLjg0My00LjA3N3ptLTQwLjY0Ny05LjkzOGMwLS4zOTUuMDc5LS45NzIuNzY1LTEuNDMxLjIwNC0uMTM3Ljc3MS0uNDU1IDEuNjEzLS40NTUuNDI3IDAgLjkyNC4wODIgMS40OC4zMTFsMjEuNzg4IDkuMDI0djI1LjgzNGwtMjEuNzk3IDkuMDI3Yy0xLjY2NS42OTQtMi43OTIuMDg1LTMuMDk2LS4xMTgtLjY2OC0uNDQ2LS43NTQtLjk5OS0uNzU0LTEuNDMxdi00MC43NjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTkwLjkyIDQ2OC4yNzdjLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjctNy42NzgtMi45MjctMTAuNjA3LjAwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwNy45NTcgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzAuNzg0IDQwOS4zODVjMjIuNzEzLTIuMjc4IDQxLjE5MS0yMi43OTIgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MDktMS41NDktNy4yMzQtNC4yNDgtOS42NzEtMi42OTItMi40MzEtNi4zNTItMy42MDktMTAuMDEtMy4yMzNsLTI4LjgxIDIuODkyYy05LjkyMyAxLjAxLTE5LjAzNyA1LjUwMi0yNi4xNTEgMTIuMTUybC4wNjMtNS4xNTRjMC0yMi45MDMtMTguMzM3LTQzLjI2Ni00MS4wNTQtNDUuNTc4bC0yOC43ODMtMi44OWMtMy42ODctLjM3OS03LjMzNC44MDItMTAuMDI1IDMuMjMyLTIuNjk5IDIuNDM4LTQuMjQ4IDUuOTYyLTQuMjQ4IDkuNjcxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzMgNDMuNDE3IDQxLjE4NSA0NS43MjlsMjcuODYzIDIuODE0djUzLjk5NmgtNTQuNTE5Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDExOS4zMDRjMi40NDQgMCA0LjQzNCAxLjk3NiA0LjQzNCA0LjQwNXY0NS41MjNjMCAyLjQwMy0yLjAzIDQuNDM0LTQuNDM0IDQuNDM0aC00NzMuMTM0Yy0yLjM4OCAwLTQuNDA1LTIuMDMtNC40MDUtNC40MzR2LTQ1LjUyM2MwLTIuMzg4IDIuMDE4LTQuNDA1IDQuNDA1LTQuNDA1aDMxOS4xOTJjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTc1LjEyNnYtMTUuMzk3bDI4LjA1Ny0yLjgzM2MyMi43MTMtMi4yNzggNDEuMTktMjIuNzkyIDQxLjE5LTQ1LjcyOXYtMjguNzQzYzAtMy43MDUtMS41NTItNy4yMjktNC4yNTctOS42NjktMi43LTIuNDM1LTYuMzU5LTMuNjEyLTEwLjAwMS0zLjIzNWwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xOCAxMi4xNjMgMCAwIC4xOTktNC40MjkuMTk5LTUuMDEzIDAtMjIuOTA3LTE4LjQ3NC00My40Mi00MS4xOS00NS43MjlsLTI4Ljc3Ni0yLjg5Yy0zLjY2Ni0uMzc1LTcuMzA4Ljc5Ni05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2Ny00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNCAyLjgxM3Y1My45OTZoLTE2NC4yNTN2LTE1LjM5OGwyOC4wMjYtMi44MzJjMjIuNzEzLTIuMjc0IDQxLjE5MS0yMi43ODkgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MTMtMS41NTEtNy4yNDItNC4yNTUtOS42ODEtMi42ODktMi40MjYtNi4zMzMtMy42MDQtOS45NzUtMy4yMjRsLTI4LjgxIDIuODkyYy05LjkzNCAxLjAxMS0xOS4wNTggNS41MDctMjYuMTc5IDEyLjE2MiAwIDAgLjE5OC00LjQzLjE5OC01LjAxMiAwLTIyLjkwMy0xOC40NzQtNDMuNDE3LTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjYtLjM3NC03LjMwNi43OTUtOS45OTcgMy4yMjItMi43MDQgMi40MzktNC4yNTUgNS45NjgtNC4yNTUgOS42ODF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3NCA0My40MTcgNDEuMTg2IDQ1LjcyOWwyNy44MzUgMi44MTN2MzEuNzk1IDIyLjIwMWgtNDkuODEyYy0xMC43IDAtMTkuNDA1IDguNzA1LTE5LjQwNSAxOS40MDV2NDUuNTIzYzAgMTAuNzE2IDguNzA1IDE5LjQzNCAxOS40MDUgMTkuNDM0aDQ3My4xMzRjMTAuNzE2IDAgMTkuNDM0LTguNzE4IDE5LjQzNC0xOS40MzR2LTQ1LjUyM2MwLTEwLjctOC43MTgtMTkuNDA1LTE5LjQzNC0xOS40MDVoLTQ5Ljc4NXYtMTUuMzk4em0tMjguMDI4LTM4Ljc1NmMwLTE1LjE3MSAxMi42NzItMjkuMjc5IDI3LjY2LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY4IDI5LjI5OS0yNy42OTMgMzAuODA1bC0xNS40MTUgMS41NTggMTkuMDY5LTIxLjA5N2MyLjc3Ny0zLjA3MyAyLjUzNy03LjgxNi0uNTM1LTEwLjU5My0zLjA3Mi0yLjc3NS03LjgxNC0yLjUzOS0xMC41OTQuNTM1bC0xOS4wNTEgMjEuMDc3em0tMTUtMjMuNDU3LTE4Ljg4LTIwLjg4OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTNsMTkuMDY3IDIxLjA5Ni0xNS40MDgtMS41NTZjLTE1LjAxNC0xLjUyOC0yNy42OTgtMTUuNjM1LTI3LjY5OC0zMC44MDV2LTI2LjQ5N2wyNi41NDggMi42NjZjMTUuMDE1IDEuNTI4IDI3LjUgMTUuNjM1IDI3LjUgMzAuODA1em0tMTY0LjI4MiAyMy40NTdjMC0xNS4xNyAxMi42ODUtMjkuMjc3IDI3LjY4OC0zMC44MDVsMjYuNTU5LTIuNjY2djI2LjQ5OGMwIDE1LjE5Mi0xMi42NzkgMjkuMjk5LTI3LjY5MiAzMC44MDVsLTE1LjQxNCAxLjU1NyAxOS4wNjgtMjEuMDk2YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA3OSAyMS4xMDh2LTE1LjM0M3ptLTQ0Ljk4LTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1N2MtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyMSAyLjY2M2MxNS4wMTUgMS41MjYgMjcuNDk5IDE1LjYzMyAyNy40OTkgMzAuODA1djE1LjA5MWwtMTguODUyLTIwLjg1N2MtMi43NzgtMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTN6bS0xMzQuMjczIDM0LjI4NmMwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41My0yLjY2M3YyNi40OTVjMCAxNS4xOTUtMTIuNjc5IDI5LjMwMS0yNy42OTIgMzAuODA1bC0xNS40MDUgMS41NTcgMTkuMDgzLTIxLjA5NGMyLjc3OS0zLjA3MiAyLjU0Mi03LjgxNC0uNTMtMTAuNTkzLTMuMDY4LTIuNzc4LTcuODEzLTIuNTQyLTEwLjU5My41M2wtMTkuMDgxIDIxLjA5MXptLTQ0Ljk4MS0zNC4yODYgMTkuMDY5IDIxLjA5Ny0xNS40MDktMS41NThjLTE1LjAxNS0xLjUyOC0yNy42OTktMTUuNjM1LTI3LjY5OS0zMC44MDV2LTI2LjQ5NWwyNi41MiAyLjY2M2MxNS4wMTUgMS41MjggMjcuNTAxIDE1LjYzNSAyNy41MDEgMzAuODA1djE1LjA5MmwtMTguODUzLTIwLjg1OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTIxLS41MzUgMTAuNTk0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Kxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2LjYyMiAxNTEuNzQxaDEwLjh2MzUuNjgxYzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NSA0LjVoMTQuODE0YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM5Ljk0aDIwLjEzOXYxODUuMTE1aC0yMy40NTdjLTEwLjkzOCAwLTE5LjgzNyA4Ljg5OC0xOS44MzcgMTkuODM2djM3LjMyNGMwIDkuOTY4IDcuMzk4IDE4LjIxOSAxNi45ODggMTkuNjA4djg3LjU3NmMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNWM4LjMwNCAwIDE1LjA1OS02Ljc1NSAxNS4wNTktMTUuMDU5di01My44NDRoNTEuNDY0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41Yy05Ljc2NSAwLTg1Ljc4NSAwLTk2LjkxNyAwdi0xOC41MDNoMjI4LjgzNHYxOC41MDNjLTExLjEzNyAwLTg3LjIxNyAwLTk2LjkxNyAwLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoNTEuNDY1djUzLjg0NGMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNGM4LjMwNCAwIDE1LjA2LTYuNzU1IDE1LjA2LTE1LjA1OSAwLTEwLjE1NCAwLTc3LjAzNiAwLTg3LjU3NiA5LjU5LTEuMzg5IDE2Ljk4OC05LjY0IDE2Ljk4OC0xOS42MDh2LTM3LjMyNGMwLTEwLjkzOC04Ljg5OC0xOS44MzYtMTkuODM3LTE5LjgzNmgtMjMuNDU3di03NS4wNThjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzUuMDU4aC0yNS4xNjRjMC0yMS43MTMgMC0xNjIuOTEyIDAtMTg1LjExNWgyNS4xNjR2NzUuMDU4YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTc1LjA1OGgyMC4xMzl2MzkuOTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzVoMTQuODE0YzQuNzk5IDAgOS4yMDgtMS42OTEgMTIuNjc1LTQuNSAzLjQ2NyAyLjgwOSA3Ljg3NSA0LjUgMTIuNjc0IDQuNWgxNC44MTVjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMzUuNjgxaDEwLjhjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMTQuODE0YzAtMTEuMTI1LTkuMDUxLTIwLjE3NS0yMC4xNzUtMjAuMTc1aC0xMC44di0zNS42ODFjMC0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNWMtNC43OTkgMC05LjIwNyAxLjY5MS0xMi42NzQgNC41LTMuNDY3LTIuODA5LTcuODc1LTQuNS0xMi42NzUtNC41aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2MzkuOTQxaC0yMC4xMzl2LTgwLjY2M2MtLjAwMS0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHY1MC41MzRoLTk1Ljg5NnYtNTAuNTM0YzAtMTEuMTI0LTkuMDUtMjAuMTc0LTIwLjE3NC0yMC4xNzRoLTE0LjgxNWMtMTEuMTI0IDAtMjAuMTc0IDkuMDUtMjAuMTc0IDIwLjE3NHY4MC42NjNoLTIwLjEzOXYtMzkuOTQxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTQuNzk5IDAtOS4yMDggMS42OTEtMTIuNjc1IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM1LjY4MWgtMTAuOGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NXYxNC44MTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzV6bTE0MS4yNjctNC4yNmgyNS4xNjN2MTg1LjExNWgtMjUuMTYzem00MC4xNjMgNjguNzEyaDk1Ljg5NnY3Ni45MDFoLTk1Ljg5NnptOTUuODk1LTE1aC05NS44OTZ2LTIzLjU4M2g5NS44OTZ6bS0xMzEuOTE5IDI0MS45MDQtLjA1MSA1My45MDMtMzAuMzkzLS4wMzljMC0uMDAxLS4wMDEtLjAwOC0uMDAxLS4wMnYtNTMuODQ0em0xOTguMzI5IDUzLjkwMy0zMC4zOTMtLjA1OXYtNTMuODQ0aDMwLjQ0NXptMTIuMjExLTE0OS40MDNjMi42NjcgMCA0LjgzNyAyLjE2OSA0LjgzNyA0LjgzNnYzNy4zMjRjMCAyLjY2Ny0yLjE3IDQuODM2LTQuODM3IDQuODM2LTEzLjIwMiAwLTI0MS4yNTYgMC0yNTMuMTM3IDAtMi42NjcgMC00LjgzNy0yLjE2OS00LjgzNy00LjgzNnYtMzcuMzI0YzAtMi42NjcgMi4xNy00LjgzNiA0LjgzNy00LjgzNnptLTE3NC41MTYtMTV2LTI0LjUwM2g5NS44OTZ2MjQuNTAzem05NS44OTUtMTY5Ljk4N2gtOTUuODk2di0xNS4xMjhoOTUuODk2em0tMTE1Ljk3Ny0zMC4xMjl2LTE2LjY0NWgxMzYuMDZ2MTYuNjQ1Yy00LjY1MyAwLTEzMC40MTEgMC0xMzYuMDYgMHptMjk3LjQwOC0yMC45MDRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc1djE0LjgxNGMwIDIuODA1LTIuMzcgNS4xNzUtNS4xNzUgNS4xNzVoLTEwLjh2LTI1LjE2NHptLTQ1Ljc5LTU1Ljg1NWgxNC44MTVjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTVjLTIuODA1IDAtNS4xNzQtMi4zNy01LjE3NC01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzY5LTUuMTc0IDUuMTc0LTUuMTc0em0tNDUuMzM4IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC0yLjkwNCAwLTEyMi42MDIgMC0xMjYuNTI2em0tMTUgNzEuNTg1Yy0xMy40NjMgMC0yNS4xODYgMC00MC4yMjEgMHYtMTYuNjQ1aDQwLjIyMXptLTYwLjMwMy0xMTIuMzA3YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44NTQgMCA1LjE3NSAyLjMyMSA1LjE3NSA1LjE3NHY4MC42NjNjLTkuMTA2IDAtMTYuMDU4IDAtMjUuMTY0IDAgMC05LjM3MyAwLTcwLjg4NSAwLTgwLjY2M3ptLTE1IDY1LjUzNHYxNS4xMjhoLTk1Ljg5NnYtMTUuMTI4em0tMTM2LjA1OC02NS41MzRjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NGgxNC44MTVjMi44MDUgMCA1LjE3NCAyLjM3IDUuMTc0IDUuMTc0djgwLjY2M2MtOS4xMDQgMC0xNi4wMzkgMC0yNS4xNjMgMHptNS4wODEgOTUuNjYzdjE2LjY0NWMtMTUuMjczIDAtMjYuNDYgMC00MC4yMiAwdi0xNi42NDV6bS03NS4yMDktNjAuMTE1aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODA1IDAtNS4xNzUtMi4zNy01LjE3NS01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzR6bS00NS4zMzkgNS4xNzRjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC01LjY3OSAwLTEyMC44MjcgMC0xMjYuNTI2em0tMzAuOTc1IDU1Ljg1NmMwLTIuODU0IDIuMzIxLTUuMTc1IDUuMTc1LTUuMTc1aDEwLjh2MjUuMTY0aC0xMC44Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",qxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsMjgwaC0xNlYxNjYuNGMwLTEyLTkuNi0yMi40LTIyLjQtMjIuNGgtNGMtMTIsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwaC0yNHYtMTZjMC0xMy42LTEwLjQtMjQtMjQtMjRIMTIwDQoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOA0KCQkJdjE0NGMwLDQuOCwzLjIsOCw4LDhoOHY4YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LThoMzg0djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGg4YzQuOCwwLDgtMy4yLDgtOFYyOTZoOA0KCQkJYzQuOCwwLDgtMy4yLDgtOFM0NzYuOCwyODAsNDcyLDI4MHogTTQzMC40LDE2MGg0YzMuMiwwLDYuNCwyLjQsNi40LDYuNFYyODBoLTE2VjE2Ni40SDQyNEM0MjQsMTYzLjIsNDI2LjQsMTYwLDQzMC40LDE2MHoNCgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6DQoJCQkgTTIzMiw0MzJIMzJ2LTY0aDIwMFY0MzJ6IE00NDgsNDMySDI0OHYtNjRoMjAwVjQzMnogTTQ0OCwzNTJIMzJ2LTU2aDQxNlYzNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDgsMzg0Yy00LjgsMC04LDMuMi04LDh2MTZjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtMTZDMjE2LDM4Ny4yLDIxMi44LDM4NCwyMDgsMzg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM4NCwxNkg5NmMtNC44LDAtOCwzLjItOCw4djE2MGMwLDQuOCwzLjIsOCw4LDhoMjg4YzQuOCwwLDgtMy4yLDgtOFYyNEMzOTIsMTkuMiwzODguOCwxNiwzODQsMTZ6IE0zNzYsMTc2SDEwNFYzMmgyNzINCgkJCVYxNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTU3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTI0LDI0Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGwyNC0yNA0KCQkJQzE2MC44LDU4LjQsMTYwLjgsNTMuNiwxNTcuNiw1MC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01Ng0KCQkJQzIwMC44LDU4LjQsMjAwLjgsNTMuNiwxOTcuNiw1MC40eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",eSe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgOTZoLTE0NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxODRoLTE3NnYtMjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2MTZoMTZ2MTZoLTMydi0zMmgtMTZ2MzJoLTMydi0xNmgxNnYtMTZoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djI0aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxNzZjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0NjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzY4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0xMzYgMTZoMTI4djk2aC0xMjh6bS0xNiAyMjRoLTE0NHYtMzJoMTQ0em0tMzA0LTMyaDE0NHYzMmgtMTQ0em0wIDQ4aDE0NHYxMTJoLTE0NHptMTYwIDBoNjR2MTEyaC02NHptODAgMGg2NHYxMTJoLTY0em04MCAxMTJ2LTI0MGgxMjh2MjQwem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAyNTZoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDQgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzNiAzNjhoLTk2Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTggNjRoLTgwdi00OGg4MHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzIgMzEyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzIgMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTIgMjAwaDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LThjLS4wNTQ2ODgtMTQuNTQ2ODc1LTkuOTE0MDYyLTI3LjIyNjU2Mi0yNC0zMC44NjMyODF2LTE1My4xMzY3MTloLTE2djE1My4xMzY3MTljLTE0LjA4NTkzOCAzLjYzNjcxOS0yMy45NDUzMTIgMTYuMzE2NDA2LTI0IDMwLjg2MzI4MXY4YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTI0LTMyYzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZoLTMyYzAtOC44MzU5MzggNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",tSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMC40MTcgMjMzLjIyNS01OC42NDQtMTE3LjI3OWMtMTUuOTM5LTMxLjg3Ny00Ny45NzgtNTEuNjgtODMuNjItNTEuNjgtOC41ODYgMC0xNi45ODQgMS4xODgtMjUuMDMyIDMuNDM3LjEwNS0xLjQ4OS4xNzgtMi45ODguMTc4LTQuNTAzIDAtMzQuODQ5LTI4LjM1MS02My4yLTYzLjItNjMuMnMtNjMuMiAyOC4zNTItNjMuMiA2My4yYzAgMzAuOTkzIDIyLjQzMiA1Ni44MjggNTEuOTA5IDYyLjE2OWwtNjEuMzY2IDYxLjQ3Yy02Ljg3NSA2Ljg4Ni0yMS44NzEgMjcuODItMTAuMzMzIDU0LjQ2LTEuNzA1LS4xOTEtMy40MjEtLjI5OS01LjE0NC0uMjk5LTIzLjA4NyAwLTQyLjMzNiAxNi42OS00Ni4zNTEgMzguNjM1LTcuNzQtNC4xNDQtMTYuNTczLTYuNTAxLTI1Ljk0OS02LjUwMS0zMC40MTkgMC01NS4xNjcgMjQuNzQ4LTU1LjE2NyA1NS4xNjcgMCA5LjA2MyAyLjIxMSAxNy42MTUgNi4xIDI1LjE2N2gtNDAuNTk4di0zMzguNDY4YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djQ4MmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1czE1LTYuNzE2IDE1LTE1di00OS4yNjdoMzA2LjU2M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di02NC4yNjdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtMzYuNDEyYzMuMjc0LTguMzk1IDMuMjE0LTE1LjI2MyAzLjIxNC0xOC4yIDI4LjQ2OSAwIDQ4LjItMjIuMDk4IDQ4LjItNDcuMTMzIDAtMjUuOTg5LTIxLjE0NC00Ny4xMzMtNDcuMTMzLTQ3LjEzM2gtMTIuMzA0bDU1LjkwNC01Ni4wODYgNTMuNzM2IDEwNi43NzctLjEwMyAyMDUuMzAxYy0uMDAyIDMuOTc5IDEuNTc4IDcuNzk2IDQuMzkxIDEwLjYxMSAyLjgxMyAyLjgxNCA2LjYzIDQuMzk2IDEwLjYwOSA0LjM5Nmg4MC4zMzVjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtMjU3LjA2NmMwLTIuMzI5LS41NDItNC42MjUtMS41ODMtNi43MDh6bS0yNjMuNTE3LTE3MC4wMjVjMC0xOC4zMDcgMTQuODk0LTMzLjIgMzMuMi0zMy4yczMzLjIgMTQuODk0IDMzLjIgMzMuMi0xNC44OTQgMzMuMi0zMy4yIDMzLjJjLTE4LjMwNyAwLTMzLjItMTQuODkzLTMzLjItMzMuMnptLTEyNy4yMzMgMjM5LjkzM2MxMy44NzcgMCAyNS4xNjcgMTEuMjkgMjUuMTY3IDI1LjE2N3MtMTEuMjkgMjUuMTY3LTI1LjE2NyAyNS4xNjctMjUuMTY3LTExLjI5LTI1LjE2Ny0yNS4xNjcgMTEuMjktMjUuMTY3IDI1LjE2Ny0yNS4xNjd6bTIwMS44OTYgODAuMzM0djM0LjI2N2gtMjkxLjU2M3YtMzQuMjY3em0tMTcuMTMtMTEyLjQ2N2M5LjQ0NyAwIDE3LjEzMyA3LjY4NiAxNy4xMzMgMTcuMTMzIDAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTE2LjA2N2MtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXYxNi4wNjdjMCA5LjU4My03LjgxNCAxNy4xMzMtMTcuMTMzIDE3LjEzM2gtNjQuMjY3Yy05LjQ0NyAwLTE3LjEzMy03LjY4Ni0xNy4xMzMtMTcuMTMzdi00OC4yYzAtOS40NDcgNy42ODYtMTcuMTMzIDE3LjEzMy0xNy4xMzMgOS4yOTcgMCAxNy4xMzMgNy41MjYgMTcuMTMzIDE3LjEzM3YxNi4wNjdjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtMTYuMDY3YzAtOS40MjkgNy42MTYtMTcuMTMzIDE3LjEzMy0xNy4xMzN6bTE3Ny41NjcgMjExaC01MC4zMjZsLjA5Ny0xOTMuODU5Yy4wMDEtMi4zNDQtLjU0Ny00LjY1Ni0xLjYwMS02Ljc1bC02NC42ODUtMTI4LjUzM2MtMi4xNjctNC4zMDUtNi4yNjktNy4zMDYtMTEuMDI3LTguMDY4LTQuNzYxLS43NjItOS41OTQuODEtMTIuOTk1IDQuMjIybC04Ni40NTggODYuNzM5Yy03LjI2MyA3LjI5MS0xOS4xMTUgNi44MDctMjYuMzA4LS4zODYtNy4zODEtNy4zODEtNy43MjgtMTkuNjExLS4wMjItMjcuMzI5bDk1LjI3LTk1LjQzMWMxMS43OTktMTEuODI1IDI3LjUtMTguMzM3IDQ0LjIxNy0xOC4zMzcgMjQuMTk5IDAgNDUuOTU1IDEzLjQ0OCA1Ni43NzkgMzUuMDk3bDU3LjA1OSAxMTQuMTA5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",sSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNOTIuNTQ1LDE4NS4wOWM1MS4wMjksMCw5Mi41NDUtNDEuNTE2LDkyLjU0NS05Mi41NDVTMTQzLjU3NCwwLDkyLjU0NSwwUzAsNDEuNTE2LDAsOTIuNTQ1ICAgIFM0MS41MTYsMTg1LjA5LDkyLjU0NSwxODUuMDl6IE05Mi41NDUsMjBjNDAuMDAxLDAsNzIuNTQ1LDMyLjU0NCw3Mi41NDUsNzIuNTQ1cy0zMi41NDQsNzIuNTQ1LTcyLjU0NSw3Mi41NDUgICAgUzIwLDEzMi41NDYsMjAsOTIuNTQ1UzUyLjU0NCwyMCw5Mi41NDUsMjB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMiwzMzJoLTYxLjU0N2MtOC40Ni0xMi4wMzQtMjEuMTcyLTIwLjU1OC0zNS42NzEtMjMuNzI4bC00My45NjQtOS42MTMgICAgYzE3Ljk5MS0xMi4xMzQsMjkuODQ3LTMyLjcwMiwyOS44NDctNTUuOTg4di0yNC40MTd2LTExLjI5N3YtMi41NDJjMC0zNy4yMTItMzAuMjc0LTY3LjQ4Ni02Ny40ODYtNjcuNDg2ICAgIHMtNjcuNDg2LDMwLjI3NC02Ny40ODYsNjcuNDg2djIuNTQydjExLjI5N3YyNC40MTdjMCwyMy4yNTYsMTEuODI1LDQzLjgwMywyOS43NzgsNTUuOTQzbC00My45MzYsOS42MzkgICAgYy0xLjg3NywwLjQxMi0zLjcyMiwwLjkxNy01LjUzNSwxLjUwMlYyMjdjMC01LjUyMi00LjQ3OC0xMC0xMC0xMGgtNjhjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBzNC40NzgsMTAsMTAsMTBoNTh2MTQwaC02OHYtNTAgICAgYzAtMTYuNTQyLTEzLjQ1OC0zMC0zMC0zMHMtMzAsMTMuNDU4LTMwLDMwdjUwSDIwVjIzN2g1OGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEgxMGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHYxNjAgICAgYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNzh2MTloLTFjLTE3LjA5NCwwLTMxLDEzLjkwNi0zMSwzMXY1SDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNDkyICAgIGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi00MHYtNDB2LTQwdi00MEM1MTIsMzM2LjQ3OCw1MDcuNTIyLDMzMiw1MDIsMzMyeiBNNDQxLjE3OSw0NTJIMzg0di0yMGgxMDh2MjBINDQxLjE3OXogTTQ5Miw0MTJIMzg0ICAgIHYtMjBoMTA4VjQxMnogTTQ5MiwzNzJIMzg0di0yMGg1MC44NzRjMC4wMywwLDAuMDYsMC4wMDYsMC4wODksMC4wMDZjMC4wMzEsMCwwLjA2My0wLjAwNiwwLjA5NC0wLjAwNkg0OTJWMzcyeiBNMjc1LjY5MiwyMDQuNDE2ICAgIGMwLTI2LjE4NCwyMS4zMDMtNDcuNDg2LDQ3LjQ4Ni00Ny40ODZjMjQuOTMzLDAsNDUuNDM5LDE5LjMxNCw0Ny4zNDIsNDMuNzY3bC0yMy4yNDYtMTMuNjU3ICAgIGMtNC4yMTEtMi40NzUtOS41OTMtMS41NDQtMTIuNzMsMi4xOTljLTEwLjEyNiwxMi4wODUtMjQuOTc3LDE5LjAxNy00MC43NDQsMTkuMDE3aC0xOC4xMDd2LTEuMjk3VjIwNC40MTZ6IE0yNzUuNjkyLDIyOC4yNTUgICAgSDI5My44YzE4LjgyNSwwLDM2LjctNy4xNzksNTAuMjA1LTE5Ljk0bDI2LjY2LDE1LjY2M3YxOC42OTRjMCwyNi4xODQtMjEuMzAzLDQ3LjQ4Ni00Ny40ODYsNDcuNDg2cy00Ny40ODYtMjEuMzAzLTQ3LjQ4Ni00Ny40ODYgICAgVjIyOC4yNTV6IE0zMzguODQ0LDMwOC4zMDNsLTE1LjgxNSw0Mi4yOTRsLTE1Ljg0NC00Mi4zN2M1LjEzLDEuMjUyLDEwLjQ4MywxLjkzMSwxNS45OTMsMS45MzEgICAgQzMyOC41NzIsMzEwLjE1OCwzMzMuODEzLDMwOS41MDQsMzM4Ljg0NCwzMDguMzAzeiBNMjI2LDM5N2M1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi01NS42MjNjMy4wODUtMS42MjYsNi4zNzQtMi44MzIsOS44Mi0zLjU4OCAgICBsNDMuNzQtOS41OTZsMjQuMTAzLDY0LjQ1N2MxLjQ2MSwzLjkwNyw1LjE5NCw2LjQ5Nyw5LjM2Niw2LjQ5N3M3LjkwNS0yLjU5LDkuMzY2LTYuNDk4bDI0LjEwNC02NC40NjFsNDQuMDExLDkuNjIzICAgIGMzLjg2MywwLjg0NCw3LjUyOSwyLjI3NCwxMC45MDIsNC4xODhIMzc0Yy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwdjQwdjMwSDIxNS4xNzl2LTU1SDIyNnogTTE5NS4xNzksMzk3djU1SDE4MHYtNSAgICBjMC0xNy4wOTQtMTMuOTA2LTMxLTMxLTMxaC0xdi0xOUgxOTUuMTc5eiBNMTA4LDMyN2MwLTUuNTE0LDQuNDg2LTEwLDEwLTEwczEwLDQuNDg2LDEwLDEwdjg5aC0yMFYzMjd6IE03Niw0NDcgICAgYzAtNi4wNjUsNC45MzUtMTEsMTEtMTFoMTFoNDBoMTFjNi4wNjUsMCwxMSw0LjkzNSwxMSwxMXY1SDc2VjQ0N3ogTTQ5Miw0OTJIMjB2LTIwaDQ3MlY0OTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMsMjE5LjkzYy0xLjg2LDEuODYtMi45Myw0LjQ0LTIuOTMsNy4wN3MxLjA2OSw1LjIxLDIuOTMsNy4wNjljMS44NiwxLjg2LDQuNDQsMi45MzEsNy4wNywyLjkzMSAgICBzNS4yMS0xLjA3LDcuMDY5LTIuOTMxQzEyNi45MywyMzIuMjEsMTI4LDIyOS42MywxMjgsMjI3cy0xLjA3LTUuMjEtMi45MzEtNy4wN2MtMS44NTktMS44Ni00LjQzOS0yLjkzLTcuMDY5LTIuOTMgICAgUzExMi43OSwyMTguMDY5LDExMC45MywyMTkuOTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",iSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01NSwzNS45MzVjNC40OTMtLjU1NSw4LTQuOCw4LTkuOTM1LDAtNC44ODUtMy41MzUtMTktOS0xOXMtOSwxNC4xMTUtOSwxOWMwLDUuMTM4LDMuNTA3LDkuMzgsOCw5LjkzNVY0Mkg0OS45NDlhOS45NzgsOS45NzgsMCwwLDAtMTQuNDQxLTcuOTIybC0xLjYtMi41MTNMMzIuMzg4LDI3SDM2LjVhMS41LDEuNSwwLDAsMSwwLDNIMzZ2MmguNWEzLjUsMy41LDAsMCwwLDAtN0gzMWExLDEsMCwwLDAtLjk0OCwxLjMxNkwzMS42MTMsMzFIMjBWMjloM2ExLDEsMCwwLDAsMS0xLDUsNSwwLDAsMC0xMCwwLDEsMSwwLDAsMCwxLDFoM3YyLjY3NWwtMS45NjQsMi43YTkuOTkxLDkuOTkxLDAsMSwwLDQuNTEsMTEuNjA2LDMuOTg1LDMuOTg1LDAsMSwwLDYuNDI1LTQuNjM0bDUuNTIxLTguMjgzLDEuMzI5LDIuMDg5QTkuOTk1LDkuOTk1LDAsMSwwLDQ5Ljk0OSw0NEg2M1Y0Mkg1NVpNNDcsMjZjMC01LjA2NywzLjY2MS0xNyw3LTE3czcsMTEuOTMzLDcsMTdjMCw0LjAyMi0yLjYxNCw3LjM1MS02LDcuOTA5VjE4LjUzNWwyLjU1NS0xLjctMS4xMS0xLjY2NC0zLDJBMSwxLDAsMCwwLDUzLDE4djdsLTIuNC0xLjgtMS4yLDEuNkw1MywyNy41djYuNDA5QzQ5LjYxNCwzMy4zNTEsNDcsMzAuMDIyLDQ3LDI2Wk0xOSwyNWEzLjAwNiwzLjAwNiwwLDAsMSwyLjgyOSwySDE2LjE3MUEzLjAwNiwzLjAwNiwwLDAsMSwxOSwyNVptNSwxNWEzLjgzNiwzLjgzNiwwLDAsMC0uNTYuMDU3TDIwLjUsMzNoOS42MzJsLTQuODI1LDcuMjM3QTMuOTY4LDMuOTY4LDAsMCwwLDI0LDQwWk0xMSw1MWE4LDgsMCwxLDEsMy44NTctMTVsLTMuMDExLDQuMTRBMi45NiwyLjk2LDAsMCwwLDExLDQwYTMsMywwLDEsMCwyLjczOCw0LjIxNGw1LjEuMzkyQTguMDE0LDguMDE0LDAsMCwxLDExLDUxWm03Ljk4LTguMzg5LTUuMS0uMzkyYTMuMDA1LDMuMDA1LDAsMCwwLS40MTQtLjkxNmwzLTQuMTI1QTcuOTY5LDcuOTY5LDAsMCwxLDE4Ljk4LDQyLjYxMVpNMTIsNDNhMSwxLDAsMSwxLTEtMUExLDEsMCwwLDEsMTIsNDNabTguODc5LTEuNDcyYTkuOTY4LDkuOTY4LDAsMCwwLTMuMjI4LTUuOTc0bDEuMTExLTEuNTI3LDIuODMyLDYuOEE0LjAzMiw0LjAzMiwwLDAsMCwyMC44NzksNDEuNTI4Wk0yNCw0NmEyLDIsMCwxLDEsMi0yQTIsMiwwLDAsMSwyNCw0NlptMTYsNWE4LDgsMCwwLDEtNS4xLTE0LjE1NmwyLjc0OCw0LjMxOUEyLjk2NiwyLjk2NiwwLDAsMCwzNyw0M2EzLDMsMCwxLDAsMy0zLDIuOTYzLDIuOTYzLDAsMCwwLS42NzEuMDgybC0yLjc0MS00LjMwN0E4LDgsMCwxLDEsNDAsNTFabTAtOWExLDEsMCwxLDEtMSwxQTEsMSwwLDAsMSw0MCw0MloiLz4NCiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMSIgeT0iNTUiIHdpZHRoPSI2MiIgaGVpZ2h0PSIyIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",rSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTE2OC45OTIgMjc3LjU5MWMwLTI2LjU1MS0yMS42MDEtNDguMTUxLTQ4LjE1MS00OC4xNTFzLTQ4LjE1MSAyMS42MDEtNDguMTUxIDQ4LjE1MSAyMS42MDEgNDguMTUgNDguMTUxIDQ4LjE1IDQ4LjE1MS0yMS42IDQ4LjE1MS00OC4xNXptLTgxLjMwMyAwYzAtMTguMjc5IDE0Ljg3Mi0zMy4xNTEgMzMuMTUxLTMzLjE1MXMzMy4xNTEgMTQuODcyIDMzLjE1MSAzMy4xNTEtMTQuODcyIDMzLjE1LTMzLjE1MSAzMy4xNS0zMy4xNTEtMTQuODcxLTMzLjE1MS0zMy4xNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",oSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",nSe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsMjUySDExNmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMGgxMDBjNS41MSwwLDEwLTQuNDksMTAtMTBTMjIxLjUxLDI1MiwyMTYsMjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM5NiwyNTJIMjk2Yy01LjUxLDAtMTAsNC40OS0xMCwxMHM0LjQ5LDEwLDEwLDEwaDEwMGM1LjUxLDAsMTAtNC40OSwxMC0xMFM0MDEuNTEsMjUyLDM5NiwyNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yODYsMTA3aC02MGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY2MGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDYwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTYwDQoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDIsNDkyaC0xM1YyMzNjMC02Mi4yMzctMjQuMjM2LTEyMC43NDgtNjguMjQ0LTE2NC43NTZDMzc2Ljc0OCwyNC4yMzYsMzE4LjIzNywwLDI1NiwwUzEzNS4yNTIsMjQuMjM2LDkxLjI0NCw2OC4yNDQNCgkJCVMyMywxNzAuNzYzLDIzLDIzM3YyNTlIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoNDkyYzUuNTIzLDAsMTAtNC40NzcsMTAtMTBTNTA3LjUyMyw0OTIsNTAyLDQ5MnogTTM4Niw0OTJIMTI2DQoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoNCgkJCSBNNDI5LDQ5MmgtMjNWMzAyYzAtNS41MjMtNC40NzctMTAtMTAtMTBIMTE2Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE5MEg4M1YyMzNjMC05NS42NjgsNzcuMzgzLTE3My41LDE3Mi41LTE3My41DQoJCQlDMzUxLjE2OCw1OS41LDQyOSwxMzcuMzMyLDQyOSwyMzNWNDkyeiBNNDY5LDQ5MmgtMjBWMjMzYzAtMTA2LjY5Ni04Ni44MDQtMTkzLjUtMTkzLjUtMTkzLjUNCgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMNCgkJCXMyMTMsOTUuNTUxLDIxMywyMTNWNDkyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",aSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUwOC41NDEgMjE4LjM4NC0xNjIuNTA3LTIwMy4xMzRjLTcuNzUzLTkuNjkyLTE5LjMxOC0xNS4yNS0zMS43MjktMTUuMjVoLTgzLjE1NWMtOC43MDMgMC0xNS43ODMgNy4wOC0xNS43ODMgMTUuNzgzdjE2LjU2N2MwIDguNzAzIDcuMDggMTUuNzgzIDE1Ljc4MyAxNS43ODNoMzMuOTE3djExNy41MzNoLTMwLjYzMmwtMTIwLjMzNC0xNTAuNDE2Yy03Ljc1My05LjY5MS0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC02Ni41ODljLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDE3LjM1djExNy41MzNoLTE3LjM1Yy04LjcwMy4wMDEtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODR2MzA2LjQ4M2MwIDEzLjI3MSAxMC43OTYgMjQuMDY3IDI0LjA2NyAyNC4wNjdoNDcyLjE1YzguNzAzIDAgMTUuNzgzLTcuMDggMTUuNzgzLTE1Ljc4M3YtNzQuNTUtMTQzLjI4OS01MC4xMzRjMC0zLjU3MS0xLjIyOC03LjA3My0zLjQ1OS05Ljg2em0tNjIuMDI0IDE5NS43ODNjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi03NC41NS0xMjEuOTA4bDE4LjEzNCAyMi42Njd2MTc0LjU3NHptLTIzMS45MzQgMGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjYtODIuODM0Yy0uNDMyIDAtLjc4NC0uMzUyLS43ODQtLjc4NHYtNjcuMDQ5aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjctODIuODMzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNjcuMDVoMTguMTMzdjY3LjgzM3ptODMuNjE2LTkxLjc0MXY4LjkwOGgtMTguMTMzdi0zMS41NzR6bTY2LjI2NyA4Mi44MzN2OC45MDhoLTE4LjEzM3YtMzEuNTc0em04MS4yNjcgOC4xMjV2LTE5Ni40MjhjLjA3Mi4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM4OXYxNzQuNTc1aC0xNy4zNWMtLjQzMSAwLS43ODMtLjM1Mi0uNzgzLS43ODN6bTExNy41MzMgNTAuNDgzaC0xOC4xMzN2LTEyMi42OTFsMTguMTM0IDIyLjY2N3YxMDAuMDI0em0tMTguMTMzIDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptLTE1IDE4LjEzM2gtMTcuMzVjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzg0di03NC41NDktMTIxLjkwOGwxOC4xMzMgMjIuNjY2em0tMzMuMTMzLTExNS45NjZoLTE4LjEzNHYtMTIyLjY5MWwxOC4xMzQgMjIuNjY3em0tMTguMTM0IDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzM3Y2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODRoLTg0LjQ0di01Mi45NTUtMTQuODc5em0tOTkuNDAxIDE3LjUwOXYxMDAuMDI0aC0xOC4xMzN2LTEyMi42OTFsNS4wODYgNi4zNTd6bS0xNTAuNjY2LTE4OC4zMzMgMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzMyA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0zMy4xMzMtNS4xNTggMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzNCA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0tMTE0LjQtOTcuODMzaC0xOC4xMzN2LTExNC4zNzhjLjA3My4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM5em0xNSA2NC43aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptNjYuMjY2IDgyLjgzM2gxOC4xMzR2MTguMTMzaC0xOC4xMzN2LTE4LjEzM3ptNjYuMjY3IDgyLjgzM2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTMzLjEzMy00OS43aDE1MC42Njd2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xNTAuNzA3em0yMDcuMzE2LTc3LjM0NiA5LjYxOCAxMi4wMjJ2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjl6bS04LjUxNSAxMjcuMDQ2aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptLTI0OC41LTM2My42ODN2LTE2LjU2N2MwLS40MzIuMzUyLS43ODMuNzgzLS43ODNoODMuMTU1YzcuODMgMCAxNS4xMjUgMy41MDYgMjAuMDE3IDkuNjJsMTYyLjUwNyAyMDMuMTM0YzAgLjAwMS4wMDEuMDAxLjAwMi4wMDIuMTA5LjEzNy4xNy4zMTEuMTcuNDg4djI4Ljc1M2wtMTcxLjg2Ni0yMTQuODMxYy00LjU5My01Ljc0LTExLjQ0Mi05LjAzMi0xOC43OTMtOS4wMzJoLS42NDItNzQuNTVjLS40MzItLjAwMS0uNzgzLS4zNTItLjc4My0uNzg0em02Ny44MzMgMTUuNzgzdjg0LjRoLTE4LjEzNHYtODQuNHptLTE4LjEzNCA5OS40aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzNHY2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE4LjE3NHYtMjAuMjU2YzAtMy41Ny0xLjIyOC03LjA3Mi0zLjQ1OC05Ljg1OSAwLS4wMDEgMC0uMDAxIDAtLjAwMWwtMzAuMTc0LTM3LjcxOGg1MS43NjZ6bS0yODMuMi0xNDguMzE3di0xNi41NjdjMC0uNDMxLjM1Mi0uNzgzLjc4My0uNzgzaDY2LjU4OGM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNiA5LjYybDE2Mi41MDggMjAzLjEzNGMuMTEuMTM4LjE3MS4zMTMuMTcxLjQ5djI4Ljc1NGwtMTcxLjg2NS0yMTQuODMyYy00LjU5Mi01Ljc0LTExLjQ0Mi05LjAzMy0xOC43OTMtOS4wMzNoLS42NDItNTcuOTgzYy0uNDMxIDAtLjc4My0uMzUxLS43ODMtLjc4M3ptNTEuMjY3IDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNC4wNjYgMzQ5LjQ2N2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY3di0zMDYuNDgzYzAtLjQzMi4zNTItLjc4NC43ODMtLjc4NGg1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4NCAxNS43ODQgMTUuNzg0aDUwLjQ4NHY2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4MyAxNS43ODQgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTI0MC4yMTd6bTQ3Mi45MzMtLjc4M2MwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTIxNi4xOWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi02Ny4wNWgyMTYuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",MSe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTgsMzAuNTk4aC0xNTJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMjAuMDAxdjc0Ljc5NGgtMTkwDQoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTANCgkJCQloMTMuOTk2VjQ3MS40YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMTgxLjc2YzIuMjU2LDAsNC40NDUtMC43NjMsNi4yMTMtMi4xNjVsMjg2LjI0My0yMjYuOTcyDQoJCQkJYzIuMzkyLTEuODk2LDMuNzg2LTQuNzgyLDMuNzg2LTcuODM1VjgwLjYwMVY0MC41OThDNTExLjk5OCwzNS4wNzUsNTA3LjUyMiwzMC41OTgsNTAxLjk5OCwzMC41OTh6IE0xODkuOTk5LDIwNS4zOTd2LTIwLjAwMg0KCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCQkJYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDEuMDM1djEwOS43MTVMMjEyLjI3MSw0NjEuNEg0My45OTZ2LTYyLjI1M2g0MS4wMzZjNS41MjIsMCwxMC00LjQ3NywxMC0xMHMtNC40NzgtMTAtMTAtMTBINDMuOTk2DQoJCQkJdi0xOC45NTNIMjEwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMXYtODQuNzk2aDE1OS45OTljNS41MjMsMCwxMC00LjQ3NywxMC0xMHYtNDAuMDAyVjkwLjYwMWgxMDEuOTk5VjEwOS44Nzl6DQoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTE0LDM3OS4xNDRoLTAuMjM2Yy01LjUyNCwwLTEwLDQuNDc3LTEwLDEwczQuNDc2LDEwLDEwLDEwSDExNGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwUzExOS41MjIsMzc5LjE0NCwxMTQsMzc5LjE0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyMS45OTgsMTI5Ljg4aDAuMjM1YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBzLTQuNDc4LTEwLTEwLTEwaC0wLjIzNWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMA0KCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",cSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01LjUxOCA2NGgyLjk4NmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMjFoNDQuOTkydjIuMDIxYzAgLjU1My40NDcgMSAxIDFoM2MuNTUzIDAgMS0uNDQ3IDEtMXYtNjAuNWMwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNXYxNS41MDRoLTIuOTk4di0xMy45OTZjMC0uNTUyLS40NDctMS0xLTFoLTE1Ljk5NmMtLjU1MyAwLTEgLjQ0OC0xIDF2MTMuOTk1aC0zLjAwMnYtMTMuOTk1YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtM3YtMTUuNTAzYzAtMS4zNzgtMS4xMjEtMi41LTIuNS0yLjVzLTIuNSAxLjEyMi0yLjUgMi41bC4wMTQgNjAuNWMwIC41NTMuNDQ3IDEgMSAxem01MC45NzgtNjEuNWMwLS4yNzYuMjI1LS41LjUtLjVzLjUuMjI0LjUuNXY1OS41aC0xem0tMTQuOTk4IDIuNTA4aDIuMDAydjEuMDA4aC0yLjAwMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0LjAwMmMuNTUzIDAgMS0uNDQ4IDEtMXYtMi4wMDhoMy45OTh2MTIuOTk1aC0xMy45OTZ6bS0xNS4wMDIgMGgydjEuMDA4aC0yem0tNS45OTYgMGgzLjk5NnYyLjAwOGMwIC41NTIuNDQ3IDEgMSAxaDRjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDR2MTIuOTk1aC0xMy45OTZ6bS01IDE0Ljk5NWg0IDE1Ljk5NiA1LjAwMiAxNS45OTYgMy45OTh2MWgtNDQuOTkyem0wIDNoNDQuOTkydjEzLjk3MWgtMi45OTZ2LTEwLjk5YzAtLjU1Mi0uNDQ3LTEtMS0xaC0zN2MtLjU1MyAwLTEgLjQ0OC0xIDF2MTAuOTkxaC0yLjk5NnptMTkuOTk2IDYuOTgxaDVjLjU1MyAwIDEtLjQ0OCAxLTF2LTJoMTR2OS45OTFoLTM1di05Ljk5MWgxNHYyYzAgLjU1Mi40NDcgMSAxIDF6bTEtMnYtMWgzdjF6bS0yMC45OTYgMTAuOTkxaDMuOTk2IDM3IDMuOTk2djEuMDAyaC00NC45OTJ6bTAgMy4wMDJoNDQuOTkydjE0aC0yLjk5NHYtMTEuOTljMC0uNTUzLS40NDctMS0xLTFoLTE0LjAwMmMtLjU1MyAwLTEgLjQ0Ny0xIDF2MTEuOTloLTIuOTk0di04Ljk4OGMwLS41NTMtLjQ0Ny0xLTEtMWgtNi45OTRjLS4wMDQgMC0uMDA2LS4wMDItLjAxLS4wMDJzLS4wMDYuMDAyLS4wMS4wMDJoLTMuOTgyYy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC02Ljk4NmMtLjU1MyAwLTEgLjQ0Ny0xIDF2OC45ODhoLTN6bTMxLjk5NiA2LjAxN2g0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDhoM3YxMC45OWgtMTIuMDAydi0xMC45OWgzdjIuMDA4YzAgLjU1My40NDcgMSAxIDF6bTEtMnYtMS4wMDhoMi4wMDJ2MS4wMDh6bS0yMiA1aDQuMDAyYy41NTMgMCAxLS40NDcgMS0xdi0yLjAwNmg1LjAwNHY3Ljk4OGgtMTYuMDAydi03Ljk4OGg0Ljk5NnYyLjAwNmMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA2aDIuMDAydjEuMDA2em0tMTEuOTk2IDguOTgzaDQgMTguMDAyIDQuOTk0IDE0LjAwMiAzLjk5NHYxLjAwMmgtNDQuOTkyem0tMi41LTU1Ljk3N2MuMjc1IDAgLjUuMjI0LjUuNXY1OS41aC0uOTg2bC0uMDE0LTU5LjVjMC0uMjc2LjIyNS0uNS41LS41eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",uSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MyAzdi0yaC0zMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2OGMwIC41NTMuNDQ3IDEgMSAxaDF2NTBoLTMydjJoMzMgNCA4IDQgMTN2LTJoLTEydi01aDEydi0yaC0xMy00LTN2LTJoMjB2LTJoLTIxYy0uNTUzIDAtMSAuNDQ3LTEgMXY0YzAgLjU1My40NDcgMSAxIDFoM3Y1aC02di01MGgyNHYtMmgtMjUtNC0xdi02em0tMTYgNTNoMnY1aC0yem0tMTAtNDV2NTBoLTJ2LTUweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNSAxNWgxM2MyLjc1NyAwIDUtMi4yNDMgNS01cy0yLjI0My01LTUtNWMtLjQzOCAwLS44NzcuMDYxLTEuMzAzLjE4LS43NjYtMi40NTUtMy4wMjMtNC4xOC01LjY5Ny00LjE4LTMuMzA5IDAtNiAyLjY5MS02IDYtMi4yMDYgMC00IDEuNzk0LTQgNHMxLjc5NCA0IDQgNHptMC02Yy4yNyAwIC41MzMuMDU0Ljc4My4xNi4zNTIuMTQ3Ljc1Ni4wODUgMS4wNDMtLjE2My4yODgtLjI0OC40MTEtLjYzOS4zMTctMS4wMDctLjA5OC0uMzc3LS4xNDMtLjY5Mi0uMTQzLS45OSAwLTIuMjA2IDEuNzk0LTQgNC00IDIuMDgxIDAgMy43ODQgMS41NzQgMy45NjEgMy42NjIuMDI4LjM0NS4yMzMuNjQ4LjU0LjgwNi4zMDguMTU4LjY3NS4xNDUuOTctLjAzMi40ODMtLjI5Ljk5Ny0uNDM2IDEuNTI5LS40MzYgMS42NTQgMCAzIDEuMzQ2IDMgM3MtMS4zNDYgMy0zIDNoLTEzYy0xLjEwMyAwLTItLjg5Ny0yLTJzLjg5Ny0yIDItMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",lSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",NSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM1OS4yIDB2ODkuOGgtODkuODAxdjg5LjhoLTg5Ljh2ODkuOGgtODkuNzk5djg5LjhoLTg5Ljh2MTQ5LjhoNTA5di01MDl6bTExOS44IDQ3OWgtNDQ5di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",LSe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguOTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzVjQyLjY2Nw0KCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2Nw0KCQkJQzQ4Ni40LDM3Ljk1Niw0ODIuNTc3LDM0LjEzMyw0NzcuODY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywzNTguNEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjINCgkJCVY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywwSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJUzE0MS4yNDQsMjQ3LjQ2NywxMzYuNTMzLDI0Ny40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYNCgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMyw0MTguMTMzaC01MS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTEuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJdi0xNy4wNjdDMzQ5Ljg2Nyw0MjEuOTU2LDM0Ni4wNDQsNDE4LjEzMywzNDEuMzMzLDQxOC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDExOS40NjdjLTQ1LjkzNSwwLTc2LjgsMTcuMTQzLTc2LjgsNDIuNjY3VjE3OS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxNy4wNjd2NzYuOA0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOA0KCQkJYzAtNC43MS0zLjgyMy04LjUzMy04LjUzMy04LjUzM0gyMzAuNHYtOC41MzNjMC0xMi40MDcsMjAuOTMyLTI1LjYsNTkuNzMzLTI1LjZzNTkuNzMzLDEzLjE5Myw1OS43MzMsMjUuNlYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1Nw0KCQkJVjE3MC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzMDQuMjQ3LDg1LjMzMywyOTAuMTMzLDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yDQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjMzMi44QzQ5NC45MzMsMzI4LjA5LDQ5MS4xMSwzMjQuMjY3LDQ4Ni40LDMyNC4yNjd6IE00NzcuODY3LDM1OC40SDE4Ny43MzN2LTE3LjA2N2gyOTAuMTMzDQoJCQlWMzU4LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi02OC4yNjdDNDc3Ljg2NywzOTYuMzU2LDQ3NC4wNDQsMzkyLjUzMyw0NjkuMzMzLDM5Mi41MzN6IE00NjAuOCw0NjAuOEgyMjEuODY3di01MS4ySDQ2MC44DQoJCQlWNDYwLjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",gSe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01NS43NTggNjEtMS41NjktNS41N2M0LjA1My0yLjIwNCA2LjgxMS02LjUwMSA2LjgxMS0xMS40M3YtMWMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0ydi0xMGMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yaC0yNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJ2MTBjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjFjMCA0LjkyOSAyLjc1OCA5LjIyNiA2LjgxMSAxMS40M2wtMS41NjkgNS41N2gtMTMuMzQzYy0uNDY1LTIuMjc5LTIuNDg0LTQtNC44OTktNGgtMXYtOS4wMDNjNC42OTMtMS45NjMgOC02LjYgOC0xMS45OTd2LTdoLTE4di00aDR2Mmgydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtNi0xLTFjLTEuMTAzIDAtMiAuODk3LTIgMnY0aC0ydjdjMCA1LjM5NyAzLjMwNyAxMC4wMzQgOCAxMS45OTd2OS4wMDNoLTFjLTIuNDE0IDAtNC40MzQgMS43MjEtNC44OTkgNGgtNS4xMDF2Mmg2NHYtMnptLTIwLjc1OS0zOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDhoNHYtMmgtNHYtMmgyMnYxMGgtMjJ6bS0yLjAwMSA4aDI2LjAwMXYyaC0yNnptMi4wMDEgNXYtMWgyMnYxYzAgNi4wNjUtNC45MzUgMTEtMTEgMTFzLTExLTQuOTM1LTExLTExem02LjY2MSAxMi4yNGMxLjM2LjQ4MyAyLjgxNi43NiA0LjMzOS43NnMyLjk3OS0uMjc3IDQuMzM5LS43NmwxLjM0IDQuNzZoLTExLjM1OHptLTM2LjY2MS0zMS4yNGgxIDF2NGgtMnptMjAgNnYyaC0yMnYtMnptLTIyIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptOCAxMi42MzdjLjk2NS4yMjkgMS45NjYuMzYzIDMgLjM2M3MyLjAzNS0uMTM0IDMtLjM2M3Y4LjM2M2gtNnptLTMgMTAuMzYzaDEyYzEuMzAyIDAgMi40MDIuODM5IDIuODE2IDJoLTE3LjYzMmMuNDE0LTEuMTYxIDEuNTE0LTIgMi44MTYtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtNC41NTYgMTEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC0xLjYyNyAxOC4wNzEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1IDEzaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDUgN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzIDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMTVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTMgMTVoMnYyaC0yeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",jSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",ySe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcNCgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Ny44NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNTNDg2LjQsODEuNTEsNDg2LjQsNzYuOFY0Mi42NjcNCgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlWOC41MzNDMTg3LjczMywzLjgyMywxODMuOTEsMCwxNzkuMiwweiBNMTcwLjY2Nyw0OTQuOTMzaC0xNTMuNlYxNy4wNjdoMTUzLjZWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yDQoJCQlWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2Nw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTM2LjUzMywyNDcuNDY3aC0yNS42Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjUuNmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2DQoJCQlDMTE5LjQ2NywyNTEuMjksMTE1LjY0NCwyNDcuNDY3LDExMC45MzMsMjQ3LjQ2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0MS4zMzMsNDE4LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjE3LjA2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzI5OC42NjcsMzcuOTU2LDI5NC44NDQsMzQuMTMzLDI5MC4xMzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDMzY2LjkzMywxMzYuNjEsMzM2LjA2OCwxMTkuNDY3LDI5MC4xMzMsMTE5LjQ2N3ogTTM0OS44NjcsMTcwLjY2N0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NkgyNTZ2LTc2LjgNCgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMw0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2Nw0KCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQlIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM2gtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQloMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3DQoJCQlWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzM2Ni45MzMsMzcuOTU2LDM2My4xMSwzNC4xMzMsMzU4LjQsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzcyLjUxNCw4NS4zMzMsMzU4LjQsODUuMzMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00ODYuNCwzMjQuMjY3SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMDcuMg0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMw0KCQkJVjM1OC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY5LjMzMywzOTIuNTMzaC0yNTZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y2OC4yNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1Ng0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOA0KCQkJVjQ2MC44eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",TSe="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTk0LjgzNiA1OGgtMTE5LjMyOGMtMjQuNDQ1IDAtNDQuMzM2IDE5Ljg4OS00NC4zMzYgNDQuMzM2djExOS4zMjhjMCAyNC40NDcgMTkuODkxIDQ0LjMzNiA0NC4zMzYgNDQuMzM2aDExOS4zMjhjMjQuNDQ1IDAgNDQuMzM2LTE5Ljg4OSA0NC4zMzYtNDQuMzM2di0xMTkuMzI4YzAtMjQuNDQ3LTE5Ljg5MS00NC4zMzYtNDQuMzM2LTQ0LjMzNnptMzYuMzM2IDE2My42NjRjMCAyMC4wMzUtMTYuMzAxIDM2LjMzNi0zNi4zMzYgMzYuMzM2aC0xMTkuMzI4Yy0yMC4wMzUgMC0zNi4zMzYtMTYuMzAxLTM2LjMzNi0zNi4zMzZ2LTExOS4zMjhjMC0yMC4wMzUgMTYuMzAxLTM2LjMzNiAzNi4zMzYtMzYuMzM2aDExOS4zMjhjMjAuMDM1IDAgMzYuMzM2IDE2LjMwMSAzNi4zMzYgMzYuMzM2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA5MGMtNDAuODA1IDAtNzQgMzMuMTk1LTc0IDc0czMzLjE5NSA3NCA3NCA3NCA3NC0zMy4xOTUgNzQtNzQtMzMuMTk1LTc0LTc0LTc0em0wIDE0MGMtMzYuMzkxIDAtNjYtMjkuNjA3LTY2LTY2czI5LjYwOS02NiA2Ni02NiA2NiAyOS42MDcgNjYgNjYtMjkuNjEgNjYtNjYgNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03OS4xNzIgMTM4djMyYzAgMi4yMDkgMS43ODkgNCA0IDRoMTA0YzIuMjExIDAgNC0xLjc5MSA0LTR2LTMyYzAtMi4yMDktMS43ODktNC00LTRoLTEwNGMtMi4yMTEgMC00IDEuNzkxLTQgNHptOCA0aDk2djI0aC05NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjE3MiAxNTEuNDdjLTIuNTAyIDAtNC41MyAyLjAyOC00LjUzIDQuNTMgMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41MyAyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzLS4wMDEtMi41MDItMi4wMjktNC41My00LjUzLTQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUzLjE3MiAxMjguNTNjMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41M3MtMi4wMjgtNC41My00LjUzLTQuNTMtNC41MyAyLjAyOC00LjUzIDQuNTNjMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41M3oiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iMTk5LjE3MiIgY3k9IjM4IiByPSI0Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY0LjgyOCAxMTAgMi44MjgtMi44MjhjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnMtNC4wOTQtMS41NjItNS42NTYgMGwtMi44MjggMi44MjgtMi44MjgtMi44MjhjLTEuNTYyLTEuNTYyLTQuMDk0LTEuNTYyLTUuNjU2IDBzLTEuNTYyIDQuMDk0IDAgNS42NTZsMi44MjggMi44MjgtMi44MjggMi44MjhjLTEuNTYyIDEuNTYyLTEuNTYyIDQuMDk0IDAgNS42NTYuNzgxLjc4MSAxLjgwNSAxLjE3MiAyLjgyOCAxLjE3MnMyLjA0Ny0uMzkxIDIuODI4LTEuMTcybDIuODI4LTIuODI4IDIuODI4IDIuODI4Yy43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS4xNzIgMTk0aC00LjkzNGw1Ljg1OS05Ljc2OGMxLjEzNy0xLjg5NS41MjMtNC4zNTItMS4zNzEtNS40ODgtMS44OTgtMS4xMzctNC4zNTItLjUyMS01LjQ4OCAxLjM3MWwtOS40OTYgMTUuODI2Yy0uNzQyIDEuMjM2LS43NjIgMi43NzUtLjA1MSA0LjAyOXMyLjAzOSAyLjAyOSAzLjQ4IDIuMDI5aDUuNTI3bC01LjEwNSAxMC4yMTFjLS45ODggMS45NzctLjE4OCA0LjM3OSAxLjc4OSA1LjM2Ny41NzQuMjg3IDEuMTg0LjQyMiAxLjc4NS40MjIgMS40NjkgMCAyLjg3OS0uODA5IDMuNTgyLTIuMjExbDgtMTZjLjYyMS0xLjI0LjU1NS0yLjcxMy0uMTc2LTMuODkzLS43MjktMS4xNzYtMi4wMTQtMS44OTUtMy40MDEtMS44OTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTA3LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTkuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYzLjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzUuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",DSe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNC43NSw0MTguNWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNXY3OC41YzAsOS42NzMsMTUsOS42NzMsMTUsMFY0MjZDNTEyLjI1LDQyMS44NTgsNTA4Ljg5Myw0MTguNSw1MDQuNzUsNDE4LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01NC43NSwzNTIuNWg1N2M5LjY3MywwLDkuNjczLTE1LDAtMTVoLTU3QzQ1LjA3NywzMzcuNSw0NS4wNzcsMzUyLjUsNTQuNzUsMzUyLjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTEuNzUsNDE1LjVoLTU3Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoNTdDMTIxLjQyMyw0MzAuNSwxMjEuNDIzLDQxNS41LDExMS43NSw0MTUuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",dSe={Anteroom:vxe,Attic:Yxe,Balcony:Qxe,Barn:bxe,Basement:Uxe,Bathroom:$xe,Bedroom:Pxe,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjM0Ljk2ODc1IDY0Yy0xMy4yNTM5MDYgMC0yNCAxMC43NDYwOTQtMjQgMjRzMTAuNzQ2MDk0IDI0IDI0IDI0IDI0LTEwLjc0NjA5NCAyNC0yNC0xMC43NDYwOTQtMjQtMjQtMjR6bTAgMzJjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDgtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xODYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMTguOTY4NzUgMTkyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzguOTY4NzUgNzJ2MzJoMTZ2LTI0aDE2di0xNmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDY2Ljk2ODc1IDBoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4aC01NnYtNTZoMjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNDhjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE2Yy0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MjE4NzUtMzkuOTcyNjU2LTQwLTQwaC0xNnYtMTZoLTE2djE2aC0xNy43NjE3MTlsLTYuNDgwNDY5LTI1LjkzNzVjLS44ODY3MTgtMy41NjI1LTQuMDg1OTM3LTYuMDYyNS03Ljc1NzgxMi02LjA2MjVoLTQ4Yy0zLjY3MTg3NSAwLTYuODcxMDk0IDIuNS03Ljc2MTcxOSA2LjA2MjVsLTYuNDgwNDY5IDI1LjkzNzVoLTE3Ljc1NzgxMnYtMTZoLTE2djE2aC0xNmMtMjIuMDgyMDMxLjAyNzM0NC0zOS45NzI2NTYgMTcuOTE3OTY5LTQwIDQwdjU2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHY2NGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDI0djIyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtNDEuNzEwOTM4YzEyLjM3MTA5NCA2LjM3NSAyNi4wODIwMzEgOS43MDMxMjYgNDAgOS43MTA5MzhoOHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDhjMTMuOTE0MDYyLS4wMDc4MTIgMjcuNjI4OTA2LTMuMzM1OTM4IDQwLTkuNzEwOTM4djQxLjcxMDkzOGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtMTc2aDU2YzMwLjkxMDE1Ni0uMDM5MDYyIDU1Ljk2MDkzOC0yNS4wODk4NDQgNTYtNTZ2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tODggMTA0djMyaC0xNnYtMzJ6bS0xNjEuNzUzOTA2LTg4aDM1LjUwMzkwNmw0IDE2aC00My41MDM5MDZ6bS05NC4yNDYwOTQgNTZjMC0xMy4yNTM5MDYgMTAuNzQ2MDk0LTI0IDI0LTI0aDE3NmMxMy4yNTM5MDYgMCAyNCAxMC43NDYwOTQgMjQgMjR2NTZoLTIyNHptLTMyIDEyMHYtNDhoMTZ2NDh6bTgwIDI3MmgtODB2LTE2aDgwem0tMzItMzJoLTE2di02OS41NTg1OTRjNC41MzUxNTYgNi40ODQzNzUgOS45MTQwNjIgMTIuMzMyMDMyIDE2IDE3LjM5MDYyNXptMTEyLTE2aC0zMnYtMTZoMzJ6bTEyOCA0OGgtODB2LTE2aDgwem0tMzItMzJoLTE2di01Mi4xNjc5NjljNi4wODIwMzEtNS4wNTg1OTMgMTEuNDY0ODQ0LTEwLjkwNjI1IDE2LTE3LjM5MDYyNXptMC0xMjBjLS4wNDI5NjkgMzkuNzQ2MDk0LTMyLjI1MzkwNiA3MS45NTcwMzEtNzIgNzJoLTgwYy0zOS43NDYwOTQtLjA0Mjk2OS03MS45NTcwMzEtMzIuMjUzOTA2LTcyLTcydi0xNjhoMjI0em0xMTItMTEyYy0uMDI3MzQ0IDIyLjA4MjAzMS0xNy45MjE4NzUgMzkuOTcyNjU2LTQwIDQwaC01NnYtMTZoNTZjMTMuMjUzOTA2IDAgMjQtMTAuNzQ2MDk0IDI0LTI0di0xODRoMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTAgODcuNDMzNTk0IDQwIDE2YzIuOTcyNjU2IDEuMTgzNTk0IDYuMzYzMjgxLjQ4NDM3NSA4LjYyNS0xLjc3NzM0NGwxMS45MTc5NjktMTEuOTIxODc1IDI2Ljg0NzY1NiAxMy40NjQ4NDQgNy4xNTIzNDQtMTQuMzIwMzEzLTMyLTE2Yy0zLjA3ODEyNS0xLjUzNTE1Ni02Ljc5Njg3NS0uOTI5Njg3LTkuMjMwNDY5IDEuNTAzOTA2bC0xMi4yNzM0MzggMTIuMjI2NTYzLTM1LjEwMTU2Mi0xNC4wNDI5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Carport:Wxe,Cellar:Jxe,Chamber:Bxe,Corridor:Rxe,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Dining:Fxe,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ny4wMDQgMjc2LjE2OWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNDgzIDMuMzczIDcuNDgzIDcuNTEydjEzNy4zNCAzOS45OTdjMCA0LjEzOS0zLjM0NSA3LjQ4My03LjQ4MyA3LjQ4M2gtNDk3LjAwNGMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4MyAwLTEyNC43NTQgMC0yNDkuNTM2IDAtMzc0LjI5MSAwLTcuNzY3IDMuMTc1LTE0LjgyNSA4LjI3Ny0xOS45MjggNS4xMDMtNS4xMDMgMTIuMTYxLTguMjc3IDE5LjkyOC04LjI3N2gxMjQuMjQ0YzcuOTA5IDAgMTUuMzY0IDMuMzE2IDIwLjcyMiA5LjA5OSA1LjM1Ny01Ljc4MyAxMi44MTItOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDNjNy44ODEgMCAxNS4zNjQgMy4zMTYgMjAuNjkzIDkuMDk5IDUuMzU4LTUuNzgzIDEyLjgxMy05LjA5OSAyMC43MjItOS4wOTloMTI0LjI0NGM3Ljc2NyAwIDE0LjgyNiAzLjE3NSAxOS45MjggOC4yNzcgNS4xMDIgNS4xMDMgOC4yNzcgMTIuMTYxIDguMjc3IDE5LjkyOHYyNS42MjUgMTM3LjM0YzAgNC4xMzktMy4zNDUgNy41MTItNy40ODMgNy41MTItNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTI5Ljg1NWgtNjcuODM1djEyLjkyNmw0Ni44MyAyMy44MzljNC4xOTUgMi4xMjYgNy4xMTUgNS43NTUgOC40NDcgOS44OTQgMS4zNiA0LjEzOSAxLjEzNCA4Ljc4Ny0uOTkyIDEyLjk1NC0xLjQ0NiAyLjgzNS0zLjY1NyA1LjE1OS02LjI5MyA2Ljc3NS0yLjY2NCAxLjY0NC01LjcyNiAyLjUyMy04Ljg3MiAyLjUyM2gtMy4zNDV2OTUuNjEzYzAgNC4xMzktMy4zNDUgNy40ODQtNy40ODQgNy40ODRoLTcxLjE1Yy00LjEzOSAwLTcuNDgzLTMuMzQ1LTcuNDgzLTcuNDg0di0zNC41NTRjMC00LjE2NyAzLjM0NS03LjUxMiA3LjQ4My03LjUxMiA0LjEzOSAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNTEydjI3LjA0M2g1Ni4xMjd2LTg4LjEwMmgtNTYuMTI3djI3LjA3MWMwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjQ4My0zLjM3My03LjQ4My03LjUxMnYtMjcuMDcxaC0zLjM0NWMtNC43MDYgMC04Ljk1Ny0xLjg5OS0xMi4wMTktNC45ODktMy4wOS0zLjA2MS00Ljk4OS03LjMxMy00Ljk4OS0xMi4wMTkgMC0zLjM0NS45OTItNi41MiAyLjY5My05LjE1NiAxLjcyOS0yLjY2NCA0LjEzOS00LjgxOSA2Ljk3NC02LjE4bDQ2LjAzNS0yMy40NDN2LTEzLjEyNGgtNjcuODM0djI5My43MDFoMTUwLjY2M3YtMTI5Ljg1N3ptLTczLjg0My0xMzcuMTk5Yy0uODIyLS41MS0xLjY3Mi0uNTEtMi40OTUgMGwtNDUuNzIzIDIzLjMwMWMtLjkwNy4zNC0xLjQ3NC45MzYtMS40NzQgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTMgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzgtMi42OTNsLTE1LjMzNi03LjgyM2MtOS4wNDMtNC41OTMtMTguMDU3LTkuMTU4LTMwLjctMTUuNjQ5em0tMTY1LjgtLjA4NWMtLjcwOS0uNDI1LTEuNDc0LS40MjUtMi4yNCAwbC00NS44NjUgMjMuMzg2Yy0uODc5LjM0LTEuNDQ2LjkzNi0xLjQ0NiAxLjk1NiAwIDEuMTA1LjkwNyAyLjAxMyAyLjAxMyAyLjAxM2g5Mi44MDdjLjc5NCAwIDEuNDQ2LS4zOTcgMS43ODYtMS4xMDUuNTEtLjk5Mi4xNDItMi4xODMtLjg3OS0yLjY5My0xNS4zOTItNy44MjQtMzAuODEyLTE1LjY0OC00Ni4xNzYtMjMuNTU3em0tMjExLjY2Ni0yNi41NmMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4NHMzLjM3My03LjUxMiA3LjUxMi03LjUxMmg4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM3NCA3LjUxMiA3LjUxMiAwIDQuMTM5LTMuMzczIDcuNDg0LTcuNTEyIDcuNDg0em0wIDEwMS45MzRjLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMC0zMy45ODhjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODNzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNDgzLTcuNTEyIDcuNDgzem0wLTMzLjk1OWMtNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnMzLjM3My03LjQ4MyA3LjUxMi03LjQ4M2g4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjQ4MyAwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyem0yMDIuODIyLTIwLjg2M3YtMTMuMTI0aC02Ny44MzR2MTI5Ljg1N2MwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTYyLjk2N2MwLTMuNjI4LTEuNDc0LTYuOTE3LTMuODgzLTkuMzI2LTIuMzgxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI2LTMuODg0aC0xMjQuMjQ0Yy0zLjYyOCAwLTYuOTE3IDEuNTAyLTkuMzI3IDMuODg0LTIuMzgxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2djE5Mi4zNjFoMTUuMzA4YzYuMDk0IDAgMTEuNTk0IDIuNDY2IDE1LjU5IDYuNDY0IDMuOTk3IDMuOTk3IDYuNDkyIDkuNTI1IDYuNDkyIDE1LjU5djIzLjMwMWMwIDYuMDY3LTIuNDk1IDExLjU5NC02LjQ5MiAxNS41OTFzLTkuNDk2IDYuNDYzLTE1LjU5IDYuNDYzaC0xNS4zMDh2MTA3LjAwOWgxNTAuNjYzdi0xNjkuODI1YzAtNC4xMzkgMy4zNzQtNy41MTIgNy41MTItNy41MTJzNy41MTIgMy4zNzMgNy41MTIgNy41MTJ2MTI5Ljg1NmgxNTAuNjYzdi0yOTMuN2gtNjcuODM0djEyLjkyNmw0Ni42MyAyMy43MjZjNC4xNjcgMi4xMjYgNy4yIDUuNTI4IDguNjQ2IDEwLjAwNyAyLjQ2NiA3LjU2OC0uNTM5IDE1LjU5LTcuMjg1IDE5LjcyOS0yLjY2NCAxLjY0NC01Ljc1NCAyLjUyMy04Ljg3MiAyLjUyM2gtOTIuODA3Yy00LjcwNiAwLTguOTU4LTEuODk5LTEyLjA0Ny00Ljk4OS0zLjA2MS0zLjA2MS00Ljk2LTcuMzEzLTQuOTYtMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MDEtMi42NjQgNC4xMS00LjgxOSA2Ljk3My02LjE4em0tMjMzLjUyMSAxNzIuMzJoNi4wOTRjNC4xMzkgMCA3LjUxMiAzLjM3MyA3LjUxMiA3LjUxMnMtMy4zNzMgNy41MTItNy41MTIgNy41MTJoLTYuMDk0djExLjE5OGgxNS4zMDhjMS45NTYgMCAzLjcxMy0uNzk0IDQuOTg5LTIuMDY5IDEuMjc2LTEuMzA1IDIuMDk4LTMuMDYxIDIuMDk4LTQuOTl2LTIzLjMwMmMwLTEuOTI4LS44MjItMy42ODUtMi4wOTgtNC45ODktMS4yNzUtMS4yNzYtMy4wMzMtMi4wNjktNC45ODktMi4wNjloLTE1LjMwOHptMzMxLjM0NS0yMTguNTU0djE4LjExM2gxNTAuNjYzdi0xOC4xMTNjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjQwOS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNiAzLjg4NC0yLjQxIDIuNDEtMy44ODQgNS42OTgtMy44ODQgOS4zMjZ6bS0xNjUuNjU4IDE4LjExNGgxNTAuNjYzdi0xOC4xMTRjMC0zLjYyOC0xLjUwMi02LjkxNy0zLjg4My05LjMyNi0yLjQxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI3LTMuODg0aC0xMjQuMjQzYy0zLjYyOSAwLTYuOTQ1IDEuNTAyLTkuMzI3IDMuODg0LTIuNDEgMi40MDktMy44ODMgNS42OTctMy44ODMgOS4zMjZ6bTMxNi4zMjEgMzIzLjY5MmgtMzE2LjMyMXYyNC45NzNoMzE2LjMyMnYtMjQuOTczeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Driveway:Gxe,Entrance:Hxe,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjA5Mzc1IDE3NC4yNWMzLjM5NDUzMSAyLjM3ODkwNiA4LjA3MDMxMiAxLjU1MDc4MSAxMC40NDUzMTItMS44Mzk4NDRsMTUuOTUzMTI2LTIyLjc4OTA2MmMyLjM3ODkwNi0zLjM5NDUzMiAxLjU1NDY4Ny04LjA3MDMxMy0xLjgzOTg0NC0xMC40NDUzMTMtMy4zOTQ1MzItMi4zNzUtOC4wNzAzMTMtMS41NTA3ODEtMTAuNDQ1MzEzIDEuODQzNzVsLTE1Ljk1NzAzMSAyMi43ODUxNTdjLTIuMzc1IDMuMzk0NTMxLTEuNTUwNzgxIDguMDcwMzEyIDEuODQzNzUgMTAuNDQ1MzEyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDkuNTg5ODQ0IDEyMS40NDkyMTljLTIuMTQ0NTMyLTMuNTQyOTY5LTYuNzU3ODEzLTQuNjcxODc1LTEwLjMwMDc4Mi0yLjUyNzM0NGwtMjMuNzg5MDYyIDE0LjQyMTg3NWMtMy41NDI5NjkgMi4xNDg0MzgtNC42NzE4NzUgNi43NjE3MTktMi41MjczNDQgMTAuMzA0Njg4IDIuMTUyMzQ0IDMuNTQyOTY4IDYuNzY1NjI1IDQuNjY3OTY4IDEwLjMwNDY4OCAyLjUyMzQzN2wyMy43ODkwNjItMTQuNDE3OTY5YzMuNTQyOTY5LTIuMTQ4NDM3IDQuNjcxODc1LTYuNzYxNzE4IDIuNTIzNDM4LTEwLjMwNDY4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04My42NTIzNDQgMTUyLjE3OTY4OGMyLjc1NzgxMiAxLjM1OTM3NCA2LjExMzI4MSAxLjQwNjI1IDguOTY4NzUgMCA3LTMuNDUzMTI2IDI5LjgzNTkzNy0xNi41MDc4MTMgMjkuODM1OTM3LTM5LjQ2NDg0NCAwLTE4LjIwMzEyNS0yMS4yMTQ4NDMtMjcuMDY2NDA2LTM0LjMxMjUtMTYuMDc0MjE5LTUuMDYyNS00LjI2MTcxOS0xMS45NDE0MDYtNS44OTA2MjUtMTguNzUzOTA2LTQuMDg5ODQ0LTkuMzE2NDA2IDIuNDU3MDMxLTE1LjU3MDMxMyAxMC41NjI1LTE1LjU3MDMxMyAyMC4xNjQwNjMgMCAyMy4wMTU2MjUgMjIuODQzNzUgMzYuMDMxMjUgMjkuODMyMDMyIDM5LjQ2NDg0NHptLTMuNzc3MzQ0LTQyLjM2NzE4OGMxLjM5ODQzOCAyLjQ2ODc1IDQuNDY4NzUgNC42MjUgOC4wMjM0MzggNC43MTA5MzggMy41ODIwMzEuMTEzMjgxIDYuOTcyNjU2LTIuMDQ2ODc2IDguNDYwOTM3LTQuNjUyMzQ0IDMuMDU0Njg3LTUuMzU1NDY5IDExLjA5NzY1Ni0zLjE0NDUzMiAxMS4wOTc2NTYgMi44NDc2NTYgMCAxMi42OTE0MDYtMTMuMzk0NTMxIDIxLjU2NjQwNi0xOS4zMjQyMTkgMjQuODc1LTUuOTI5Njg3LTMuMjkyOTY5LTE5LjMxMjUtMTIuMTQ0NTMxLTE5LjMxMjUtMjQuODc1IDAtNi4wNDI5NjkgOC4wODU5MzgtOC4xMzI4MTIgMTEuMDU0Njg4LTIuOTA2MjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0MS4xNDA2MjUgMTMwLjAyNzM0NGgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNSAwLTQuMTQ0NTMyLTMuMzU1NDY5LTcuNS03LjUtNy41aC0yOS42MzY3MTljLTQuMTQ0NTMxIDAtNy41IDMuMzU1NDY4LTcuNSA3LjUgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTQwNjI1IDE1Ni40Mzc1aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41cy0zLjM1NTQ2OS03LjUtNy41LTcuNWgtMjkuNjM2NzE5Yy00LjE0NDUzMSAwLTcuNSAzLjM1NTQ2OS03LjUgNy41czMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5MC44MjAzMTIgMzEwLjUxNTYyNWgtMjE3LjMyMDMxMmMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzUtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNTAzOTA2IDcuNSA3LjUwMzkwNmgyMTcuMzIwMzEyYzMuNDA2MjUgMCA2LjE3OTY4OCAyLjc2OTUzMSA2LjE3OTY4OCA2LjE3NTc4MXYxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM4IDYuMTc5Njg4LTYuMTc5Njg4IDYuMTc5Njg4LTMuNDQ1MzEyIDAtNDYzLjYwOTM3NCAwLTQ2OS42NDA2MjQgMC0zLjQwNjI1IDAtNi4xNzk2ODgtMi43Njk1MzItNi4xNzk2ODgtNi4xNzk2ODh2LTEzLjY3OTY4OGMwLTMuNDA2MjUgMi43NzM0MzgtNi4xNzU3ODEgNi4xNzk2ODgtNi4xNzU3ODFoMjE3LjMyMDMxMmM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41MDM5MDYgMC00LjE0MDYyNS0zLjM1NTQ2OS03LjUtNy41LTcuNWgtODUuMzU1NDY5Yy41OTc2NTctMS45NTMxMjUuOTI1NzgxLTQuMDI3MzQ0LjkyNTc4MS02LjE3NTc4MXYtMTMuNjc5Njg4YzAtMTEuNjc5Njg3LTkuNS0yMS4xNzk2ODctMjEuMTc5Njg3LTIxLjE3OTY4N2gtMTExLjcxMDkzN2MtMTEuNjc5Njg4IDAtMjEuMTc5Njg4IDkuNS0yMS4xNzk2ODggMjEuMTc5Njg3djEzLjY3OTY4OGMwIDUuMjE0ODQ0IDEuOTAyMzQ0IDkuOTg0Mzc1IDUuMDM5MDYyIDEzLjY3OTY4Ny0zLjEzNjcxOCAzLjY5MTQwNy01LjAzOTA2MiA4LjQ2NDg0NC01LjAzOTA2MiAxMy42NzU3ODF2MTMuNjc5Njg4YzAgMTEuMzI4MTI1IDguOTQ1MzEyIDIwLjU3ODEyNSAyMC4xMzY3MTkgMjEuMTI4OTA2djYuNjA5Mzc1YzAgMTEuNjc5Njg4IDkuNTAzOTA2IDIxLjE3OTY4OCAyMS4xNzk2ODcgMjEuMTc5Njg4aDIwLjcxNDg0NHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44Nzg5MDcgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDMwMi40NjA5Mzh2OTUuMTQwNjI1YzAgNy44Nzg5MDYgNi40MTAxNTYgMTQuMjg5MDYyIDE0LjI5Mjk2OSAxNC4yODkwNjJoMTQuMTUyMzQzYzcuODgyODEzIDAgMTQuMjkyOTY5LTYuNDEwMTU2IDE0LjI5Mjk2OS0xNC4yODkwNjJ2LTk1LjE0MDYyNWgyMC43MTA5MzhjMTEuNjc5Njg3IDAgMjEuMTc5Njg3LTkuNSAyMS4xNzk2ODctMjEuMTc5Njg4di02LjYwOTM3NWMxMS4xOTUzMTMtLjU1MDc4MSAyMC4xNDA2MjUtOS44MDA3ODEgMjAuMTQwNjI1LTIxLjEyODkwNnYtMTMuNjc5Njg4YzAtMTEuNjc1NzgxLTkuNS0yMS4xNzk2ODctMjEuMTc5Njg4LTIxLjE3OTY4N3ptLTQ3NS44MjAzMTItMTkuODU1NDY5YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3OTY4NyA2LjE3OTY4OC02LjE3OTY4N2gxMTEuNzEwOTM3YzMuNDA2MjUgMCA2LjE3OTY4NyAyLjc3MzQzNyA2LjE3OTY4NyA2LjE3OTY4N3YxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM3IDYuMTc5Njg3LTYuMTc5Njg3IDYuMTc5Njg3aC0xMTEuNzEwOTM3Yy0zLjQwNjI1IDAtNi4xNzk2ODgtMi43NzM0MzctNi4xNzk2ODgtNi4xNzk2ODd6bTc0Ljc2NTYyNSAxOTguMDYyNWgtMTIuNzM0Mzc1di05NC40Mjk2ODdoMTIuNzM0Mzc1em0zNDUuMjAzMTI1IDBoLTEyLjczODI4MXYtOTQuNDI5Njg3aDEyLjczODI4MXptNDEuODkwNjI1LTExNS42MDkzNzVjMCAzLjQwNjI1LTIuNzY5NTMxIDYuMTc5Njg4LTYuMTc5Njg3IDYuMTc5Njg4LTEzLjcxNDg0NCAwLTQxNS4wMzUxNTcgMC00MjkuMzYzMjgyIDAtMy40MDYyNSAwLTYuMTc5Njg3LTIuNzczNDM4LTYuMTc5Njg3LTYuMTc5Njg4di02LjU1ODU5M2g0NDEuNzIyNjU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyOC45NjA5MzggMTEyLjUyNzM0NGM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41di00MS4xMzY3MTljMC0xNi4zMTY0MDYtMTMuMjczNDM4LTI5LjU5Mzc1LTI5LjU4OTg0NC0yOS41OTM3NWgtMTc3LjI4MTI1Yy0xNi4zMTY0MDYgMC0yOS41ODk4NDQgMTMuMjczNDM3LTI5LjU4OTg0NCAyOS41OTM3NXYxMTcuMjc3MzQ0YzAgMTYuMzE2NDA2IDEzLjI3MzQzOCAyOS41ODk4NDMgMjkuNTg5ODQ0IDI5LjU4OTg0M2gxNzcuMjgxMjVjMTYuMzE2NDA2IDAgMjkuNTkzNzUtMTMuMjczNDM3IDI5LjU5Mzc1LTI5LjU4OTg0M3YtNDEuMTQwNjI1YzAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNS00LjE0MDYyNiAwLTcuNSAzLjM1OTM3NS03LjUgNy41djQxLjE0MDYyNWMwIDguMDQyOTY5LTYuNTQ2ODc2IDE0LjU4OTg0My0xNC41ODk4NDQgMTQuNTg5ODQzaC0xNzcuMjgxMjVjLTguMDQyOTY5IDAtMTQuNTg5ODQ0LTYuNTQ2ODc0LTE0LjU4OTg0NC0xNC41ODk4NDN2LTExNy4yNzczNDRjMC04LjA0Njg3NSA2LjU0Njg3NS0xNC41OTM3NSAxNC41ODk4NDQtMTQuNTkzNzVoMTc3LjI4MTI1YzguMDQyOTY4IDAgMTQuNTg5ODQ0IDYuNTQ2ODc1IDE0LjU4OTg0NCAxNC41OTM3NXY0MS4xMzY3MTljMCA0LjE0MDYyNSAzLjM1OTM3NCA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMzYuOTQ3Yy0zMS41NzksMC01Ny4yNywyNS42OTEtNTcuMjcsNTcuMjdjMCwzMS41NzksMjUuNjkxLDU3LjI3LDU3LjI3LDU3LjI3YzMxLjU3OCwwLDU3LjI3LTI1LjY5MSw1Ny4yNy01Ny4yNw0KCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcNCgkJCWMwLTIwLjU1MSwxNi43MTktMzcuMjcsMzcuMjctMzcuMjdjMjAuNTUsMCwzNy4yNywxNi43MTksMzcuMjcsMzcuMjdDMTYzLjc2MSwxMTQuNzY4LDE0Ny4wNDIsMTMxLjQ4NywxMjYuNDksMTMxLjQ4N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyNi40OSwwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjEyLjMzOGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwczEwLTQuNDc3LDEwLTEwVjEwQzEzNi40OSw0LjQ3NywxMzIuMDE0LDAsMTI2LjQ5LDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4DQoJCQlDMTM2LjQ5LDE2MC41NzQsMTMyLjAxNCwxNTYuMDk3LDEyNi40OSwxNTYuMDk3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEwLjcwOCw4NC4yMTdIMTk4LjM3Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDEyLjMzOGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTU0LjYxLDg0LjIxN0g0Mi4yNzJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMTIuMzM5YzUuNTIzLDAsMTAtNC40NzcsOS45OTktMTANCgkJCUM2NC42MSw4OC42OTQsNjAuMTM0LDg0LjIxNyw1NC42MSw4NC4yMTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzDQoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjljMi41NTksMCw1LjExOS0wLjk3Niw3LjA3MS0yLjkyOWw5Ljg3Ny05Ljg3N0MyMDQuODgzLDI5Ljk2NiwyMDQuODgzLDIzLjYzNCwyMDAuOTc3LDE5LjcyOQ0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0Mw0KCQkJYzEuOTUyLDEuOTUzLDQuNTEyLDIuOTI5LDcuMDcxLDIuOTI5czUuMTE5LTAuOTc2LDcuMDcyLTIuOTI5bDkuODc3LTkuODc3Qzc5LjkyOCwxNTQuOTIyLDc5LjkyOCwxNDguNTksNzYuMDIzLDE0NC42ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik03Ni4wMjEsMjkuNjA2bC05Ljg3Ny05Ljg3N2MtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwYy0zLjkwNSwzLjkwNi0zLjkwNSwxMC4yMzgsMCwxNC4xNDNsOS44NzcsOS44NzcNCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ1OS41NCw0NjguMzg5Yy0wLjEyOS0wLjY0LTAuMzItMS4yNy0wLjU3LTEuODdjLTAuMjUtMC42LTAuNTYtMS4xOC0wLjkyLTEuNzJjLTAuMzYtMC41NS0wLjc4LTEuMDYtMS4yNC0xLjUzDQoJCQljLTAuNDYtMC40Ni0wLjk3LTAuODctMS41Mi0xLjI0Yy0wLjU0LTAuMzYtMS4xMi0wLjY3LTEuNzMtMC45MmMtMC41OTktMC4yNS0xLjIyOS0wLjQ0LTEuODctMC41N2MtMS4yOS0wLjI2LTIuNjItMC4yNi0zLjkwOSwwDQoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNA0KCQkJYy0wLjQ2LDAuNDctMC44OCwwLjk4LTEuMjUsMS41M2MtMC4zNiwwLjU0LTAuNjcsMS4xMi0wLjkyLDEuNzJjLTAuMjUsMC42LTAuNDQsMS4yMy0wLjU3LDEuODcNCgkJCWMtMC4xMywwLjY1MS0wLjE5LDEuMzAxLTAuMTksMS45NjFjMCwwLjY1LDAuMDYsMS4zMSwwLjE5LDEuOTVjMC4xMywwLjY0LDAuMzIsMS4yNywwLjU3LDEuODdjMC4yNSwwLjYsMC41NiwxLjE4LDAuOTIsMS43Mw0KCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3DQoJCQljMC42NSwwLjEzLDEuMzEsMC4yLDEuOTYsMC4yYzAuNjUsMCwxLjMxLTAuMDcsMS45NDktMC4yYzAuNjQxLTAuMTMsMS4yNy0wLjMyLDEuODctMC41N2MwLjYxLTAuMjUsMS4xOS0wLjU2LDEuNzMtMC45Mg0KCQkJYzAuNTUtMC4zNiwxLjA2LTAuNzgsMS41Mi0xLjI0YzAuNDYtMC40NiwwLjg4LTAuOTgsMS4yNC0xLjUyYzAuMzYxLTAuNTUsMC42Ny0xLjEzLDAuOTItMS43M2MwLjI1LTAuNiwwLjQ0LTEuMjMsMC41Ny0xLjg3DQoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQwOS43MzksNDYwLjM0Nkg2Mi4xMzhjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMzQ3LjZjNS41MjMsMCwxMC00LjQ3NywxMC4wMDEtMTANCgkJCUM0MTkuNzM5LDQ2NC44MjMsNDE1LjI2MSw0NjAuMzQ2LDQwOS43MzksNDYwLjM0NnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkNCgkJCWMzNi40ODItNC45MDIsNjQuNzA0LTM2LjIzNiw2NC43MDQtNzQuMDM3YzAtMTkuNzA5LTcuNzgxLTM4LjUzMS0yMS41MjQtNTIuNDY0YzAuMTg2LTEuODE0LDAuMjc4LTMuNjQxLDAuMjc4LTUuNDY4DQoJCQljMC0yOS40NzctMjMuOTgxLTUzLjQ1OC01My40NTgtNTMuNDU4Yy0yOS40NzcsMC01My40NTgsMjMuOTgyLTUzLjQ1OCw1My40NThjMCwxLjgyNywwLjA5MywzLjY1MywwLjI3Nyw1LjQ2Nw0KCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTINCgkJCWMtMjUuMTI5LDAtNDUuNTczLDIwLjQ0NC00NS41NzMsNDUuNTc0djEuOTY4aC04LjUwNnYtMzUuMTNoMC4wMDFjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtMC4wMDENCgkJCXYtNDcuMzI5YzAtMi44NDQtMS4yMTEtNS41NTMtMy4zMy03LjQ1TDMxNi4yNywyNDYuODZjLTMuNzk3LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LDBsLTI0Ljc4NywyMi4xOTFsLTI0Ljc4OC0yMi4xOTENCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTENCgkJCWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMEw4OS4zOTgsMjY5LjA1TDY0LjYxLDI0Ni44NTljLTMuNzk2LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LTAuMDAxDQoJCQlsLTMxLjQ1OCwyOC4xNjNjLTIuMTE5LDEuODk3LTMuMzMsNC42MDYtMy4zMyw3LjQ1MXY0Ny4zMjloLTAuMDAxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMC4wMDENCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkNCgkJCUM1MTEuNTYzLDQzMi40MDgsNTA3LjA4NSw0MjcuOTMxLDUwMS41NjMsNDI3LjkzMXogTTQ0OS44OSw0MTAuMzkxYzExLjI5NiwwLDIwLjkwNSw3LjM2MiwyNC4yODEsMTcuNTRoLTIzLjQ2MnYtMS45NjgNCgkJCWMwLTUuNDQxLTAuOTU5LTEwLjY2Mi0yLjcxNi0xNS41MDRDNDQ4LjYyLDQxMC40MTQsNDQ5LjI1Myw0MTAuMzkxLDQ0OS44OSw0MTAuMzkxeiBNNDIwLjA4NywxODUuNTc0djMzLjExOGwtMTAuNDA3LTEwLjQwNw0KCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTENCgkJCXYyNi4yNjVjLTI1LjQwNS00LjcxMi00NC43MDQtMjcuMDM5LTQ0LjcwNC01My43ODljMC0xNS44MTYsNi44NDUtMzAuODU0LDE4Ljc3OC00MS4yNTZjMi43NC0yLjM4OCwzLjk2OS02LjA3NSwzLjIwOS05LjYyOQ0KCQkJYy0wLjQ5Mi0yLjI5OS0wLjc0MS00LjY3LTAuNzQxLTcuMDQ3YzAtMTguNDQ5LDE1LjAwOS0zMy40NTgsMzMuNDU4LTMzLjQ1OGMxOC40NDksMCwzMy40NTgsMTUuMDA5LDMzLjQ1OCwzMy40NTgNCgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2DQoJCQljMCwyNi43NS0xOS4yOTksNDkuMDc2LTQ0LjcwNCw1My43ODh2LTI2LjI2NWMwLjQ1My0wLjMyMiwwLjg4Ny0wLjY4NSwxLjI5My0xLjA5MWwyMy4yNTctMjMuMjU3DQoJCQljMy45MDUtMy45MDUsMy45MDUtMTAuMjM3LDAtMTQuMTQzYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBsLTEwLjQwNywxMC40MDd2LTMzLjExOGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwDQoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0DQoJCQljMTQuMTAyLDAsMjUuNTczLDExLjQ3MiwyNS41NzMsMjUuNTc0djEuOTY4aC01MS4xNDZWNDI1Ljk2M3ogTTI4OC4xNDMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTRWMjg2Ljk0MQ0KCQkJeiBNMjI1LjIyNywyODYuOTQxbDIxLjQ1OC0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNVYyODYuOTQxeiBNMTYyLjMxMywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTgsMTkuMjFWMzI5LjhoLTQyLjkxNQ0KCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOA0KCQkJSDM2LjQ4M1YyODYuOTQxeiBNMjYuNDgyLDM0OS44MDFoMzE0LjU3NXYyM0gyNi40ODJWMzQ5LjgwMXogTTMzMS4wNTcsMzkyLjgwMXYzNS4xM2gtNDIuOTE0di0zNS4xM0gzMzEuMDU3eiBNMjY4LjE0MywzOTIuODAxDQoJCQl2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjY4LjE0M3ogTTIwNS4yMjcsMzkyLjgwMXYzNS4xM2gtNDIuOTE1di0zNS4xM0gyMDUuMjI3eiBNMTQyLjMxMywzOTIuODAxdjM1LjEzSDk5LjM5OHYtMzUuMTNIMTQyLjMxM3oNCgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc4LjQ4NywxMjcuODQzYy0wLjU1NiwwLTEuMTEyLDAuMDExLTEuNjY4LDAuMDMzYy03LjU0My0xNC40Mi0yMi41MTktMjMuOTIzLTM4Ljg5NC0yMy45MjMNCgkJCWMtMjAuNTg3LDAtMzguMDQ3LDE0LjY4My00Mi43NzMsMzQuMzQ2Yy0xOS43ODMsMS45My0zNS4zMDksMTkuMDAxLTM1LjMwOSwzOS43MDdjMCwyMS45OTQsMTcuNTE3LDM5Ljg4NywzOS4wNDgsMzkuODg3aDc5LjU5Ng0KCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2DQoJCQljLTEwLjUwMywwLTE5LjA0OC04LjkyMS0xOS4wNDgtMTkuODg3YzAtMTAuOTY3LDguNTQ1LTE5Ljg4OCwxOS4wNDgtMTkuODg4YzEuMDU2LDAsMi4xNDgsMC4wOTksMy4yNDQsMC4yOTYNCgkJCWMyLjg5MywwLjUxNiw1Ljg3LTAuMjY3LDguMTM1LTIuMTQxYzIuMjY1LTEuODc1LDMuNTktNC42NTIsMy42MjMtNy41OTJjMC4xNTMtMTMuNjM1LDEwLjkzMy0yNC43MjgsMjQuMDMyLTI0LjcyOA0KCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0DQoJCQljMTMuMjU2LDAsMjQuMDQxLDExLjIyNiwyNC4wNDEsMjUuMDI1QzMwMi41MjcsMTg2LjY2NywyOTEuNzQzLDE5Ny44OTMsMjc4LjQ4NywxOTcuODkzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gallery:Vxe,Garage:Zxe,Garden:Xxe,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNMjk5LjY2OCwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzgtMTAuMzhoLTU5LjM1NWMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPg0KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRoNTkuNTA0aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUNCgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNEgzOTYuNWg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcNCgkJCWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3di0xMi42M0MyODMuODMyLDQwOC4zNTIsMjgwLjU3LDQwNS4wODksMjc2LjU0NSw0MDUuMDg5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02My42MTggNjItMi43MTgtNS40NDdhMSAxIDAgMCAwIC0uOS0uNTUzaC0xdi0zMGgzdi0yaC0zdi0xOWE1LjAwNiA1LjAwNiAwIDAgMCAtNS01aC0xNGE1LjAwNiA1LjAwNiAwIDAgMCAtNSA1djFhMyAzIDAgMCAwIC0zIDN2MWgtNWEzIDMgMCAwIDAgLTMgM3YyYTEgMSAwIDAgMCAxIDFoMTV2LTJoLTE0di0xYTEgMSAwIDAgMSAxLTFoMThhMSAxIDAgMCAxIDEgMXYxaC00djJoNWExIDEgMCAwIDAgMS0xdi0yYTMgMyAwIDAgMCAtMy0zaC01di0xYTMgMyAwIDAgMCAtMy0zdi0xYTMgMyAwIDAgMSAzLTNoMTRhMyAzIDAgMCAxIDMgM3YxOWgtNXYyaDV2MTRoLTN2LTJoLTJ2Nmgydi0yaDN2MTRoLTFhMSAxIDAgMCAwIC0uOS41NTNsLTIuNzE4IDUuNDQ3aC01Mi4zODJ2Mmg2NHYtMnptLTI1LjYxOC01M3YxaC00di0xYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxem0xOC42MTggNDloMi43NjRsMiA0aC02Ljc2NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMjljNC40ODYgMCA4LTUuMjcxIDgtMTJzLTMuNTE0LTEyLTgtMTItOCA1LjI3MS04IDEyIDMuNTE0IDEyIDggMTJ6bTAtMjJjMy4yNTIgMCA2IDQuNTc5IDYgMTBzLTIuNzQ4IDEwLTYgMTAtNi00LjU3OS02LTEwIDIuNzQ4LTEwIDYtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01LjA5NSAxMy41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtNy4xOTcgOS4xMjIpIi8+DQogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ1NiwzMjhhNDAuMDM3LDQwLjAzNywwLDAsMC04LC44MDQ5M1YxNDRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLTIuMzQzODEtNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLTIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCw0NDgsMTEyVjg4aDQwYTcuOTk5NDYsNy45OTk0NiwwLDAsMCw2Ljk0NTgtMTEuOTY4NzVsLTMyLTU2QTcuOTk4NjMsNy45OTg2MywwLDAsMCw0NTYsMTZIMzg0YTcuOTk4NjMsNy45OTg2MywwLDAsMC02Ljk0NTgsNC4wMzEyNWwtMzIsNTZBNy45OTk0Niw3Ljk5OTQ2LDAsMCwwLDM1Miw4OGg0MHYyNGE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsMi4zNDM4MSw1LjY1NzQ3LDE0LjY0NTM1LDE0LjY0NTM1LDAsMCwxLDAsMjAuNjg1MDZBNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDM5MiwxNDRWMzIwSDMxMlYyODhoMjRhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYyNDhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLTgtOEgzMTJWMjE2aDQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMTEyYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjA4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2OTZhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOGg0OHYyNEgyMDUuNDE2MDhsLTEzLjYwNTUzLTM0LjAxNDY1LTQuOTc0MTItMzkuNzkzQTU2LjUzMTQ4LDU2LjUzMTQ4LDAsMCwwLDE4NCwxNTQuMjZWODBBNjQsNjQsMCwwLDAsNTYsODB2NTIuODI4NjFBNTYuMDQxOTMsNTYuMDQxOTMsMCwwLDAsMzMuNTk0MjQsMTYxLjkxOWwtMTcuMTgzNiw1MS41NTA3OGE3Ljk5OCw3Ljk5OCwwLDAsMC0uMTcxODcsNC40NzA3bDUuNTkxMzcsMjIuMzY1NDhBNy45OTc0NSw3Ljk5NzQ1LDAsMCwwLDE2LDI0OFY0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOEg0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYzNjhBNDAuMDQ1NTIsNDAuMDQ1NTIsMCwwLDAsNDU2LDMyOFptMjQsNDB2NTZINDMyVjM2OGEyNCwyNCwwLDAsMSw0OCwwWk0yNjQsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDQwOGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wk05Niw0MjRWNDAwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThIMjQwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LDh2MjRabTMyMC04MHYzMy4zNzYyMkEyMy44ODIxMiwyMy44ODIxMiwwLDAsMCw0MDgsMzc2SDI3MmEyMy45MDExMSwyMy45MDExMSwwLDAsMC0xNiw2LjEzMDg2QTIzLjkwMTExLDIzLjkwMTExLDAsMCwwLDI0MCwzNzZIMTA0YTIzLjg4MjEyLDIzLjg4MjEyLDAsMCwwLTgsMS4zNzYyMlYzNDRhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhBOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDQxNiwzNDRabTEwLjQ1MTcyLTIwOEg0MTMuNTQ4MjhhMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsMC0xNmgxMi45MDM0NEEzMC44NDM1MSwzMC44NDM1MSwwLDAsMCw0MjYuNDUxNzIsMTM2Wk0zODguNjQyNTgsMzJoNjIuNzE0ODRsMjIuODU2OTQsNDBIMzY1Ljc4NTY0Wk00MzIsODh2MTZINDA4Vjg4Wm0tMjQsNjRoMjRWMzM2LjAyMmMtLjM2NjMzLjI3NTY0LS43MjQxOC41NjItMS4wODA2OS44NDk2MUEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMCw0MDgsMzIwWk0yOTYsMzIwSDEwNGEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMC0yMi45MTkzMSwxNi44NzE1OEEzOS45LDM5LjksMCwwLDAsMzIsMzM2LjAyMlYyODhIMjk2Wm0zMi00OEgzMlYyNTZIMzI4Wk03MiwyNDBINjRWMjI1LjU0MWw3LjMxNjg5LTE4LjI5Mkw3MiwyMDkuMjk3ODVabTg4LS4wMDAyNC4wMDAyNC4wMDAyNEgxNjBaTTIxNiwyMDBWMTIwSDM1MnY4MEgzMTJWMTY4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjY0YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2MzJabTU2LTI0aDI0djY0SDI3MlpNMTIwLDMyYTQ4LjA1NCw0OC4wNTQsMCwwLDEsNDgsNDh2NTAuODUzNTJhNTYuNzI1NjIsNTYuNzI1NjIsMCwwLDAtNy45MTk5Mi01LjczNTM2bC0xMS40NDE2NS02Ljg2NUEzMS43OTQwNSwzMS43OTQwNSwwLDAsMCwxNTIsMTA0VjgwYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThoLTYuMTExMzNhMjAuODMwNTMsMjAuODMwNTMsMCwwLDEtMTguNzMzNC0xMS41NzgxMiw4LjAwMDY0LDguMDAwNjQsMCwwLDAtMTIuODEyLTIuMDc5MTFsLTE2LDE2QTguMDAwNzYsOC4wMDA3NiwwLDAsMCw4OCw4MHYyNGEzMS44MDE4OCwzMS44MDE4OCwwLDAsMCwyLjc1NzUxLDEyLjk3MTE5TDcyLDEyNS4wMVY4MEE0OC4wNTQsNDguMDU0LDAsMCwxLDEyMCwzMlptMTYsNzJhMTYsMTYsMCwwLDEtMzIsMFY4My4zMTM0OGw2Ljk0Njc4LTYuOTQ2MjlBMzYuNjk4MTYsMzYuNjk4MTYsMCwwLDAsMTM2LDg3Ljk1MzEyWm0tMzQuNzcxOTEsMjUuODkyMDlhMzEuOTE2MTMsMzEuOTE2MTMsMCwwLDAsMzYuNzA0NDcuNTk3MTdsMS4yMzcxOC43NDI0M0wxMjAsMTU1LjE5MzM2bC0xOS44NjYyNy0yNC44MzIyOFpNNDguNzczLDE2Ni45Nzk0OUE0MC4wMzUzOCw0MC4wMzUzOCwwLDAsMSw3MC45NjM4NywxNDIuODYyM2wxMy45MTE2Mi01Ljk2MTkxLDI4Ljg3NzQ0LDM2LjA5NjY4YTcuOTk5NDMsNy45OTk0MywwLDAsMCwxMi40OTQxNCwwTDE1Mi45OSwxMzkuNTY4MzZhMzkuNzI3NzksMzkuNzI3NzksMCwwLDEsMTcuOTY5NDgsMjguNjA4NGw1LjEwMjU0LDQwLjgxNTQzYTcuOTgyODEsNy45ODI4MSwwLDAsMCwuNTEwMjYsMS45Nzg1MUwxODguMTgzNTksMjQwSDE4MGwtMjAtMjYuNjY3VjIwMS44MDY2NGE1MC44MjMzOCw1MC44MjMzOCwwLDAsMCwxLjkzMjYyLTM3LjMwNzYybC0yLjM0MzI2LTcuMDI5MjktMTUuMTc4NzIsNS4wNjA1NCwyLjM0MzI3LDcuMDI5M2EzNC45NTUxMywzNC45NTUxMywwLDAsMS0xLjkwOTE4LDI2Ljg2MjMxQTcuOTk5MzQsNy45OTkzNCwwLDAsMCwxNDQsMjAwdjQwSDg4VjIwOGE4LjAwNjQzLDguMDA2NDMsMCwwLDAtLjQxMDY0LTIuNTMwMjdsLTgtMjRhOC4wMDAwOSw4LjAwMDA5LDAsMCwwLTE1LjAxNzA5LS40NDA0M2wtMTYsNDBBNy45OTcyMyw3Ljk5NzIzLDAsMCwwLDQ4LDIyNHYxNkgzOC4yNDYwOWwtNS45MTk5Mi0yMy42ODA2NlpNMzIsMzY4YTI0LDI0LDAsMCwxLDQ4LDB2NTZIMzJaTTQ4MCw0ODBIMzJWNDQwSDQ4MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Gym:Kxe,Hall:qxe,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICA8cGF0aCBkPSJtMjgyLjUxOTUzMSAzMzMuOTg4MjgxYy00LjE3MTg3NSAwLTcuNTQ2ODc1IDMuMzc4OTA3LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjkgMy4zNzUgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoMTE0LjMzOTg0NGM3LjA4MjAzMSAwIDEyLjg0Mzc1LTUuNzYxNzE5IDEyLjg0Mzc1LTEyLjg0NzY1NnYtMTkxLjkyOTY4N2MwLTcuMDgyMDMyLTUuNzYxNzE5LTEyLjg0NzY1Ny0xMi44NDM3NS0xMi44NDc2NTdoLTI4MS43MTg3NWMtNy4wODIwMzEgMC0xMi44NDM3NSA1Ljc2NTYyNS0xMi44NDM3NSAxMi44NDc2NTd2MTkxLjkyOTY4N2MwIDcuMDg1OTM3IDUuNzYxNzE5IDEyLjg0NzY1NiAxMi44NDM3NSAxMi44NDc2NTZoMTM3LjE5MTQwNmM0LjE2Nzk2OSAwIDcuNTQ2ODc1LTMuMzc4OTA2IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjgtMy4zNzg5MDYtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTEzNC45NDUzMTJ2LTE4Ny40Mzc1aDI3Ny4yMjY1NjJ2MTg3LjQzNzV6bTAgMCIvPg0KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4NCiAgICA8cGF0aCBkPSJtNDYyLjczODI4MS41Yy0yNy4xNjQwNjIgMC00OS4yNjk1MzEgMjIuMTA1NDY5LTQ5LjI2OTUzMSA0OS4yNjk1MzF2NTYuMzA0Njg4Yy01LjY1MjM0NC0xLjM2NzE4OC02LjA0Mjk2OS0uNTM1MTU3LTU0LjMzMjAzMS0uNzc3MzQ0LTQuMTY0MDYzIDAtNy41NDI5NjkgMy4zODI4MTMtNy41NDI5NjkgNy41NDY4NzVzMy4zNzg5MDYgNy41NDY4NzUgNy41NDI5NjkgNy41NDY4NzVoNDcuNzIyNjU2YzcuNzMwNDY5IDAgMTMuOTE0MDYzIDYuMzA0Njg3IDEzLjkxNDA2MyAxMy45MTQwNjN2MjExLjkzMzU5M2MwIDcuNjY0MDYzLTYuMjQ2MDk0IDEzLjkxNDA2My0xMy45MTQwNjMgMTMuOTE0MDYzLTU5LjQxNzk2OSAwLTIzMS41NTQ2ODcgMC0zMDEuNzE4NzUgMC03LjY2Nzk2OSAwLTEzLjkxNDA2My02LjI1LTEzLjkxNDA2My0xMy45MTQwNjMgMC0xMC43NDYwOTMgMC0yMDQuNTg5ODQzIDAtMjExLjkzMzU5MyAwLTUuMjczNDM4IDIuOTU3MDMyLTkuODc4OTA3IDcuMzA0Njg4LTEyLjI0NjA5NCA1Ljg0Mzc1LTMuMTc1NzgyLTQuMjQyMTg4LTEuMDQ2ODc1IDIzMC40MjE4NzUtMS42Njc5NjkgNC4xNzU3ODEgMCA3LjU0Njg3NS0zLjM4MjgxMyA3LjU0Njg3NS03LjU0Njg3NXMtMy4zNzEwOTQtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVjLTIzNi4zNTE1NjMuMjczNDM3LTIyNC41NTA3ODEtLjY0NDUzMS0yMzAuNDIxODc1Ljc3NzM0NHYtNTYuMzA0Njg4YzAtMjcuMTY0MDYyLTIyLjEwNTQ2OS00OS4yNjk1MzEtNDkuMjY5NTMxLTQ5LjI2OTUzMS0yMi43Njk1MzEgMC00Mi40NDkyMTkgMTUuNDMzNTk0LTQ3Ljg2MzI4MSAzNy41MjczNDQtLjk4NDM3NiA0LjA1NDY4NyAxLjUgOC4xNDA2MjUgNS41NDI5NjggOS4xMjUgNC4wNDY4NzUuOTg4MjgxIDguMTI4OTA2LTEuNDg4MjgyIDkuMTI1LTUuNTMxMjUgMy43NDYwOTQtMTUuMzI0MjE5IDE3LjM5ODQzOC0yNi4wMzEyNSAzMy4xOTUzMTMtMjYuMDMxMjUgMTguODQzNzUgMCAzNC4xNzU3ODEgMTUuMzM1OTM3IDM0LjE3NTc4MSAzNC4xNzk2ODd2NjUuMzE2NDA3Yy0zLjExMzI4MSAzLjUxMTcxOC01LjM5MDYyNSA3Ljc3MzQzNy02LjUxMTcxOSAxMi40ODA0NjgtMi42NzE4NzUtMTIuODI0MjE4LTE0LjA1ODU5My0yMi40ODgyODEtMjcuNjY0MDYyLTIyLjQ4ODI4MS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc5Njg3LTI4LjI1MzkwNyAyOC4yNTc4MTMgMCAxNS41NzgxMjQgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMTA5MzggMjYuODcxMDkzLTE5LjUzMTI1djYxLjM5ODQzOGMtMy42ODM1OTMtMTEuMzIwMzEzLTE0LjMzNTkzNy0xOS41MjczNDQtMjYuODcxMDkzLTE5LjUyNzM0NC0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgxLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzEgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djYxLjQwMjM0NGMtMy42ODM1OTMtMTEuMzI0MjE4LTE0LjMzNTkzNy0xOS41MzEyNS0yNi44NzEwOTMtMTkuNTMxMjUtMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjUzOTA2IDAgMTUuNTgyMDMyIDEyLjY3NTc4MiAyOC4yNTc4MTMgMjguMjUzOTA3IDI4LjI1NzgxMyAxMi41MzUxNTYgMCAyMy4xODc1LTguMjA3MDMxIDI2Ljg3MTA5My0xOS41MzEyNXYxNy4wODk4NDRjLTIwLjEwNTQ2OCAyNS41MzEyNS02MS4wMzkwNjIgMTEuMTI1LTYxLjAzOTA2Mi0yMS4wOTc2NTd2LTIyNS44NDM3NWMwLTQuMTc1NzgxLTMuMzgyODEyLTcuNTQ2ODc0LTcuNTQ2ODc1LTcuNTQ2ODc0LTQuMTc1NzgxIDAtNy41NDY4NzUgMy4zNzEwOTMtNy41NDY4NzUgNy41NDY4NzR2MjI1Ljg0Mzc1YzAgMjQuNjAxNTYzIDE4LjEyMTA5NCA0NS4wNTA3ODIgNDEuNzE4NzUgNDguNjk1MzEzdjYyLjUyNzM0NGgtMTguOTY0ODQ0Yy00LjE2Nzk2OCAwLTcuNTQ2ODc1IDMuMzc4OTA2LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjggMy4zNzg5MDcgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoNTMuMDE5NTMyYzQuMTY3OTY4IDAgNy41NDY4NzQtMy4zNzg5MDcgNy41NDY4NzQtNy41NDY4NzUgMC00LjE2Nzk2OS0zLjM3ODkwNi03LjU0Njg3NS03LjU0Njg3NC03LjU0Njg3NWgtMTguOTY0ODQ0di02Mi41MzEyNWM3LjA0Mjk2OC0xLjA4NTkzOCAxMy41OTc2NTYtMy42Njc5NjkgMTkuMzI0MjE4LTcuNDEwMTU3djkuMTk5MjE5YzAgMTUuOTg0Mzc1IDEzLjAxOTUzMiAyOS4wMDM5MDcgMjkuMDA3ODEzIDI5LjAwMzkwN2g0NS44MjAzMTN2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzQgMTEuNDEwMTU2IDExLjM5ODQzNyAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM4LTUuMTIxMDkzIDExLjM5ODQzOC0xMS40MTAxNTZ2LTM1Ljg5ODQzN2gxMjIuMjI2NTYydjM1Ljg5ODQzN2MwIDYuMjg5MDYzIDUuMTA5Mzc1IDExLjQxMDE1NiAxMS4zOTg0MzggMTEuNDEwMTU2aDIxLjEyODkwNmM2LjI4OTA2MyAwIDExLjM5ODQzNy01LjEyMTA5MyAxMS4zOTg0MzctMTEuNDEwMTU2di0zNS44OTg0MzdoNDUuODIwMzEzYzE1Ljk4ODI4MSAwIDI5LjAwNzgxMy0xMy4wMTk1MzIgMjkuMDA3ODEzLTI5LjAwMzkwN3YtOS4xOTkyMTljNS43MjY1NjIgMy43NDIxODggMTIuMjgxMjUgNi4zMjQyMTkgMTkuMzI0MjE4IDcuNDEwMTU3djYyLjUzMTI1aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzQgMy4zNzg5MDYtNy41NDY4NzQgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Njg3NCA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NS0zLjM3ODkwNyA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA3LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUyNzM0NGMyMy41OTc2NTYtMy42NDQ1MzEgNDEuNzE4NzUtMjQuMDkzNzUgNDEuNzE4NzUtNDguNjk1MzEzdi0yNDUuOTg4MjgxYzAtMjcuMTY0MDYyLTIyLjA5Mzc1LTQ5LjI2OTUzMS00OS4yNjE3MTktNDkuMjY5NTMxem0tNDEzLjQ3NjU2MiAxNDZjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2NDA2MiAwLTcuMjU3ODEzIDUuOTA2MjUtMTMuMTY0MDYzIDEzLjE2NDA2My0xMy4xNjQwNjMgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYzIDAgNy4yNTc4MTItNS45MDYyNSAxMy4xNjQwNjItMTMuMTY0MDYyIDEzLjE2NDA2MnptMCA3OC44NTU0NjljLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMCA3OC44NTE1NjJjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMTMwLjUzNTE1NiAxMDMuMjUzOTA3aC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTY2LjE1MjM0NCAwaC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTUwLjk1NzAzMS0xMTEuNzAzMTI2YzAgMzIuMjM4MjgyLTQwLjk0MTQwNiA0Ni42MjEwOTQtNjEuMDM5MDYyIDIxLjA5NzY1N3YtMTcuMDg1OTM4YzMuNjgzNTkzIDExLjMyMDMxMyAxNC4zMzU5MzcgMTkuNTI3MzQ0IDI2Ljg3MTA5MyAxOS41MjczNDQgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEzIDAtMTUuNTc4MTI0LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzItMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk0NTMxYzMuNjgzNTkzIDExLjMyMDMxMiAxNC4zMzU5MzcgMTkuNTI3MzQzIDI2Ljg3MTA5MyAxOS41MjczNDMgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI1LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzEtMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk4NDM4YzMuNjgzNTkzIDExLjMyNDIxOSAxNC4zMzU5MzcgMTkuNTMxMjUgMjYuODcxMDkzIDE5LjUzMTI1IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1NzgxMiAwLTE1LjU3ODEyNi0xMi42NzU3ODItMjguMjUzOTA3LTI4LjI1MzkwNy0yOC4yNTM5MDctMTMuNjA1NDY5IDAtMjQuOTkyMTg3IDkuNjYwMTU3LTI3LjY2NDA2MiAyMi40ODQzNzUtMS4xMjEwOTQtNC43MDcwMzEtMy4zOTg0MzgtOC45Njg3NS02LjUxMTcxOS0xMi40NzY1NjJ2LTY1LjMyMDMxM2MwLTE4Ljg0Mzc1IDE1LjMzMjAzMS0zNC4xNzk2ODcgMzQuMTc5Njg4LTM0LjE3OTY4NyAxOC44NDM3NSAwIDM0LjE2Nzk2OCAxNS4zMzU5MzcgMzQuMTY3OTY4IDM0LjE3OTY4N3YyNDUuOTg4Mjgxem0tNDcuMzMyMDMxLTQuNzE4NzVjMC03LjI1NzgxMiA1LjkwNjI1LTEzLjE2NDA2MiAxMy4xNjQwNjItMTMuMTY0MDYyIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MiAwIDcuMjYxNzE5LTUuOTA2MjUgMTMuMTY3OTY5LTEzLjE2NDA2MyAxMy4xNjc5NjktNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY3OTY5em0wLTc4Ljg1MTU2MmMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYyLTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjMgMTMuMTY0MDYyLTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2NDA2MnptMCAwIi8+DQogICAgPHBhdGggZD0ibTQ2Mi43MzgyODEgMjYuMjI2NTYyYy0xNS41ODIwMzEgMC0yOC4yNTc4MTIgMTIuNjc1NzgyLTI4LjI1NzgxMiAyOC4yNTc4MTMgMCAxNS41NzgxMjUgMTIuNjc1NzgxIDI4LjI1MzkwNiAyOC4yNTc4MTIgMjguMjUzOTA2IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1MzkwNiAwLTE1LjU4MjAzMS0xMi42NzU3ODItMjguMjU3ODEzLTI4LjI1MzkwNy0yOC4yNTc4MTN6bTAgNDEuNDIxODc2Yy03LjI2MTcxOSAwLTEzLjE2Nzk2OS01LjkwNjI1LTEzLjE2Nzk2OS0xMy4xNjQwNjMgMC03LjI2MTcxOSA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjc5NjktMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTAyMzQ0IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMy01LjkwNjI1IDEzLjE2NDA2My0xMy4xNjQwNjMgMTMuMTY0MDYzem0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Kitchen:eSe,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSAyaC01OGMtLjU1MiAwLTEgLjQ0OC0xIDF2NThjMCAuNTUyLjQ0OCAxIDEgMWg1OGMuNTUyIDAgMS0uNDQ4IDEtMXYtNThjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDZoLTR2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTZjLS41NTIgMC0xIC40NDgtMSAxdjJoLTNjLS41NTIgMC0xIC40NDgtMSAxdjloLTJ2LTE0aDE4em0tMTIuMTQyIDMxLTEuNjkyLTExaDkuNjY5bC0xLjY5MiAxMXptMS4xNDItMTNjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptOC43NTkuMzQ5Yy0uMTktLjIyMi0uNDY3LS4zNDktLjc1OS0uMzQ5aC0yYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0aC0yYy0uMjkyIDAtLjU2OS4xMjctLjc1OS4zNDlzLS4yNzQuNTE1LS4yMjkuODAzbDEuODIzIDExLjg0OGgtMy44MzV2LTE5aDE4djE5aC0zLjgzNWwxLjgyMy0xMS44NDhjLjA0NS0uMjg4LS4wMzktLjU4Mi0uMjI5LS44MDN6bS03Ljc1OS0xNy4zNDl2LTJoNHYxMWgtNHptLTIgOWgtMnYtOGgyem04IDB2LThoNHY4em0tMTYtMTR2MTRoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtN2MwLS4yNjUtLjEwNS0uNTItLjI5My0uNzA3bC0xLjcwNy0xLjcwN3YtMi41ODZjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjIuNTg2bC0xLjcwNyAxLjcwN2MtLjE4OC4xODctLjI5My40NDItLjI5My43MDd2N2gtMnYtMTBjMC0uNTUyLS40NDgtMS0xLTFoLThjLS41NTIgMC0xIC40NDgtMSAxdjEwaC0ydi0xNHptLTQgMTRoLTR2LTloNHptLTExLjcwNy04LjI5MyAxLjcwNyAxLjcwN3Y2LjU4NmgtNnYtNi41ODZsMS43MDctMS43MDdjLjE4OC0uMTg3LjI5My0uNDQyLjI5My0uNzA3di0yaDJ2MmMwIC4yNjUuMTA1LjUyLjI5My43MDd6bS0xMC4yOTMgOC4yOTNoLTZ2LTloNnptLTEwIDJoMzZ2NDBoLTM2em00NSAyOGgtMnYtMWgyem0tMyAyaDQuNjQ5bDQuMzUxIDMuNDh2Ni41MmgtOXptMTEgMTB2LTdjMC0uMzA0LS4xMzgtLjU5MS0uMzc1LS43ODFsLTUtNGMtLjE3OC0uMTQyLS4zOTgtLjIxOS0uNjI1LS4yMTl2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjJjLS41NTIgMC0xIC40NDgtMSAxdjExaC0ydi0xOWgxOHYxOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMiAzM2MtNi4wNjUgMC0xMSA0LjkzNS0xMSAxMXM0LjkzNSAxMSAxMSAxMSAxMS00LjkzNSAxMS0xMS00LjkzNS0xMS0xMS0xMXptMCAyMGMtNC45NjIgMC05LTQuMDM4LTktOXM0LjAzOC05IDktOSA5IDQuMDM4IDkgOS00LjAzOCA5LTkgOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI2LjE5OSA0OC4yODYgMS4zOTkgMS40MjljLjY3Ny0uNjYzIDEuMjI2LTEuNDMyIDEuNjMxLTIuMjg2bC0xLjgwNy0uODU3Yy0uMzAzLjYzOS0uNzE0IDEuMjE2LTEuMjIzIDEuNzE0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0IDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NC41IDI3Ny42NjdoLTUuNXYtMzYuNWMwLTE1LjE2NC0xMi4zMzYtMjcuNS0yNy41LTI3LjVoLTExMGMtNy44NzUgMC0xNC45ODIgMy4zMzItMjAgOC42NTUtNS4wMTgtNS4zMjItMTIuMTI1LTguNjU1LTIwLTguNjU1aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtNDAuNWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWg0MC41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2NzcuMDE4Yy0zLjc1My0xLjkyNC04LTMuMDE4LTEyLjUtMy4wMThoLTEwMS41di0yMGMwLTkuNjQ5LTcuODUxLTE3LjUtMTcuNS0xNy41aC0zLjV2LTM2LjVjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgzNC41YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zNC41Yy0xNS4xNjQgMC0yNy41IDEyLjMzNi0yNy41IDI3LjV2MzYuNWgtNi41Yy05LjY0OSAwLTE3LjUgNy44NTEtMTcuNSAxNy41djQyLjVjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtNDIuNWMwLTEuMzc4IDEuMTIyLTIuNSAyLjUtMi41aDI1YzEuMzc4IDAgMi41IDEuMTIyIDIuNSAyLjV2MTQwLjVoLTI3LjVjLTEuMzc4IDAtMi41LTEuMTIyLTIuNS0yLjV2LTYwLjVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NjAuNWMwIDkuNjQ5IDcuODUxIDE3LjUgMTcuNSAxNy41aDI3LjV2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDMyMnYxNC42NjdjMCA2Ljg5MyA1LjYwNyAxMi41IDEyLjUgMTIuNWgyNWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di0xNC42NjdoMjcuNWM5LjY0OSAwIDE3LjUtNy44NTEgMTcuNS0xNy41di0xMzhjMC05LjY1LTcuODUxLTE3LjUtMTcuNS0xNy41em0tMTQzLTQ5aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djM2LjVoLTQuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXYyMGgtMTAwLjVjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tMjkxLjUgMjA3di0xNWgzMjZjNC4xNDIgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTMyNnYtMTUuNWgxMDEuNWM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTEwYzcuODc1IDAgMTQuOTgyLTMuMzMyIDIwLTguNjU1IDUuMDE4IDUuMzIyIDEyLjEyNSA4LjY1NSAyMCA4LjY1NWgxMDAuNXYxNS41aC0zMWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWgzMXYxNXptMzkyLTYwLjVoLTEwMC41Yy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDEwMC41em0tMTI4LTEyLjVjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTEwYy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41em0tMTIyLjUtMTM0aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMTBjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tNDAgMTAxLjVjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYyMGMwIDYuODkzLTUuNjA3IDEyLjUtMTIuNSAxMi41aC0xMDEuNXYtNDV6bS04MS41IDEzMi42NjZoLTIwdi0xMi4xNjdoMjB6bTM1MiAwdi0xMi4xNjdoMjB2MTIuMTY3em02NS0yOS42NjZjMCAxLjM3OC0xLjEyMiAyLjUtMi41IDIuNWgtMjcuNXYtMTQwLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYyIDE3My42NjdoODljNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtNTZjMC02Ljg5My01LjYwNy0xMi41LTEyLjUtMTIuNWgtODljLTYuODkzIDAtMTIuNSA1LjYwNy0xMi41IDEyLjV2NTZjMCA2Ljg5MiA1LjYwNyAxMi41IDEyLjUgMTIuNXptMi41LTY2aDg0djUxaC04NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC40OSAxMzAuMTY3aDExMi4wMmM2Ljg4NyAwIDEyLjQ5LTUuNjAzIDEyLjQ5LTEyLjQ5di0xNi41NDljMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MTQuMDM5aC0xMDd2LTY2aDEwN3YxNi45NjFjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMTkuNDcyYzAtNi44ODctNS42MDMtMTIuNDktMTIuNDktMTIuNDloLTExMi4wMmMtNi44ODcgMC0xMi40OSA1LjYwMy0xMi40OSAxMi40OXY3MS4wMjFjMCA2Ljg4NiA1LjYwMyAxMi40OSAxMi40OSAxMi40OXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zODEuODgxIDI3OC4xMDJjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNzEtNi4yNjggMy4zODFjLTQuODI4IDcuMzQ5LTExLjAwMiAxMy41MjItMTguMzUxIDE4LjM1MS0yLjExIDEuMzg3LTMuMzgxIDMuNzQzLTMuMzgxIDYuMjY4czEuMjcxIDQuODgxIDMuMzgxIDYuMjY4em0yNC42MTktMTQuMzQ1YzIuNDk0IDIuODg3IDUuMTg5IDUuNTgzIDguMDc2IDguMDc2LTIuODg3IDIuNDk0LTUuNTgzIDUuMTg5LTguMDc2IDguMDc2LTIuNDk0LTIuODg3LTUuMTg5LTUuNTgzLTguMDc2LTguMDc2IDIuODg3LTIuNDkzIDUuNTgyLTUuMTg4IDguMDc2LTguMDc2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAwLjIzMiAyNDcuMjE1Yy00LjgyOCA3LjM0OS0xMS4wMDIgMTMuNTIyLTE4LjM1MSAxOC4zNTEtMi4xMSAxLjM4Ny0zLjM4MSAzLjc0My0zLjM4MSA2LjI2OHMxLjI3MSA0Ljg4MSAzLjM4MSA2LjI2OGM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3LTYuMjY4IDMuMzgxem0xNC4zNDQgMjQuNjE4Yy0yLjg4NyAyLjQ5NC01LjU4MyA1LjE4OS04LjA3NiA4LjA3Ni0yLjQ5NC0yLjg4Ny01LjE4OS01LjU4My04LjA3Ni04LjA3NiAyLjg4Ny0yLjQ5NCA1LjU4My01LjE4OSA4LjA3Ni04LjA3NiAyLjQ5NCAyLjg4OCA1LjE4OSA1LjU4MyA4LjA3NiA4LjA3NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3MywzMzEuOTE2VjI3My42NDhBMzkuNzEsMzkuNzEsMCwwLDAsNDMzLjMyOCwyMzRIMzc2VjE3MGg0NC4wMDlhNi4yODksNi4yODksMCwwLDAsNS43NDctOC4wMkw0MDQuODMxLDkyLjI0OEE1Ljk3Niw1Ljk3NiwwLDAsMCwzOTkuMDg0LDg4SDM0MC45MTZhNS45MzIsNS45MzIsMCwwLDAtNS43NDcsNC4yTDMxNC4yNDQsMTYxLjkyYTYuMzcyLDYuMzcyLDAsMCwwLC45MzQsNS40ODMsNi4xNzYsNi4xNzYsMCwwLDAsNC44MTMsMi42SDM2NHY2NEg4OC42NzVBMzkuNzEzLDM5LjcxMywwLDAsMCw0OSwyNzMuNjQ4djU4LjI2OGEzOS40MTcsMzkuNDE3LDAsMCwwLTM3LDM5LjU1NlY0NjMuMWE1LjkxNSw1LjkxNSwwLDAsMCw2LDUuOUgzNXYzMGE2LjI0Niw2LjI0NiwwLDAsMCw2LjI4LDZoNjcuODY3QTUuODc3LDUuODc3LDAsMCwwLDExNSw0OTlWNDY5SDQwN3YzMGE1Ljg3OSw1Ljg3OSwwLDAsMCw1Ljg1NSw2aDY3Ljg2OUE2LjI0Myw2LjI0MywwLDAsMCw0ODcsNDk5VjQ2OWgxN2E1LjkxMyw1LjkxMywwLDAsMCw2LTUuOVYzNzEuNDcyQTM5LjQxNywzOS40MTcsMCwwLDAsNDczLDMzMS45MTZaTTM0NS4zODEsMTAwaDQ5LjIzOGwxNy4zMjYsNThoLTgzLjg5Wk04OC42NzUsMjQ2SDQzMy4zMjhBMjcuNywyNy43LDAsMCwxLDQ2MSwyNzMuNjQ4djU5LjNhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMCwzOC41MjZWMzkwSDkxVjM3MS40NzJhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMC0zOC41MjZ2LTU5LjNBMjcuNywyNy43LDAsMCwxLDg4LjY3NSwyNDZaTTEwMyw0OTNINDdWNDY5aDU2Wm0zNzIsMEg0MTlWNDY5aDU2Wm0yMy0zNkgyNFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwVjM5NS44YTYuNDQ4LDYuNDQ4LDAsMCwwLDYuMzEsNi4ySDQzNi42OTNBNi40NDUsNi40NDUsMCwwLDAsNDQzLDM5NS44VjM3MS40NzJhMjcuNSwyNy41LDAsMSwxLDU1LDBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC4zNzQsMTMzLjJhMjAuMjE0LDIwLjIxNCwwLDEsMC0yMC4yMTQtMjAuMjE0QTIwLjIzNiwyMC4yMzYsMCwwLDAsMTI4LjM3NCwxMzMuMlptMC0yOC40MjdhOC4yMTQsOC4yMTQsMCwxLDEtOC4yMTQsOC4yMTNBOC4yMjMsOC4yMjMsMCwwLDEsMTI4LjM3NCwxMDQuNzY4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDM2OC4xLDMwOS4xMThaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwxNDguMSwzMDkuMTE4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA0aC0xNWMtMi4yMDkxMzkgMC00IDEuNzkwODYxLTQgNHYzNGMwIDIuMjA5MTM5IDEuNzkwODYxIDQgNCA0aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTEuMTA0NTY5NSAwLTItLjg5NTQzMDUtMi0ydi0zNGMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMSAxNmg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMTljMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUyIDBoLTE1Yy0yLjkxMjIxNDIuMDAxODA2OTEtNS41OTM0MDA4IDEuNTg2MDA1MTgtNyA0LjEzNi0xLjQwNjU5OTItMi41NDk5OTQ4Mi00LjA4Nzc4NTgtNC4xMzQxOTMwOS03LTQuMTM2aC0xNWMtNC40MTYyMjE5Mi4wMDQ5NTk4OC03Ljk5NTA0MDEyIDMuNTgzNzc4MDgtOCA4djM0Yy4wMDQ5NTk4OCA0LjQxNjIyMTkgMy41ODM3NzgwOCA3Ljk5NTA0MDEgOCA4aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTMuMzEyMzM3NTctLjAwMzMwNzQtNS45OTY2OTI2Mi0yLjY4NzY2MjQtNi02di0zNGMuMDAzMzA3MzgtMy4zMTIzMzc1NyAyLjY4NzY2MjQzLTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MTJjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMmMuMDAzMzA3NC0zLjMxMjMzNzU3IDIuNjg3NjYyNC01Ljk5NjY5MjYyIDYtNmgxNWMzLjMxMjMzNzYuMDAzMzA3MzggNS45OTY2OTI2IDIuNjg3NjYyNDMgNiA2djM0Yy0uMDAzMzA3NCAzLjMxMjMzNzYtMi42ODc2NjI0IDUuOTk2NjkyNi02IDZoLTZjLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoNmM0LjQxNjIyMTktLjAwNDk1OTkgNy45OTUwNDAxLTMuNTgzNzc4MSA4LTh2LTM0Yy0uMDA0OTU5OS00LjQxNjIyMTkyLTMuNTgzNzc4MS03Ljk5NTA0MDEyLTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2IDQ2aDZjMi4yMDkxMzkgMCA0LTEuNzkwODYxIDQtNHYtMzRjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MTIuMDVjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMi4wNWMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjM0YzAgMS4xMDQ1Njk1LS44OTU0MzA1IDItMiAyaC02Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyMGg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNyAyM2MtMy44NjQxNjU3LjAwNDQwODYtNi45OTU1OTE0IDMuMTM1ODM0My03IDd2NmMtMS42NTY4NTQyIDAtMyAxLjM0MzE0NTgtMyAzdjE4YzAgMS42NTY4NTQyIDEuMzQzMTQ1OCAzIDMgM2gyMGMxLjY1Njg1NDIgMCAzLTEuMzQzMTQ1OCAzLTN2LTE4YzAtMS42NTY4NTQyLTEuMzQzMTQ1OC0zLTMtM3YtNmMtLjAwNDQwODYtMy44NjQxNjU3LTMuMTM1ODM0My02Ljk5NTU5MTQtNy03em0xNCAxNnYxOGMwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxaC0yMGMtLjU1MjI4NDcgMC0xLS40NDc3MTUzLTEtMXYtMThjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDIwYy41NTIyODQ3IDAgMSAuNDQ3NzE1MyAxIDF6bS03LTNoLTh2LTZjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDZjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptNC02djZoLTJ2LTZjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zaC02Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2NmgtMnYtNmMuMDAzMzA2MS0yLjc2MDA1MzIgMi4yMzk5NDY4LTQuOTk2NjkzOSA1LTVoNmMyLjc2MDA1MzIuMDAzMzA2MSA0Ljk5NjY5MzkgMi4yMzk5NDY4IDUgNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxLjIxMyA0MS4xNDRjLTEuNTA0MTcyLS4zNjkzNzI3LTMuMDk0NjQyNi0uMDI1NjA2OC00LjMxMi45MzItMS4yMTc4ODM0Ljk2MTgxMzQtMS45MjAxMjc1IDIuNDM0NjA4OS0xLjkwMDc0MDMgMy45ODYzNjU3LjAxOTM4NzEgMS41NTE3NTY4Ljc1ODIwNzYgMy4wMDY1NDgxIDEuOTk5NzQwMyAzLjkzNzYzNDN2M2MwIDEuNjU2ODU0MiAxLjM0MzE0NTggMyAzIDNzMy0xLjM0MzE0NTggMy0zdi0zYzEuNTQ0NTEwNy0xLjE1Njk1NDQgMi4yODUzNDkyLTMuMDk5NDU1NyAxLjkwMzUxOTEtNC45OTEwODUyLS4zODE4MzAxLTEuODkxNjI5Ni0xLjgxODE1ODctMy4zOTQ2NjQzLTMuNjkwNTE5MS0zLjg2MTkxNDh6bS41ODcgNy4yNTZjLS40OTcxNDc5LjM1NzYwNjYtLjc5NDI0MDEuOTMwNjIzMi0uOCAxLjU0M3YzLjA1N2MwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxcy0xLS40NDc3MTUzLTEtMXYtMy4wODFjLS4wMDU3MDgyLS42MDIwNTIyLS4yOTk0MjU5LTEuMTY0OTQ5Mi0uNzktMS41MTQtMS4wMzUwNTUzLS43NzE3ODcyLTEuNDYwMjE2NC0yLjExOTI1MDctMS4wNTU1MzY0LTMuMzQ1MzEzMXMxLjU0ODQyMS0yLjA1NTY4NjcgMi44Mzk1MzY0LTIuMDU5Njg2OWMuMjU1MDMwOS4wMDA1MDg1LjUwOTExNDQuMDMxMDUyMi43NTcuMDkxIDEuMDU1ODY4LjI2MzI0NjEgMS44ODI5MDcgMS4wODMzNzcyIDIuMTU1IDIuMTM3LjMxMzM3NDYgMS4xODM5Njk1LS4xMjQ0MTY1IDIuNDM5NTUxMi0xLjEwNiAzLjE3MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Nursery:tSe,Office:sSe,Outdoors:iSe,Playroom:rSe,Pool:oSe,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDguNTMzSDM4NGMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdWMjU2djUxLjJoLTY5LjczNWMwLjk0OC0yLjY3MSwxLjQ2OC01LjU0MiwxLjQ2OC04LjUzMw0KCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMNCgkJCQlIMTYyLjEzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g4NS4zMzN2MTcuMDY3SDIzMC40DQoJCQkJYy0xNC4xMTQsMC0yNS42LDExLjQ4Ni0yNS42LDI1LjZjMCwyLjk5MSwwLjUyMSw1Ljg2MiwxLjQ2OCw4LjUzM2gtNjkuNzM1VjI1NlYxMzYuNTMzVjE3LjA2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2Nw0KCQkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzc1LjQ2N1YyNTZWMTM2LjUzM1YxNy4wNjdDNTEyLDEyLjM0OCw1MDguMTc3LDguNTMzLDUwMy40NjcsOC41MzN6IE0xNzAuNjY3LDE1My42aDE3MC42NjcNCgkJCQl2NTEuMkgxNzAuNjY3VjE1My42eiBNMzQxLjMzMywxMTkuNDY3djE3LjA2N0gxNzAuNjY3di0xNy4wNjdIMzQxLjMzM3ogTTE3MC42NjcsMjIxLjg2N2gxNzAuNjY3djE3LjA2N0gxNzAuNjY3VjIyMS44Njd6DQoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yDQoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTI1LjZoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y2OC4yNjdoLTE3LjA2N3YtMTAyLjRoMTAyLjRWMjQ3LjQ2N3oNCgkJCQkgTTQyNi42NjcsMjQ3LjQ2N3YtNTkuNzMzaDguNTMzdjU5LjczM0g0MjYuNjY3eiBNNDUyLjI2NywxODcuNzMzaDguNTMzdjU5LjczM2gtOC41MzNWMTg3LjczM3ogTTM5Mi41MzMsMzE1LjczM3YtNTEuMmgyNS42DQoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMNCgkJCQloNTEuMmM0LjcwMiwwLDguNTMzLDMuODIzLDguNTMzLDguNTMzcy0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2gtNTEuMkMyMjUuNjk4LDMwNy4yLDIyMS44NjcsMzAzLjM3NywyMjEuODY3LDI5OC42Njd6DQoJCQkJIE0yMzAuNCwzMjQuMjY3aDUxLjJoOTMuODY3djUxLjJoLTUxLjJWMzU4LjRjMC05LjQxMi03LjY1NC0xNy4wNjctMTcuMDY3LTE3LjA2N0gyMDQuOGMtOS40MTIsMC0xNy4wNjcsNy42NTQtMTcuMDY3LDE3LjA2Nw0KCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQNCgkJCQloMzQuMTMzdjguNTMzSDUxLjJWMzU4LjR6IE0xMDIuNCwzNDkuODY3di0yNS42di0yNS42YzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzMw0KCQkJCXYyNS42djI1LjZ2MTcuMDY3SDE3LjA2N3YtMTAyLjRoMTAyLjR2NTEuMnY1MS4ySDEwMi40VjM0OS44Njd6IE01OS43MzMsMTEwLjkzM0g3Ni44VjEyOEg1OS43MzNWMTEwLjkzM3ogTTUxLjIsMTQ1LjA2N2gzNC4xMzMNCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMw0KCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzaC04LjUzM0g1MS4yaC04LjUzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNWMTI4DQoJCQkJaC0yNS42VjI1LjZ6IE0xNy4wNjcsMzg0aDI1LjZoNTEuMmgyNS42djEwMi40aC0xMDIuNFYzODR6IE0xMzYuNTMzLDM5Mi41MzNoNTkuNzMzaDUxLjJWNDg2LjRIMTM2LjUzM1YzOTIuNTMzeiBNNDk0LjkzMyw0ODYuNA0KCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcNCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMw0KCQkJCXMtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTE3LjA2N1YzODRoMTAyLjRWNDg2LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMNCgkJCQljMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTE3LjA2N0MyMzAuNCw0MTMuNDE0LDIyNi41NzcsNDA5LjYsMjIxLjg2Nyw0MDkuNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNy4yLDQwOS42aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0MzUuMmMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzDQoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MTIuNTcyLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zNzktMTAuMzhoLTU5LjM1NmMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiIGQ9Ik0xODIuODEzLDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5NSw0LjUyOS0xMC4wOTUsMTAuMDk1djYwLjA0NQ0KCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTQwNC4zMTQsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk2LDQuNTI5LTEwLjA5NiwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTI3Ni41NDUsNDA1LjA4OWMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N3YxMi42M2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Shed:nSe,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NTYsMjI0Yy0xNC4xMzMsMC0yNCw2LjMwMS0yNCwxNS4zMnYyNy41MDVDNDE5LjMzMywyNDEuNzkzLDM5OS44NSwyMjQsMzc2LDIyNEgxNTJjLTQuNDE3LTAuMDAxLTcuOTk5LDMuNTc5LTgsNy45OTYNCgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5DQoJCQljLTE2Ljc2NCwxOC4zMDktMTYuODAxLDQ2LjM4LTAuMDg2LDY0LjczNGMtNC42MTIsMC41MDgtOC45NjgsMi4zOC0xMi41MTIsNS4zNzVWMTE1LjE5OUM0OCwxMDQuNDM0LDM3LjQ2MSw5NiwyNCw5Ng0KCQkJcy0yNCw4LjQzNC0yNCwxOS4xOTl2MzQ1LjYwMkMwLDQ3MS41NjYsMTAuNTM5LDQ4MCwyNCw0ODBzMjQtOC40MzQsMjQtMTkuMTk5VjQwOGgzODR2NTYuNjhjMCw5LjAxOSw5Ljg2NywxNS4zMiwyNCwxNS4zMg0KCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQ0KCQkJYy01LjI1LDAtNy45MjItMi41NDMtOC0zLjE5OVYxMTUuMTk5YzAuMDc4LTAuNjU2LDIuNzUtMy4xOTksOC0zLjE5OWM1LjIyNywwLDcuOTE0LDIuNTQzLDgsMy4xOTlWNDYwLjgwMXogTTE2MCwyNDBoMjE2DQoJCQljMzAuMTcyLDAsNTMuMTcyLDQ0LjkyNiw1NS43NTgsODhIMTYwVjI0MHogTTE0NCwyODAuMDgzdjM4LjU2Yy0zLjQ1Mi0zLjM1My03Ljg0OC01LjU2Ni0xMi41OTctNi4zNDINCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzINCgkJCUM2NC4wMTksMjYyLjMzNSw3OC4zMzUsMjQ4LjAxOSw5NiwyNDh6IE00MzIsMzkySDQ4di00OC4wMjNjNC4xNjMtMC4zMjgsNy4zNzQtMy44MDEsNy4zNzUtNy45NzcNCgkJCWMtMC4wNzctNC4zMzEsMy4zNjQtNy45MDksNy42OTUtOGg2NC42MWM0LjMzMSwwLjA5MSw3Ljc3MiwzLjY2OSw3LjY5NSw4Yy0wLjAwMSw0LjQxNywzLjU3OSw3Ljk5OSw3Ljk5Niw4DQoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6Ig0KICAgICAgICAvPg0KICAgICAgICA8cGF0aCBkPSJNMTM3LjA3OCwxNzZsMjkuMDctMzQuODc5YzEuOTg2LTIuMzg2LDIuNDEzLTUuNzA1LDEuMDk0LTguNTE2Yy0xLjMxNi0yLjgxLTQuMTM5LTQuNjA1LTcuMjQyLTQuNjA1aC00OHYxNmgzMC45MjINCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI0LjM1OSwxMzZsNDUuOTUzLTU5LjA5YzEuODc3LTIuNDExLDIuMjE3LTUuNjgxLDAuODc1LTguNDI2Yy0xLjM0NC0yLjc0My00LjEzMi00LjQ4My03LjE4OC00LjQ4NGgtNjR2MTZoNDcuNjQxDQoJCQlsLTQ1Ljk1Myw1OS4wOWMtMi43MTQsMy40ODQtMi4wODksOC41MDksMS4zOTYsMTEuMjIzYzEuNDA1LDEuMDk0LDMuMTM2LDEuNjg4LDQuOTE3LDEuNjg4aDY0di0xNkgyMjQuMzU5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQ0KCQkJYy0xLjgxOCwyLjQyNC0yLjExMiw1LjY2OC0wLjc1OCw4LjM3OUMzMDYuMiwxMTAuMjg4LDMwOC45NywxMTIsMzEyLDExMmg4MFY5NkgzMjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Stairway:aSe,Stairwell:MSe,Storeroom:cSe,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE3My44MzIsMjI1LjI2M2gtNDMuMDM5Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41djYwLjEzNGMwLDQuMTQyLDMuMzU3LDcuNSw3LjUsNy41aDQzLjAzOWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41DQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NTkuMTI3LDIwMS4xOTNjMy4zMTQsMi4yNzgsOC4wOTEsMS40NzEsMTAuNDMtMS45MzJjMCwwLDIzLjAwOS0zMy40NjksMjMuMDI5LTMzLjQ5OA0KCQkJYzIuMzE1LTMuMzY4LDEuNDI4LTguMTIxLTEuOTMyLTEwLjQzMUwyNzEuNzYzLDQuODYxYy05LjQyOS02LjQ4LTIyLjA5Ny02LjQ4MS0zMS41MjYsMGMwLDAtMTM5Ljc2Miw5Ni4wNzctMTQwLjI3Myw5Ni40MjgNCgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3DQoJCQljMCwwLTIwMS4xNDMtMTM4LjI3Mi0yMDEuMTk1LTEzOC4zMDhjLTIuNDk1LTEuNzE1LTUuOTk5LTEuNzE4LTguNDk4LTAuMDAxTDUwLjU1NywxODQuNTgzbC0xNC41My0yMS4xMzcNCgkJCWMwLDAsNDcuMTE3LTMyLjM5LDQ3LjI4OS0zMi41MDljNy44MDctNS4zNjYtMC40MTYtMTcuOTE3LTguNDk4LTEyLjM2MmMwLDAtNTMuMzAxLDM2LjY0LTUzLjQ3MSwzNi43NTcNCgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQ0KCQkJSDQwMi42NHYxMDguNTI4YzAsNC4xNDIsMy4zNTgsNy41LDcuNTAxLDcuNWgzMC40ODhjNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNVYzOTUuOTcxaDIzLjc2OWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41di0zMC40ODcNCgkJCWMwLTQuMTQzLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU3LjI1OWgyMy43NjljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNXYtMzAuNDg4YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVoLTIzLjc2OXYtNTQuMTAzDQoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoNCgkJCSBNNTYuMTI1LDI3MC4zMzJoMzguMzk5djUzLjA1NWMwLDQuMTQxLDMuMzU4LDcuNSw3LjUsNy41SDIwMi42YzQuMTQyLDAsNy41MDEtMy4zNTgsNy41MDEtNy41di01My4wNTVoMzguMzk4djY4LjQ1Nkg1Ni4xMjUNCgkJCVYyNzAuMzMyeiBNMTA5LjUyNSwzMTUuODg2VjIwOS43NzdoODUuNTc1djEwNi4xMDlIMTA5LjUyNXogTTk0LjUyNCw0OTYuOTk4SDU2LjEyNXYtNTkuNzU0aDM4LjM5OVY0OTYuOTk4eiBNMTY2LjMzMSw0OTYuOTk3DQoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkNCgkJCWMtNC4xNDIsMC03LjUwMSwzLjM1OC03LjUwMSw3LjV2OTMuMjgzaC0xMy43NjhWMzgwLjcyN2g4NS41NzVWNDk2Ljk5N3ogTTI0OC40OTksNDk2Ljk5OEgyMTAuMXYtNTkuNzU0aDM4LjM5OFY0OTYuOTk4eg0KCQkJIE0yNDguNSw0MjIuMjQ0aC0zOC4zOTl2LTQ5LjAxOGMtMC4wMDEtNC4xNDItMy4zNTktNy41LTcuNTAyLTcuNUgxMDIuMDI0Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41MDF2NDkuMDE4SDU2LjEyNXYtNjguNDU2DQoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0DQoJCQljLTQuMTQyLDAtNy41LDMuMzU4LTcuNSw3LjV2NTMuMDU1SDU2LjEyNXYtNTYuMzczbDE3LjY2My0xMi4xNDNjMC4yOTcsMC4wMzYsMC41OTcsMC4wNiwwLjkwNCwwLjA2SDI0OC41VjI1NS4yMjV6DQoJCQkgTTk1LjUyMywxNzEuODc1bDk5LjU4MS02OC40NTZoMTIxLjc5M2w5OS41ODEsNjguNDU2aC02LjMzNkg5NS41MjN6IE00MDIuNjQsMTg2Ljg3NnY2MC44NThIMjYzLjUwMXYtNjAuODU4SDQwMi42NHoNCgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYNCgkJCUgyNjMuNTAxdi0xNS40ODZINDY0LjM5N3ogTTI5My45ODgsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMjkzLjk4OHogTTMyNC40NzYsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzI0LjQ3NnoNCgkJCSBNMzU1LjgxNCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgzNTUuODE0eiBNMzg2LjMwMiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzODYuMzAyeiBNNDE3LjY0MSwzNTAuNDgydi01Ny4yNTkNCgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE4Ny41OTksMTUxLjQ1OEwxNTMuNDY1LDMzLjE4NmMtMC40MjItMS40NjEtMS43NTgtMi40NjYtMy4yNzktMi40NjZIMzcuNTQ3Yy0xLjUyMSwwLTIuODU3LDEuMDA1LTMuMjc5LDIuNDY2DQoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyDQoJCQljMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxM3YtMjUuMDg4QzE4Ny43MzMsMTUyLjA4NSwxODcuNjg3LDE1MS43NjUsMTg3LjU5OSwxNTEuNDU4eiBNMTgwLjkwNywxNzQuMDhINi44Mjd2LTIxLjE5Mg0KCQkJTDQwLjExNSwzNy41NDdIMTQ3LjYybDMzLjI4NywxMTUuMzQyVjE3NC4wOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjINCgkJCUM4MS45Miw4LjM1Niw4MC4zOTEsNi44MjcsNzguNTA3LDYuODI3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDE3LjA2N2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMTcuMDY3LDEwOS4yMjcsMTcuMDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMzAuNzIsMTA5LjIyNywzMC43MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNDQuMzczaC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzDQoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNjMuNzg5LDE0Ni4xNzlsLTE3LjUxNi05OC45ODdjLTAuMjg4LTEuNjMtMS43MDUtMi44MTgtMy4zNi0yLjgxOEg0OC4zMjhjLTEuNjEzLDAtMy4wMDUsMS4xMjYtMy4zNCwyLjcwMw0KCQkJbC0yMS4wMTksOTguOTg3Yy0wLjIxMywxLjAwNywwLjAzOCwyLjA1NywwLjY4NiwyLjg1N2MwLjY0OSwwLjgsMS42MjEsMS4yNjUsMi42NTIsMS4yNjVoMTMzLjEyYzEuMDA5LDAsMS45NjYtMC40NDcsMi42MTYtMS4yMTkNCgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Terrace:uSe,Toilet:lSe,Upstairs:NSe,Wardrobe:LSe,Washroom:gSe,Wc:jSe,Windscreen:ySe,Workshop:TSe,Workspace:DSe},hSe=[{_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"}],zSe=[{_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 wSe extends De{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 M=n.split(".");M.pop(),t[o]=M[M.length-1]}}else n=r;return n?n.startsWith("data:")?(e[o]=n,Promise.resolve()):m.getSvg(n).then(M=>e[o]=M):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?zSe: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,M)=>o!==M&&n.icon===r.icon&&n.name===r.name))),i.forEach((r,o)=>{t[o]=r.name,e[o]=`data:image/svg+xml;base64,${dSe[r.icon.replace(/\.svg$/,"")]}`})),i=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?hSe: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((M,c)=>n!==c&&M.icon===o.icon&&M.name===o.name))),i.forEach((o,n)=>{t[n+r]=o.name,e[n+r]=`data:image/svg+xml;base64,${kxe[o.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)})}})}render(){return this.state.loading?a.createElement(So,null):a.createElement(a.Fragment,null,a.createElement(q,{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(Ae,{onClose:()=>this.setState({opened:!1}),open:!0},a.createElement(fe,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?a.createElement(Te,{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(W,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},a.createElement(_N,null)):void 0}}}):null),a.createElement(_e,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(Le,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{onClick:()=>this.setState({opened:!1},()=>{const i=this.props.onSelect||this.props.onChange;i&&i(e)}),size:"large"},a.createElement(be,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),a.createElement(xe,null,a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:a.createElement(we,null)},this.props.t("ra_Close")))):null)}}const Gt={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 pve(s){var M,c,l,N;const e=s.icon,t=s.onChange,i=Kt(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}=tj({onDrop:i});return a.createElement("div",{style:Gt.formContainer},e?a.createElement(e,{style:Gt.formIcon}):null,a.createElement(Qt,{variant:"standard",style:{...Gt.formControl,padding:3}},a.createElement(yi,{shrink:!0,sx:(M=s.customStyles)!=null&&M.label?{"&.MuiInputLabel-root":s.customStyles.label}:void 0,classes:{root:(c=s.customClasses)==null?void 0:c.label}},s.label),a.createElement("div",{style:Gt.formContainer},s.value?a.createElement("div",{style:Gt.divContainer},a.createElement(be,{style:{...s.previewStyle,...((l=s.customStyles)==null?void 0:l.icon)||void 0},src:s.value,className:m.clsx(s.previewClassName,(N=s.customClasses)==null?void 0:N.icon)}),!s.disabled&&a.createElement(W,{style:{verticalAlign:"top"},title:D.t("ra_Clear icon"),size:"small",onClick:()=>s.onChange("")},a.createElement(_N,null))):!s.disabled&&a.createElement(wSe,{icons:s.icons,onlyRooms:s.onlyRooms,onlyDevices:s.onlyDevices,onSelect:u=>s.onChange(u),t:D.t,lang:D.getLanguage()}),!s.disabled&&a.createElement("div",{...r(),style:{...Gt.dragField,...n?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},a.createElement("input",{...o()}),n?a.createElement("span",{style:Gt.text},D.t("ra_Drop the files here...")):a.createElement("span",{style:Gt.text},D.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function ISe(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 CSe(s){const e={};if(!s)return e;for(let t,i=0;io[1].toUpperCase()),e[t]=s[i].value}return e}class lo extends De{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=ISe(e),r=i.innerHTML,o=CSe(i.attributes);return i.remove(),a.createElement(J,{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 a.createElement(Nc,{className:this.props.className});if(lo.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=lo.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=lo.REMOTE_PREFIX+e),a.createElement(J,{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(J,{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 pSe(s){return te({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 ASe(s){return te({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 mSe(s){return te({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 fSe(s){return te({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 OSe(s){return te({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 ESe(s){return te({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 _Se(s){return te({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 xSe(s){return te({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 SSe(s){return te({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 kSe(s){return te({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 @@ -451,7 +451,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:[]}]})(s)}function SSe(s){return te({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 + 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:[]}]})(s)}function vSe(s){return te({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 @@ -462,7 +462,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:[]}]})(s)}function kSe(s){return te({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 + 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:[]}]})(s)}function YSe(s){return te({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 @@ -479,7 +479,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:[]}]})(s)}function vSe(s){return te({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 + `},child:[]}]})(s)}function QSe(s){return te({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 @@ -495,7 +495,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:[]}]})(s)}function YSe(s){return te({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 + C8.29,17.1,8.22,16.75,8.2,16.37z`},child:[]}]})(s)}function bSe(s){return te({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 @@ -516,7 +516,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:[]}]})(s)}function v0(s){return te({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 + c-0.23,0-0.43-0.08-0.58-0.25S21.92,14.86,21.92,14.62z`},child:[]}]})(s)}function Q0(s){return te({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 @@ -528,7 +528,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:[]}]})(s)}function Y0(s){return te({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:[]}]})(s)}function QSe(s){return te({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:[]}]})(s)}function bSe(s){return te({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:[]}]})(s)}function USe(s){return te({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:[]}]})(s)}function $Se(s){return te({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:[]}]})(s)}function PSe(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},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 Cve(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},a.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667C100.779 0 96 4.779 96 10.667v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h384c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-53.333 0H117.333V21.333h277.333v469.334z"}),a.createElement("path",{fill:"currentColor",d:"M341.333 277.333c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32 14.358 32 32 32zm0-42.666c5.888 0 10.667 4.779 10.667 10.667S347.221 256 341.333 256s-10.667-4.779-10.667-10.667 4.779-10.666 10.667-10.666z"}))}function WSe(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},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 pve(s){return a.createElement("svg",{viewBox:"0 0 452.498 452.498",...s},a.createElement("path",{fill:"currentColor",d:"M301.317 295.155c-51.157-10.946-87.714-56.144-87.723-108.459a112.981 112.981 0 0 1 2.304-23.381 107.145 107.145 0 0 1 8.533-23.723 8.53 8.53 0 0 0-.427-8.533c-21.845-35.413-48.213-74.752-84.48-103.68a151.775 151.775 0 0 0-13.653-9.899 79.82 79.82 0 0 0-13.653-7.083 8.535 8.535 0 0 0-11.691 9.728l1.024 4.523c1.109 4.864 2.219 9.728 3.072 14.763a151.95 151.95 0 0 1 2.475 22.613v5.973a160.68 160.68 0 0 1-51.2 117.077 187.752 187.752 0 0 0-40.619 49.323 140.292 140.292 0 0 0-6.485 112.555C28.65 398.37 74.79 435.008 129.37 442.696h1.28a8.629 8.629 0 0 0 2.56-17.066 67.41 67.41 0 0 1-43.776-39.339 61.78 61.78 0 0 1 2.731-49.493 91.4 91.4 0 0 1 19.029-22.784 98.216 98.216 0 0 0 31.317-71.851v-3.669-5.12a86.72 86.72 0 0 1 17.067 19.029 80.214 80.214 0 0 1 12.885 42.667v.683a80.558 80.558 0 0 1-14.592 46.336 8.534 8.534 0 0 0 2.816 12.288 29.268 29.268 0 0 0 29.525 1.28 50.175 50.175 0 0 0 21.333-27.477 59.734 59.734 0 0 1 12.715 36.011c-.579 27.882-18.718 52.352-45.227 61.013a8.534 8.534 0 0 0 4.266 16.469c70.656-12.715 121.941-69.717 124.757-137.984a8.53 8.53 0 0 0-6.739-8.534zm-72.022 111.104a79.103 79.103 0 0 0 12.117-41.899 84.48 84.48 0 0 0-28.416-60.245 8.535 8.535 0 0 0-14.507 5.376c-.939 11.435-7.68 26.624-16.213 31.317a11.012 11.012 0 0 1-4.181 1.28 97.453 97.453 0 0 0 11.52-46.08v-1.024a97.279 97.279 0 0 0-15.616-52.053 105.562 105.562 0 0 0-39.509-35.925 8.535 8.535 0 0 0-12.117 10.155 78.449 78.449 0 0 1 3.755 22.016v2.731a81.32 81.32 0 0 1-26.027 59.733 105.478 105.478 0 0 0-22.443 27.477 80.723 80.723 0 0 0-8.533 35.499 79.108 79.108 0 0 0 13.397 43.947 131.416 131.416 0 0 1-57.941-67.669 123.223 123.223 0 0 1 5.717-98.901 170.67 170.67 0 0 1 37.205-44.629 177.58 177.58 0 0 0 56.405-129.451v-6.571a167.053 167.053 0 0 0-2.731-24.917V34.89a100.687 100.687 0 0 1 7.509 5.717c32.939 26.197 57.685 62.72 78.251 95.488a123.351 123.351 0 0 0-7.509 23.211 129.741 129.741 0 0 0-2.901 27.392c-.012 57.557 38.394 108.044 93.867 123.392a129.706 129.706 0 0 1-61.099 96.169z"}),a.createElement("path",{fill:"currentColor",d:"M324.527 58.697c-49.399.039-94.366 28.501-115.541 73.131a123.96 123.96 0 0 0-9.557 27.477 129.741 129.741 0 0 0-2.901 27.392 127.147 127.147 0 0 0 48.896 100.608 128.002 128.002 0 0 0 79.104 27.392 126.807 126.807 0 0 0 79.104-27.392 128.001 128.001 0 0 0 48.867-100.579c.015-70.693-57.279-128.013-127.972-128.029zm0 238.933a110.91 110.91 0 0 1-23.211-2.475c-51.157-10.946-87.714-56.144-87.723-108.459a112.938 112.938 0 0 1 2.219-23.723 107.639 107.639 0 0 1 8.533-23.808c18.353-38.703 57.347-63.382 100.181-63.403 61.267 0 110.933 49.667 110.933 110.933S385.794 297.63 324.527 297.63z"}),a.createElement("path",{fill:"currentColor",d:"M354.565 106.91a16.212 16.212 0 0 0-11.947-5.205h-36.267a16.216 16.216 0 0 0-11.947 5.205 15.19 15.19 0 0 0-4.011 11.52l6.4 79.616c.837 8.16 7.755 14.338 15.957 14.251h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.187 15.187 0 0 0-4.094-11.521zm-19.115 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM328.965 229.363h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.047-11.653-9.508-21.076-21.162-21.076zm4.096 30.038a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function Q0(s){return a.createElement("svg",{viewBox:"0 0 512.006 512.006",...s},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 Ave(s){return a.createElement("svg",{viewBox:"0 0 512.224 512.224",...s},a.createElement("path",{fill:"currentColor",d:"M321.71 427.573c-42.239-16.782-69.968-57.632-69.973-103.083.012-7.976.87-15.928 2.56-23.723a107.066 107.066 0 0 1 10.752-28.757 8.534 8.534 0 0 0-2.304-10.923 98.766 98.766 0 0 1-9.216-7.851 92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.726 87.726 0 0 1 10.069-40.107c2.219-4.096 4.437-8.107 6.997-12.117a8.536 8.536 0 0 0 0-9.387l-17.835-28.416-17.067-27.392a24.148 24.148 0 0 0-7.906-7.906c-11.358-6.992-26.233-3.452-33.225 7.906l-50.176 80.64c-11.264 18.091-22.869 36.779-34.901 54.784l-3.413 5.035A698.15 698.15 0 0 0 39 275.935a158.81 158.81 0 0 0-17.664 72.96 160.509 160.509 0 0 0 13.056 63.659 165.287 165.287 0 0 0 88.661 86.784 167.511 167.511 0 0 0 64.683 12.885 167.509 167.509 0 0 0 64.683-12.8 164.36 164.36 0 0 0 52.907-34.901 162.072 162.072 0 0 0 20.309-24.149 8.532 8.532 0 0 0-3.925-12.8zm-28.331 24.917a147.644 147.644 0 0 1-47.445 31.147 152.92 152.92 0 0 1-116.395 0 148.222 148.222 0 0 1-79.445-77.824 143.623 143.623 0 0 1-11.691-56.917 141.656 141.656 0 0 1 15.701-65.195 688.246 688.246 0 0 1 38.741-62.293l3.413-5.035c12.203-18.176 23.893-37.035 35.243-55.211l50.176-80.725a6.995 6.995 0 0 1 6.059-3.413 7.082 7.082 0 0 1 6.144 3.84l17.067 27.392 14.933 24.064c-1.621 2.56-3.243 5.461-4.864 8.533a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.907 109.907 0 0 0 23.808 34.133 136.402 136.402 0 0 0 5.205 4.693 124.263 124.263 0 0 0-9.216 26.965 129.873 129.873 0 0 0-2.901 27.392c.04 48.518 27.402 92.877 70.741 114.688a143.263 143.263 0 0 1-12.031 13.312z"}),a.createElement("path",{fill:"currentColor",d:"M100.014 442.592c-.058 0-.114-.008-.172-.009-.057.001-.113.009-.17.009h.342z"}),a.createElement("path",{fill:"currentColor",d:"M105.646 428a112.632 112.632 0 0 1-24.576-35.755 109.311 109.311 0 0 1-8.533-43.349 107.531 107.531 0 0 1 11.861-49.408 8.533 8.533 0 0 0-3.889-12.306 8.533 8.533 0 0 0-11.216 4.455 124.582 124.582 0 0 0-13.824 57.259 126.296 126.296 0 0 0 10.24 50.091 129.715 129.715 0 0 0 28.331 41.131 8.535 8.535 0 0 0 5.802 2.466 8.527 8.527 0 0 0 5.853-2.515 8.534 8.534 0 0 0-.049-12.069zM419.161 140.597a456.86 456.86 0 0 0-26.453-42.155l-1.707-2.475C381.443 82.4 372.91 68.149 364.377 54.41L335.79 8.757a18.69 18.69 0 0 0-5.896-5.896c-8.742-5.486-20.277-2.846-25.763 5.896L275.63 54.41c-8.533 14.08-17.408 27.989-26.453 41.899-6.997 10.155-14.08 20.565-20.395 31.232-2.56 4.096-5.12 8.448-7.68 13.312a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.918 109.918 0 0 0 23.808 34.133 115.197 115.197 0 0 0 10.752 9.216 8.533 8.533 0 0 0 5.12 1.707l1.877-.256a8.532 8.532 0 0 0 5.717-4.267 110.25 110.25 0 0 1 42.155-43.435 112.64 112.64 0 0 1 106.581-2.389 8.533 8.533 0 0 0 12.117-4.95 105.041 105.041 0 0 0-6.825-80.469zm-7.083 65.707a129.795 129.795 0 0 0-113.408 7.253 127.305 127.305 0 0 0-43.349 41.387l-1.792-1.707a92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.734 87.734 0 0 1 9.813-40.363c2.219-3.84 4.523-8.192 7.168-12.373 6.144-10.411 13.141-20.651 20.053-30.72 9.387-13.824 18.432-28.16 26.965-42.069l28.501-45.397a1.536 1.536 0 0 1 1.365-.768 1.535 1.535 0 0 1 1.365.768l27.904 45.312c8.619 13.909 17.579 28.245 26.965 42.069l1.707 2.475a443.768 443.768 0 0 1 25.6 40.533 87.883 87.883 0 0 1 8.535 57.856z"}),a.createElement("path",{fill:"currentColor",d:"M277.337 228.746a58.176 58.176 0 0 1-12.629-18.091 54.768 54.768 0 0 1-4.437-21.675 53.425 53.425 0 0 1 5.973-24.576c1.707-3.157 3.499-6.4 5.632-9.728l.512-.853a8.533 8.533 0 0 0-2.894-12.242 8.533 8.533 0 0 0-11.613 3.282l-.512.768c-2.219 3.584-4.352 7.253-6.229 10.837a70.656 70.656 0 0 0-7.936 32.512 71.854 71.854 0 0 0 5.888 28.501 75.615 75.615 0 0 0 16.299 23.467 8.531 8.531 0 0 0 5.973 2.389v.085a8.533 8.533 0 0 0 5.973-14.676z"}),a.createElement("path",{fill:"currentColor",d:"M421.721 210.826a129.961 129.961 0 0 0-123.051 2.731 127.233 127.233 0 0 0-48.64 50.176 124.24 124.24 0 0 0-12.459 33.365 129.873 129.873 0 0 0-2.901 27.392c0 70.692 57.308 128 128 128 47.899.071 91.829-26.606 113.855-69.14 32.508-62.775 7.971-140.016-54.804-172.524zM362.67 435.424c-61.267 0-110.933-49.667-110.933-110.933.006-8.004.864-15.985 2.56-23.808a107.209 107.209 0 0 1 10.752-28.843c19.355-35.894 56.842-58.275 97.621-58.283 61.267 0 110.933 49.666 110.933 110.933S423.937 435.424 362.67 435.424z"}),a.createElement("path",{fill:"currentColor",d:"M392.707 244.704a16.296 16.296 0 0 0-11.947-5.205h-36.267a16.296 16.296 0 0 0-11.947 5.205 15.274 15.274 0 0 0-4.011 11.52l6.4 79.531c.796 8.194 7.725 14.419 15.957 14.336h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.26 15.26 0 0 0-4.094-11.521zm-19.114 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM367.107 367.157h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.046-11.653-9.507-21.076-21.162-21.076zm4.096 30.037a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function b0(s){return a.createElement("svg",{viewBox:"0 0 512.002 512.002",...s},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 JSe(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},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 + z`},child:[]}]})(s)}function b0(s){return te({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:[]}]})(s)}function USe(s){return te({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:[]}]})(s)}function $Se(s){return te({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:[]}]})(s)}function PSe(s){return te({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:[]}]})(s)}function WSe(s){return te({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:[]}]})(s)}function JSe(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},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 Ave(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},a.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667C100.779 0 96 4.779 96 10.667v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h384c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-53.333 0H117.333V21.333h277.333v469.334z"}),a.createElement("path",{fill:"currentColor",d:"M341.333 277.333c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32 14.358 32 32 32zm0-42.666c5.888 0 10.667 4.779 10.667 10.667S347.221 256 341.333 256s-10.667-4.779-10.667-10.667 4.779-10.666 10.667-10.666z"}))}function BSe(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},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 mve(s){return a.createElement("svg",{viewBox:"0 0 452.498 452.498",...s},a.createElement("path",{fill:"currentColor",d:"M301.317 295.155c-51.157-10.946-87.714-56.144-87.723-108.459a112.981 112.981 0 0 1 2.304-23.381 107.145 107.145 0 0 1 8.533-23.723 8.53 8.53 0 0 0-.427-8.533c-21.845-35.413-48.213-74.752-84.48-103.68a151.775 151.775 0 0 0-13.653-9.899 79.82 79.82 0 0 0-13.653-7.083 8.535 8.535 0 0 0-11.691 9.728l1.024 4.523c1.109 4.864 2.219 9.728 3.072 14.763a151.95 151.95 0 0 1 2.475 22.613v5.973a160.68 160.68 0 0 1-51.2 117.077 187.752 187.752 0 0 0-40.619 49.323 140.292 140.292 0 0 0-6.485 112.555C28.65 398.37 74.79 435.008 129.37 442.696h1.28a8.629 8.629 0 0 0 2.56-17.066 67.41 67.41 0 0 1-43.776-39.339 61.78 61.78 0 0 1 2.731-49.493 91.4 91.4 0 0 1 19.029-22.784 98.216 98.216 0 0 0 31.317-71.851v-3.669-5.12a86.72 86.72 0 0 1 17.067 19.029 80.214 80.214 0 0 1 12.885 42.667v.683a80.558 80.558 0 0 1-14.592 46.336 8.534 8.534 0 0 0 2.816 12.288 29.268 29.268 0 0 0 29.525 1.28 50.175 50.175 0 0 0 21.333-27.477 59.734 59.734 0 0 1 12.715 36.011c-.579 27.882-18.718 52.352-45.227 61.013a8.534 8.534 0 0 0 4.266 16.469c70.656-12.715 121.941-69.717 124.757-137.984a8.53 8.53 0 0 0-6.739-8.534zm-72.022 111.104a79.103 79.103 0 0 0 12.117-41.899 84.48 84.48 0 0 0-28.416-60.245 8.535 8.535 0 0 0-14.507 5.376c-.939 11.435-7.68 26.624-16.213 31.317a11.012 11.012 0 0 1-4.181 1.28 97.453 97.453 0 0 0 11.52-46.08v-1.024a97.279 97.279 0 0 0-15.616-52.053 105.562 105.562 0 0 0-39.509-35.925 8.535 8.535 0 0 0-12.117 10.155 78.449 78.449 0 0 1 3.755 22.016v2.731a81.32 81.32 0 0 1-26.027 59.733 105.478 105.478 0 0 0-22.443 27.477 80.723 80.723 0 0 0-8.533 35.499 79.108 79.108 0 0 0 13.397 43.947 131.416 131.416 0 0 1-57.941-67.669 123.223 123.223 0 0 1 5.717-98.901 170.67 170.67 0 0 1 37.205-44.629 177.58 177.58 0 0 0 56.405-129.451v-6.571a167.053 167.053 0 0 0-2.731-24.917V34.89a100.687 100.687 0 0 1 7.509 5.717c32.939 26.197 57.685 62.72 78.251 95.488a123.351 123.351 0 0 0-7.509 23.211 129.741 129.741 0 0 0-2.901 27.392c-.012 57.557 38.394 108.044 93.867 123.392a129.706 129.706 0 0 1-61.099 96.169z"}),a.createElement("path",{fill:"currentColor",d:"M324.527 58.697c-49.399.039-94.366 28.501-115.541 73.131a123.96 123.96 0 0 0-9.557 27.477 129.741 129.741 0 0 0-2.901 27.392 127.147 127.147 0 0 0 48.896 100.608 128.002 128.002 0 0 0 79.104 27.392 126.807 126.807 0 0 0 79.104-27.392 128.001 128.001 0 0 0 48.867-100.579c.015-70.693-57.279-128.013-127.972-128.029zm0 238.933a110.91 110.91 0 0 1-23.211-2.475c-51.157-10.946-87.714-56.144-87.723-108.459a112.938 112.938 0 0 1 2.219-23.723 107.639 107.639 0 0 1 8.533-23.808c18.353-38.703 57.347-63.382 100.181-63.403 61.267 0 110.933 49.667 110.933 110.933S385.794 297.63 324.527 297.63z"}),a.createElement("path",{fill:"currentColor",d:"M354.565 106.91a16.212 16.212 0 0 0-11.947-5.205h-36.267a16.216 16.216 0 0 0-11.947 5.205 15.19 15.19 0 0 0-4.011 11.52l6.4 79.616c.837 8.16 7.755 14.338 15.957 14.251h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.187 15.187 0 0 0-4.094-11.521zm-19.115 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM328.965 229.363h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.047-11.653-9.508-21.076-21.162-21.076zm4.096 30.038a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function U0(s){return a.createElement("svg",{viewBox:"0 0 512.006 512.006",...s},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 fve(s){return a.createElement("svg",{viewBox:"0 0 512.224 512.224",...s},a.createElement("path",{fill:"currentColor",d:"M321.71 427.573c-42.239-16.782-69.968-57.632-69.973-103.083.012-7.976.87-15.928 2.56-23.723a107.066 107.066 0 0 1 10.752-28.757 8.534 8.534 0 0 0-2.304-10.923 98.766 98.766 0 0 1-9.216-7.851 92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.726 87.726 0 0 1 10.069-40.107c2.219-4.096 4.437-8.107 6.997-12.117a8.536 8.536 0 0 0 0-9.387l-17.835-28.416-17.067-27.392a24.148 24.148 0 0 0-7.906-7.906c-11.358-6.992-26.233-3.452-33.225 7.906l-50.176 80.64c-11.264 18.091-22.869 36.779-34.901 54.784l-3.413 5.035A698.15 698.15 0 0 0 39 275.935a158.81 158.81 0 0 0-17.664 72.96 160.509 160.509 0 0 0 13.056 63.659 165.287 165.287 0 0 0 88.661 86.784 167.511 167.511 0 0 0 64.683 12.885 167.509 167.509 0 0 0 64.683-12.8 164.36 164.36 0 0 0 52.907-34.901 162.072 162.072 0 0 0 20.309-24.149 8.532 8.532 0 0 0-3.925-12.8zm-28.331 24.917a147.644 147.644 0 0 1-47.445 31.147 152.92 152.92 0 0 1-116.395 0 148.222 148.222 0 0 1-79.445-77.824 143.623 143.623 0 0 1-11.691-56.917 141.656 141.656 0 0 1 15.701-65.195 688.246 688.246 0 0 1 38.741-62.293l3.413-5.035c12.203-18.176 23.893-37.035 35.243-55.211l50.176-80.725a6.995 6.995 0 0 1 6.059-3.413 7.082 7.082 0 0 1 6.144 3.84l17.067 27.392 14.933 24.064c-1.621 2.56-3.243 5.461-4.864 8.533a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.907 109.907 0 0 0 23.808 34.133 136.402 136.402 0 0 0 5.205 4.693 124.263 124.263 0 0 0-9.216 26.965 129.873 129.873 0 0 0-2.901 27.392c.04 48.518 27.402 92.877 70.741 114.688a143.263 143.263 0 0 1-12.031 13.312z"}),a.createElement("path",{fill:"currentColor",d:"M100.014 442.592c-.058 0-.114-.008-.172-.009-.057.001-.113.009-.17.009h.342z"}),a.createElement("path",{fill:"currentColor",d:"M105.646 428a112.632 112.632 0 0 1-24.576-35.755 109.311 109.311 0 0 1-8.533-43.349 107.531 107.531 0 0 1 11.861-49.408 8.533 8.533 0 0 0-3.889-12.306 8.533 8.533 0 0 0-11.216 4.455 124.582 124.582 0 0 0-13.824 57.259 126.296 126.296 0 0 0 10.24 50.091 129.715 129.715 0 0 0 28.331 41.131 8.535 8.535 0 0 0 5.802 2.466 8.527 8.527 0 0 0 5.853-2.515 8.534 8.534 0 0 0-.049-12.069zM419.161 140.597a456.86 456.86 0 0 0-26.453-42.155l-1.707-2.475C381.443 82.4 372.91 68.149 364.377 54.41L335.79 8.757a18.69 18.69 0 0 0-5.896-5.896c-8.742-5.486-20.277-2.846-25.763 5.896L275.63 54.41c-8.533 14.08-17.408 27.989-26.453 41.899-6.997 10.155-14.08 20.565-20.395 31.232-2.56 4.096-5.12 8.448-7.68 13.312a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.918 109.918 0 0 0 23.808 34.133 115.197 115.197 0 0 0 10.752 9.216 8.533 8.533 0 0 0 5.12 1.707l1.877-.256a8.532 8.532 0 0 0 5.717-4.267 110.25 110.25 0 0 1 42.155-43.435 112.64 112.64 0 0 1 106.581-2.389 8.533 8.533 0 0 0 12.117-4.95 105.041 105.041 0 0 0-6.825-80.469zm-7.083 65.707a129.795 129.795 0 0 0-113.408 7.253 127.305 127.305 0 0 0-43.349 41.387l-1.792-1.707a92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.734 87.734 0 0 1 9.813-40.363c2.219-3.84 4.523-8.192 7.168-12.373 6.144-10.411 13.141-20.651 20.053-30.72 9.387-13.824 18.432-28.16 26.965-42.069l28.501-45.397a1.536 1.536 0 0 1 1.365-.768 1.535 1.535 0 0 1 1.365.768l27.904 45.312c8.619 13.909 17.579 28.245 26.965 42.069l1.707 2.475a443.768 443.768 0 0 1 25.6 40.533 87.883 87.883 0 0 1 8.535 57.856z"}),a.createElement("path",{fill:"currentColor",d:"M277.337 228.746a58.176 58.176 0 0 1-12.629-18.091 54.768 54.768 0 0 1-4.437-21.675 53.425 53.425 0 0 1 5.973-24.576c1.707-3.157 3.499-6.4 5.632-9.728l.512-.853a8.533 8.533 0 0 0-2.894-12.242 8.533 8.533 0 0 0-11.613 3.282l-.512.768c-2.219 3.584-4.352 7.253-6.229 10.837a70.656 70.656 0 0 0-7.936 32.512 71.854 71.854 0 0 0 5.888 28.501 75.615 75.615 0 0 0 16.299 23.467 8.531 8.531 0 0 0 5.973 2.389v.085a8.533 8.533 0 0 0 5.973-14.676z"}),a.createElement("path",{fill:"currentColor",d:"M421.721 210.826a129.961 129.961 0 0 0-123.051 2.731 127.233 127.233 0 0 0-48.64 50.176 124.24 124.24 0 0 0-12.459 33.365 129.873 129.873 0 0 0-2.901 27.392c0 70.692 57.308 128 128 128 47.899.071 91.829-26.606 113.855-69.14 32.508-62.775 7.971-140.016-54.804-172.524zM362.67 435.424c-61.267 0-110.933-49.667-110.933-110.933.006-8.004.864-15.985 2.56-23.808a107.209 107.209 0 0 1 10.752-28.843c19.355-35.894 56.842-58.275 97.621-58.283 61.267 0 110.933 49.666 110.933 110.933S423.937 435.424 362.67 435.424z"}),a.createElement("path",{fill:"currentColor",d:"M392.707 244.704a16.296 16.296 0 0 0-11.947-5.205h-36.267a16.296 16.296 0 0 0-11.947 5.205 15.274 15.274 0 0 0-4.011 11.52l6.4 79.531c.796 8.194 7.725 14.419 15.957 14.336h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.26 15.26 0 0 0-4.094-11.521zm-19.114 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM367.107 367.157h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.046-11.653-9.507-21.076-21.162-21.076zm4.096 30.037a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function $0(s){return a.createElement("svg",{viewBox:"0 0 512.002 512.002",...s},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 RSe(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},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 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 @@ -551,7 +551,7 @@ 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 mve(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},a.createElement("path",{fill:"currentColor",d:"M391,362h77.417L440.989,58.467C438.075,26.229,409.37,0,377,0H135c-32.37,0-61.075,26.229-63.989,58.467L43.583,362H121v30 H91v120h330V392h-30V362z M135,30h242c16.963,0,32.584,14.273,34.11,31.167L416.427,120H95.573l5.316-58.833 C102.416,44.273,118.037,30,135,30z M92.862,150h326.275l16.446,182H76.416L92.862,150z M151,362h210v30H151V362z M241,422v60h-45 v-60H241z M271,422h45v60h-45V422z M121,422h45v60h-45V422z M391,482h-45v-60h45V482z"}))}function fve(s){return a.createElement("svg",{width:170,height:170,viewBox:"-20 -20 190 190",...s},a.createElement("path",{className:"path stOff",d:"M0 109v36.3c0 5.3 3.7 9.7 8.3 9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24l30-37 66.2 69",fill:"none"}))}function BSe(s){return a.createElement("svg",{viewBox:"0 0 511.448 511.448",...s},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 Ove(s){return a.createElement("svg",{viewBox:"-20 -20 190 190",...s},a.createElement("defs",null,a.createElement("filter",{id:"glow",x:"-5000%",y:"-5000%",width:"10000%",height:"10000%"},a.createElement("feFlood",{result:"flood",floodColor:"#70C5FF",floodOpacity:"1"}),a.createElement("feComposite",{in:"flood",result:"mask",in2:"SourceGraphic",operator:"in"}),a.createElement("feMorphology",{in:"mask",result:"dilated",operator:"dilate",radius:"2"}),a.createElement("feGaussianBlur",{in:"dilated",result:"blurred",stdDeviation:"5"}),a.createElement("feMerge",null,a.createElement("feMergeNode",{in:"blurred"}),a.createElement("feMergeNode",{in:"SourceGraphic"})))),a.createElement("path",{style:{stroke:"currentColor",fill:"none",strokeWidth:12,strokeLinejoin:"round",strokeMiterlimit:10},filter:s.isOn?"url(#glow)":"",className:"path",d:"M0,109v36.3c0,5.3,3.7,9.7,8.3,9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24L76.5,0l66.2,69"}))}function U0(s){return a.createElement("svg",{viewBox:"0 0 508.16 508.16",...s},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 Eve(s){return a.createElement("svg",{viewBox:"0 0 230 230",...s},a.createElement("ellipse",{fill:"#2979ff",stroke:"#2979ff",strokeWidth:"1.5",cx:"112.9",cy:"114",rx:"112",ry:"112"}),a.createElement("ellipse",{fill:"#40c4ff",strokeWidth:"1.5",cx:"112.900006",cy:"113.999995",rx:"73.684216",ry:"73.684216",stroke:"#40c4ff"}),a.createElement("ellipse",{fill:"#ffffff",strokeWidth:"1.5",cx:"112.900003",cy:"114",rx:"33.578948",ry:"33.578948",stroke:"#ffffff"}))}function _ve(s){return a.createElement("svg",{viewBox:"0 0 24.986 24.986",...s},a.createElement("g",{fill:"currentColor"},a.createElement("path",{fill:"currentColor",d:"M17.548 17.961l-.771-.769s-1.225 1.305-1.304 1.305c-.081 0-1.308-1.305-1.308-1.305l-.771.769s1.306 1.198 1.306 1.308c0 .106-1.306 1.308-1.306 1.308l.771.767s1.217-1.305 1.308-1.305c.089 0 1.304 1.305 1.304 1.305l.771-.767s-1.307-1.218-1.307-1.308c.001-.092 1.307-1.308 1.307-1.308z"}),a.createElement("path",{fill:"currentColor",d:"M15.472 14.435a4.832 4.832 0 0 0 0 9.661 4.83 4.83 0 0 0 0-9.661zm0 8.913a4.083 4.083 0 0 1-4.081-4.082 4.079 4.079 0 0 1 4.081-4.081 4.083 4.083 0 0 1 0 8.163z"}),a.createElement("circle",{fill:"currentColor",cx:10.06,cy:2.207,r:2.207}),a.createElement("path",{fill:"currentColor",d:"M10.2 20.476v3.26l.009.009a1.25 1.25 0 0 0 1.251 1.238c.643 0 1.167-.487 1.236-1.11-.083-.052-.173-.093-.253-.146a5.425 5.425 0 0 1-2.243-3.251z"}),a.createElement("path",{fill:"currentColor",d:"M12.455 14.724c.08-.057.168-.097.253-.146l-.002-6.687h.606V12.945c0 .516.417.932.932.932a.931.931 0 0 0 .933-.932V7.51c-.206-2.42-3.013-2.385-3.013-2.385H7.74c-3.168.06-3.055 2.385-3.055 2.385l-.001 5.428h.003c-.002.014-.002.025-.002.04a.932.932 0 1 0 1.861 0l-.001-.04h.001V7.914h.584l-.007 15.811c0 .693.562 1.261 1.257 1.261s1.257-.565 1.257-1.261V13.523h.562v4.457a5.414 5.414 0 0 1 2.256-3.256z"})))}function RSe(s){return a.createElement("svg",{viewBox:"0 0 63.907 63.907",fill:"currentColor",...s},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 FSe(s){return a.createElement("svg",{viewBox:"0 0 285 285",...s},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 Ove(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},a.createElement("path",{fill:"currentColor",d:"M391,362h77.417L440.989,58.467C438.075,26.229,409.37,0,377,0H135c-32.37,0-61.075,26.229-63.989,58.467L43.583,362H121v30 H91v120h330V392h-30V362z M135,30h242c16.963,0,32.584,14.273,34.11,31.167L416.427,120H95.573l5.316-58.833 C102.416,44.273,118.037,30,135,30z M92.862,150h326.275l16.446,182H76.416L92.862,150z M151,362h210v30H151V362z M241,422v60h-45 v-60H241z M271,422h45v60h-45V422z M121,422h45v60h-45V422z M391,482h-45v-60h45V482z"}))}function Eve(s){return a.createElement("svg",{width:170,height:170,viewBox:"-20 -20 190 190",...s},a.createElement("path",{className:"path stOff",d:"M0 109v36.3c0 5.3 3.7 9.7 8.3 9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24l30-37 66.2 69",fill:"none"}))}function FSe(s){return a.createElement("svg",{viewBox:"0 0 511.448 511.448",...s},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 _ve(s){return a.createElement("svg",{viewBox:"-20 -20 190 190",...s},a.createElement("defs",null,a.createElement("filter",{id:"glow",x:"-5000%",y:"-5000%",width:"10000%",height:"10000%"},a.createElement("feFlood",{result:"flood",floodColor:"#70C5FF",floodOpacity:"1"}),a.createElement("feComposite",{in:"flood",result:"mask",in2:"SourceGraphic",operator:"in"}),a.createElement("feMorphology",{in:"mask",result:"dilated",operator:"dilate",radius:"2"}),a.createElement("feGaussianBlur",{in:"dilated",result:"blurred",stdDeviation:"5"}),a.createElement("feMerge",null,a.createElement("feMergeNode",{in:"blurred"}),a.createElement("feMergeNode",{in:"SourceGraphic"})))),a.createElement("path",{style:{stroke:"currentColor",fill:"none",strokeWidth:12,strokeLinejoin:"round",strokeMiterlimit:10},filter:s.isOn?"url(#glow)":"",className:"path",d:"M0,109v36.3c0,5.3,3.7,9.7,8.3,9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24L76.5,0l66.2,69"}))}function P0(s){return a.createElement("svg",{viewBox:"0 0 508.16 508.16",...s},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 xve(s){return a.createElement("svg",{viewBox:"0 0 230 230",...s},a.createElement("ellipse",{fill:"#2979ff",stroke:"#2979ff",strokeWidth:"1.5",cx:"112.9",cy:"114",rx:"112",ry:"112"}),a.createElement("ellipse",{fill:"#40c4ff",strokeWidth:"1.5",cx:"112.900006",cy:"113.999995",rx:"73.684216",ry:"73.684216",stroke:"#40c4ff"}),a.createElement("ellipse",{fill:"#ffffff",strokeWidth:"1.5",cx:"112.900003",cy:"114",rx:"33.578948",ry:"33.578948",stroke:"#ffffff"}))}function Sve(s){return a.createElement("svg",{viewBox:"0 0 24.986 24.986",...s},a.createElement("g",{fill:"currentColor"},a.createElement("path",{fill:"currentColor",d:"M17.548 17.961l-.771-.769s-1.225 1.305-1.304 1.305c-.081 0-1.308-1.305-1.308-1.305l-.771.769s1.306 1.198 1.306 1.308c0 .106-1.306 1.308-1.306 1.308l.771.767s1.217-1.305 1.308-1.305c.089 0 1.304 1.305 1.304 1.305l.771-.767s-1.307-1.218-1.307-1.308c.001-.092 1.307-1.308 1.307-1.308z"}),a.createElement("path",{fill:"currentColor",d:"M15.472 14.435a4.832 4.832 0 0 0 0 9.661 4.83 4.83 0 0 0 0-9.661zm0 8.913a4.083 4.083 0 0 1-4.081-4.082 4.079 4.079 0 0 1 4.081-4.081 4.083 4.083 0 0 1 0 8.163z"}),a.createElement("circle",{fill:"currentColor",cx:10.06,cy:2.207,r:2.207}),a.createElement("path",{fill:"currentColor",d:"M10.2 20.476v3.26l.009.009a1.25 1.25 0 0 0 1.251 1.238c.643 0 1.167-.487 1.236-1.11-.083-.052-.173-.093-.253-.146a5.425 5.425 0 0 1-2.243-3.251z"}),a.createElement("path",{fill:"currentColor",d:"M12.455 14.724c.08-.057.168-.097.253-.146l-.002-6.687h.606V12.945c0 .516.417.932.932.932a.931.931 0 0 0 .933-.932V7.51c-.206-2.42-3.013-2.385-3.013-2.385H7.74c-3.168.06-3.055 2.385-3.055 2.385l-.001 5.428h.003c-.002.014-.002.025-.002.04a.932.932 0 1 0 1.861 0l-.001-.04h.001V7.914h.584l-.007 15.811c0 .693.562 1.261 1.257 1.261s1.257-.565 1.257-1.261V13.523h.562v4.457a5.414 5.414 0 0 1 2.256-3.256z"})))}function GSe(s){return a.createElement("svg",{viewBox:"0 0 63.907 63.907",fill:"currentColor",...s},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 HSe(s){return a.createElement("svg",{viewBox:"0 0 285 285",...s},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 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 @@ -564,7 +564,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 xve(s){return a.createElement("svg",{viewBox:"0 0 384.754 384.754",...s},a.createElement("path",{fill:"currentColor",d:`M214.86,374.508c0,4.971-4.029,9-9,9h-65.01c-4.971,0-9.223-3.57-9.223-8.541V288.87c0-4.971,4.252-9.361,9.223-9.361 + C231.591,212.679,237.828,191.414,234.21,169.856z`})))}function kve(s){return a.createElement("svg",{viewBox:"0 0 384.754 384.754",...s},a.createElement("path",{fill:"currentColor",d:`M214.86,374.508c0,4.971-4.029,9-9,9h-65.01c-4.971,0-9.223-3.57-9.223-8.541V288.87c0-4.971,4.252-9.361,9.223-9.361 h99.585c4.971,0,9,4.029,9,9s-4.029,9-9,9h-90.808v68h56.232C210.83,365.508,214.86,369.538,214.86,374.508z M136.65,115.508h10 c4.971,0,9-4.029,9-9s-4.029-9-9-9h-10c-4.971,0-9,4.029-9,9S131.679,115.508,136.65,115.508z M180.947,115.508h10 c4.97,0,9-4.029,9-9s-4.029-9-9-9h-10c-4.971,0-9,4.029-9,9S175.976,115.508,180.947,115.508z M152.056,142.508c0,4.971,4.029,9,9,9 @@ -598,7 +598,7 @@ body { c1.23,0.573,2.524,0.845,3.798,0.845c3.39,0,6.636-1.924,8.163-5.198l36.082-77.146l13.012-0.902c0.002,0,0.004,0,0.006,0 l18.021-1.813c0.358-0.024,0.714-0.188,1.064-0.256c1.292-0.243,2.477-0.817,3.501-1.539c1.014-0.711,1.891-1.669,2.555-2.786 c0.185-0.309,0.351-0.644,0.497-0.975l7.644-16.398c0.001-0.002,0.002-0.008,0.003-0.009l7.644-16.396 - c0.159-0.326,0.299-0.66,0.417-1.001C344.392,259.102,344.538,257.825,344.428,256.584z`}))}function Un(s){return a.createElement("svg",{viewBox:"1 -10 511.99999 511",...s},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 GSe(s){return a.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...s},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 HSe(s){return a.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...s},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 Sve(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},a.createElement("path",{fill:"currentColor",d:"M341.333 288.593V85.333C341.333 38.205 303.128 0 256 0s-85.333 38.205-85.333 85.333v203.259C144.48 312.03 128 346.091 128 384c0 70.693 57.308 128 128 128s128-57.307 128-128c0-37.909-16.48-71.97-42.667-95.407zM256 469.333c-47.128 0-85.333-38.205-85.333-85.333 0-24.637 10.441-47.492 28.455-63.615l14.212-12.72V85.333c0-23.564 19.103-42.667 42.667-42.667s42.667 19.102 42.667 42.667v222.332l14.212 12.72c18.014 16.123 28.455 38.977 28.455 63.615-.002 47.128-38.207 85.333-85.335 85.333z"}),a.createElement("path",{fill:"currentColor",d:"M234.667 170.667h42.667v256h-42.667z"}),a.createElement("circle",{fill:"currentColor",cx:256,cy:384,r:64}))}function VSe(s){return a.createElement("svg",{viewBox:"0 0 297 297",...s},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 kve(s){return a.createElement("svg",{viewBox:"0 0 480 480",...s},a.createElement("g",null,a.createElement("path",{fill:"currentColor",d:`M472,304h-80v-8c0-4.418-3.582-8-8-8h-32c-4.418,0-8,3.582-8,8v8h-48v-48c0-4.418-3.582-8-8-8h-8v-24c0-4.418-3.582-8-8-8 + c0.159-0.326,0.299-0.66,0.417-1.001C344.392,259.102,344.538,257.825,344.428,256.584z`}))}function $n(s){return a.createElement("svg",{viewBox:"1 -10 511.99999 511",...s},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 VSe(s){return a.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...s},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 ZSe(s){return a.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...s},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 vve(s){return a.createElement("svg",{viewBox:"0 0 512 512",...s},a.createElement("path",{fill:"currentColor",d:"M341.333 288.593V85.333C341.333 38.205 303.128 0 256 0s-85.333 38.205-85.333 85.333v203.259C144.48 312.03 128 346.091 128 384c0 70.693 57.308 128 128 128s128-57.307 128-128c0-37.909-16.48-71.97-42.667-95.407zM256 469.333c-47.128 0-85.333-38.205-85.333-85.333 0-24.637 10.441-47.492 28.455-63.615l14.212-12.72V85.333c0-23.564 19.103-42.667 42.667-42.667s42.667 19.102 42.667 42.667v222.332l14.212 12.72c18.014 16.123 28.455 38.977 28.455 63.615-.002 47.128-38.207 85.333-85.335 85.333z"}),a.createElement("path",{fill:"currentColor",d:"M234.667 170.667h42.667v256h-42.667z"}),a.createElement("circle",{fill:"currentColor",cx:256,cy:384,r:64}))}function XSe(s){return a.createElement("svg",{viewBox:"0 0 297 297",...s},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 Yve(s){return a.createElement("svg",{viewBox:"0 0 480 480",...s},a.createElement("g",null,a.createElement("path",{fill:"currentColor",d:`M472,304h-80v-8c0-4.418-3.582-8-8-8h-32c-4.418,0-8,3.582-8,8v8h-48v-48c0-4.418-3.582-8-8-8h-8v-24c0-4.418-3.582-8-8-8 h-8v-16h8c4.418,0,8-3.582,8-8v-32c0-4.418-3.582-8-8-8h-8v-24h44.28c5.382-0.016,10.547,2.121,14.344,5.936l7.44,7.44 c14.167,14.169,37.138,14.171,51.308,0.004c6.806-6.805,10.629-16.036,10.628-25.66V92.28 c0.002-20.037-16.239-36.282-36.276-36.284c-9.625-0.001-18.855,3.822-25.66,10.628l-7.44,7.44 @@ -616,11 +616,11 @@ body { v23.44c-0.006,11.205-9.095,20.283-20.3,20.276c-5.372-0.003-10.523-2.136-14.324-5.932l-7.44-7.44 c-6.79-6.826-16.028-10.652-25.656-10.624H163.72z M248,128v24h-16v-24H248z M216,168h48v16h-48V168z M248,200v16h-16v-16H248z M216,232h48v16h-48V232z M344,400H136v-80h56c4.418,0,8-3.582,8-8v-48h80v48c0,4.418,3.582,8,8,8h56V400z M376,416h-16V304h16 - V416z M464,400h-72v-80h72V400z`})))}function vve(s){return a.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...s},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:"M258.5 185.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H258.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}))}function ZSe(s){return a.createElement("svg",{viewBox:"0 0 361 361",...s},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 XL(s){return a.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...s},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 XSe={"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-percentage":"Percentage","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"},KSe={"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-percentage":"Prozentsatz","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"},qSe={"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-percentage":"Проценты","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":"Датчик наклона окна"},e5e={"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-percentage":"Percentagem","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"},t5e={"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-percentage":"Procent","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"},s5e={"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-percentage":"Pourcentage","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"},i5e={"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-percentage":"Percentuale","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"},r5e={"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-percentage":"Percentage","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"},o5e={"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-percentage":"Відсоток","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":"нахил вікна"},n5e={"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-percentage":"百分比","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 $0=!1;function KL(){$0||($0=!0,D.extendTranslations({en:XSe,de:KSe,ru:qSe,pt:e5e,pl:t5e,fr:s5e,it:i5e,nl:r5e,uk:o5e,"zh-cn":n5e}))}const P0={[G.Types.airCondition]:Tj,[G.Types.blind]:U0,[G.Types.blindButtons]:U0,[G.Types.button]:FSe,[G.Types.buttonSensor]:QSe,[G.Types.camera]:_Se,[G.Types.chart]:mSe,[G.Types.image]:yj,[G.Types.dimmer]:jj,[G.Types.door]:WSe,[G.Types.fireAlarm]:Q0,"sensor.alarm.fire":Q0,[G.Types.floodAlarm]:b0,"sensor.alarm.flood":b0,[G.Types.gate]:JSe,[G.Types.humidity]:BSe,[G.Types.illuminance]:USe,[G.Types.info]:gj,[G.Types.light]:Lj,[G.Types.lock]:Nj,[G.Types.location]:lj,[G.Types.locationOne]:uj,[G.Types.media]:cj,[G.Types.motion]:RSe,[G.Types.ct]:bc,[G.Types.percentage]:Qc,[G.Types.rgb]:Un,[G.Types.rgbSingle]:Un,[G.Types.rgbwSingle]:$Se,[G.Types.hue]:bc,[G.Types.cie]:Un,[G.Types.slider]:Qc,[G.Types.socket]:GSe,[G.Types.temperature]:HSe,[G.Types.thermostat]:VSe,[G.Types.vacuumCleaner]:PSe,[G.Types.volume]:Mj,[G.Types.volumeGroup]:aj,[G.Types.window]:ZSe,[G.Types.windowTilt]:XL,[G.Types.weatherCurrent]:v0,[G.Types.weatherForecast]:v0,[G.Types.warning]:Yc,[G.Types.unknown]:nj,[G.Types.instance]:oj,invalid:Yc,hub3:rj,node:ij,hub5:sj,controller:tj},Kr={width:32,height:32};function a5e(s){const[e,t]=a.useState(!1);if(Ce(()=>{s.title&&!e&&(KL(),t(!0))},[s.title,e]),!e&&s.title)return a.createElement(J,{style:{...Kr,...s.style||void 0},className:s.className,sx:s.sx});const i=s.type||(s.src?Object.keys(P0).find(n=>s.src===n):void 0);if(!i&&s.src)return a.createElement(be,{style:Kr,...s,title:s.title===!0?void 0:s.title,src:s.src});const r=i&&P0[i];if(!r)return i?a.createElement("span",{style:{...Kr,...s.style||void 0}},i[0].toUpperCase()):null;const o=a.createElement(r,{style:{...Kr,...s.style||void 0},onClick:s.onClick,className:s.className,sx:s.sx});return s.title?a.createElement(Le,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:s.title===!0?D.t(`type-${i}`):s.title},a.createElement("div",{style:{display:"flex"}},o)):o}const Ht={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 Yve(s){const[e,t]=a.useState({}),[i,r]=a.useState([]);return Ce(()=>{const o={};Object.keys(G.Types).filter(M=>{var c,l;return(!s.supportedDevices||((c=s.supportedDevices)==null?void 0:c.includes(M)))&&!((l=s.unsupportedDevices)!=null&&l.includes(M))}).forEach(M=>o[M]=D.t(`type-${G.Types[M]}`));const n=Object.keys(o);n.sort((M,c)=>o[M]===o[c]?0:o[M].localeCompare(o[c],"de")),KL(),r(n),t(o)},[s.supportedDevices,s.unsupportedDevices]),i?a.createElement(Qt,{style:{...Ht.type,...s.style},sx:s.sx,variant:"standard",error:!!s.error},a.createElement(yi,null,s.label||D.t("type-Device type")),a.createElement(nt,{variant:"standard",disabled:!!s.disabled,value:s.value,onChange:o=>s.onChange(o.target.value)},i.map(o=>{var n;return a.createElement(re,{key:G.Types[o],value:G.Types[o]},a.createElement("div",{style:Ht.itemChildrenWrapper},a.createElement("div",null,a.createElement(a5e,{type:G.Types[o],style:{...Ht.selectIcon,color:s.themeType==="dark"?"#FFFFFF":"#000"}}),a.createElement("span",{style:Ht.selectText},e[o])),(n=s.showApplications)!=null&&n.TYPE_OPTIONS[o]?a.createElement("div",{style:Ht.iconWrapper},Object.keys(s.showApplications.TYPE_OPTIONS[o]).map(M=>s.showApplications.TYPE_OPTIONS[o][M]?a.createElement(be,{key:M,style:Ht.iconStyle,src:s.showApplications.ICONS_TYPE[M]}):a.createElement("div",{key:M,style:Ht.emptyIcon}))):null))}))):a.createElement(J,{style:{...Ht.type,...s.style},sx:s.sx})}function M5e(s){return te({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 c5e(s){return te({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 u5e(s){return te({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 l5e(s){return te({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 N5e(s){return te({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 L5e(s){return te({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 g5e(s){return te({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 W0(s){return te({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 j5e(s){return te({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 y5e(s){return te({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 T5e(s){return te({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 D5e(s){return te({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 d5e(s){return te({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(s)}function h5e(s){return te({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 z5e(s){return te({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 w5e(s){return te({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 Qve={SET:ESe,WORKING:Uc,UNREACH:Wc,LOWBAT:$c,MAINTAIN:fj,ERROR:mj,DIRECTION:Aj,CONNECTED:Wc,ACTUAL:u5e,SECOND:l5e,PRESS_LONG:pj,PRESS:Cj,MUTE:Ij,ACCURACY:T5e,RADIUS:pSe,ELEVATION:OSe,LATITUDE:fSe,LONGITUDE:CSe,GPS:wj,ON_ACTUAL:Pc,ON_SET:Pc,OPEN:zj,STOP:L5e,WATER_ALARM:Y0,WASTE_ALARM:W0,PAUSE:ISe,STATE:j5e,BATTERY:$c,WASTE:W0,WATER:Y0,WORK_MODE:Uc,MODE:hj,POWER:ASe,BOOST:c5e,HUMIDITY:kSe,TEMPERATURE:xSe,BRIGHTNESS:YSe,MOTION:dj,FIRE:vSe,WINDOW:XL,SMOKE:SSe,SWING:N5e,SPEED:g5e,DIMMER:z5e,ON:h5e,COLOR_TEMP:Dj,ELECTRIC_POWER:w5e,CURRENT:d5e,VOLTAGE:D5e,CONSUMPTION:M5e,FREQUENCY:y5e,HUE:bSe};class qL extends a.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 M;const n=((M=o.result)==null?void 0:M.toString())||"";try{const c=JSON.parse(n);c.native&&c.common?c.common.name!==this.props.common.name?this.props.onError&&this.props.onError(D.t("ra_otherConfig",c.common.name)):this.props.onLoad&&this.props.onLoad(c.native):this.props.onError&&this.props.onError(D.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,qL.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(be,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?a.createElement(bt,{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(Oj,null)):null,a.createElement(bt,{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(Ty,null)),a.createElement(bt,{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(yy,null)))}}class eg{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=eg.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(` + V416z M464,400h-72v-80h72V400z`})))}function Qve(s){return a.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...s},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:"M258.5 185.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H258.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}))}function KSe(s){return a.createElement("svg",{viewBox:"0 0 361 361",...s},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 KL(s){return a.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...s},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 qSe={"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-percentage":"Percentage","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"},e5e={"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-percentage":"Prozentsatz","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"},t5e={"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-percentage":"Проценты","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":"Датчик наклона окна"},s5e={"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-percentage":"Percentagem","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"},i5e={"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-percentage":"Procent","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"},r5e={"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-percentage":"Pourcentage","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"},o5e={"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-percentage":"Percentuale","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"},n5e={"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-percentage":"Percentage","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"},a5e={"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-percentage":"Відсоток","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":"нахил вікна"},M5e={"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-percentage":"百分比","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 W0=!1;function qL(){W0||(W0=!0,D.extendTranslations({en:qSe,de:e5e,ru:t5e,pt:s5e,pl:i5e,fr:r5e,it:o5e,nl:n5e,uk:a5e,"zh-cn":M5e}))}const J0={[G.Types.airCondition]:Dj,[G.Types.blind]:P0,[G.Types.blindButtons]:P0,[G.Types.button]:HSe,[G.Types.buttonSensor]:USe,[G.Types.camera]:SSe,[G.Types.chart]:OSe,[G.Types.image]:Tj,[G.Types.dimmer]:yj,[G.Types.door]:BSe,[G.Types.fireAlarm]:U0,"sensor.alarm.fire":U0,[G.Types.floodAlarm]:$0,"sensor.alarm.flood":$0,[G.Types.gate]:RSe,[G.Types.humidity]:FSe,[G.Types.illuminance]:PSe,[G.Types.info]:jj,[G.Types.light]:gj,[G.Types.lock]:Lj,[G.Types.location]:Nj,[G.Types.locationOne]:lj,[G.Types.media]:uj,[G.Types.motion]:GSe,[G.Types.ct]:Uc,[G.Types.percentage]:bc,[G.Types.rgb]:$n,[G.Types.rgbSingle]:$n,[G.Types.rgbwSingle]:WSe,[G.Types.hue]:Uc,[G.Types.cie]:$n,[G.Types.slider]:bc,[G.Types.socket]:VSe,[G.Types.temperature]:ZSe,[G.Types.thermostat]:XSe,[G.Types.vacuumCleaner]:JSe,[G.Types.volume]:cj,[G.Types.volumeGroup]:Mj,[G.Types.window]:KSe,[G.Types.windowTilt]:KL,[G.Types.weatherCurrent]:Q0,[G.Types.weatherForecast]:Q0,[G.Types.warning]:Qc,[G.Types.unknown]:aj,[G.Types.instance]:nj,invalid:Qc,hub3:oj,node:rj,hub5:ij,controller:sj},Kr={width:32,height:32};function c5e(s){const[e,t]=a.useState(!1);if(Ce(()=>{s.title&&!e&&(qL(),t(!0))},[s.title,e]),!e&&s.title)return a.createElement(J,{style:{...Kr,...s.style||void 0},className:s.className,sx:s.sx});const i=s.type||(s.src?Object.keys(J0).find(n=>s.src===n):void 0);if(!i&&s.src)return a.createElement(be,{style:Kr,...s,title:s.title===!0?void 0:s.title,src:s.src});const r=i&&J0[i];if(!r)return i?a.createElement("span",{style:{...Kr,...s.style||void 0}},i[0].toUpperCase()):null;const o=a.createElement(r,{style:{...Kr,...s.style||void 0},onClick:s.onClick,className:s.className,sx:s.sx});return s.title?a.createElement(Le,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:s.title===!0?D.t(`type-${i}`):s.title},a.createElement("div",{style:{display:"flex"}},o)):o}const Ht={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 bve(s){const[e,t]=a.useState({}),[i,r]=a.useState([]);return Ce(()=>{const o={};Object.keys(G.Types).filter(M=>{var c,l;return(!s.supportedDevices||((c=s.supportedDevices)==null?void 0:c.includes(M)))&&!((l=s.unsupportedDevices)!=null&&l.includes(M))}).forEach(M=>o[M]=D.t(`type-${G.Types[M]}`));const n=Object.keys(o);n.sort((M,c)=>o[M]===o[c]?0:o[M].localeCompare(o[c],"de")),qL(),r(n),t(o)},[s.supportedDevices,s.unsupportedDevices]),i?a.createElement(Qt,{style:{...Ht.type,...s.style},sx:s.sx,variant:"standard",error:!!s.error},a.createElement(yi,null,s.label||D.t("type-Device type")),a.createElement(nt,{variant:"standard",disabled:!!s.disabled,value:s.value,onChange:o=>s.onChange(o.target.value)},i.map(o=>{var n;return a.createElement(re,{key:G.Types[o],value:G.Types[o]},a.createElement("div",{style:Ht.itemChildrenWrapper},a.createElement("div",null,a.createElement(c5e,{type:G.Types[o],style:{...Ht.selectIcon,color:s.themeType==="dark"?"#FFFFFF":"#000"}}),a.createElement("span",{style:Ht.selectText},e[o])),(n=s.showApplications)!=null&&n.TYPE_OPTIONS[o]?a.createElement("div",{style:Ht.iconWrapper},Object.keys(s.showApplications.TYPE_OPTIONS[o]).map(M=>s.showApplications.TYPE_OPTIONS[o][M]?a.createElement(be,{key:M,style:Ht.iconStyle,src:s.showApplications.ICONS_TYPE[M]}):a.createElement("div",{key:M,style:Ht.emptyIcon}))):null))}))):a.createElement(J,{style:{...Ht.type,...s.style},sx:s.sx})}function u5e(s){return te({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 l5e(s){return te({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 N5e(s){return te({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 L5e(s){return te({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 g5e(s){return te({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 j5e(s){return te({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 y5e(s){return te({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 B0(s){return te({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 T5e(s){return te({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 D5e(s){return te({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 d5e(s){return te({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 h5e(s){return te({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 z5e(s){return te({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(s)}function w5e(s){return te({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 I5e(s){return te({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 C5e(s){return te({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 Uve={SET:xSe,WORKING:$c,UNREACH:Jc,LOWBAT:Pc,MAINTAIN:Oj,ERROR:fj,DIRECTION:mj,CONNECTED:Jc,ACTUAL:N5e,SECOND:L5e,PRESS_LONG:Aj,PRESS:pj,MUTE:Cj,ACCURACY:d5e,RADIUS:mSe,ELEVATION:_Se,LATITUDE:ESe,LONGITUDE:ASe,GPS:Ij,ON_ACTUAL:Wc,ON_SET:Wc,OPEN:wj,STOP:j5e,WATER_ALARM:b0,WASTE_ALARM:B0,PAUSE:pSe,STATE:T5e,BATTERY:Pc,WASTE:B0,WATER:b0,WORK_MODE:$c,MODE:zj,POWER:fSe,BOOST:l5e,HUMIDITY:YSe,TEMPERATURE:kSe,BRIGHTNESS:bSe,MOTION:hj,FIRE:QSe,WINDOW:KL,SMOKE:vSe,SWING:g5e,SPEED:y5e,DIMMER:I5e,ON:w5e,COLOR_TEMP:dj,ELECTRIC_POWER:C5e,CURRENT:z5e,VOLTAGE:h5e,CONSUMPTION:u5e,FREQUENCY:D5e,HUE:$Se};class eg extends a.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 M;const n=((M=o.result)==null?void 0:M.toString())||"";try{const c=JSON.parse(n);c.native&&c.common?c.common.name!==this.props.common.name?this.props.onError&&this.props.onError(D.t("ra_otherConfig",c.common.name)):this.props.onLoad&&this.props.onLoad(c.native):this.props.onError&&this.props.onError(D.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,eg.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(be,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?a.createElement(bt,{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(Ej,null)):null,a.createElement(bt,{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(Dy,null)),a.createElement(bt,{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(Ty,null)))}}class tg{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=tg.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 M=n.indexOf(":");if(M!==-1){const c=n.substring(0,M).trim();let l=n.substring(M+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){O4(t),e&&e.stopPropagation(),e&&e.preventDefault()}}function I5e(s){return a.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},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 tg(s){return a.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},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 Bs(s){return a.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},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 sg(s){return a.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},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 C5e(s){return a.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},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 p5e(s){return a.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},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 A5e(s){return a.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},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 rr(s){return a.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},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 m5e(s){return a.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},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 $n={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function f5e(s){var e;return a.createElement(pN,{elevation:Number.isNaN(s.elevation)?1:s.elevation,style:{...$n.root,...((e=s.styles)==null?void 0:e.root)||void 0,...s.overflow!=="visible"?$n.overflowHidden:void 0},onKeyDown:s.onKeyDown,tabIndex:s.tabIndex},a.createElement(ts,{container:!0,direction:"column",wrap:"nowrap",sx:$n.container},s.children))}const J0={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}},O5e=a.forwardRef(function(e,t){return a.createElement(ts,{sx:{...J0.root,...(e==null?void 0:e.style)||void 0,...e.overflow==="auto"?J0.overflowAuto:void 0},ref:t},e.children)});function E5e(s){return a.createElement(ts,{container:!0,alignItems:"center"},s.children)}const Li=24,$e=32,ig=s=>s==="dark"?"#62ff25":"#37c400",rg=s=>s==="dark"?"#ee56ff":"#a204b4",_5e=s=>s==="dark"?"#fff46e":"#b89101",og=s=>"#ff6d69",ng=s=>"#5773ff",x5e=["0_userdata.0.","alias.0."],ss={headerCellInput:{width:"calc(100% - 5px)",height:$e,pt:0,"& .itemIcon":{verticalAlign:"middle",width:Li,height:Li,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:Li,height:Li,mr:"5px",display:"inline-block"}},selectNone:{opacity:.5},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellIdTooltip:{fontSize:14}};function S5e(s){return a.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"},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 B0(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}function k5e(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?_a(r,e,t):r}):v5e(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?_a(r,e,t):r})}function R0(s,e,t){const i=document.createElement("a"),r=[];t.excludeSystemRepositories&&r.push("system.repositories");const o=r.length>0||t.excludeTranslations?_a(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)}class Y5e extends De{hasIcons;timer=null;constructor(e){var t;super(e),this.state={value:e.initialValue||[]},this.hasIcons=!!((t=e.values)!=null&&t.find(i=>i.icon))}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){var e;return a.createElement("div",{style:{position:"relative"}},a.createElement(nt,{variant:"standard",key:this.props.name,sx:ss.headerCellInput,className:"no-underline",multiple:!0,renderValue:t=>t!=null&&t.length?t.map(i=>{const r=this.props.values.find(c=>typeof c=="object"?c.value===i:c===i);let o,n,M;return typeof r=="object"?(o=r.value,n=r.name,M=r.icon):(o=r,n=r),a.createElement(J,{component:"span",sx:ss.headerCellSelectItem,key:o},M||(this.hasIcons?a.createElement("div",{className:"itemIcon"}):null),n)}):this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:t=>{let i=t.target.value;if(this.state.value[0]==="_"&&i.includes("_")&&i.length>1){const r=i.indexOf("_");r!==-1&&i.splice(r,1)}else this.state.value[0]!=="_"&&i.includes("_")&&(i=["_"]);i.includes("")&&(i=[]),this.setState({value:i},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,i)},400)})},onClose:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},inputProps:{name:this.props.name,id:this.props.name},displayEmpty:!0},a.createElement(re,{key:"empty",value:""},a.createElement("span",{style:ss.selectNone},this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`])),(e=this.props.values)==null?void 0:e.map(t=>{let i,r,o;return typeof t=="object"?(i=t.value,r=t.name,o=t.icon):(i=t,r=t),a.createElement(re,{sx:ss.headerCellSelectItem,key:i,value:i},o||(this.hasIcons?a.createElement("div",{className:"itemIcon"}):null),r)})),this.state.value.length?a.createElement(J,{component:"div",sx:ss.selectClearButton},a.createElement(W,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:[]},()=>this.props.onChange(this.props.name,void 0))}},a.createElement(we,null))):null)}}class Q5e extends De{timer=null;constructor(e){super(e),this.state={value:e.initialValue||""}}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){return a.createElement(Qt,{sx:this.props.styles,key:this.props.name,title:this.props.t("ra_You can use * as wildcard"),margin:"dense"},a.createElement(qt,{classes:{underline:"no-underline"},id:this.props.name,placeholder:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:e=>{const t=e.target.value;this.setState({value:t},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,t)},400)})},onBlur:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},autoComplete:"off"}),this.state.value?a.createElement("div",{style:{position:"absolute",right:0}},a.createElement(W,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:""},()=>this.props.onChange(this.props.name,void 0))}},a.createElement(we,null))):null)}}function jr(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]?jr(s,e,r,i):ex.toLowerCase())),(L=e.custom)!=null&&L.length&&(r.custom=e.custom.map(x=>x.toLowerCase())),(g=e.role)!=null&&g.length&&(r.role=e.role.map(x=>x.toLowerCase())),(j=e.room)!=null&&j.length&&(r.room=[],e.room.forEach(x=>{var S,R;r.room=r.room.concat(((R=(S=i[x])==null?void 0:S.common)==null?void 0:R.members)||[])})),(y=e.func)!=null&&y.length&&(r.func=[],e.func.forEach(x=>{var S,R;r.func=r.func.concat(((R=(S=i[x])==null?void 0:S.common)==null?void 0:R.members)||[])}))}const N=s.data;if(N!=null&&N.id){const x=(T=N.obj)==null?void 0:T.common;if(n){if(n.type&&(typeof n.type=="string"?(!N.obj||n.type!==N.obj.type)&&(l=!0):Array.isArray(n.type)&&(!N.obj||!n.type.includes(N.obj.type))&&(l=!0)),!l&&((d=n.common)!=null&&d.type)&&(x!=null&&x.type?typeof n.common.type=="string"?n.common.type!==x.type&&(l=!0):Array.isArray(n.common.type)&&(n.common.type.includes(x.type)||(l=!0)):l=!0),!l&&((I=n.common)!=null&&I.role)&&(x!=null&&x.role?typeof n.common.role=="string"?x.role.startsWith(n.common.role)&&(l=!0):Array.isArray(n.common.role)&&(n.common.role.find(S=>x.role.startsWith(S))||(l=!0)):l=!0),!l&&((w=n.common)==null?void 0:w.custom)==="_"&&(x!=null&&x.custom))l=!0;else if(!l&&((A=n.common)!=null&&A.custom)&&((p=n.common)==null?void 0:p.custom)!=="_"){const S=n.common.custom;if(!(x!=null&&x.custom))l=!0;else if(S==="_dataSources")Object.keys(x.custom).find(R=>R.startsWith("history.")||R.startsWith("sql.")||R.startsWith("influxdb."))||(l=!0);else if(Array.isArray(S)){const R=Object.keys(x.custom);S.find(he=>R.find(Xe=>Xe.startsWith(he)))&&(l=!0)}else S!==!0&&!Object.keys(x.custom).find(R=>R.startsWith(S))&&(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")||!!(x!=null&&x.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&&(x?(N.fName===void 0&&(N.fName=He(x.name,t)||"",N.fName=N.fName.toLowerCase()),l=!N.fName.includes(r.name)):l=!0),!l&&r.nameRx&&x&&(N.fName===void 0&&(N.fName=He(x.name,t)||"",N.fName=N.fName.toLowerCase()),l=!r.nameRx.test(N.fName)),!l&&((h=e.role)!=null&&h.length)&&x&&(l=!(typeof x.role=="string"&&r.role.find(S=>x.role.startsWith(S)))),!l&&((C=r.room)!=null&&C.length)&&(l=!r.room.find(S=>S===N.id||N.id.startsWith(`${S}.`))),!l&&((E=r.func)!=null&&E.length)&&(l=!r.func.find(S=>S===N.id||N.id.startsWith(`${S}.`))),!l&&((O=r.type)!=null&&O.length)&&(l=!((b=N.obj)!=null&&b.type&&r.type.includes(N.obj.type))),!l&&M&&(l=!((k=N.obj)!=null&&k.type&&M.includes(N.obj.type))),!l&&((K=r.custom)!=null&&K.length)&&(x?r.custom[0]==="_"?l=!!x.custom:x.custom?l=!r.custom.find(S=>x.custom[S]):l=!0:l=r.custom[0]!=="_")}return N.visible=!l,N.hasVisibleChildren=!1,s.children&&c<20&&s.children.forEach(x=>{xa(x,e,t,i,r,o,n,M,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(x=>x.data.hasVisibleParent=!0),N.visible||N.hasVisibleChildren}function ag(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=>ag(n,e,t,i))),i}function F0(s,e,t,i,r,o){let n;return e==="alias"||e==="alias.0"?n=a.createElement(xN,{className:"iconOwn",style:{color:rg(i)}}):e==="0_userdata"||e==="0_userdata.0"?n=a.createElement(Hj,{className:"iconOwn",style:{color:ig(i)}}):e.startsWith("_design/")||e==="system"?n=a.createElement(go,{className:"iconOwn",style:{color:og(i)}}):e==="system.adapter"?n=a.createElement(go,{className:"iconOwn",style:{color:ng(i)}}):e==="system.group"?n=a.createElement(rM,{className:"iconOwn"}):e==="system.user"?n=a.createElement(sM,{className:"iconOwn"}):e==="system.host"?n=a.createElement(iM,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?n=a.createElement(li,{className:"iconOwn"}):e.endsWith(".info")?n=a.createElement(tM,{className:"iconOwn"}):s[e]&&s[e].type==="meta"?n=a.createElement(vo,{className:"iconOwn"}):t<2&&s[`system.adapter.${e}`]&&(n=Eo(s,`system.adapter.${e}`,r,o)),n||null}function Mg(s,e){var t,i;return(i=(t=s==null?void 0:s.obj)==null?void 0:t.common)!=null&&i.desc&&He(s.obj.common.desc,e)||null}function b5e(s,e){const t=Mg(s,e);return t!=null&&t.startsWith("http")?a.createElement(J,{component:"a",sx:ss.cellIdTooltipLink,href:t,target:"_blank",rel:"noreferrer"},t):a.createElement("span",{style:ss.cellIdTooltip},t||s.id||"")}function G0(s,e){var N,u,L,g,j,y,T,d,I,w;const t=e.imagePrefix||".";let i=Object.keys(s);i.sort((A,p)=>A===p?0:(A=A.replace(/\./g,"!!!"),p=p.replace(/\./g,"!!!"),A>p?1:-1)),e.root&&(i=i.filter(A=>A===e.root||A.startsWith(`${e.root}.`)));let r=[],o="",n=0;const M={data:{name:"",id:""},children:[]},c={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:s,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let l=M;for(let A=0;Ak.role===b)?typeof b!="string"?console.warn(`Invalid role type "${typeof b}" in "${h._id}"`):c.roles.push({role:b,type:O.type}):p.startsWith("enum.rooms.")?(c.roomEnums.push(p),c.enums.push(p)):p.startsWith("enum.functions.")?(c.funcEnums.push(p),c.enums.push(p)):h.type==="enum"?c.enums.push(p):h.type==="instance"&&O&&(O.supportCustoms||(N=O.adminUI)!=null&&N.custom)&&(c.hasSomeCustoms=!0,c.customs.push(p.substring(15))),p.startsWith("alias.")&&((u=h.common.alias)!=null&&u.id))if(typeof h.common.alias.id=="string"){const k=h.common.alias.id;c.aliasesMap[k]?c.aliasesMap[k].includes(p)||c.aliasesMap[k].push(p):c.aliasesMap[k]=[p]}else{const k=h.common.alias.id.read;k&&(c.aliasesMap[k]?c.aliasesMap[k].includes(p)||c.aliasesMap[k].push(p):c.aliasesMap[k]=[p]);const K=h.common.alias.id.write;K&&(c.aliasesMap[K]?c.aliasesMap[K].includes(p)||c.aliasesMap[K].push(p):c.aliasesMap[K]=[p])}}c.ids.push(p);let E;do if(E=!1,!o||p.startsWith(`${o}.`)){if(C.length-n>1){let b=o;for(let k=n;kK.data.name===C[k]));else{const K={data:{name:C[k],parent:l,id:b,obj:s[b],level:k,icon:F0(s,b,k,e.themeType,e.lang,t),generated:!0}};l.children||=[],l.children.push(K),l=K,c.ids.push(b)}}const O={data:{name:C[C.length-1],title:He((L=h==null?void 0:h.common)==null?void 0:L.name,e.lang),obj:h,parent:l,icon:Eo(s,p,e.lang,t)||F0(s,p,0,e.themeType,e.lang,t),id:p,hasCustoms:!!((g=h.common)!=null&&g.custom&&Object.keys(h.common.custom).length),level:C.length-1,generated:!1,button:h.type==="state"&&!!((j=h.common)!=null&&j.role)&&typeof h.common.role=="string"&&h.common.role.startsWith("button")&&((y=h.common)==null?void 0:y.write)!==!1,switch:h.type==="state"&&((T=h.common)==null?void 0:T.type)==="boolean"&&((d=h.common)==null?void 0:d.write)!==!1&&((I=h.common)==null?void 0:I.read)!==!1,url:!!((w=h.common)!=null&&w.role)&&typeof h.common.role=="string"&&h.common.role.startsWith("url")}};l.children||=[],l.children.push(O),l=O,n=C.length,r=C,o=p}else{let O=0;for(;r[O]===C[O];)O++;if(O>0){let b=r.length;for(r=r.splice(0,O),n=O,o=r.join(".");b>O;)l.data.parent?l=l.data.parent:console.error(`Parent is null for ${p} ${o} ${r.join(".")}`),b--}else l=M,r=[],o="",n=0;E=!0}while(E)}return c.roomEnums.sort((A,p)=>{var E,O,b,k;const h=He((O=(E=s[A])==null?void 0:E.common)==null?void 0:O.name,e.lang)||A.split(".").pop(),C=He((k=(b=s[p])==null?void 0:b.common)==null?void 0:k.name,e.lang)||p.split(".").pop();return h>C?1:h{var E,O,b,k;const h=He((O=(E=s[A])==null?void 0:E.common)==null?void 0:O.name,e.lang)||A.split(".").pop(),C=He((k=(b=s[p])==null?void 0:b.common)==null?void 0:k.name,e.lang)||p.split(".").pop();return h>C?1:hA.role.localeCompare(p.role)),c.types.sort(),{info:c,root:M}}function cg(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,cg(o,e,t,`${i}.${t[r+1]}`,r+1)):null}function ug(s,e,t,i){var n,M;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=He(l.name,t);(M=l.members)!=null&&M.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,ug(s,e,t,i)),{rooms:i,per:!r}}function Rs(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 if(M!=null&&M.role&&typeof M.role=="string"&&M.role.match(/^value\.duration/)){if(typeof l=="number"&&l>=0){const j=Math.floor(l/3600),y=Math.floor(l%3600/60),T=Math.floor(l%60);l=`${j.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`}else if(typeof l=="string"&&m.isStringInteger(l)){const j=parseInt(l,10);if(j>=0){const y=Math.floor(j/3600),T=Math.floor(j%3600/60),d=Math.floor(j%60);l=`${y.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}}}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)}...`),M!=null&&M.unit&&(u.u=M.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?m.formatDate(new Date(t.ts),e):""}),t.lc&&L.push({t:r.lc,v:t.lc?m.formatDate(new Date(t.lc),e):""}),t.from){let j=t.from.toString();j.startsWith("system.adapter.")&&(j=j.substring(15)),L.push({t:r.from,v:j})}if(t.user){let j=t.user.toString();j.startsWith("system.user.")&&(j=j.substring(12)),L.push({t:r.user,v:j})}t.c&&L.push({t:r.c,v:t.c}),L.push({t:r.quality,v:m.quality2text(t.q||0).join(", "),nbr:!0})}return{valText:u,valFull:L,fileViewer:c}}function U5e(s){const{state:e}=s;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function $5e(s,e){let t=e,i=1;const r=[];for(;i=t)r.push(0);else if(i1){const i=e.path;let r;const o=s;if(o[i[0]]&&typeof o[i[0]]=="object")return i.length===2?r=o[i[0]][i[1]]:i.length===3?r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"?o[i[0]][i[1]][i[2]]:null:i.length===4?r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"&&o[i[0]][i[1]][i[2]]?o[i[0]][i[1]][i[2]][i[3]]:null:i.length===5?r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"&&o[i[0]][i[1]][i[2]]&&o[i[0]][i[1]][i[2]][i[3]]?o[i[0]][i[1]][i[2]][i[3]][i[4]]:null:i.length===6&&(r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"&&o[i[0]][i[1]][i[2]]&&o[i[0]][i[1]][i[2]][i[3]]&&o[i[0]][i[1]][i[2]][i[3]][i[4]]?o[i[0]][i[1]][i[2]][i[3]][i[4]][i[5]]:null),r??null}return null}function P5e(s,e,t){var i;if((i=s==null?void 0:s._id)!=null&&i.startsWith(`${e.adapter}.`)&&e.path.length>1){const r=e.path,o=s;if(o[r[0]]&&typeof o[r[0]]=="object"){if(r.length===2)return o[r[0]][r[1]]=t,!0;if(r.length===3){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object")return o[r[0]][r[1]][r[2]]=t,!0}else if(r.length===4){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object")return o[r[0]][r[1]][r[2]][r[3]]=t,!0}else if(r.length===5){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]]=t,!0}else if(r.length===6&&o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object"&&o[r[0]][r[1]][r[2]][r[3]][r[4]]&&typeof o[r[0]][r[1]][r[2]][r[3]][r[4]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]][r[5]]=t,!0}}return!1}function V0(s){return!!x5e.find(e=>s.startsWith(e))}const W5e=16,Ie=20,Ng="#ff413c",Lg="#86211f",Sa="#57ff45",ka="#098c04",va="#f3ad11",Ya="#6c5008",z={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:$e,lineHeight:`${$e}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:m.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:$e+10},tableRowAliasReadWrite:{height:$e+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:$e-4,height:$e-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:s=>({marginRight:8,width:$e-4,height:$e-4,cursor:"pointer",color:s.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:($e-Ie)/2,marginRight:8,width:Ie,height:Ie},cellIdIconOwn:{},cellCopyButton:{width:Ie,height:Ie,top:($e-Ie)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:Ie,height:Ie,top:($e-Ie)/2,opacity:.8},cellEditButton:{width:Ie,height:Ie,color:"white",position:"absolute",top:($e-Ie)/2,right:Ie+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:Li,height:Li,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:$e,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:Ie+4,height:Ie+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${Ie+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:Ie/2-2,opacity:.7,width:Ie-2,height:Ie-2,color:s.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:Ie/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},itemSelected:s=>({background:`${s.palette.primary.main} !important`,color:`${m.invertColor(s.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},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"},iconDeviceConnected:s=>({color:s.palette.mode==="dark"?Sa:ka,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:s=>({color:s.palette.mode==="dark"?va:Ya,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:s=>({color:s.palette.mode==="dark"?Ng:Lg,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"},...ss},Z0={state:a.createElement(rr,{className:"itemIcon",style:{verticalAlign:"middle"}}),channel:a.createElement(tg,{className:"itemIcon",style:{verticalAlign:"middle"}}),device:a.createElement(sg,{className:"itemIcon",style:{verticalAlign:"middle"}}),adapter:a.createElement(I5e,{className:"itemIcon",style:{verticalAlign:"middle"}}),meta:a.createElement(vo,{className:"itemIcon",style:{verticalAlign:"middle"}}),instance:a.createElement(A5e,{className:"itemIcon",style:{color:"#7da7ff",verticalAlign:"middle"}}),enum:a.createElement(ny,{className:"itemIcon",style:{verticalAlign:"middle"}}),chart:a.createElement(Ny,{className:"itemIcon",style:{verticalAlign:"middle"}}),config:a.createElement(qn,{className:"itemIcon",style:{verticalAlign:"middle"}}),group:a.createElement(rM,{className:"itemIcon",style:{verticalAlign:"middle"}}),user:a.createElement(sM,{className:"itemIcon",style:{verticalAlign:"middle"}}),host:a.createElement(iM,{className:"itemIcon",style:{verticalAlign:"middle"}}),schedule:a.createElement(Jj,{className:"itemIcon",style:{verticalAlign:"middle"}}),script:a.createElement(qa,{className:"itemIcon",style:{verticalAlign:"middle"}}),folder:a.createElement(Ti,{className:"itemIcon itemIconFolder",style:{verticalAlign:"middle"}})},ze={xs:{idWidth:"100%",fields:[],widths:{}},sm:{idWidth:300,fields:["room","val"],widths:{room:100,val:200}},md:{idWidth:300,fields:["room","func","val","buttons"],widths:{name:200,room:150,func:150,val:120,buttons:120}},lg:{idWidth:300,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:300,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:165,lastChange:165}},xl:{idWidth:550,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:400,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:170,lastChange:170}}};let X0=!1;const Fs={id:"",name:"",room:[],func:[],role:[],type:[],custom:[],expertMode:!1};class _o extends De{info={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:{},customs:[],enums:[],hasSomeCustoms:!1,aliasesMap:{}};localStorage=window._localStorage||window.localStorage;tableRef;pausedSubscribes=!1;selectFirst;root=null;states={};subscribes=[];unsubscribeTimer=null;statesUpdateTimer=null;objectsUpdateTimer=null;visibleCols;texts;possibleCols;imagePrefix;adapterColumns=[];styleTheme="";edit={id:"",val:"",q:0,ack:!1};levelPadding;customWidth=!1;resizeTimeout=null;resizerNextName=null;resizerActiveName=null;resizerCurrentWidths={};resizeLeft=!1;resizerOldWidth=0;resizerMin=0;resizerNextMin=0;resizerOldWidthNext=0;resizerPosition=0;resizerActiveDiv=null;resizerNextDiv=null;storedWidths=null;systemConfig;objects;defaultHistory="";ctrlPressed=!1;columnsVisibility={};changedIds=null;contextMenu=null;recordStates=[];styles={};expertMode=!1;customColumnDialog=null;constructor(e){super(e);const t=this.localStorage.getItem(`${e.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",this.expertMode=!!this.props.expertMode,t.startsWith("["))try{const T=JSON.parse(t);this.selectFirst=T[0]||""}catch{}else this.selectFirst=t;let i;const r=this.localStorage.getItem(`${e.dialogName||"App"}.objectExpanded`)||"[]";try{i=JSON.parse(r)}catch{i=[]}let o;const n=e.defaultFilters?"":this.localStorage.getItem(`${e.dialogName||"App"}.objectFilter`)||"";if(n)try{o=JSON.parse(n)}catch{o={...Fs}}else e.defaultFilters&&typeof e.defaultFilters=="object"?o={...e.defaultFilters}:o={...Fs};if(typeof o.room=="string"&&o.room&&(o.room=[o.room].filter(T=>T),o.room.length||delete o.room),typeof o.func=="string"&&o.func&&(o.func=[o.func].filter(T=>T),o.func.length||delete o.func),typeof o.role=="string"&&o.role&&(o.role=[o.role].filter(T=>T),o.role.length||delete o.role),typeof o.type=="string"&&(o.type=[o.type].filter(T=>T),o.type.length||delete o.type),typeof o.custom=="string"&&(o.custom=[o.custom].filter(T=>T),o.custom.length||delete o.custom),o.expertMode=e.expertMode!==void 0?e.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=wN(),this.visibleCols=e.columns||ze[e.width||"lg"].fields,e.types&&e.types.length===1){const T=this.visibleCols.indexOf("type");T!==-1&&this.visibleCols.splice(T,1)}this.possibleCols=ze.xl.fields;let M=null;if(e.router){const T=e.router.getLocation();T.id&&T.dialog==="customs"&&(M=[T.id],this.pauseSubscribe(!0))}let c;Array.isArray(e.selected)?c=e.selected:c=[e.selected||""],c=c.map(T=>T.replace(/["']/g,"")).filter(T=>T),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 j=!1;try{j=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${e.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={aliasMenu:"",beautifyJsonExport:!0,columns:N,columnsAuto:this.localStorage.getItem(`${e.dialogName||"App"}.columnsAuto`)!=="false",columnsDialogTransparent:100,columnsEditCustomDialog:null,columnsForAdmin:null,columnsSelectorShow:!1,columnsWidths:u,customColumnDialogValueChanged:!1,customDialog:M,depth:0,editObjectAlias:!1,editObjectDialog:"",enumDialog:null,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,expandAllVisible:!1,expanded:i,filter:o,filterKey:0,focused:this.localStorage.getItem(`${e.dialogName||"App"}.focused`)||"",foldersFirst:L,linesEnabled:this.localStorage.getItem(`${e.dialogName||"App"}.lines`)==="true",loaded:!1,noStatesByExportImport:!1,roleDialog:null,scrollBarWidth:16,selected:c,selectedNonObject:this.localStorage.getItem(`${e.dialogName||"App"}.selectedNonObject`)||"",showAliasEditor:"",showAllExportOptions:!1,showContextMenu:null,showDescription:this.localStorage.getItem(`${e.dialogName||"App"}.desc`)!=="false",showExportDialog:!1,showImportDialog:!1,showImportMenu:null,showRenameDialog:null,statesView:j,toast:"",tooltipInfo:null,viewFileDialog:""},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||W5e;const y=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(y)try{const T=JSON.parse(y),d=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(ze[d])),Object.keys(T).forEach(I=>{I==="id"?ze[d].idWidth=T.id:I==="nameHeader"?ze[d].widths.name=T[I]:ze[d].widths[I]!==void 0&&(ze[d].widths[I]=T[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=(t.objectsWorker?await t.objectsWorker.getObjects(e):await t.socket.getObjects(e,!0))||{};if(t.types&&ke.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:M}=G0(this.objects,{imagePrefix:t.imagePrefix,root:t.root,lang:t.lang,themeType:t.themeType});this.root=M,this.info=n;const c=((i=this.state.selected)==null?void 0:i.length)&&cg(this.root,this.state.selected[0]);c&&!xa(c,this.state.filter,t.lang,this.objects,void 0,void 0,t.customFilter,t.types)?this.setState({filter:{...Fs},columnsForAdmin:o},()=>{this.doFilter(),this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):(this.doFilter(),this.setState({loaded:!0,updating:!1,columnsForAdmin:o},()=>this.expandAllSelected(()=>this.onAfterSelect())))}catch(r){this.showError(r)}}expandAllSelected(e){const t=[...this.state.expanded];let i=!1;this.state.selected.forEach(r=>{const o=r.split("."),n=[];for(let M=0;M!this.objects[N]))&&((c=(M=this.props).onSelect)==null||c.call(M,this.state.selected,null,e))}else this.localStorage.removeItem(`${this.props.dialogName||"App"}.objectSelected`),this.state.selected.length?this.setState({selected:[]},()=>{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(!X0),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),X0=!0,window.addEventListener("contextmenu",this.onContextMenu,!0),window.addEventListener("keydown",this.onKeyPress,!0),window.addEventListener("keyup",this.onKeyPress,!0),this.props.onAllLoaded&&setTimeout(()=>{var e,t;(t=(e=this.props).onAllLoaded)==null||t.call(e)},100)}onKeyPress=e=>{e.type==="keydown"&&e.ctrlKey&&!this.ctrlPressed?(this.ctrlPressed=!0,this.tableRef.current&&(this.tableRef.current.className="highlight-link")):e.type==="keyup"&&!e.ctrlKey&&this.ctrlPressed&&(this.ctrlPressed=!1,this.tableRef.current&&(this.tableRef.current.className=""))};componentWillUnmount(){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=>{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 M=`${t}.`;for(let L=0;LM)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=>{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(Ae,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},a.createElement(fe,{id:"alert-dialog-title"},this.props.t("ra_Error")),a.createElement(_e,null,a.createElement(as,{id:"alert-dialog-description"},this.state.error)),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:a.createElement(We,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 a.createElement(_c,{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},a.createElement(ue,{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}),a.createElement(dt,{primary:this.texts[`filter_${i}`]||this.props.t(`ra_${i}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?a.createElement(Ae,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":m.getStyle(this.props.theme,z.dialogColumns,z[`transparent_${this.state.columnsDialogTransparent}`])}},a.createElement(fe,{sx:z.fontSizeTitle},this.props.t("ra_Configure")),a.createElement(_e,{sx:z.fontSizeTitle},a.createElement(V,{style:z.switchColumnAuto,control:a.createElement(br,{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(V,{style:z.switchColumnAuto,control:a.createElement(br,{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(V,{style:z.switchColumnAuto,control:a.createElement(br,{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(xc,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 a.createElement(_c,{onClick:()=>{if(!this.state.columnsAuto){const o=[...this.state.columns||[]],n=`_${e}_${i.path}`,M=o.indexOf(n);M===-1?(o.push(n),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}_${i.name}`},a.createElement(Xt,null,a.createElement(ue,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((r=this.state.columns)==null?void 0:r.includes(`_${e}_${i.path}`)),disableRipple:!0})),a.createElement(dt,{primary:`${i.name} (${e})`}))})}),this._renderDefinedList(!0))),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:a.createElement(we,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(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(M=>{if(typeof M!="object")return{path:M,name:M.split(".").pop()};const c=M;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:He(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(M=>M):n=null,n!=null&&n.length&&(e||={},e[t.common.name]=n.sort((M,c)=>M.path>c.path?-1:M.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}=G0(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.pausedSubscribes||this.doFilter()},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 M=this.objects[n];if((o=(r=M==null?void 0:M.common)==null?void 0:r.alias)!=null&&o.id)if(typeof M.common.alias.id=="string"){const c=M.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=M.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=M.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){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),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],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)))}clearFilter(){JSON.stringify(this.state.filter)!==JSON.stringify(Fs)&&this.setState({filter:{...Fs},filterKey:this.state.filterKey+1},()=>{var e,t;this.doFilter(),(t=(e=this.props).onFilterChanged)==null||t.call(e,{...Fs})})}isFilterEmpty(){var e,t,i,r,o;return!!this.state.filter.id||!!this.state.filter.name||!!((e=this.state.filter.room)!=null&&e.length)||!!((t=this.state.filter.func)!=null&&t.length)||!!((i=this.state.filter.role)!=null&&i.length)||!!((r=this.state.filter.type)!=null&&r.length)||!!((o=this.state.filter.custom)!=null&&o.length)}getFilterInput(e){return a.createElement(Q5e,{key:`${e}_${this.state.filterKey}`,styles:this.styles.filterInput,name:e,texts:this.texts,t:this.props.t,initialValue:this.state.filter[e],onChange:(t,i)=>{const r={...this.state.filter};i===void 0?delete r[t]:r[t]=i,this.setState({filter:r},()=>{var o,n;this.doFilter(),(n=(o=this.props).onFilterChanged)==null||n.call(o,r)})}})}getFilterSelect(e,t){return a.createElement(Y5e,{key:`${e}_${this.state.filterKey}`,name:e,texts:this.texts,initialValue:this.state.filter[e]||[],values:t,onChange:(i,r)=>{const o={...this.state.filter};r===void 0?delete o[i]:o[i]=r,this.setState({filter:o},()=>{var n,M;this.doFilter(),(M=(n=this.props).onFilterChanged)==null||M.call(n,o)})}})}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:He((r=(i=this.objects[t])==null?void 0:i.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:a.createElement(be,{src:((n=(o=this.objects[t])==null?void 0:o.common)==null?void 0:n.icon)||"",style:z.selectIcon})}});return this.getFilterSelect("room",e)}getFilterSelectFunction(){const e=this.info.funcEnums.map(t=>{var i,r,o,n;return{name:He((r=(i=this.objects[t])==null?void 0:i.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:a.createElement(be,{src:((n=(o=this.objects[t])==null?void 0:o.common)==null?void 0:n.icon)||"",style:z.selectIcon})}});return this.getFilterSelect("func",e)}getFilterSelectType(){const e=this.info.types.map(t=>({name:t,value:t,icon:Z0[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(be,{src:Eo(this.objects,t,this.props.lang,this.imagePrefix)||"",style:z.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&&(jr(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=_o.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 M={_id:this.objects[i]._id,common:JSON.parse(JSON.stringify(this.objects[i].common)),native:this.objects[i].native,type:"enum"};M.common&&(delete M.common.members,delete M.common.custom,delete M.common.mobile),t.push(M)}}),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){R0("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 M=await this.props.socket.getState(n);M&&(t[n].val=M.val,t[n].ack=M.ack)}if(t[n].common){const M=this.getEnumsForId(n);M&&(t[n].common.enums=M)}}R0(`${i}.json`,t,e)}renderExportDialog(){return this.state.showExportDialog===!1?null:a.createElement(Ae,{open:!0,maxWidth:"lg"},a.createElement(fe,null,this.props.t("ra_Select type of export")),a.createElement(_e,null,a.createElement(as,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(V,{control:a.createElement(ue,{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(V,{control:a.createElement(ue,{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(V,{control:a.createElement(ue,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:e=>this.setState({excludeSystemRepositoriesFromExport:e.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),a.createElement(V,{control:a.createElement(ue,{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(xe,null,this.state.filter.expertMode||this.state.showAllExportOptions?a.createElement(q,{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(q,{color:"grey",variant:"outlined",startIcon:a.createElement(Oa,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),a.createElement(q,{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(q,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:a.createElement(we,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})}async parseJsonFile(e){try{const t=JSON.parse(e),i=Object.keys(t).length,r=t._id;if(r===void 0&&i)await this.loadObjects(t),window.alert(this.props.t("ra_%s object(s) processed",i));else{if(!r)return window.alert(this.props.t("ra_Invalid structure"));try{let o,n,M;if(t.common.enums&&(o=t.common.enums,delete t.common.enums),t.val&&(n=t.val,delete t.val),t.ack!==void 0&&(M=t.ack,delete t.ack),await this.props.socket.setObject(t._id,t),t.type==="state")if(n!=null)await this.props.socket.setState(t._id,n,M===void 0?!0:M);else{const c=await this.props.socket.getState(t._id);(!c||c.val===null||c.val===void 0)&&await this.props.socket.setState(t._id,t.common.def===void 0?null:t.common.def,!0)}o&&await this._createAllEnums(o,t._id),window.alert(this.props.t("ra_%s was imported",t._id))}catch(o){window.alert(o)}}}catch(t){window.alert(t)}}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=n=>{var M;return this.parseJsonFile((M=n.target)==null?void 0:M.result),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=[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 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=[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(o.startsWith("alias.0")||o.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")};onOpenFile(){const e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",t=>this.handleJsonUpload(t),!1),e.click()}renderInputJsonDialog(){const e=this.props.objectBrowserInsertJsonObjects;return this.state.showImportDialog?a.createElement(e,{onClose:t=>{this.setState({showImportDialog:!1}),t&&this.parseJsonFile(t)},themeName:this.props.themeName,themeType:this.props.themeType,t:this.props.t}):null}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(Le,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:z.tooltip}}},a.createElement("div",null,a.createElement(W,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},a.createElement(EN,null)))),this.props.showExpertButton&&!this.props.expertMode&&a.createElement(Le,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>{const t={...this.state.filter};t.expertMode=!t.expertMode,this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(t)),this.setState({filter:t})},size:"large"},a.createElement(Oa,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&a.createElement(Le,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},a.createElement(dy,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&a.createElement(Le,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},a.createElement(uo,null))),a.createElement(Le,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},a.createElement(Ti,null))),this.props.width!=="xs"&&a.createElement(Le,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},a.createElement(Sc,{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(uo,null)))),this.props.width!=="xs"&&a.createElement(Le,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},a.createElement(Sc,{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(Ti,null)))),this.props.objectStatesView&&a.createElement(Le,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>this.onStatesViewVisible(),size:"large"},a.createElement(ay,{color:this.state.statesView?"primary":"inherit"}))),a.createElement(Le,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},a.createElement(Ly,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?a.createElement(Le,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:z.tooltip}}},a.createElement("div",null,a.createElement(W,{disabled:!e,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},a.createElement(Kn,null)))):null,this.props.objectImportExport&&a.createElement(Le,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:t=>{this.props.objectBrowserInsertJsonObjects?this.setState({showImportMenu:t.currentTarget}):this.onOpenFile()},size:"large"},a.createElement(Lo,null))),this.props.objectBrowserInsertJsonObjects?a.createElement(ws,{anchorEl:this.state.showImportMenu,open:!!this.state.showImportMenu,onClose:()=>this.setState({showImportMenu:null})},a.createElement(re,{onClick:()=>this.setState({showImportMenu:null},()=>this.onOpenFile())},a.createElement(Xt,null,a.createElement(gy,null)),a.createElement(dt,null,this.props.t("ra_From file"))),a.createElement(re,{onClick:()=>this.setState({showImportMenu:null,showImportDialog:!0})},a.createElement(Xt,null,a.createElement(Fj,null)),a.createElement(dt,null,this.props.t("ra_From text")))):null,this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&a.createElement(Le,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},a.createElement(Lo,{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(Le,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>{var i;const t=this.root?ag(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"},a.createElement(Wj,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&&(m.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((M,c)=>{n&M.valueNum&&i.push(a.createElement("span",{key:o+c},this.texts[`acl${M.group}_${M.title}_${o}`],",",a.createElement("span",{style:o==="object"?z.rightsObject:z.rightsState},M.value)))})};return i.push(a.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(e.ownerGroup||"").replace("system.group.","")}`)),i.push(a.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(e.owner||"").replace("system.user.","")}`)),r("object"),e.state&&r("state"),i.length?a.createElement("span",{style:z.tooltipAccessControl},i.map(o=>o)):null};renderColumnButtons(e,t){var n,M,c,l;if(!t.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?a.createElement("div",{style:z.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?a.createElement(W,{sx:{...z.cellButtonsButton,...z.cellButtonsEmptyButton,...z.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},a.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&((n=t.children)!=null&&n.length)?a.createElement(W,{sx:{...z.cellButtonsButton,...z.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 j=0;jL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((g=t.children)!=null&&g.length),!1,u+1)}},a.createElement(wt,{style:z.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||V0(t.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?a.createElement(Le,{key:"acl",title:t.data.aclTooltip,slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{sx:{...z.cellButtonsButton,...z.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},a.createElement("div",{style:z.aclText},Number.isNaN(Number(i))?Number(r).toString(16):Number(i).toString(16)))):a.createElement("div",{key:"aclEmpty",style:z.cellButtonMinWidth}),o?a.createElement(W,{key:"edit",sx:{marginRight:"2px",...z.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(or,{style:z.cellButtonsButtonIcon})):a.createElement(J,{component:"div",key:"editDisabled",sx:z.cellButtonsButton}),this.props.onObjectDelete&&((M=t.children)!=null&&M.length||!((c=t.data.obj.common)!=null&&c.dontDelete))?a.createElement(W,{key:"delete",sx:z.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var g,j,y;const N=Object.keys(this.objects);N.sort();let u=0;const L=`${e}.`;for(let T=0;TL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((g=t.children)!=null&&g.length),!((y=(j=t.data.obj)==null?void 0:j.common)!=null&&y.dontDelete),u)},title:this.texts.deleteObject},a.createElement(wt,{style:z.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&t.data.obj.type==="state"&&((l=t.data.obj.common)==null?void 0:l.type)!=="file"?a.createElement(W,{sx:{...z.cellButtonsButton,...t.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:z.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(qn,{style:z.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 M=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}=Pn({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}),M=[];o==null||o.forEach(L=>{L.t===this.texts.quality&&r.q?(M.push(a.createElement("div",{style:z.cellValueTooltipBoth,key:L.t},L.t,": ",L.v)),L.nbr||M.push(a.createElement("br",{key:`${L.t}_br`}))):(M.push(a.createElement("div",{style:z.cellValueTooltipTitle,key:L.t},L.t,": ")),M.push(a.createElement("div",{style:z.cellValueTooltipValue,key:`${L.t}_v`},L.v)),L.nbr||M.push(a.createElement("br",{key:`${L.t}_br`})))});const c=((l=i==null?void 0:i.common)==null?void 0:l.role)||"";n==="image"?M.push(a.createElement("img",{style:z.cellValueTooltipImage,src:r.val,alt:e})):c==="url"||i.common.role==="url.self"||i.common.role==="url.blank"?M.unshift(a.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])&&M.push(a.createElement("svg",{key:"sparkline",className:"sparkline","data-id":e,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:M,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 a.createElement(J,{component:"div",sx:{...z.cellValueText,...z.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}=Pn({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(a.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(a.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:z.cellValueTextUnit,key:`${N.v.toString()}unit`},N.u)),N.s!==void 0&&u.push(a.createElement("span",{style:z.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(a.createElement(Bs,{className:"copyButton",style:this.styles.iconCopy,onClick:g=>this.onCopy(g,L),key:"cc"}))}n=t.data.state}n.style=U5e({state:o,isExpertMode:this.state.filter.expertMode,isButton:t.data.button});let M=n.valTextRx;return this.state.filter.expertMode||(t.data.button?M=[a.createElement(S5e,{key:"button",style:{color:n.style.color,...z.cellValueButton}})]:t.data.switch&&(M=[a.createElement(br,{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})])),a.createElement(Le,{key:"value",title:(l=this.state.tooltipInfo)==null?void 0:l.el,slotProps:{popper:{sx:z.cellValueTooltipBox},tooltip:{sx:z.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})}},a.createElement(J,{component:"div",style:n.style,className:t.data.url?"iob-link":void 0,sx:{...z.cellValueText,height:i?void 0:$e,"& .admin-button:active":{transform:"translate(0, 2px)"}}},M))}_syncEnum(e,t,i,r){var M,c,l;if(!(t!=null&&t.length)){r&&r();return}const o=t.pop()||"",n=[];if((M=this.info.objects[o])!=null&&M.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 M,c;return{name:He(((c=(M=this.objects[n])==null?void 0:M.common)==null?void 0:c.name)||n.split(".").pop()||"",this.props.lang),value:n,icon:Eo(this.objects,n,this.props.lang,this.imagePrefix)}}).sort((n,M)=>n.name>M.name?1:-1);return o.forEach(n=>{n.icon&&typeof n.icon=="string"&&(n.icon=a.createElement(J,{style:z.enumIconDiv},a.createElement("img",{src:n.icon,style:z.enumIcon,alt:n.name})))}),a.createElement(Ae,{sx:{"& .MuiPaper-root":z.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},a.createElement(fe,{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(bt,{color:"primary",disabled:r===JSON.stringify(i),size:"small",onClick:()=>this.syncEnum(t.data.id,e,i).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},a.createElement(We,null))),a.createElement(xc,{sx:{"&.MuiList-root":z.enumList}},o.map(n=>{let M,c,l;typeof n=="object"?(M=n.value,c=n.name,l=n.icon):(M=n,c=n);const N=`checkbox-list-label-${M}`;return a.createElement(Gg,{sx:z.headerCellSelectItem,key:M,onClick:()=>{const u=i.indexOf(M),L=JSON.parse(JSON.stringify(this.state.enumDialogEnums));u===-1?(L.push(M),L.sort()):L.splice(u,1),this.setState({enumDialogEnums:L})},secondaryAction:l},a.createElement(Xt,{sx:{"&.MuiListItemIcon-root":z.enumCheckbox}},a.createElement(ue,{edge:"start",checked:i.includes(M),tabIndex:-1,disableRipple:!0,slotProps:{input:{"aria-labelledby":N}}})),a.createElement(dt,{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 a.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 M;if(n&&P5e(n,(M=this.state.columnsEditCustomDialog)==null?void 0:M.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=H0(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(Ae,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},a.createElement(fe,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),a.createElement(_e,null,a.createElement(as,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?a.createElement(V,{control:a.createElement(ue,{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})`}):a.createElement(Te,{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}))),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:a.createElement(We,null)},this.props.t("ra_Update")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:a.createElement(we,null)},this.props.t("ra_Cancel"))))}renderCustomValue(e,t,i){const r=H0(e,t);return r!=null?t.edit&&!this.props.notEditable&&(!t.objTypes||t.objTypes.includes(e.type))?a.createElement(J,{component:"div",style:{...z.columnCustom,...z.columnCustomEditable,...z[`columnCustom_${t.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:i,it:t,obj:e},customColumnDialogValueChanged:!1})},r):a.createElement(J,{component:"div",style:{...z.columnCustom,...z[`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?a.createElement(J,{component:"div",onClick:n=>{n.stopPropagation(),n.preventDefault();const M=this.info.aliasesMap[e][r];this.info.aliasesMap[e].length>1&&this.setState({aliasMenu:""}),this.onSelect(M),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(M)),100)},sx:i||this.styles.aliasAlone},a.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 bi,Ui,$i,Yr,Qr,dc,hc,zc,wc,Ic,Cc,pc,Ac,mc;const r=e.data.id;i.count++,t=t===void 0?this.state.expanded.includes(r):t;let o;const n=e.data.obj,M=n==null?void 0:n.type;e.children||M==="folder"||M==="device"||M==="channel"||M==="meta"?o=t?a.createElement(uo,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):a.createElement(Ti,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):n&&n.common&&n.common.write===!1&&n.type==="state"?o=a.createElement(p5e,{style:this.styles.cellIdIconDocument}):o=a.createElement(C5e,{style:this.styles.cellIdIconDocument});let c=null;e.data.icon&&(typeof e.data.icon=="string"?e.data.icon.length<3?c=a.createElement("span",{className:"iconOwn",style:z.cellIdIconOwn},e.data.icon):c=a.createElement(be,{style:z.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)&&Z0[n.type]||a.createElement("div",{className:"itemIcon"}),u=this.levelPadding*(e.data.level||0);if(e.data.lang!==this.props.lang){const{rooms:v,per:ie}=ug(this.info,r,this.props.lang);e.data.rooms=v.join(", "),e.data.per=ie;const{funcs:Je,pef:Oe}=lg(this.info,r,this.props.lang);e.data.funcs=Je.join(", "),e.data.pef=Oe,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))?a.createElement(ue,{style:z.checkBox,checked:this.state.selected.includes(r)}):null;let g=!this.props.notEditable&&M==="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 j=!this.props.notEditable&&this.objects[r]&&(this.state.filter.expertMode||M==="state"||M==="channel"||M==="device"),y=this.state.statesView&&(M==="state"||M==="channel"||M==="device");let T="";const d=[];if(y&&(T=(bi=this.states[r])==null?void 0:bi.from,T===void 0?T=" ":(T=T?T.replace(/^system\.adapter\.|^system\./,""):"",d.push(`${this.texts.stateChangedFrom} ${T}`)),n!=null&&n.user)){const v=n.user.replace("system.user.","");T+=`/${v}`,d.push(`${this.texts.stateChangedBy} ${v}`)}n&&(n.from&&d.push(`${this.texts.objectChangedFrom} ${n.from.replace(/^system\.adapter\.|^system\./,"")}`),n.user&&d.push(`${this.texts.objectChangedBy} ${n.user.replace(/^system\.user\./,"")}`),n.ts&&d.push(`${this.texts.objectChangedByUser} ${m.formatDate(new Date(n.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let I=!1,w=null;r.startsWith("alias.")&&((Ui=l==null?void 0:l.alias)!=null&&Ui.id)?(I=typeof l.alias.id=="object",I?w=a.createElement("div",{style:z.cellIdAliasReadWriteDiv},l.alias.id.read?a.createElement(J,{component:"div",onClick:v=>{v.stopPropagation(),v.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?a.createElement(J,{component:"div",onClick:v=>{v.stopPropagation(),v.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):w=a.createElement(J,{component:"div",onClick:v=>{v.stopPropagation(),v.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?w=a.createElement(J,{component:"div",id:`alias_${r}`,onClick:v=>{v.stopPropagation(),v.preventDefault(),this.setState({aliasMenu:r})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[r].length)):w=this.renderAliasLink(r,0));let A=l==null?void 0:l.color,p;if(A&&!this.state.selected.includes(r)){const v=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";m.colorDistance(A,v)<1e3&&(p=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let h=!1;r==="0_userdata"?(A=ig(this.props.themeType),h=!0):r==="alias"?(A=rg(this.props.themeType),h=!0):r==="javascript"?(A=_5e(this.props.themeType),h=!0):r==="system"?(A=og(this.props.themeType),h=!0):r==="system.adapter"?A=ng(this.props.themeType):(!A||this.state.selected.includes(r))&&(A="inherit");const C=[];if(l!=null&&l.statusStates){const v={};Object.keys(l.statusStates).forEach(Je=>{var Tt;let Oe=l.statusStates[Je];Oe.split(".").length<3&&(Oe=`${r}.${Oe}`),v[Je]=Oe,this.states[Oe]?this.recordStates.includes(Oe)||this.recordStates.push(Oe):((Tt=this.objects[Oe])==null?void 0:Tt.type)==="state"&&(this.recordStates.includes(Oe)||this.recordStates.push(Oe),this.states[Oe]={val:null},this.subscribe(Oe))});let ie=!1;l.statusStates.errorId&&this.states[v.errorId]&&this.states[v.errorId].val&&(A=this.props.themeType==="dark"?Ng:Lg,ie=!0,C.push(a.createElement(Zj,{key:"error",style:this.styles.iconDeviceError}))),v.onlineId&&this.states[v.onlineId]?ie?this.states[v.onlineId].val?C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected})):C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[v.onlineId].val?(A=this.props.themeType==="dark"?Sa:ka,C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected}))):(A=this.props.themeType==="dark"?va:Ya,C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected}))):v.offlineId&&this.states[v.offlineId]&&(ie?this.states[v.offlineId].val?C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected})):C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[v.offlineId].val?(A=this.props.themeType==="dark"?va:Ya,C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(A=this.props.themeType==="dark"?Sa:ka,C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected}))))}const E=y?m.quality2text((($i=this.states[r])==null?void 0:$i.q)||0).join(", "):null;let O=((Yr=e.data)==null?void 0:Yr.title)||"",b=!1;if(this.state.showDescription){const v=Mg(e.data,this.props.lang);v&&(O=[a.createElement("div",{key:"name",style:z.cellNameDivDiv},O),a.createElement("div",{key:"desc",style:z.cellDescription},v)],b=!!v)}const k=this.props.width==="xs"&&this.state.focused===r,K=a.createElement(ts,{container:!0,wrap:"nowrap",direction:"row",sx:z.cellId,style:{width:this.columnsVisibility.id,paddingLeft:u}},a.createElement(ts,{container:!0,alignItems:"center"},L,o),a.createElement(ts,{style:{...z.cellIdSpan,...p?this.styles.invertedBackground:void 0,color:A,fontWeight:h?"bold":void 0}},a.createElement(Le,{title:b5e(e.data,this.props.lang),slotProps:{popper:{sx:z.tooltip}}},a.createElement("div",null,e.data.name)),w,C),a.createElement("div",{style:{...z.grow,...p?this.styles.invertedBackgroundFlex:{}}}),a.createElement(ts,{container:!0,alignItems:"center"},c),this.props.width!=="xs"?a.createElement("div",null,a.createElement(Bs,{className:k?"":"copyButton",style:z.cellCopyButton,onClick:v=>this.onCopy(v,r)})):null);let x=k&&O||this.columnsVisibility.name?a.createElement(J,{component:"div",sx:{...z.cellName,...b?z.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:k?0:"5px"}},O,!k&&((Qr=e.data)!=null&&Qr.title)?a.createElement(J,{style:{color:A}},a.createElement(Bs,{className:"copyButton",style:z.cellCopyButton,onClick:v=>{var ie;return this.onCopy(v,(ie=e.data)==null?void 0:ie.title)}})):null):null,S;this.state.statesView?S=[k&&y&&((dc=this.states[r])!=null&&dc.from)||this.columnsVisibility.changedFrom?{el:a.createElement("div",{key:"from",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:d.join(` -`)},y&&((hc=this.states[r])!=null&&hc.from)?T:null),type:"from"}:null,k&&E||this.columnsVisibility.qualityCode?{el:a.createElement("div",{key:"q",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:E||""},E),type:"quality"}:null,k&&y&&((zc=this.states[r])!=null&&zc.ts)||this.columnsVisibility.timestamp?{el:a.createElement("div",{key:"ts",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},y&&((wc=this.states[r])!=null&&wc.ts)?m.formatDate(new Date(this.states[r].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,k&&y&&((Ic=this.states[r])!=null&&Ic.lc)||this.columnsVisibility.lastChange?{el:a.createElement("div",{key:"lc",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},y&&((Cc=this.states[r])!=null&&Cc.lc)?m.formatDate(new Date(this.states[r].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:S=[k&&(n!=null&&n.type)||this.columnsVisibility.type?{el:a.createElement("div",{key:"type",style:{...z.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},N," ",n==null?void 0:n.type),type:"filter_type"}:null,k&&l||this.columnsVisibility.role?{el:a.createElement("div",{key:"role",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&j&&this.props.objectBrowserEditRole?"text":"default"},onClick:!k&&this.state.filter.expertMode&&j&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0},l==null?void 0:l.role),type:"filter_role",onClick:k&&this.state.filter.expertMode&&j&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0}:null,k&&l||this.columnsVisibility.room?{el:a.createElement("div",{key:"room",style:{...z.cellRoom,...e.data.per?z.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:j?"text":"default"},onClick:!k&&j?()=>{const v=Rs(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(v)}})}:void 0},e.data.rooms),type:"filter_room",onClick:k&&j?()=>{const v=Rs(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(v)}})}:void 0}:null,k&&l||this.columnsVisibility.func?{el:a.createElement("div",{key:"func",style:{...z.cellFunc,...e.data.pef?z.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:j?"text":"default"},onClick:!k&&j?()=>{const v=Rs(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(v)}})}:void 0},e.data.funcs),type:"filter_func",onClick:k&&j?()=>{const v=Rs(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(v)}})}:void 0}:null];let R=((pc=this.adapterColumns)==null?void 0:pc.map(v=>a.createElement("div",{style:{...z.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[v.id]:void 0},key:v.id,title:`${v.adapter} => ${v.pathText}`},n?this.renderCustomValue(n,v,e):null)))||null;const he=k||this.columnsVisibility.val?this.renderColumnValue(r,e,k):null;let Xe=k&&he||this.columnsVisibility.val?a.createElement("div",{style:{...z.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:g?(l==null?void 0:l.type)==="file"?"zoom-in":e.data.button?"grab":"text":"default"},onClick:v=>{var ie,Je,Oe;if(g){if(!(!n||!this.states))if((l==null?void 0:l.type)==="file")this.setState({viewFileDialog:r});else if(e.data.url&&v.ctrlKey){if((ie=this.states[r])!=null&&ie.val&&typeof this.states[r].val=="string")if((l==null?void 0:l.role)==="url.self")window.location.href=this.states[r].val;else{const Tt=window.open(this.states[r].val,"_blank");Tt==null||Tt.focus()}}else!this.state.filter.expertMode&&e.data.button?this.props.socket.setState(r,!0).catch(Tt=>window.alert(`Cannot write state "${r}": ${Tt}`)):!this.state.filter.expertMode&&e.data.switch?this.props.socket.setState(r,!this.states[r].val).catch(Tt=>window.alert(`Cannot write state "${r}": ${Tt}`)):(this.edit={val:this.states[r]?this.states[r].val:"",q:this.states[r]&&this.states[r].q||0,ack:!1,id:r},this.setState({updateOpened:!0}))}else(l==null?void 0:l.role)==="url"||(l==null?void 0:l.role)==="url.blank"&&v.ctrlKey?(Je=this.states[r])!=null&&Je.val&&typeof this.states[r].val=="string"&&window.open(this.states[r].val,"_blank"):(l==null?void 0:l.role)==="url.self"&&v.ctrlKey&&(Oe=this.states[r])!=null&&Oe.val&&typeof this.states[r].val=="string"&&(window.location.href=this.states[r].val)}},he):null,ct=k||this.columnsVisibility.buttons?a.createElement("div",{style:{...z.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(r,e)):null,bs=null;if(this.props.width==="xs"&&this.state.focused===r){S=S.filter(ie=>ie);let v;S.length?v=S.map(ie=>ie?a.createElement("div",{key:ie.type,style:z.cellDetailsLine},a.createElement("span",{style:z.cellDetailsName},this.texts[ie.type],":"),ie.el,a.createElement("div",{style:{flexGrow:1}}),ie.onClick?a.createElement(or,{style:z.cellCopyButtonInDetails,onClick:()=>{ie!=null&&ie.onClick&&ie.onClick()}}):null):null):v=null,R.length||(R=null),bs=a.createElement(pN,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},a.createElement("div",{style:z.cellDetailsLine},a.createElement("div",{style:{flexGrow:1}}),a.createElement(Bs,{style:z.cellCopyButtonInDetails,onClick:ie=>this.onCopy(ie,r)})),x&&a.createElement("div",{style:z.cellDetailsLine},a.createElement("span",{style:z.cellDetailsName},this.texts.name,":"),x,a.createElement("div",{style:{flexGrow:1}}),(Ac=e.data)!=null&&Ac.title?a.createElement(Bs,{className:"copyButton",style:z.cellCopyButtonInDetails,onClick:ie=>{var Je;return this.onCopy(ie,(Je=e.data)==null?void 0:Je.title)}}):null),v,R&&a.createElement("div",{style:z.cellDetailsLine},R),((mc=this.objects[r])==null?void 0:mc.type)==="state"&&a.createElement("div",{style:z.cellDetailsLine},a.createElement("span",{style:z.cellDetailsName},this.texts.value,":"),Xe,a.createElement("div",{style:{flexGrow:1}}),a.createElement(Bs,{className:"copyButton",style:z.cellCopyButtonInDetails,onClick:ie=>{const{valText:Je}=Pn({state:this.states[r],obj:this.objects[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});this.onCopy(ie,Je.c!==void 0?Je.c:Je.v.toString())},key:"cc"})),ct&&a.createElement("div",{style:{...z.cellDetailsLine,justifyContent:"right"}},ct)),x=null,S=null,R=null,Xe=null,ct=null}return{row:a.createElement(ts,{container:!0,direction:"row",wrap:"nowrap",sx:m.getStyle(this.props.theme,z.tableRow,this.state.linesEnabled&&z.tableRowLines,!this.props.dragEnabled&&z.tableRowNoDragging,w&&z.tableRowAlias,I&&z.tableRowAliasReadWrite,this.state.focused===r&&this.props.multiSelect&&z.tableRowFocused,!e.data.visible&&z.filteredOut,e.data.hasVisibleParent&&!e.data.visible&&!e.data.hasVisibleChildren&&z.filteredParentOut,this.state.selected.includes(r)&&z.itemSelected,this.state.selectedNonObject===r&&z.itemSelected),key:r,id:r,onMouseDown:v=>{this.onSelect(r);let ie;"which"in v?ie=v.which===3:"button"in v&&(ie=v.button===2),ie?this.contextMenu={item:e,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{e.children?this.toggleExpanded(r):this.onSelect(r,!0)}},K,x,S==null?void 0:S.map(v=>v==null?void 0:v.el),R,Xe,ct),details:bs}}renderItem(e,t,i){const r=[];i=i||{count:0};const o=this.renderLeaf(e,t,i);let n;const M=this.props.DragWrapper;return this.props.dragEnabled&&M?e.data.sumVisibility?n=a.createElement(M,{key:e.data.id,item:e,style:z.draggable},o.row):n=a.createElement("div",{key:e.data.id,style:z.nonDraggable},o.row):n=o.row,e.data.id&&n&&r.push(n),o.details&&r.push(o.details),t=t===void 0?jr(this.state.expanded,e.data.id):t,(!e.data.id||t)&&(this.state.foldersFirst?e.children&&(r.push(e.children.map(c=>c.children&&(!this.state.columnsSelectorShow||i.count<15)&&c.data.sumVisibility?this.renderItem(c,void 0,i):null)),r.push(e.children.map(c=>!c.children&&(!this.state.columnsSelectorShow||i.count<15)&&c.data.sumVisibility?this.renderItem(c,void 0,i):null))):e.children&&r.push(e.children.map(c=>(!this.state.columnsSelectorShow||i.count<15)&&c.data.sumVisibility?this.renderItem(c,void 0,i):null))),r}calculateColumnsVisibility(e,t,i,r){let o=r||this.state.columnsWidths;const n=i||this.state.columnsForAdmin,M=t||this.state.columns||[],c=typeof e!="boolean"?this.state.columnsAuto:e;o=JSON.parse(JSON.stringify(o)),Object.keys(o).forEach(N=>{o[N]&&(o[N]=parseInt(o[N],10)||0)}),this.adapterColumns=[];const l=ze[this.props.width||"lg"].widths;if(c){if(this.columnsVisibility={id:ze[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&l.name||0,nameHeader:this.visibleCols.includes("name")&&l.name||0,type:this.visibleCols.includes("type")&&l.type||0,role:this.visibleCols.includes("role")&&l.role||0,room:this.visibleCols.includes("room")&&l.room||0,func:this.visibleCols.includes("func")&&l.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&l.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&l.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&l.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&l.lastChange||0,val:this.visibleCols.includes("val")&&l.val||0,buttons:this.visibleCols.includes("buttons")&&l.buttons||0},this.columnsVisibility.name&&!this.customWidth){let N=this.columnsVisibility.id||0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${N+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${N+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let N=0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${N+5}px)`}}else{const N=this.props.width||"lg";this.columnsVisibility={id:o.id||ze[N].idWidth,name:M.includes("name")&&(o.name||l.name||ze[N].widths.name)||0,type:M.includes("type")&&(o.type||l.type||ze[N].widths.type)||0,role:M.includes("role")&&(o.role||l.role||ze[N].widths.role)||0,room:M.includes("room")&&(o.room||l.room||ze[N].widths.room)||0,func:M.includes("func")&&(o.func||l.func||ze[N].widths.func)||0};let u=this.columnsVisibility.id;if(this.columnsVisibility.name&&(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),n&&M&&Object.keys(n).sort().forEach(L=>n[L].forEach(g=>{const j=`_${L}_${g.path}`;if(M.includes(j)){const y={adapter:L,id:`_${L}_${g.path}`,name:g.name,path:g.path.split("."),pathText:g.path};g.edit&&(y.edit=!0,g.type&&(y.type=g.type),g.objTypes&&(y.objTypes=g.objTypes)),this.adapterColumns.push(y),this.columnsVisibility[j]=o[y.id]||g.width||ze[N].widths.func||ze.xl.widths.func||0,u+=this.columnsVisibility[j]}else this.columnsVisibility[j]=0})),this.adapterColumns.sort((L,g)=>L.id>g.id?-1:L.idj==="id"||typeof this.columnsVisibility[j]=="string"||!this.columnsVisibility[j]?g:g+this.columnsVisibility[j],0);this.columnsVisibility.id=`calc(100% - ${L}px)`}}}resizerMouseMove=e=>{if(this.resizerActiveDiv){let t,i;this.resizeLeft?(t=this.resizerOldWidth-e.clientX+this.resizerPosition,i=this.resizerOldWidthNext+e.clientX-this.resizerPosition):(t=this.resizerOldWidth+e.clientX-this.resizerPosition,i=this.resizerOldWidthNext-e.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||t>this.resizerMin)&&(!this.resizerNextMin||i>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=t,this.resizerCurrentWidths[this.resizerNextName]=i,this.resizerActiveDiv.style.width=`${t}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${i}px`),this.columnsVisibility[this.resizerActiveName]=t,this.columnsVisibility[this.resizerNextName]=i,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=i-this.state.scrollBarWidth,this.resizerCurrentWidths.name=i-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(ze[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 i=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!i&&t<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,i=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),t++;(i==null?void 0:i.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 i,r;const t=this.state.selectedNonObject||this.state.selected[0];if(t){if(e.code==="ArrowUp"||e.code==="ArrowDown"){e.preventDefault();const o=[];(i=this.tableRef.current)==null||i.childNodes.forEach(l=>o.push(l.id));const n=o.indexOf(t),M=e.code==="ArrowDown"?n+1:n-1,c=o[M]||t;this.onSelect(c),this.scrollToItem(c)}if((e.code==="ArrowRight"||e.code==="ArrowLeft")&&this.toggleExpanded(t),e.code==="Delete"&&this.root&&t){const o=_o.getItemFromRoot(this.root,t);if(o){const{obj:n}=o.data;n&&!((r=n.common)!=null&&r.dontDelete)&&this.showDeleteDialog({id:t,obj:n,item:o})}}}}static getItemFromRoot(e,t){const i=t.split(".");let r="",o=e;for(let n=0;n{this.customWidth=!1,ze[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(J,{component:"div",className:"iob-ob-resize-handler",sx:{...z.resizeHandle,...z.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(W,{onClick:()=>this.clearFilter(),style:z.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},a.createElement(m5e,null),a.createElement(we,{style:z.buttonClearFilterIcon}))),this.props.width==="xs"?a.createElement("div",{style:z.headerRow},a.createElement("div",{style:{...z.headerCell,width:"100%"}},this.getFilterInput("id"))):a.createElement("div",{style:z.headerRow},a.createElement("div",{style:{...z.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:{...z.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:{...z.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:{...z.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:{...z.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:{...z.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:{...z.headerCell,...z.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:{...z.headerCell,...z.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:{...z.headerCell,...z.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),a.createElement("div",{style:{...z.headerCell,...z.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:{...z.headerCell,...z.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:{...z.headerCell,...z.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:{...z.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return a.createElement(Zn,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:a.createElement(W,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},a.createElement(we,{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(i=>this.showError(`Cannot write object: ${i}`)),onClose:t=>{var i,r;if(t){let o;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((i=this.objects[this.state.editObjectDialog].common)==null?void 0:i.alias)!==JSON.stringify((r=t.common)==null?void 0:r.alias)&&(o=this.state.editObjectDialog),this.props.socket.setObject(t._id,t).then(()=>{o&&this.subscribes.includes(o)&&(this.unsubscribe(o),setTimeout(()=>this.subscribe(o),100))}).catch(n=>this.showError(`Cannot write object: ${n}`))}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,i)=>setTimeout(()=>this.onSelect(t,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(t),setTimeout(()=>this.setState({editObjectDialog:t,showAliasEditor:"",editObjectAlias:!0}),300)})),i||0)})}showAddDataPointDialog(e,t,i){this.setState({showContextMenu:null,modalNewObj:{id:e,initialType:t,initialStateType:i}})}renderAliasMenu(){return this.state.aliasMenu?a.createElement(ws,{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(re,{key:e,onClick:()=>this.onSelect(e)},a.createElement(dt,null,this.renderAliasLink(this.state.aliasMenu,t,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var L,g,j,y,T,d,I;if(!this.state.showContextMenu)return null;const e=this.state.showContextMenu.item,t=e.data.id,i=[],r=e.data.obj;let o="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!r)o="---";else{const w=r.acl?r.type==="state"?r.acl.state:r.acl.object:0,A=r.acl&&(r.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);o=Number.isNaN(Number(w))?Number(A).toString(16):Number(w).toString(16)}const n=!this.props.notEditable&&r&&(this.state.filter.expertMode||r.type==="state"||r.type==="channel"||r.type==="device"),M=!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",c=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="device"||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",N=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",u={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&r&&(this.state.filter.expertMode||V0(t))),icon:a.createElement(or,{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&&r&&r.type==="state"&&((L=r.common)==null?void 0:L.type)!=="file"&&(this.state.filter.expertMode||r.common.write!==!1)),icon:a.createElement(sy,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{var w;this.edit={val:this.states[t]?this.states[t].val:"",q:((w=this.states[t])==null?void 0:w.q)||0,ack:!1,id:t},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(r==null?void 0:r.type)==="state"&&((g=r.common)==null?void 0:g.type)==="file",icon:a.createElement(Kj,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(r==null?void 0:r._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&r&&r.type==="state"&&((j=r.common)==null?void 0:j.type)!=="file"),icon:a.createElement(qn,{fontSize:"small",style:e.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:z.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var w;this.pauseSubscribe(!0),(w=this.props.router)==null||w.doNavigate(null,"customs",t),this.setState({customDialog:[t],showContextMenu:null})}},ACL:{key:"3",visibility:!!o,icon:o,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&&n&&this.props.objectBrowserEditRole),icon:a.createElement(bj,{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:!!n,icon:a.createElement(vj,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const w=Rs(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!n,icon:a.createElement(Rj,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const w=Rs(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(r==null?void 0:r.type)==="state"&&((y=r.common)==null?void 0:y.type)!=="file"),icon:a.createElement(xN,{style:(T=r==null?void 0:r.common)!=null&&T.alias?this.styles.cellButtonsButtonWithCustoms:z.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 w;(w=r==null?void 0:r.common)!=null&&w.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."))&&(M||c||l||N),icon:a.createElement(Kn,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:z.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","number")},{label:this.texts.createStringState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","string")},{label:this.texts.createState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state")},{label:this.texts.createChannel,visibility:c,icon:a.createElement(tg,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"channel")},{label:this.texts.createDevice,visibility:l,icon:a.createElement(sg,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"device")},{label:this.texts.createFolder,icon:a.createElement(mN,{fontSize:"small"}),visibility:N,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(Vj,null),label:this.props.t("ra_Rename_Move_Copy"),onClick:()=>{const w=Object.keys(this.objects),A=`${e.data.id}.`;this.setState({showContextMenu:null,showRenameDialog:{id:e.data.id,childrenIds:w.filter(p=>p.startsWith(A))}})}},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((d=e.children)!=null&&d.length||r&&!((I=r.common)!=null&&I.dontDelete))),icon:a.createElement(wt,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:t,obj:r||{},item:e}))}};return Object.keys(u).forEach(w=>{var A,p;u[w].visibility&&(u[w].subMenu?(i.push(a.createElement(re,{key:w,href:"",onClick:h=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:w,subAnchor:h.target}}),style:u[w].style},a.createElement(Xt,{style:{...u[w].iconStyle,...u[w].listItemIconStyle}},u[w].icon),a.createElement(dt,null,u[w].label,"..."),a.createElement("div",{style:{...z.contextMenuKeys,opacity:1}},a.createElement(Sj,null)))),((A=this.state.showContextMenu)==null?void 0:A.subItem)===w&&i.push(a.createElement(ws,{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=u[w].subMenu)==null?void 0:p.map(h=>h.visibility?a.createElement(re,{key:h.label,onClick:h.onClick,style:h.style},a.createElement(Xt,{style:{...h.iconStyle,...h.listItemIconStyle||void 0}},h.icon),a.createElement(dt,null,h.label)):null)))):i.push(a.createElement(re,{key:w,onClick:u[w].onClick,sx:u[w].style},a.createElement(Xt,{style:{...u[w].iconStyle,...u[w].listItemIconStyle}},u[w].icon),a.createElement(dt,null,u[w].label),u[w].key?a.createElement("div",{style:z.contextMenuKeys},`Alt+${u[w].key==="Delete"?this.props.t("ra_Del"):u[w].key}`):null)))}),i.length?a.createElement(ws,{key:"contextMenu",open:!0,onKeyUp:w=>{w.preventDefault(),w.altKey&&Object.keys(u).forEach(A=>{w.key===u[A].key&&u[A].onClick&&u[A].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},i):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var r;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=(r=this.objects[this.edit.id].common)!=null&&r.type?this.objects[this.edit.id].common.type:typeof this.edit.val,t=this.objects[this.edit.id].common.role,i=this.props.objectBrowserValue;return a.createElement(i,{t:this.props.t,lang:this.props.lang,type:e,role:t||"",states:m.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:o=>{this.setState({updateOpened:!1}),o&&this.onUpdate(o)},width:this.props.width})}doFilter(e){if(!this.objects||!this.root)return;e||this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(this.state.filter));const t={count:0};xa(this.root,this.state.filter,this.props.lang,this.objects,void 0,t,this.props.customFilter,this.props.types),t.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):t.count>=500&&this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!1})):this.forceUpdate()}render(){if(this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:m.getStyle(this.props.theme,z.cellIdIconFolder),cellIdIconDocument:m.getStyle(this.props.theme,z.cellIdIconDocument),iconDeviceError:m.getStyle(this.props.theme,z.iconDeviceError),iconDeviceConnected:m.getStyle(this.props.theme,z.iconDeviceConnected),iconDeviceDisconnected:m.getStyle(this.props.theme,z.iconDeviceDisconnected),cellButtonsButtonWithCustoms:m.getStyle(this.props.theme,z.cellButtonsButtonWithCustoms),invertedBackground:m.getStyle(this.props.theme,z.invertedBackground),invertedBackgroundFlex:m.getStyle(this.props.theme,z.invertedBackgroundFlex),contextMenuEdit:m.getStyle(this.props.theme,z.contextMenuEdit),contextMenuEditValue:m.getStyle(this.props.theme,z.contextMenuEditValue),contextMenuView:m.getStyle(this.props.theme,z.contextMenuView),contextMenuCustom:m.getStyle(this.props.theme,z.contextMenuCustom),contextMenuACL:m.getStyle(this.props.theme,z.contextMenuACL),contextMenuRoom:m.getStyle(this.props.theme,z.contextMenuRoom),contextMenuRole:m.getStyle(this.props.theme,z.contextMenuRole),contextMenuDelete:m.getStyle(this.props.theme,z.contextMenuDelete),filterInput:m.getStyle(this.props.theme,z.headerCellInput,z.filterInput),iconCopy:m.getStyle(this.props.theme,z.cellButtonsValueButton,z.cellButtonsValueButtonCopy),aliasReadWrite:m.getStyle(this.props.theme,z.cellIdAlias,z.cellIdAliasReadWrite),aliasAlone:m.getStyle(this.props.theme,z.cellIdAlias,z.cellIdAliasAlone)},this.styleTheme=this.props.themeType),this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),this.expertMode!==!!this.state.filter.expertMode&&(this.expertMode=!!this.state.filter.expertMode,this.doFilter(!0)),!this.state.loaded)return a.createElement(So,{key:`${this.props.dialogName}_c`});const e=this.root?this.renderItem(this.root,void 0):null;return a.createElement(f5e,{key:this.props.dialogName},a.createElement("style",null,` +`).forEach(n=>{if(!n.trim())return;const M=n.indexOf(":");if(M!==-1){const c=n.substring(0,M).trim();let l=n.substring(M+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){_4(t),e&&e.stopPropagation(),e&&e.preventDefault()}}function p5e(s){return a.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},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 sg(s){return a.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},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 Bs(s){return a.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},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 ig(s){return a.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},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 A5e(s){return a.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},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 m5e(s){return a.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},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 f5e(s){return a.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},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 rr(s){return a.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},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 O5e(s){return a.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},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 Pn={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function E5e(s){var e;return a.createElement(mN,{elevation:Number.isNaN(s.elevation)?1:s.elevation,style:{...Pn.root,...((e=s.styles)==null?void 0:e.root)||void 0,...s.overflow!=="visible"?Pn.overflowHidden:void 0},onKeyDown:s.onKeyDown,tabIndex:s.tabIndex},a.createElement(ts,{container:!0,direction:"column",wrap:"nowrap",sx:Pn.container},s.children))}const R0={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}},_5e=a.forwardRef(function(e,t){return a.createElement(ts,{sx:{...R0.root,...(e==null?void 0:e.style)||void 0,...e.overflow==="auto"?R0.overflowAuto:void 0},ref:t},e.children)});function x5e(s){return a.createElement(ts,{container:!0,alignItems:"center"},s.children)}const Li=24,$e=32,rg=s=>s==="dark"?"#62ff25":"#37c400",og=s=>s==="dark"?"#ee56ff":"#a204b4",S5e=s=>s==="dark"?"#fff46e":"#b89101",ng=s=>"#ff6d69",ag=s=>"#5773ff",k5e=["0_userdata.0.","alias.0."],ss={headerCellInput:{width:"calc(100% - 5px)",height:$e,pt:0,"& .itemIcon":{verticalAlign:"middle",width:Li,height:Li,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:Li,height:Li,mr:"5px",display:"inline-block"}},selectNone:{opacity:.5},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellIdTooltip:{fontSize:14}};function v5e(s){return a.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"},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 F0(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}function Y5e(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?xa(r,e,t):r}):Q5e(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?xa(r,e,t):r})}function G0(s,e,t){const i=document.createElement("a"),r=[];t.excludeSystemRepositories&&r.push("system.repositories");const o=r.length>0||t.excludeTranslations?xa(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)}class b5e extends De{hasIcons;timer=null;constructor(e){var t;super(e),this.state={value:e.initialValue||[]},this.hasIcons=!!((t=e.values)!=null&&t.find(i=>i.icon))}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){var e;return a.createElement("div",{style:{position:"relative"}},a.createElement(nt,{variant:"standard",key:this.props.name,sx:ss.headerCellInput,className:"no-underline",multiple:!0,renderValue:t=>t!=null&&t.length?t.map(i=>{const r=this.props.values.find(c=>typeof c=="object"?c.value===i:c===i);let o,n,M;return typeof r=="object"?(o=r.value,n=r.name,M=r.icon):(o=r,n=r),a.createElement(J,{component:"span",sx:ss.headerCellSelectItem,key:o},M||(this.hasIcons?a.createElement("div",{className:"itemIcon"}):null),n)}):this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:t=>{let i=t.target.value;if(this.state.value[0]==="_"&&i.includes("_")&&i.length>1){const r=i.indexOf("_");r!==-1&&i.splice(r,1)}else this.state.value[0]!=="_"&&i.includes("_")&&(i=["_"]);i.includes("")&&(i=[]),this.setState({value:i},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,i)},400)})},onClose:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},inputProps:{name:this.props.name,id:this.props.name},displayEmpty:!0},a.createElement(re,{key:"empty",value:""},a.createElement("span",{style:ss.selectNone},this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`])),(e=this.props.values)==null?void 0:e.map(t=>{let i,r,o;return typeof t=="object"?(i=t.value,r=t.name,o=t.icon):(i=t,r=t),a.createElement(re,{sx:ss.headerCellSelectItem,key:i,value:i},o||(this.hasIcons?a.createElement("div",{className:"itemIcon"}):null),r)})),this.state.value.length?a.createElement(J,{component:"div",sx:ss.selectClearButton},a.createElement(W,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:[]},()=>this.props.onChange(this.props.name,void 0))}},a.createElement(we,null))):null)}}class U5e extends De{timer=null;constructor(e){super(e),this.state={value:e.initialValue||""}}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){return a.createElement(Qt,{sx:this.props.styles,key:this.props.name,title:this.props.t("ra_You can use * as wildcard"),margin:"dense"},a.createElement(qt,{classes:{underline:"no-underline"},id:this.props.name,placeholder:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:e=>{const t=e.target.value;this.setState({value:t},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,t)},400)})},onBlur:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},autoComplete:"off"}),this.state.value?a.createElement("div",{style:{position:"absolute",right:0}},a.createElement(W,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:""},()=>this.props.onChange(this.props.name,void 0))}},a.createElement(we,null))):null)}}function jr(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]?jr(s,e,r,i):ex.toLowerCase())),(L=e.custom)!=null&&L.length&&(r.custom=e.custom.map(x=>x.toLowerCase())),(g=e.role)!=null&&g.length&&(r.role=e.role.map(x=>x.toLowerCase())),(j=e.room)!=null&&j.length&&(r.room=[],e.room.forEach(x=>{var S,R;r.room=r.room.concat(((R=(S=i[x])==null?void 0:S.common)==null?void 0:R.members)||[])})),(y=e.func)!=null&&y.length&&(r.func=[],e.func.forEach(x=>{var S,R;r.func=r.func.concat(((R=(S=i[x])==null?void 0:S.common)==null?void 0:R.members)||[])}))}const N=s.data;if(N!=null&&N.id){const x=(T=N.obj)==null?void 0:T.common;if(n){if(n.type&&(typeof n.type=="string"?(!N.obj||n.type!==N.obj.type)&&(l=!0):Array.isArray(n.type)&&(!N.obj||!n.type.includes(N.obj.type))&&(l=!0)),!l&&((d=n.common)!=null&&d.type)&&(x!=null&&x.type?typeof n.common.type=="string"?n.common.type!==x.type&&(l=!0):Array.isArray(n.common.type)&&(n.common.type.includes(x.type)||(l=!0)):l=!0),!l&&((I=n.common)!=null&&I.role)&&(x!=null&&x.role?typeof n.common.role=="string"?x.role.startsWith(n.common.role)&&(l=!0):Array.isArray(n.common.role)&&(n.common.role.find(S=>x.role.startsWith(S))||(l=!0)):l=!0),!l&&((w=n.common)==null?void 0:w.custom)==="_"&&(x!=null&&x.custom))l=!0;else if(!l&&((A=n.common)!=null&&A.custom)&&((p=n.common)==null?void 0:p.custom)!=="_"){const S=n.common.custom;if(!(x!=null&&x.custom))l=!0;else if(S==="_dataSources")Object.keys(x.custom).find(R=>R.startsWith("history.")||R.startsWith("sql.")||R.startsWith("influxdb."))||(l=!0);else if(Array.isArray(S)){const R=Object.keys(x.custom);S.find(he=>R.find(Xe=>Xe.startsWith(he)))&&(l=!0)}else S!==!0&&!Object.keys(x.custom).find(R=>R.startsWith(S))&&(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")||!!(x!=null&&x.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&&(x?(N.fName===void 0&&(N.fName=He(x.name,t)||"",N.fName=N.fName.toLowerCase()),l=!N.fName.includes(r.name)):l=!0),!l&&r.nameRx&&x&&(N.fName===void 0&&(N.fName=He(x.name,t)||"",N.fName=N.fName.toLowerCase()),l=!r.nameRx.test(N.fName)),!l&&((h=e.role)!=null&&h.length)&&x&&(l=!(typeof x.role=="string"&&r.role.find(S=>x.role.startsWith(S)))),!l&&((C=r.room)!=null&&C.length)&&(l=!r.room.find(S=>S===N.id||N.id.startsWith(`${S}.`))),!l&&((E=r.func)!=null&&E.length)&&(l=!r.func.find(S=>S===N.id||N.id.startsWith(`${S}.`))),!l&&((O=r.type)!=null&&O.length)&&(l=!((b=N.obj)!=null&&b.type&&r.type.includes(N.obj.type))),!l&&M&&(l=!((k=N.obj)!=null&&k.type&&M.includes(N.obj.type))),!l&&((K=r.custom)!=null&&K.length)&&(x?r.custom[0]==="_"?l=!!x.custom:x.custom?l=!r.custom.find(S=>x.custom[S]):l=!0:l=r.custom[0]!=="_")}return N.visible=!l,N.hasVisibleChildren=!1,s.children&&c<20&&s.children.forEach(x=>{Sa(x,e,t,i,r,o,n,M,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(x=>x.data.hasVisibleParent=!0),N.visible||N.hasVisibleChildren}function Mg(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=>Mg(n,e,t,i))),i}function H0(s,e,t,i,r,o){let n;return e==="alias"||e==="alias.0"?n=a.createElement(kN,{className:"iconOwn",style:{color:og(i)}}):e==="0_userdata"||e==="0_userdata.0"?n=a.createElement(Vj,{className:"iconOwn",style:{color:rg(i)}}):e.startsWith("_design/")||e==="system"?n=a.createElement(go,{className:"iconOwn",style:{color:ng(i)}}):e==="system.adapter"?n=a.createElement(go,{className:"iconOwn",style:{color:ag(i)}}):e==="system.group"?n=a.createElement(oM,{className:"iconOwn"}):e==="system.user"?n=a.createElement(iM,{className:"iconOwn"}):e==="system.host"?n=a.createElement(rM,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?n=a.createElement(li,{className:"iconOwn"}):e.endsWith(".info")?n=a.createElement(sM,{className:"iconOwn"}):s[e]&&s[e].type==="meta"?n=a.createElement(vo,{className:"iconOwn"}):t<2&&s[`system.adapter.${e}`]&&(n=Eo(s,`system.adapter.${e}`,r,o)),n||null}function cg(s,e){var t,i;return(i=(t=s==null?void 0:s.obj)==null?void 0:t.common)!=null&&i.desc&&He(s.obj.common.desc,e)||null}function $5e(s,e){const t=cg(s,e);return t!=null&&t.startsWith("http")?a.createElement(J,{component:"a",sx:ss.cellIdTooltipLink,href:t,target:"_blank",rel:"noreferrer"},t):a.createElement("span",{style:ss.cellIdTooltip},t||s.id||"")}function V0(s,e){var N,u,L,g,j,y,T,d,I,w;const t=e.imagePrefix||".";let i=Object.keys(s);i.sort((A,p)=>A===p?0:(A=A.replace(/\./g,"!!!"),p=p.replace(/\./g,"!!!"),A>p?1:-1)),e.root&&(i=i.filter(A=>A===e.root||A.startsWith(`${e.root}.`)));let r=[],o="",n=0;const M={data:{name:"",id:""},children:[]},c={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:s,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let l=M;for(let A=0;Ak.role===b)?typeof b!="string"?console.warn(`Invalid role type "${typeof b}" in "${h._id}"`):c.roles.push({role:b,type:O.type}):p.startsWith("enum.rooms.")?(c.roomEnums.push(p),c.enums.push(p)):p.startsWith("enum.functions.")?(c.funcEnums.push(p),c.enums.push(p)):h.type==="enum"?c.enums.push(p):h.type==="instance"&&O&&(O.supportCustoms||(N=O.adminUI)!=null&&N.custom)&&(c.hasSomeCustoms=!0,c.customs.push(p.substring(15))),p.startsWith("alias.")&&((u=h.common.alias)!=null&&u.id))if(typeof h.common.alias.id=="string"){const k=h.common.alias.id;c.aliasesMap[k]?c.aliasesMap[k].includes(p)||c.aliasesMap[k].push(p):c.aliasesMap[k]=[p]}else{const k=h.common.alias.id.read;k&&(c.aliasesMap[k]?c.aliasesMap[k].includes(p)||c.aliasesMap[k].push(p):c.aliasesMap[k]=[p]);const K=h.common.alias.id.write;K&&(c.aliasesMap[K]?c.aliasesMap[K].includes(p)||c.aliasesMap[K].push(p):c.aliasesMap[K]=[p])}}c.ids.push(p);let E;do if(E=!1,!o||p.startsWith(`${o}.`)){if(C.length-n>1){let b=o;for(let k=n;kK.data.name===C[k]));else{const K={data:{name:C[k],parent:l,id:b,obj:s[b],level:k,icon:H0(s,b,k,e.themeType,e.lang,t),generated:!0}};l.children||=[],l.children.push(K),l=K,c.ids.push(b)}}const O={data:{name:C[C.length-1],title:He((L=h==null?void 0:h.common)==null?void 0:L.name,e.lang),obj:h,parent:l,icon:Eo(s,p,e.lang,t)||H0(s,p,0,e.themeType,e.lang,t),id:p,hasCustoms:!!((g=h.common)!=null&&g.custom&&Object.keys(h.common.custom).length),level:C.length-1,generated:!1,button:h.type==="state"&&!!((j=h.common)!=null&&j.role)&&typeof h.common.role=="string"&&h.common.role.startsWith("button")&&((y=h.common)==null?void 0:y.write)!==!1,switch:h.type==="state"&&((T=h.common)==null?void 0:T.type)==="boolean"&&((d=h.common)==null?void 0:d.write)!==!1&&((I=h.common)==null?void 0:I.read)!==!1,url:!!((w=h.common)!=null&&w.role)&&typeof h.common.role=="string"&&h.common.role.startsWith("url")}};l.children||=[],l.children.push(O),l=O,n=C.length,r=C,o=p}else{let O=0;for(;r[O]===C[O];)O++;if(O>0){let b=r.length;for(r=r.splice(0,O),n=O,o=r.join(".");b>O;)l.data.parent?l=l.data.parent:console.error(`Parent is null for ${p} ${o} ${r.join(".")}`),b--}else l=M,r=[],o="",n=0;E=!0}while(E)}return c.roomEnums.sort((A,p)=>{var E,O,b,k;const h=He((O=(E=s[A])==null?void 0:E.common)==null?void 0:O.name,e.lang)||A.split(".").pop(),C=He((k=(b=s[p])==null?void 0:b.common)==null?void 0:k.name,e.lang)||p.split(".").pop();return h>C?1:h{var E,O,b,k;const h=He((O=(E=s[A])==null?void 0:E.common)==null?void 0:O.name,e.lang)||A.split(".").pop(),C=He((k=(b=s[p])==null?void 0:b.common)==null?void 0:k.name,e.lang)||p.split(".").pop();return h>C?1:hA.role.localeCompare(p.role)),c.types.sort(),{info:c,root:M}}function ug(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,ug(o,e,t,`${i}.${t[r+1]}`,r+1)):null}function lg(s,e,t,i){var n,M;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=He(l.name,t);(M=l.members)!=null&&M.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,lg(s,e,t,i)),{rooms:i,per:!r}}function Rs(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 if(M!=null&&M.role&&typeof M.role=="string"&&M.role.match(/^value\.duration/)){if(typeof l=="number"&&l>=0){const j=Math.floor(l/3600),y=Math.floor(l%3600/60),T=Math.floor(l%60);l=`${j.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}`}else if(typeof l=="string"&&m.isStringInteger(l)){const j=parseInt(l,10);if(j>=0){const y=Math.floor(j/3600),T=Math.floor(j%3600/60),d=Math.floor(j%60);l=`${y.toString().padStart(2,"0")}:${T.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}}}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)}...`),M!=null&&M.unit&&(u.u=M.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?m.formatDate(new Date(t.ts),e):""}),t.lc&&L.push({t:r.lc,v:t.lc?m.formatDate(new Date(t.lc),e):""}),t.from){let j=t.from.toString();j.startsWith("system.adapter.")&&(j=j.substring(15)),L.push({t:r.from,v:j})}if(t.user){let j=t.user.toString();j.startsWith("system.user.")&&(j=j.substring(12)),L.push({t:r.user,v:j})}t.c&&L.push({t:r.c,v:t.c}),L.push({t:r.quality,v:m.quality2text(t.q||0).join(", "),nbr:!0})}return{valText:u,valFull:L,fileViewer:c}}function P5e(s){const{state:e}=s;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function W5e(s,e){let t=e,i=1;const r=[];for(;i=t)r.push(0);else if(i1){const i=e.path;let r;const o=s;if(o[i[0]]&&typeof o[i[0]]=="object")return i.length===2?r=o[i[0]][i[1]]:i.length===3?r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"?o[i[0]][i[1]][i[2]]:null:i.length===4?r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"&&o[i[0]][i[1]][i[2]]?o[i[0]][i[1]][i[2]][i[3]]:null:i.length===5?r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"&&o[i[0]][i[1]][i[2]]&&o[i[0]][i[1]][i[2]][i[3]]?o[i[0]][i[1]][i[2]][i[3]][i[4]]:null:i.length===6&&(r=o[i[0]][i[1]]&&typeof o[i[0]][i[1]]=="object"&&o[i[0]][i[1]][i[2]]&&o[i[0]][i[1]][i[2]][i[3]]&&o[i[0]][i[1]][i[2]][i[3]][i[4]]?o[i[0]][i[1]][i[2]][i[3]][i[4]][i[5]]:null),r??null}return null}function J5e(s,e,t){var i;if((i=s==null?void 0:s._id)!=null&&i.startsWith(`${e.adapter}.`)&&e.path.length>1){const r=e.path,o=s;if(o[r[0]]&&typeof o[r[0]]=="object"){if(r.length===2)return o[r[0]][r[1]]=t,!0;if(r.length===3){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object")return o[r[0]][r[1]][r[2]]=t,!0}else if(r.length===4){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object")return o[r[0]][r[1]][r[2]][r[3]]=t,!0}else if(r.length===5){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]]=t,!0}else if(r.length===6&&o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object"&&o[r[0]][r[1]][r[2]][r[3]][r[4]]&&typeof o[r[0]][r[1]][r[2]][r[3]][r[4]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]][r[5]]=t,!0}}return!1}function X0(s){return!!k5e.find(e=>s.startsWith(e))}const B5e=16,Ie=20,Lg="#ff413c",gg="#86211f",ka="#57ff45",va="#098c04",Ya="#f3ad11",Qa="#6c5008",z={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:$e,lineHeight:`${$e}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:m.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:$e+10},tableRowAliasReadWrite:{height:$e+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:$e-4,height:$e-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:s=>({marginRight:8,width:$e-4,height:$e-4,cursor:"pointer",color:s.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:($e-Ie)/2,marginRight:8,width:Ie,height:Ie},cellIdIconOwn:{},cellCopyButton:{width:Ie,height:Ie,top:($e-Ie)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:Ie,height:Ie,top:($e-Ie)/2,opacity:.8},cellEditButton:{width:Ie,height:Ie,color:"white",position:"absolute",top:($e-Ie)/2,right:Ie+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:Li,height:Li,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:$e,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:Ie+4,height:Ie+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${Ie+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:Ie/2-2,opacity:.7,width:Ie-2,height:Ie-2,color:s.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:Ie/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},itemSelected:s=>({background:`${s.palette.primary.main} !important`,color:`${m.invertColor(s.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},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"},iconDeviceConnected:s=>({color:s.palette.mode==="dark"?ka:va,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:s=>({color:s.palette.mode==="dark"?Ya:Qa,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:s=>({color:s.palette.mode==="dark"?Lg:gg,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"},...ss},K0={state:a.createElement(rr,{className:"itemIcon",style:{verticalAlign:"middle"}}),channel:a.createElement(sg,{className:"itemIcon",style:{verticalAlign:"middle"}}),device:a.createElement(ig,{className:"itemIcon",style:{verticalAlign:"middle"}}),adapter:a.createElement(p5e,{className:"itemIcon",style:{verticalAlign:"middle"}}),meta:a.createElement(vo,{className:"itemIcon",style:{verticalAlign:"middle"}}),instance:a.createElement(f5e,{className:"itemIcon",style:{color:"#7da7ff",verticalAlign:"middle"}}),enum:a.createElement(ay,{className:"itemIcon",style:{verticalAlign:"middle"}}),chart:a.createElement(Ly,{className:"itemIcon",style:{verticalAlign:"middle"}}),config:a.createElement(ea,{className:"itemIcon",style:{verticalAlign:"middle"}}),group:a.createElement(oM,{className:"itemIcon",style:{verticalAlign:"middle"}}),user:a.createElement(iM,{className:"itemIcon",style:{verticalAlign:"middle"}}),host:a.createElement(rM,{className:"itemIcon",style:{verticalAlign:"middle"}}),schedule:a.createElement(Bj,{className:"itemIcon",style:{verticalAlign:"middle"}}),script:a.createElement(eM,{className:"itemIcon",style:{verticalAlign:"middle"}}),folder:a.createElement(Ti,{className:"itemIcon itemIconFolder",style:{verticalAlign:"middle"}})},ze={xs:{idWidth:"100%",fields:[],widths:{}},sm:{idWidth:300,fields:["room","val"],widths:{room:100,val:200}},md:{idWidth:300,fields:["room","func","val","buttons"],widths:{name:200,room:150,func:150,val:120,buttons:120}},lg:{idWidth:300,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:300,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:165,lastChange:165}},xl:{idWidth:550,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:400,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:170,lastChange:170}}};let q0=!1;const Fs={id:"",name:"",room:[],func:[],role:[],type:[],custom:[],expertMode:!1};class _o extends De{info={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:{},customs:[],enums:[],hasSomeCustoms:!1,aliasesMap:{}};localStorage=window._localStorage||window.localStorage;tableRef;pausedSubscribes=!1;selectFirst;root=null;states={};subscribes=[];unsubscribeTimer=null;statesUpdateTimer=null;objectsUpdateTimer=null;visibleCols;texts;possibleCols;imagePrefix;adapterColumns=[];styleTheme="";edit={id:"",val:"",q:0,ack:!1};levelPadding;customWidth=!1;resizeTimeout=null;resizerNextName=null;resizerActiveName=null;resizerCurrentWidths={};resizeLeft=!1;resizerOldWidth=0;resizerMin=0;resizerNextMin=0;resizerOldWidthNext=0;resizerPosition=0;resizerActiveDiv=null;resizerNextDiv=null;storedWidths=null;systemConfig;objects;defaultHistory="";ctrlPressed=!1;columnsVisibility={};changedIds=null;contextMenu=null;recordStates=[];styles={};expertMode=!1;customColumnDialog=null;constructor(e){super(e);const t=this.localStorage.getItem(`${e.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",this.expertMode=!!this.props.expertMode,t.startsWith("["))try{const T=JSON.parse(t);this.selectFirst=T[0]||""}catch{}else this.selectFirst=t;let i;const r=this.localStorage.getItem(`${e.dialogName||"App"}.objectExpanded`)||"[]";try{i=JSON.parse(r)}catch{i=[]}let o;const n=e.defaultFilters?"":this.localStorage.getItem(`${e.dialogName||"App"}.objectFilter`)||"";if(n)try{o=JSON.parse(n)}catch{o={...Fs}}else e.defaultFilters&&typeof e.defaultFilters=="object"?o={...e.defaultFilters}:o={...Fs};if(typeof o.room=="string"&&o.room&&(o.room=[o.room].filter(T=>T),o.room.length||delete o.room),typeof o.func=="string"&&o.func&&(o.func=[o.func].filter(T=>T),o.func.length||delete o.func),typeof o.role=="string"&&o.role&&(o.role=[o.role].filter(T=>T),o.role.length||delete o.role),typeof o.type=="string"&&(o.type=[o.type].filter(T=>T),o.type.length||delete o.type),typeof o.custom=="string"&&(o.custom=[o.custom].filter(T=>T),o.custom.length||delete o.custom),o.expertMode=e.expertMode!==void 0?e.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=CN(),this.visibleCols=e.columns||ze[e.width||"lg"].fields,e.types&&e.types.length===1){const T=this.visibleCols.indexOf("type");T!==-1&&this.visibleCols.splice(T,1)}this.possibleCols=ze.xl.fields;let M=null;if(e.router){const T=e.router.getLocation();T.id&&T.dialog==="customs"&&(M=[T.id],this.pauseSubscribe(!0))}let c;Array.isArray(e.selected)?c=e.selected:c=[e.selected||""],c=c.map(T=>T.replace(/["']/g,"")).filter(T=>T),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 j=!1;try{j=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${e.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={aliasMenu:"",beautifyJsonExport:!0,columns:N,columnsAuto:this.localStorage.getItem(`${e.dialogName||"App"}.columnsAuto`)!=="false",columnsDialogTransparent:100,columnsEditCustomDialog:null,columnsForAdmin:null,columnsSelectorShow:!1,columnsWidths:u,customColumnDialogValueChanged:!1,customDialog:M,depth:0,editObjectAlias:!1,editObjectDialog:"",enumDialog:null,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,expandAllVisible:!1,expanded:i,filter:o,filterKey:0,focused:this.localStorage.getItem(`${e.dialogName||"App"}.focused`)||"",foldersFirst:L,linesEnabled:this.localStorage.getItem(`${e.dialogName||"App"}.lines`)==="true",loaded:!1,noStatesByExportImport:!1,roleDialog:null,scrollBarWidth:16,selected:c,selectedNonObject:this.localStorage.getItem(`${e.dialogName||"App"}.selectedNonObject`)||"",showAliasEditor:"",showAllExportOptions:!1,showContextMenu:null,showDescription:this.localStorage.getItem(`${e.dialogName||"App"}.desc`)!=="false",showExportDialog:!1,showImportDialog:!1,showImportMenu:null,showRenameDialog:null,statesView:j,toast:"",tooltipInfo:null,viewFileDialog:""},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||B5e;const y=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(y)try{const T=JSON.parse(y),d=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(ze[d])),Object.keys(T).forEach(I=>{I==="id"?ze[d].idWidth=T.id:I==="nameHeader"?ze[d].widths.name=T[I]:ze[d].widths[I]!==void 0&&(ze[d].widths[I]=T[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=(t.objectsWorker?await t.objectsWorker.getObjects(e):await t.socket.getObjects(e,!0))||{};if(t.types&&ke.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:M}=V0(this.objects,{imagePrefix:t.imagePrefix,root:t.root,lang:t.lang,themeType:t.themeType});this.root=M,this.info=n;const c=((i=this.state.selected)==null?void 0:i.length)&&ug(this.root,this.state.selected[0]);c&&!Sa(c,this.state.filter,t.lang,this.objects,void 0,void 0,t.customFilter,t.types)?this.setState({filter:{...Fs},columnsForAdmin:o},()=>{this.doFilter(),this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):(this.doFilter(),this.setState({loaded:!0,updating:!1,columnsForAdmin:o},()=>this.expandAllSelected(()=>this.onAfterSelect())))}catch(r){this.showError(r)}}expandAllSelected(e){const t=[...this.state.expanded];let i=!1;this.state.selected.forEach(r=>{const o=r.split("."),n=[];for(let M=0;M!this.objects[N]))&&((c=(M=this.props).onSelect)==null||c.call(M,this.state.selected,null,e))}else this.localStorage.removeItem(`${this.props.dialogName||"App"}.objectSelected`),this.state.selected.length?this.setState({selected:[]},()=>{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(!q0),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),q0=!0,window.addEventListener("contextmenu",this.onContextMenu,!0),window.addEventListener("keydown",this.onKeyPress,!0),window.addEventListener("keyup",this.onKeyPress,!0),this.props.onAllLoaded&&setTimeout(()=>{var e,t;(t=(e=this.props).onAllLoaded)==null||t.call(e)},100)}onKeyPress=e=>{e.type==="keydown"&&e.ctrlKey&&!this.ctrlPressed?(this.ctrlPressed=!0,this.tableRef.current&&(this.tableRef.current.className="highlight-link")):e.type==="keyup"&&!e.ctrlKey&&this.ctrlPressed&&(this.ctrlPressed=!1,this.tableRef.current&&(this.tableRef.current.className=""))};componentWillUnmount(){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=>{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 M=`${t}.`;for(let L=0;LM)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=>{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(Ae,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},a.createElement(fe,{id:"alert-dialog-title"},this.props.t("ra_Error")),a.createElement(_e,null,a.createElement(as,{id:"alert-dialog-description"},this.state.error)),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:a.createElement(We,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 a.createElement(xc,{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},a.createElement(ue,{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}),a.createElement(dt,{primary:this.texts[`filter_${i}`]||this.props.t(`ra_${i}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?a.createElement(Ae,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":m.getStyle(this.props.theme,z.dialogColumns,z[`transparent_${this.state.columnsDialogTransparent}`])}},a.createElement(fe,{sx:z.fontSizeTitle},this.props.t("ra_Configure")),a.createElement(_e,{sx:z.fontSizeTitle},a.createElement(V,{style:z.switchColumnAuto,control:a.createElement(br,{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(V,{style:z.switchColumnAuto,control:a.createElement(br,{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(V,{style:z.switchColumnAuto,control:a.createElement(br,{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(Sc,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 a.createElement(xc,{onClick:()=>{if(!this.state.columnsAuto){const o=[...this.state.columns||[]],n=`_${e}_${i.path}`,M=o.indexOf(n);M===-1?(o.push(n),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}_${i.name}`},a.createElement(Xt,null,a.createElement(ue,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((r=this.state.columns)==null?void 0:r.includes(`_${e}_${i.path}`)),disableRipple:!0})),a.createElement(dt,{primary:`${i.name} (${e})`}))})}),this._renderDefinedList(!0))),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:a.createElement(we,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(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(M=>{if(typeof M!="object")return{path:M,name:M.split(".").pop()};const c=M;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:He(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(M=>M):n=null,n!=null&&n.length&&(e||={},e[t.common.name]=n.sort((M,c)=>M.path>c.path?-1:M.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}=V0(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.pausedSubscribes||this.doFilter()},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 M=this.objects[n];if((o=(r=M==null?void 0:M.common)==null?void 0:r.alias)!=null&&o.id)if(typeof M.common.alias.id=="string"){const c=M.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=M.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=M.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){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),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],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)))}clearFilter(){JSON.stringify(this.state.filter)!==JSON.stringify(Fs)&&this.setState({filter:{...Fs},filterKey:this.state.filterKey+1},()=>{var e,t;this.doFilter(),(t=(e=this.props).onFilterChanged)==null||t.call(e,{...Fs})})}isFilterEmpty(){var e,t,i,r,o;return!!this.state.filter.id||!!this.state.filter.name||!!((e=this.state.filter.room)!=null&&e.length)||!!((t=this.state.filter.func)!=null&&t.length)||!!((i=this.state.filter.role)!=null&&i.length)||!!((r=this.state.filter.type)!=null&&r.length)||!!((o=this.state.filter.custom)!=null&&o.length)}getFilterInput(e){return a.createElement(U5e,{key:`${e}_${this.state.filterKey}`,styles:this.styles.filterInput,name:e,texts:this.texts,t:this.props.t,initialValue:this.state.filter[e],onChange:(t,i)=>{const r={...this.state.filter};i===void 0?delete r[t]:r[t]=i,this.setState({filter:r},()=>{var o,n;this.doFilter(),(n=(o=this.props).onFilterChanged)==null||n.call(o,r)})}})}getFilterSelect(e,t){return a.createElement(b5e,{key:`${e}_${this.state.filterKey}`,name:e,texts:this.texts,initialValue:this.state.filter[e]||[],values:t,onChange:(i,r)=>{const o={...this.state.filter};r===void 0?delete o[i]:o[i]=r,this.setState({filter:o},()=>{var n,M;this.doFilter(),(M=(n=this.props).onFilterChanged)==null||M.call(n,o)})}})}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:He((r=(i=this.objects[t])==null?void 0:i.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:a.createElement(be,{src:((n=(o=this.objects[t])==null?void 0:o.common)==null?void 0:n.icon)||"",style:z.selectIcon})}});return this.getFilterSelect("room",e)}getFilterSelectFunction(){const e=this.info.funcEnums.map(t=>{var i,r,o,n;return{name:He((r=(i=this.objects[t])==null?void 0:i.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:a.createElement(be,{src:((n=(o=this.objects[t])==null?void 0:o.common)==null?void 0:n.icon)||"",style:z.selectIcon})}});return this.getFilterSelect("func",e)}getFilterSelectType(){const e=this.info.types.map(t=>({name:t,value:t,icon:K0[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(be,{src:Eo(this.objects,t,this.props.lang,this.imagePrefix)||"",style:z.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&&(jr(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=_o.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 M={_id:this.objects[i]._id,common:JSON.parse(JSON.stringify(this.objects[i].common)),native:this.objects[i].native,type:"enum"};M.common&&(delete M.common.members,delete M.common.custom,delete M.common.mobile),t.push(M)}}),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){G0("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 M=await this.props.socket.getState(n);M&&(t[n].val=M.val,t[n].ack=M.ack)}if(t[n].common){const M=this.getEnumsForId(n);M&&(t[n].common.enums=M)}}G0(`${i}.json`,t,e)}renderExportDialog(){return this.state.showExportDialog===!1?null:a.createElement(Ae,{open:!0,maxWidth:"lg"},a.createElement(fe,null,this.props.t("ra_Select type of export")),a.createElement(_e,null,a.createElement(as,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(V,{control:a.createElement(ue,{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(V,{control:a.createElement(ue,{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(V,{control:a.createElement(ue,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:e=>this.setState({excludeSystemRepositoriesFromExport:e.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),a.createElement(V,{control:a.createElement(ue,{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(xe,null,this.state.filter.expertMode||this.state.showAllExportOptions?a.createElement(q,{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(q,{color:"grey",variant:"outlined",startIcon:a.createElement(Ea,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),a.createElement(q,{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(q,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:a.createElement(we,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})}async parseJsonFile(e){try{const t=JSON.parse(e),i=Object.keys(t).length,r=t._id;if(r===void 0&&i)await this.loadObjects(t),window.alert(this.props.t("ra_%s object(s) processed",i));else{if(!r)return window.alert(this.props.t("ra_Invalid structure"));try{let o,n,M;if(t.common.enums&&(o=t.common.enums,delete t.common.enums),t.val&&(n=t.val,delete t.val),t.ack!==void 0&&(M=t.ack,delete t.ack),await this.props.socket.setObject(t._id,t),t.type==="state")if(n!=null)await this.props.socket.setState(t._id,n,M===void 0?!0:M);else{const c=await this.props.socket.getState(t._id);(!c||c.val===null||c.val===void 0)&&await this.props.socket.setState(t._id,t.common.def===void 0?null:t.common.def,!0)}o&&await this._createAllEnums(o,t._id),window.alert(this.props.t("ra_%s was imported",t._id))}catch(o){window.alert(o)}}}catch(t){window.alert(t)}}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=n=>{var M;return this.parseJsonFile((M=n.target)==null?void 0:M.result),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=[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 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=[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(o.startsWith("alias.0")||o.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")};onOpenFile(){const e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",t=>this.handleJsonUpload(t),!1),e.click()}renderInputJsonDialog(){const e=this.props.objectBrowserInsertJsonObjects;return this.state.showImportDialog?a.createElement(e,{onClose:t=>{this.setState({showImportDialog:!1}),t&&this.parseJsonFile(t)},themeName:this.props.themeName,themeType:this.props.themeType,t:this.props.t}):null}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(Le,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:z.tooltip}}},a.createElement("div",null,a.createElement(W,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},a.createElement(xN,null)))),this.props.showExpertButton&&!this.props.expertMode&&a.createElement(Le,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>{const t={...this.state.filter};t.expertMode=!t.expertMode,this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(t)),this.setState({filter:t})},size:"large"},a.createElement(Ea,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&a.createElement(Le,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},a.createElement(hy,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&a.createElement(Le,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},a.createElement(uo,null))),a.createElement(Le,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},a.createElement(Ti,null))),this.props.width!=="xs"&&a.createElement(Le,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},a.createElement(kc,{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(uo,null)))),this.props.width!=="xs"&&a.createElement(Le,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},a.createElement(kc,{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(Ti,null)))),this.props.objectStatesView&&a.createElement(Le,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>this.onStatesViewVisible(),size:"large"},a.createElement(My,{color:this.state.statesView?"primary":"inherit"}))),a.createElement(Le,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},a.createElement(gy,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?a.createElement(Le,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:z.tooltip}}},a.createElement("div",null,a.createElement(W,{disabled:!e,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},a.createElement(qn,null)))):null,this.props.objectImportExport&&a.createElement(Le,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:t=>{this.props.objectBrowserInsertJsonObjects?this.setState({showImportMenu:t.currentTarget}):this.onOpenFile()},size:"large"},a.createElement(Lo,null))),this.props.objectBrowserInsertJsonObjects?a.createElement(ws,{anchorEl:this.state.showImportMenu,open:!!this.state.showImportMenu,onClose:()=>this.setState({showImportMenu:null})},a.createElement(re,{onClick:()=>this.setState({showImportMenu:null},()=>this.onOpenFile())},a.createElement(Xt,null,a.createElement(jy,null)),a.createElement(dt,null,this.props.t("ra_From file"))),a.createElement(re,{onClick:()=>this.setState({showImportMenu:null,showImportDialog:!0})},a.createElement(Xt,null,a.createElement(Gj,null)),a.createElement(dt,null,this.props.t("ra_From text")))):null,this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&a.createElement(Le,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},a.createElement(Lo,{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(Le,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{onClick:()=>{var i;const t=this.root?Mg(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"},a.createElement(Jj,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&&(m.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((M,c)=>{n&M.valueNum&&i.push(a.createElement("span",{key:o+c},this.texts[`acl${M.group}_${M.title}_${o}`],",",a.createElement("span",{style:o==="object"?z.rightsObject:z.rightsState},M.value)))})};return i.push(a.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(e.ownerGroup||"").replace("system.group.","")}`)),i.push(a.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(e.owner||"").replace("system.user.","")}`)),r("object"),e.state&&r("state"),i.length?a.createElement("span",{style:z.tooltipAccessControl},i.map(o=>o)):null};renderColumnButtons(e,t){var n,M,c,l;if(!t.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?a.createElement("div",{style:z.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?a.createElement(W,{sx:{...z.cellButtonsButton,...z.cellButtonsEmptyButton,...z.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},a.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&((n=t.children)!=null&&n.length)?a.createElement(W,{sx:{...z.cellButtonsButton,...z.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 j=0;jL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((g=t.children)!=null&&g.length),!1,u+1)}},a.createElement(wt,{style:z.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||X0(t.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?a.createElement(Le,{key:"acl",title:t.data.aclTooltip,slotProps:{popper:{sx:z.tooltip}}},a.createElement(W,{sx:{...z.cellButtonsButton,...z.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},a.createElement("div",{style:z.aclText},Number.isNaN(Number(i))?Number(r).toString(16):Number(i).toString(16)))):a.createElement("div",{key:"aclEmpty",style:z.cellButtonMinWidth}),o?a.createElement(W,{key:"edit",sx:{marginRight:"2px",...z.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(or,{style:z.cellButtonsButtonIcon})):a.createElement(J,{component:"div",key:"editDisabled",sx:z.cellButtonsButton}),this.props.onObjectDelete&&((M=t.children)!=null&&M.length||!((c=t.data.obj.common)!=null&&c.dontDelete))?a.createElement(W,{key:"delete",sx:z.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var g,j,y;const N=Object.keys(this.objects);N.sort();let u=0;const L=`${e}.`;for(let T=0;TL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((g=t.children)!=null&&g.length),!((y=(j=t.data.obj)==null?void 0:j.common)!=null&&y.dontDelete),u)},title:this.texts.deleteObject},a.createElement(wt,{style:z.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&t.data.obj.type==="state"&&((l=t.data.obj.common)==null?void 0:l.type)!=="file"?a.createElement(W,{sx:{...z.cellButtonsButton,...t.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:z.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(ea,{style:z.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 M=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}=Wn({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}),M=[];o==null||o.forEach(L=>{L.t===this.texts.quality&&r.q?(M.push(a.createElement("div",{style:z.cellValueTooltipBoth,key:L.t},L.t,": ",L.v)),L.nbr||M.push(a.createElement("br",{key:`${L.t}_br`}))):(M.push(a.createElement("div",{style:z.cellValueTooltipTitle,key:L.t},L.t,": ")),M.push(a.createElement("div",{style:z.cellValueTooltipValue,key:`${L.t}_v`},L.v)),L.nbr||M.push(a.createElement("br",{key:`${L.t}_br`})))});const c=((l=i==null?void 0:i.common)==null?void 0:l.role)||"";n==="image"?M.push(a.createElement("img",{style:z.cellValueTooltipImage,src:r.val,alt:e})):c==="url"||i.common.role==="url.self"||i.common.role==="url.blank"?M.unshift(a.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])&&M.push(a.createElement("svg",{key:"sparkline",className:"sparkline","data-id":e,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:M,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 a.createElement(J,{component:"div",sx:{...z.cellValueText,...z.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}=Wn({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(a.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(a.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:z.cellValueTextUnit,key:`${N.v.toString()}unit`},N.u)),N.s!==void 0&&u.push(a.createElement("span",{style:z.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(a.createElement(Bs,{className:"copyButton",style:this.styles.iconCopy,onClick:g=>this.onCopy(g,L),key:"cc"}))}n=t.data.state}n.style=P5e({state:o,isExpertMode:this.state.filter.expertMode,isButton:t.data.button});let M=n.valTextRx;return this.state.filter.expertMode||(t.data.button?M=[a.createElement(v5e,{key:"button",style:{color:n.style.color,...z.cellValueButton}})]:t.data.switch&&(M=[a.createElement(br,{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})])),a.createElement(Le,{key:"value",title:(l=this.state.tooltipInfo)==null?void 0:l.el,slotProps:{popper:{sx:z.cellValueTooltipBox},tooltip:{sx:z.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})}},a.createElement(J,{component:"div",style:n.style,className:t.data.url?"iob-link":void 0,sx:{...z.cellValueText,height:i?void 0:$e,"& .admin-button:active":{transform:"translate(0, 2px)"}}},M))}_syncEnum(e,t,i,r){var M,c,l;if(!(t!=null&&t.length)){r&&r();return}const o=t.pop()||"",n=[];if((M=this.info.objects[o])!=null&&M.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 M,c;return{name:He(((c=(M=this.objects[n])==null?void 0:M.common)==null?void 0:c.name)||n.split(".").pop()||"",this.props.lang),value:n,icon:Eo(this.objects,n,this.props.lang,this.imagePrefix)}}).sort((n,M)=>n.name>M.name?1:-1);return o.forEach(n=>{n.icon&&typeof n.icon=="string"&&(n.icon=a.createElement(J,{style:z.enumIconDiv},a.createElement("img",{src:n.icon,style:z.enumIcon,alt:n.name})))}),a.createElement(Ae,{sx:{"& .MuiPaper-root":z.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},a.createElement(fe,{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(bt,{color:"primary",disabled:r===JSON.stringify(i),size:"small",onClick:()=>this.syncEnum(t.data.id,e,i).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},a.createElement(We,null))),a.createElement(Sc,{sx:{"&.MuiList-root":z.enumList}},o.map(n=>{let M,c,l;typeof n=="object"?(M=n.value,c=n.name,l=n.icon):(M=n,c=n);const N=`checkbox-list-label-${M}`;return a.createElement(Hg,{sx:z.headerCellSelectItem,key:M,onClick:()=>{const u=i.indexOf(M),L=JSON.parse(JSON.stringify(this.state.enumDialogEnums));u===-1?(L.push(M),L.sort()):L.splice(u,1),this.setState({enumDialogEnums:L})},secondaryAction:l},a.createElement(Xt,{sx:{"&.MuiListItemIcon-root":z.enumCheckbox}},a.createElement(ue,{edge:"start",checked:i.includes(M),tabIndex:-1,disableRipple:!0,slotProps:{input:{"aria-labelledby":N}}})),a.createElement(dt,{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 a.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 M;if(n&&J5e(n,(M=this.state.columnsEditCustomDialog)==null?void 0:M.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=Z0(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(Ae,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},a.createElement(fe,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),a.createElement(_e,null,a.createElement(as,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?a.createElement(V,{control:a.createElement(ue,{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})`}):a.createElement(Te,{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}))),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:a.createElement(We,null)},this.props.t("ra_Update")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:a.createElement(we,null)},this.props.t("ra_Cancel"))))}renderCustomValue(e,t,i){const r=Z0(e,t);return r!=null?t.edit&&!this.props.notEditable&&(!t.objTypes||t.objTypes.includes(e.type))?a.createElement(J,{component:"div",style:{...z.columnCustom,...z.columnCustomEditable,...z[`columnCustom_${t.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:i,it:t,obj:e},customColumnDialogValueChanged:!1})},r):a.createElement(J,{component:"div",style:{...z.columnCustom,...z[`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?a.createElement(J,{component:"div",onClick:n=>{n.stopPropagation(),n.preventDefault();const M=this.info.aliasesMap[e][r];this.info.aliasesMap[e].length>1&&this.setState({aliasMenu:""}),this.onSelect(M),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(M)),100)},sx:i||this.styles.aliasAlone},a.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 bi,Ui,$i,Yr,Qr,hc,zc,wc,Ic,Cc,pc,Ac,mc,fc;const r=e.data.id;i.count++,t=t===void 0?this.state.expanded.includes(r):t;let o;const n=e.data.obj,M=n==null?void 0:n.type;e.children||M==="folder"||M==="device"||M==="channel"||M==="meta"?o=t?a.createElement(uo,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):a.createElement(Ti,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):n&&n.common&&n.common.write===!1&&n.type==="state"?o=a.createElement(m5e,{style:this.styles.cellIdIconDocument}):o=a.createElement(A5e,{style:this.styles.cellIdIconDocument});let c=null;e.data.icon&&(typeof e.data.icon=="string"?e.data.icon.length<3?c=a.createElement("span",{className:"iconOwn",style:z.cellIdIconOwn},e.data.icon):c=a.createElement(be,{style:z.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)&&K0[n.type]||a.createElement("div",{className:"itemIcon"}),u=this.levelPadding*(e.data.level||0);if(e.data.lang!==this.props.lang){const{rooms:v,per:ie}=lg(this.info,r,this.props.lang);e.data.rooms=v.join(", "),e.data.per=ie;const{funcs:Je,pef:Oe}=Ng(this.info,r,this.props.lang);e.data.funcs=Je.join(", "),e.data.pef=Oe,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))?a.createElement(ue,{style:z.checkBox,checked:this.state.selected.includes(r)}):null;let g=!this.props.notEditable&&M==="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 j=!this.props.notEditable&&this.objects[r]&&(this.state.filter.expertMode||M==="state"||M==="channel"||M==="device"),y=this.state.statesView&&(M==="state"||M==="channel"||M==="device");let T="";const d=[];if(y&&(T=(bi=this.states[r])==null?void 0:bi.from,T===void 0?T=" ":(T=T?T.replace(/^system\.adapter\.|^system\./,""):"",d.push(`${this.texts.stateChangedFrom} ${T}`)),n!=null&&n.user)){const v=n.user.replace("system.user.","");T+=`/${v}`,d.push(`${this.texts.stateChangedBy} ${v}`)}n&&(n.from&&d.push(`${this.texts.objectChangedFrom} ${n.from.replace(/^system\.adapter\.|^system\./,"")}`),n.user&&d.push(`${this.texts.objectChangedBy} ${n.user.replace(/^system\.user\./,"")}`),n.ts&&d.push(`${this.texts.objectChangedByUser} ${m.formatDate(new Date(n.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let I=!1,w=null;r.startsWith("alias.")&&((Ui=l==null?void 0:l.alias)!=null&&Ui.id)?(I=typeof l.alias.id=="object",I?w=a.createElement("div",{style:z.cellIdAliasReadWriteDiv},l.alias.id.read?a.createElement(J,{component:"div",onClick:v=>{v.stopPropagation(),v.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?a.createElement(J,{component:"div",onClick:v=>{v.stopPropagation(),v.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):w=a.createElement(J,{component:"div",onClick:v=>{v.stopPropagation(),v.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?w=a.createElement(J,{component:"div",id:`alias_${r}`,onClick:v=>{v.stopPropagation(),v.preventDefault(),this.setState({aliasMenu:r})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[r].length)):w=this.renderAliasLink(r,0));let A=l==null?void 0:l.color,p;if(A&&!this.state.selected.includes(r)){const v=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";m.colorDistance(A,v)<1e3&&(p=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let h=!1;r==="0_userdata"?(A=rg(this.props.themeType),h=!0):r==="alias"?(A=og(this.props.themeType),h=!0):r==="javascript"?(A=S5e(this.props.themeType),h=!0):r==="system"?(A=ng(this.props.themeType),h=!0):r==="system.adapter"?A=ag(this.props.themeType):(!A||this.state.selected.includes(r))&&(A="inherit");const C=[];if(l!=null&&l.statusStates){const v={};Object.keys(l.statusStates).forEach(Je=>{var Tt;let Oe=l.statusStates[Je];Oe.split(".").length<3&&(Oe=`${r}.${Oe}`),v[Je]=Oe,this.states[Oe]?this.recordStates.includes(Oe)||this.recordStates.push(Oe):((Tt=this.objects[Oe])==null?void 0:Tt.type)==="state"&&(this.recordStates.includes(Oe)||this.recordStates.push(Oe),this.states[Oe]={val:null},this.subscribe(Oe))});let ie=!1;l.statusStates.errorId&&this.states[v.errorId]&&this.states[v.errorId].val&&(A=this.props.themeType==="dark"?Lg:gg,ie=!0,C.push(a.createElement(Xj,{key:"error",style:this.styles.iconDeviceError}))),v.onlineId&&this.states[v.onlineId]?ie?this.states[v.onlineId].val?C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected})):C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[v.onlineId].val?(A=this.props.themeType==="dark"?ka:va,C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected}))):(A=this.props.themeType==="dark"?Ya:Qa,C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected}))):v.offlineId&&this.states[v.offlineId]&&(ie?this.states[v.offlineId].val?C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected})):C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[v.offlineId].val?(A=this.props.themeType==="dark"?Ya:Qa,C.push(a.createElement($r,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(A=this.props.themeType==="dark"?ka:va,C.push(a.createElement(li,{key:"conn",style:this.styles.iconDeviceConnected}))))}const E=y?m.quality2text((($i=this.states[r])==null?void 0:$i.q)||0).join(", "):null;let O=((Yr=e.data)==null?void 0:Yr.title)||"",b=!1;if(this.state.showDescription){const v=cg(e.data,this.props.lang);v&&(O=[a.createElement("div",{key:"name",style:z.cellNameDivDiv},O),a.createElement("div",{key:"desc",style:z.cellDescription},v)],b=!!v)}const k=this.props.width==="xs"&&this.state.focused===r,K=a.createElement(ts,{container:!0,wrap:"nowrap",direction:"row",sx:z.cellId,style:{width:this.columnsVisibility.id,paddingLeft:u}},a.createElement(ts,{container:!0,alignItems:"center"},L,o),a.createElement(ts,{style:{...z.cellIdSpan,...p?this.styles.invertedBackground:void 0,color:A,fontWeight:h?"bold":void 0}},a.createElement(Le,{title:$5e(e.data,this.props.lang),slotProps:{popper:{sx:z.tooltip}}},a.createElement("div",null,e.data.name)),w,C),a.createElement("div",{style:{...z.grow,...p?this.styles.invertedBackgroundFlex:{}}}),a.createElement(ts,{container:!0,alignItems:"center"},c),this.props.width!=="xs"?a.createElement("div",null,a.createElement(Bs,{className:k?"":"copyButton",style:z.cellCopyButton,onClick:v=>this.onCopy(v,r)})):null);let x=k&&O||this.columnsVisibility.name?a.createElement(J,{component:"div",sx:{...z.cellName,...b?z.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:k?0:"5px"}},O,!k&&((Qr=e.data)!=null&&Qr.title)?a.createElement(J,{style:{color:A}},a.createElement(Bs,{className:"copyButton",style:z.cellCopyButton,onClick:v=>{var ie;return this.onCopy(v,(ie=e.data)==null?void 0:ie.title)}})):null):null,S;this.state.statesView?S=[k&&y&&((hc=this.states[r])!=null&&hc.from)||this.columnsVisibility.changedFrom?{el:a.createElement("div",{key:"from",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:d.join(` +`)},y&&((zc=this.states[r])!=null&&zc.from)?T:null),type:"from"}:null,k&&E||this.columnsVisibility.qualityCode?{el:a.createElement("div",{key:"q",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:E||""},E),type:"quality"}:null,k&&y&&((wc=this.states[r])!=null&&wc.ts)||this.columnsVisibility.timestamp?{el:a.createElement("div",{key:"ts",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},y&&((Ic=this.states[r])!=null&&Ic.ts)?m.formatDate(new Date(this.states[r].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,k&&y&&((Cc=this.states[r])!=null&&Cc.lc)||this.columnsVisibility.lastChange?{el:a.createElement("div",{key:"lc",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},y&&((pc=this.states[r])!=null&&pc.lc)?m.formatDate(new Date(this.states[r].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:S=[k&&(n!=null&&n.type)||this.columnsVisibility.type?{el:a.createElement("div",{key:"type",style:{...z.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},N," ",n==null?void 0:n.type),type:"filter_type"}:null,k&&l||this.columnsVisibility.role?{el:a.createElement("div",{key:"role",style:{...z.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&j&&this.props.objectBrowserEditRole?"text":"default"},onClick:!k&&this.state.filter.expertMode&&j&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0},l==null?void 0:l.role),type:"filter_role",onClick:k&&this.state.filter.expertMode&&j&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0}:null,k&&l||this.columnsVisibility.room?{el:a.createElement("div",{key:"room",style:{...z.cellRoom,...e.data.per?z.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:j?"text":"default"},onClick:!k&&j?()=>{const v=Rs(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(v)}})}:void 0},e.data.rooms),type:"filter_room",onClick:k&&j?()=>{const v=Rs(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(v)}})}:void 0}:null,k&&l||this.columnsVisibility.func?{el:a.createElement("div",{key:"func",style:{...z.cellFunc,...e.data.pef?z.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:j?"text":"default"},onClick:!k&&j?()=>{const v=Rs(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(v)}})}:void 0},e.data.funcs),type:"filter_func",onClick:k&&j?()=>{const v=Rs(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:v,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(v)}})}:void 0}:null];let R=((Ac=this.adapterColumns)==null?void 0:Ac.map(v=>a.createElement("div",{style:{...z.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[v.id]:void 0},key:v.id,title:`${v.adapter} => ${v.pathText}`},n?this.renderCustomValue(n,v,e):null)))||null;const he=k||this.columnsVisibility.val?this.renderColumnValue(r,e,k):null;let Xe=k&&he||this.columnsVisibility.val?a.createElement("div",{style:{...z.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:g?(l==null?void 0:l.type)==="file"?"zoom-in":e.data.button?"grab":"text":"default"},onClick:v=>{var ie,Je,Oe;if(g){if(!(!n||!this.states))if((l==null?void 0:l.type)==="file")this.setState({viewFileDialog:r});else if(e.data.url&&v.ctrlKey){if((ie=this.states[r])!=null&&ie.val&&typeof this.states[r].val=="string")if((l==null?void 0:l.role)==="url.self")window.location.href=this.states[r].val;else{const Tt=window.open(this.states[r].val,"_blank");Tt==null||Tt.focus()}}else!this.state.filter.expertMode&&e.data.button?this.props.socket.setState(r,!0).catch(Tt=>window.alert(`Cannot write state "${r}": ${Tt}`)):!this.state.filter.expertMode&&e.data.switch?this.props.socket.setState(r,!this.states[r].val).catch(Tt=>window.alert(`Cannot write state "${r}": ${Tt}`)):(this.edit={val:this.states[r]?this.states[r].val:"",q:this.states[r]&&this.states[r].q||0,ack:!1,id:r},this.setState({updateOpened:!0}))}else(l==null?void 0:l.role)==="url"||(l==null?void 0:l.role)==="url.blank"&&v.ctrlKey?(Je=this.states[r])!=null&&Je.val&&typeof this.states[r].val=="string"&&window.open(this.states[r].val,"_blank"):(l==null?void 0:l.role)==="url.self"&&v.ctrlKey&&(Oe=this.states[r])!=null&&Oe.val&&typeof this.states[r].val=="string"&&(window.location.href=this.states[r].val)}},he):null,ct=k||this.columnsVisibility.buttons?a.createElement("div",{style:{...z.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(r,e)):null,bs=null;if(this.props.width==="xs"&&this.state.focused===r){S=S.filter(ie=>ie);let v;S.length?v=S.map(ie=>ie?a.createElement("div",{key:ie.type,style:z.cellDetailsLine},a.createElement("span",{style:z.cellDetailsName},this.texts[ie.type],":"),ie.el,a.createElement("div",{style:{flexGrow:1}}),ie.onClick?a.createElement(or,{style:z.cellCopyButtonInDetails,onClick:()=>{ie!=null&&ie.onClick&&ie.onClick()}}):null):null):v=null,R.length||(R=null),bs=a.createElement(mN,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},a.createElement("div",{style:z.cellDetailsLine},a.createElement("div",{style:{flexGrow:1}}),a.createElement(Bs,{style:z.cellCopyButtonInDetails,onClick:ie=>this.onCopy(ie,r)})),x&&a.createElement("div",{style:z.cellDetailsLine},a.createElement("span",{style:z.cellDetailsName},this.texts.name,":"),x,a.createElement("div",{style:{flexGrow:1}}),(mc=e.data)!=null&&mc.title?a.createElement(Bs,{className:"copyButton",style:z.cellCopyButtonInDetails,onClick:ie=>{var Je;return this.onCopy(ie,(Je=e.data)==null?void 0:Je.title)}}):null),v,R&&a.createElement("div",{style:z.cellDetailsLine},R),((fc=this.objects[r])==null?void 0:fc.type)==="state"&&a.createElement("div",{style:z.cellDetailsLine},a.createElement("span",{style:z.cellDetailsName},this.texts.value,":"),Xe,a.createElement("div",{style:{flexGrow:1}}),a.createElement(Bs,{className:"copyButton",style:z.cellCopyButtonInDetails,onClick:ie=>{const{valText:Je}=Wn({state:this.states[r],obj:this.objects[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});this.onCopy(ie,Je.c!==void 0?Je.c:Je.v.toString())},key:"cc"})),ct&&a.createElement("div",{style:{...z.cellDetailsLine,justifyContent:"right"}},ct)),x=null,S=null,R=null,Xe=null,ct=null}return{row:a.createElement(ts,{container:!0,direction:"row",wrap:"nowrap",sx:m.getStyle(this.props.theme,z.tableRow,this.state.linesEnabled&&z.tableRowLines,!this.props.dragEnabled&&z.tableRowNoDragging,w&&z.tableRowAlias,I&&z.tableRowAliasReadWrite,this.state.focused===r&&this.props.multiSelect&&z.tableRowFocused,!e.data.visible&&z.filteredOut,e.data.hasVisibleParent&&!e.data.visible&&!e.data.hasVisibleChildren&&z.filteredParentOut,this.state.selected.includes(r)&&z.itemSelected,this.state.selectedNonObject===r&&z.itemSelected),key:r,id:r,onMouseDown:v=>{this.onSelect(r);let ie;"which"in v?ie=v.which===3:"button"in v&&(ie=v.button===2),ie?this.contextMenu={item:e,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{e.children?this.toggleExpanded(r):this.onSelect(r,!0)}},K,x,S==null?void 0:S.map(v=>v==null?void 0:v.el),R,Xe,ct),details:bs}}renderItem(e,t,i){const r=[];i=i||{count:0};const o=this.renderLeaf(e,t,i);let n;const M=this.props.DragWrapper;return this.props.dragEnabled&&M?e.data.sumVisibility?n=a.createElement(M,{key:e.data.id,item:e,style:z.draggable},o.row):n=a.createElement("div",{key:e.data.id,style:z.nonDraggable},o.row):n=o.row,e.data.id&&n&&r.push(n),o.details&&r.push(o.details),t=t===void 0?jr(this.state.expanded,e.data.id):t,(!e.data.id||t)&&(this.state.foldersFirst?e.children&&(r.push(e.children.map(c=>c.children&&(!this.state.columnsSelectorShow||i.count<15)&&c.data.sumVisibility?this.renderItem(c,void 0,i):null)),r.push(e.children.map(c=>!c.children&&(!this.state.columnsSelectorShow||i.count<15)&&c.data.sumVisibility?this.renderItem(c,void 0,i):null))):e.children&&r.push(e.children.map(c=>(!this.state.columnsSelectorShow||i.count<15)&&c.data.sumVisibility?this.renderItem(c,void 0,i):null))),r}calculateColumnsVisibility(e,t,i,r){let o=r||this.state.columnsWidths;const n=i||this.state.columnsForAdmin,M=t||this.state.columns||[],c=typeof e!="boolean"?this.state.columnsAuto:e;o=JSON.parse(JSON.stringify(o)),Object.keys(o).forEach(N=>{o[N]&&(o[N]=parseInt(o[N],10)||0)}),this.adapterColumns=[];const l=ze[this.props.width||"lg"].widths;if(c){if(this.columnsVisibility={id:ze[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&l.name||0,nameHeader:this.visibleCols.includes("name")&&l.name||0,type:this.visibleCols.includes("type")&&l.type||0,role:this.visibleCols.includes("role")&&l.role||0,room:this.visibleCols.includes("room")&&l.room||0,func:this.visibleCols.includes("func")&&l.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&l.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&l.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&l.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&l.lastChange||0,val:this.visibleCols.includes("val")&&l.val||0,buttons:this.visibleCols.includes("buttons")&&l.buttons||0},this.columnsVisibility.name&&!this.customWidth){let N=this.columnsVisibility.id||0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${N+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${N+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let N=0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${N+5}px)`}}else{const N=this.props.width||"lg";this.columnsVisibility={id:o.id||ze[N].idWidth,name:M.includes("name")&&(o.name||l.name||ze[N].widths.name)||0,type:M.includes("type")&&(o.type||l.type||ze[N].widths.type)||0,role:M.includes("role")&&(o.role||l.role||ze[N].widths.role)||0,room:M.includes("room")&&(o.room||l.room||ze[N].widths.room)||0,func:M.includes("func")&&(o.func||l.func||ze[N].widths.func)||0};let u=this.columnsVisibility.id;if(this.columnsVisibility.name&&(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),n&&M&&Object.keys(n).sort().forEach(L=>n[L].forEach(g=>{const j=`_${L}_${g.path}`;if(M.includes(j)){const y={adapter:L,id:`_${L}_${g.path}`,name:g.name,path:g.path.split("."),pathText:g.path};g.edit&&(y.edit=!0,g.type&&(y.type=g.type),g.objTypes&&(y.objTypes=g.objTypes)),this.adapterColumns.push(y),this.columnsVisibility[j]=o[y.id]||g.width||ze[N].widths.func||ze.xl.widths.func||0,u+=this.columnsVisibility[j]}else this.columnsVisibility[j]=0})),this.adapterColumns.sort((L,g)=>L.id>g.id?-1:L.idj==="id"||typeof this.columnsVisibility[j]=="string"||!this.columnsVisibility[j]?g:g+this.columnsVisibility[j],0);this.columnsVisibility.id=`calc(100% - ${L}px)`}}}resizerMouseMove=e=>{if(this.resizerActiveDiv){let t,i;this.resizeLeft?(t=this.resizerOldWidth-e.clientX+this.resizerPosition,i=this.resizerOldWidthNext+e.clientX-this.resizerPosition):(t=this.resizerOldWidth+e.clientX-this.resizerPosition,i=this.resizerOldWidthNext-e.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||t>this.resizerMin)&&(!this.resizerNextMin||i>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=t,this.resizerCurrentWidths[this.resizerNextName]=i,this.resizerActiveDiv.style.width=`${t}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${i}px`),this.columnsVisibility[this.resizerActiveName]=t,this.columnsVisibility[this.resizerNextName]=i,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=i-this.state.scrollBarWidth,this.resizerCurrentWidths.name=i-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(ze[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 i=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!i&&t<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,i=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),t++;(i==null?void 0:i.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 i,r;const t=this.state.selectedNonObject||this.state.selected[0];if(t){if(e.code==="ArrowUp"||e.code==="ArrowDown"){e.preventDefault();const o=[];(i=this.tableRef.current)==null||i.childNodes.forEach(l=>o.push(l.id));const n=o.indexOf(t),M=e.code==="ArrowDown"?n+1:n-1,c=o[M]||t;this.onSelect(c),this.scrollToItem(c)}if((e.code==="ArrowRight"||e.code==="ArrowLeft")&&this.toggleExpanded(t),e.code==="Delete"&&this.root&&t){const o=_o.getItemFromRoot(this.root,t);if(o){const{obj:n}=o.data;n&&!((r=n.common)!=null&&r.dontDelete)&&this.showDeleteDialog({id:t,obj:n,item:o})}}}}static getItemFromRoot(e,t){const i=t.split(".");let r="",o=e;for(let n=0;n{this.customWidth=!1,ze[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(J,{component:"div",className:"iob-ob-resize-handler",sx:{...z.resizeHandle,...z.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(W,{onClick:()=>this.clearFilter(),style:z.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},a.createElement(O5e,null),a.createElement(we,{style:z.buttonClearFilterIcon}))),this.props.width==="xs"?a.createElement("div",{style:z.headerRow},a.createElement("div",{style:{...z.headerCell,width:"100%"}},this.getFilterInput("id"))):a.createElement("div",{style:z.headerRow},a.createElement("div",{style:{...z.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:{...z.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:{...z.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:{...z.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:{...z.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:{...z.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:{...z.headerCell,...z.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:{...z.headerCell,...z.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:{...z.headerCell,...z.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),a.createElement("div",{style:{...z.headerCell,...z.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:{...z.headerCell,...z.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:{...z.headerCell,...z.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:{...z.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return a.createElement(Xn,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:a.createElement(W,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},a.createElement(we,{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(i=>this.showError(`Cannot write object: ${i}`)),onClose:t=>{var i,r;if(t){let o;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((i=this.objects[this.state.editObjectDialog].common)==null?void 0:i.alias)!==JSON.stringify((r=t.common)==null?void 0:r.alias)&&(o=this.state.editObjectDialog),this.props.socket.setObject(t._id,t).then(()=>{o&&this.subscribes.includes(o)&&(this.unsubscribe(o),setTimeout(()=>this.subscribe(o),100))}).catch(n=>this.showError(`Cannot write object: ${n}`))}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,i)=>setTimeout(()=>this.onSelect(t,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(t),setTimeout(()=>this.setState({editObjectDialog:t,showAliasEditor:"",editObjectAlias:!0}),300)})),i||0)})}showAddDataPointDialog(e,t,i){this.setState({showContextMenu:null,modalNewObj:{id:e,initialType:t,initialStateType:i}})}renderAliasMenu(){return this.state.aliasMenu?a.createElement(ws,{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(re,{key:e,onClick:()=>this.onSelect(e)},a.createElement(dt,null,this.renderAliasLink(this.state.aliasMenu,t,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var L,g,j,y,T,d,I;if(!this.state.showContextMenu)return null;const e=this.state.showContextMenu.item,t=e.data.id,i=[],r=e.data.obj;let o="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!r)o="---";else{const w=r.acl?r.type==="state"?r.acl.state:r.acl.object:0,A=r.acl&&(r.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);o=Number.isNaN(Number(w))?Number(A).toString(16):Number(w).toString(16)}const n=!this.props.notEditable&&r&&(this.state.filter.expertMode||r.type==="state"||r.type==="channel"||r.type==="device"),M=!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",c=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="device"||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",N=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",u={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&r&&(this.state.filter.expertMode||X0(t))),icon:a.createElement(or,{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&&r&&r.type==="state"&&((L=r.common)==null?void 0:L.type)!=="file"&&(this.state.filter.expertMode||r.common.write!==!1)),icon:a.createElement(iy,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{var w;this.edit={val:this.states[t]?this.states[t].val:"",q:((w=this.states[t])==null?void 0:w.q)||0,ack:!1,id:t},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(r==null?void 0:r.type)==="state"&&((g=r.common)==null?void 0:g.type)==="file",icon:a.createElement(qj,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(r==null?void 0:r._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&r&&r.type==="state"&&((j=r.common)==null?void 0:j.type)!=="file"),icon:a.createElement(ea,{fontSize:"small",style:e.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:z.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var w;this.pauseSubscribe(!0),(w=this.props.router)==null||w.doNavigate(null,"customs",t),this.setState({customDialog:[t],showContextMenu:null})}},ACL:{key:"3",visibility:!!o,icon:o,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&&n&&this.props.objectBrowserEditRole),icon:a.createElement(Uj,{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:!!n,icon:a.createElement(Yj,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const w=Rs(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!n,icon:a.createElement(Fj,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const w=Rs(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(r==null?void 0:r.type)==="state"&&((y=r.common)==null?void 0:y.type)!=="file"),icon:a.createElement(kN,{style:(T=r==null?void 0:r.common)!=null&&T.alias?this.styles.cellButtonsButtonWithCustoms:z.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 w;(w=r==null?void 0:r.common)!=null&&w.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."))&&(M||c||l||N),icon:a.createElement(qn,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:z.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","number")},{label:this.texts.createStringState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","string")},{label:this.texts.createState,visibility:M,icon:a.createElement(rr,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state")},{label:this.texts.createChannel,visibility:c,icon:a.createElement(sg,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"channel")},{label:this.texts.createDevice,visibility:l,icon:a.createElement(ig,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"device")},{label:this.texts.createFolder,icon:a.createElement(ON,{fontSize:"small"}),visibility:N,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(Zj,null),label:this.props.t("ra_Rename_Move_Copy"),onClick:()=>{const w=Object.keys(this.objects),A=`${e.data.id}.`;this.setState({showContextMenu:null,showRenameDialog:{id:e.data.id,childrenIds:w.filter(p=>p.startsWith(A))}})}},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((d=e.children)!=null&&d.length||r&&!((I=r.common)!=null&&I.dontDelete))),icon:a.createElement(wt,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:t,obj:r||{},item:e}))}};return Object.keys(u).forEach(w=>{var A,p;u[w].visibility&&(u[w].subMenu?(i.push(a.createElement(re,{key:w,href:"",onClick:h=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:w,subAnchor:h.target}}),style:u[w].style},a.createElement(Xt,{style:{...u[w].iconStyle,...u[w].listItemIconStyle}},u[w].icon),a.createElement(dt,null,u[w].label,"..."),a.createElement("div",{style:{...z.contextMenuKeys,opacity:1}},a.createElement(kj,null)))),((A=this.state.showContextMenu)==null?void 0:A.subItem)===w&&i.push(a.createElement(ws,{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=u[w].subMenu)==null?void 0:p.map(h=>h.visibility?a.createElement(re,{key:h.label,onClick:h.onClick,style:h.style},a.createElement(Xt,{style:{...h.iconStyle,...h.listItemIconStyle||void 0}},h.icon),a.createElement(dt,null,h.label)):null)))):i.push(a.createElement(re,{key:w,onClick:u[w].onClick,sx:u[w].style},a.createElement(Xt,{style:{...u[w].iconStyle,...u[w].listItemIconStyle}},u[w].icon),a.createElement(dt,null,u[w].label),u[w].key?a.createElement("div",{style:z.contextMenuKeys},`Alt+${u[w].key==="Delete"?this.props.t("ra_Del"):u[w].key}`):null)))}),i.length?a.createElement(ws,{key:"contextMenu",open:!0,onKeyUp:w=>{w.preventDefault(),w.altKey&&Object.keys(u).forEach(A=>{w.key===u[A].key&&u[A].onClick&&u[A].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},i):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var r;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=(r=this.objects[this.edit.id].common)!=null&&r.type?this.objects[this.edit.id].common.type:typeof this.edit.val,t=this.objects[this.edit.id].common.role,i=this.props.objectBrowserValue;return a.createElement(i,{t:this.props.t,lang:this.props.lang,type:e,role:t||"",states:m.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:o=>{this.setState({updateOpened:!1}),o&&this.onUpdate(o)},width:this.props.width})}doFilter(e){if(!this.objects||!this.root)return;e||this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(this.state.filter));const t={count:0};Sa(this.root,this.state.filter,this.props.lang,this.objects,void 0,t,this.props.customFilter,this.props.types),t.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):t.count>=500&&this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!1})):this.forceUpdate()}render(){if(this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:m.getStyle(this.props.theme,z.cellIdIconFolder),cellIdIconDocument:m.getStyle(this.props.theme,z.cellIdIconDocument),iconDeviceError:m.getStyle(this.props.theme,z.iconDeviceError),iconDeviceConnected:m.getStyle(this.props.theme,z.iconDeviceConnected),iconDeviceDisconnected:m.getStyle(this.props.theme,z.iconDeviceDisconnected),cellButtonsButtonWithCustoms:m.getStyle(this.props.theme,z.cellButtonsButtonWithCustoms),invertedBackground:m.getStyle(this.props.theme,z.invertedBackground),invertedBackgroundFlex:m.getStyle(this.props.theme,z.invertedBackgroundFlex),contextMenuEdit:m.getStyle(this.props.theme,z.contextMenuEdit),contextMenuEditValue:m.getStyle(this.props.theme,z.contextMenuEditValue),contextMenuView:m.getStyle(this.props.theme,z.contextMenuView),contextMenuCustom:m.getStyle(this.props.theme,z.contextMenuCustom),contextMenuACL:m.getStyle(this.props.theme,z.contextMenuACL),contextMenuRoom:m.getStyle(this.props.theme,z.contextMenuRoom),contextMenuRole:m.getStyle(this.props.theme,z.contextMenuRole),contextMenuDelete:m.getStyle(this.props.theme,z.contextMenuDelete),filterInput:m.getStyle(this.props.theme,z.headerCellInput,z.filterInput),iconCopy:m.getStyle(this.props.theme,z.cellButtonsValueButton,z.cellButtonsValueButtonCopy),aliasReadWrite:m.getStyle(this.props.theme,z.cellIdAlias,z.cellIdAliasReadWrite),aliasAlone:m.getStyle(this.props.theme,z.cellIdAlias,z.cellIdAliasAlone)},this.styleTheme=this.props.themeType),this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),this.expertMode!==!!this.state.filter.expertMode&&(this.expertMode=!!this.state.filter.expertMode,this.doFilter(!0)),!this.state.loaded)return a.createElement(So,{key:`${this.props.dialogName}_c`});const e=this.root?this.renderItem(this.root,void 0):null;return a.createElement(E5e,{key:this.props.dialogName},a.createElement("style",null,` @keyframes newValueAnimation-light { 0% { color: #00f900; @@ -653,8 +653,8 @@ body { text-decoration: underline; cursor: pointer; } -`),a.createElement(E5e,null,this.getToolbar()),a.createElement(O5e,null,this.renderHeader(),a.createElement(J,{style:z.tableDiv,ref:this.tableRef,onKeyDown:t=>this.navigateKeyPress(t)},e)),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.renderInputJsonDialog(),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 J5e=Mn()(_o);class bve 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?wy:we;return a.createElement(J,{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"?a.createElement(We,{style:{color:"#0F0"}}):this.props.type==="info"?a.createElement(tM,{color:"primary"}):a.createElement(Iy,{color:this.props.type}),a.createElement(Hg,{ref:this.refTypo},this.props.children),this.props.closeable?a.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?a.createElement("div",{style:{width:22}}):null,e?a.createElement(J,{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 f={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"})},Wn=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],qr=["January","February","March","April","May","June","July","August","September","October","November","December"],Jn={minutes:"minutes",hours:"hours"},Gi=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function xt(s){return s<10?`0${s}`:`${s}`}const K0={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 Bn(s){const e=s.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class Ee extends De{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=K0),t={...K0,...t},t.valid.from||=Ee.now2string(),this.refFrom=a.createRef(),this.refTo=a.createRef(),this.refOnce=a.createRef(),this.state={schedule:t,desc:Ee.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)}componentWillUnmount(){this.timerOnce&&(clearTimeout(this.timerOnce),this.timerOnce=null),this.timerFrom&&(clearTimeout(this.timerFrom),this.timerFrom=null),this.timerTo&&(clearTimeout(this.timerTo),this.timerTo=null)}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:Ee.state2text(e)});const n=JSON.parse(JSON.stringify(e));if(n.period.once){const M=n.period.once;delete n.period,n.period={once:M},delete n.valid}else if(n.period.days){const M=n.period.days,c=n.period.dows;delete n.period,n.period={days:M},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.weeks){const M=n.period.weeks,c=n.period.dows;delete n.period,n.period={weeks:M},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.months){const M=n.period.months,c=n.period.dates;delete n.period,n.period={months:M},c&&c!=="[]"&&(n.period.dates=c)}else if(n.period.years){const M=n.period.years,c=n.period.yearMonth,l=n.period.yearDate;delete n.period,n.period={years:M,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 M=Ee.string2date(n.valid.from),c=new Date;c.setHours(0),c.setMinutes(0),c.setSeconds(0),c.setMilliseconds(0),M<=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),Ee.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],i=Ee.string2date(e.valid.from);if(e.period.once){const r=Ee.string2date(e.period.once),o=new Date;if(o.setMilliseconds(0),o.setSeconds(0),o.setMinutes(0),o.setHours(0),rD.t(Wn[n]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const n=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),n))}}}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 r=JSON.parse(e.period.dows);if(r.length===2&&r[0]===0&&r[1]===6)t.push(D.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(D.t("sch_desc_onWorkdays"));else{const o=r.map(n=>D.t(Wn[n]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const n=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),n))}}}else return D.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(D.t("sch_desc_onDate",r[0]));else if(r.length===31)t.push(D.t("sch_desc_onEveryDate"));else if(r.length){const o=r.pop();t.push(D.t("sch_desc_onDates",r.join(", "),o))}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 o=JSON.parse(e.period.months).map(n=>D.t(qr[n-1]));if(!o.length)return D.t("sch_desc_never");if(o.length===1)t.push(D.t("sch_desc_onMonth",o[0]));else if(o.length===12)t.push(D.t("sch_desc_everyMonth"));else{const n=o.pop();t.push(D.t("sch_desc_onMonths",o.join(", "),n))}}}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(qr[e.period.yearMonth-1]):D.t("sch_desc_everyMonth"))));if(e.time.exactTime)Gi.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===Jn.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 r=Gi.indexOf(e.time.start)!==-1?D.t(`sch_astro_${e.time.start}`):e.time.start,o=Gi.indexOf(e.time.end)!==-1?D.t(`sch_astro_${e.time.end}`):e.time.end;(r!=="00:00"||o!=="24:00"&&o!=="23:59")&&t.push(D.t("sch_desc_intervalFromTo",r,o))}return e.period.once||(i.getTime()>Date.now()&&e.valid.to?t.push(D.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):i.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,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),a.createElement("div",{key:"timePeriod",style:f.rowDiv},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.inputRadio,checked:!e.time.exactTime,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.exactTime=!1,this.onChange(n)}}),label:D.t("sch_intervalTime")})),a.createElement("div",{style:f.settingsDiv},a.createElement("div",{style:f.settingsDiv},!e.time.exactTime&&a.createElement("div",null,a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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?"":D.t("sch_fromTo")}),o&&[a.createElement(Te,{variant:"standard",style:{...f.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 M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start=n.target.value,this.onChange(M)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_from"),margin:"normal"}),a.createElement(Te,{variant:"standard",style:f.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 M=JSON.parse(JSON.stringify(this.state.schedule));M.time.end=n.target.value,this.onChange(M)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_wholeDay")})),!e.time.exactTime&&a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_astroDay")})),!e.time.exactTime&&a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(o)))}getTimeExactElements(){const e=Gi.includes(this.state.schedule.time.start);return a.createElement("div",{key:"timeExact",style:f.rowDiv},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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(nt,{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)}},a.createElement(re,{key:"specific",value:"00:00"},D.t("sch_specificTime")),Gi.map(t=>a.createElement(re,{key:t,value:t},D.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&a.createElement("div",{style:f.settingsDiv},a.createElement(Te,{variant:"standard",style:f.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 a.createElement("hr",{style:f.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=Ee.now2string(!0)),[a.createElement("div",{key:"once",style:{...f.rowDiv,...f.rowOnce}},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.inputRadio,checked:!!t,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.once||=Ee.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:D.t("sch_periodOnce")})),t&&a.createElement("div",{style:f.settingsDiv},a.createElement(Te,{variant:"standard",style:f.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:Bn(e.period.once),onChange:i=>{this.timerOnce&&clearTimeout(this.timerOnce),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=Ee.string2date(r);n.toString()!=="Invalid Date"&&(o.period.once=`${xt(n.getDate())}.${xt(n.getMonth()+1)}.${n.getFullYear()}`,this.onChange(o))},1500,i.target.value)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_at"),margin:"normal"}))),a.createElement(J,{component:"div",key:"days",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowDays)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodDaily")})),a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),a.createElement(J,{component:"div",key:"weeks",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowDows)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodWeekly")})),a.createElement(J,{component:"div",style:f.settingsDiv},a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsWeekly()),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,f.settingsDiv,f.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),a.createElement(J,{component:"div",key:"months",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowMonths)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodMonthly")})),a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?a.createElement(J,null,a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,f.settingsDiv,f.rowMonthsDates)},a.createElement(V,{control:a.createElement(ue,{style:f.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:D.t("sch_periodDates")})),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,f.settingsDiv,f.rowMonthsDates)},this.getPeriodSettingsDates())):null)),a.createElement(J,{component:"div",key:"years",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowYears)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodYearly")})),a.createElement("div",{style:f.settingsDiv},a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&a.createElement("div",{style:f.settingsDiv},a.createElement("span",null,D.t("sch_on")),a.createElement(qt,{key:"input",value:this.state.schedule.period.yearDate,style:f.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)}}),a.createElement(nt,{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)}},a.createElement(re,{key:"every",value:0},D.t("sch_yearEveryMonth")),qr.map((i,r)=>a.createElement(re,{key:i,value:r+1},D.t(i)))))))]}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(qt,{value:this.state.schedule.time.interval,style:{...f.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)}}),a.createElement(nt,{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)}},a.createElement(re,{value:Jn.minutes},D.t("sch_periodMinutes")),a.createElement(re,{value:Jn.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(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodWorkdays")})),a.createElement("div",{key:"weekend"},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodWeekend")})),a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},a.createElement(V,{style:{verticalAlign:"top"},control:a.createElement(Me,{style:f.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:D.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&a.createElement(Nn,{row:!0,style:{...f.inputGroup,width:150}},[1,2,3,4,5,6,0].map(i=>a.createElement(V,{key:`specific_${i}`,style:f.inputGroupElement,control:a.createElement(ue,{style:f.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((M,c)=>M-c),o.period.dows=JSON.stringify(n),o.period.days&&(o.period.days=1),this.onChange(o)}}),label:D.t(Wn[i])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[a.createElement("div",{key:"every_day"},a.createElement(V,{control:a.createElement(Me,{style:f.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(V,{control:a.createElement(Me,{style:f.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(qt,{key:"input",value:this.state.schedule.period.days,style:f.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)}}),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(V,{control:a.createElement(Me,{style:f.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(V,{control:a.createElement(Me,{style:f.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(qt,{key:"input",value:this.state.schedule.period.weeks,style:f.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)}}),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 r=1;r<=31;r++)t.push(r);const i=JSON.parse(e.period.dates);return a.createElement(Nn,{row:!0,style:{...f.inputGroup,maxWidth:620}},a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.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:D.t("sch_all")}),a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.inputDateDayCheck,checked:!i.length,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.dates="[]",this.onChange(r)}}),label:D.t("sch_no_one")}),i.length!==31&&!!i.length&&a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.inputDateDayCheck,checked:!1,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[],n=JSON.parse(r.period.dates);for(let M=1;M<=31;M++)n.includes(M)||o.push(M);o.sort((M,c)=>M-c),r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:D.t("sch_invert")}),a.createElement("div",null),t.map(r=>a.createElement(V,{key:`date_${r}`,style:r?f.inputDateDay:{...f.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:a.createElement(ue,{style:f.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(r),onChange:o=>{const n=JSON.parse(JSON.stringify(this.state.schedule));let M;try{M=JSON.parse(n.period.dates)}catch{M=[]}o.target.checked&&!M.includes(r)?M.push(r):!o.target.checked&&M.includes(r)&&M.splice(M.indexOf(r),1),M.sort((c,l)=>c-l),n.period.dates=JSON.stringify(M),this.onChange(n)}}),label:r<10?[a.createElement("span",{key:"0",style:{opacity:0}},"0"),a.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[a.createElement("div",{key:"every"},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodEveryMonth")})),a.createElement("div",{key:"everyN"},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[a.createElement(qt,{key:"input",value:e.period.months,style:f.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)}}),a.createElement("span",{key:"text"},D.t("sch_periodMonth"))]),a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},a.createElement(V,{style:{verticalAlign:"top"},control:a.createElement(Me,{style:f.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:D.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&a.createElement(Nn,{row:!0,style:f.inputGroup},a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.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:D.t("sch_all")}),a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.inputDateDayCheck,checked:!t.length,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months="[]",this.onChange(i)}}),label:D.t("sch_no_one")}),t.length!==12&&!!t.length&&a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.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,M)=>n-M),i.period.months=JSON.stringify(r),this.onChange(i)}}),label:D.t("sch_invert")}),a.createElement("div",null),qr.map((i,r)=>a.createElement(V,{key:`month_${r}`,style:f.inputGroupElement,control:a.createElement(ue,{style:f.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 M;try{M=JSON.parse(n.period.months)}catch{M=[]}o.target.checked&&!M.includes(r+1)?M.push(r+1):!o.target.checked&&M.includes(r+1)&&M.splice(M.indexOf(r+1),1),M.sort((c,l)=>c-l),n.period.months=JSON.stringify(M),this.onChange(n)}}),label:D.t(i)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[a.createElement("div",{key:"year"},a.createElement(V,{control:a.createElement(Me,{style:f.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(V,{control:a.createElement(Me,{style:f.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(qt,{key:"input",value:this.state.schedule.period.years,style:f.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)}}),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)),`${xt(t.getDate())}.${xt(t.getMonth()+1)}.${xt(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:f.rowDiv},a.createElement("div",{style:{...f.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:f.settingsDiv},a.createElement(Te,{variant:"standard",style:{...f.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:Bn(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=Ee.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.from=`${xt(o.getDate())}.${xt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),a.createElement(V,{control:a.createElement(ue,{style:f.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":Ee.now2string(!0),this.onChange(t)}}),label:D.t("sch_validTo")}),!!e.valid.to&&a.createElement(Te,{variant:"standard",inputRef:this.refTo,style:{...f.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:Bn(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=Ee.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.to=`${xt(o.getDate())}.${xt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},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:f.scrollWindow},a.createElement("h5",null,D.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),Ee.getDivider(),a.createElement("h5",null,D.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&Ee.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const eo={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class Uve extends De{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:m.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:m.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:D.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:D.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:m.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const i=a.createElement(nt,{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(be,{src:e==null?void 0:e.icon,style:eo.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?eo.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=>a.createElement(re,{style:this.props.different&&r.value===this.props.different?eo.different:{color:r.color||void 0,backgroundColor:m.getInvertedColor(r.color||"",this.props.themeType)},key:r.value,value:r.value},r.icon?a.createElement(be,{src:r.icon,style:eo.icon}):null,r.name)));return this.props.dense?i:a.createElement(Qt,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},a.createElement(yi,null,this.props.label),i)}}class $ve extends De{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 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 a.createElement(Vg,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return a.createElement(AN,{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 Pve(s){var o,n,M,c,l,N,u,L,g;const e=s.value;let t;const i=s.removePrefix||"";if(typeof e=="string"){const j=s.list;if(j)if(Array.isArray(j)){const y=j.find(T=>(T==null?void 0:T._id)===i+e);y?t={name:m.getObjectNameFromObj(y,s.lang).replace("system.group.",""),value:y._id,icon:s.icon||((o=y.common)==null?void 0:o.icon),color:s.color||((n=y.common)==null?void 0:n.color)}:t={name:e,value:i+e}}else if(j[i+e]){const y=j[i+e];t={name:m.getObjectNameFromObj(y,s.lang).replace("system.group.",""),value:y._id,icon:s.icon||((M=y.common)==null?void 0:M.icon),color:s.color||((c=y.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 j=e;t={name:m.getObjectNameFromObj(j,s.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:j._id,icon:s.icon||((l=j.common)==null?void 0:l.icon),color:s.color||((N=j.common)==null?void 0:N.color)}}const r=t!=null&&t.color?{border:`1px solid ${m.invertColor(t==null?void 0:t.color)}`,color:m.getInvertedColor(t==null?void 0:t.color,s.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return a.createElement("div",{style:{...s.style||void 0,...Rn.div,...r||void 0},className:m.clsx(s.className,(u=s.moreClasses)==null?void 0:u.root),title:s.title||t.value},t!=null&&t.icon?a.createElement(be,{src:t==null?void 0:t.icon,className:(L=s.moreClasses)==null?void 0:L.icon,style:Rn.icon}):null,a.createElement("div",{style:Rn.text,className:(g=s.moreClasses)==null?void 0:g.text},t==null?void 0:t.name))}function Wve({themeName:s,toggleTheme:e,t,className:i,style:r,size:o}){return a.createElement("div",{className:i||void 0,style:r||void 0},a.createElement(Le,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{onClick:()=>e(),size:o||"medium"},s==="dark"&&a.createElement(Uj,{className:i}),s==="blue"&&a.createElement($j,{className:i}),s==="colored"&&a.createElement(eM,{className:i}),s!=="dark"&&s!=="blue"&&s!=="colored"&&a.createElement(Pj,{className:i}))))}function cn(){return(cn=Object.assign||function(s){for(var e=1;e=0||(r[t]=s[t]);return r}function Qa(s){var e=et(s),t=et(function(i){e.current&&e.current(i)});return e.current=s,t.current}var yr=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),s>t?t:s0:T.buttons>0)&&r.current?o(q0(r.current,T,M.current)):y(!1)},j=function(){return y(!1)};function y(T){var d=c.current,I=ba(r.current),w=T?I.addEventListener:I.removeEventListener;w(d?"touchmove":"mousemove",g),w(d?"touchend":"mouseup",j)}return[function(T){var d=T.nativeEvent,I=r.current;if(I&&(eN(d),!(function(A,p){return p&&!Mr(A)})(d,c.current)&&I)){if(Mr(d)){c.current=!0;var w=d.changedTouches||[];w.length&&(M.current=w[0].identifier)}I.focus(),o(q0(I,d,M.current)),y(!0)}},function(T){var d=T.which||T.keyCode;d<37||d>40||(T.preventDefault(),n({left:d===39?.05:d===37?-.05:0,top:d===40?.05:d===38?-.05:0}))},y]},[n,o]),N=l[0],u=l[1],L=l[2];return Ce(function(){return L},[L]),a.createElement("div",cn({},i,{onTouchStart:N,onMouseDown:N,className:"react-colorful__interactive",ref:r,onKeyDown:u,tabIndex:0,role:"slider"}))}),Lc=function(s){return s.filter(Boolean).join(" ")},yg=function(s){var e=s.color,t=s.left,i=s.top,r=i===void 0?.5:i,o=Lc(["react-colorful__pointer",s.className]);return a.createElement("div",{className:o,style:{top:100*r+"%",left:100*t+"%"}},a.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},Se=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*s)/t},B5e=function(s){return V5e(Ua(s))},Ua=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?Se(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?Se(parseInt(s.substring(6,8),16)/255,2):1}},R5e=function(s){return H5e(G5e(s))},F5e=function(s){var e=s.s,t=s.v,i=s.a,r=(200-e)*t/100;return{h:Se(s.h),s:Se(r>0&&r<200?e*t/100/(r<=100?r:200-r)*100:0),l:Se(r/2),a:Se(i,2)}},$a=function(s){var e=F5e(s);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},G5e=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),M=i*(1-(e-o)*t),c=i*(1-(1-e+o)*t),l=o%6;return{r:Se(255*[i,M,n,n,c,i][l]),g:Se(255*[c,i,i,M,n,n][l]),b:Se(255*[n,n,c,i,i,M][l]),a:Se(r,2)}},to=function(s){var e=s.toString(16);return e.length<2?"0"+e:e},H5e=function(s){var e=s.r,t=s.g,i=s.b,r=s.a,o=r<1?to(Se(255*r)):"";return"#"+to(e)+to(t)+to(i)+o},V5e=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),M=n?o===e?(t-i)/n:o===t?2+(i-e)/n:4+(e-t)/n:0;return{h:Se(60*(M<0?M+6:M)),s:Se(o?n/o*100:0),v:Se(o/255*100),a:r}},Z5e=a.memo(function(s){var e=s.hue,t=s.onChange,i=Lc(["react-colorful__hue",s.className]);return a.createElement("div",{className:i},a.createElement(jg,{onMove:function(r){t({h:360*r.left})},onKey:function(r){t({h:yr(e+360*r.left,0,360)})},"aria-label":"Hue","aria-valuenow":Se(e),"aria-valuemax":"360","aria-valuemin":"0"},a.createElement(yg,{className:"react-colorful__hue-pointer",left:e/360,color:$a({h:e,s:100,v:100,a:1})})))}),X5e=a.memo(function(s){var e=s.hsva,t=s.onChange,i={backgroundColor:$a({h:e.h,s:100,v:100,a:1})};return a.createElement("div",{className:"react-colorful__saturation",style:i},a.createElement(jg,{onMove:function(r){t({s:100*r.left,v:100-100*r.top})},onKey:function(r){t({s:yr(e.s+100*r.left,0,100),v:yr(e.v-100*r.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Se(e.s)+"%, Brightness "+Se(e.v)+"%"},a.createElement(yg,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:$a(e)})))}),Tg=function(s,e){if(s===e)return!0;for(var t in s)if(s[t]!==e[t])return!1;return!0},K5e=function(s,e){return s.toLowerCase()===e.toLowerCase()||Tg(Ua(s),Ua(e))};function q5e(s,e,t){var i=Qa(t),r=Ka(function(){return s.toHsva(e)}),o=r[0],n=r[1],M=et({color:e,hsva:o});Ce(function(){if(!s.equal(e,M.current.color)){var l=s.toHsva(e);M.current={hsva:l,color:e},n(l)}},[e,s]),Ce(function(){var l;Tg(o,M.current.hsva)||s.equal(l=s.fromHsva(o),M.current.color)||(M.current={hsva:o,color:l},i(l))},[o,s,i]);var c=Kt(function(l){n(function(N){return Object.assign({},N,l)})},[]);return[o,c]}var eke=typeof window<"u"?$g:Ce,tke=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},tN=new Map,ske=function(s){eke(function(){var e=s.current?s.current.ownerDocument:document;if(e!==void 0&&!tN.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}`,tN.set(e,t);var i=tke();i&&t.setAttribute("nonce",i),e.head.appendChild(t)}},[])},ike=function(s){var e=s.className,t=s.colorModel,i=s.color,r=i===void 0?t.defaultColor:i,o=s.onChange,n=gg(s,["className","colorModel","color","onChange"]),M=et(null);ske(M);var c=q5e(t,r,o),l=c[0],N=c[1],u=Lc(["react-colorful",e]);return a.createElement("div",cn({},n,{ref:M,className:u}),a.createElement(X5e,{hsva:l,onChange:N}),a.createElement(Z5e,{hue:l.h,onChange:N,className:"react-colorful__last-control"}))},rke={defaultColor:"000",toHsva:B5e,fromHsva:function(s){return R5e({h:s.h,s:s.s,v:s.v,a:1})},equal:K5e},oke=function(s){return a.createElement(ike,cn({},s,{colorModel:rke}))};class nke extends De{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=[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(Ae,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},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(fe,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),a.createElement(_e,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},a.createElement(J5e,{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,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 M={};for(const c of o)try{M[c]=await this.props.socket.getObject(c)}catch{}n=await this.props.onSelectConfirm(o,M)}this.setState({selected:o,name:i,selectionBlocked:!n},()=>r&&this.handleOk())}else r&&this.handleOk()},filterFunc:this.filterFunc,title:"",onAllLoaded:()=>this.setState({allLoaded:!0})})),a.createElement(xe,null,a.createElement(q,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:a.createElement(We,null),disabled:!this.state.allLoaded||!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||D.t("ra_Ok")),a.createElement(q,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}function is(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 is(s[i],e)}function Dg(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]={}),Dg(s[i],e,t)}const B={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 sN(s,e,t,i){const r=is(s,t,i)||"",o=is(e,t,i)||"";return or?1:0}function ake(s,e,t){return s==="desc"?(i,r)=>sN(i,r,e,t):(i,r)=>-sN(i,r,e,t)}function Mke(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 Pa extends De{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}}componentWillUnmount(){this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=null)}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const i=[];let r=0;return e.data&&t.data&&e.data.forEach(o=>{var M;r++;const n=(M=t.data)==null?void 0:M.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=is(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 a.createElement(nt,{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 a.createElement(re,{key:r,value:i},(o=e.lookup)==null?void 0:o[i])}))}renderCellEditString(e,t){return a.createElement(Te,{variant:"standard",style:B.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 a.createElement(Te,{variant:"standard",style:B.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?a.createElement(r,{value:t,rowData:i,onChange:o=>this.onChange(e,t,o)}):null}renderCellEditBoolean(e,t){return a.createElement(ue,{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 a.createElement(Ae,{sx:{"& .MuiPaper-root":B.root,"& .MuiPaper-paper":B.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},a.createElement(oke,{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 a.createElement("div",{style:B.fieldEdit},a.createElement(Te,{variant:"standard",fullWidth:!0,style:B.fieldEditWithButton,value:i,inputProps:{style:{backgroundColor:i,color:m.isUseBright(i)?"#FFF":"#000"}},onChange:r=>this.onChange(e,!!t,r.target.value)}),a.createElement(W,{style:B.fieldButton,onClick:()=>{this.selectCallback=r=>this.onChange(e,t,r),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},a.createElement(Bj,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?a.createElement(nke,{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:B.fieldEdit},a.createElement(Te,{variant:"standard",fullWidth:!0,style:B.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)}),a.createElement(W,{style:B.fieldButton,onClick:()=>{this.selectCallback=i=>this.onChange(e,t,i),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},a.createElement(hy,null)))}static renderCellNonEdit(e,t){let i=is(e,t.field,t.lookup);return Array.isArray(i)&&(i=i[0]),t.type==="boolean"?a.createElement(ue,{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?a.createElement(it,{key:t.field,style:{...B.cell,...i?B.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):a.createElement(it,{key:t.field,style:{...B.cell,...i?B.cellSecondary:void 0,...t.cellStyle},component:"th"},Pa.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const i=is(e,t.field,t.lookup);if(t.subField){const r=is(e,t.subField,t.subLookup);return a.createElement("div",null,a.createElement("div",{style:B.mainText},i),a.createElement("div",{style:{...B.subText,...t.subStyle||void 0}},r))}return a.createElement("div",null,a.createElement("div",{style:B.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),M=a.createElement(kc,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&B.glow||void 0,...B.row,...t?B.rowSecondary:void 0,...!t&&n.length?B.rowMainWithChildren:void 0,...!t&&!n.length?B.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==r?B.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==r?B.rowNoEdit:void 0}},a.createElement(it,{style:{...B.cell,...B.cellExpand,...t?B.cellSecondary:void 0}},n.length?a.createElement(W,{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?a.createElement(Xj,null):a.createElement(cy,null)):null),a.createElement(it,{scope:"row",style:{...B.cell,...t?B.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:i*t}},this.props.columns[0].subField?Pa.renderCellWithSubField(e,this.props.columns[0]):is(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?a.createElement(it,{style:{...B.cell,...B.cellButton}},this.state.editMode===r||this.state.deleteMode===r?a.createElement(W,{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 Dg(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"},a.createElement(We,null)):a.createElement(W,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:r,editData:null}),size:"large"},a.createElement(or,null))):null,this.props.onDelete&&!this.props.onUpdate?a.createElement(it,{style:{...B.cell,...B.cellButton}},this.state.deleteMode===r?a.createElement(W,{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(We,null)):null):null,this.props.onUpdate||this.props.onDelete?a.createElement(it,{style:{...B.cell,...B.cellButton}},this.state.editMode===r||this.state.deleteMode===r?a.createElement(W,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},a.createElement(we,null)):this.props.onDelete?a.createElement(W,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:r}),size:"large"},a.createElement(wt,null)):null):null);if(!t&&o){const c=n.map(l=>this.renderLine(l,t+1));return c.unshift(M),c}return M}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return a.createElement(Zg,null,a.createElement(kc,{key:"headerRow"},a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B.cellExpand)}),a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B[`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(vc,{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:B.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:a.createElement(it,{key:e.field,sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:a.createElement(vc,{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:B.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B.cellButton)},this.props.noAdd?null:a.createElement(bt,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},a.createElement(Kn,null))):null,this.props.onDelete||this.props.onUpdate?a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,i=Mke(this.props.data,ake(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:B.tableContainer,className:this.props.className},a.createElement(AN,{style:B.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),a.createElement(Xg,null,i.map(r=>this.renderLine(r)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}function iN(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(s,r).enumerable})),t.push.apply(t,i)}return t}function dg(s){for(var e=1;es.length)&&(e=s.length);for(var t=0,i=new Array(e);t
',Ake=Number.isNaN||pt.isNaN;function ee(s){return typeof s=="number"&&!Ake(s)}var yN=function(e){return e>0&&e<1/0};function Fn(s){return typeof s>"u"}function ms(s){return Wa(s)==="object"&&s!==null}var mke=Object.prototype.hasOwnProperty;function gi(s){if(!ms(s))return!1;try{var e=s.constructor,t=e.prototype;return e&&t&&mke.call(t,"isPrototypeOf")}catch{return!1}}function Fe(s){return typeof s=="function"}var fke=Array.prototype.slice;function Og(s){return Array.from?Array.from(s):fke.call(s)}function pe(s,e){return s&&Fe(e)&&(Array.isArray(s)||ee(s.length)?Og(s).forEach(function(t,i){e.call(s,t,i,s)}):ms(s)&&Object.keys(s).forEach(function(t){e.call(s,s[t],t,s)})),s}var ye=Object.assign||function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r0&&i.forEach(function(o){ms(o)&&Object.keys(o).forEach(function(n){e[n]=o[n]})}),e},Oke=/\.\d*(?:0|9){12}\d*$/;function Di(s){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Oke.test(s)?Math.round(s*e)/e:s}var Eke=/^width|height|left|top|marginLeft|marginTop$/;function os(s,e){var t=s.style;pe(e,function(i,r){Eke.test(r)&&ee(i)&&(i="".concat(i,"px")),t[r]=i})}function _ke(s,e){return s.classList?s.classList.contains(e):s.className.indexOf(e)>-1}function me(s,e){if(e){if(ee(s.length)){pe(s,function(i){me(i,e)});return}if(s.classList){s.classList.add(e);return}var t=s.className.trim();t?t.indexOf(e)<0&&(s.className="".concat(t," ").concat(e)):s.className=e}}function Ct(s,e){if(e){if(ee(s.length)){pe(s,function(t){Ct(t,e)});return}if(s.classList){s.classList.remove(e);return}s.className.indexOf(e)>=0&&(s.className=s.className.replace(e,""))}}function ji(s,e,t){if(e){if(ee(s.length)){pe(s,function(i){ji(i,e,t)});return}t?me(s,e):Ct(s,e)}}var xke=/([a-z\d])([A-Z])/g;function Dc(s){return s.replace(xke,"$1-$2").toLowerCase()}function Xa(s,e){return ms(s[e])?s[e]:s.dataset?s.dataset[e]:s.getAttribute("data-".concat(Dc(e)))}function Dr(s,e,t){ms(t)?s[e]=t:s.dataset?s.dataset[e]=t:s.setAttribute("data-".concat(Dc(e)),t)}function Ske(s,e){if(ms(s[e]))try{delete s[e]}catch{s[e]=void 0}else if(s.dataset)try{delete s.dataset[e]}catch{s.dataset[e]=void 0}else s.removeAttribute("data-".concat(Dc(e)))}var Eg=/\s\s*/,_g=(function(){var s=!1;if(un){var e=!1,t=function(){},i=Object.defineProperty({},"once",{get:function(){return s=!0,e},set:function(o){e=o}});pt.addEventListener("test",t,i),pt.removeEventListener("test",t,i)}return s})();function lt(s,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split(Eg).forEach(function(o){if(!_g){var n=s.listeners;n&&n[o]&&n[o][t]&&(r=n[o][t],delete n[o][t],Object.keys(n[o]).length===0&&delete n[o],Object.keys(n).length===0&&delete s.listeners)}s.removeEventListener(o,r,i)})}function rt(s,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split(Eg).forEach(function(o){if(i.once&&!_g){var n=s.listeners,M=n===void 0?{}:n;r=function(){delete M[o][t],s.removeEventListener(o,r,i);for(var l=arguments.length,N=new Array(l),u=0;uMath.abs(t)&&(t=L)})}),t}function io(s,e){var t=s.pageX,i=s.pageY,r={endX:t,endY:i};return e?r:dg({startX:t,startY:i},r)}function Yke(s){var e=0,t=0,i=0;return pe(s,function(r){var o=r.startX,n=r.startY;e+=o,t+=n,i+=1}),e/=i,t/=i,{pageX:e,pageY:t}}function ns(s){var e=s.aspectRatio,t=s.height,i=s.width,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",o=yN(i),n=yN(t);if(o&&n){var M=t*e;r==="contain"&&M>i||r==="cover"&&M90?{width:c,height:M}:{width:M,height:c}}function bke(s,e,t,i){var r=e.aspectRatio,o=e.naturalWidth,n=e.naturalHeight,M=e.rotate,c=M===void 0?0:M,l=e.scaleX,N=l===void 0?1:l,u=e.scaleY,L=u===void 0?1:u,g=t.aspectRatio,j=t.naturalWidth,y=t.naturalHeight,T=i.fillColor,d=T===void 0?"transparent":T,I=i.imageSmoothingEnabled,w=I===void 0?!0:I,A=i.imageSmoothingQuality,p=A===void 0?"low":A,h=i.maxWidth,C=h===void 0?1/0:h,E=i.maxHeight,O=E===void 0?1/0:E,b=i.minWidth,k=b===void 0?0:b,K=i.minHeight,x=K===void 0?0:K,S=document.createElement("canvas"),R=S.getContext("2d"),he=ns({aspectRatio:g,width:C,height:O}),Xe=ns({aspectRatio:g,width:k,height:x},"cover"),ct=Math.min(he.width,Math.max(Xe.width,j)),bs=Math.min(he.height,Math.max(Xe.height,y)),ln=ns({aspectRatio:r,width:C,height:O}),bi=ns({aspectRatio:r,width:k,height:x},"cover"),Ui=Math.min(ln.width,Math.max(bi.width,o)),$i=Math.min(ln.height,Math.max(bi.height,n)),Yr=[-Ui/2,-$i/2,Ui,$i];return S.width=Di(ct),S.height=Di(bs),R.fillStyle=d,R.fillRect(0,0,ct,bs),R.save(),R.translate(ct/2,bs/2),R.rotate(c*Math.PI/180),R.scale(N,L),R.imageSmoothingEnabled=w,R.imageSmoothingQuality=p,R.drawImage.apply(R,[s].concat(zg(Yr.map(function(Qr){return Math.floor(Di(Qr))})))),R.restore(),S}var Sg=String.fromCharCode;function Uke(s,e,t){var i="";t+=e;for(var r=e;r0;)t.push(Sg.apply(null,Og(r.subarray(0,i)))),r=r.subarray(i);return"data:".concat(e,";base64,").concat(btoa(t.join("")))}function Jke(s){var e=new DataView(s),t;try{var i,r,o;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var n=e.byteLength,M=2;M+1=8&&(o=l+u)}}}if(o){var L=e.getUint16(o,i),g,j;for(j=0;j=0?o:mg),height:Math.max(i.offsetHeight,n>=0?n:fg)};this.containerData=M,os(r,{width:M.width,height:M.height}),me(e,Ge),Ct(r,Ge)},initCanvas:function(){var e=this.containerData,t=this.imageData,i=this.options.viewMode,r=Math.abs(t.rotate)%180===90,o=r?t.naturalHeight:t.naturalWidth,n=r?t.naturalWidth:t.naturalHeight,M=o/n,c=e.width,l=e.height;e.height*M>e.width?i===3?c=e.height*M:l=e.width/M:i===3?l=e.width/M:c=e.height*M;var N={aspectRatio:M,naturalWidth:o,naturalHeight:n,width:c,height:l};this.canvasData=N,this.limited=i===1||i===2,this.limitCanvas(!0,!0),N.width=Math.min(Math.max(N.width,N.minWidth),N.maxWidth),N.height=Math.min(Math.max(N.height,N.minHeight),N.maxHeight),N.left=(e.width-N.width)/2,N.top=(e.height-N.height)/2,N.oldLeft=N.left,N.oldTop=N.top,this.initialCanvasData=ye({},N)},limitCanvas:function(e,t){var i=this.options,r=this.containerData,o=this.canvasData,n=this.cropBoxData,M=i.viewMode,c=o.aspectRatio,l=this.cropped&&n;if(e){var N=Number(i.minCanvasWidth)||0,u=Number(i.minCanvasHeight)||0;M>1?(N=Math.max(N,r.width),u=Math.max(u,r.height),M===3&&(u*c>N?N=u*c:u=N/c)):M>0&&(N?N=Math.max(N,l?n.width:0):u?u=Math.max(u,l?n.height:0):l&&(N=n.width,u=n.height,u*c>N?N=u*c:u=N/c));var L=ns({aspectRatio:c,width:N,height:u});N=L.width,u=L.height,o.minWidth=N,o.minHeight=u,o.maxWidth=1/0,o.maxHeight=1/0}if(t)if(M>(l?0:1)){var g=r.width-o.width,j=r.height-o.height;o.minLeft=Math.min(0,g),o.minTop=Math.min(0,j),o.maxLeft=Math.max(0,g),o.maxTop=Math.max(0,j),l&&this.limited&&(o.minLeft=Math.min(n.left,n.left+(n.width-o.width)),o.minTop=Math.min(n.top,n.top+(n.height-o.height)),o.maxLeft=n.left,o.maxTop=n.top,M===2&&(o.width>=r.width&&(o.minLeft=Math.min(0,g),o.maxLeft=Math.max(0,g)),o.height>=r.height&&(o.minTop=Math.min(0,j),o.maxTop=Math.max(0,j))))}else o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=r.width,o.maxTop=r.height},renderCanvas:function(e,t){var i=this.canvasData,r=this.imageData;if(t){var o=Qke({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),n=o.width,M=o.height,c=i.width*(n/i.naturalWidth),l=i.height*(M/i.naturalHeight);i.left-=(c-i.width)/2,i.top-=(l-i.height)/2,i.width=c,i.height=l,i.aspectRatio=n/M,i.naturalWidth=n,i.naturalHeight=M,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.widthi.maxHeight||i.heightt.width?o.height=o.width/i:o.width=o.height*i),this.cropBoxData=o,this.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*r),o.height=Math.max(o.minHeight,o.height*r),o.left=t.left+(t.width-o.width)/2,o.top=t.top+(t.height-o.height)/2,o.oldLeft=o.left,o.oldTop=o.top,this.initialCropBoxData=ye({},o)},limitCropBox:function(e,t){var i=this.options,r=this.containerData,o=this.canvasData,n=this.cropBoxData,M=this.limited,c=i.aspectRatio;if(e){var l=Number(i.minCropBoxWidth)||0,N=Number(i.minCropBoxHeight)||0,u=M?Math.min(r.width,o.width,o.width+o.left,r.width-o.left):r.width,L=M?Math.min(r.height,o.height,o.height+o.top,r.height-o.top):r.height;l=Math.min(l,r.width),N=Math.min(N,r.height),c&&(l&&N?N*c>l?N=l/c:l=N*c:l?N=l/c:N&&(l=N*c),L*c>u?L=u/c:u=L*c),n.minWidth=Math.min(l,u),n.minHeight=Math.min(N,L),n.maxWidth=u,n.maxHeight=L}t&&(M?(n.minLeft=Math.max(0,o.left),n.minTop=Math.max(0,o.top),n.maxLeft=Math.min(r.width,o.left+o.width)-n.width,n.maxTop=Math.min(r.height,o.top+o.height)-n.height):(n.minLeft=0,n.minTop=0,n.maxLeft=r.width-n.width,n.maxTop=r.height-n.height))},renderCropBox:function(){var e=this.options,t=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.widthi.maxHeight||i.height=t.width&&i.height>=t.height?Ig:yc),os(this.cropBox,ye({width:i.width,height:i.height},cr({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),di(this.element,Fa,this.getData())}},Fke={initPreview:function(){var e=this.element,t=this.crossOrigin,i=this.options.preview,r=t?this.crossOriginUrl:this.url,o=e.alt||"The image to preview",n=document.createElement("img");if(t&&(n.crossOrigin=t),n.src=r,n.alt=o,this.viewBox.appendChild(n),this.viewBoxImage=n,!!i){var M=i;typeof i=="string"?M=e.ownerDocument.querySelectorAll(i):i.querySelector&&(M=[i]),this.previews=M,pe(M,function(c){var l=document.createElement("img");Dr(c,so,{width:c.offsetWidth,height:c.offsetHeight,html:c.innerHTML}),t&&(l.crossOrigin=t),l.src=r,l.alt=o,l.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;"',c.innerHTML="",c.appendChild(l)})}},resetPreview:function(){pe(this.previews,function(e){var t=Xa(e,so);os(e,{width:t.width,height:t.height}),e.innerHTML=t.html,Ske(e,so)})},preview:function(){var e=this.imageData,t=this.canvasData,i=this.cropBoxData,r=i.width,o=i.height,n=e.width,M=e.height,c=i.left-t.left-e.left,l=i.top-t.top-e.top;!this.cropped||this.disabled||(os(this.viewBoxImage,ye({width:n,height:M},cr(ye({translateX:-c,translateY:-l},e)))),pe(this.previews,function(N){var u=Xa(N,so),L=u.width,g=u.height,j=L,y=g,T=1;r&&(T=L/r,y=o*T),o&&y>g&&(T=g/o,j=r*T,y=g),os(N,{width:j,height:y}),os(N.getElementsByTagName("img")[0],ye({width:n*T,height:M*T},cr(ye({translateX:-c*T,translateY:-l*T},e))))}))}},Gke={bind:function(){var e=this.element,t=this.options,i=this.cropper;Fe(t.cropstart)&&rt(e,Va,t.cropstart),Fe(t.cropmove)&&rt(e,Ha,t.cropmove),Fe(t.cropend)&&rt(e,Ga,t.cropend),Fe(t.crop)&&rt(e,Fa,t.crop),Fe(t.zoom)&&rt(e,Za,t.zoom),rt(i,MN,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&rt(i,LN,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&rt(i,aN,this.onDblclick=this.dblclick.bind(this)),rt(e.ownerDocument,cN,this.onCropMove=this.cropMove.bind(this)),rt(e.ownerDocument,uN,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&rt(window,NN,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,i=this.cropper;Fe(t.cropstart)&<(e,Va,t.cropstart),Fe(t.cropmove)&<(e,Ha,t.cropmove),Fe(t.cropend)&<(e,Ga,t.cropend),Fe(t.crop)&<(e,Fa,t.crop),Fe(t.zoom)&<(e,Za,t.zoom),lt(i,MN,this.onCropStart),t.zoomable&&t.zoomOnWheel&<(i,LN,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&<(i,aN,this.onDblclick),lt(e.ownerDocument,cN,this.onCropMove),lt(e.ownerDocument,uN,this.onCropEnd),t.responsive&<(window,NN,this.onResize)}},Hke={resize:function(){if(!this.disabled){var e=this.options,t=this.container,i=this.containerData,r=t.offsetWidth/i.width,o=t.offsetHeight/i.height,n=Math.abs(r-1)>Math.abs(o-1)?r:o;if(n!==1){var M,c;e.restore&&(M=this.getCanvasData(),c=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(pe(M,function(l,N){M[N]=l*n})),this.setCropBoxData(pe(c,function(l,N){c[N]=l*n})))}}},dblclick:function(){this.disabled||this.options.dragMode===Ag||this.setDragMode(_ke(this.dragBox,Ba)?pg:Tc)},wheel:function(e){var t=this,i=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*i,e)))},cropStart:function(e){var t=e.buttons,i=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(ee(t)&&t!==1||ee(i)&&i!==0||e.ctrlKey))){var r=this.options,o=this.pointers,n;e.changedTouches?pe(e.changedTouches,function(M){o[M.identifier]=io(M)}):o[e.pointerId||0]=io(e),Object.keys(o).length>1&&r.zoomable&&r.zoomOnTouch?n=Cg:n=Xa(e.target,Tr),zke.test(n)&&di(this.element,Va,{originalEvent:e,action:n})!==!1&&(e.preventDefault(),this.action=n,this.cropping=!1,n===wg&&(this.cropping=!0,me(this.dragBox,xo)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var i=this.pointers;e.preventDefault(),di(this.element,Ha,{originalEvent:e,action:t})!==!1&&(e.changedTouches?pe(e.changedTouches,function(r){ye(i[r.identifier]||{},io(r,!0))}):ye(i[e.pointerId||0]||{},io(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,i=this.pointers;e.changedTouches?pe(e.changedTouches,function(r){delete i[r.identifier]}):delete i[e.pointerId||0],t&&(e.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,ji(this.dragBox,xo,this.cropped&&this.options.modal)),di(this.element,Ga,{originalEvent:e,action:t}))}}},Vke={change:function(e){var t=this.options,i=this.canvasData,r=this.containerData,o=this.cropBoxData,n=this.pointers,M=this.action,c=t.aspectRatio,l=o.left,N=o.top,u=o.width,L=o.height,g=l+u,j=N+L,y=0,T=0,d=r.width,I=r.height,w=!0,A;!c&&e.shiftKey&&(c=u&&L?u/L:1),this.limited&&(y=o.minLeft,T=o.minTop,d=y+Math.min(r.width,i.width,i.left+i.width),I=T+Math.min(r.height,i.height,i.top+i.height));var p=n[Object.keys(n)[0]],h={x:p.endX-p.startX,y:p.endY-p.startY},C=function(O){switch(O){case js:g+h.x>d&&(h.x=d-g);break;case ys:l+h.xI&&(h.y=I-j);break}};switch(M){case yc:l+=h.x,N+=h.y;break;case js:if(h.x>=0&&(g>=d||c&&(N<=T||j>=I))){w=!1;break}C(js),u+=h.x,u<0&&(M=ys,u=-u,l-=u),c&&(L=u/c,N+=(o.height-L)/2);break;case Vt:if(h.y<=0&&(N<=T||c&&(l<=y||g>=d))){w=!1;break}C(Vt),L-=h.y,N+=h.y,L<0&&(M=Gs,L=-L,N-=L),c&&(u=L*c,l+=(o.width-u)/2);break;case ys:if(h.x<=0&&(l<=y||c&&(N<=T||j>=I))){w=!1;break}C(ys),u-=h.x,l+=h.x,u<0&&(M=js,u=-u,l-=u),c&&(L=u/c,N+=(o.height-L)/2);break;case Gs:if(h.y>=0&&(j>=I||c&&(l<=y||g>=d))){w=!1;break}C(Gs),L+=h.y,L<0&&(M=Vt,L=-L,N-=L),c&&(u=L*c,l+=(o.width-u)/2);break;case Hi:if(c){if(h.y<=0&&(N<=T||g>=d)){w=!1;break}C(Vt),L-=h.y,N+=h.y,u=L*c}else C(Vt),C(js),h.x>=0?gT&&(L-=h.y,N+=h.y):(L-=h.y,N+=h.y);u<0&&L<0?(M=Xi,L=-L,u=-u,N-=L,l-=u):u<0?(M=Vi,u=-u,l-=u):L<0&&(M=Zi,L=-L,N-=L);break;case Vi:if(c){if(h.y<=0&&(N<=T||l<=y)){w=!1;break}C(Vt),L-=h.y,N+=h.y,u=L*c,l+=o.width-u}else C(Vt),C(ys),h.x<=0?l>y?(u-=h.x,l+=h.x):h.y<=0&&N<=T&&(w=!1):(u-=h.x,l+=h.x),h.y<=0?N>T&&(L-=h.y,N+=h.y):(L-=h.y,N+=h.y);u<0&&L<0?(M=Zi,L=-L,u=-u,N-=L,l-=u):u<0?(M=Hi,u=-u,l-=u):L<0&&(M=Xi,L=-L,N-=L);break;case Xi:if(c){if(h.x<=0&&(l<=y||j>=I)){w=!1;break}C(ys),u-=h.x,l+=h.x,L=u/c}else C(Gs),C(ys),h.x<=0?l>y?(u-=h.x,l+=h.x):h.y>=0&&j>=I&&(w=!1):(u-=h.x,l+=h.x),h.y>=0?j=0&&(g>=d||j>=I)){w=!1;break}C(js),u+=h.x,L=u/c}else C(Gs),C(js),h.x>=0?g=0&&j>=I&&(w=!1):u+=h.x,h.y>=0?j0?M=h.y>0?Zi:Hi:h.x<0&&(l-=u,M=h.y>0?Xi:Vi),h.y<0&&(N-=L),this.cropped||(Ct(this.cropBox,Ge),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}w&&(o.width=u,o.height=L,o.left=l,o.top=N,this.action=M,this.renderCropBox()),pe(n,function(E){E.startX=E.endX,E.startY=E.endY})}},Zke={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&me(this.dragBox,xo),Ct(this.cropBox,Ge),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ye({},this.initialImageData),this.canvasData=ye({},this.initialCanvasData),this.cropBoxData=ye({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ye(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Ct(this.dragBox,xo),me(this.cropBox,Ge)),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,pe(this.previews,function(i){i.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,Ct(this.cropper,oN)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,me(this.cropper,oN)),this},destroy:function(){var e=this.element;return e[ge]?(e[ge]=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,i=this.canvasData,r=i.left,o=i.top;return this.moveTo(Fn(e)?e:r+Number(e),Fn(t)?t:o+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,i=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(ee(e)&&(i.left=e,r=!0),ee(t)&&(i.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var i=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(i.width*e/i.naturalWidth,null,t)},zoomTo:function(e,t,i){var r=this.options,o=this.canvasData,n=o.width,M=o.height,c=o.naturalWidth,l=o.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&r.zoomable){var N=c*e,u=l*e;if(di(this.element,Za,{ratio:e,oldRatio:n/c,originalEvent:i})===!1)return this;if(i){var L=this.pointers,g=xg(this.cropper),j=L&&Object.keys(L).length?Yke(L):{pageX:i.pageX,pageY:i.pageY};o.left-=(N-n)*((j.pageX-g.left-o.left)/n),o.top-=(u-M)*((j.pageY-g.top-o.top)/M)}else gi(t)&&ee(t.x)&&ee(t.y)?(o.left-=(N-n)*((t.x-o.left)/n),o.top-=(u-M)*((t.y-o.top)/M)):(o.left-=(N-n)/2,o.top-=(u-M)/2);o.width=N,o.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),ee(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,ee(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(ee(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,i=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(ee(e)&&(i.scaleX=e,r=!0),ee(t)&&(i.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,i=this.imageData,r=this.canvasData,o=this.cropBoxData,n;if(this.ready&&this.cropped){n={x:o.left-r.left,y:o.top-r.top,width:o.width,height:o.height};var M=i.width/i.naturalWidth;if(pe(n,function(N,u){n[u]=N/M}),e){var c=Math.round(n.y+n.height),l=Math.round(n.x+n.width);n.x=Math.round(n.x),n.y=Math.round(n.y),n.width=l-n.x,n.height=c-n.y}}else n={x:0,y:0,width:0,height:0};return t.rotatable&&(n.rotate=i.rotate||0),t.scalable&&(n.scaleX=i.scaleX||1,n.scaleY=i.scaleY||1),n},setData:function(e){var t=this.options,i=this.imageData,r=this.canvasData,o={};if(this.ready&&!this.disabled&&gi(e)){var n=!1;t.rotatable&&ee(e.rotate)&&e.rotate!==i.rotate&&(i.rotate=e.rotate,n=!0),t.scalable&&(ee(e.scaleX)&&e.scaleX!==i.scaleX&&(i.scaleX=e.scaleX,n=!0),ee(e.scaleY)&&e.scaleY!==i.scaleY&&(i.scaleY=e.scaleY,n=!0)),n&&this.renderCanvas(!0,!0);var M=i.width/i.naturalWidth;ee(e.x)&&(o.left=e.x*M+r.left),ee(e.y)&&(o.top=e.y*M+r.top),ee(e.width)&&(o.width=e.width*M),ee(e.height)&&(o.height=e.height*M),this.setCropBoxData(o)}return this},getContainerData:function(){return this.ready?ye({},this.containerData):{}},getImageData:function(){return this.sized?ye({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&pe(["left","top","width","height","naturalWidth","naturalHeight"],function(i){t[i]=e[i]}),t},setCanvasData:function(e){var t=this.canvasData,i=t.aspectRatio;return this.ready&&!this.disabled&&gi(e)&&(ee(e.left)&&(t.left=e.left),ee(e.top)&&(t.top=e.top),ee(e.width)?(t.width=e.width,t.height=e.width/i):ee(e.height)&&(t.height=e.height,t.width=e.height*i),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,i=this.options.aspectRatio,r,o;return this.ready&&this.cropped&&!this.disabled&&gi(e)&&(ee(e.left)&&(t.left=e.left),ee(e.top)&&(t.top=e.top),ee(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),ee(e.height)&&e.height!==t.height&&(o=!0,t.height=e.height),i&&(r?t.height=t.width/i:o&&(t.width=t.height*i)),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,i=bke(this.image,this.imageData,t,e);if(!this.cropped)return i;var r=this.getData(e.rounded),o=r.x,n=r.y,M=r.width,c=r.height,l=i.width/Math.floor(t.naturalWidth);l!==1&&(o*=l,n*=l,M*=l,c*=l);var N=M/c,u=ns({aspectRatio:N,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),L=ns({aspectRatio:N,width:e.minWidth||0,height:e.minHeight||0},"cover"),g=ns({aspectRatio:N,width:e.width||(l!==1?i.width:M),height:e.height||(l!==1?i.height:c)}),j=g.width,y=g.height;j=Math.min(u.width,Math.max(L.width,j)),y=Math.min(u.height,Math.max(L.height,y));var T=document.createElement("canvas"),d=T.getContext("2d");T.width=Di(j),T.height=Di(y),d.fillStyle=e.fillColor||"transparent",d.fillRect(0,0,j,y);var I=e.imageSmoothingEnabled,w=I===void 0?!0:I,A=e.imageSmoothingQuality;d.imageSmoothingEnabled=w,A&&(d.imageSmoothingQuality=A);var p=i.width,h=i.height,C=o,E=n,O,b,k,K,x,S;C<=-M||C>p?(C=0,O=0,k=0,x=0):C<=0?(k=-C,C=0,O=Math.min(p,M+C),x=O):C<=p&&(k=0,O=Math.min(M,p-C),x=O),O<=0||E<=-c||E>h?(E=0,b=0,K=0,S=0):E<=0?(K=-E,E=0,b=Math.min(h,c+E),S=b):E<=h&&(K=0,b=Math.min(c,h-E),S=b);var R=[C,E,O,b];if(x>0&&S>0){var he=j/M;R.push(k*he,K*he,x*he,S*he)}return d.drawImage.apply(d,[i].concat(zg(R.map(function(Xe){return Math.floor(Di(Xe))})))),T},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!Fn(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,i=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var o=e===Tc,n=t.movable&&e===pg;e=o||n?e:Ag,t.dragMode=e,Dr(i,Tr,e),ji(i,Ba,o),ji(i,Ra,n),t.cropBoxMovable||(Dr(r,Tr,e),ji(r,Ba,o),ji(r,Ra,n))}return this}},Xke=pt.Cropper,kg=(function(){function s(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(uke(this,s),!e||!Cke.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=ye({},jN,gi(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 lke(s,[{key:"init",value:function(){var t=this.element,i=t.tagName.toLowerCase(),r;if(!t[ge]){if(t[ge]=this,i==="img"){if(this.isImg=!0,r=t.getAttribute("src")||"",this.originalUrl=r,!r)return;r=t.src}else i==="canvas"&&window.HTMLCanvasElement&&(r=t.toDataURL());this.load(r)}}},{key:"load",value:function(t){var i=this;if(t){this.url=t,this.imageData={};var r=this.element,o=this.options;if(!o.rotatable&&!o.scalable&&(o.checkOrientation=!1),!o.checkOrientation||!window.ArrayBuffer){this.clone();return}if(wke.test(t)){Ike.test(t)?this.read(Pke(t)):this.clone();return}var n=new XMLHttpRequest,M=this.clone.bind(this);this.reloading=!0,this.xhr=n,n.onabort=M,n.onerror=M,n.ontimeout=M,n.onprogress=function(){n.getResponseHeader("content-type")!==gN&&n.abort()},n.onload=function(){i.read(n.response)},n.onloadend=function(){i.reloading=!1,i.xhr=null},o.checkCrossOrigin&&TN(t)&&r.crossOrigin&&(t=DN(t)),n.open("GET",t,!0),n.responseType="arraybuffer",n.withCredentials=r.crossOrigin==="use-credentials",n.send()}}},{key:"read",value:function(t){var i=this.options,r=this.imageData,o=Jke(t),n=0,M=1,c=1;if(o>1){this.url=Wke(t,gN);var l=Bke(o);n=l.rotate,M=l.scaleX,c=l.scaleY}i.rotatable&&(r.rotate=n),i.scalable&&(r.scaleX=M,r.scaleY=c),this.clone()}},{key:"clone",value:function(){var t=this.element,i=this.url,r=t.crossOrigin,o=i;this.options.checkCrossOrigin&&TN(i)&&(r||(r="anonymous"),o=DN(i)),this.crossOrigin=r,this.crossOriginUrl=o;var n=document.createElement("img");r&&(n.crossOrigin=r),n.src=o||i,n.alt=t.alt||"The image to crop",this.image=n,n.onload=this.start.bind(this),n.onerror=this.stop.bind(this),me(n,nN),t.parentNode.insertBefore(n,t.nextSibling)}},{key:"start",value:function(){var t=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var r=pt.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(pt.navigator.userAgent),o=function(l,N){ye(t.imageData,{naturalWidth:l,naturalHeight:N,aspectRatio:l/N}),t.initialImageData=ye({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(i.naturalWidth&&!r){o(i.naturalWidth,i.naturalHeight);return}var n=document.createElement("img"),M=document.body||document.documentElement;this.sizingImage=n,n.onload=function(){o(n.width,n.height),r||M.removeChild(n)},n.src=i.src,r||(n.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;",M.appendChild(n))}},{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,i=this.options,r=this.image,o=t.parentNode,n=document.createElement("div");n.innerHTML=pke;var M=n.querySelector(".".concat(ge,"-container")),c=M.querySelector(".".concat(ge,"-canvas")),l=M.querySelector(".".concat(ge,"-drag-box")),N=M.querySelector(".".concat(ge,"-crop-box")),u=N.querySelector(".".concat(ge,"-face"));this.container=o,this.cropper=M,this.canvas=c,this.dragBox=l,this.cropBox=N,this.viewBox=M.querySelector(".".concat(ge,"-view-box")),this.face=u,c.appendChild(r),me(t,Ge),o.insertBefore(M,t.nextSibling),Ct(r,nN),this.initPreview(),this.bind(),i.initialAspectRatio=Math.max(0,i.initialAspectRatio)||NaN,i.aspectRatio=Math.max(0,i.aspectRatio)||NaN,i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0,me(N,Ge),i.guides||me(N.getElementsByClassName("".concat(ge,"-dashed")),Ge),i.center||me(N.getElementsByClassName("".concat(ge,"-center")),Ge),i.background&&me(M,"".concat(ge,"-bg")),i.highlight||me(u,Tke),i.cropBoxMovable&&(me(u,Ra),Dr(u,Tr,yc)),i.cropBoxResizable||(me(N.getElementsByClassName("".concat(ge,"-line")),Ge),me(N.getElementsByClassName("".concat(ge,"-point")),Ge)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),Fe(i.ready)&&rt(t,lN,i.ready,{once:!0}),di(t,lN)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),Ct(this.element,Ge)}}},{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=Xke,s}},{key:"setDefaults",value:function(t){ye(jN,gi(t)&&t)}}])})();ye(kg.prototype,Rke,Fke,Gke,Hke,Vke,Zke);var zs=function(){return zs=Object.assign||function(s){for(var e,t=1,i=arguments.length;t0&&E.zoomTo(Xe)})(C.currentTarget.cropper,w),T&&T(C)}}));d&&d(h)}return function(){var C,E;(E=(C=A.current)===null||C===void 0?void 0:C.cropper)===null||E===void 0||E.destroy()}}),[A]);var p=(function(h){return Kke.reduce((function(C,E){var O=C,b=E;return O[b],Hn(O,[typeof b=="symbol"?b:b+""])}),h)})(zs(zs({},I),{crossOrigin:c,src:o,alt:y}));return a.createElement("div",{style:n,className:M},a.createElement("img",zs({},p,{style:qke,ref:A})))}));const tve=` +`),a.createElement(x5e,null,this.getToolbar()),a.createElement(_5e,null,this.renderHeader(),a.createElement(J,{style:z.tableDiv,ref:this.tableRef,onKeyDown:t=>this.navigateKeyPress(t)},e)),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.renderInputJsonDialog(),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 R5e=Mn()(_o);class $ve 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?Iy:we;return a.createElement(J,{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"?a.createElement(We,{style:{color:"#0F0"}}):this.props.type==="info"?a.createElement(sM,{color:"primary"}):a.createElement(Cy,{color:this.props.type}),a.createElement(Vg,{ref:this.refTypo},this.props.children),this.props.closeable?a.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?a.createElement("div",{style:{width:22}}):null,e?a.createElement(J,{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 f={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"})},Jn=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],qr=["January","February","March","April","May","June","July","August","September","October","November","December"],Bn={minutes:"minutes",hours:"hours"},Gi=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function xt(s){return s<10?`0${s}`:`${s}`}const eN={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 Rn(s){const e=s.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class Ee extends De{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=eN),t={...eN,...t},t.valid.from||=Ee.now2string(),this.refFrom=a.createRef(),this.refTo=a.createRef(),this.refOnce=a.createRef(),this.state={schedule:t,desc:Ee.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)}componentWillUnmount(){this.timerOnce&&(clearTimeout(this.timerOnce),this.timerOnce=null),this.timerFrom&&(clearTimeout(this.timerFrom),this.timerFrom=null),this.timerTo&&(clearTimeout(this.timerTo),this.timerTo=null)}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:Ee.state2text(e)});const n=JSON.parse(JSON.stringify(e));if(n.period.once){const M=n.period.once;delete n.period,n.period={once:M},delete n.valid}else if(n.period.days){const M=n.period.days,c=n.period.dows;delete n.period,n.period={days:M},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.weeks){const M=n.period.weeks,c=n.period.dows;delete n.period,n.period={weeks:M},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.months){const M=n.period.months,c=n.period.dates;delete n.period,n.period={months:M},c&&c!=="[]"&&(n.period.dates=c)}else if(n.period.years){const M=n.period.years,c=n.period.yearMonth,l=n.period.yearDate;delete n.period,n.period={years:M,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 M=Ee.string2date(n.valid.from),c=new Date;c.setHours(0),c.setMinutes(0),c.setSeconds(0),c.setMilliseconds(0),M<=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),Ee.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],i=Ee.string2date(e.valid.from);if(e.period.once){const r=Ee.string2date(e.period.once),o=new Date;if(o.setMilliseconds(0),o.setSeconds(0),o.setMinutes(0),o.setHours(0),rD.t(Jn[n]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const n=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),n))}}}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 r=JSON.parse(e.period.dows);if(r.length===2&&r[0]===0&&r[1]===6)t.push(D.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(D.t("sch_desc_onWorkdays"));else{const o=r.map(n=>D.t(Jn[n]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const n=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),n))}}}else return D.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(D.t("sch_desc_onDate",r[0]));else if(r.length===31)t.push(D.t("sch_desc_onEveryDate"));else if(r.length){const o=r.pop();t.push(D.t("sch_desc_onDates",r.join(", "),o))}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 o=JSON.parse(e.period.months).map(n=>D.t(qr[n-1]));if(!o.length)return D.t("sch_desc_never");if(o.length===1)t.push(D.t("sch_desc_onMonth",o[0]));else if(o.length===12)t.push(D.t("sch_desc_everyMonth"));else{const n=o.pop();t.push(D.t("sch_desc_onMonths",o.join(", "),n))}}}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(qr[e.period.yearMonth-1]):D.t("sch_desc_everyMonth"))));if(e.time.exactTime)Gi.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===Bn.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 r=Gi.indexOf(e.time.start)!==-1?D.t(`sch_astro_${e.time.start}`):e.time.start,o=Gi.indexOf(e.time.end)!==-1?D.t(`sch_astro_${e.time.end}`):e.time.end;(r!=="00:00"||o!=="24:00"&&o!=="23:59")&&t.push(D.t("sch_desc_intervalFromTo",r,o))}return e.period.once||(i.getTime()>Date.now()&&e.valid.to?t.push(D.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):i.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,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),a.createElement("div",{key:"timePeriod",style:f.rowDiv},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.inputRadio,checked:!e.time.exactTime,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.exactTime=!1,this.onChange(n)}}),label:D.t("sch_intervalTime")})),a.createElement("div",{style:f.settingsDiv},a.createElement("div",{style:f.settingsDiv},!e.time.exactTime&&a.createElement("div",null,a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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?"":D.t("sch_fromTo")}),o&&[a.createElement(Te,{variant:"standard",style:{...f.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 M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start=n.target.value,this.onChange(M)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_from"),margin:"normal"}),a.createElement(Te,{variant:"standard",style:f.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 M=JSON.parse(JSON.stringify(this.state.schedule));M.time.end=n.target.value,this.onChange(M)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_wholeDay")})),!e.time.exactTime&&a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_astroDay")})),!e.time.exactTime&&a.createElement("div",null,a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(o)))}getTimeExactElements(){const e=Gi.includes(this.state.schedule.time.start);return a.createElement("div",{key:"timeExact",style:f.rowDiv},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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(nt,{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)}},a.createElement(re,{key:"specific",value:"00:00"},D.t("sch_specificTime")),Gi.map(t=>a.createElement(re,{key:t,value:t},D.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&a.createElement("div",{style:f.settingsDiv},a.createElement(Te,{variant:"standard",style:f.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 a.createElement("hr",{style:f.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=Ee.now2string(!0)),[a.createElement("div",{key:"once",style:{...f.rowDiv,...f.rowOnce}},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.inputRadio,checked:!!t,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.once||=Ee.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:D.t("sch_periodOnce")})),t&&a.createElement("div",{style:f.settingsDiv},a.createElement(Te,{variant:"standard",style:f.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:Rn(e.period.once),onChange:i=>{this.timerOnce&&clearTimeout(this.timerOnce),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=Ee.string2date(r);n.toString()!=="Invalid Date"&&(o.period.once=`${xt(n.getDate())}.${xt(n.getMonth()+1)}.${n.getFullYear()}`,this.onChange(o))},1500,i.target.value)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_at"),margin:"normal"}))),a.createElement(J,{component:"div",key:"days",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowDays)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodDaily")})),a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),a.createElement(J,{component:"div",key:"weeks",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowDows)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodWeekly")})),a.createElement(J,{component:"div",style:f.settingsDiv},a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsWeekly()),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,f.settingsDiv,f.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),a.createElement(J,{component:"div",key:"months",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowMonths)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodMonthly")})),a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?a.createElement(J,null,a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,f.settingsDiv,f.rowMonthsDates)},a.createElement(V,{control:a.createElement(ue,{style:f.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:D.t("sch_periodDates")})),a.createElement(J,{component:"div",sx:m.getStyle(this.props.theme,f.settingsDiv,f.rowMonthsDates)},this.getPeriodSettingsDates())):null)),a.createElement(J,{component:"div",key:"years",sx:m.getStyle(this.props.theme,f.rowDiv,f.rowYears)},a.createElement("div",{style:f.modeDiv},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodYearly")})),a.createElement("div",{style:f.settingsDiv},a.createElement("div",{style:f.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&a.createElement("div",{style:f.settingsDiv},a.createElement("span",null,D.t("sch_on")),a.createElement(qt,{key:"input",value:this.state.schedule.period.yearDate,style:f.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)}}),a.createElement(nt,{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)}},a.createElement(re,{key:"every",value:0},D.t("sch_yearEveryMonth")),qr.map((i,r)=>a.createElement(re,{key:i,value:r+1},D.t(i)))))))]}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(qt,{value:this.state.schedule.time.interval,style:{...f.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)}}),a.createElement(nt,{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)}},a.createElement(re,{value:Bn.minutes},D.t("sch_periodMinutes")),a.createElement(re,{value:Bn.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(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodWorkdays")})),a.createElement("div",{key:"weekend"},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodWeekend")})),a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},a.createElement(V,{style:{verticalAlign:"top"},control:a.createElement(Me,{style:f.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:D.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&a.createElement(Nn,{row:!0,style:{...f.inputGroup,width:150}},[1,2,3,4,5,6,0].map(i=>a.createElement(V,{key:`specific_${i}`,style:f.inputGroupElement,control:a.createElement(ue,{style:f.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((M,c)=>M-c),o.period.dows=JSON.stringify(n),o.period.days&&(o.period.days=1),this.onChange(o)}}),label:D.t(Jn[i])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[a.createElement("div",{key:"every_day"},a.createElement(V,{control:a.createElement(Me,{style:f.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(V,{control:a.createElement(Me,{style:f.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(qt,{key:"input",value:this.state.schedule.period.days,style:f.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)}}),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(V,{control:a.createElement(Me,{style:f.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(V,{control:a.createElement(Me,{style:f.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(qt,{key:"input",value:this.state.schedule.period.weeks,style:f.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)}}),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 r=1;r<=31;r++)t.push(r);const i=JSON.parse(e.period.dates);return a.createElement(Nn,{row:!0,style:{...f.inputGroup,maxWidth:620}},a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.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:D.t("sch_all")}),a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.inputDateDayCheck,checked:!i.length,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.dates="[]",this.onChange(r)}}),label:D.t("sch_no_one")}),i.length!==31&&!!i.length&&a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.inputDateDayCheck,checked:!1,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[],n=JSON.parse(r.period.dates);for(let M=1;M<=31;M++)n.includes(M)||o.push(M);o.sort((M,c)=>M-c),r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:D.t("sch_invert")}),a.createElement("div",null),t.map(r=>a.createElement(V,{key:`date_${r}`,style:r?f.inputDateDay:{...f.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:a.createElement(ue,{style:f.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(r),onChange:o=>{const n=JSON.parse(JSON.stringify(this.state.schedule));let M;try{M=JSON.parse(n.period.dates)}catch{M=[]}o.target.checked&&!M.includes(r)?M.push(r):!o.target.checked&&M.includes(r)&&M.splice(M.indexOf(r),1),M.sort((c,l)=>c-l),n.period.dates=JSON.stringify(M),this.onChange(n)}}),label:r<10?[a.createElement("span",{key:"0",style:{opacity:0}},"0"),a.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[a.createElement("div",{key:"every"},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodEveryMonth")})),a.createElement("div",{key:"everyN"},a.createElement(V,{control:a.createElement(Me,{style:f.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:D.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[a.createElement(qt,{key:"input",value:e.period.months,style:f.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)}}),a.createElement("span",{key:"text"},D.t("sch_periodMonth"))]),a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},a.createElement(V,{style:{verticalAlign:"top"},control:a.createElement(Me,{style:f.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:D.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&a.createElement(Nn,{row:!0,style:f.inputGroup},a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.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:D.t("sch_all")}),a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.inputDateDayCheck,checked:!t.length,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months="[]",this.onChange(i)}}),label:D.t("sch_no_one")}),t.length!==12&&!!t.length&&a.createElement(V,{style:f.inputDateDay,control:a.createElement(ue,{style:f.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,M)=>n-M),i.period.months=JSON.stringify(r),this.onChange(i)}}),label:D.t("sch_invert")}),a.createElement("div",null),qr.map((i,r)=>a.createElement(V,{key:`month_${r}`,style:f.inputGroupElement,control:a.createElement(ue,{style:f.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 M;try{M=JSON.parse(n.period.months)}catch{M=[]}o.target.checked&&!M.includes(r+1)?M.push(r+1):!o.target.checked&&M.includes(r+1)&&M.splice(M.indexOf(r+1),1),M.sort((c,l)=>c-l),n.period.months=JSON.stringify(M),this.onChange(n)}}),label:D.t(i)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[a.createElement("div",{key:"year"},a.createElement(V,{control:a.createElement(Me,{style:f.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(V,{control:a.createElement(Me,{style:f.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(qt,{key:"input",value:this.state.schedule.period.years,style:f.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)}}),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)),`${xt(t.getDate())}.${xt(t.getMonth()+1)}.${xt(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:f.rowDiv},a.createElement("div",{style:{...f.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:f.settingsDiv},a.createElement(Te,{variant:"standard",style:{...f.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:Rn(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=Ee.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.from=`${xt(o.getDate())}.${xt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),a.createElement(V,{control:a.createElement(ue,{style:f.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":Ee.now2string(!0),this.onChange(t)}}),label:D.t("sch_validTo")}),!!e.valid.to&&a.createElement(Te,{variant:"standard",inputRef:this.refTo,style:{...f.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:Rn(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=Ee.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.to=`${xt(o.getDate())}.${xt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},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:f.scrollWindow},a.createElement("h5",null,D.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),Ee.getDivider(),a.createElement("h5",null,D.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&Ee.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const eo={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class Pve extends De{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:m.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:m.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:D.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:D.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:m.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const i=a.createElement(nt,{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(be,{src:e==null?void 0:e.icon,style:eo.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?eo.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=>a.createElement(re,{style:this.props.different&&r.value===this.props.different?eo.different:{color:r.color||void 0,backgroundColor:m.getInvertedColor(r.color||"",this.props.themeType)},key:r.value,value:r.value},r.icon?a.createElement(be,{src:r.icon,style:eo.icon}):null,r.name)));return this.props.dense?i:a.createElement(Qt,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},a.createElement(yi,null,this.props.label),i)}}class Wve extends De{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 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 a.createElement(Zg,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return a.createElement(fN,{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 Fn={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 Jve(s){var o,n,M,c,l,N,u,L,g;const e=s.value;let t;const i=s.removePrefix||"";if(typeof e=="string"){const j=s.list;if(j)if(Array.isArray(j)){const y=j.find(T=>(T==null?void 0:T._id)===i+e);y?t={name:m.getObjectNameFromObj(y,s.lang).replace("system.group.",""),value:y._id,icon:s.icon||((o=y.common)==null?void 0:o.icon),color:s.color||((n=y.common)==null?void 0:n.color)}:t={name:e,value:i+e}}else if(j[i+e]){const y=j[i+e];t={name:m.getObjectNameFromObj(y,s.lang).replace("system.group.",""),value:y._id,icon:s.icon||((M=y.common)==null?void 0:M.icon),color:s.color||((c=y.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 j=e;t={name:m.getObjectNameFromObj(j,s.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:j._id,icon:s.icon||((l=j.common)==null?void 0:l.icon),color:s.color||((N=j.common)==null?void 0:N.color)}}const r=t!=null&&t.color?{border:`1px solid ${m.invertColor(t==null?void 0:t.color)}`,color:m.getInvertedColor(t==null?void 0:t.color,s.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return a.createElement("div",{style:{...s.style||void 0,...Fn.div,...r||void 0},className:m.clsx(s.className,(u=s.moreClasses)==null?void 0:u.root),title:s.title||t.value},t!=null&&t.icon?a.createElement(be,{src:t==null?void 0:t.icon,className:(L=s.moreClasses)==null?void 0:L.icon,style:Fn.icon}):null,a.createElement("div",{style:Fn.text,className:(g=s.moreClasses)==null?void 0:g.text},t==null?void 0:t.name))}function Bve({themeName:s,toggleTheme:e,t,className:i,style:r,size:o}){return a.createElement("div",{className:i||void 0,style:r||void 0},a.createElement(Le,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{onClick:()=>e(),size:o||"medium"},s==="dark"&&a.createElement($j,{className:i}),s==="blue"&&a.createElement(Pj,{className:i}),s==="colored"&&a.createElement(tM,{className:i}),s!=="dark"&&s!=="blue"&&s!=="colored"&&a.createElement(Wj,{className:i}))))}function cn(){return(cn=Object.assign||function(s){for(var e=1;e=0||(r[t]=s[t]);return r}function ba(s){var e=et(s),t=et(function(i){e.current&&e.current(i)});return e.current=s,t.current}var yr=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),s>t?t:s0:T.buttons>0)&&r.current?o(tN(r.current,T,M.current)):y(!1)},j=function(){return y(!1)};function y(T){var d=c.current,I=Ua(r.current),w=T?I.addEventListener:I.removeEventListener;w(d?"touchmove":"mousemove",g),w(d?"touchend":"mouseup",j)}return[function(T){var d=T.nativeEvent,I=r.current;if(I&&(sN(d),!(function(A,p){return p&&!Mr(A)})(d,c.current)&&I)){if(Mr(d)){c.current=!0;var w=d.changedTouches||[];w.length&&(M.current=w[0].identifier)}I.focus(),o(tN(I,d,M.current)),y(!0)}},function(T){var d=T.which||T.keyCode;d<37||d>40||(T.preventDefault(),n({left:d===39?.05:d===37?-.05:0,top:d===40?.05:d===38?-.05:0}))},y]},[n,o]),N=l[0],u=l[1],L=l[2];return Ce(function(){return L},[L]),a.createElement("div",cn({},i,{onTouchStart:N,onMouseDown:N,className:"react-colorful__interactive",ref:r,onKeyDown:u,tabIndex:0,role:"slider"}))}),gc=function(s){return s.filter(Boolean).join(" ")},Tg=function(s){var e=s.color,t=s.left,i=s.top,r=i===void 0?.5:i,o=gc(["react-colorful__pointer",s.className]);return a.createElement("div",{className:o,style:{top:100*r+"%",left:100*t+"%"}},a.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},Se=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*s)/t},F5e=function(s){return X5e($a(s))},$a=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?Se(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?Se(parseInt(s.substring(6,8),16)/255,2):1}},G5e=function(s){return Z5e(V5e(s))},H5e=function(s){var e=s.s,t=s.v,i=s.a,r=(200-e)*t/100;return{h:Se(s.h),s:Se(r>0&&r<200?e*t/100/(r<=100?r:200-r)*100:0),l:Se(r/2),a:Se(i,2)}},Pa=function(s){var e=H5e(s);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},V5e=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),M=i*(1-(e-o)*t),c=i*(1-(1-e+o)*t),l=o%6;return{r:Se(255*[i,M,n,n,c,i][l]),g:Se(255*[c,i,i,M,n,n][l]),b:Se(255*[n,n,c,i,i,M][l]),a:Se(r,2)}},to=function(s){var e=s.toString(16);return e.length<2?"0"+e:e},Z5e=function(s){var e=s.r,t=s.g,i=s.b,r=s.a,o=r<1?to(Se(255*r)):"";return"#"+to(e)+to(t)+to(i)+o},X5e=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),M=n?o===e?(t-i)/n:o===t?2+(i-e)/n:4+(e-t)/n:0;return{h:Se(60*(M<0?M+6:M)),s:Se(o?n/o*100:0),v:Se(o/255*100),a:r}},K5e=a.memo(function(s){var e=s.hue,t=s.onChange,i=gc(["react-colorful__hue",s.className]);return a.createElement("div",{className:i},a.createElement(yg,{onMove:function(r){t({h:360*r.left})},onKey:function(r){t({h:yr(e+360*r.left,0,360)})},"aria-label":"Hue","aria-valuenow":Se(e),"aria-valuemax":"360","aria-valuemin":"0"},a.createElement(Tg,{className:"react-colorful__hue-pointer",left:e/360,color:Pa({h:e,s:100,v:100,a:1})})))}),q5e=a.memo(function(s){var e=s.hsva,t=s.onChange,i={backgroundColor:Pa({h:e.h,s:100,v:100,a:1})};return a.createElement("div",{className:"react-colorful__saturation",style:i},a.createElement(yg,{onMove:function(r){t({s:100*r.left,v:100-100*r.top})},onKey:function(r){t({s:yr(e.s+100*r.left,0,100),v:yr(e.v-100*r.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Se(e.s)+"%, Brightness "+Se(e.v)+"%"},a.createElement(Tg,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:Pa(e)})))}),Dg=function(s,e){if(s===e)return!0;for(var t in s)if(s[t]!==e[t])return!1;return!0},eke=function(s,e){return s.toLowerCase()===e.toLowerCase()||Dg($a(s),$a(e))};function tke(s,e,t){var i=ba(t),r=qa(function(){return s.toHsva(e)}),o=r[0],n=r[1],M=et({color:e,hsva:o});Ce(function(){if(!s.equal(e,M.current.color)){var l=s.toHsva(e);M.current={hsva:l,color:e},n(l)}},[e,s]),Ce(function(){var l;Dg(o,M.current.hsva)||s.equal(l=s.fromHsva(o),M.current.color)||(M.current={hsva:o,color:l},i(l))},[o,s,i]);var c=Kt(function(l){n(function(N){return Object.assign({},N,l)})},[]);return[o,c]}var ske=typeof window<"u"?Pg:Ce,ike=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},iN=new Map,rke=function(s){ske(function(){var e=s.current?s.current.ownerDocument:document;if(e!==void 0&&!iN.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}`,iN.set(e,t);var i=ike();i&&t.setAttribute("nonce",i),e.head.appendChild(t)}},[])},oke=function(s){var e=s.className,t=s.colorModel,i=s.color,r=i===void 0?t.defaultColor:i,o=s.onChange,n=jg(s,["className","colorModel","color","onChange"]),M=et(null);rke(M);var c=tke(t,r,o),l=c[0],N=c[1],u=gc(["react-colorful",e]);return a.createElement("div",cn({},n,{ref:M,className:u}),a.createElement(q5e,{hsva:l,onChange:N}),a.createElement(K5e,{hue:l.h,onChange:N,className:"react-colorful__last-control"}))},nke={defaultColor:"000",toHsva:F5e,fromHsva:function(s){return G5e({h:s.h,s:s.s,v:s.v,a:1})},equal:eke},ake=function(s){return a.createElement(oke,cn({},s,{colorModel:nke}))};class Mke extends De{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=[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(Ae,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},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(fe,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),a.createElement(_e,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},a.createElement(R5e,{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,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 M={};for(const c of o)try{M[c]=await this.props.socket.getObject(c)}catch{}n=await this.props.onSelectConfirm(o,M)}this.setState({selected:o,name:i,selectionBlocked:!n},()=>r&&this.handleOk())}else r&&this.handleOk()},filterFunc:this.filterFunc,title:"",onAllLoaded:()=>this.setState({allLoaded:!0})})),a.createElement(xe,null,a.createElement(q,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:a.createElement(We,null),disabled:!this.state.allLoaded||!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||D.t("ra_Ok")),a.createElement(q,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}function is(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 is(s[i],e)}function dg(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]={}),dg(s[i],e,t)}const B={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 rN(s,e,t,i){const r=is(s,t,i)||"",o=is(e,t,i)||"";return or?1:0}function cke(s,e,t){return s==="desc"?(i,r)=>rN(i,r,e,t):(i,r)=>-rN(i,r,e,t)}function uke(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 Wa extends De{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}}componentWillUnmount(){this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=null)}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const i=[];let r=0;return e.data&&t.data&&e.data.forEach(o=>{var M;r++;const n=(M=t.data)==null?void 0:M.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=is(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 a.createElement(nt,{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 a.createElement(re,{key:r,value:i},(o=e.lookup)==null?void 0:o[i])}))}renderCellEditString(e,t){return a.createElement(Te,{variant:"standard",style:B.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 a.createElement(Te,{variant:"standard",style:B.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?a.createElement(r,{value:t,rowData:i,onChange:o=>this.onChange(e,t,o)}):null}renderCellEditBoolean(e,t){return a.createElement(ue,{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 a.createElement(Ae,{sx:{"& .MuiPaper-root":B.root,"& .MuiPaper-paper":B.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},a.createElement(ake,{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 a.createElement("div",{style:B.fieldEdit},a.createElement(Te,{variant:"standard",fullWidth:!0,style:B.fieldEditWithButton,value:i,inputProps:{style:{backgroundColor:i,color:m.isUseBright(i)?"#FFF":"#000"}},onChange:r=>this.onChange(e,!!t,r.target.value)}),a.createElement(W,{style:B.fieldButton,onClick:()=>{this.selectCallback=r=>this.onChange(e,t,r),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},a.createElement(Rj,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?a.createElement(Mke,{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:B.fieldEdit},a.createElement(Te,{variant:"standard",fullWidth:!0,style:B.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)}),a.createElement(W,{style:B.fieldButton,onClick:()=>{this.selectCallback=i=>this.onChange(e,t,i),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},a.createElement(zy,null)))}static renderCellNonEdit(e,t){let i=is(e,t.field,t.lookup);return Array.isArray(i)&&(i=i[0]),t.type==="boolean"?a.createElement(ue,{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?a.createElement(it,{key:t.field,style:{...B.cell,...i?B.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):a.createElement(it,{key:t.field,style:{...B.cell,...i?B.cellSecondary:void 0,...t.cellStyle},component:"th"},Wa.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const i=is(e,t.field,t.lookup);if(t.subField){const r=is(e,t.subField,t.subLookup);return a.createElement("div",null,a.createElement("div",{style:B.mainText},i),a.createElement("div",{style:{...B.subText,...t.subStyle||void 0}},r))}return a.createElement("div",null,a.createElement("div",{style:B.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),M=a.createElement(vc,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&B.glow||void 0,...B.row,...t?B.rowSecondary:void 0,...!t&&n.length?B.rowMainWithChildren:void 0,...!t&&!n.length?B.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==r?B.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==r?B.rowNoEdit:void 0}},a.createElement(it,{style:{...B.cell,...B.cellExpand,...t?B.cellSecondary:void 0}},n.length?a.createElement(W,{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?a.createElement(Kj,null):a.createElement(uy,null)):null),a.createElement(it,{scope:"row",style:{...B.cell,...t?B.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:i*t}},this.props.columns[0].subField?Wa.renderCellWithSubField(e,this.props.columns[0]):is(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?a.createElement(it,{style:{...B.cell,...B.cellButton}},this.state.editMode===r||this.state.deleteMode===r?a.createElement(W,{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 dg(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"},a.createElement(We,null)):a.createElement(W,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:r,editData:null}),size:"large"},a.createElement(or,null))):null,this.props.onDelete&&!this.props.onUpdate?a.createElement(it,{style:{...B.cell,...B.cellButton}},this.state.deleteMode===r?a.createElement(W,{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(We,null)):null):null,this.props.onUpdate||this.props.onDelete?a.createElement(it,{style:{...B.cell,...B.cellButton}},this.state.editMode===r||this.state.deleteMode===r?a.createElement(W,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},a.createElement(we,null)):this.props.onDelete?a.createElement(W,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:r}),size:"large"},a.createElement(wt,null)):null):null);if(!t&&o){const c=n.map(l=>this.renderLine(l,t+1));return c.unshift(M),c}return M}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return a.createElement(Xg,null,a.createElement(vc,{key:"headerRow"},a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B.cellExpand)}),a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B[`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(Yc,{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:B.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:a.createElement(it,{key:e.field,sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:a.createElement(Yc,{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:B.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B.cellButton)},this.props.noAdd?null:a.createElement(bt,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},a.createElement(qn,null))):null,this.props.onDelete||this.props.onUpdate?a.createElement(it,{component:"th",sx:m.getStyle(this.props.theme,B.cell,B.cellHeader,B.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,i=uke(this.props.data,cke(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:B.tableContainer,className:this.props.className},a.createElement(fN,{style:B.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),a.createElement(Kg,null,i.map(r=>this.renderLine(r)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}function oN(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(s,r).enumerable})),t.push.apply(t,i)}return t}function hg(s){for(var e=1;es.length)&&(e=s.length);for(var t=0,i=new Array(e);t
',fke=Number.isNaN||pt.isNaN;function ee(s){return typeof s=="number"&&!fke(s)}var DN=function(e){return e>0&&e<1/0};function Gn(s){return typeof s>"u"}function ms(s){return Ja(s)==="object"&&s!==null}var Oke=Object.prototype.hasOwnProperty;function gi(s){if(!ms(s))return!1;try{var e=s.constructor,t=e.prototype;return e&&t&&Oke.call(t,"isPrototypeOf")}catch{return!1}}function Fe(s){return typeof s=="function"}var Eke=Array.prototype.slice;function Eg(s){return Array.from?Array.from(s):Eke.call(s)}function pe(s,e){return s&&Fe(e)&&(Array.isArray(s)||ee(s.length)?Eg(s).forEach(function(t,i){e.call(s,t,i,s)}):ms(s)&&Object.keys(s).forEach(function(t){e.call(s,s[t],t,s)})),s}var ye=Object.assign||function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r0&&i.forEach(function(o){ms(o)&&Object.keys(o).forEach(function(n){e[n]=o[n]})}),e},_ke=/\.\d*(?:0|9){12}\d*$/;function Di(s){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return _ke.test(s)?Math.round(s*e)/e:s}var xke=/^width|height|left|top|marginLeft|marginTop$/;function os(s,e){var t=s.style;pe(e,function(i,r){xke.test(r)&&ee(i)&&(i="".concat(i,"px")),t[r]=i})}function Ske(s,e){return s.classList?s.classList.contains(e):s.className.indexOf(e)>-1}function me(s,e){if(e){if(ee(s.length)){pe(s,function(i){me(i,e)});return}if(s.classList){s.classList.add(e);return}var t=s.className.trim();t?t.indexOf(e)<0&&(s.className="".concat(t," ").concat(e)):s.className=e}}function Ct(s,e){if(e){if(ee(s.length)){pe(s,function(t){Ct(t,e)});return}if(s.classList){s.classList.remove(e);return}s.className.indexOf(e)>=0&&(s.className=s.className.replace(e,""))}}function ji(s,e,t){if(e){if(ee(s.length)){pe(s,function(i){ji(i,e,t)});return}t?me(s,e):Ct(s,e)}}var kke=/([a-z\d])([A-Z])/g;function dc(s){return s.replace(kke,"$1-$2").toLowerCase()}function Ka(s,e){return ms(s[e])?s[e]:s.dataset?s.dataset[e]:s.getAttribute("data-".concat(dc(e)))}function Dr(s,e,t){ms(t)?s[e]=t:s.dataset?s.dataset[e]=t:s.setAttribute("data-".concat(dc(e)),t)}function vke(s,e){if(ms(s[e]))try{delete s[e]}catch{s[e]=void 0}else if(s.dataset)try{delete s.dataset[e]}catch{s.dataset[e]=void 0}else s.removeAttribute("data-".concat(dc(e)))}var _g=/\s\s*/,xg=(function(){var s=!1;if(un){var e=!1,t=function(){},i=Object.defineProperty({},"once",{get:function(){return s=!0,e},set:function(o){e=o}});pt.addEventListener("test",t,i),pt.removeEventListener("test",t,i)}return s})();function lt(s,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split(_g).forEach(function(o){if(!xg){var n=s.listeners;n&&n[o]&&n[o][t]&&(r=n[o][t],delete n[o][t],Object.keys(n[o]).length===0&&delete n[o],Object.keys(n).length===0&&delete s.listeners)}s.removeEventListener(o,r,i)})}function rt(s,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split(_g).forEach(function(o){if(i.once&&!xg){var n=s.listeners,M=n===void 0?{}:n;r=function(){delete M[o][t],s.removeEventListener(o,r,i);for(var l=arguments.length,N=new Array(l),u=0;uMath.abs(t)&&(t=L)})}),t}function io(s,e){var t=s.pageX,i=s.pageY,r={endX:t,endY:i};return e?r:hg({startX:t,startY:i},r)}function bke(s){var e=0,t=0,i=0;return pe(s,function(r){var o=r.startX,n=r.startY;e+=o,t+=n,i+=1}),e/=i,t/=i,{pageX:e,pageY:t}}function ns(s){var e=s.aspectRatio,t=s.height,i=s.width,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",o=DN(i),n=DN(t);if(o&&n){var M=t*e;r==="contain"&&M>i||r==="cover"&&M90?{width:c,height:M}:{width:M,height:c}}function $ke(s,e,t,i){var r=e.aspectRatio,o=e.naturalWidth,n=e.naturalHeight,M=e.rotate,c=M===void 0?0:M,l=e.scaleX,N=l===void 0?1:l,u=e.scaleY,L=u===void 0?1:u,g=t.aspectRatio,j=t.naturalWidth,y=t.naturalHeight,T=i.fillColor,d=T===void 0?"transparent":T,I=i.imageSmoothingEnabled,w=I===void 0?!0:I,A=i.imageSmoothingQuality,p=A===void 0?"low":A,h=i.maxWidth,C=h===void 0?1/0:h,E=i.maxHeight,O=E===void 0?1/0:E,b=i.minWidth,k=b===void 0?0:b,K=i.minHeight,x=K===void 0?0:K,S=document.createElement("canvas"),R=S.getContext("2d"),he=ns({aspectRatio:g,width:C,height:O}),Xe=ns({aspectRatio:g,width:k,height:x},"cover"),ct=Math.min(he.width,Math.max(Xe.width,j)),bs=Math.min(he.height,Math.max(Xe.height,y)),ln=ns({aspectRatio:r,width:C,height:O}),bi=ns({aspectRatio:r,width:k,height:x},"cover"),Ui=Math.min(ln.width,Math.max(bi.width,o)),$i=Math.min(ln.height,Math.max(bi.height,n)),Yr=[-Ui/2,-$i/2,Ui,$i];return S.width=Di(ct),S.height=Di(bs),R.fillStyle=d,R.fillRect(0,0,ct,bs),R.save(),R.translate(ct/2,bs/2),R.rotate(c*Math.PI/180),R.scale(N,L),R.imageSmoothingEnabled=w,R.imageSmoothingQuality=p,R.drawImage.apply(R,[s].concat(wg(Yr.map(function(Qr){return Math.floor(Di(Qr))})))),R.restore(),S}var kg=String.fromCharCode;function Pke(s,e,t){var i="";t+=e;for(var r=e;r0;)t.push(kg.apply(null,Eg(r.subarray(0,i)))),r=r.subarray(i);return"data:".concat(e,";base64,").concat(btoa(t.join("")))}function Rke(s){var e=new DataView(s),t;try{var i,r,o;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var n=e.byteLength,M=2;M+1=8&&(o=l+u)}}}if(o){var L=e.getUint16(o,i),g,j;for(j=0;j=0?o:fg),height:Math.max(i.offsetHeight,n>=0?n:Og)};this.containerData=M,os(r,{width:M.width,height:M.height}),me(e,Ge),Ct(r,Ge)},initCanvas:function(){var e=this.containerData,t=this.imageData,i=this.options.viewMode,r=Math.abs(t.rotate)%180===90,o=r?t.naturalHeight:t.naturalWidth,n=r?t.naturalWidth:t.naturalHeight,M=o/n,c=e.width,l=e.height;e.height*M>e.width?i===3?c=e.height*M:l=e.width/M:i===3?l=e.width/M:c=e.height*M;var N={aspectRatio:M,naturalWidth:o,naturalHeight:n,width:c,height:l};this.canvasData=N,this.limited=i===1||i===2,this.limitCanvas(!0,!0),N.width=Math.min(Math.max(N.width,N.minWidth),N.maxWidth),N.height=Math.min(Math.max(N.height,N.minHeight),N.maxHeight),N.left=(e.width-N.width)/2,N.top=(e.height-N.height)/2,N.oldLeft=N.left,N.oldTop=N.top,this.initialCanvasData=ye({},N)},limitCanvas:function(e,t){var i=this.options,r=this.containerData,o=this.canvasData,n=this.cropBoxData,M=i.viewMode,c=o.aspectRatio,l=this.cropped&&n;if(e){var N=Number(i.minCanvasWidth)||0,u=Number(i.minCanvasHeight)||0;M>1?(N=Math.max(N,r.width),u=Math.max(u,r.height),M===3&&(u*c>N?N=u*c:u=N/c)):M>0&&(N?N=Math.max(N,l?n.width:0):u?u=Math.max(u,l?n.height:0):l&&(N=n.width,u=n.height,u*c>N?N=u*c:u=N/c));var L=ns({aspectRatio:c,width:N,height:u});N=L.width,u=L.height,o.minWidth=N,o.minHeight=u,o.maxWidth=1/0,o.maxHeight=1/0}if(t)if(M>(l?0:1)){var g=r.width-o.width,j=r.height-o.height;o.minLeft=Math.min(0,g),o.minTop=Math.min(0,j),o.maxLeft=Math.max(0,g),o.maxTop=Math.max(0,j),l&&this.limited&&(o.minLeft=Math.min(n.left,n.left+(n.width-o.width)),o.minTop=Math.min(n.top,n.top+(n.height-o.height)),o.maxLeft=n.left,o.maxTop=n.top,M===2&&(o.width>=r.width&&(o.minLeft=Math.min(0,g),o.maxLeft=Math.max(0,g)),o.height>=r.height&&(o.minTop=Math.min(0,j),o.maxTop=Math.max(0,j))))}else o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=r.width,o.maxTop=r.height},renderCanvas:function(e,t){var i=this.canvasData,r=this.imageData;if(t){var o=Uke({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),n=o.width,M=o.height,c=i.width*(n/i.naturalWidth),l=i.height*(M/i.naturalHeight);i.left-=(c-i.width)/2,i.top-=(l-i.height)/2,i.width=c,i.height=l,i.aspectRatio=n/M,i.naturalWidth=n,i.naturalHeight=M,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.widthi.maxHeight||i.heightt.width?o.height=o.width/i:o.width=o.height*i),this.cropBoxData=o,this.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*r),o.height=Math.max(o.minHeight,o.height*r),o.left=t.left+(t.width-o.width)/2,o.top=t.top+(t.height-o.height)/2,o.oldLeft=o.left,o.oldTop=o.top,this.initialCropBoxData=ye({},o)},limitCropBox:function(e,t){var i=this.options,r=this.containerData,o=this.canvasData,n=this.cropBoxData,M=this.limited,c=i.aspectRatio;if(e){var l=Number(i.minCropBoxWidth)||0,N=Number(i.minCropBoxHeight)||0,u=M?Math.min(r.width,o.width,o.width+o.left,r.width-o.left):r.width,L=M?Math.min(r.height,o.height,o.height+o.top,r.height-o.top):r.height;l=Math.min(l,r.width),N=Math.min(N,r.height),c&&(l&&N?N*c>l?N=l/c:l=N*c:l?N=l/c:N&&(l=N*c),L*c>u?L=u/c:u=L*c),n.minWidth=Math.min(l,u),n.minHeight=Math.min(N,L),n.maxWidth=u,n.maxHeight=L}t&&(M?(n.minLeft=Math.max(0,o.left),n.minTop=Math.max(0,o.top),n.maxLeft=Math.min(r.width,o.left+o.width)-n.width,n.maxTop=Math.min(r.height,o.top+o.height)-n.height):(n.minLeft=0,n.minTop=0,n.maxLeft=r.width-n.width,n.maxTop=r.height-n.height))},renderCropBox:function(){var e=this.options,t=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.widthi.maxHeight||i.height=t.width&&i.height>=t.height?Cg:Tc),os(this.cropBox,ye({width:i.width,height:i.height},cr({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),di(this.element,Ga,this.getData())}},Hke={initPreview:function(){var e=this.element,t=this.crossOrigin,i=this.options.preview,r=t?this.crossOriginUrl:this.url,o=e.alt||"The image to preview",n=document.createElement("img");if(t&&(n.crossOrigin=t),n.src=r,n.alt=o,this.viewBox.appendChild(n),this.viewBoxImage=n,!!i){var M=i;typeof i=="string"?M=e.ownerDocument.querySelectorAll(i):i.querySelector&&(M=[i]),this.previews=M,pe(M,function(c){var l=document.createElement("img");Dr(c,so,{width:c.offsetWidth,height:c.offsetHeight,html:c.innerHTML}),t&&(l.crossOrigin=t),l.src=r,l.alt=o,l.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;"',c.innerHTML="",c.appendChild(l)})}},resetPreview:function(){pe(this.previews,function(e){var t=Ka(e,so);os(e,{width:t.width,height:t.height}),e.innerHTML=t.html,vke(e,so)})},preview:function(){var e=this.imageData,t=this.canvasData,i=this.cropBoxData,r=i.width,o=i.height,n=e.width,M=e.height,c=i.left-t.left-e.left,l=i.top-t.top-e.top;!this.cropped||this.disabled||(os(this.viewBoxImage,ye({width:n,height:M},cr(ye({translateX:-c,translateY:-l},e)))),pe(this.previews,function(N){var u=Ka(N,so),L=u.width,g=u.height,j=L,y=g,T=1;r&&(T=L/r,y=o*T),o&&y>g&&(T=g/o,j=r*T,y=g),os(N,{width:j,height:y}),os(N.getElementsByTagName("img")[0],ye({width:n*T,height:M*T},cr(ye({translateX:-c*T,translateY:-l*T},e))))}))}},Vke={bind:function(){var e=this.element,t=this.options,i=this.cropper;Fe(t.cropstart)&&rt(e,Za,t.cropstart),Fe(t.cropmove)&&rt(e,Va,t.cropmove),Fe(t.cropend)&&rt(e,Ha,t.cropend),Fe(t.crop)&&rt(e,Ga,t.crop),Fe(t.zoom)&&rt(e,Xa,t.zoom),rt(i,uN,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&rt(i,jN,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&rt(i,cN,this.onDblclick=this.dblclick.bind(this)),rt(e.ownerDocument,lN,this.onCropMove=this.cropMove.bind(this)),rt(e.ownerDocument,NN,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&rt(window,gN,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,i=this.cropper;Fe(t.cropstart)&<(e,Za,t.cropstart),Fe(t.cropmove)&<(e,Va,t.cropmove),Fe(t.cropend)&<(e,Ha,t.cropend),Fe(t.crop)&<(e,Ga,t.crop),Fe(t.zoom)&<(e,Xa,t.zoom),lt(i,uN,this.onCropStart),t.zoomable&&t.zoomOnWheel&<(i,jN,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&<(i,cN,this.onDblclick),lt(e.ownerDocument,lN,this.onCropMove),lt(e.ownerDocument,NN,this.onCropEnd),t.responsive&<(window,gN,this.onResize)}},Zke={resize:function(){if(!this.disabled){var e=this.options,t=this.container,i=this.containerData,r=t.offsetWidth/i.width,o=t.offsetHeight/i.height,n=Math.abs(r-1)>Math.abs(o-1)?r:o;if(n!==1){var M,c;e.restore&&(M=this.getCanvasData(),c=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(pe(M,function(l,N){M[N]=l*n})),this.setCropBoxData(pe(c,function(l,N){c[N]=l*n})))}}},dblclick:function(){this.disabled||this.options.dragMode===mg||this.setDragMode(Ske(this.dragBox,Ra)?Ag:Dc)},wheel:function(e){var t=this,i=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*i,e)))},cropStart:function(e){var t=e.buttons,i=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(ee(t)&&t!==1||ee(i)&&i!==0||e.ctrlKey))){var r=this.options,o=this.pointers,n;e.changedTouches?pe(e.changedTouches,function(M){o[M.identifier]=io(M)}):o[e.pointerId||0]=io(e),Object.keys(o).length>1&&r.zoomable&&r.zoomOnTouch?n=pg:n=Ka(e.target,Tr),Ike.test(n)&&di(this.element,Za,{originalEvent:e,action:n})!==!1&&(e.preventDefault(),this.action=n,this.cropping=!1,n===Ig&&(this.cropping=!0,me(this.dragBox,xo)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var i=this.pointers;e.preventDefault(),di(this.element,Va,{originalEvent:e,action:t})!==!1&&(e.changedTouches?pe(e.changedTouches,function(r){ye(i[r.identifier]||{},io(r,!0))}):ye(i[e.pointerId||0]||{},io(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,i=this.pointers;e.changedTouches?pe(e.changedTouches,function(r){delete i[r.identifier]}):delete i[e.pointerId||0],t&&(e.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,ji(this.dragBox,xo,this.cropped&&this.options.modal)),di(this.element,Ha,{originalEvent:e,action:t}))}}},Xke={change:function(e){var t=this.options,i=this.canvasData,r=this.containerData,o=this.cropBoxData,n=this.pointers,M=this.action,c=t.aspectRatio,l=o.left,N=o.top,u=o.width,L=o.height,g=l+u,j=N+L,y=0,T=0,d=r.width,I=r.height,w=!0,A;!c&&e.shiftKey&&(c=u&&L?u/L:1),this.limited&&(y=o.minLeft,T=o.minTop,d=y+Math.min(r.width,i.width,i.left+i.width),I=T+Math.min(r.height,i.height,i.top+i.height));var p=n[Object.keys(n)[0]],h={x:p.endX-p.startX,y:p.endY-p.startY},C=function(O){switch(O){case js:g+h.x>d&&(h.x=d-g);break;case ys:l+h.xI&&(h.y=I-j);break}};switch(M){case Tc:l+=h.x,N+=h.y;break;case js:if(h.x>=0&&(g>=d||c&&(N<=T||j>=I))){w=!1;break}C(js),u+=h.x,u<0&&(M=ys,u=-u,l-=u),c&&(L=u/c,N+=(o.height-L)/2);break;case Vt:if(h.y<=0&&(N<=T||c&&(l<=y||g>=d))){w=!1;break}C(Vt),L-=h.y,N+=h.y,L<0&&(M=Gs,L=-L,N-=L),c&&(u=L*c,l+=(o.width-u)/2);break;case ys:if(h.x<=0&&(l<=y||c&&(N<=T||j>=I))){w=!1;break}C(ys),u-=h.x,l+=h.x,u<0&&(M=js,u=-u,l-=u),c&&(L=u/c,N+=(o.height-L)/2);break;case Gs:if(h.y>=0&&(j>=I||c&&(l<=y||g>=d))){w=!1;break}C(Gs),L+=h.y,L<0&&(M=Vt,L=-L,N-=L),c&&(u=L*c,l+=(o.width-u)/2);break;case Hi:if(c){if(h.y<=0&&(N<=T||g>=d)){w=!1;break}C(Vt),L-=h.y,N+=h.y,u=L*c}else C(Vt),C(js),h.x>=0?gT&&(L-=h.y,N+=h.y):(L-=h.y,N+=h.y);u<0&&L<0?(M=Xi,L=-L,u=-u,N-=L,l-=u):u<0?(M=Vi,u=-u,l-=u):L<0&&(M=Zi,L=-L,N-=L);break;case Vi:if(c){if(h.y<=0&&(N<=T||l<=y)){w=!1;break}C(Vt),L-=h.y,N+=h.y,u=L*c,l+=o.width-u}else C(Vt),C(ys),h.x<=0?l>y?(u-=h.x,l+=h.x):h.y<=0&&N<=T&&(w=!1):(u-=h.x,l+=h.x),h.y<=0?N>T&&(L-=h.y,N+=h.y):(L-=h.y,N+=h.y);u<0&&L<0?(M=Zi,L=-L,u=-u,N-=L,l-=u):u<0?(M=Hi,u=-u,l-=u):L<0&&(M=Xi,L=-L,N-=L);break;case Xi:if(c){if(h.x<=0&&(l<=y||j>=I)){w=!1;break}C(ys),u-=h.x,l+=h.x,L=u/c}else C(Gs),C(ys),h.x<=0?l>y?(u-=h.x,l+=h.x):h.y>=0&&j>=I&&(w=!1):(u-=h.x,l+=h.x),h.y>=0?j=0&&(g>=d||j>=I)){w=!1;break}C(js),u+=h.x,L=u/c}else C(Gs),C(js),h.x>=0?g=0&&j>=I&&(w=!1):u+=h.x,h.y>=0?j0?M=h.y>0?Zi:Hi:h.x<0&&(l-=u,M=h.y>0?Xi:Vi),h.y<0&&(N-=L),this.cropped||(Ct(this.cropBox,Ge),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}w&&(o.width=u,o.height=L,o.left=l,o.top=N,this.action=M,this.renderCropBox()),pe(n,function(E){E.startX=E.endX,E.startY=E.endY})}},Kke={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&me(this.dragBox,xo),Ct(this.cropBox,Ge),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ye({},this.initialImageData),this.canvasData=ye({},this.initialCanvasData),this.cropBoxData=ye({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ye(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Ct(this.dragBox,xo),me(this.cropBox,Ge)),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,pe(this.previews,function(i){i.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,Ct(this.cropper,aN)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,me(this.cropper,aN)),this},destroy:function(){var e=this.element;return e[ge]?(e[ge]=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,i=this.canvasData,r=i.left,o=i.top;return this.moveTo(Gn(e)?e:r+Number(e),Gn(t)?t:o+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,i=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(ee(e)&&(i.left=e,r=!0),ee(t)&&(i.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var i=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(i.width*e/i.naturalWidth,null,t)},zoomTo:function(e,t,i){var r=this.options,o=this.canvasData,n=o.width,M=o.height,c=o.naturalWidth,l=o.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&r.zoomable){var N=c*e,u=l*e;if(di(this.element,Xa,{ratio:e,oldRatio:n/c,originalEvent:i})===!1)return this;if(i){var L=this.pointers,g=Sg(this.cropper),j=L&&Object.keys(L).length?bke(L):{pageX:i.pageX,pageY:i.pageY};o.left-=(N-n)*((j.pageX-g.left-o.left)/n),o.top-=(u-M)*((j.pageY-g.top-o.top)/M)}else gi(t)&&ee(t.x)&&ee(t.y)?(o.left-=(N-n)*((t.x-o.left)/n),o.top-=(u-M)*((t.y-o.top)/M)):(o.left-=(N-n)/2,o.top-=(u-M)/2);o.width=N,o.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),ee(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,ee(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(ee(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,i=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(ee(e)&&(i.scaleX=e,r=!0),ee(t)&&(i.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,i=this.imageData,r=this.canvasData,o=this.cropBoxData,n;if(this.ready&&this.cropped){n={x:o.left-r.left,y:o.top-r.top,width:o.width,height:o.height};var M=i.width/i.naturalWidth;if(pe(n,function(N,u){n[u]=N/M}),e){var c=Math.round(n.y+n.height),l=Math.round(n.x+n.width);n.x=Math.round(n.x),n.y=Math.round(n.y),n.width=l-n.x,n.height=c-n.y}}else n={x:0,y:0,width:0,height:0};return t.rotatable&&(n.rotate=i.rotate||0),t.scalable&&(n.scaleX=i.scaleX||1,n.scaleY=i.scaleY||1),n},setData:function(e){var t=this.options,i=this.imageData,r=this.canvasData,o={};if(this.ready&&!this.disabled&&gi(e)){var n=!1;t.rotatable&&ee(e.rotate)&&e.rotate!==i.rotate&&(i.rotate=e.rotate,n=!0),t.scalable&&(ee(e.scaleX)&&e.scaleX!==i.scaleX&&(i.scaleX=e.scaleX,n=!0),ee(e.scaleY)&&e.scaleY!==i.scaleY&&(i.scaleY=e.scaleY,n=!0)),n&&this.renderCanvas(!0,!0);var M=i.width/i.naturalWidth;ee(e.x)&&(o.left=e.x*M+r.left),ee(e.y)&&(o.top=e.y*M+r.top),ee(e.width)&&(o.width=e.width*M),ee(e.height)&&(o.height=e.height*M),this.setCropBoxData(o)}return this},getContainerData:function(){return this.ready?ye({},this.containerData):{}},getImageData:function(){return this.sized?ye({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&pe(["left","top","width","height","naturalWidth","naturalHeight"],function(i){t[i]=e[i]}),t},setCanvasData:function(e){var t=this.canvasData,i=t.aspectRatio;return this.ready&&!this.disabled&&gi(e)&&(ee(e.left)&&(t.left=e.left),ee(e.top)&&(t.top=e.top),ee(e.width)?(t.width=e.width,t.height=e.width/i):ee(e.height)&&(t.height=e.height,t.width=e.height*i),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,i=this.options.aspectRatio,r,o;return this.ready&&this.cropped&&!this.disabled&&gi(e)&&(ee(e.left)&&(t.left=e.left),ee(e.top)&&(t.top=e.top),ee(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),ee(e.height)&&e.height!==t.height&&(o=!0,t.height=e.height),i&&(r?t.height=t.width/i:o&&(t.width=t.height*i)),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,i=$ke(this.image,this.imageData,t,e);if(!this.cropped)return i;var r=this.getData(e.rounded),o=r.x,n=r.y,M=r.width,c=r.height,l=i.width/Math.floor(t.naturalWidth);l!==1&&(o*=l,n*=l,M*=l,c*=l);var N=M/c,u=ns({aspectRatio:N,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),L=ns({aspectRatio:N,width:e.minWidth||0,height:e.minHeight||0},"cover"),g=ns({aspectRatio:N,width:e.width||(l!==1?i.width:M),height:e.height||(l!==1?i.height:c)}),j=g.width,y=g.height;j=Math.min(u.width,Math.max(L.width,j)),y=Math.min(u.height,Math.max(L.height,y));var T=document.createElement("canvas"),d=T.getContext("2d");T.width=Di(j),T.height=Di(y),d.fillStyle=e.fillColor||"transparent",d.fillRect(0,0,j,y);var I=e.imageSmoothingEnabled,w=I===void 0?!0:I,A=e.imageSmoothingQuality;d.imageSmoothingEnabled=w,A&&(d.imageSmoothingQuality=A);var p=i.width,h=i.height,C=o,E=n,O,b,k,K,x,S;C<=-M||C>p?(C=0,O=0,k=0,x=0):C<=0?(k=-C,C=0,O=Math.min(p,M+C),x=O):C<=p&&(k=0,O=Math.min(M,p-C),x=O),O<=0||E<=-c||E>h?(E=0,b=0,K=0,S=0):E<=0?(K=-E,E=0,b=Math.min(h,c+E),S=b):E<=h&&(K=0,b=Math.min(c,h-E),S=b);var R=[C,E,O,b];if(x>0&&S>0){var he=j/M;R.push(k*he,K*he,x*he,S*he)}return d.drawImage.apply(d,[i].concat(wg(R.map(function(Xe){return Math.floor(Di(Xe))})))),T},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!Gn(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,i=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var o=e===Dc,n=t.movable&&e===Ag;e=o||n?e:mg,t.dragMode=e,Dr(i,Tr,e),ji(i,Ra,o),ji(i,Fa,n),t.cropBoxMovable||(Dr(r,Tr,e),ji(r,Ra,o),ji(r,Fa,n))}return this}},qke=pt.Cropper,vg=(function(){function s(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Nke(this,s),!e||!Ake.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=ye({},TN,gi(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 Lke(s,[{key:"init",value:function(){var t=this.element,i=t.tagName.toLowerCase(),r;if(!t[ge]){if(t[ge]=this,i==="img"){if(this.isImg=!0,r=t.getAttribute("src")||"",this.originalUrl=r,!r)return;r=t.src}else i==="canvas"&&window.HTMLCanvasElement&&(r=t.toDataURL());this.load(r)}}},{key:"load",value:function(t){var i=this;if(t){this.url=t,this.imageData={};var r=this.element,o=this.options;if(!o.rotatable&&!o.scalable&&(o.checkOrientation=!1),!o.checkOrientation||!window.ArrayBuffer){this.clone();return}if(Cke.test(t)){pke.test(t)?this.read(Jke(t)):this.clone();return}var n=new XMLHttpRequest,M=this.clone.bind(this);this.reloading=!0,this.xhr=n,n.onabort=M,n.onerror=M,n.ontimeout=M,n.onprogress=function(){n.getResponseHeader("content-type")!==yN&&n.abort()},n.onload=function(){i.read(n.response)},n.onloadend=function(){i.reloading=!1,i.xhr=null},o.checkCrossOrigin&&dN(t)&&r.crossOrigin&&(t=hN(t)),n.open("GET",t,!0),n.responseType="arraybuffer",n.withCredentials=r.crossOrigin==="use-credentials",n.send()}}},{key:"read",value:function(t){var i=this.options,r=this.imageData,o=Rke(t),n=0,M=1,c=1;if(o>1){this.url=Bke(t,yN);var l=Fke(o);n=l.rotate,M=l.scaleX,c=l.scaleY}i.rotatable&&(r.rotate=n),i.scalable&&(r.scaleX=M,r.scaleY=c),this.clone()}},{key:"clone",value:function(){var t=this.element,i=this.url,r=t.crossOrigin,o=i;this.options.checkCrossOrigin&&dN(i)&&(r||(r="anonymous"),o=hN(i)),this.crossOrigin=r,this.crossOriginUrl=o;var n=document.createElement("img");r&&(n.crossOrigin=r),n.src=o||i,n.alt=t.alt||"The image to crop",this.image=n,n.onload=this.start.bind(this),n.onerror=this.stop.bind(this),me(n,MN),t.parentNode.insertBefore(n,t.nextSibling)}},{key:"start",value:function(){var t=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var r=pt.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(pt.navigator.userAgent),o=function(l,N){ye(t.imageData,{naturalWidth:l,naturalHeight:N,aspectRatio:l/N}),t.initialImageData=ye({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(i.naturalWidth&&!r){o(i.naturalWidth,i.naturalHeight);return}var n=document.createElement("img"),M=document.body||document.documentElement;this.sizingImage=n,n.onload=function(){o(n.width,n.height),r||M.removeChild(n)},n.src=i.src,r||(n.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;",M.appendChild(n))}},{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,i=this.options,r=this.image,o=t.parentNode,n=document.createElement("div");n.innerHTML=mke;var M=n.querySelector(".".concat(ge,"-container")),c=M.querySelector(".".concat(ge,"-canvas")),l=M.querySelector(".".concat(ge,"-drag-box")),N=M.querySelector(".".concat(ge,"-crop-box")),u=N.querySelector(".".concat(ge,"-face"));this.container=o,this.cropper=M,this.canvas=c,this.dragBox=l,this.cropBox=N,this.viewBox=M.querySelector(".".concat(ge,"-view-box")),this.face=u,c.appendChild(r),me(t,Ge),o.insertBefore(M,t.nextSibling),Ct(r,MN),this.initPreview(),this.bind(),i.initialAspectRatio=Math.max(0,i.initialAspectRatio)||NaN,i.aspectRatio=Math.max(0,i.aspectRatio)||NaN,i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0,me(N,Ge),i.guides||me(N.getElementsByClassName("".concat(ge,"-dashed")),Ge),i.center||me(N.getElementsByClassName("".concat(ge,"-center")),Ge),i.background&&me(M,"".concat(ge,"-bg")),i.highlight||me(u,dke),i.cropBoxMovable&&(me(u,Fa),Dr(u,Tr,Tc)),i.cropBoxResizable||(me(N.getElementsByClassName("".concat(ge,"-line")),Ge),me(N.getElementsByClassName("".concat(ge,"-point")),Ge)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),Fe(i.ready)&&rt(t,LN,i.ready,{once:!0}),di(t,LN)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),Ct(this.element,Ge)}}},{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=qke,s}},{key:"setDefaults",value:function(t){ye(TN,gi(t)&&t)}}])})();ye(vg.prototype,Gke,Hke,Vke,Zke,Xke,Kke);var zs=function(){return zs=Object.assign||function(s){for(var e,t=1,i=arguments.length;t0&&E.zoomTo(Xe)})(C.currentTarget.cropper,w),T&&T(C)}}));d&&d(h)}return function(){var C,E;(E=(C=A.current)===null||C===void 0?void 0:C.cropper)===null||E===void 0||E.destroy()}}),[A]);var p=(function(h){return eve.reduce((function(C,E){var O=C,b=E;return O[b],Vn(O,[typeof b=="symbol"?b:b+""])}),h)})(zs(zs({},I),{crossOrigin:c,src:o,alt:y}));return a.createElement("div",{style:n,className:M},a.createElement("img",zs({},p,{style:tve,ref:A})))}));const ive=` /*! * Cropper.js v1.5.12 * https://fengyuanchen.github.io/cropperjs @@ -959,7 +959,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho .cropper-disabled .cropper-point { cursor: not-allowed; } -`,Re={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 Jve extends De{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=wN(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=tve,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 M=n!=null&&n.length?`image/${(l=n.pop())==null?void 0:l.toLowerCase()}`:"image/jpeg";if(M==="image/jpg"?M="image/jpeg":M.includes("svg")&&(M="image/svg+xml"),r.size>i)window.alert(D.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(i/1024)));else{const N=`data:${M};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,M=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 a.createElement(fN,{disabled:!!e||u,key:"dropzone",multiple:!1,accept:c,maxSize:M,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,g)=>{var j,y,T;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((T=(y=(j=g==null?void 0:g[0])==null?void 0:j.errors)==null?void 0:y[0])==null?void 0:T.message)||D.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:g})=>a.createElement("div",{style:{...Re.uploadDiv,...l==="dragging"?Re.uploadDivDragging:void 0,...Re.dropZone,...e?Re.disabledOpacity:void 0,...t?void 0:Re.dropZoneEmpty},...L()},a.createElement("input",{...g()}),a.createElement("div",{style:{...Re.uploadCenterDiv,...r?Re.error:void 0}},t?i&&!u&&a.createElement("div",{style:Re.buttonRemoveWrapper},a.createElement(Le,{title:D.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{size:"large",onClick:j=>{i&&i(),j.stopPropagation()}},a.createElement(we,null)))):a.createElement("div",{style:Re.uploadCenterTextAndIcon},a.createElement(jy,{style:Re.uploadCenterIcon}),a.createElement("div",{style:Re.uploadCenterText},l==="dragging"?D.t("ra_Drop file here"):D.t("ra_Place your files here or click here to open the browse dialog"))),t&&o&&a.createElement("div",{style:Re.buttonCropWrapper},a.createElement(Le,{title:D.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{size:"large",onClick:j=>{u?this.setState({anchorEl:j.currentTarget}):this.setState({cropHandler:!0}),j.stopPropagation()}},a.createElement(Gj,{color:u?"primary":"inherit"}))),a.createElement(ws,{anchorEl:N,keepMounted:!0,open:!!N,onClose:()=>this.setState({anchorEl:null})},a.createElement(re,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var y,T;const j=(T=(y=this.cropperRef)==null?void 0:y.current)==null?void 0:T.cropper;j&&(n?n(j.getCroppedCanvas().toDataURL()):console.log(j.getCroppedCanvas().toDataURL()))})},D.t("ra_Save")),a.createElement(re,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},D.t("ra_Close")))),t&&!u?a.createElement(be,{src:t,style:Re.image,alt:"icon"}):null,t&&o&&u?a.createElement(eve,{ref:this.cropperRef,style:Re.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const Zt={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},sve={once:"once"},Ye={seconds:"seconds",minutes:"minutes"},dN=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function zt(s){return s<10?`0${s}`:`${s}`}const ive={mode:"interval",interval:{period:1,unit:Ye.minutes}};function No(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 M=o;M<=n;M++)t.includes(M===7?0:M)||t.push(M===7?0:M)}else{i==="7"&&(i="0");const o=parseInt(i,10);t.includes(o)||t.push(o)}}),t.sort(),t}function vg(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:Ye.minutes}}),i.seconds==="*"&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:1,unit:Ye.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:Ye.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:Ye.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:Ye.seconds,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:No(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:Ye.minutes,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:No(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:`${zt(parseInt(i.hours,10))}:${zt(parseInt(i.minutes,10))}`,weekdays:No(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:`${zt(parseInt(i.hours,10))}:${zt(parseInt(i.minutes,10))}`,date:`${zt(parseInt(i.date,10))}.${zt(parseInt(i.months,10))}`}}),r}class dr extends a.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const i=vg(t||"* * * * *",!0)||ive;this.state={extended:!1,cron:dr.state2cron(i),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Ye.minutes},intervalBetween:{period:1,unit:Ye.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 Ye.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * * * * *`;break;case Ye.minutes:t=`${i.period>1?`*/${i.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const i=e.intervalBetween||{period:1,unit:Ye.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||Ye.minutes,i.unit){case Ye.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * ${r} * * ${this.periodArray2text(i.weekdays)}`;break;case Ye.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=23),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()}.${zt(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 M=parseInt(r[0],10)||0;M>23&&(M=23),M<0&&(M=0);let c=parseInt(o[0],10)||1;c>31&&(c=31),c<1&&(c=1);let l=parseInt(o[1],10)||1;l>12&&(l=12),l<1&&(l=1),t=`${n} ${M} ${c} ${l} *`}return t}recalcCron(){this.onChange(dr.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(i=>a.createElement(V,{key:dN[i],control:a.createElement(ue,{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:D.t(dN[i])})))}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(Te,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.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"}),a.createElement(Te,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.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"})):a.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},a.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),a.createElement(Te,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.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"}),a.createElement(nt,{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())}},a.createElement(re,{value:"seconds"},D.t("sc_seconds")),")",a.createElement(re,{value:"minutes"},D.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return a.createElement(Qt,{variant:"standard",sx:{...Zt.formControl,"&.MuiFormControl-root":Zt.formControlMarginRight}},a.createElement(Te,{variant:"standard",key:"at",label:D.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()}.${zt(t.getMonth()+1)}`}return a.createElement(Qt,{variant:"standard",style:Zt.formControl},a.createElement(Te,{variant:"standard",key:"date",label:D.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:Zt.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 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(Qt,{variant:"standard",style:Zt.formControl},a.createElement(yi,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_from")),a.createElement(nt,{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=>a.createElement(re,{key:`B_${t}`,value:t},`${zt(t)}:00`)))),a.createElement(Qt,{variant:"standard",style:Zt.formControl},a.createElement(yi,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_to")),a.createElement(nt,{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=>a.createElement(re,{key:`A_${t}`,value:t},`${zt(t)}:00`)),!e.timeFrom&&a.createElement(re,{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:Zt.mainDiv},a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},a.createElement(Te,{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"):GL(this.state.cron,this.props.language||"en")),a.createElement("div",null,a.createElement(Qt,{variant:"standard",style:{...Zt.formControl,marginLeft:8,marginTop:8}},a.createElement(yi,null,D.t("ra_Repeat")),a.createElement(nt,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},a.createElement(re,{value:"once"},D.t("sc_once")),a.createElement(re,{value:"interval"},D.t("sc_interval")),a.createElement(re,{value:"intervalBetween"},D.t("sc_intervalBetween")),a.createElement(re,{value:"specific"},D.t("sc_specific"))))),this.state.mode===sve.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}function Bve(s){return a.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},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 Rve(s){return a.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},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 +`,Re={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 Rve extends De{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=CN(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=ive,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 M=n!=null&&n.length?`image/${(l=n.pop())==null?void 0:l.toLowerCase()}`:"image/jpeg";if(M==="image/jpg"?M="image/jpeg":M.includes("svg")&&(M="image/svg+xml"),r.size>i)window.alert(D.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(i/1024)));else{const N=`data:${M};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,M=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 a.createElement(EN,{disabled:!!e||u,key:"dropzone",multiple:!1,accept:c,maxSize:M,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,g)=>{var j,y,T;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((T=(y=(j=g==null?void 0:g[0])==null?void 0:j.errors)==null?void 0:y[0])==null?void 0:T.message)||D.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:g})=>a.createElement("div",{style:{...Re.uploadDiv,...l==="dragging"?Re.uploadDivDragging:void 0,...Re.dropZone,...e?Re.disabledOpacity:void 0,...t?void 0:Re.dropZoneEmpty},...L()},a.createElement("input",{...g()}),a.createElement("div",{style:{...Re.uploadCenterDiv,...r?Re.error:void 0}},t?i&&!u&&a.createElement("div",{style:Re.buttonRemoveWrapper},a.createElement(Le,{title:D.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{size:"large",onClick:j=>{i&&i(),j.stopPropagation()}},a.createElement(we,null)))):a.createElement("div",{style:Re.uploadCenterTextAndIcon},a.createElement(yy,{style:Re.uploadCenterIcon}),a.createElement("div",{style:Re.uploadCenterText},l==="dragging"?D.t("ra_Drop file here"):D.t("ra_Place your files here or click here to open the browse dialog"))),t&&o&&a.createElement("div",{style:Re.buttonCropWrapper},a.createElement(Le,{title:D.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(W,{size:"large",onClick:j=>{u?this.setState({anchorEl:j.currentTarget}):this.setState({cropHandler:!0}),j.stopPropagation()}},a.createElement(Hj,{color:u?"primary":"inherit"}))),a.createElement(ws,{anchorEl:N,keepMounted:!0,open:!!N,onClose:()=>this.setState({anchorEl:null})},a.createElement(re,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var y,T;const j=(T=(y=this.cropperRef)==null?void 0:y.current)==null?void 0:T.cropper;j&&(n?n(j.getCroppedCanvas().toDataURL()):console.log(j.getCroppedCanvas().toDataURL()))})},D.t("ra_Save")),a.createElement(re,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},D.t("ra_Close")))),t&&!u?a.createElement(be,{src:t,style:Re.image,alt:"icon"}):null,t&&o&&u?a.createElement(sve,{ref:this.cropperRef,style:Re.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const Zt={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},rve={once:"once"},Ye={seconds:"seconds",minutes:"minutes"},zN=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function zt(s){return s<10?`0${s}`:`${s}`}const ove={mode:"interval",interval:{period:1,unit:Ye.minutes}};function No(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 M=o;M<=n;M++)t.includes(M===7?0:M)||t.push(M===7?0:M)}else{i==="7"&&(i="0");const o=parseInt(i,10);t.includes(o)||t.push(o)}}),t.sort(),t}function Yg(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:Ye.minutes}}),i.seconds==="*"&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:1,unit:Ye.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:Ye.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:Ye.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:Ye.seconds,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:No(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:Ye.minutes,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:No(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:`${zt(parseInt(i.hours,10))}:${zt(parseInt(i.minutes,10))}`,weekdays:No(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:`${zt(parseInt(i.hours,10))}:${zt(parseInt(i.minutes,10))}`,date:`${zt(parseInt(i.date,10))}.${zt(parseInt(i.months,10))}`}}),r}class dr extends a.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const i=Yg(t||"* * * * *",!0)||ove;this.state={extended:!1,cron:dr.state2cron(i),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Ye.minutes},intervalBetween:{period:1,unit:Ye.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 Ye.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * * * * *`;break;case Ye.minutes:t=`${i.period>1?`*/${i.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const i=e.intervalBetween||{period:1,unit:Ye.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||Ye.minutes,i.unit){case Ye.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * ${r} * * ${this.periodArray2text(i.weekdays)}`;break;case Ye.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=23),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()}.${zt(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 M=parseInt(r[0],10)||0;M>23&&(M=23),M<0&&(M=0);let c=parseInt(o[0],10)||1;c>31&&(c=31),c<1&&(c=1);let l=parseInt(o[1],10)||1;l>12&&(l=12),l<1&&(l=1),t=`${n} ${M} ${c} ${l} *`}return t}recalcCron(){this.onChange(dr.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(i=>a.createElement(V,{key:zN[i],control:a.createElement(ue,{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:D.t(zN[i])})))}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(Te,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.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"}),a.createElement(Te,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.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"})):a.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},a.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),a.createElement(Te,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.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"}),a.createElement(nt,{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())}},a.createElement(re,{value:"seconds"},D.t("sc_seconds")),")",a.createElement(re,{value:"minutes"},D.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return a.createElement(Qt,{variant:"standard",sx:{...Zt.formControl,"&.MuiFormControl-root":Zt.formControlMarginRight}},a.createElement(Te,{variant:"standard",key:"at",label:D.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()}.${zt(t.getMonth()+1)}`}return a.createElement(Qt,{variant:"standard",style:Zt.formControl},a.createElement(Te,{variant:"standard",key:"date",label:D.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:Zt.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 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(Qt,{variant:"standard",style:Zt.formControl},a.createElement(yi,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_from")),a.createElement(nt,{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=>a.createElement(re,{key:`B_${t}`,value:t},`${zt(t)}:00`)))),a.createElement(Qt,{variant:"standard",style:Zt.formControl},a.createElement(yi,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_to")),a.createElement(nt,{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=>a.createElement(re,{key:`A_${t}`,value:t},`${zt(t)}:00`)),!e.timeFrom&&a.createElement(re,{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:Zt.mainDiv},a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},a.createElement(Te,{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"):HL(this.state.cron,this.props.language||"en")),a.createElement("div",null,a.createElement(Qt,{variant:"standard",style:{...Zt.formControl,marginLeft:8,marginTop:8}},a.createElement(yi,null,D.t("ra_Repeat")),a.createElement(nt,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},a.createElement(re,{value:"once"},D.t("sc_once")),a.createElement(re,{value:"interval"},D.t("sc_interval")),a.createElement(re,{value:"intervalBetween"},D.t("sc_intervalBetween")),a.createElement(re,{value:"specific"},D.t("sc_specific"))))),this.state.mode===rve.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}function Fve(s){return a.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},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 Gve(s){return a.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},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 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 @@ -976,11 +976,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 Fve(s){return a.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},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 Hve(s){return a.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},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 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 Gve(s){return a.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},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 rve={dialogPaper:{height:"calc(100% - 96px)"}};class Hve 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=rs.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(E4,{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(Ae,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":rve.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),a.createElement(fe,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),a.createElement(_e,{style:{height:"100%",overflow:"hidden"}},a.createElement(rs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),a.createElement(xe,null,!!this.props.clearButton&&a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:a.createElement(wt,null)},this.props.clear||D.t("ra_Clear")),a.createElement(q,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}const ove={dialogPaper:{height:"calc(100% - 96px)"}};class Vve 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":vg(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(Ae,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":ove.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},a.createElement(fe,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),a.createElement(_e,{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(Me,{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(Me,{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(Me,{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(dr,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()}),this.state.mode==="wizard"&&a.createElement(Ee,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&a.createElement(rs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}class Zve extends De{handleOk(){this.props.onClose&&this.props.onClose()}render(){return a.createElement(Ae,{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(fe,{id:"ar_dialog_message_title"},this.props.title||D.t("ra_Message")),a.createElement(_e,null,a.createElement(as,{id:"ar_dialog_message_description"},a.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),a.createElement(xe,null,a.createElement(q,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(we,null)},this.props.ok||D.t("ra_Close"))))}}const Ts={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 Xve 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 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=[a.createElement("span",{key:"selected"},D.t("ra_Selected")," "),a.createElement("span",{key:"id",style:Ts.headerID},this.state.selected)]:e=[a.createElement("span",{key:"selected"},D.t("ra_Selected")," "),a.createElement("span",{key:"id",style:Ts.headerID},D.t("%s items",this.state.selected.length))]:e=this.props.title||D.t("ra_Please select file..."),a.createElement(Ae,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...Ts.dialog,...Ts.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},a.createElement(fe,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":Ts.titleRoot}},e),a.createElement(_e,{style:{...Ts.content,...Ts.contentMobile}},a.createElement(W_e,{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||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(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.handleOk(),startIcon:a.createElement(We,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||D.t("ra_Ok")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}const nve={dialogPaper:{height:"calc(100% - 96px)"}};class Kve 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(Ae,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":nve.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},a.createElement(fe,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define CRON...")),a.createElement(_e,{style:{height:"100%",overflow:"hidden"}},a.createElement(dr,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),a.createElement(xe,null,a.createElement(q,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}const St={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},kt="permissionError",Q="notConnectedError";function hN(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}class H{_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;objectViewCached;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"?H.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 M=new URL(window.socketUrl);e=M.hostname,t=M.port,i=M.protocol.replace(":","")}const n=r.lastIndexOf("/");if(n!==-1&&(r=r.substring(0,n+1)),H.isWeb()){const M=r.split("/");M.length>2&&(M.pop(),M[M.length-1].match(/\d+\.\d+\.\d+/)&&M.pop(),M.pop(),r=M.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(M=>{const[c,l,N]=M.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",(M,c)=>this.onPreConnect(M,c))}),this._socket.on("reconnect",()=>{this.onProgress(St.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(St.CONNECTING),this.onConnectionHandlers.forEach(n=>n(!1))}),this._socket.on("reauthenticate",()=>H.authenticate()),this._socket.on("log",n=>{var M,c;(c=(M=this.props).onLog)==null||c.call(M,n),this.onLogHandlers.forEach(l=>l(n))}),this._socket.on("error",n=>{let M=n||"";typeof M.toString!="function"&&(M=JSON.stringify(M),console.error(`Received strange error: ${M}`)),M=M.toString(),M.includes("User not authorized")?H.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,M)=>setTimeout(()=>this.objectChange(n,M),0)),this._socket.on("stateChange",(n,M)=>setTimeout(()=>this.stateChange(n,M),0)),this._socket.on("im",(n,M,c)=>setTimeout(()=>this.instanceMessage(n,M,c),0)),this._socket.on("fileChange",(n,M,c)=>setTimeout(()=>this.fileChange(n,M,c),0)),this._socket.on("cmdStdout",(n,M)=>{var c;return(c=this.onCmdStdoutHandler)==null?void 0:c.call(this,n,M)}),this._socket.on("cmdStderr",(n,M)=>{var c;return(c=this.onCmdStderrHandler)==null?void 0:c.call(this,n,M)}),this._socket.on("cmdExit",(n,M)=>{var c;return(c=this.onCmdExitHandler)==null?void 0:c.call(this,n,M)})}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(St.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,M;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(St.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(St.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(St.READY),(M=(n=this.props).onReady)==null||M.call(n,this.objects)):(await this.getObjects(),this.onProgress(St.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(H.isWeb()?"getStates":"getForeignStates",r,(c,l)=>{c?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(c)}`),M(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(H.isWeb()?"getStates":"getForeignStates",e,(M,c)=>{M&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(M)}`),c&&Object.keys(c).forEach(l=>t(l,c[l])),c?o():n(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(M)}`))}):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(M){console.error(`Error by callback of objectChange: ${M}`)}})}),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(St.STATES_LOADED),o?r(new Error(o)):i(this.states)})})):Promise.reject(new Error(Q))}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(Q))}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(Q))}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(Q))}setState(e,t,i){if(!this.connected)return Promise.reject(new Error(Q));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(H.isWeb()?"getObjects":"getAllObjects",(o,n)=>{this.objects=n,t&&this.onProgress(St.OBJECTS_LOADED),o?r(new Error(o)):i(this.objects)})}):Promise.reject(new Error(Q))}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(Q))}_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(H.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(Q))}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(Q))}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(Q))}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(Q))}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(Q))}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(Q))}getAdapters(e,t){return H.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(Q)))}_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(H.isWeb())return Promise.reject(new Error("Allowed only in admin"));const r=await this.getGroups(!0);if(r.length){const o=r.filter(M=>M._id.startsWith(`${e}.`));o.forEach(M=>{M.newId=t+M._id.substring(e.length)}),await new Promise((M,c)=>{this._renameGroups(o,l=>l?c(new Error(l)):M(null))});const n=r.find(M=>M._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(Q))}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(Q))}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 M={};for(let c=0;c{this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(M,c)=>{if(M)n(new Error(M));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(Q))}getLogs(e,t){return H.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(Q))}getLogsFiles(e){return H.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(Q))}delLogs(e){return H.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(Q))}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(Q))}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(Q))}readFile(e,t,i){return this.connected?new Promise((r,o)=>{i?this._socket.emit("readFile64",e,t,i,(n,M)=>n?o(new Error(n)):r(M)):this._socket.emit("readFile",e,t,(n,M,c)=>{n?o(new Error(n)):r({data:M,type:c})})}):Promise.reject(new Error(Q))}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((M,c)=>M+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,M=>M?o(new Error(M)):r())}}):Promise.reject(new Error(Q))}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(Q))}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(Q))}getHosts(e){return H.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(Q))}getUsers(e){return H.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(Q))}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(Q))}getHostInfo(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getHostInfo"')):!M||typeof M!="object"?o(new Error('Cannot read "getHostInfo"')):r(M))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error(Q)))}getHostInfoShort(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getHostInfoShort"')):!M||typeof M!="object"?o(new Error('Cannot read "getHostInfoShort"')):r(M))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error(Q)))}getRepository(e,t,i,r){return H.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 M=setTimeout(()=>{M&&(M=null,n(new Error("getRepository timeout")))},r||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,c=>{M&&(clearTimeout(M),M=null,c===kt?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(Q))}getInstalled(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getInstalled"')):!M||typeof M!="object"?o(new Error('Cannot read "getInstalled"')):r(M))})}),this._promises.installed[e]):Promise.reject(new Error(Q)))}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(Q))}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(Q))}cmdExec(e,t,i,r){return H.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((o,n)=>{let M=r?setTimeout(()=>{M&&(M=null,n(new Error("cmdExec timeout")))},r):null;this._socket.emit("cmdExec",e,i,t,null,c=>{(!r||M)&&(M&&clearTimeout(M),M=null,c?n(new Error(c)):o())})})):Promise.reject(new Error(Q))}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(Q))}async readBaseSettings(e){return H.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===kt?r(new Error('May not read "BaseSettings"')):!n||typeof n!="object"?r(new Error('Cannot read "BaseSettings"')):i(n))})}):Promise.reject(new Error(Q)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not write "BaseSettings"')):M?r(M):o(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error(Q)):Promise.reject(new Error("Not supported")))}restartController(e){return H.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 H.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?H.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(Q))}getForeignObjects(e,t){return H.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(Q))}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(Q))}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(Q))}getHistoryEx(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("getHistory",e,t,(o,n,M,c)=>o?r(new Error(o)):i({values:n,sessionId:c,step:M}))}):Promise.reject(new Error(Q))}changePassword(e,t){return H.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 H.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 H.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"}],M=[{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 H.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 H.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chmodFile",e,t,i,(n,M,c)=>n?o(new Error(n)):r({entries:M,id:c}))}):Promise.reject(new Error(Q))}chownFile(e,t,i){return H.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chownFile",e,t,i,(n,M,c)=>n?o(new Error(n)):r({entries:M,id:c}))}):Promise.reject(new Error(Q))}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(Q))}getNotifications(e,t){return H.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(Q))}clearNotifications(e,t){return H.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(Q))}getIsEasyModeStrict(){return H.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(Q))}getEasyMode(){return H.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(Q))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,i)=>e(i))}):Promise.reject(new Error(Q))}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(Q))}getRatings(e){return H.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(Q))}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(Q))}getCompactAdapters(e){return H.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(Q))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return H.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(Q))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getCompactInstalled"')):!M||typeof M!="object"?o(new Error('Cannot read "getCompactInstalled"')):r(M))})}),this._promises.installedCompact[e]):Promise.reject(new Error(Q)))}getCompactSystemRepositories(e,t){return H.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===kt?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(Q))}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(Q))}getCompactRepository(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getCompactRepository"')):M?r(M):o(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error(Q))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return H.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(Q))}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(Q))}subscribeOnInstance(e,t,i,r){return this.connected?new Promise((o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(M,c)=>{M?n(new Error(M)):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(Q))}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const M=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(M!=null&&M!==-1){r=!0;const c=this._instanceSubscriptions[e][M].messageType;this._instanceSubscriptions[e].splice(M,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(M=>M.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(Q))}setStateToIgnore(e){this.ignoreState=e||""}}function qve(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 ave(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 Yg(s,e,t){if(t||=0,s==null||!e)return s;if(e.length-1===t)return s[e[t]];if(typeof s=="object")return Yg(s[e[t]],e,t+1)}function Mve(s,e,t,i){if(i||=0,s==null||!e)return t;if(e.length-1===i)return s[e[i]]=t,s;if(typeof s=="object")return Mve(s[e[i]],e,t,i+1)}async function eYe(s,e){var t;if(typeof s=="string"&&(s=ave(s)),s.type==="object"){const i=await e.getObject(s.address);return Yg(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 Vn=s=>{const e={};return s.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function tYe(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)?Vn(e.filter(t=>s.includes(t))):s&&(s.dependencies||s.devDependencies)?Vn(e.filter(t=>{var i,r;return((i=s.dependencies)==null?void 0:i[t])||((r=s.devDependencies)==null?void 0:r[t])})):Vn(e)}export{dve as AdminConnection,PSe as Cleaner,sr as ColorPicker,rs as ComplexCron,Hve as ComplexCronDialog,E4 as Confirm,ke as Connection,Vve as Cron,hve as CustomModal,a5e as DeviceTypeIcon,Yve as DeviceTypeSelector,Hve as DialogComplexCron,E4 as DialogConfirm,Vve as DialogCron,_4 as DialogError,Zve as DialogMessage,Xve as DialogSelectFile,nke as DialogSelectID,Kve as DialogSimpleCron,T_e as DialogTextInput,Cve as DoorClosed,WSe as DoorOpened,Qe as ERRORS,ve as EXTENSIONS,_4 as Error,W_e as FileBrowser,Nc as FileBrowserClass,P_e as FileViewer,$_e as FileViewerClass,pve as FireOff,Q0 as FireOn,Ave as FloodOff,b0 as FloodOn,JSe as Gate,Ds as GenericApp,mve as HeatValve,fve as Home,BSe as Humidity,D as I18n,Z0 as ITEM_IMAGES,be as Icon,I5e as IconAdapter,b_e as IconAlias,Bve as IconButtonImage,tg as IconChannel,m5e as IconClearFilter,Ti as IconClosed,Bs as IconCopy,sg as IconDevice,C5e as IconDocument,p5e as IconDocumentReadOnly,Oa as IconExpert,Rve as IconFx,Ove as IconHome,A5e as IconInstance,Fve as IconLogout,lc as IconNoIcon,uo as IconOpen,Ive as IconPicker,hSe as IconSelector,rr as IconState,Gve as IconVacuum,lo as Image,bve as InfoBox,U0 as Jalousie,H as LegacyConnection,Qh as Loader,Oh as LoaderMV,Eh as LoaderNW,Yh as LoaderPT,xh as LoaderVendor,qL as Logo,eg as MDUtils,Eve as Material,Zve as Message,_ve as MotionOff,RSe as MotionOn,J5e as ObjectBrowser,_o as ObjectBrowserClass,Dve as PERMISSION_ERROR,ht as PROGRESS,FSe as PushButton,Un as RGB,xve as RepairExpert,nr as Router,Qve as STATES_NAME_ICONS,Jh as SaveCloseButtons,Ee as Schedule,Xve as SelectFile,nke as SelectID,Uve as SelectWithIcon,dr as SimpleCron,Kve as SimpleCronDialog,GSe as Socket,f5e as TabContainer,O5e as TabContent,E5e as TabHeader,$ve as TableResize,T_e as TextInput,Pve as TextWithIcon,Ay as Theme,HSe as Thermometer,Sve as ThermometerSimple,VSe as Thermostat,Wve as ToggleThemeMenu,Pa as TreeTable,Jve as UploadImage,m as Utils,kve as Valve,vve as WindowClosed,ZSe as WindowOpened,XL as WindowTilted,GL as convertCronToText,O4 as copy,vg as cron2state,Gge as dictionary,KL as extendDeviceTypeTranslation,Yg as getAttrInObject,wve as getSelectIdIcon,Eo as getSelectIdIconFromObjects,zve as getSystemIcon,ave as iobUriParse,eYe as iobUriRead,qve as iobUriToString,tYe as moduleFederationShared,hN as pattern2RegEx,fh as printPrompt,Mve as setAttrInObject,Mn 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 Vve(s){return a.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},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 nve={dialogPaper:{height:"calc(100% - 96px)"}};class Zve 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=rs.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(x4,{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(Ae,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":nve.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),a.createElement(fe,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),a.createElement(_e,{style:{height:"100%",overflow:"hidden"}},a.createElement(rs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),a.createElement(xe,null,!!this.props.clearButton&&a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:a.createElement(wt,null)},this.props.clear||D.t("ra_Clear")),a.createElement(q,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}const ave={dialogPaper:{height:"calc(100% - 96px)"}};class Xve 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":Yg(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(Ae,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":ave.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},a.createElement(fe,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),a.createElement(_e,{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(Me,{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(Me,{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(Me,{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(dr,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()}),this.state.mode==="wizard"&&a.createElement(Ee,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&a.createElement(rs,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),a.createElement(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}class Kve extends De{handleOk(){this.props.onClose&&this.props.onClose()}render(){return a.createElement(Ae,{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(fe,{id:"ar_dialog_message_title"},this.props.title||D.t("ra_Message")),a.createElement(_e,null,a.createElement(as,{id:"ar_dialog_message_description"},a.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),a.createElement(xe,null,a.createElement(q,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(we,null)},this.props.ok||D.t("ra_Close"))))}}const Ts={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 qve 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 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=[a.createElement("span",{key:"selected"},D.t("ra_Selected")," "),a.createElement("span",{key:"id",style:Ts.headerID},this.state.selected)]:e=[a.createElement("span",{key:"selected"},D.t("ra_Selected")," "),a.createElement("span",{key:"id",style:Ts.headerID},D.t("%s items",this.state.selected.length))]:e=this.props.title||D.t("ra_Please select file..."),a.createElement(Ae,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...Ts.dialog,...Ts.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},a.createElement(fe,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":Ts.titleRoot}},e),a.createElement(_e,{style:{...Ts.content,...Ts.contentMobile}},a.createElement(B_e,{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||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(xe,null,a.createElement(q,{variant:"contained",onClick:()=>this.handleOk(),startIcon:a.createElement(We,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||D.t("ra_Ok")),a.createElement(q,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}const Mve={dialogPaper:{height:"calc(100% - 96px)"}};class eYe 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(Ae,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Mve.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},a.createElement(fe,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define CRON...")),a.createElement(_e,{style:{height:"100%",overflow:"hidden"}},a.createElement(dr,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),a.createElement(xe,null,a.createElement(q,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(We,null)},this.props.ok||D.t("ra_Ok")),a.createElement(q,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(zr,null)},this.props.cancel||D.t("ra_Cancel"))))}}const St={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},kt="permissionError",Q="notConnectedError";function wN(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}class H{_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;objectViewCached;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"?H.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 M=new URL(window.socketUrl);e=M.hostname,t=M.port,i=M.protocol.replace(":","")}const n=r.lastIndexOf("/");if(n!==-1&&(r=r.substring(0,n+1)),H.isWeb()){const M=r.split("/");M.length>2&&(M.pop(),M[M.length-1].match(/\d+\.\d+\.\d+/)&&M.pop(),M.pop(),r=M.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(M=>{const[c,l,N]=M.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",(M,c)=>this.onPreConnect(M,c))}),this._socket.on("reconnect",()=>{this.onProgress(St.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(St.CONNECTING),this.onConnectionHandlers.forEach(n=>n(!1))}),this._socket.on("reauthenticate",()=>H.authenticate()),this._socket.on("log",n=>{var M,c;(c=(M=this.props).onLog)==null||c.call(M,n),this.onLogHandlers.forEach(l=>l(n))}),this._socket.on("error",n=>{let M=n||"";typeof M.toString!="function"&&(M=JSON.stringify(M),console.error(`Received strange error: ${M}`)),M=M.toString(),M.includes("User not authorized")?H.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,M)=>setTimeout(()=>this.objectChange(n,M),0)),this._socket.on("stateChange",(n,M)=>setTimeout(()=>this.stateChange(n,M),0)),this._socket.on("im",(n,M,c)=>setTimeout(()=>this.instanceMessage(n,M,c),0)),this._socket.on("fileChange",(n,M,c)=>setTimeout(()=>this.fileChange(n,M,c),0)),this._socket.on("cmdStdout",(n,M)=>{var c;return(c=this.onCmdStdoutHandler)==null?void 0:c.call(this,n,M)}),this._socket.on("cmdStderr",(n,M)=>{var c;return(c=this.onCmdStderrHandler)==null?void 0:c.call(this,n,M)}),this._socket.on("cmdExit",(n,M)=>{var c;return(c=this.onCmdExitHandler)==null?void 0:c.call(this,n,M)})}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(St.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,M;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(St.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(St.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(St.READY),(M=(n=this.props).onReady)==null||M.call(n,this.objects)):(await this.getObjects(),this.onProgress(St.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(H.isWeb()?"getStates":"getForeignStates",r,(c,l)=>{c?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(c)}`),M(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(H.isWeb()?"getStates":"getForeignStates",e,(M,c)=>{M&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(M)}`),c&&Object.keys(c).forEach(l=>t(l,c[l])),c?o():n(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(M)}`))}):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(M){console.error(`Error by callback of objectChange: ${M}`)}})}),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(St.STATES_LOADED),o?r(new Error(o)):i(this.states)})})):Promise.reject(new Error(Q))}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(Q))}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(Q))}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(Q))}setState(e,t,i){if(!this.connected)return Promise.reject(new Error(Q));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(H.isWeb()?"getObjects":"getAllObjects",(o,n)=>{this.objects=n,t&&this.onProgress(St.OBJECTS_LOADED),o?r(new Error(o)):i(this.objects)})}):Promise.reject(new Error(Q))}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(Q))}_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(H.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(Q))}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(Q))}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(Q))}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(Q))}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(Q))}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(Q))}getAdapters(e,t){return H.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(Q)))}_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(H.isWeb())return Promise.reject(new Error("Allowed only in admin"));const r=await this.getGroups(!0);if(r.length){const o=r.filter(M=>M._id.startsWith(`${e}.`));o.forEach(M=>{M.newId=t+M._id.substring(e.length)}),await new Promise((M,c)=>{this._renameGroups(o,l=>l?c(new Error(l)):M(null))});const n=r.find(M=>M._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(Q))}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(Q))}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 M={};for(let c=0;c{this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(M,c)=>{if(M)n(new Error(M));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(Q))}getLogs(e,t){return H.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(Q))}getLogsFiles(e){return H.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(Q))}delLogs(e){return H.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(Q))}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(Q))}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(Q))}readFile(e,t,i){return this.connected?new Promise((r,o)=>{i?this._socket.emit("readFile64",e,t,i,(n,M)=>n?o(new Error(n)):r(M)):this._socket.emit("readFile",e,t,(n,M,c)=>{n?o(new Error(n)):r({data:M,type:c})})}):Promise.reject(new Error(Q))}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((M,c)=>M+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,M=>M?o(new Error(M)):r())}}):Promise.reject(new Error(Q))}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(Q))}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(Q))}getHosts(e){return H.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(Q))}getUsers(e){return H.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(Q))}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(Q))}getHostInfo(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getHostInfo"')):!M||typeof M!="object"?o(new Error('Cannot read "getHostInfo"')):r(M))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error(Q)))}getHostInfoShort(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getHostInfoShort"')):!M||typeof M!="object"?o(new Error('Cannot read "getHostInfoShort"')):r(M))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error(Q)))}getRepository(e,t,i,r){return H.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 M=setTimeout(()=>{M&&(M=null,n(new Error("getRepository timeout")))},r||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,c=>{M&&(clearTimeout(M),M=null,c===kt?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(Q))}getInstalled(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getInstalled"')):!M||typeof M!="object"?o(new Error('Cannot read "getInstalled"')):r(M))})}),this._promises.installed[e]):Promise.reject(new Error(Q)))}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(Q))}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(Q))}cmdExec(e,t,i,r){return H.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((o,n)=>{let M=r?setTimeout(()=>{M&&(M=null,n(new Error("cmdExec timeout")))},r):null;this._socket.emit("cmdExec",e,i,t,null,c=>{(!r||M)&&(M&&clearTimeout(M),M=null,c?n(new Error(c)):o())})})):Promise.reject(new Error(Q))}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(Q))}async readBaseSettings(e){return H.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===kt?r(new Error('May not read "BaseSettings"')):!n||typeof n!="object"?r(new Error('Cannot read "BaseSettings"')):i(n))})}):Promise.reject(new Error(Q)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not write "BaseSettings"')):M?r(M):o(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error(Q)):Promise.reject(new Error("Not supported")))}restartController(e){return H.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 H.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?H.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(Q))}getForeignObjects(e,t){return H.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(Q))}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(Q))}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(Q))}getHistoryEx(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("getHistory",e,t,(o,n,M,c)=>o?r(new Error(o)):i({values:n,sessionId:c,step:M}))}):Promise.reject(new Error(Q))}changePassword(e,t){return H.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 H.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 H.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"}],M=[{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 H.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 H.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chmodFile",e,t,i,(n,M,c)=>n?o(new Error(n)):r({entries:M,id:c}))}):Promise.reject(new Error(Q))}chownFile(e,t,i){return H.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chownFile",e,t,i,(n,M,c)=>n?o(new Error(n)):r({entries:M,id:c}))}):Promise.reject(new Error(Q))}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(Q))}getNotifications(e,t){return H.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(Q))}clearNotifications(e,t){return H.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(Q))}getIsEasyModeStrict(){return H.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(Q))}getEasyMode(){return H.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(Q))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,i)=>e(i))}):Promise.reject(new Error(Q))}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(Q))}getRatings(e){return H.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(Q))}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(Q))}getCompactAdapters(e){return H.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(Q))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return H.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(Q))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getCompactInstalled"')):!M||typeof M!="object"?o(new Error('Cannot read "getCompactInstalled"')):r(M))})}),this._promises.installedCompact[e]):Promise.reject(new Error(Q)))}getCompactSystemRepositories(e,t){return H.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===kt?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(Q))}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(Q))}getCompactRepository(e,t,i){return H.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,M=>{n&&(clearTimeout(n),n=null,M===kt?o(new Error('May not read "getCompactRepository"')):M?r(M):o(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error(Q))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return H.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(Q))}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(Q))}subscribeOnInstance(e,t,i,r){return this.connected?new Promise((o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(M,c)=>{M?n(new Error(M)):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(Q))}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const M=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(M!=null&&M!==-1){r=!0;const c=this._instanceSubscriptions[e][M].messageType;this._instanceSubscriptions[e].splice(M,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(M=>M.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(Q))}setStateToIgnore(e){this.ignoreState=e||""}}function tYe(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 cve(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 Qg(s,e,t){if(t||=0,s==null||!e)return s;if(e.length-1===t)return s[e[t]];if(typeof s=="object")return Qg(s[e[t]],e,t+1)}function uve(s,e,t,i){if(i||=0,s==null||!e)return t;if(e.length-1===i)return s[e[i]]=t,s;if(typeof s=="object")return uve(s[e[i]],e,t,i+1)}async function sYe(s,e){var t;if(typeof s=="string"&&(s=cve(s)),s.type==="object"){const i=await e.getObject(s.address);return Qg(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 Zn=s=>{const e={};return s.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function iYe(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)?Zn(e.filter(t=>s.includes(t))):s&&(s.dependencies||s.devDependencies)?Zn(e.filter(t=>{var i,r;return((i=s.dependencies)==null?void 0:i[t])||((r=s.devDependencies)==null?void 0:r[t])})):Zn(e)}export{zve as AdminConnection,JSe as Cleaner,sr as ColorPicker,rs as ComplexCron,Zve as ComplexCronDialog,x4 as Confirm,ke as Connection,Xve as Cron,wve as CustomModal,c5e as DeviceTypeIcon,bve as DeviceTypeSelector,Zve as DialogComplexCron,x4 as DialogConfirm,Xve as DialogCron,S4 as DialogError,Kve as DialogMessage,qve as DialogSelectFile,Mke as DialogSelectID,eYe as DialogSimpleCron,d_e as DialogTextInput,Ave as DoorClosed,BSe as DoorOpened,Qe as ERRORS,ve as EXTENSIONS,S4 as Error,B_e as FileBrowser,Lc as FileBrowserClass,J_e as FileViewer,W_e as FileViewerClass,mve as FireOff,U0 as FireOn,fve as FloodOff,$0 as FloodOn,RSe as Gate,Ds as GenericApp,Ove as HeatValve,Eve as Home,FSe as Humidity,D as I18n,K0 as ITEM_IMAGES,be as Icon,p5e as IconAdapter,$_e as IconAlias,Fve as IconButtonImage,sg as IconChannel,O5e as IconClearFilter,Ti as IconClosed,Bs as IconCopy,ig as IconDevice,A5e as IconDocument,m5e as IconDocumentReadOnly,Ea as IconExpert,Gve as IconFx,_ve as IconHome,f5e as IconInstance,Hve as IconLogout,Nc as IconNoIcon,uo as IconOpen,pve as IconPicker,wSe as IconSelector,rr as IconState,Vve as IconVacuum,lo as Image,$ve as InfoBox,P0 as Jalousie,H as LegacyConnection,bh as Loader,Eh as LoaderMV,_h as LoaderNW,Qh as LoaderPT,Sh as LoaderVendor,eg as Logo,tg as MDUtils,xve as Material,Kve as Message,Sve as MotionOff,GSe as MotionOn,R5e as ObjectBrowser,_o as ObjectBrowserClass,hve as PERMISSION_ERROR,ht as PROGRESS,HSe as PushButton,$n as RGB,kve as RepairExpert,nr as Router,Uve as STATES_NAME_ICONS,Bh as SaveCloseButtons,Ee as Schedule,qve as SelectFile,Mke as SelectID,Pve as SelectWithIcon,dr as SimpleCron,eYe as SimpleCronDialog,VSe as Socket,E5e as TabContainer,_5e as TabContent,x5e as TabHeader,Wve as TableResize,d_e as TextInput,Jve as TextWithIcon,my as Theme,ZSe as Thermometer,vve as ThermometerSimple,XSe as Thermostat,Bve as ToggleThemeMenu,Wa as TreeTable,Rve as UploadImage,m as Utils,Yve as Valve,Qve as WindowClosed,KSe as WindowOpened,KL as WindowTilted,HL as convertCronToText,_4 as copy,Yg as cron2state,Hge as dictionary,qL as extendDeviceTypeTranslation,Qg as getAttrInObject,Cve as getSelectIdIcon,Eo as getSelectIdIconFromObjects,Ive as getSystemIcon,cve as iobUriParse,sYe as iobUriRead,tYe as iobUriToString,iYe as moduleFederationShared,wN as pattern2RegEx,Oh as printPrompt,uve as setAttrInObject,Mn as withWidth}; diff --git a/admin/assets/index-1dF1OgQ7.js b/admin/assets/index-CflI1iSw.js similarity index 99% rename from admin/assets/index-1dF1OgQ7.js rename to admin/assets/index-CflI1iSw.js index bd27bb70..a8d0c651 100644 --- a/admin/assets/index-1dF1OgQ7.js +++ b/admin/assets/index-CflI1iSw.js @@ -1,4 +1,4 @@ -import{j as M}from"./createSvgIcon-DYs_tNrE.js";import{a as ft}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{m as Rt,z as Bt,g as Ut}from"./index-4KpiUWnm.js";import{z as Xe,o as Te,v as Nt,w as Mt,s as Lt,u as Vt,r as zt,_ as Ht,a as Gt,C as Pt,D as _t,F as Yt,G as wt,H as Qt}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{M as Xt,k as Zt,l as ea,Q as Tt,U as ta,L as aa,n as ra,t as na,v as sa,u as oa,V as ia,W as la,X as ca,Y as ua}from"./index-wHNMOf-c.js";import{_ as we}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import pa from"./ScriptEditorVanillaMonaco-CtXAidHF.js";import{r as fa}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function da(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";const ba={editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"}};class ha extends ft.Component{constructor(v){super(v),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}render(){return M.jsx("div",{style:ba.editorDiv,children:M.jsx(pa,{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 Dt=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% - ${Dt}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:Dt,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 ma(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 Ct extends ft.Component{messagesEnd;constructor(v){super(v),this.state={goBottom:!0},this.messagesEnd=ft.createRef()}static generateLine(v){return M.jsxs(Xe,{component:"tr",sx:Ke[v.severity],children:[M.jsx("td",{style:Ke.trTime,children:ma(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(Xe,{sx:Ke.logBoxInner,children:[M.jsx("table",{style:Ke.table,children:M.jsx("tbody",{children:v.map(g=>Ct.generateLine(g))})},"logTable"),M.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):M.jsx(Xe,{sx:Ke.logBoxInner,style:{paddingLeft:10},children:we.I18n.t("Log outputs")},"logList")}onCopy(){we.Utils.copyToClipboard(this.props.console.join(` +import{j as M}from"./createSvgIcon-DYs_tNrE.js";import{a as ft}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{m as Rt,z as Bt,g as Ut}from"./index-DlobACYc.js";import{z as Xe,o as Te,v as Nt,w as Mt,s as Lt,u as Vt,r as zt,_ as Ht,a as Gt,C as Pt,D as _t,F as Yt,G as wt,H as Qt}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{M as Xt,k as Zt,l as ea,Q as Tt,U as ta,L as aa,n as ra,t as na,v as sa,u as oa,V as ia,W as la,X as ca,Y as ua}from"./index-wHNMOf-c.js";import{_ as we}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import pa from"./ScriptEditorVanillaMonaco-_I4QxLWb.js";import{r as fa}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function da(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";const ba={editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"}};class ha extends ft.Component{constructor(v){super(v),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}render(){return M.jsx("div",{style:ba.editorDiv,children:M.jsx(pa,{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 Dt=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% - ${Dt}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:Dt,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 ma(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 Ct extends ft.Component{messagesEnd;constructor(v){super(v),this.state={goBottom:!0},this.messagesEnd=ft.createRef()}static generateLine(v){return M.jsxs(Xe,{component:"tr",sx:Ke[v.severity],children:[M.jsx("td",{style:Ke.trTime,children:ma(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(Xe,{sx:Ke.logBoxInner,children:[M.jsx("table",{style:Ke.table,children:M.jsx("tbody",{children:v.map(g=>Ct.generateLine(g))})},"logTable"),M.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):M.jsx(Xe,{sx:Ke.logBoxInner,style:{paddingLeft:10},children:we.I18n.t("Log outputs")},"logList")}onCopy(){we.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(Te,{style:Ke.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:M.jsx(Xt,{})}),v!=null&&v.length?M.jsx(Te,{style:Ke.iconButtons,onClick:()=>this.props.onClearAllLogs(),size:"medium",children:M.jsx(Zt,{})}):null,v!=null&&v.length?M.jsx(Te,{style:Ke.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:M.jsx(ea,{})}):null]},"toolbox"),this.renderLogList(v)]})}}var It={exports:{}},va=It.exports;(function(X,v){(function(g,a){X.exports=a(fa)})(va,(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,S){if(s(f),h=d(h,!0),s(S),c)try{return p(f,h,S)}catch{}if("get"in S||"set"in S)throw TypeError("Accessors not supported!");return"value"in S&&(f[h]=S.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(S,b,w){var I,R,H,L=S&h.F,Z=S&h.G,r=S&h.S,D=S&h.P,V=S&h.B,z=S&h.W,q=Z?c:c[b]||(c[b]={}),k=q.prototype,A=Z?s:r?s[b]:(s[b]||{}).prototype;for(I in Z&&(w=b),w)(R=!L&&A&&A[I]!==void 0)&&f(q,I)||(H=R?A[I]:w[I],q[I]=Z&&typeof A[I]!="function"?w[I]:V&&R?d(H,s):z&&A[I]==H?(function(T){var W=function(E,ee,J){if(this instanceof T){switch(arguments.length){case 0:return new T;case 1:return new T(E);case 2:return new T(E,ee)}return new T(E,ee,J)}return T.apply(this,arguments)};return W.prototype=T.prototype,W})(H):D&&typeof H=="function"?d(Function.call,H):H,D&&((q.virtual||(q.virtual={}))[I]=H,S&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>"),S.close(),h=S.F;w--;)delete h.prototype[d[w]];return h()};a.exports=Object.create||function(S,b){var w;return S!==null?(f.prototype=s(S),w=new f,f.prototype=null,w[p]=S):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 S,b=c(f),w=0,I=[];for(S in b)S!=p&&s(b,S)&&I.push(S);for(;h.length>w;)s(b,S=h[w++])&&(~d(I,S)||I.push(S));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,S;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):(S=s(f))=="Object"&&typeof f.callee=="function"?"Arguments":S}},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=R(e(49)),c=R(e(76)),d=R(e(81)),p=R(e(89)),f=R(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)),S=R(e(132)),b=R(e(133)),w=R(e(138)),I=e(139);function R(k){return k&&k.__esModule?k:{default:k}}var H=h.default,L=(0,p.default)(H),Z=(0,w.default)(b.default,I.rgb2yuv,(function(k){var A,T=(0,d.default)(k,3),W=T[0],E=T[1],ee=T[2];return[(A=W,A<.25?1:A<.5?.9-A:1.1-A),E,ee]}),I.yuv2rgb,S.default),r=function(k){return function(A){return{className:[A.className,k.className].filter(Boolean).join(" "),style:(0,c.default)({},A.style||{},k.style||{})}}},D=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(E,ee){return E[ee]=(function(J,C){if(J===void 0)return C;if(C===void 0)return J;var Y=J===void 0?"undefined":(0,s.default)(J),be=C===void 0?"undefined":(0,s.default)(C);switch(Y){case"string":switch(be){case"string":return[C,J].filter(Boolean).join(" ");case"object":return r({className:J,style:C});case"function":return function(ce){for(var U=arguments.length,le=Array(U>1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q2?T-2:0),E=2;E3?A-3:0),W=3;W1&&arguments[1]!==void 0?arguments[1]:{},ee=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},J=E.defaultBase16,C=J===void 0?H:J,Y=E.base16Themes,be=Y===void 0?null:Y,ce=q(ee,be);ce&&(ee=(0,c.default)({},ce,ee));var U=L.reduce((function(ve,Ne){return ve[Ne]=ee[Ne]||C[Ne],ve}),{}),le=(0,p.default)(ee).reduce((function(ve,Ne){return L.indexOf(Ne)===-1&&(ve[Ne]=ee[Ne]),ve}),{}),Q=k(U),he=D(le,Q);return(0,f.default)(V,2).apply(void 0,[he].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),E=W[0],ee=W[1];k=(A||{})[E]||h[E],ee==="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,D,V){return Function.prototype.apply.call(r,D,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,D){return new Promise((function(V,z){function q(){k!==void 0&&r.removeListener("error",k),V([].slice.call(arguments))}var k;D!=="error"&&(k=function(A){r.removeListener(D,q),z(A)},r.once("error",k)),r.once(D,q)}))},f.EventEmitter=f,f.prototype._events=void 0,f.prototype._eventsCount=0,f.prototype._maxListeners=void 0;var h=10;function S(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,D,V,z){var q,k,A,T;if(S(V),(k=r._events)===void 0?(k=r._events=Object.create(null),r._eventsCount=0):(k.newListener!==void 0&&(r.emit("newListener",D,V.listener?V.listener:V),k=r._events),A=k[D]),A===void 0)A=k[D]=V,++r._eventsCount;else if(typeof A=="function"?A=k[D]=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(D)+" listeners added. Use emitter.setMaxListeners() to increase limit");W.name="MaxListenersExceededWarning",W.emitter=r,W.type=D,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 R(r,D,V){var z={fired:!1,wrapFn:void 0,target:r,type:D,listener:V},q=I.bind(z);return q.listener=V,z.wrapFn=q,q}function H(r,D,V){var z=r._events;if(z===void 0)return[];var q=z[D];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=D[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,D);else{var W=T.length,E=Z(T,W);for(V=0;V=0;k--)if(V[k]===D||V[k].listener===D){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,D[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,D){return typeof r.listenerCount=="function"?r.listenerCount(D):L.call(r,D)},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,S,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||(S=b.charCodeAt(w+1))<56320||S>57343?d?b.charAt(w):h:d?b.slice(w,w+2):S-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,S){return c.call(d,f,h,S)}}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,S){f.prototype=s(p,{next:c(1,S)}),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,S=d(f),b=S.length,w=0;b>w;)s.f(p,h=S[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,S){var b,w=s(f),I=c(w.length),R=d(S,I);if(p&&h!=h){for(;I>R;)if((b=w[R++])!=b)return!0}else for(;I>R;R++)if((p||R in w)&&w[R]===h)return p||R||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,S=this._i++;return!f||S>=f.length?(this._t=void 0,c(1)):c(0,h=="keys"?S:h=="values"?f[S]:[S,f[S]])}),"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,S=e(8),b=e(26),w=e(28),I=e(17),R=e(2),H=e(30),L=e(31),Z=e(69),r=e(70),D=e(10),V=e(11),z=e(18),q=e(9),k=e(23),A=e(16),T=e(38),W=e(71),E=e(72),ee=e(32),J=e(7),C=e(13),Y=E.f,be=J.f,ce=W.f,U=s.Symbol,le=s.JSON,Q=le&&le.stringify,he=R("_hidden"),ve=R("toPrimitive"),Ne={}.propertyIsEnumerable,Ee=b("symbol-registry"),Oe=b("symbols"),fe=b("op-symbols"),ge=Object.prototype,De=typeof U=="function"&&!!ee.f,Ue=s.QObject,Ze=!Ue||!Ue.prototype||!Ue.prototype.findChild,et=d&&S((function(){return T(be({},"a",{get:function(){return be(this,"a",{value:7}).a}})).a!=7}))?function(j,N,B){var K=Y(ge,N);K&&delete ge[N],be(j,N,B),K&&j!==ge&&be(ge,N,K)}:be,tt=function(j){var N=Oe[j]=T(U.prototype);return N._k=j,N},at=De&&typeof U.iterator=="symbol"?function(j){return typeof j=="symbol"}:function(j){return j instanceof U},He=function(j,N,B){return j===ge&&He(fe,N,B),D(j),N=k(N,!0),D(B),c(Oe,N)?(B.enumerable?(c(j,he)&&j[he][N]&&(j[he][N]=!1),B=T(B,{enumerable:A(0,!1)})):(c(j,he)||be(j,he,A(1,{})),j[he][N]=!0),et(j,N,B)):be(j,N,B)},st=function(j,N){D(j);for(var B,K=Z(N=q(N)),re=0,te=K.length;te>re;)He(j,B=K[re++],N[B]);return j},ot=function(j){var N=Ne.call(this,j=k(j,!0));return!(this===ge&&c(Oe,j)&&!c(fe,j))&&(!(N||!c(this,j)||!c(Oe,j)||c(this,he)&&this[he][j])||N)},rt=function(j,N){if(j=q(j),N=k(N,!0),j!==ge||!c(Oe,N)||c(fe,N)){var B=Y(j,N);return!B||!c(Oe,N)||c(j,he)&&j[he][N]||(B.enumerable=!0),B}},it=function(j){for(var N,B=ce(q(j)),K=[],re=0;B.length>re;)c(Oe,N=B[re++])||N==he||N==h||K.push(N);return K},Ge=function(j){for(var N,B=j===ge,K=ce(B?fe:q(j)),re=[],te=0;K.length>te;)!c(Oe,N=K[te++])||B&&!c(ge,N)||re.push(Oe[N]);return re};De||(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(B){this===ge&&N.call(fe,B),c(this,he)&&c(this[he],j)&&(this[he][j]=!1),et(this,j,A(1,B))};return d&&Ze&&et(ge,j,{configurable:!0,set:N}),tt(j)}).prototype,"toString",(function(){return this._k})),E.f=rt,J.f=He,e(41).f=W.f=it,e(19).f=ot,ee.f=Ge,d&&!e(14)&&f(ge,"propertyIsEnumerable",ot,!0),H.f=function(j){return tt(R(j))}),p(p.G+p.W+p.F*!De,{Symbol:U});for(var Ve="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),Ce=0;Ve.length>Ce;)R(Ve[Ce++]);for(var nt=C(R.store),F=0;nt.length>F;)L(nt[F++]);p(p.S+p.F*!De,"Symbol",{for:function(j){return c(Ee,j+="")?Ee[j]:Ee[j]=U(j)},keyFor:function(j){if(!at(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*!De,"Object",{create:function(j,N){return N===void 0?T(j):st(T(j),N)},defineProperty:He,defineProperties:st,getOwnPropertyDescriptor:rt,getOwnPropertyNames:it,getOwnPropertySymbols:Ge});var x=S((function(){ee.f(1)}));p(p.S+p.F*x,"Object",{getOwnPropertySymbols:function(j){return ee.f(z(j))}}),le&&p(p.S+p.F*(!De||S((function(){var j=U();return Q([j])!="[null]"||Q({a:j})!="{}"||Q(Object(j))!="{}"}))),"JSON",{stringify:function(j){for(var N,B,K=[j],re=1;arguments.length>re;)K.push(arguments[re++]);if(B=N=K[1],(V(N)||j!==void 0)&&!at(j))return r(N)||(N=function(te,ue){if(typeof B=="function"&&(ue=B.call(this,te,ue)),!at(ue))return ue}),K[1]=N,Q.apply(le,K)}}),U.prototype[ve]||e(6)(U.prototype,ve,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},S=!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,R){if(!c(I))return typeof I=="symbol"?I:(typeof I=="string"?"S":"P")+I;if(!d(I,s)){if(!h(I))return"F";if(!R)return"E";b(I)}return I[s].i},getWeak:function(I,R){if(!d(I,s)){if(!h(I))return!0;if(!R)return!1;b(I)}return I[s].w},onFreeze:function(I){return S&&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 S,b=h(p),w=d.f,I=0;b.length>I;)w.call(p,S=b[I++])&&f.push(S);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),S=Object.getOwnPropertyDescriptor;t.f=e(4)?S:function(b,w){if(b=d(b),w=p(w,!0),h)try{return S(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,D=h(arguments[H++]),V=L?c(D).concat(L(D)):c(D),z=V.length,q=0;z>q;)r=V[q++],s&&!Z.call(D,r)||(I[r]=D[r]);return I}:S},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,S){var b=[],w=!0,I=!1,R=void 0;try{for(var H,L=(0,c.default)(h);!(w=(H=L.next()).done)&&(b.push(H.value),!S||b.length!==S);w=!0);}catch(Z){I=!0,R=Z}finally{try{!w&&L.return&&L.return()}finally{if(I)throw R}}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],S={};S[p]=f(h),s(s.S+s.F*d((function(){h(1)})),"Object",S)}},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=/,? & /,S=/^[-+]0x[0-9a-f]+$/i,b=/^0b[01]+$/i,w=/^\[object .+?Constructor\]$/,I=/^0o[0-7]+$/i,R=/^(?:0|[1-9]\d*)$/,H=parseInt,L=typeof s=="object"&&s&&s.Object===Object&&s,Z=typeof self=="object"&&self&&self.Object===Object&&self,r=L||Z||Function("return this")();function D(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,B){if(N!=N)return(function(te,ue,ye,xe){for(var Ie=te.length,me=ye+-1;++me-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,B=0,K=[];++j2?T:void 0);function Ne(F){return Ve(F)?le(F):{}}function Ee(F){return!(!Ve(F)||(function(x){return!!C&&C in x})(F))&&((function(x){var j=Ve(x)?ce.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 Y.call(x)}catch{}try{return x+""}catch{}}return""})(F))}function Oe(F,x,j,N){for(var B=-1,K=F.length,re=j.length,te=-1,ue=x.length,ye=Q(K-re,0),xe=Array(ue+ye),Ie=!N;++te1&&se.reverse(),xe&&ue1?"& ":"")+x[N],x=x.join(j>2?", ":" "),F.replace(p,`{ /* [wrapped with `+x+`] */ `)}function st(F,x){return!!(x=x??9007199254740991)&&(typeof F=="number"||R.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,E=k.length;++T-1&&E%1==0&&E<=9007199254740991})(W.length)&&!(function(E){var ee=(function(J){var C=typeof J;return!!J&&(C=="object"||C=="function")})(E)?w.call(E):"";return ee=="[object Function]"||ee=="[object GeneratorFunction]"})(W)})(T)})(A)&&b.call(A,"callee")&&(!R.call(A,"callee")||w.call(A)=="[object Arguments]")})(k)||!!(H&&k&&k[H])}var r=Array.isArray,D,V,z,q=(V=function(k){var A=(k=(function(E,ee,J,C,Y){var be=-1,ce=E.length;for(J||(J=Z),Y||(Y=[]);++be2?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 Z=e(0),r=e.n(Z);function D(){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. diff --git a/admin/assets/index-ySETqhiN.js b/admin/assets/index-D3AxK3tq.js similarity index 99% rename from admin/assets/index-ySETqhiN.js rename to admin/assets/index-D3AxK3tq.js index ef4737e6..55cea04d 100644 --- a/admin/assets/index-ySETqhiN.js +++ b/admin/assets/index-D3AxK3tq.js @@ -1 +1 @@ -import{j as n}from"./createSvgIcon-DYs_tNrE.js";import{c as E,h as yt,j as M,m as nt,k as lt,l as Dt,b as ut,o as xt}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as u}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{u as kt,a as St,M as Y,C as et,G as Nt,b as $t,c as bt,I as qt,S as J,d as Bt,e as ft,j as Mt,D as Ht,f as Wt}from"./index-4KpiUWnm.js";import{_ as wt,b as Ct,h as vt,i as jt,p as Tt,f as Et,g as mt,o as Pt,Y as Ut,Z as Ft,C as Jt,D as st}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{I as Lt}from"./index-wHNMOf-c.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";function zt(e){const s=kt().getMonitor(),[i,a]=St(s,e);return E(()=>s.subscribeToOffsetChange(a)),E(()=>s.subscribeToStateChange(a)),i}let V;function Gt(){return V||(V=new Image,V.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),V}const Kt="_wrapperRules_nnott_1",Qt="_rootWrapper_nnott_9",Yt="_addClass_nnott_14",ot={wrapperRules:Kt,rootWrapper:Qt,addClass:Yt},Zt="_switchesItem_10ls3_1",Xt="_switchesItemActive_10ls3_28",Vt="_iconTheme_10ls3_36",it={switchesItem:Zt,switchesItemActive:Xt,iconTheme:Vt},It=({name:e,id:t,active:s,icon:i,adapter:a,socket:o,onDoubleClick:c,title:l,onTouchMove:d,style:j})=>n.jsxs("div",{onDoubleClick:c,onTouchMove:d,title:l?u.I18n.t(l):void 0,className:u.Utils.clsx(it.switchesItem,s&&it.switchesItemActive,`block-${t}`),children:[n.jsx(Y,{iconName:i,className:it.iconTheme,adapter:a,socket:o,style:j}),n.jsx("span",{children:e?u.I18n.t(e):""})]},t),Rt="_cardStyle_8rq8v_1",tn="_cardStyleActive_8rq8v_17",nn="_controlMenu_8rq8v_22",en="_closeBtn_8rq8v_31",sn="_isDelete_8rq8v_73",on="_drag_mobile_8rq8v_90",G={cardStyle:Rt,cardStyleActive:tn,controlMenu:nn,closeBtn:en,isDelete:sn,drag_mobile:on};function K(e,t,s){let i;switch(e){case"actions":if(s==="else")return i={...t,actions:{...t[e],else:[...t[e].else]}},i;if(s==="then")return i={...t,actions:{...t[e],then:[...t[e].then]}},i;throw console.error(`Unknown additionalParameter: ${s}`),new Error(`Unknown additionalParameter: ${s}`);case"triggers":return i={...t,triggers:[...t.triggers]},i;case"conditions":return i={...t,conditions:[...t.conditions]},i;default:throw new Error(`Unknown name: ${e}`)}}function z(e,t,s,i){var a;switch(e){case"actions":return t.actions[s]=t.actions[s].filter(o=>o._id!==i),t;case"conditions":return t.conditions[s]=(a=t.conditions[s])==null?void 0:a.filter(o=>o._id!==i),t;default:return t.triggers=t.triggers.filter(o=>o._id!==i),t}}function cn(e,t,s){const{_id:i,acceptedBy:a}=e;let o;if(!a||!t[a])return console.warn(`Cannot find ${a}`),t;switch(a){case"actions":if(o=t.actions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.actions[s].indexOf(o);t.actions[s][c]=e}return t;case"conditions":if(o=t.conditions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.conditions[s].indexOf(o);t.conditions[s][c]=e}return t;default:if(o=t.triggers.find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.triggers.indexOf(o);t.triggers[c]=e}return t}}const Ot=yt(e=>{var N;const{setUserRules:t,userRules:s,_id:i,id:a,blockValue:o,active:c,acceptedBy:l,isTourOpen:d,setTourStep:j,tourStep:O}=e,[I,_]=M(null),{blocks:r,socket:k,onUpdate:H,setOnUpdate:w,onDebugMessage:f,enableSimulation:x}=nt(et),p=lt(h=>r==null?void 0:r.find(b=>b.getStaticData().id===h),[r]),g=lt(h=>{const b=cn(h,s,o);b&&t(b)},[s]),C=h=>{h.currentTarget!==I&&_(h.currentTarget)},q=()=>_(null),T=Dt(()=>{const h=p(a)||Nt;return n.jsx(h,{...e,notFound:!p(a),isTourOpen:d,setTourStep:j,tourStep:O,onUpdate:H,setOnUpdate:w,enableSimulation:x,onDebugMessage:f,onChange:g,className:void 0,socket:k})},[s,H,f,x]),[S,B]=M(!1);return n.jsxs("div",{onMouseMove:C,onMouseEnter:C,onMouseLeave:q,onMouseDown:h=>{if(h.ctrlKey){let b;const v=K(l,s,o);l==="conditions"?(b=v.conditions[o].find(m=>m._id===i),b&&v.conditions[o].splice(v.conditions[o].indexOf(b),0,{...b,_id:Date.now()})):l==="actions"?(b=v.actions[o].find(m=>m._id===i),b&&v.actions[o].splice(v.actions[o].indexOf(b),0,{...b,_id:Date.now()})):(b=v.triggers.find(m=>m._id===i),b&&v.triggers.splice(v[l].indexOf(b),0,{...b,_id:Date.now()})),t(v)}},id:"height",style:c?{width:(((N=document.getElementById("width"))==null?void 0:N.clientWidth)||0)-70}:void 0,className:`${G.cardStyle} ${c?G.cardStyleActive:null} ${S?G.isDelete:null}`,children:[n.jsx("div",{className:G.drag_mobile}),T,t&&n.jsx("div",{className:G.controlMenu,style:I?{opacity:1}:{opacity:0},children:n.jsx("div",{onClick:()=>{let h=K(l,s,o);h=z(l,h,o,i),B(!0),setTimeout(()=>{l==="triggers"&&w(!0),t(h)},300)},className:G.closeBtn})})]})}),rn={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},an=(e,t,s)=>{if(!e||!t)return{display:"none"};let{x:i,y:a}=t;const o=`translate(${i}px, ${a}px)`;return{transform:o,WebkitTransform:o}},ln=e=>{const{itemType:t,isDragging:s,item:i,initialOffset:a,currentOffset:o,targetIds:c}=zt(d=>({item:d.getItem(),itemType:d.getItemType(),initialOffset:d.getInitialSourceClientOffset(),currentOffset:d.getSourceClientOffset(),isDragging:d.isDragging(),targetIds:d.getTargetIds()})),l=()=>t==="box"?c.length?n.jsx(Ot,{active:!0,...i,allBlocks:e.allBlocks}):n.jsx(It,{active:!0,...i,socket:e.socket}):null;return s?n.jsx("div",{style:rn,children:n.jsx("div",{style:an(a,o),children:l()})}):null},dn="_border_wrpm3_1",fn="_emptyBlockStyle_wrpm3_6",mn="_emptyBlock_wrpm3_6",gn="_selectOnChange_wrpm3_22",hn="_selectOnChangeHelp_wrpm3_28",_n="_selectOnChangeHelpIcon_wrpm3_34",pn="_emptyBlockNone_wrpm3_49",un="_mainBlockItemRules_wrpm3_55",xn="_nameBlockItems_wrpm3_63",bn="_contentBlockItem_wrpm3_73",wn="_wrapperMargin_wrpm3_81",Cn="_contentHeightOn_wrpm3_87",vn="_contentHeightOff_wrpm3_99",jn="_cardAdd_wrpm3_105",In="_blockCardAdd_wrpm3_125",On="_addClassOverflow_wrpm3_136",An="_addClassHeight_wrpm3_140",D={border:dn,emptyBlockStyle:fn,emptyBlock:mn,selectOnChange:gn,selectOnChangeHelp:hn,selectOnChangeHelpIcon:_n,emptyBlockNone:pn,mainBlockItemRules:un,nameBlockItems:xn,contentBlockItem:bn,wrapperMargin:wn,contentHeightOn:Cn,contentHeightOff:vn,cardAdd:jn,blockCardAdd:In,addClassOverflow:On,addClassHeight:An};function dt(e,t){const[s,i]=M(window.localStorage.getItem(t)?JSON.parse(window.localStorage.getItem(t)||""):e);return[s,o=>{window.localStorage.setItem(t,JSON.stringify(o)),i(o)},!!window.localStorage.getItem(t)]}function yn(e,t){let s=0,i=null,a;return function(...o){const c=Date.now();a=o,c-s>=t?(s=c,e.apply(this,o)):i||(i=setTimeout(()=>{s=Date.now(),i=null,e.apply(this,a)},t-(c-s)))}}function tt(e){if(Array.isArray(e))return e.map(t=>tt(t));if(typeof e=="function")return e.bind(null);if(e&&typeof e=="object"){const t={};return Object.keys(e).forEach(s=>{t[s]=tt(e[s])}),t}return e}const ct=yn((e,t)=>e(t),0);function R(e,t){const s=t.find(i=>i._id===e);return{card:s,index:s?t.indexOf(s):-1}}function rt(e,t,s,i,a,o,c,l,d){const{card:j,index:O}=R(e,s);if(!(Ot&&l>d)&&j&&O!==t){const I=tt(s);I.splice(O,1),I.splice(t,0,j);const _=tt(a);switch(o){case"actions":_.actions[c]=I,ct(i,_);return;case"conditions":_.conditions[c]=I,ct(i,_);return;default:_.triggers=I,ct(i,_);return}}}const Dn="_drag_7xfhc_1",kn="_root_7xfhc_11",gt={drag:Dn,root:kn},At=({typeBlock:e,allProperties:t,id:s,isActive:i,setUserRules:a,userRules:o,children:c,_id:l,blockValue:d})=>{const{setOnUpdate:j}=nt(et),[{opacity:O},I,_]=$t({type:"box",item:()=>({...t,id:s,isActive:i,_id:l}),end:(w,f)=>{const{acceptedBy:x}=w,p=f.getDropResult();let g;if(!p)return typeof l=="number"&&!f.getTargetIds().length&&(g=K(x,o,d),g=z(x,g,d,l),a(g)),null;if(p.blockValue!==d){const C=typeof l=="number"?l:Date.now();g=K(x,o,p.blockValue);const q={id:w.id,acceptedBy:w.acceptedBy};switch(x){case"actions":return d&&(g=z("actions",g,d,C)),g=z("actions",g,p.blockValue,C),g.actions[p.blockValue].push({...q,_id:C}),a(g);case"conditions":return typeof d=="number"&&(g=z("conditions",g,d,C)),g=z("conditions",g,p.blockValue,C),g.conditions[p.blockValue].push({...q,_id:C}),a(g);default:return j(!0),g=z("triggers",g,p.blockValue,C),g.triggers.push({...q,_id:C}),a(g)}}},collect:w=>({opacity:w.isDragging()?.4:1,isDragging:w.isDragging()})}),r=ut(null),[,k]=bt({accept:"box",canDrop:()=>!1,hover({_id:w,acceptedBy:f},x){var T;if(!r.current||e!==f)return;const p=(T=r.current)==null?void 0:T.getBoundingClientRect(),g=(p.bottom-p.top)/2,C=x.getClientOffset(),q=((C==null?void 0:C.y)||0)-p.top;if(l&&w!==l)switch(f){case"actions":if(d==="then"||d==="else"){const{index:S}=R(l,o.actions[d]);S!==w&&rt(w,S,o[f][d],a,o,f,d,q,g)}return;case"conditions":if(typeof d=="number"){const{index:S}=R(l,o[f][d]);S!==w&&rt(w,S,o[f][d],a,o,f,d,q,g)}return;default:{const{index:S}=R(l,o[f]);S!==w&&rt(w,S,o[f],a,o,f,void 0,q,g);return}}}});E(()=>{_(Gt(),{captureDraggingState:!0})},[]),I(k(r));const H=window.innerWidth<600;return n.jsxs("div",{ref:H&&l?null:r,className:gt.root,style:{opacity:O},children:[n.jsx("div",{className:l?gt.drag:null,ref:l&&H?r:null}),c]})},Sn=({onClose:e,open:t})=>n.jsxs(wt,{open:t,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[n.jsx(Ct,{children:n.jsxs("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[n.jsx("h3",{children:u.I18n.t("On condition change")}),n.jsx("div",{children:u.I18n.t("help_on_change")}),n.jsx("h3",{children:u.I18n.t("Just check")}),n.jsx("div",{children:u.I18n.t("help_just_check")})]})}),n.jsx(vt,{children:n.jsx(jt,{onClick:e,color:"primary",autoFocus:!0,startIcon:n.jsx(Lt,{}),children:u.I18n.t("OK")})})]}),Nn=({onClose:e,open:t})=>n.jsxs(wt,{open:t,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[n.jsx(Ct,{children:n.jsxs(Tt,{id:"alert-dialog-description",children:[n.jsx("h3",{children:u.I18n.t("On condition change")}),n.jsx("div",{children:u.I18n.t("help_on_change")}),n.jsx("h3",{children:u.I18n.t("Just check")}),n.jsx("div",{children:u.I18n.t("help_just_check")})]})}),n.jsx(vt,{children:n.jsx(jt,{onClick:e,color:"primary",autoFocus:!0,children:u.I18n.t("OK")})})]}),ht=({size:e,blockValue:t,boolean:s,typeBlock:i,userRules:a,setUserRules:o,animation:c,setTourStep:l,tourStep:d,isTourOpen:j,theme:O,themeType:I,themeName:_})=>{var W;const[r,k]=M(!1),[H,w]=M(!1),[f,x]=M(!1),[p,g]=M("");s===void 0&&(s=!0);const C=bt({accept:"box",drop:()=>({blockValue:t}),hover:({acceptedBy:A,_id:L},Z)=>{k(A===i),x(!!L),g(Z.getHandlerId()||"")},canDrop:({acceptedBy:A})=>(w(A===i),A===i),collect:A=>{var L;return{isOver:A.isOver(),canDrop:((L=A.getItem())==null?void 0:L.acceptedBy)===i,offset:A.getClientOffset(),targetId:A.getHandlerId()}}}),q=C[0],{canDrop:T,isOver:S,offset:B,targetId:N}=q,h=C[1];E(()=>{g("")},[B]);const b=T&&S;let v="";b?v=r?"#00fb003d":"#fb00002e":T?v=H?"#00fb003d":"#fb00002e":B&&(v=N===p?"#fb00002e":"");let m;return i==="actions"?m=a.actions[t]:i==="conditions"?m=a.conditions[t]:m=a.triggers,n.jsx("div",{ref:h,style:{backgroundColor:v},className:`${u.Utils.clsx(D.contentBlockItem,e&&D.addClassHeight)} ${s?c?D.contentHeightOn:null:D.contentHeightOff}`,children:n.jsxs("div",{className:D.wrapperMargin,children:[m.map(A=>n.jsx(At,{typeBlock:i,...A,blockValue:t,allProperties:A,userRules:a,setUserRules:o,children:n.jsx(Ot,{...A,isTourOpen:j,setTourStep:l,tourStep:d,settings:A,blockValue:t,userRules:a,setUserRules:o,theme:O,themeType:I,themeName:_})},A._id)),n.jsx("div",{style:b&&r&&!f?{height:((W=document.getElementById("height"))==null?void 0:W.clientHeight)||200}:void 0,className:`${D.emptyBlockStyle} ${b&&r&&!f?D.emptyBlock:D.emptyBlockNone}`})]})})},at=({size:e,typeBlock:t,name:s,nameAdditionally:i,additionally:a,border:o,userRules:c,setUserRules:l,iconName:d,adapter:j,socket:O,setTourStep:I,tourStep:_,isTourOpen:r,theme:k,themeType:H,themeName:w})=>{const[f,x,p]=dt(t==="actions"?!1:[],`additionallyClickItems_${t}`),[g,C]=M(!1),[q,T]=M(!1);E(()=>{if(t==="conditions"&&(f==null?void 0:f.length)!==c.conditions.length-1){const N=[];c.conditions.forEach((h,b)=>{b>0&&N.push({_id:Date.now(),open:!0})}),x([...f,...N])}t==="actions"&&!p&&c.actions.else.length&&x(!0)},[]);const[S,B]=M(!1);return n.jsxs("div",{className:`${u.Utils.clsx(D.mainBlockItemRules,e&&D.addClassOverflow)} ${o&&!e?D.border:null}`,children:[n.jsxs("span",{id:"width",className:D.nameBlockItems,children:[n.jsx(Y,{iconName:d,className:D.iconThemCard,adapter:j,socket:O}),s]}),t==="conditions"?n.jsxs("div",{style:{width:"100%"},children:[n.jsxs(Et,{variant:"standard",className:D.selectOnChange,value:c.justCheck||!1,onChange:N=>{const h=K("conditions",c);h.justCheck=N.target.value==="true",l(h)},children:[n.jsx(mt,{value:"false",children:u.I18n.t("on condition change")}),n.jsx(mt,{value:"true",children:u.I18n.t("just check")})]}),n.jsx(Pt,{size:"small",title:u.I18n.t("Explanation"),className:D.selectOnChangeHelp,onClick:()=>C(!0),children:n.jsx(qt,{className:D.selectOnChangeHelpIcon})})]}):null,n.jsx(ht,{setTourStep:I,tourStep:_,isTourOpen:r,blockValue:t==="actions"?"then":t==="conditions"?0:t,typeBlock:t,setUserRules:l,userRules:c,theme:k,themeName:w,themeType:H,size:e}),a&&[...Array(t==="actions"?1:c.conditions.length-1)].map((N,h)=>{const b=(v=h)=>t==="actions"?!!f:!!f.find((m,W)=>W===v&&m.open);return n.jsxs(xt,{children:[n.jsxs("div",{onClick:()=>{if(t==="actions")return x(!f),null;let v=JSON.parse(JSON.stringify(f));if(c.conditions[h+1].length)return v[h].open=!v[h].open,x(v),null;v=v.filter((m,W)=>W!==h),x(v),B(h),setTimeout(()=>{B(!1),l({...c,conditions:[...c.conditions.filter((m,W)=>W!==h+1)]})},250)},className:D.blockCardAdd,children:[b()?"-":"+",n.jsx("div",{className:D.cardAdd,children:i})]},h),n.jsx(ht,{blockValue:t==="actions"?"else":t==="conditions"?h+1:t,typeBlock:t,setUserRules:l,userRules:c,boolean:b(),animation:S===h,size:e,theme:k,themeName:w,themeType:H})]},`${h}_block_${t}`)}),a&&t==="conditions"&&n.jsxs("div",{onClick:()=>{x([...f,{_id:Date.now(),open:!0}]),l({...c,conditions:[...c.conditions,[]]}),B(c.conditions.length-1),setTimeout(()=>B(!1),1e3)},className:D.blockCardAdd,children:["+",n.jsx("div",{className:D.cardAdd,children:i})]}),n.jsx(Sn,{open:g,onClose:()=>C(!1)}),n.jsx(Nn,{open:q,onClose:()=>T(!1)})]})},$n="_menuRules_1qqcb_1",qn="_switchesRenderWrapper_1qqcb_13",Bn="_menuOff_1qqcb_22",Mn="_menuTitle_1qqcb_28",Hn="_marginAuto_1qqcb_42",Wn="_inputWidth_1qqcb_47",Tn="_menuWrapper_1qqcb_52",En="_hamburgerWrapper_1qqcb_57",Pn="_hamburgerOff_1qqcb_74",Un="_nothingFound_1qqcb_82",Fn="_resetSearch_1qqcb_89",Jn="_controlPanel_1qqcb_101",Ln="_controlPanelAppBar_1qqcb_112",zn="_addClassMenu_1qqcb_126",Gn="_addClassBackground_1qqcb_132",Kn="_addClassPosition_1qqcb_136",$={menuRules:$n,switchesRenderWrapper:qn,menuOff:Bn,menuTitle:Mn,marginAuto:Hn,inputWidth:Wn,menuWrapper:Tn,hamburgerWrapper:En,hamburgerOff:Pn,nothingFound:Un,resetSearch:Fn,controlPanel:Jn,controlPanelAppBar:Ln,addClassMenu:zn,addClassBackground:Gn,addClassPosition:Kn},Qn=e=>{const{allProperties:t,allProperties:{acceptedBy:s,id:i},setUserRules:a,userRules:o,setTourStep:c,tourStep:l,isTourOpen:d,onTouchMove:j,isActive:O}=e;return n.jsx(At,{allProperties:t,id:t.id,isActive:O,setUserRules:a,userRules:o,children:n.jsx(It,{onDoubleClick:()=>{d&&l===J.addScheduleByDoubleClick&&i==="TriggerScheduleBlock"&&c(J.openTagsMenu),d&&l===J.addActionPrintText&&i==="ActionPrintText"&&c(J.showJavascript);const I=Date.now();let _;switch(s){case"actions":_="then";break;case"conditions":_=o[s].length-1;break}const r=K(s,o,_),k={id:i,_id:I,acceptedBy:s};_!==void 0?s==="actions"?r.actions[_].push({...k}):s==="conditions"&&r.conditions[_].push({...k}):r.triggers.push({...k}),a(r)},...e,...t,onTouchMove:j})})},Yn="_hamburgerMenu_hqnsm_8",Zn="_animate_hqnsm_21",_t={hamburgerMenu:Yn,animate:Zn};function Xn({bool:e}){return n.jsx("div",{className:`${_t.hamburgerMenu} ${e?_t.animate:""}`})}const Vn=({addClass:e,setAllBlocks:t,allBlocks:s,userRules:i,onChangeBlocks:a,setTourStep:o,tourStep:c,isTourOpen:l})=>{const{blocks:d,socket:j}=nt(et),[O,I]=dt(!1,"hamburgerOnOff"),[_,r]=dt({text:"",type:"triggers",index:0},"filterControlPanel"),k=(f=_.text,x=_.type)=>{if(!d)return;let p=[...d];p=p.filter(g=>{if(!f)return!0;const{name:C}=g.getStaticData();return C&&u.I18n.t(C).toLowerCase().includes(f.toLowerCase())}),p=p.filter(g=>x===g.getStaticData().acceptedBy),t(p)},H=(f,x)=>{l&&x===0&&c===J.selectTriggers&&o(J.addScheduleByDoubleClick),l&&x===2&&c===J.selectActions&&o(J.addActionPrintText),r({..._,index:x,type:["triggers","conditions","actions"][x]}),k(_.text,["triggers","conditions","actions"][x])},w=f=>({id:`scrollable-force-tab-${f}`,"aria-controls":`scrollable-force-tabpanel-${f}`});return E(()=>{k()},[d]),n.jsx(Ut,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>I(!0),children:n.jsxs("div",{className:u.Utils.clsx($.menuWrapper,e[1035]&&$.addClassMenu),children:[n.jsx("div",{className:`${$.hamburgerWrapper} ${O?$.hamburgerOff:null}`,onClick:()=>I(!O),children:n.jsx(Xn,{bool:!O})}),n.jsxs("div",{className:`${u.Utils.clsx($.menuRules,e[1035]&&$.addClassBackground,e[835]&&$.addClassPosition)} ${O?$.menuOff:null}`,children:[n.jsx("div",{className:$.controlPanel,children:n.jsx(Ft,{className:$.controlPanelAppBar,position:"static",children:n.jsxs(Jt,{value:_.index,onChange:H,children:[n.jsx(st,{className:"blocks-triggers",title:u.I18n.t("Triggers"),icon:n.jsx(Y,{iconName:"FlashOn"}),...w(0)}),n.jsx(st,{title:u.I18n.t("Conditions"),className:"blocks-conditions",icon:n.jsx(Y,{iconName:"Help"}),...w(1)}),n.jsx(st,{title:u.I18n.t("Actions"),className:"blocks-actions",icon:n.jsx(Y,{iconName:"PlayForWork"}),...w(2)})]})})}),n.jsx("div",{className:$.switchesRenderWrapper,children:n.jsxs("span",{children:[s.map(f=>{const{name:x,id:p,icon:g,adapter:C}=f.getStaticData();return n.jsx(xt,{children:n.jsx(Qn,{adapter:C,allProperties:f.getStaticData(),icon:g,id:p,isActive:!1,isTourOpen:l,name:x,onTouchMove:()=>I(!0),setTourStep:o,setUserRules:a,socket:j,tourStep:c,userRules:i})},p)}),!s.length&&n.jsxs("div",{className:$.nothingFound,children:[u.I18n.t("Nothing found"),"...",n.jsx("div",{className:$.resetSearch,onClick:()=>{r({..._,text:""}),k("")},children:u.I18n.t("reset search")})]})]})}),n.jsx("div",{className:u.Utils.clsx($.menuTitle,$.marginAuto)}),n.jsx(Bt,{className:$.inputWidth,fullWidth:!0,customValue:!0,value:_.text,size:"small",autoComplete:"off",label:u.I18n.t("search"),variant:"outlined",onChange:f=>{r({..._,text:f}),k(f)}})]})]})})};let pt=[];const me=({code:e,onChange:t,themeName:s,themeType:i,theme:a,setTourStep:o,tourStep:c,isTourOpen:l,command:d,scriptId:j,changed:O,running:I})=>{var v;const{blocks:_,socket:r,setOnUpdate:k,setOnDebugMessage:H,setEnableSimulation:w}=nt(et),[f,x]=M([]),[p,g]=M(ft(e)),[C,q]=M(""),[T,S]=M(!1);E(()=>{let m,W;const A=(P,y)=>{P===`${m}.alive`&&W!==(y==null?void 0:y.val)&&(W=!!(y!=null&&y.val),W&&m&&(r==null||r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOn",j)))},L=(P,y)=>{var U,Q;r&&m!==((U=y==null?void 0:y.common)==null?void 0:U.engine)&&(m&&(r.unsubscribeState(`${m}.alive`,A),W&&r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOn",j)),m=(Q=y==null?void 0:y.common)==null?void 0:Q.engine,m&&m&&r.subscribeState(`${m}.alive`,A))},Z=(P,y)=>{if(y)try{const U=JSON.parse(y.val),Q=Date.now();if(U.ruleId===j&&Q-U.ts<1e3){const F=[...pt,{blockId:U.blockId,data:U.data,ts:U.ts}];F.length>200&&F.splice(0,200-F.length);for(let X=F.length-1;X>=0;X--)if(F[X].ts{var y;m=(y=P==null?void 0:P.common)==null?void 0:y.engine,r.subscribeObject(j,L),m&&(r.subscribeState(`${m}.alive`,A),r.subscribeState(`${m.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}),function(){r==null||r.unsubscribeObject(j,L),m&&(r==null||r.unsubscribeState(`${m}.alive`,A),W&&(r==null||r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOff",j)),r==null||r.unsubscribeState(`${m.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}},[]),E(()=>{w(!O&&I)},[O,I,w]),E(()=>{d&&(q(d),T||S(!0))},[d]),E(()=>{const m=ft(e);JSON.stringify(m)!==JSON.stringify(p)&&(g(m),k(!0))},[e]),E(()=>{document.getElementsByTagName("HTML")[0].className=s||"blue"},[s]);const B=lt(m=>{g(m),_&&t(Mt(m,_))},[_,t]),N=ut(null),[h,b]=M({835:!1,1035:!1});return E(()=>{N.current&&(N.current.clientWidth<=1035&&b({835:!1,1035:!0}),N.current.clientWidth<=835&&b({1035:!0,835:!0}),N.current.clientWidth>1035&&b({835:!1,1035:!1}))},[((v=N.current)==null?void 0:v.clientWidth)||0]),!_||!r?null:n.jsxs("div",{className:ot.wrapperRules,ref:N,children:[n.jsx(ln,{allBlocks:f,socket:r}),T?C==="export"?n.jsx(Ht,{scriptId:j,themeType:i,onClose:()=>S(!1),text:JSON.stringify(p,null,2)}):n.jsx(Wt,{themeType:i,onClose:m=>{S(!1),m&&B(JSON.parse(m))}}):null,n.jsxs("div",{className:u.Utils.clsx(ot.rootWrapper,h[835]&&ot.addClass),children:[n.jsx(Vn,{setAllBlocks:x,allBlocks:f,userRules:p,onChangeBlocks:B,setTourStep:o,tourStep:c,addClass:h,isTourOpen:l}),n.jsx(at,{socket:r,setUserRules:B,userRules:p,isTourOpen:l,setTourStep:o,tourStep:c,name:`${u.I18n.t("when")}...`,typeBlock:"triggers",iconName:"FlashOn",size:h[835],themeType:i,themeName:s,theme:a}),n.jsx(at,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("and")}...`,typeBlock:"conditions",iconName:"Help",nameAdditionally:u.I18n.t("or"),additionally:!0,border:!0,size:h[835],themeType:i,themeName:s,theme:a}),n.jsx(at,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("then")}`,typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:u.I18n.t("else"),additionally:!0,size:h[835],themeType:i,themeName:s,theme:a})]})]},"rulesEditor")};export{me as default}; +import{j as n}from"./createSvgIcon-DYs_tNrE.js";import{c as E,h as yt,j as M,m as nt,k as lt,l as Dt,b as ut,o as xt}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as u}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{u as kt,a as St,M as Y,C as et,G as Nt,b as $t,c as bt,I as qt,S as J,d as Bt,e as ft,j as Mt,D as Ht,f as Wt}from"./index-DlobACYc.js";import{_ as wt,b as Ct,h as vt,i as jt,p as Tt,f as Et,g as mt,o as Pt,Y as Ut,Z as Ft,C as Jt,D as st}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{I as Lt}from"./index-wHNMOf-c.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-CIXm_zPk.js";function zt(e){const s=kt().getMonitor(),[i,a]=St(s,e);return E(()=>s.subscribeToOffsetChange(a)),E(()=>s.subscribeToStateChange(a)),i}let V;function Gt(){return V||(V=new Image,V.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),V}const Kt="_wrapperRules_nnott_1",Qt="_rootWrapper_nnott_9",Yt="_addClass_nnott_14",ot={wrapperRules:Kt,rootWrapper:Qt,addClass:Yt},Zt="_switchesItem_10ls3_1",Xt="_switchesItemActive_10ls3_28",Vt="_iconTheme_10ls3_36",it={switchesItem:Zt,switchesItemActive:Xt,iconTheme:Vt},It=({name:e,id:t,active:s,icon:i,adapter:a,socket:o,onDoubleClick:c,title:l,onTouchMove:d,style:j})=>n.jsxs("div",{onDoubleClick:c,onTouchMove:d,title:l?u.I18n.t(l):void 0,className:u.Utils.clsx(it.switchesItem,s&&it.switchesItemActive,`block-${t}`),children:[n.jsx(Y,{iconName:i,className:it.iconTheme,adapter:a,socket:o,style:j}),n.jsx("span",{children:e?u.I18n.t(e):""})]},t),Rt="_cardStyle_8rq8v_1",tn="_cardStyleActive_8rq8v_17",nn="_controlMenu_8rq8v_22",en="_closeBtn_8rq8v_31",sn="_isDelete_8rq8v_73",on="_drag_mobile_8rq8v_90",G={cardStyle:Rt,cardStyleActive:tn,controlMenu:nn,closeBtn:en,isDelete:sn,drag_mobile:on};function K(e,t,s){let i;switch(e){case"actions":if(s==="else")return i={...t,actions:{...t[e],else:[...t[e].else]}},i;if(s==="then")return i={...t,actions:{...t[e],then:[...t[e].then]}},i;throw console.error(`Unknown additionalParameter: ${s}`),new Error(`Unknown additionalParameter: ${s}`);case"triggers":return i={...t,triggers:[...t.triggers]},i;case"conditions":return i={...t,conditions:[...t.conditions]},i;default:throw new Error(`Unknown name: ${e}`)}}function z(e,t,s,i){var a;switch(e){case"actions":return t.actions[s]=t.actions[s].filter(o=>o._id!==i),t;case"conditions":return t.conditions[s]=(a=t.conditions[s])==null?void 0:a.filter(o=>o._id!==i),t;default:return t.triggers=t.triggers.filter(o=>o._id!==i),t}}function cn(e,t,s){const{_id:i,acceptedBy:a}=e;let o;if(!a||!t[a])return console.warn(`Cannot find ${a}`),t;switch(a){case"actions":if(o=t.actions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.actions[s].indexOf(o);t.actions[s][c]=e}return t;case"conditions":if(o=t.conditions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.conditions[s].indexOf(o);t.conditions[s][c]=e}return t;default:if(o=t.triggers.find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.triggers.indexOf(o);t.triggers[c]=e}return t}}const Ot=yt(e=>{var N;const{setUserRules:t,userRules:s,_id:i,id:a,blockValue:o,active:c,acceptedBy:l,isTourOpen:d,setTourStep:j,tourStep:O}=e,[I,_]=M(null),{blocks:r,socket:k,onUpdate:H,setOnUpdate:w,onDebugMessage:f,enableSimulation:x}=nt(et),p=lt(h=>r==null?void 0:r.find(b=>b.getStaticData().id===h),[r]),g=lt(h=>{const b=cn(h,s,o);b&&t(b)},[s]),C=h=>{h.currentTarget!==I&&_(h.currentTarget)},q=()=>_(null),T=Dt(()=>{const h=p(a)||Nt;return n.jsx(h,{...e,notFound:!p(a),isTourOpen:d,setTourStep:j,tourStep:O,onUpdate:H,setOnUpdate:w,enableSimulation:x,onDebugMessage:f,onChange:g,className:void 0,socket:k})},[s,H,f,x]),[S,B]=M(!1);return n.jsxs("div",{onMouseMove:C,onMouseEnter:C,onMouseLeave:q,onMouseDown:h=>{if(h.ctrlKey){let b;const v=K(l,s,o);l==="conditions"?(b=v.conditions[o].find(m=>m._id===i),b&&v.conditions[o].splice(v.conditions[o].indexOf(b),0,{...b,_id:Date.now()})):l==="actions"?(b=v.actions[o].find(m=>m._id===i),b&&v.actions[o].splice(v.actions[o].indexOf(b),0,{...b,_id:Date.now()})):(b=v.triggers.find(m=>m._id===i),b&&v.triggers.splice(v[l].indexOf(b),0,{...b,_id:Date.now()})),t(v)}},id:"height",style:c?{width:(((N=document.getElementById("width"))==null?void 0:N.clientWidth)||0)-70}:void 0,className:`${G.cardStyle} ${c?G.cardStyleActive:null} ${S?G.isDelete:null}`,children:[n.jsx("div",{className:G.drag_mobile}),T,t&&n.jsx("div",{className:G.controlMenu,style:I?{opacity:1}:{opacity:0},children:n.jsx("div",{onClick:()=>{let h=K(l,s,o);h=z(l,h,o,i),B(!0),setTimeout(()=>{l==="triggers"&&w(!0),t(h)},300)},className:G.closeBtn})})]})}),rn={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},an=(e,t,s)=>{if(!e||!t)return{display:"none"};let{x:i,y:a}=t;const o=`translate(${i}px, ${a}px)`;return{transform:o,WebkitTransform:o}},ln=e=>{const{itemType:t,isDragging:s,item:i,initialOffset:a,currentOffset:o,targetIds:c}=zt(d=>({item:d.getItem(),itemType:d.getItemType(),initialOffset:d.getInitialSourceClientOffset(),currentOffset:d.getSourceClientOffset(),isDragging:d.isDragging(),targetIds:d.getTargetIds()})),l=()=>t==="box"?c.length?n.jsx(Ot,{active:!0,...i,allBlocks:e.allBlocks}):n.jsx(It,{active:!0,...i,socket:e.socket}):null;return s?n.jsx("div",{style:rn,children:n.jsx("div",{style:an(a,o),children:l()})}):null},dn="_border_wrpm3_1",fn="_emptyBlockStyle_wrpm3_6",mn="_emptyBlock_wrpm3_6",gn="_selectOnChange_wrpm3_22",hn="_selectOnChangeHelp_wrpm3_28",_n="_selectOnChangeHelpIcon_wrpm3_34",pn="_emptyBlockNone_wrpm3_49",un="_mainBlockItemRules_wrpm3_55",xn="_nameBlockItems_wrpm3_63",bn="_contentBlockItem_wrpm3_73",wn="_wrapperMargin_wrpm3_81",Cn="_contentHeightOn_wrpm3_87",vn="_contentHeightOff_wrpm3_99",jn="_cardAdd_wrpm3_105",In="_blockCardAdd_wrpm3_125",On="_addClassOverflow_wrpm3_136",An="_addClassHeight_wrpm3_140",D={border:dn,emptyBlockStyle:fn,emptyBlock:mn,selectOnChange:gn,selectOnChangeHelp:hn,selectOnChangeHelpIcon:_n,emptyBlockNone:pn,mainBlockItemRules:un,nameBlockItems:xn,contentBlockItem:bn,wrapperMargin:wn,contentHeightOn:Cn,contentHeightOff:vn,cardAdd:jn,blockCardAdd:In,addClassOverflow:On,addClassHeight:An};function dt(e,t){const[s,i]=M(window.localStorage.getItem(t)?JSON.parse(window.localStorage.getItem(t)||""):e);return[s,o=>{window.localStorage.setItem(t,JSON.stringify(o)),i(o)},!!window.localStorage.getItem(t)]}function yn(e,t){let s=0,i=null,a;return function(...o){const c=Date.now();a=o,c-s>=t?(s=c,e.apply(this,o)):i||(i=setTimeout(()=>{s=Date.now(),i=null,e.apply(this,a)},t-(c-s)))}}function tt(e){if(Array.isArray(e))return e.map(t=>tt(t));if(typeof e=="function")return e.bind(null);if(e&&typeof e=="object"){const t={};return Object.keys(e).forEach(s=>{t[s]=tt(e[s])}),t}return e}const ct=yn((e,t)=>e(t),0);function R(e,t){const s=t.find(i=>i._id===e);return{card:s,index:s?t.indexOf(s):-1}}function rt(e,t,s,i,a,o,c,l,d){const{card:j,index:O}=R(e,s);if(!(Ot&&l>d)&&j&&O!==t){const I=tt(s);I.splice(O,1),I.splice(t,0,j);const _=tt(a);switch(o){case"actions":_.actions[c]=I,ct(i,_);return;case"conditions":_.conditions[c]=I,ct(i,_);return;default:_.triggers=I,ct(i,_);return}}}const Dn="_drag_7xfhc_1",kn="_root_7xfhc_11",gt={drag:Dn,root:kn},At=({typeBlock:e,allProperties:t,id:s,isActive:i,setUserRules:a,userRules:o,children:c,_id:l,blockValue:d})=>{const{setOnUpdate:j}=nt(et),[{opacity:O},I,_]=$t({type:"box",item:()=>({...t,id:s,isActive:i,_id:l}),end:(w,f)=>{const{acceptedBy:x}=w,p=f.getDropResult();let g;if(!p)return typeof l=="number"&&!f.getTargetIds().length&&(g=K(x,o,d),g=z(x,g,d,l),a(g)),null;if(p.blockValue!==d){const C=typeof l=="number"?l:Date.now();g=K(x,o,p.blockValue);const q={id:w.id,acceptedBy:w.acceptedBy};switch(x){case"actions":return d&&(g=z("actions",g,d,C)),g=z("actions",g,p.blockValue,C),g.actions[p.blockValue].push({...q,_id:C}),a(g);case"conditions":return typeof d=="number"&&(g=z("conditions",g,d,C)),g=z("conditions",g,p.blockValue,C),g.conditions[p.blockValue].push({...q,_id:C}),a(g);default:return j(!0),g=z("triggers",g,p.blockValue,C),g.triggers.push({...q,_id:C}),a(g)}}},collect:w=>({opacity:w.isDragging()?.4:1,isDragging:w.isDragging()})}),r=ut(null),[,k]=bt({accept:"box",canDrop:()=>!1,hover({_id:w,acceptedBy:f},x){var T;if(!r.current||e!==f)return;const p=(T=r.current)==null?void 0:T.getBoundingClientRect(),g=(p.bottom-p.top)/2,C=x.getClientOffset(),q=((C==null?void 0:C.y)||0)-p.top;if(l&&w!==l)switch(f){case"actions":if(d==="then"||d==="else"){const{index:S}=R(l,o.actions[d]);S!==w&&rt(w,S,o[f][d],a,o,f,d,q,g)}return;case"conditions":if(typeof d=="number"){const{index:S}=R(l,o[f][d]);S!==w&&rt(w,S,o[f][d],a,o,f,d,q,g)}return;default:{const{index:S}=R(l,o[f]);S!==w&&rt(w,S,o[f],a,o,f,void 0,q,g);return}}}});E(()=>{_(Gt(),{captureDraggingState:!0})},[]),I(k(r));const H=window.innerWidth<600;return n.jsxs("div",{ref:H&&l?null:r,className:gt.root,style:{opacity:O},children:[n.jsx("div",{className:l?gt.drag:null,ref:l&&H?r:null}),c]})},Sn=({onClose:e,open:t})=>n.jsxs(wt,{open:t,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[n.jsx(Ct,{children:n.jsxs("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[n.jsx("h3",{children:u.I18n.t("On condition change")}),n.jsx("div",{children:u.I18n.t("help_on_change")}),n.jsx("h3",{children:u.I18n.t("Just check")}),n.jsx("div",{children:u.I18n.t("help_just_check")})]})}),n.jsx(vt,{children:n.jsx(jt,{onClick:e,color:"primary",autoFocus:!0,startIcon:n.jsx(Lt,{}),children:u.I18n.t("OK")})})]}),Nn=({onClose:e,open:t})=>n.jsxs(wt,{open:t,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[n.jsx(Ct,{children:n.jsxs(Tt,{id:"alert-dialog-description",children:[n.jsx("h3",{children:u.I18n.t("On condition change")}),n.jsx("div",{children:u.I18n.t("help_on_change")}),n.jsx("h3",{children:u.I18n.t("Just check")}),n.jsx("div",{children:u.I18n.t("help_just_check")})]})}),n.jsx(vt,{children:n.jsx(jt,{onClick:e,color:"primary",autoFocus:!0,children:u.I18n.t("OK")})})]}),ht=({size:e,blockValue:t,boolean:s,typeBlock:i,userRules:a,setUserRules:o,animation:c,setTourStep:l,tourStep:d,isTourOpen:j,theme:O,themeType:I,themeName:_})=>{var W;const[r,k]=M(!1),[H,w]=M(!1),[f,x]=M(!1),[p,g]=M("");s===void 0&&(s=!0);const C=bt({accept:"box",drop:()=>({blockValue:t}),hover:({acceptedBy:A,_id:L},Z)=>{k(A===i),x(!!L),g(Z.getHandlerId()||"")},canDrop:({acceptedBy:A})=>(w(A===i),A===i),collect:A=>{var L;return{isOver:A.isOver(),canDrop:((L=A.getItem())==null?void 0:L.acceptedBy)===i,offset:A.getClientOffset(),targetId:A.getHandlerId()}}}),q=C[0],{canDrop:T,isOver:S,offset:B,targetId:N}=q,h=C[1];E(()=>{g("")},[B]);const b=T&&S;let v="";b?v=r?"#00fb003d":"#fb00002e":T?v=H?"#00fb003d":"#fb00002e":B&&(v=N===p?"#fb00002e":"");let m;return i==="actions"?m=a.actions[t]:i==="conditions"?m=a.conditions[t]:m=a.triggers,n.jsx("div",{ref:h,style:{backgroundColor:v},className:`${u.Utils.clsx(D.contentBlockItem,e&&D.addClassHeight)} ${s?c?D.contentHeightOn:null:D.contentHeightOff}`,children:n.jsxs("div",{className:D.wrapperMargin,children:[m.map(A=>n.jsx(At,{typeBlock:i,...A,blockValue:t,allProperties:A,userRules:a,setUserRules:o,children:n.jsx(Ot,{...A,isTourOpen:j,setTourStep:l,tourStep:d,settings:A,blockValue:t,userRules:a,setUserRules:o,theme:O,themeType:I,themeName:_})},A._id)),n.jsx("div",{style:b&&r&&!f?{height:((W=document.getElementById("height"))==null?void 0:W.clientHeight)||200}:void 0,className:`${D.emptyBlockStyle} ${b&&r&&!f?D.emptyBlock:D.emptyBlockNone}`})]})})},at=({size:e,typeBlock:t,name:s,nameAdditionally:i,additionally:a,border:o,userRules:c,setUserRules:l,iconName:d,adapter:j,socket:O,setTourStep:I,tourStep:_,isTourOpen:r,theme:k,themeType:H,themeName:w})=>{const[f,x,p]=dt(t==="actions"?!1:[],`additionallyClickItems_${t}`),[g,C]=M(!1),[q,T]=M(!1);E(()=>{if(t==="conditions"&&(f==null?void 0:f.length)!==c.conditions.length-1){const N=[];c.conditions.forEach((h,b)=>{b>0&&N.push({_id:Date.now(),open:!0})}),x([...f,...N])}t==="actions"&&!p&&c.actions.else.length&&x(!0)},[]);const[S,B]=M(!1);return n.jsxs("div",{className:`${u.Utils.clsx(D.mainBlockItemRules,e&&D.addClassOverflow)} ${o&&!e?D.border:null}`,children:[n.jsxs("span",{id:"width",className:D.nameBlockItems,children:[n.jsx(Y,{iconName:d,className:D.iconThemCard,adapter:j,socket:O}),s]}),t==="conditions"?n.jsxs("div",{style:{width:"100%"},children:[n.jsxs(Et,{variant:"standard",className:D.selectOnChange,value:c.justCheck||!1,onChange:N=>{const h=K("conditions",c);h.justCheck=N.target.value==="true",l(h)},children:[n.jsx(mt,{value:"false",children:u.I18n.t("on condition change")}),n.jsx(mt,{value:"true",children:u.I18n.t("just check")})]}),n.jsx(Pt,{size:"small",title:u.I18n.t("Explanation"),className:D.selectOnChangeHelp,onClick:()=>C(!0),children:n.jsx(qt,{className:D.selectOnChangeHelpIcon})})]}):null,n.jsx(ht,{setTourStep:I,tourStep:_,isTourOpen:r,blockValue:t==="actions"?"then":t==="conditions"?0:t,typeBlock:t,setUserRules:l,userRules:c,theme:k,themeName:w,themeType:H,size:e}),a&&[...Array(t==="actions"?1:c.conditions.length-1)].map((N,h)=>{const b=(v=h)=>t==="actions"?!!f:!!f.find((m,W)=>W===v&&m.open);return n.jsxs(xt,{children:[n.jsxs("div",{onClick:()=>{if(t==="actions")return x(!f),null;let v=JSON.parse(JSON.stringify(f));if(c.conditions[h+1].length)return v[h].open=!v[h].open,x(v),null;v=v.filter((m,W)=>W!==h),x(v),B(h),setTimeout(()=>{B(!1),l({...c,conditions:[...c.conditions.filter((m,W)=>W!==h+1)]})},250)},className:D.blockCardAdd,children:[b()?"-":"+",n.jsx("div",{className:D.cardAdd,children:i})]},h),n.jsx(ht,{blockValue:t==="actions"?"else":t==="conditions"?h+1:t,typeBlock:t,setUserRules:l,userRules:c,boolean:b(),animation:S===h,size:e,theme:k,themeName:w,themeType:H})]},`${h}_block_${t}`)}),a&&t==="conditions"&&n.jsxs("div",{onClick:()=>{x([...f,{_id:Date.now(),open:!0}]),l({...c,conditions:[...c.conditions,[]]}),B(c.conditions.length-1),setTimeout(()=>B(!1),1e3)},className:D.blockCardAdd,children:["+",n.jsx("div",{className:D.cardAdd,children:i})]}),n.jsx(Sn,{open:g,onClose:()=>C(!1)}),n.jsx(Nn,{open:q,onClose:()=>T(!1)})]})},$n="_menuRules_1qqcb_1",qn="_switchesRenderWrapper_1qqcb_13",Bn="_menuOff_1qqcb_22",Mn="_menuTitle_1qqcb_28",Hn="_marginAuto_1qqcb_42",Wn="_inputWidth_1qqcb_47",Tn="_menuWrapper_1qqcb_52",En="_hamburgerWrapper_1qqcb_57",Pn="_hamburgerOff_1qqcb_74",Un="_nothingFound_1qqcb_82",Fn="_resetSearch_1qqcb_89",Jn="_controlPanel_1qqcb_101",Ln="_controlPanelAppBar_1qqcb_112",zn="_addClassMenu_1qqcb_126",Gn="_addClassBackground_1qqcb_132",Kn="_addClassPosition_1qqcb_136",$={menuRules:$n,switchesRenderWrapper:qn,menuOff:Bn,menuTitle:Mn,marginAuto:Hn,inputWidth:Wn,menuWrapper:Tn,hamburgerWrapper:En,hamburgerOff:Pn,nothingFound:Un,resetSearch:Fn,controlPanel:Jn,controlPanelAppBar:Ln,addClassMenu:zn,addClassBackground:Gn,addClassPosition:Kn},Qn=e=>{const{allProperties:t,allProperties:{acceptedBy:s,id:i},setUserRules:a,userRules:o,setTourStep:c,tourStep:l,isTourOpen:d,onTouchMove:j,isActive:O}=e;return n.jsx(At,{allProperties:t,id:t.id,isActive:O,setUserRules:a,userRules:o,children:n.jsx(It,{onDoubleClick:()=>{d&&l===J.addScheduleByDoubleClick&&i==="TriggerScheduleBlock"&&c(J.openTagsMenu),d&&l===J.addActionPrintText&&i==="ActionPrintText"&&c(J.showJavascript);const I=Date.now();let _;switch(s){case"actions":_="then";break;case"conditions":_=o[s].length-1;break}const r=K(s,o,_),k={id:i,_id:I,acceptedBy:s};_!==void 0?s==="actions"?r.actions[_].push({...k}):s==="conditions"&&r.conditions[_].push({...k}):r.triggers.push({...k}),a(r)},...e,...t,onTouchMove:j})})},Yn="_hamburgerMenu_hqnsm_8",Zn="_animate_hqnsm_21",_t={hamburgerMenu:Yn,animate:Zn};function Xn({bool:e}){return n.jsx("div",{className:`${_t.hamburgerMenu} ${e?_t.animate:""}`})}const Vn=({addClass:e,setAllBlocks:t,allBlocks:s,userRules:i,onChangeBlocks:a,setTourStep:o,tourStep:c,isTourOpen:l})=>{const{blocks:d,socket:j}=nt(et),[O,I]=dt(!1,"hamburgerOnOff"),[_,r]=dt({text:"",type:"triggers",index:0},"filterControlPanel"),k=(f=_.text,x=_.type)=>{if(!d)return;let p=[...d];p=p.filter(g=>{if(!f)return!0;const{name:C}=g.getStaticData();return C&&u.I18n.t(C).toLowerCase().includes(f.toLowerCase())}),p=p.filter(g=>x===g.getStaticData().acceptedBy),t(p)},H=(f,x)=>{l&&x===0&&c===J.selectTriggers&&o(J.addScheduleByDoubleClick),l&&x===2&&c===J.selectActions&&o(J.addActionPrintText),r({..._,index:x,type:["triggers","conditions","actions"][x]}),k(_.text,["triggers","conditions","actions"][x])},w=f=>({id:`scrollable-force-tab-${f}`,"aria-controls":`scrollable-force-tabpanel-${f}`});return E(()=>{k()},[d]),n.jsx(Ut,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>I(!0),children:n.jsxs("div",{className:u.Utils.clsx($.menuWrapper,e[1035]&&$.addClassMenu),children:[n.jsx("div",{className:`${$.hamburgerWrapper} ${O?$.hamburgerOff:null}`,onClick:()=>I(!O),children:n.jsx(Xn,{bool:!O})}),n.jsxs("div",{className:`${u.Utils.clsx($.menuRules,e[1035]&&$.addClassBackground,e[835]&&$.addClassPosition)} ${O?$.menuOff:null}`,children:[n.jsx("div",{className:$.controlPanel,children:n.jsx(Ft,{className:$.controlPanelAppBar,position:"static",children:n.jsxs(Jt,{value:_.index,onChange:H,children:[n.jsx(st,{className:"blocks-triggers",title:u.I18n.t("Triggers"),icon:n.jsx(Y,{iconName:"FlashOn"}),...w(0)}),n.jsx(st,{title:u.I18n.t("Conditions"),className:"blocks-conditions",icon:n.jsx(Y,{iconName:"Help"}),...w(1)}),n.jsx(st,{title:u.I18n.t("Actions"),className:"blocks-actions",icon:n.jsx(Y,{iconName:"PlayForWork"}),...w(2)})]})})}),n.jsx("div",{className:$.switchesRenderWrapper,children:n.jsxs("span",{children:[s.map(f=>{const{name:x,id:p,icon:g,adapter:C}=f.getStaticData();return n.jsx(xt,{children:n.jsx(Qn,{adapter:C,allProperties:f.getStaticData(),icon:g,id:p,isActive:!1,isTourOpen:l,name:x,onTouchMove:()=>I(!0),setTourStep:o,setUserRules:a,socket:j,tourStep:c,userRules:i})},p)}),!s.length&&n.jsxs("div",{className:$.nothingFound,children:[u.I18n.t("Nothing found"),"...",n.jsx("div",{className:$.resetSearch,onClick:()=>{r({..._,text:""}),k("")},children:u.I18n.t("reset search")})]})]})}),n.jsx("div",{className:u.Utils.clsx($.menuTitle,$.marginAuto)}),n.jsx(Bt,{className:$.inputWidth,fullWidth:!0,customValue:!0,value:_.text,size:"small",autoComplete:"off",label:u.I18n.t("search"),variant:"outlined",onChange:f=>{r({..._,text:f}),k(f)}})]})]})})};let pt=[];const me=({code:e,onChange:t,themeName:s,themeType:i,theme:a,setTourStep:o,tourStep:c,isTourOpen:l,command:d,scriptId:j,changed:O,running:I})=>{var v;const{blocks:_,socket:r,setOnUpdate:k,setOnDebugMessage:H,setEnableSimulation:w}=nt(et),[f,x]=M([]),[p,g]=M(ft(e)),[C,q]=M(""),[T,S]=M(!1);E(()=>{let m,W;const A=(P,y)=>{P===`${m}.alive`&&W!==(y==null?void 0:y.val)&&(W=!!(y!=null&&y.val),W&&m&&(r==null||r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOn",j)))},L=(P,y)=>{var U,Q;r&&m!==((U=y==null?void 0:y.common)==null?void 0:U.engine)&&(m&&(r.unsubscribeState(`${m}.alive`,A),W&&r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOn",j)),m=(Q=y==null?void 0:y.common)==null?void 0:Q.engine,m&&m&&r.subscribeState(`${m}.alive`,A))},Z=(P,y)=>{if(y)try{const U=JSON.parse(y.val),Q=Date.now();if(U.ruleId===j&&Q-U.ts<1e3){const F=[...pt,{blockId:U.blockId,data:U.data,ts:U.ts}];F.length>200&&F.splice(0,200-F.length);for(let X=F.length-1;X>=0;X--)if(F[X].ts{var y;m=(y=P==null?void 0:P.common)==null?void 0:y.engine,r.subscribeObject(j,L),m&&(r.subscribeState(`${m}.alive`,A),r.subscribeState(`${m.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}),function(){r==null||r.unsubscribeObject(j,L),m&&(r==null||r.unsubscribeState(`${m}.alive`,A),W&&(r==null||r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOff",j)),r==null||r.unsubscribeState(`${m.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}},[]),E(()=>{w(!O&&I)},[O,I,w]),E(()=>{d&&(q(d),T||S(!0))},[d]),E(()=>{const m=ft(e);JSON.stringify(m)!==JSON.stringify(p)&&(g(m),k(!0))},[e]),E(()=>{document.getElementsByTagName("HTML")[0].className=s||"blue"},[s]);const B=lt(m=>{g(m),_&&t(Mt(m,_))},[_,t]),N=ut(null),[h,b]=M({835:!1,1035:!1});return E(()=>{N.current&&(N.current.clientWidth<=1035&&b({835:!1,1035:!0}),N.current.clientWidth<=835&&b({1035:!0,835:!0}),N.current.clientWidth>1035&&b({835:!1,1035:!1}))},[((v=N.current)==null?void 0:v.clientWidth)||0]),!_||!r?null:n.jsxs("div",{className:ot.wrapperRules,ref:N,children:[n.jsx(ln,{allBlocks:f,socket:r}),T?C==="export"?n.jsx(Ht,{scriptId:j,themeType:i,onClose:()=>S(!1),text:JSON.stringify(p,null,2)}):n.jsx(Wt,{themeType:i,onClose:m=>{S(!1),m&&B(JSON.parse(m))}}):null,n.jsxs("div",{className:u.Utils.clsx(ot.rootWrapper,h[835]&&ot.addClass),children:[n.jsx(Vn,{setAllBlocks:x,allBlocks:f,userRules:p,onChangeBlocks:B,setTourStep:o,tourStep:c,addClass:h,isTourOpen:l}),n.jsx(at,{socket:r,setUserRules:B,userRules:p,isTourOpen:l,setTourStep:o,tourStep:c,name:`${u.I18n.t("when")}...`,typeBlock:"triggers",iconName:"FlashOn",size:h[835],themeType:i,themeName:s,theme:a}),n.jsx(at,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("and")}...`,typeBlock:"conditions",iconName:"Help",nameAdditionally:u.I18n.t("or"),additionally:!0,border:!0,size:h[835],themeType:i,themeName:s,theme:a}),n.jsx(at,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("then")}`,typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:u.I18n.t("else"),additionally:!0,size:h[835],themeType:i,themeName:s,theme:a})]})]},"rulesEditor")};export{me as default}; diff --git a/admin/assets/index-4KpiUWnm.js b/admin/assets/index-DlobACYc.js similarity index 82% rename from admin/assets/index-4KpiUWnm.js rename to admin/assets/index-DlobACYc.js index 9fd10cce..cec3970b 100644 --- a/admin/assets/index-4KpiUWnm.js +++ b/admin/assets/index-DlobACYc.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-ySETqhiN.js","./createSvgIcon-DYs_tNrE.js","./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js","./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js","./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js","./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js","./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js","./index-wHNMOf-c.js","./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js","./preload-helper-BDBacUwf.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js","./inheritsLoose-CIXm_zPk.js","./index-BCK6q-N6.css","./index-1dF1OgQ7.js","./ScriptEditorVanillaMonaco-CtXAidHF.js","./ScriptEditor-BOBV5YY6.js","./Save-CkuNSiWL.js","./AiChatPanel-4DJVrj_d.js","./index-SHs7_wDh.js","./AiDiffView-RPozjjHf.js"])))=>i.map(i=>d[i]); -import{d as D_}from"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";import{j as m,c as vt,g as nk,r as rk,_ as Qg}from"./createSvgIcon-DYs_tNrE.js";import{r as ET}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import{a as pe,_ as xT,b as ji,c as Ft,d as DT,e as ak,f as em,g as Fm,h as zm,i as lk,j as St,k as zn,l as gs,m as AT,n as ck,o as tm,p as RT,q as OT,r as uk,s as MT,t as Zo}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as zt,a as ts,b as Yt,c as Oo,d as Ui,e as sm,f as Hi,g as et,h as Ut,i as je,j as bc,k as yc,l as vc,m as _c,n as wc,o as We,p as dk,q as Ni,r as om,s as A_,t as im,u as nm,v as Jn,w as hk,x as NT,y as Vc,z as bt,A as LT,B as rm,C as PT,D as fg,E as ua,F as BT,G as jT,H as FT,I as zT,J as pk,K as UT,L as HT,M as R_,N as Mn,O as WT,P as GT,Q as VT,R as KT,S as YT,T as gk,U as JT,V as am,W as mk,X as qT}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{_ as x}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{I as ni,a as ao,b as Nc,C as XT,c as fk,F as ZT,d as QT,e as Kc,f as lm,g as eI,h as tI,i as sI,j as oI,M as iI,k as nI,l as rI,m as aI,_ as lI,n as kc,o as cI,p as uI,q as Cc,r as O_,s as dI,t as hI,u as pI,v as gI,w as M_,x as bu,y as mI,z as fI,A as $I,B as bI,D as yI,E as vI,G as _I,H as wI,J as kI,K as $k,L as bk,N as yk,O as CI,P as SI,Q as TI,R as II,S as EI,T as xI}from"./index-wHNMOf-c.js";import{y as DI,_ as AI,a as RI,S as N_,T as L_}from"./inheritsLoose-CIXm_zPk.js";import{c as ro}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function ri(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{_ as Ki}from"./preload-helper-BDBacUwf.js";import{P as ve}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{_ as OI}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.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 c of l)if(c.type==="childList")for(const h of c.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function i(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function r(l){if(l.ep)return;l.ep=!0;const c=i(l);fetch(l.href,c)}})();var vk,P_=ET;vk=P_.createRoot,P_.hydrateRoot;var _k={exports:{}},ht={};var yu=60103,vu=60106,Sa=60107,Ta=60108,Ia=60114,Ea=60109,xa=60110,Da=60112,Aa=60113,Um=60120,Ra=60115,Oa=60116,wk=60121,kk=60122,Ck=60117,Sk=60129,Tk=60131;if(typeof Symbol=="function"&&Symbol.for){var Bt=Symbol.for;yu=Bt("react.element"),vu=Bt("react.portal"),Sa=Bt("react.fragment"),Ta=Bt("react.strict_mode"),Ia=Bt("react.profiler"),Ea=Bt("react.provider"),xa=Bt("react.context"),Da=Bt("react.forward_ref"),Aa=Bt("react.suspense"),Um=Bt("react.suspense_list"),Ra=Bt("react.memo"),Oa=Bt("react.lazy"),wk=Bt("react.block"),kk=Bt("react.server.block"),Ck=Bt("react.fundamental"),Sk=Bt("react.debug_trace_mode"),Tk=Bt("react.legacy_hidden")}function js(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case yu:switch(a=a.type,a){case Sa:case Ia:case Ta:case Aa:case Um:return a;default:switch(a=a&&a.$$typeof,a){case xa:case Da:case Oa:case Ra:case Ea:return a;default:return s}}case vu:return s}}}var MI=Ea,NI=yu,LI=Da,PI=Sa,BI=Oa,jI=Ra,FI=vu,zI=Ia,UI=Ta,HI=Aa;ht.ContextConsumer=xa;ht.ContextProvider=MI;ht.Element=NI;ht.ForwardRef=LI;ht.Fragment=PI;ht.Lazy=BI;ht.Memo=jI;ht.Portal=FI;ht.Profiler=zI;ht.StrictMode=UI;ht.Suspense=HI;ht.isAsyncMode=function(){return!1};ht.isConcurrentMode=function(){return!1};ht.isContextConsumer=function(a){return js(a)===xa};ht.isContextProvider=function(a){return js(a)===Ea};ht.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===yu};ht.isForwardRef=function(a){return js(a)===Da};ht.isFragment=function(a){return js(a)===Sa};ht.isLazy=function(a){return js(a)===Oa};ht.isMemo=function(a){return js(a)===Ra};ht.isPortal=function(a){return js(a)===vu};ht.isProfiler=function(a){return js(a)===Ia};ht.isStrictMode=function(a){return js(a)===Ta};ht.isSuspense=function(a){return js(a)===Aa};ht.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Sa||a===Ia||a===Sk||a===Ta||a===Aa||a===Um||a===Tk||typeof a=="object"&&a!==null&&(a.$$typeof===Oa||a.$$typeof===Ra||a.$$typeof===Ea||a.$$typeof===xa||a.$$typeof===Da||a.$$typeof===Ck||a.$$typeof===wk||a[0]===kk)};ht.typeOf=js;_k.exports=ht;var WI=_k.exports;function Yc(a,s){const i=getComputedStyle(s);if(!i)return;let r=a===mt.Horizontal?s.clientWidth:s.clientHeight;return r!==0?(a===mt.Horizontal?r-=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight):r-=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom),r):void 0}function Sc(a,s,i=[],r={condition:!0}){const{condition:l}=r,c=(function(h,d){var p={};for(var g in h)Object.prototype.hasOwnProperty.call(h,g)&&d.indexOf(g)<0&&(p[g]=h[g]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function"){var b=0;for(g=Object.getOwnPropertySymbols(h);b(l&&window.addEventListener(a,s,c),()=>{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 === */ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-D3AxK3tq.js","./createSvgIcon-DYs_tNrE.js","./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js","./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js","./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js","./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js","./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js","./index-wHNMOf-c.js","./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js","./preload-helper-BDBacUwf.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js","./inheritsLoose-CIXm_zPk.js","./index-BCK6q-N6.css","./index-CflI1iSw.js","./ScriptEditorVanillaMonaco-_I4QxLWb.js","./ScriptEditor-BG-oIM42.js","./Save-CkuNSiWL.js","./AiChatPanel-DBNjwmH-.js","./index-SHs7_wDh.js","./AiDiffView-RPozjjHf.js"])))=>i.map(i=>d[i]); +import{d as D_}from"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js";import{j as m,c as vt,g as nk,r as rk,_ as Qg}from"./createSvgIcon-DYs_tNrE.js";import{r as ET}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import{a as pe,_ as xT,b as ji,c as Ft,d as DT,e as ak,f as em,g as Fm,h as zm,i as lk,j as St,k as zn,l as gs,m as AT,n as ck,o as tm,p as RT,q as OT,r as uk,s as MT,t as Zo}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as zt,a as ts,b as Yt,c as Oo,d as Ui,e as sm,f as Hi,g as et,h as Ut,i as je,j as bc,k as yc,l as vc,m as _c,n as wc,o as We,p as dk,q as Ni,r as om,s as A_,t as im,u as nm,v as Jn,w as hk,x as NT,y as Vc,z as bt,A as LT,B as rm,C as PT,D as fg,E as ua,F as BT,G as jT,H as FT,I as zT,J as pk,K as UT,L as HT,M as R_,N as Mn,O as WT,P as GT,Q as VT,R as KT,S as YT,T as gk,U as JT,V as am,W as mk,X as qT}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-CV1_X-Lf.js";import{_ as x}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{I as ni,a as ao,b as Nc,C as XT,c as fk,F as ZT,d as QT,e as Kc,f as lm,g as eI,h as tI,i as sI,j as oI,M as iI,k as nI,l as rI,m as aI,_ as lI,n as kc,o as cI,p as uI,q as Cc,r as O_,s as dI,t as hI,u as pI,v as gI,w as M_,x as bu,y as mI,z as fI,A as $I,B as bI,D as yI,E as vI,G as _I,H as wI,J as kI,K as $k,L as bk,N as yk,O as CI,P as SI,Q as TI,R as II,S as EI,T as xI}from"./index-wHNMOf-c.js";import{y as DI,_ as AI,a as RI,S as N_,T as L_}from"./inheritsLoose-CIXm_zPk.js";import{c as ro}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function ri(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{_ as Ki}from"./preload-helper-BDBacUwf.js";import{P as ve}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{_ as OI}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.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 c of l)if(c.type==="childList")for(const h of c.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function i(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function r(l){if(l.ep)return;l.ep=!0;const c=i(l);fetch(l.href,c)}})();var vk,P_=ET;vk=P_.createRoot,P_.hydrateRoot;var _k={exports:{}},ht={};var yu=60103,vu=60106,Sa=60107,Ta=60108,Ia=60114,Ea=60109,xa=60110,Da=60112,Aa=60113,Um=60120,Ra=60115,Oa=60116,wk=60121,kk=60122,Ck=60117,Sk=60129,Tk=60131;if(typeof Symbol=="function"&&Symbol.for){var Bt=Symbol.for;yu=Bt("react.element"),vu=Bt("react.portal"),Sa=Bt("react.fragment"),Ta=Bt("react.strict_mode"),Ia=Bt("react.profiler"),Ea=Bt("react.provider"),xa=Bt("react.context"),Da=Bt("react.forward_ref"),Aa=Bt("react.suspense"),Um=Bt("react.suspense_list"),Ra=Bt("react.memo"),Oa=Bt("react.lazy"),wk=Bt("react.block"),kk=Bt("react.server.block"),Ck=Bt("react.fundamental"),Sk=Bt("react.debug_trace_mode"),Tk=Bt("react.legacy_hidden")}function js(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case yu:switch(a=a.type,a){case Sa:case Ia:case Ta:case Aa:case Um:return a;default:switch(a=a&&a.$$typeof,a){case xa:case Da:case Oa:case Ra:case Ea:return a;default:return s}}case vu:return s}}}var MI=Ea,NI=yu,LI=Da,PI=Sa,BI=Oa,jI=Ra,FI=vu,zI=Ia,UI=Ta,HI=Aa;ht.ContextConsumer=xa;ht.ContextProvider=MI;ht.Element=NI;ht.ForwardRef=LI;ht.Fragment=PI;ht.Lazy=BI;ht.Memo=jI;ht.Portal=FI;ht.Profiler=zI;ht.StrictMode=UI;ht.Suspense=HI;ht.isAsyncMode=function(){return!1};ht.isConcurrentMode=function(){return!1};ht.isContextConsumer=function(a){return js(a)===xa};ht.isContextProvider=function(a){return js(a)===Ea};ht.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===yu};ht.isForwardRef=function(a){return js(a)===Da};ht.isFragment=function(a){return js(a)===Sa};ht.isLazy=function(a){return js(a)===Oa};ht.isMemo=function(a){return js(a)===Ra};ht.isPortal=function(a){return js(a)===vu};ht.isProfiler=function(a){return js(a)===Ia};ht.isStrictMode=function(a){return js(a)===Ta};ht.isSuspense=function(a){return js(a)===Aa};ht.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Sa||a===Ia||a===Sk||a===Ta||a===Aa||a===Um||a===Tk||typeof a=="object"&&a!==null&&(a.$$typeof===Oa||a.$$typeof===Ra||a.$$typeof===Ea||a.$$typeof===xa||a.$$typeof===Da||a.$$typeof===Ck||a.$$typeof===wk||a[0]===kk)};ht.typeOf=js;_k.exports=ht;var WI=_k.exports;function Yc(a,s){const i=getComputedStyle(s);if(!i)return;let r=a===mt.Horizontal?s.clientWidth:s.clientHeight;return r!==0?(a===mt.Horizontal?r-=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight):r-=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom),r):void 0}function Sc(a,s,i=[],r={condition:!0}){const{condition:l}=r,c=(function(h,d){var p={};for(var g in h)Object.prototype.hasOwnProperty.call(h,g)&&d.indexOf(g)<0&&(p[g]=h[g]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function"){var b=0;for(g=Object.getOwnPropertySymbols(h);b(l&&window.addEventListener(a,s,c),()=>{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%; @@ -295,7 +295,7 @@ Note: Some script sources were omitted due to size. The user can ask about speci `);if(r.length<2||l.length<2)return null;const c=new Set;for(const $ of r){const I=$.trim();AO(I)&&c.add(I)}if(c.size<2)return null;const h=r.length,d=Math.ceil(h*1.5),p=Math.max(2,Math.floor(h*.5));let g=-1,b=-1,y=0;const _=new Uint8Array(l.length);for(let $=0;$y&&(y=C,g=$,b=I)}if(g<0||yg+1&&!_[b-1];)b--;for(;gi.trim()).filter(i=>i.length>0);return s.length===0?!1:s.every(i=>i.startsWith("//")||i.startsWith("/*")||i.startsWith("*")||i.endsWith("*/"))}function MO(a){const s=[];let i=!1,r=null,l=0;for(let c=0;c0?(s.push({startLine:l,endLine:c}),i=!1,r=null):h.length===0&&(s.push({startLine:l,endLine:c}),i=!1,r=null)):h.startsWith("/*")?(i=!0,r="jsdoc",l=c+1,h.includes("*/")&&(s.push({startLine:l,endLine:c+1}),i=!1,r=null)):h.startsWith("//")&&(i=!0,r="line",l=c+1)}return i&&l>0&&s.push({startLine:l,endLine:a.length}),s}function NO(a,s,i=.2){if(!OO(a)||!s)return null;const r=s.split(` `),l=MO(r);if(!l.length)return null;const c=new Set;for(const g of a.split(` -`)){const y=g.trim().replace(/^\/\*+/,"").replace(/\*+\/$/,"").replace(/^\/\//,"").replace(/^\*+/,"").trim();y.length>=3&&c.add(y.toLowerCase())}if(c.size===0){if(l.length===1){const g=l[0],b=r[g.endLine-1]??"";return{range:{startLine:g.startLine,startColumn:1,endLine:g.endLine,endColumn:b.length+1},confidence:.5,method:"similarity"}}return null}let h=l[0],d=0;for(const g of l){let b=0;for(let _=g.startLine-1;_d&&(d=y,h=g)}if(dKi(()=>Promise.resolve().then(()=>g1),void 0,import.meta.url)),BO=pe.lazy(()=>Ki(()=>import("./index-ySETqhiN.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),jO=pe.lazy(()=>Ki(()=>import("./index-1dF1OgQ7.js"),__vite__mapDeps([14,1,2,3,4,6,7,5,15,9,8,10,11,12]),import.meta.url)),FO=pe.lazy(()=>Ki(()=>import("./ScriptEditorVanillaMonaco-CtXAidHF.js"),__vite__mapDeps([15,9,1,2,3,4,6,7,5,8,10,11,12]),import.meta.url)),zO=pe.lazy(()=>Ki(()=>import("./ScriptEditor-BOBV5YY6.js"),__vite__mapDeps([16,1,2,3,4,6,5,15,9,7,8,10,11,12,17]),import.meta.url)),Uw=pe.lazy(()=>Ki(()=>import("./AiChatPanel-4DJVrj_d.js"),__vite__mapDeps([18,1,2,3,4,6,5,9,19,7,8,10,11,12]),import.meta.url)),UO=pe.lazy(()=>Ki(()=>import("./AiDiffView-RPozjjHf.js"),__vite__mapDeps([20,1,2,3,4,6,5,7]),import.meta.url)),Hw={Blockly:Jk,"Javascript/js":qc,Rules:Xk,def:qc,"TypeScript/ts":qk},HO=48,Ww="#02a102",Hg="#70aae9",WO=nk[400],GO=rk[400],Me={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",height:32},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}};class Hn extends pe.Component{getSelect=null;changedMirror={};cron={initValue:null,callback:null};scriptDialog={initValue:null,callback:null,args:null,isReturn:!1};objects;scripts;selectId={initValue:null,callback:null};confirmCallback=null;blocklyEditorRef=pe.createRef();scriptEditorRef=pe.createRef();lastKnownTs={};constructor(s){var c,h;super(s);let i=window.localStorage.getItem("Editor.selected")||"";const r=window.localStorage.getItem("Editor.editing")||"[]";let l;try{l=JSON.parse(r)}catch{l=[]}i&&!l.includes(i)&&l.push(i),i&&!this.props.password&&((h=(c=this.props.objects[i])==null?void 0:c.native)!=null&&h.protected)&&(i=l.find(d=>{var p,g;return!((g=(p=this.props.objects[d])==null?void 0:p.native)!=null&&g.protected)})||""),!i&&l.length&&(this.props.password?i=l[0]:i=l.find(d=>{var p,g;return!((g=(p=this.props.objects[d])==null?void 0:p.native)!=null&&g.protected)})||""),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,menuOidDisplayAnchorEl:null,oidDisplayMode:parseInt(window.localStorage.getItem("Blockly.FieldOID.displayMode")||"0",10)||0,oidShowIcon:window.localStorage.getItem("Blockly.FieldOID.showIcon")==="true",menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,aiChatOpen:window.localStorage.getItem("Editor.aiChatOpen")==="true",aiDiffView:null,aiActionRequest:null,inlineAskHandler:null,aiCompletionsEnabled:window.localStorage.getItem("Editor.aiCompletions")!=="false",triggerPrettier:1,scriptConflict:"",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:Ps.selectTriggers,verboseEnabled:!1,visible:s.visible},this.setChangedInAdmin(),window.systemLang=x.I18n.getLanguage(),window.main={objects:{},getObject:(d,p)=>this.props.socket.getObject(d).then(g=>p==null?void 0:p(null,g)).catch(g=>p==null?void 0:p(g)),instances:[],selectIdDialog:(d,p,g)=>{typeof p=="function"&&(g=p,p=null),this.selectId.callback=g,this.selectId.initValue=d,this.selectId.type=p,this.setState({showSelectId:!0})},cronDialog:(d,p)=>{this.cron.callback=p,this.cron.initValue=d,this.setState({showCron:!0})},showScriptDialog:(d,p,g,b)=>{this.scriptDialog.callback=b,this.scriptDialog.initValue=d,this.scriptDialog.args=p,this.scriptDialog.isReturn=g||!1,this.setState({showScript:!0})}},this.objects=s.objects,this.scripts={},this.getAllAdapterInstances().then(()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout(()=>this.props.onSelectedChange(this.state.selected,this.state.editing),100)})}async getAllAdapterInstances(){const s=await this.props.socket.getAdapterInstances(!0),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==null?void 0: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]);Object.keys(this.state.changed).forEach(i=>{this.changedMirror[i]=this.state.changed[i]}),Object.keys(this.changedMirror).forEach(i=>{this.state.changed[i]===void 0&&delete this.changedMirror[i]}),this.props.onChangedChanged(this.changedMirror),typeof window.parent<"u"&&window.parent&&(window.parent.configNotSaved=!!s)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",Hn.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",Hn.onInstanceChanged)}componentDidUpdate(s){if(s.scriptsHash!==this.props.scriptsHash)for(const i of this.state.editing){const r=this.props.objects[i];if(!r||r.type!=="script")continue;const l=r.ts||0,c=this.lastKnownTs[i];c!==void 0&&l!==c&&(this.state.changed[i]?this.state.scriptConflict||this.setState({scriptConflict:i}):(this.scripts[i]=this.getScriptFromObject(i),this.lastKnownTs[i]=l))}}onBrowserClose=s=>{const i=Object.keys(this.scripts).find(r=>JSON.stringify(this.scripts[r])!==JSON.stringify(this.getScriptFromObject(r)));if(i){console.log(`Script ${JSON.stringify(this.scripts[i])}`);const r=x.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(c=>s&&!s.objects[c])){const c=[...this.state.editing];for(let h=c.length-1;h>=0;h--)this.objects[c[h]]||(r=!0,c.splice(h,1));r&&(i.editing=c),this.state.selected&&!this.objects[this.state.selected]&&(r=!0,i.selected=c[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,c,h;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(p=>{const g=this.scripts[p].source;this.scripts[p]=JSON.parse(JSON.stringify(this.objects[p].common)),this.scripts[p].source=g}),this.state.selected&&this.objects[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=[...this.state.editing];for(let p=d.length-1;p>=0;p--)this.objects[d[p]]||(r=!0,d.splice(p,1),this.state.changed[d[p]]!==void 0&&(i.changed||={...this.state.changed},i.changed&&delete i.changed[d[p]]));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 p=this.scripts[d].source,g=JSON.parse(JSON.stringify(this.scripts[d]));g.source=this.objects[d].common.source,JSON.stringify(g)!==JSON.stringify(this.objects[d].common)&&(this.scripts[d]=JSON.parse(JSON.stringify(this.objects[d].common)),this.scripts[d].source=p),p!==this.objects[d].common.source?this.state.changed[d]?(h=this.objects[d].from)!=null&&h.startsWith("system.adapter.javascript.")&&(this.objects[d].from="system.adapter.admin.0",this.setState({toast:x.I18n.t("Script %s was modified on disk.",d.split(".").pop())})):this.props.password&&((c=this.objects[d].native)!=null&&c.protected)?this.scripts[d].source=bm(this.props.password,this.objects[d].common.source):this.scripts[d].source=this.objects[d].common.source:this.state.changed[d]&&(i.changed||={...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 p=[...this.state.editing],g=p.indexOf(d);g!==-1&&(p.splice(g,1),i.editing=p,r=!0)}i.selected=this.state.editing[0]||"",r=!0}}if(s.selected&&this.state.selected!==s.selected){const d=this.getScriptFromObject(s.selected);this.scripts[s.selected]||=d;const p=d&&JSON.stringify(this.scripts[s.selected])!==JSON.stringify(d),g=[...this.state.editing];s.selected&&!g.includes(s.selected)&&(g.push(s.selected),this.props.onSelectedChange(s.selected,g),window.localStorage.setItem("Editor.editing",JSON.stringify(g))),r=!0,i.changed||={...this.state.changed},i.changed[s.selected]=!!p,i.editing=g,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(){var s,i;(i=(s=this.props).onRestart)==null||i.call(s,this.state.selected)}onStartStop(){var i,r,l;const s=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));s.enabled=!s.enabled,this.props.password&&((i=this.props.objects[this.state.selected].native)!=null&&i.protected)&&(s.source=jc(this.props.password,s.source)),(l=(r=this.props).onChange)==null||l.call(r,this.state.selected,s)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===Ps.saveTheScript&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>{var r,l,c;this.setChangedInAdmin();const i=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));this.props.password&&((r=this.props.objects[this.state.selected].native)!=null&&r.protected)&&(i.source=jc(this.props.password,i.source)),(c=(l=this.props).onChange)==null||c.call(l,this.state.selected,i)})}}onSaveAll(){const s={...this.state.changed};Object.keys(s).forEach(i=>{var r,l,c;if(s[i]){s[i]=!1;const h=JSON.parse(JSON.stringify(this.scripts[i]));this.props.password&&((r=this.props.objects[i].native)!=null&&r.protected)&&(h.source=jc(this.props.password,h.source)),(c=(l=this.props).onChange)==null||c.call(l,i,h)}}),this.setState({changed:s},()=>this.setChangedInAdmin())}onCancel(){var i;this.scripts[this.state.selected]=this.getScriptFromObject(this.state.selected),this.lastKnownTs[this.state.selected]=((i=this.props.objects[this.state.selected])==null?void 0:i.ts)||0;const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>this.setChangedInAdmin())}onRegisterSelect(s){this.getSelect=s}handleAiAction(s){const i={aiActionRequest:s};this.state.aiChatOpen||(window.localStorage.setItem("Editor.aiChatOpen","true"),i.aiChatOpen=!0),this.setState(i)}getEditorApi(){const s=()=>this.scriptEditorRef.current;return{getSelection:()=>{var i,r;return((r=(i=s())==null?void 0:i.getEditorSelection)==null?void 0:r.call(i))??null},getContent:()=>{var i,r;return((r=(i=s())==null?void 0:i.getEditorContent)==null?void 0:r.call(i))??""},getCursorPosition:()=>{var i,r;return((r=(i=s())==null?void 0:i.getCursorPosition)==null?void 0:r.call(i))??null},highlightText:i=>{var r,l;return((l=(r=s())==null?void 0:r.highlightText)==null?void 0:l.call(r,i))??0},highlightLineRange:(i,r)=>{var l,c;return((c=(l=s())==null?void 0:l.highlightLineRange)==null?void 0:c.call(l,i,r))??!1},goToLine:(i,r)=>{var l,c;return((c=(l=s())==null?void 0:l.goToLine)==null?void 0:c.call(l,i,r))??!1},insertTextAtCursor:i=>{const r=s();return r!=null&&r.insertTextIntoEditor?(r.insertTextIntoEditor(i),!0):!1},replaceSelection:i=>{var r,l;return((l=(r=s())==null?void 0:r.replaceSelection)==null?void 0:l.call(r,i))??!1},getDiagnostics:()=>{var i,r;return((r=(i=s())==null?void 0:i.getDiagnostics)==null?void 0:r.call(i))??[]},getSymbols:async()=>{var i,r;return((r=(i=s())==null?void 0:i.getDocumentSymbols)==null?void 0:r.call(i))??[]}}}onConvertBlockly2JS(){this.showConfirmDialog(x.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(` +`)){const y=g.trim().replace(/^\/\*+/,"").replace(/\*+\/$/,"").replace(/^\/\//,"").replace(/^\*+/,"").trim();y.length>=3&&c.add(y.toLowerCase())}if(c.size===0){if(l.length===1){const g=l[0],b=r[g.endLine-1]??"";return{range:{startLine:g.startLine,startColumn:1,endLine:g.endLine,endColumn:b.length+1},confidence:.5,method:"similarity"}}return null}let h=l[0],d=0;for(const g of l){let b=0;for(let _=g.startLine-1;_d&&(d=y,h=g)}if(dKi(()=>Promise.resolve().then(()=>g1),void 0,import.meta.url)),BO=pe.lazy(()=>Ki(()=>import("./index-D3AxK3tq.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),jO=pe.lazy(()=>Ki(()=>import("./index-CflI1iSw.js"),__vite__mapDeps([14,1,2,3,4,6,7,5,15,9,8,10,11,12]),import.meta.url)),FO=pe.lazy(()=>Ki(()=>import("./ScriptEditorVanillaMonaco-_I4QxLWb.js"),__vite__mapDeps([15,9,1,2,3,4,6,7,5,8,10,11,12]),import.meta.url)),zO=pe.lazy(()=>Ki(()=>import("./ScriptEditor-BG-oIM42.js"),__vite__mapDeps([16,1,2,3,4,6,5,15,9,7,8,10,11,12,17]),import.meta.url)),Uw=pe.lazy(()=>Ki(()=>import("./AiChatPanel-DBNjwmH-.js"),__vite__mapDeps([18,1,2,3,4,6,5,9,19,7,8,10,11,12]),import.meta.url)),UO=pe.lazy(()=>Ki(()=>import("./AiDiffView-RPozjjHf.js"),__vite__mapDeps([20,1,2,3,4,6,5,7]),import.meta.url)),Hw={Blockly:Jk,"Javascript/js":qc,Rules:Xk,def:qc,"TypeScript/ts":qk},HO=48,Ww="#02a102",Hg="#70aae9",WO=nk[400],GO=rk[400],Me={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",height:32},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}};class Hn extends pe.Component{getSelect=null;changedMirror={};cron={initValue:null,callback:null};scriptDialog={initValue:null,callback:null,args:null,isReturn:!1};objects;scripts;selectId={initValue:null,callback:null};confirmCallback=null;blocklyEditorRef=pe.createRef();scriptEditorRef=pe.createRef();lastKnownTs={};constructor(s){var c,h;super(s);let i=window.localStorage.getItem("Editor.selected")||"";const r=window.localStorage.getItem("Editor.editing")||"[]";let l;try{l=JSON.parse(r)}catch{l=[]}i&&!l.includes(i)&&l.push(i),i&&!this.props.password&&((h=(c=this.props.objects[i])==null?void 0:c.native)!=null&&h.protected)&&(i=l.find(d=>{var p,g;return!((g=(p=this.props.objects[d])==null?void 0:p.native)!=null&&g.protected)})||""),!i&&l.length&&(this.props.password?i=l[0]:i=l.find(d=>{var p,g;return!((g=(p=this.props.objects[d])==null?void 0:p.native)!=null&&g.protected)})||""),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,menuOidDisplayAnchorEl:null,oidDisplayMode:parseInt(window.localStorage.getItem("Blockly.FieldOID.displayMode")||"0",10)||0,oidShowIcon:window.localStorage.getItem("Blockly.FieldOID.showIcon")==="true",menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,aiChatOpen:window.localStorage.getItem("Editor.aiChatOpen")==="true",aiDiffView:null,aiActionRequest:null,inlineAskHandler:null,aiCompletionsEnabled:window.localStorage.getItem("Editor.aiCompletions")!=="false",triggerPrettier:1,scriptConflict:"",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:Ps.selectTriggers,verboseEnabled:!1,visible:s.visible},this.setChangedInAdmin(),window.systemLang=x.I18n.getLanguage(),window.main={objects:{},getObject:(d,p)=>this.props.socket.getObject(d).then(g=>p==null?void 0:p(null,g)).catch(g=>p==null?void 0:p(g)),instances:[],selectIdDialog:(d,p,g)=>{typeof p=="function"&&(g=p,p=null),this.selectId.callback=g,this.selectId.initValue=d,this.selectId.type=p,this.setState({showSelectId:!0})},cronDialog:(d,p)=>{this.cron.callback=p,this.cron.initValue=d,this.setState({showCron:!0})},showScriptDialog:(d,p,g,b)=>{this.scriptDialog.callback=b,this.scriptDialog.initValue=d,this.scriptDialog.args=p,this.scriptDialog.isReturn=g||!1,this.setState({showScript:!0})}},this.objects=s.objects,this.scripts={},this.getAllAdapterInstances().then(()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout(()=>this.props.onSelectedChange(this.state.selected,this.state.editing),100)})}async getAllAdapterInstances(){const s=await this.props.socket.getAdapterInstances(!0),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==null?void 0: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]);Object.keys(this.state.changed).forEach(i=>{this.changedMirror[i]=this.state.changed[i]}),Object.keys(this.changedMirror).forEach(i=>{this.state.changed[i]===void 0&&delete this.changedMirror[i]}),this.props.onChangedChanged(this.changedMirror),typeof window.parent<"u"&&window.parent&&(window.parent.configNotSaved=!!s)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",Hn.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",Hn.onInstanceChanged)}componentDidUpdate(s){if(s.scriptsHash!==this.props.scriptsHash)for(const i of this.state.editing){const r=this.props.objects[i];if(!r||r.type!=="script")continue;const l=r.ts||0,c=this.lastKnownTs[i];c!==void 0&&l!==c&&(this.state.changed[i]?this.state.scriptConflict||this.setState({scriptConflict:i}):(this.scripts[i]=this.getScriptFromObject(i),this.lastKnownTs[i]=l))}}onBrowserClose=s=>{const i=Object.keys(this.scripts).find(r=>JSON.stringify(this.scripts[r])!==JSON.stringify(this.getScriptFromObject(r)));if(i){console.log(`Script ${JSON.stringify(this.scripts[i])}`);const r=x.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(c=>s&&!s.objects[c])){const c=[...this.state.editing];for(let h=c.length-1;h>=0;h--)this.objects[c[h]]||(r=!0,c.splice(h,1));r&&(i.editing=c),this.state.selected&&!this.objects[this.state.selected]&&(r=!0,i.selected=c[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,c,h;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(p=>{const g=this.scripts[p].source;this.scripts[p]=JSON.parse(JSON.stringify(this.objects[p].common)),this.scripts[p].source=g}),this.state.selected&&this.objects[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=[...this.state.editing];for(let p=d.length-1;p>=0;p--)this.objects[d[p]]||(r=!0,d.splice(p,1),this.state.changed[d[p]]!==void 0&&(i.changed||={...this.state.changed},i.changed&&delete i.changed[d[p]]));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 p=this.scripts[d].source,g=JSON.parse(JSON.stringify(this.scripts[d]));g.source=this.objects[d].common.source,JSON.stringify(g)!==JSON.stringify(this.objects[d].common)&&(this.scripts[d]=JSON.parse(JSON.stringify(this.objects[d].common)),this.scripts[d].source=p),p!==this.objects[d].common.source?this.state.changed[d]?(h=this.objects[d].from)!=null&&h.startsWith("system.adapter.javascript.")&&(this.objects[d].from="system.adapter.admin.0",this.setState({toast:x.I18n.t("Script %s was modified on disk.",d.split(".").pop())})):this.props.password&&((c=this.objects[d].native)!=null&&c.protected)?this.scripts[d].source=bm(this.props.password,this.objects[d].common.source):this.scripts[d].source=this.objects[d].common.source:this.state.changed[d]&&(i.changed||={...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 p=[...this.state.editing],g=p.indexOf(d);g!==-1&&(p.splice(g,1),i.editing=p,r=!0)}i.selected=this.state.editing[0]||"",r=!0}}if(s.selected&&this.state.selected!==s.selected){const d=this.getScriptFromObject(s.selected);this.scripts[s.selected]||=d;const p=d&&JSON.stringify(this.scripts[s.selected])!==JSON.stringify(d),g=[...this.state.editing];s.selected&&!g.includes(s.selected)&&(g.push(s.selected),this.props.onSelectedChange(s.selected,g),window.localStorage.setItem("Editor.editing",JSON.stringify(g))),r=!0,i.changed||={...this.state.changed},i.changed[s.selected]=!!p,i.editing=g,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(){var s,i;(i=(s=this.props).onRestart)==null||i.call(s,this.state.selected)}onStartStop(){var i,r,l;const s=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));s.enabled=!s.enabled,this.props.password&&((i=this.props.objects[this.state.selected].native)!=null&&i.protected)&&(s.source=jc(this.props.password,s.source)),(l=(r=this.props).onChange)==null||l.call(r,this.state.selected,s)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===Ps.saveTheScript&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>{var r,l,c;this.setChangedInAdmin();const i=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));this.props.password&&((r=this.props.objects[this.state.selected].native)!=null&&r.protected)&&(i.source=jc(this.props.password,i.source)),(c=(l=this.props).onChange)==null||c.call(l,this.state.selected,i)})}}onSaveAll(){const s={...this.state.changed};Object.keys(s).forEach(i=>{var r,l,c;if(s[i]){s[i]=!1;const h=JSON.parse(JSON.stringify(this.scripts[i]));this.props.password&&((r=this.props.objects[i].native)!=null&&r.protected)&&(h.source=jc(this.props.password,h.source)),(c=(l=this.props).onChange)==null||c.call(l,i,h)}}),this.setState({changed:s},()=>this.setChangedInAdmin())}onCancel(){var i;this.scripts[this.state.selected]=this.getScriptFromObject(this.state.selected),this.lastKnownTs[this.state.selected]=((i=this.props.objects[this.state.selected])==null?void 0:i.ts)||0;const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>this.setChangedInAdmin())}onRegisterSelect(s){this.getSelect=s}handleAiAction(s){const i={aiActionRequest:s};this.state.aiChatOpen||(window.localStorage.setItem("Editor.aiChatOpen","true"),i.aiChatOpen=!0),this.setState(i)}getEditorApi(){const s=()=>this.scriptEditorRef.current;return{getSelection:()=>{var i,r;return((r=(i=s())==null?void 0:i.getEditorSelection)==null?void 0:r.call(i))??null},getContent:()=>{var i,r;return((r=(i=s())==null?void 0:i.getEditorContent)==null?void 0:r.call(i))??""},getCursorPosition:()=>{var i,r;return((r=(i=s())==null?void 0:i.getCursorPosition)==null?void 0:r.call(i))??null},highlightText:i=>{var r,l;return((l=(r=s())==null?void 0:r.highlightText)==null?void 0:l.call(r,i))??0},highlightLineRange:(i,r)=>{var l,c;return((c=(l=s())==null?void 0:l.highlightLineRange)==null?void 0:c.call(l,i,r))??!1},goToLine:(i,r)=>{var l,c;return((c=(l=s())==null?void 0:l.goToLine)==null?void 0:c.call(l,i,r))??!1},insertTextAtCursor:i=>{const r=s();return r!=null&&r.insertTextIntoEditor?(r.insertTextIntoEditor(i),!0):!1},replaceSelection:i=>{var r,l;return((l=(r=s())==null?void 0:r.replaceSelection)==null?void 0:l.call(r,i))??!1},getDiagnostics:()=>{var i,r;return((r=(i=s())==null?void 0:i.getDiagnostics)==null?void 0:r.call(i))??[]},getSymbols:async()=>{var i,r;return((r=(i=s())==null?void 0:i.getDocumentSymbols)==null?void 0:r.call(i))??[]}}}onConvertBlockly2JS(){this.showConfirmDialog(x.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,c={...this.state.changed};c[this.state.selected]=!0,this.setState({changed:c,blockly:!1,selected:""},()=>{this.setChangedInAdmin(),setTimeout(()=>this.setState({selected:l}),100)})}})}onChange(s){if(s.script!==void 0){if(s.script===this.scripts[this.state.selected].source)return;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.getScriptFromObject(this.state.selected));if(i!==!!this.state.changed[this.state.selected]){const r={...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){var r,l;if(this.props.debugMode)return;window.localStorage.setItem("Editor.selected",s);const i=this.scripts[s]||this.getScriptFromObject(s);this.scripts[s]||(this.scripts[s]=i),this.lastKnownTs[s]===void 0&&this.props.objects[s]&&(this.lastKnownTs[s]=this.props.objects[s].ts||0),this.setState({selected:s,rules:i.engineType==="Rules",blockly:i.engineType==="Blockly",showCompiledCode:!1,verboseEnabled:i.verbose,debugEnabled:i.debug}),(l=(r=this.props).onSelectedChange)==null||l.call(r,s,this.state.editing)}isScriptChanged(s){return!!(this.scripts[s]&&this.props.objects[s]&&JSON.stringify(this.scripts[s])!==JSON.stringify(this.getScriptFromObject(s)))}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(x.I18n.t("Discard changes for %s",this.props.objects[s].common.name),l=>{l&&(delete this.scripts[s],delete this.lastKnownTs[s],this.onTabClose(s))});else{const l=[...this.state.editing];l.splice(r,1);const c={editing:l};if(s===this.state.selected?l.length?r===0||l.length===1?c.selected=l[0]:c.selected=l[r-1]:c.selected="":this.state.selected&&!l.length&&(c.selected=""),window.localStorage.setItem("Editor.editing",JSON.stringify(l)),c.selected!==void 0){c.changed||={...this.state.changed},c.changed[c.selected]=this.isScriptChanged(c.selected);const h=c.selected?this.scripts[c.selected]||this.getScriptFromObject(c.selected):void 0;c.blockly=(h==null?void 0:h.engineType)==="Blockly",c.rules=(h==null?void 0:h.engineType)==="Rules",c.verboseEnabled=!!(h!=null&&h.verbose),c.debugEnabled=!!(h!=null&&h.debug),c.showCompiledCode=!1}this.setState(c,()=>{var h,d,p,g;this.setChangedInAdmin(),c.selected!==void 0?((d=(h=this.props).onSelectedChange)==null||d.call(h,c.selected,this.state.editing),window.localStorage.setItem("Editor.selected",c.selected)):(g=(p=this.props).onSelectedChange)==null||g.call(p,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[x.I18n.getLanguage()]||s.en:s}getScriptFullName(s){var c;const i=s.split(".");i.shift(),i.shift();const r=[];let l="script.js";for(let h=0;hthis.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=>{var d,p;if(!this.props.objects[s]){const g=[m.jsx(bt,{sx:this.isScriptChanged(s)?Me.tabChanged:void 0,style:Me.tabText,children:s.split(".").pop()},"text"),m.jsx(We,{onClick:b=>this.onTabClose(s,b),style:Me.closeButton,size:"small",component:"span",children:m.jsx(kc,{})},"icon")];return m.jsx(fg,{wrapped:!0,href:`#${s}`,label:g,value:s,sx:{"& .MuiTab-wrapper":Me.tabButtonWrapper}},s)}if(!this.props.password&&((d=this.props.objects[s].native)!=null&&d.protected))return null;let i=Hn.getText(this.props.objects[s].common.name)||"";const r=this.getScriptFullName(s);i.length>18&&(i=`${i.substring(0,15)}...`);const l=(p=this.getScriptFromObject(s))==null?void 0:p.source,c=this.scripts[s]&&l!==this.scripts[s].source,h=[m.jsx(bt,{sx:this.isScriptChanged(s)?Me.tabChanged:void 0,style:Me.tabText,children:i},"text"),c?m.jsx("span",{style:Me.tabChangedIcon,children:"▣"},"changedSign"):null,!this.props.debugInstance&&(!this.props.debugMode||this.state.selected!==s)&&m.jsx(We,{onClick:g=>this.onTabClose(s,g),style:Me.closeButton,size:"small",component:"span",children:m.jsx(kc,{})},"icon")];return m.jsx(fg,{disabled:!!this.props.debugInstance||this.state.selected!==s&&this.props.debugMode,wrapped:!0,iconPosition:"start",icon:m.jsx("img",{alt:"",src:Hw[this.props.objects[s].common.engineType]||Hw.def,style:Me.tabIcon},"icon"),href:`#${s}`,label:h,style:Me.tabButton,value:s,title:r,sx:{"& .MuiTab-wrapper":Me.tabButtonWrapper}},s)}),this.props.debugInstance?m.jsx(fg,{disabled:!1,wrapped:!0,href:`#${this.props.debugInstance.adapter}`,label:this.props.debugInstance.adapter,style:Me.tabButton,value:this.props.debugInstance.adapter,title:this.props.debugInstance.adapter,sx:{"& .MuiTab-wrapper":Me.tabButtonWrapper}},this.props.debugInstance.adapter):""]},"tabs1"),this.state.editing.length>1?m.jsx(We,{href:"#","aria-label":"Close all but current",style:Me.tabMenuButton,title:x.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.getScriptFromObject(r))&&i.push(r)),window.localStorage.setItem("Editor.editing",JSON.stringify(i)),this.setState({menuTabsOpened:!1,editing:i})},size:"medium",children:m.jsx(cI,{})},"menuButton"):null]:m.jsx(bt,{sx:Me.toolbar,children:m.jsxs(je,{color:"grey",disabled:!0,style:Me.hintButton,href:"",children:[m.jsx("span",{children:x.I18n.t("Click on this icon")},"select2"),m.jsx(uI,{style:Me.hintIcon},"select3"),m.jsx("span",{children:x.I18n.t("for edit or create script")},"select4")]},"select1")},"tabs2")}getDebugMenu(){return this.state.showDebugMenu?m.jsxs(Vc,{id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:()=>this.setState({showDebugMenu:!1,menuDebugAnchorEl:null}),slotProps:{root:{style:{maxHeight:HO*7.5}}},children:[m.jsxs(et,{title:x.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:[m.jsx(ua,{checked:this.state.debugEnabled}),m.jsx(Cc,{style:{...Me.menuIcon,color:Ww}}),x.I18n.t("debug_label")]},"debugEnabled"),m.jsxs(et,{title:x.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:[m.jsx(ua,{checked:this.state.verboseEnabled}),m.jsx(O_,{style:{...Me.menuIcon,color:Hg}}),x.I18n.t("verbose_label")]},"verboseEnabled")]},"menuDebug"):null}getDebugBadge(){return[this.state.debugEnabled&&this.state.verboseEnabled?m.jsx(Cc,{style:{...Me.menuIcon,color:Hg}},"DebugVerbose"):null,this.state.debugEnabled&&!this.state.verboseEnabled?m.jsx(Cc,{style:{...Me.menuIcon,color:Ww}},"DebugNoVerbose"):null,!this.state.debugEnabled&&this.state.verboseEnabled?m.jsx(O_,{style:{...Me.menuIcon,color:Hg}},"noDebugVerbose"):null]}getAskAboutDebug(){return this.state.askAboutDebug?m.jsx(x.DialogConfirm,{onClose:()=>{this.setState({askAboutDebug:!1},()=>this.props.onDebugModeChange(!0))},ok:x.I18n.t("Yes"),cancel:x.I18n.t("Cancel"),text:x.I18n.t("The script will be stopped and must be activated manually after debugging. Continue?")}):null}getToolbar(){var r,l;const s=!!(this.state.selected&&((r=this.scripts[this.state.selected])!=null&&r.engine)&&this.state.runningInstances[this.scripts[this.state.selected].engine]),i=!!(this.state.selected&&((l=this.scripts[this.state.selected])!=null&&l.enabled));if(this.state.selected){const c=Object.keys(this.state.changed).filter(d=>this.state.changed[d]).length,h=this.state.changed[this.state.selected];return m.jsxs(BT,{variant:"dense",sx:Me.toolbar,children:[!this.props.debugInstance&&this.state.menuOpened&&this.props.onLocate&&m.jsx(We,{style:Me.toolbarButtons,title:x.I18n.t("Locate file"),onClick:()=>this.props.onLocate(this.state.selected),size:"medium",children:m.jsx(dI,{})},"locate"),!this.props.debugInstance&&!h&&s?m.jsx(We,{disabled:this.props.debugMode,style:Me.toolbarButtons,onClick:()=>this.onRestart(),title:x.I18n.t("Restart"),size:"medium",children:m.jsx(hI,{})},"restart"):null,!this.props.debugInstance&&!h?m.jsx(We,{disabled:this.props.debugMode,onClick:()=>this.onStartStop(),title:i?x.I18n.t("Pause script"):x.I18n.t("Run script"),size:"medium",style:{...Me.toolbarButtons,color:i?WO:GO},children:i?m.jsx(pI,{}):m.jsx(gI,{})},"start-stop"):null,!this.props.debugInstance&&!h&&!i?m.jsx("span",{style:Me.notRunning,children:x.I18n.t("Script is not running")}):null,!h&&i&&!s?m.jsx("span",{style:Me.notRunning,children:x.I18n.t("Instance is disabled")}):null,h?m.jsx(je,{color:"grey",variant:"contained",style:{...Me.textButton,...Me.saveButton},className:"button-save",onClick:()=>this.onSave(),endIcon:m.jsx(M_,{}),children:x.I18n.t("Save")},"save"):null,c>1||c===1&&!h?m.jsx(je,{color:"grey",variant:"contained",style:Me.textButton,onClick:()=>this.onSaveAll(),endIcon:m.jsx(M_,{}),children:x.I18n.t("Save all")},"saveall"):null,h?m.jsx(je,{color:"grey",variant:"contained",style:Me.textButton,onClick:()=>this.onCancel(),endIcon:m.jsx(bu,{}),children:x.I18n.t("Cancel")},"cancel"):null,!this.state.showCompiledCode&&!this.state.rules?m.jsx(We,{title:x.I18n.t("Undo"),style:Me.toolbarButtons,onClick:()=>{var d,p;if(this.state.blockly){const g=(d=this.blocklyEditorRef.current)==null?void 0:d.blocklyWorkspace;g==null||g.undo(!1)}else(p=this.scriptEditorRef.current)==null||p.undo()},size:"medium",children:m.jsx(mI,{})},"undo"):null,!this.state.showCompiledCode&&!this.state.rules?m.jsx(We,{title:x.I18n.t("Redo"),style:Me.toolbarButtons,onClick:()=>{var d,p;if(this.state.blockly){const g=(d=this.blocklyEditorRef.current)==null?void 0:d.blocklyWorkspace;g==null||g.undo(!0)}else(p=this.scriptEditorRef.current)==null||p.redo()},size:"medium",children:m.jsx(fI,{})},"redo"):null,m.jsx("div",{style:{flex:2}}),this.state.blockly&&!this.state.showCompiledCode&&m.jsx(We,{"aria-label":"OID display mode",title:x.I18n.t("OID display mode"),style:Me.toolbarButtons,onClick:d=>this.setState({menuOidDisplayAnchorEl:d.currentTarget}),size:"medium",children:m.jsx("img",{src:Ug[this.state.oidDisplayMode]||Ug[0],alt:"OID",width:36,height:22})},"oid-display-mode"),m.jsxs(Vc,{anchorEl:this.state.menuOidDisplayAnchorEl,open:!!this.state.menuOidDisplayAnchorEl,onClose:()=>this.setState({menuOidDisplayAnchorEl:null}),children:[Ug.map((d,p)=>m.jsxs(et,{selected:this.state.oidDisplayMode===p,onClick:()=>{var b,y,_;this.setState({oidDisplayMode:p,menuOidDisplayAnchorEl:null});const g=(b=window.scripts)==null?void 0:b.blocklyWorkspace;g&&((_=(y=window.Blockly)==null?void 0:y.FieldOID)!=null&&_.setDisplayMode)&&window.Blockly.FieldOID.setDisplayMode(p,g)},children:[m.jsx("img",{src:d,alt:"",width:48,height:28,style:{marginRight:8}}),(()=>{var y,_,v,w,$,I,T,C,D;const g=(v=(_=(y=window.Blockly)==null?void 0:y.FieldOID)==null?void 0:_.DISPLAY_MODE_KEYS)==null?void 0:v[p],b=["Show name","Show name path","Show ID","Show full ID"];return g&&(((I=($=(w=window.Blockly)==null?void 0:w.Words)==null?void 0:$[g])==null?void 0:I[x.I18n.getLanguage()])||((D=(C=(T=window.Blockly)==null?void 0:T.Words)==null?void 0:C[g])==null?void 0:D.en))||b[p]})()]},`oid-mode-${p}`)),m.jsx(rm,{}),m.jsxs(et,{onClick:()=>{var g,b,y;const d=!this.state.oidShowIcon;this.setState({oidShowIcon:d});const p=(g=window.scripts)==null?void 0:g.blocklyWorkspace;p&&((y=(b=window.Blockly)==null?void 0:b.FieldOID)!=null&&y.setShowIcon)&&window.Blockly.FieldOID.setShowIcon(d,p)},children:[m.jsx(ua,{checked:this.state.oidShowIcon,style:{padding:0,marginRight:8}}),(()=>{var p,g,b,y,_,v;const d="oid_show_icon";return((b=(g=(p=window.Blockly)==null?void 0:p.Words)==null?void 0:g[d])==null?void 0:b[x.I18n.getLanguage()])||((v=(_=(y=window.Blockly)==null?void 0:y.Words)==null?void 0:_[d])==null?void 0:v.en)||"Show icon"})()]},"oid-show-icon")]},"menuOidDisplay"),!this.props.debugInstance&&!this.state.showCompiledCode&&m.jsx(We,{style:Me.toolbarButtons,title:x.I18n.t("Prettify the script"),onClick:()=>this.setState({triggerPrettier:this.state.triggerPrettier+1}),size:"medium",children:m.jsx($I,{})},"prettier"),this.state.blockly&&!this.state.showCompiledCode?m.jsx(We,{"aria-label":"Export Blocks",title:x.I18n.t("Export blocks"),style:Me.toolbarButtons,onClick:()=>this.sendCommandToBlockly("export"),size:"medium",children:m.jsx(Kc,{})},"export"):null,this.state.blockly&&!this.state.showCompiledCode&&m.jsx(We,{"aria-label":"Import Blocks",title:x.I18n.t("Import blocks"),style:Me.toolbarButtons,onClick:()=>this.sendCommandToBlockly("import"),size:"medium",children:m.jsx(lm,{})},"import"),this.state.blockly&&!this.state.showCompiledCode&&m.jsx(We,{"aria-label":"Check code",title:x.I18n.t("Check blocks"),style:Me.toolbarButtons,onClick:()=>this.sendCommandToBlockly("check"),size:"medium",children:m.jsx(bI,{})},"check"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode?m.jsx(We,{"aria-label":"create CRON",title:x.I18n.t("Create or edit CRON or time wizard"),style:Me.toolbarButtons,onClick:()=>this.setState({showCron:!0}),size:"medium",children:m.jsx(yI,{})},"select-cron"):null,this.scripts[this.state.selected]&&this.scripts[this.state.selected].engineType!=="Rules"?m.jsx(m.Fragment,{children:m.jsx(We,{"aria-label":"AI",title:x.I18n.t("AI Chat"),style:{...Me.toolbarButtons,...this.state.aiChatOpen?{color:"#4caf50"}:{}},size:"medium",onClick:()=>{const d=!this.state.aiChatOpen;window.localStorage.setItem("Editor.aiChatOpen",String(d)),this.setState({aiChatOpen:d})},children:m.jsx(vI,{})},"ai")}):null,m.jsx(We,{"aria-label":"Show astronomical events",title:x.I18n.t("Show astronomical events"),style:Me.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(d=>this.setState({astroEvents:d}))},size:"medium",children:m.jsx(_I,{})},"show-astro"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&m.jsx(We,{"aria-label":"select ID",title:x.I18n.t("Insert object ID"),style:Me.toolbarButtons,onClick:()=>this.setState({showSelectId:!0}),size:"medium",children:m.jsx(wI,{})},"select-id"),this.state.blockly&&!this.state.rules&&this.state.showCompiledCode&&m.jsx(je,{color:"grey","aria-label":"convert to javascript",title:x.I18n.t("Convert blockly to javascript for ever."),onClick:()=>this.onConvertBlockly2JS(),children:"Blockly=>JS"},"convert2js"),this.state.rules&&!this.state.showCompiledCode&&m.jsx(We,{"aria-label":"Export Blocks",title:x.I18n.t("Export blocks"),style:Me.toolbarButtons,onClick:()=>this.sendCommandToRules("export"),size:"medium",children:m.jsx(Kc,{})},"export"),this.state.rules&&!this.state.showCompiledCode&&m.jsx(We,{"aria-label":"Import Blocks",title:x.I18n.t("Import blocks"),style:Me.toolbarButtons,onClick:()=>this.sendCommandToRules("import"),size:"medium",children:m.jsx(lm,{})},"import"),this.props.expertMode&&!h&&(this.props.debugMode||!this.state.blockly&&!this.state.rules||(this.state.blockly||this.state.rules)&&this.state.showCompiledCode)&&m.jsx(We,{style:Me.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:m.jsx(Cc,{style:{fontSize:32}})}),(this.state.blockly||this.state.rules)&&m.jsx(je,{"aria-label":"blockly",title:x.I18n.t("Show javascript code"),className:"button-js-code",color:this.state.showCompiledCode?"secondary":"inherit",disabled:this.props.debugMode,style:{...Me.toolbarButtons,...this.props.debugMode?Me.toolbarButtonsDisabled:void 0,padding:"0 5px"},onClick:()=>{this.props.debugMode||(this.setState({showCompiledCode:!this.state.showCompiledCode}),this.state.isTourOpen&&this.state.tourStep===Ps.showJavascript&&this.setState({tourStep:Ps.switchBackToRules}),this.state.isTourOpen&&this.state.tourStep===Ps.switchBackToRules&&this.setState({tourStep:Ps.saveTheScript}))},children:m.jsx("img",{alt:this.state.blockly?"blockly2js":"rules2js",src:this.state.blockly?gO:mO})},"blockly-code"),m.jsx(We,{disabled:this.props.debugMode,"aria-label":"Debug menu",title:x.I18n.t("Debug options"),style:Me.toolbarButtons,onClick:d=>this.setState({showDebugMenu:!0,menuDebugAnchorEl:d.currentTarget}),size:"medium",children:m.jsx(jT,{style:Me.badgeMargin,badgeContent:this.getDebugBadge(),children:m.jsx(kI,{})})},"debug")]},"toolbar1")}return null}cachedScriptInfos=null;lastObjectsHash="";getScriptInfos(){const s=Object.keys(this.props.objects).join(",");return this.cachedScriptInfos&&this.lastObjectsHash===s?this.cachedScriptInfos:(this.lastObjectsHash=s,this.cachedScriptInfos=_O(this.props.objects),this.cachedScriptInfos)}getScriptEditor(){var s,i;if(!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.getScriptFromObject(this.state.selected);const r=this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript",l=m.jsx(Zo,{fallback:m.jsx(Qo,{}),children:m.jsx(FO,{ref:this.scriptEditorRef,name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:()=>this.setState({insert:""}),onForceSave:()=>this.onSave(),searchText:this.state.searchText,onRegisterSelect:c=>this.onRegisterSelect(c),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:c=>this.onChange({script:c}),language:r,aiCompletionsEnabled:this.state.aiCompletionsEnabled,onAiAction:c=>this.handleAiAction(c),onInlineAsk:this.state.inlineAskHandler?c=>this.state.inlineAskHandler(c.question,c.selectedCode):void 0},"scriptEditor1")});if(this.state.aiDiffView)return m.jsx(bt,{sx:Me.editorDiv,children:m.jsx(Zo,{fallback:m.jsx(Qo,{}),children:m.jsx(UO,{originalCode:this.state.aiDiffView.original,modifiedCode:this.state.aiDiffView.modified,language:r,themeType:this.state.themeType,onAccept:c=>{this.onChange({script:c}),this.setState({aiDiffView:null})},onReject:()=>this.setState({aiDiffView:null})})})},"scriptEditorDiv");if(this.state.aiChatOpen){const c=window.localStorage.getItem("Editor.aiChatSizes");let h=[70,30];try{c&&(h=JSON.parse(c))}catch{}return m.jsx(bt,{sx:Me.editorDiv,children:m.jsxs(Jc,{direction:mt.Horizontal,initialSizes:h,minWidths:[200,250],gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",onResizeFinished:(d,p)=>{window.localStorage.setItem("Editor.aiChatSizes",JSON.stringify(p))},children:[l,m.jsx(Zo,{fallback:m.jsx(Qo,{}),children:m.jsx(Uw,{socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,currentCode:((s=this.scripts[this.state.selected])==null?void 0:s.source)||"",currentLanguage:r,selectedCode:((i=this.getSelect)==null?void 0:i.call(this))||"",allScripts:this.getScriptInfos(),editorApi:this.getEditorApi(),aiActionRequest:this.state.aiActionRequest,onAiActionConsumed:()=>this.setState({aiActionRequest:null}),onRegisterInlineAsk:d=>this.setState({inlineAskHandler:d}),currentScriptId:this.state.selected,onInsertCode:d=>this.setState({insert:d}),onShowDiff:(d,p)=>{var v;const g=this.state.selected,b=((v=this.scripts[g])==null?void 0:v.source)||"",y=this.scriptEditorRef.current,_=(w,$)=>{y==null||y.showInlineDiff({range:w,originalText:$,modifiedText:d,onAccepted:()=>{var T;const I=((T=y==null?void 0:y.getEditorContent)==null?void 0:T.call(y))||b;this.onChange({script:I})}})};if(p&&p.range&&p.scriptId===g){_(p.range,p.originalText);return}try{const w=LO(d,b);if(w){const I=b.split(` `).slice(w.range.startLine-1,w.range.endLine).join(` @@ -1259,9 +1259,9 @@ const demo = ${JSON.stringify(a,null,2).replace(/\*\//g,"* /")}; ${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 m.jsxs("span",{children:[x.I18n.t("Set:")," ",m.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:Yn(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 fu.getStaticData()}}const dM=[Bi,au,lu,ma,fa,ti,cu,uu,du,hu,pu,gu,mu,fu],Rc={sayit:ou,pushover:iu,"whatsapp-cmb":nu,pushsafer:ru},hM=Fm({blocks:null,socket:null,onUpdate:!1,setOnUpdate:a=>{},setOnDebugMessage:a=>{},onDebugMessage:[],enableSimulation:!1,setEnableSimulation:a=>{},changedScripts:{},setChangedScripts:a=>{}}),pM=({children:a,socket:s})=>{const[i,r]=St(null),[l,c]=St(!1),[h,d]=St([]),[p,g]=St(!1),[b,y]=St({});return Ft(()=>{l&&c(!1)},[l]),Ft(()=>{(async()=>{const _=await s.getAdapterInstances(),v=Object.keys(Rc).filter(C=>_.find(D=>{var R;return((R=D==null?void 0:D.common)==null?void 0:R.name)===C})),w=[],$=_.filter(C=>C.common.javascriptRules),I=[];for(const C of $){if(I.includes(C.common.name)||!C.common.javascriptRules)continue;let D;if(C.common.javascriptRules.url.startsWith("http:")||C.common.javascriptRules.url.startsWith("https:")?D=C.common.javascriptRules.url:C.common.javascriptRules.url.startsWith("./")?D=`${window.location.protocol}//${window.location.host}${C.common.javascriptRules.url.replace(/^\./,"")}`:D=`${window.location.protocol}//${window.location.host}/adapter/${C.common.name}/${C.common.javascriptRules.url}`,C.common.javascriptRules.i18n===!0){const R=D.lastIndexOf("/");let N;R!==-1?N=D.substring(0,R):N=D;const U=x.I18n.getLanguage(),j=`${N}/i18n/${U}.json`;await fetch(j).then(B=>B.json()).then(B=>x.I18n.extendTranslations(B,U)).catch(B=>{if(U!=="en")return fetch(`${N}/i18n/en.json`).then(J=>J.json()).then(J=>x.I18n.extendTranslations(J,U)).catch(J=>console.error(`Cannot load i18n "${j}": ${J}`));console.log(`Cannot load i18n "${j}": ${B}`)})}else if(C.common.javascriptRules.i18n&&typeof C.common.javascriptRules.i18n=="object")try{x.I18n.extendTranslations(C.common.javascriptRules.i18n)}catch(R){console.error(`Cannot import i18n for "${C.common.javascriptRules.name}": ${R}`)}try{D_.registerRemotes([{name:C.common.javascriptRules.name,entry:D,type:C.common.javascriptRules.type}]);const R=(await D_.loadRemote(`${C.common.javascriptRules.name}/${C.common.javascriptRules.name}`)).default;R&&(w.push(R),I.push(C.common.name),Rc[C.common.name]=null)}catch(R){console.error(`Cannot load component "${C.common.javascriptRules.name}": ${R}`)}}const T=v.filter(C=>Rc[C]).map(C=>Rc[C]);r([...dM,...T,...w])})()},[]),m.jsx(hM.Provider,{value:{blocks:i,socket:s,onUpdate:l,setOnUpdate:c,onDebugMessage:h,setOnDebugMessage:d,enableSimulation:p,setEnableSimulation:g,changedScripts:b,setChangedScripts:y},children:a})},gM="Acknowledged",mM="Actions",fM="Add",$M="All",bM="Any",yM="Apply",vM="April",_M="Ask",wM="Astronomical",kM="August",CM="Cancel",SM="Close",TM="Condition",IM="Conditions",EM="Console",xM="Copied",DM="December",AM="Default",RM="Delay",OM="Delete",MM="Description",NM="Done",LM="Exec shell",PM="Explanation",BM="Export",jM="Februar",FM="February",zM="Filter",UM="Folder",HM="Fr",WM="Friday",GM="ID",VM="ID1",KM="ID2",YM="Import",JM="Instance",qM="Instances",XM="Instructions",ZM="Januar",QM="January",eN="July",tN="June",sN="Limit",oN="March",iN="May",nN="Menu",rN="Message",aN="Mo",lN="Model",cN="Monday",uN="Month",dN="More",hN="Name",pN="November",gN="OK",mN="October",fN="Ok",$N="Pause",bN="Pushover",yN="Pushsafer",vN="Reload",_N="Rename",wN="Repeat",kN="Restart",CN="Result",SN="Sa",TN="Saturday",IN="Save",EN="Schedule",xN="Script",DN="September",AN="Simulate",RN="Stack",ON="Start",MN="State",NN="Su",LN="Sunday",PN="Telegram",BN="Th",jN="Thursday",FN="Time",zN="Triggered",UN="Triggers",HN="Tu",WN="Tuesday",GN="URL",VN="Value",KN="Volume",YN="We",JN="Wednesday",qN="Write",XN="Yes",ZN="acknowledgment",QN="all",eL="and",tL="Astro",sL="at",oL="control",iL="copy",nL="CRON",rL="Dawn",aL="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.",lL="Debug",cL="Dusk",uL="easy",dL="every",hL="Function",pL="ID",gL="Name",mL="Role",fL="Room",$L="Golden hour",bL="End of golden hour",yL='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.',vL='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.',_L="hours",wL="includes",kL="interval",CL="magic",SL="milliseconds",TL="minutes",IL="ms",EL="Nadir",xL="Nautical dawn",DL="Nautical dusk",AL="Next Sunrise",RL="Next sunset",OL="Night",ML="Night end",NL="normal",LL="offset",PL="one",BL="or",jL="quiet",FL="search",zL="seconds",UL="Solar noon",HL="sunrise",WL="Sunrise end",GL="Sunset",VL="Sunset start",KL="then",YL="Acknowledge",JL="From",qL="Last changed",XL="Quality",ZL="Timestamp",QL="User",eP="Value",tP="two",sP="update",oP="Adds debug output to the log for many system commands",iP="Verbose log outputs",nP="when",rP="Wizard",aP="Retry",lP="Undo",cP="Redo",uP="Accept",dP="Reject",hP="Context",pP="devices",gP="Plan",mP="Send",fP="Copy",$P="Explain",bP="Refactor",yP="Tests",vP={"%s not found":"%s not found","()":"()","(at %s)":"(at %s)","(optional)":"(optional)","-":"-",".":".",Ack:gM,Actions:mM,"Actual time of day":"Actual time of day",Add:fM,"Add new script":"Add new script",All:$M,"All files will be accepted":"All files will be accepted",Any:bM,"Any month":"Any month",Apply:yM,April:vM,"Are you sure?":"Are you sure?",Ask:_M,Astronomical:wM,"Astronomical events today":"Astronomical events today",August:kM,"Blockly description":"Creating rules by graphic blocks","Body:":"Body:",Cancel:CM,"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:SM,"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:TM,Conditions:IM,"Configuration not saved.":"Configuration not saved.",Console:EM,"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:xM,"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:DM,Default:AM,"Define cron...":"Define cron...","Define schedule...":"Define schedule...",Delay:RM,Delete:OM,"Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script",Description:MM,"Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s",Done:NM,"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",Error:"Error","Error formatting code":"Error formatting code","Error was found":"Error was found","Every day":"Every day",Exec:LM,"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:PM,Export:BM,"Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks",Februar:jM,February:FM,Filter:zM,Folder:UM,Fr:HM,Friday:WM,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:GM,ID1:VM,ID2:KM,Import:YM,"Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID",Instance:JM,"Instance is disabled":"Instance is disabled","Instance:":"Instance:",Instances:qM,Instructions:XM,"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:ZM,January:QM,July:eN,June:tN,"Just check":"Just check","Keep my changes":"Keep my changes","Language:":"Language:","Learn More":"Learn More","Light style":"Light style",Limit:sN,"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:oN,"March ":"March ",May:iN,Menu:nN,Message:rN,Mo:aN,Model:lN,Monday:cN,Month:uN,More:dN,Name:hN,"No active host found":"No active host found","Nothing found":"Nothing found",November:pN,OK:gN,October:mN,Ok:fN,"On condition change":"On condition result change","On script save or adapter start":"On script save or adapter start","On weekdays":"On weekdays","Operate two states":"Operate two states","Operations with two states":"Operations with two states","Paste your blocks here":"Paste your blocks here",Pause:$N,"Pause execution":"Pause execution","Pause script":"Pause script","Phone:":"Phone:","Please select object ID...":"Please select object ID...","Prettify the script":"Prettify the script","Print some text in log":"Print some text in log","Priority:":"Priority:",Pushover:bN,Pushsafer:yN,"Read only ID selected: %s":"Read only ID selected: %s",Reload:vN,Rename:_N,"Reorder scripts in folders":"Reorder scripts in folders",Repeat:wN,Restart:kN,Result:CN,"Resume execution":"Resume execution","Root folder":"Root folder","Rules description":"Create rules with IF, THEN, ELSE blocks","Run script":"Run script",Sa:SN,Saturday:TN,Save:IN,"Save all":"Save all","Say It":"Say It","Say some text via sayit adapter":"Say some text via sayit adapter",Schedule:EN,Script:xN,"Script %s was modified on disk":"Script %s was modified on disk","Script was modified externally":"Script was modified externally","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:DN,"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:AN,"Some files will be rejected":"Some files will be rejected","Sound:":"Sound:",Stack:RN,Start:ON,"Start script":"Start script",State:MN,"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:NN,"Subject:":"Subject:",Sunday:LN,"TS description":"Creating rules by writing Typescript",Telegram:PN,"Text:":"Text:",Th:BN,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?',"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:jN,Time:FN,"Time condition":"Time condition","Title:":"Title:","To:":"To:","Trigger with value":"Trigger with value",Triggered:zN,Triggers:UN,"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:HN,Tuesday:WN,URL:GN,"Unknown error":"Unknown error","Unknown error!":"Unknown error!","User function":"User function","User:":"User:",Value:VN,"Vibration:":"Vibration:",Volume:KN,We:YN,Wednesday:JN,"Whatsapp-cmb":"Whatsapp-cmb",Write:qN,"Write your own code":"Write your own code",Yes:XN,"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","Please select a valid model":"Please select a valid model","[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:ZN,all:QN,and:eL,"as JSON":"as JSON","as plain text":"as plain text",astro:tL,at:sL,"clear running":"clear running",control:oL,copy:iL,cron:nL,dawn:rL,debug_help:aL,debug_label:lL,default:"default",dusk:cL,easy:uL,else:"else","equal to":"equal to",every:dL,"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:hL,filter_id:pL,filter_name:gL,filter_role:mL,filter_room:fL,"for edit or create script":"for edit or create a new script","for professionals":"for professionals","for programmers":"for programmers",goldenHour:$L,goldenHourEnd:bL,"greater or equal":"greater or equal","greater or equal to":"greater or equal to","greater than":"greater than",help_just_check:yL,help_on_change:vL,"high priority":"high priority","high-priority":"high-priority","highest priority":"highest priority",hours:_L,includes:wL,interval:kL,"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:CL,milliseconds:SL,minutes:TL,ms:IL,nadir:EL,nauticalDawn:xL,nauticalDusk:DL,nextSunrise:AL,nextSunset:RL,night:OL,nightEnd:ML,"no blocks found":"No blocks found","no group":"NO GROUP",normal:NL,"normal priority":"normal priority","not running":"not running","not equal to":"not equal to","not properly connected":"This block is not properly connected to other blocks.",offset:LL,"on change":"on change","on condition change":"on condition change","on update":"on update",one:PL,or:BL,quiet:jL,"reset search":"reset search",search:FL,seconds:zL,solarNoon:UL,"store in":"store in",sunrise:HL,sunriseEnd:WL,sunset:GL,sunsetStart:VL,then:KL,"toggle value":"toggle value",tooltip_ack:YL,tooltip_from:JL,tooltip_lc:qL,tooltip_quality:XL,tooltip_ts:ZL,tooltip_user:QL,tooltip_value:eP,true:"true",two:tP,undefined:"undefined",update:sP,"use seconds":"use seconds","use trigger value":"use trigger value",verbose_help:oP,verbose_label:iP,when:nP,with:"with","with date":"with date","with offset":"with offset",wizard:rP,"Loading models...":"Loading models...","Could not connect to API at %s":"Could not connect to API at %s","Invalid API key":"Invalid API key","Access denied by API":"Access denied by API","API error: %s":"API error: %s",'Model "%s" not found':'Model "%s" not found',"Request failed: %s":"Request failed: %s",Retry:aP,"No running javascript instance found":"No running javascript instance found","OID display mode":"OID display mode","AI Chat":"AI Chat","AI inline completions":"AI inline completions","New chat":"New chat","Ask about your script...":"Ask about your script...","Insert blocks":"Insert blocks","Apply blocks":"Apply blocks",Undo:lP,Redo:cP,"Insert into editor":"Insert into editor","Show as diff":"Show as diff","Selected code as context":"Selected code as context","Ask questions about your script, request changes, or generate new code.":"Ask questions about your script, request changes, or generate new code.","to send":"to send","Thinking...":"Thinking...","AI suggested changes":"AI suggested changes",Accept:uP,Reject:dP,"No API keys configured":"No API keys configured","for new line":"for new line","AI chat mode":"AI chat mode","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.",'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".','Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Plain conversation. Best for: general questions, syntax help, concept explanations.","Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.",Context:hP,"current script":"current script","all scripts":"all scripts",devices:pP,"Searching datapoints":"Searching datapoints","Reading value":"Reading value","Loading object info":"Loading object info","Searching scripts":"Searching scripts","Reading script":"Reading script","Loading script list":"Loading script list","All scripts":"All scripts","Smart home devices":"Smart home devices","Generating plan...":"Generating plan...","Generating code...":"Generating code...",Plan:gP,"mention @all":"@all","mention @devices":"@devices",Send:mP,Copy:fP,"AI inline chat":"AI inline chat",'e.g. "Refactor this to use async/await"':'e.g. "Refactor this to use async/await"',"Open in chat":"Open in chat","Selection: %s line(s)":"Selection: %s line(s)","No selection — the question will use context from the whole script.":"No selection — the question will use context from the whole script.","Please enter a question.":"Please enter a question.","Thinking…":"Thinking…","Code proposal — press Apply to replace your selection.":"Code proposal — press Apply to replace your selection.","Plain text answer.":"Plain text answer.","Show more details":"Show more details","AI: Inline chat…":"AI: Inline chat…","AI: Explain":"AI: Explain","AI: Refactor":"AI: Refactor","AI: Add comments":"AI: Add comments","AI: Fix problem":"AI: Fix problem","AI: Suggest tests":"AI: Suggest tests","Ask the AI about the selected code:":"Ask the AI about the selected code:",Explain:$P,Refactor:bP,Tests:yP,"Explain %s %s":"Explain %s %s","Refactor %s %s":"Refactor %s %s","Suggest tests for %s %s":"Suggest tests for %s %s","Apply changes":"Apply changes","Discard changes":"Discard changes",'Ask anything, or request a change (e.g. "what does this do?")':'Ask anything, or request a change (e.g. "what does this do?")'},_P="Bestätigt",wP="Aktionen",kP="Hinzufügen",CP="Alle",SP="Egal",TP="Anwenden",IP="April",EP="Fragen",xP="Astronomisch",DP="August",AP="Abbrechen",RP="Schließen",OP="Bedingung",MP="Bedingungen",NP="Konsole",LP="Kopiert",PP="Dezember",BP="Standard",jP="Verzögerung",FP="Löschen",zP="Beschreibung",UP="Fertig",HP="Exec shell",WP="Erläuterung",GP="Export",VP="Februar",KP="Februar",YP="Filter",JP="Ordner",qP="Fr",XP="Freitag",ZP="ID",QP="ID1",eB="ID2",tB="Import",sB="Instanz",oB="Instanzen",iB="Anleitung",nB="Januar",rB="Januar",aB="Juli",lB="Juni",cB="Grenze",uB="März",dB="Mai",hB="Menü",pB="Nachricht",gB="Mo",mB="Modell",fB="Montag",$B="Monat",bB="Mehr",yB="Name",vB="November",_B="OK",wB="Oktober",kB="Ok",CB="Pause",SB="Pushover",TB="Pushsafer",IB="Neu laden",EB="Umbenennen",xB="Wiederholen",DB="Neustart",AB="Ergebnis",RB="Sa",OB="Samstag",MB="Speichern",NB="Zeitplan",LB="Skript",PB="September",BB="Simulieren",jB="Stack",FB="Start",zB="Zustand",UB="So",HB="Sonntag",WB="Telegram",GB="Do",VB="Donnerstag",KB="Zeit",YB="Ausgelöst",JB="Löst aus",qB="Di",XB="Dienstag",ZB="URL",QB="Wert",e2="Volumen",t2="Mi",s2="Mittwoch",o2="Schreiben",i2="Ja",n2="Wissen",r2="alle",a2="und",l2="Astro",c2="um",u2="Steuerung",d2="Kopie",h2="CRON",p2="Morgendämmerung",g2="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.",m2="Debuggen",f2="Abenddämmerung",$2="einfach",b2="jeder",y2="Funktion",v2="ID",_2="Name",w2="Rolle",k2="Raum",C2="Goldene Abendstunde",S2="Vormittag",T2='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.',I2='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.',E2="Stunden",x2="beinhaltet",D2="Intervall",A2="Magie",R2="Millisekunden",O2="Minuten",M2="ms",N2="Nadir",L2="nautische Morgendämmerung",P2="nautische Abenddämmerung",B2="Nächster Sonnenaufgang",j2="Nächster Sonnenuntergang",F2="Nacht",z2="astronomische Morgendämmerung",U2="Normal",H2="Versatz",W2="einer",G2="oder",V2="ruhig",K2="Suche",Y2="Sekunden",J2="(Nach-)Mittag",q2="Sonnenaufgang",X2="Goldene Morgenstunde",Z2="Sonnenuntergang",Q2="Sonnenuntergang (Anfang)",ej="dann",tj="Bestätigen",sj="Von",oj="Zuletzt geändert",ij="Qualität",nj="Zeitstempel",rj="Benutzer",aj="Wert",lj="zwei",cj="Aktualisieren",uj="Fügt Debug-Ausgaben für viele Systembefehle zum Protokoll hinzu",dj="Ausführliche Protokollausgaben",hj="falls",pj="Assistent",gj="Erneut versuchen",mj="Rückgängig",fj="Wiederherstellen",$j="Akzeptieren",bj="Ablehnen",yj="Kontext",vj="Geräte",_j="Plan",wj="Senden",kj="Kopieren",Cj="Erklären",Sj="Refaktorieren",Tj="Tests",Ij={"%s not found":"%s nicht gefunden","()":"()","(at %s)":"(um %s)","(optional)":"(optional)","-":"-",".":".",Ack:_P,Actions:wP,"Actual time of day":"Tatsächliche Tageszeit",Add:kP,"Add new script":"Neues Skript hinzufügen",All:CP,"All files will be accepted":"Alle Dateien werden akzeptiert",Any:SP,"Any month":"Jeden Monat",Apply:TP,April:IP,"Are you sure?":"Wirklich sicher?",Ask:EP,Astronomical:xP,"Astronomical events today":"Astronomische Ereignisse heute",August:DP,"Blockly description":"Erstellen von Regeln durch Grafikblöcke","Body:":"Körper:",Cancel:AP,"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:RP,"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:OP,Conditions:MP,"Configuration not saved.":"Die Konfiguration ist nicht gespeichert.",Console:NP,"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:LP,"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:PP,Default:BP,"Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...",Delay:jP,Delete:FP,"Delete %s":"Löschen %s...","Delete folder":"Ordner löschen","Delete script":"Skript löschen",Description:zP,"Deselect all":"Alles abwählen","Discard changes for %s":"Änderungen für %s verwerfen",Done:UP,"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",Error:"Fehler","Error formatting code":"Fehler beim Formatieren des Codes","Error was found":"Fehler wurde gefunden","Every day":"Täglich",Exec:HP,"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:WP,Export:GP,"Export all scripts":"Alle Skripte exportieren","Export blocks":"Blöcke exportieren","Export selected blocks":"Ausgewählte Blöcke exportieren",Februar:VP,February:KP,Filter:YP,Folder:JP,Fr:qP,Friday:XP,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:ZP,ID1:QP,ID2:eB,Import:tB,"Import blocks":"Blöcke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einfügen",Instance:sB,"Instance is disabled":"Instanz ist deaktiviert","Instance:":"Instanz:",Instances:oB,Instructions:iB,"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:nB,January:rB,July:aB,June:lB,"Just check":"Einfach überprüfen","Keep my changes":"Meine Änderungen behalten","Language:":"Sprache:","Learn More":"Mehr erfahren","Light style":"Heller Stil",Limit:cB,"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:uB,"March ":"März ",May:dB,Menu:hB,Message:pB,Mo:gB,Model:mB,Monday:fB,Month:$B,More:bB,Name:yB,"No active host found":"Kein aktiver Host gefunden","Nothing found":"Nichts gefunden",November:vB,OK:_B,October:wB,Ok:kB,"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","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:CB,"Pause execution":"Ausführung pausieren","Pause script":"Skript anhalten","Phone:":"Telefon:","Please select object ID...":"Objekt-ID auswählen ...","Prettify the script":"Verschönern Sie das Skript","Print some text in log":"Einen Text im Protokoll ausdrucken","Priority:":"Priorität:",Pushover:SB,Pushsafer:TB,"Read only ID selected: %s":"Schreibgeschützte ID ausgewählt: %s",Reload:IB,Rename:EB,"Reorder scripts in folders":"Skripte in Ordnern neu ordnen",Repeat:xB,Restart:DB,Result:AB,"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:RB,Saturday:OB,Save:MB,"Save all":"Alle speichern","Say It":"Say It","Say some text via sayit adapter":"Einen Text über den Sayit-Adapter sagen",Schedule:NB,Script:LB,"Script %s was modified on disk":'Skript "%s" wurde auf der Festplatte geändert',"Script was modified externally":"Skript wurde extern 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:PB,"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:BB,"Some files will be rejected":"Einige Dateien werden abgelehnt","Sound:":"Klang:",Stack:jB,Start:FB,"Start script":"Skript starten",State:zB,"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:UB,"Subject:":"Gegenstand:",Sunday:HB,"TS description":"Regeln erstellen mit TypeScript",Telegram:WB,"Text:":"Text:",Th:GB,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Das Skript "%s" wurde von einem anderen Benutzer oder in einem anderen Fenster geändert. Möchten Sie das Skript neu laden oder Ihre lokalen Änderungen behalten?',"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:VB,Time:KB,"Time condition":"Zeitbedingung","Title:":"Titel:","To:":"Zu:","Trigger with value":"Trigger mit Wert",Triggered:YB,Triggers:JB,"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:qB,Tuesday:XB,URL:ZB,"Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","User function":"Benutzerfunktion","User:":"Benutzer:",Value:QB,"Vibration:":"Vibration:",Volume:e2,We:t2,Wednesday:s2,"Whatsapp-cmb":"WhatsApp-cmb",Write:o2,"Write your own code":"Eigenen Code schreiben",Yes:i2,"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","Please select a valid model":"Bitte ein gültiges Modell auswählen","[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:n2,all:r2,and:a2,"as JSON":"als JSON","as plain text":"als Klartext",astro:l2,at:c2,"clear running":"laufende abbrechen",control:u2,copy:d2,cron:h2,dawn:p2,debug_help:g2,debug_label:m2,default:"Standard",dusk:f2,easy:$2,else:"sonst","equal to":"gleich",every:b2,"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:y2,filter_id:v2,filter_name:_2,filter_role:w2,filter_room:k2,"for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","for professionals":"für Profis","for programmers":"für Programmierer",goldenHour:C2,goldenHourEnd:S2,"greater or equal":"größer oder gleich","greater or equal to":"größer oder gleich","greater than":"größer als",help_just_check:T2,help_on_change:I2,"high priority":"hohe Priorität","high-priority":"hohe Priorität","highest priority":"höchste Priorität",hours:E2,includes:x2,interval:D2,"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:A2,milliseconds:R2,minutes:O2,ms:M2,nadir:N2,nauticalDawn:L2,nauticalDusk:P2,nextSunrise:B2,nextSunset:j2,night:F2,nightEnd:z2,"no blocks found":"Keine Blöcke gefunden","no group":"KEINE GRUPPE",normal:U2,"normal priority":"normale Priorität","not running":"nicht gestartet","not equal to":"ungleich","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.",offset:H2,"on change":"bei Änderung","on condition change":"bei Zustandsänderung","on update":"beim Aktualisieren",one:W2,or:G2,quiet:V2,"reset search":"Suche zurücksetzen",search:K2,seconds:Y2,solarNoon:J2,"store in":"speichern in",sunrise:q2,sunriseEnd:X2,sunset:Z2,sunsetStart:Q2,then:ej,"toggle value":"Wert umschalten",tooltip_ack:tj,tooltip_from:sj,tooltip_lc:oj,tooltip_quality:ij,tooltip_ts:nj,tooltip_user:rj,tooltip_value:aj,true:"wahr",two:lj,undefined:"nicht definiert",update:cj,"use seconds":"Sekunden verwenden","use trigger value":"Triggerwert benutzen",verbose_help:uj,verbose_label:dj,when:hj,with:"mit","with date":"mit Datum","with offset":"mit Versatz",wizard:pj,"Loading models...":"Modelle werden geladen...","Could not connect to API at %s":"Verbindung zur API unter %s nicht möglich","Invalid API key":"Ungültiger API-Schlüssel","Access denied by API":"Zugriff von der API verweigert","API error: %s":"API-Fehler: %s",'Model "%s" not found':'Modell "%s" nicht gefunden',"Request failed: %s":"Anfrage fehlgeschlagen: %s",Retry:gj,"No running javascript instance found":"Keine laufende JavaScript-Instanz gefunden","OID display mode":"OID-Anzeigemodus","AI Chat":"KI Chat","AI inline completions":"KI Inline-Vervollständigung","New chat":"Neuer Chat","Ask about your script...":"Frage zu deinem Script stellen...","Insert blocks":"Blöcke einfügen","Apply blocks":"Blöcke anwenden",Undo:mj,Redo:fj,"Insert into editor":"In Editor einfügen","Show as diff":"Als Diff anzeigen","Selected code as context":"Ausgewählter Code als Kontext","Ask questions about your script, request changes, or generate new code.":"Stelle Fragen zu deinem Script, fordere Änderungen an oder generiere neuen Code.","to send":"zum Senden","Thinking...":"Denke nach...","AI suggested changes":"KI-vorgeschlagene Änderungen",Accept:$j,Reject:bj,"No API keys configured":"Keine API-Schlüssel konfiguriert","for new line":"für neue Zeile","AI chat mode":"KI-Chat-Modus","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Reine Unterhaltung. Für Fragen, Erklärungen und Syntaxhilfe. Greift nicht auf deine Skripte zu und ändert sie nicht.",'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':"Die KI darf Werkzeuge aufrufen, um dein System zu untersuchen: Skripte lesen, Datenpunkte nachschlagen, Objektbaum durchsuchen. Geeignet für Fragen wie 'Welche Skripte nutzen diesen State?' oder 'Analysiere mein Licht-Skript'.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':"Zweistufiger Skript-Generator (erst Plan, dann Code). Geeignet für 'Erstelle ein Skript, das …' oder 'Schreibe eine Blockly-Regel für …'. Das Ergebnis landet direkt im Editor und kann per Smart-Apply übernommen werden.","Plain conversation. Best for: general questions, syntax help, concept explanations.":"Reine Unterhaltung. Am besten für: allgemeine Fragen, Syntaxhilfe, Konzept-Erklärungen.","Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Assistent mit Werkzeug-Zugriff. Am besten für: vorhandene Skripte analysieren, Datenpunkt-Verwendungen finden, Objektbaum untersuchen.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Skript-Generator. Am besten für: neue JavaScript-/TypeScript- oder Blockly-Skripte aus einer Beschreibung erzeugen.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Skripte als Kontext für die KI erwähnen. Nutze @alle für alle Skripte oder @Skriptname für ein bestimmtes.",Context:yj,"current script":"aktuelles Script","all scripts":"alle Scripts",devices:vj,"Searching datapoints":"Suche Datenpunkte","Reading value":"Lese Wert","Loading object info":"Lade Objekt-Info","Searching scripts":"Durchsuche Scripts","Reading script":"Lese Script","Loading script list":"Lade Script-Liste","All scripts":"Alle Scripts","Smart home devices":"Smart-Home-Geräte","Generating plan...":"Erstelle Plan...","Generating code...":"Generiere Code...",Plan:_j,"mention @all":"@alle","mention @devices":"@geräte",Send:wj,Copy:kj,"AI inline chat":"KI-Inline-Chat",'e.g. "Refactor this to use async/await"':'z.B. "Refaktoriere das zu async/await"',"Open in chat":"Im Chat öffnen","Selection: %s line(s)":"Auswahl: %s Zeile(n)","No selection — the question will use context from the whole script.":"Keine Auswahl — die Frage bezieht sich auf das gesamte Skript.","Please enter a question.":"Bitte gib eine Frage ein.","Thinking…":"Denke nach…","Code proposal — press Apply to replace your selection.":"Code-Vorschlag — drücke Anwenden, um die Auswahl zu ersetzen.","Plain text answer.":"Textantwort.","Show more details":"Mehr Details anzeigen","AI: Inline chat…":"KI: Inline-Chat…","AI: Explain":"KI: Erklären","AI: Refactor":"KI: Refaktorieren","AI: Add comments":"KI: Kommentare hinzufügen","AI: Fix problem":"KI: Problem beheben","AI: Suggest tests":"KI: Tests vorschlagen","Ask the AI about the selected code:":"Frage die KI zum ausgewählten Code:",Explain:Cj,Refactor:Sj,Tests:Tj,"Explain %s %s":"%s %s erklären","Refactor %s %s":"%s %s refaktorieren","Suggest tests for %s %s":"Tests für %s %s vorschlagen","Apply changes":"Änderungen übernehmen","Discard changes":"Änderungen verwerfen",'Ask anything, or request a change (e.g. "what does this do?")':'Frag etwas oder bitte um eine Änderung (z.B. "was macht dieser Befehl?")'},Ej="Admitido",xj="Comportamiento",Dj="Añadir",Aj="Todos",Rj="Alguna",Oj="Apply",Mj="abril",Nj="Preguntar",Lj="Astronómico",Pj="agosto",Bj="Cancelar",jj="Cerrar",Fj="Condición",zj="Condiciones",Uj="Consola",Hj="Copiado",Wj="diciembre",Gj="Defecto",Vj="Demora",Kj="Eliminar",Yj="Descripción",Jj="Hecho",qj="Ejecutivo shell",Xj="Explicación",Zj="Exportar",Qj="Februar",eF="febrero",tF="Filtrar",sF="Carpeta",oF="P.",iF="viernes",nF="CARNÉ DE IDENTIDAD",rF="ID1",aF="ID2",lF="Importar",cF="Ejemplo",uF="Instancias",dF="Instrucciones",hF="Enero",pF="enero",gF="julio",mF="junio",fF="Límite",$F="marzo",bF="Mayo",yF="Menú",vF="Mensaje",_F="Mes",wF="Modelo",kF="lunes",CF="Mes",SF="Más",TF="Nombre",IF="noviembre",EF="OK",xF="octubre",DF="Okay",AF="Pausa",RF="Persona fácil de convencer",OF="Pushsafer",MF="Recargar",NF="Rebautizar",LF="Repetir",PF="Reiniciar",BF="Resultado",jF="Sa",FF="sábado",zF="Salvar",UF="Calendario",HF="Guión",WF="septiembre",GF="Simular",VF="Stack",KF="Comienzo",YF="Expresar",JF="Su",qF="domingo",XF="Telegrama",ZF="4",QF="jueves",ez="Tiempo",tz="Motivado",sz="Disparadores",oz="Tu",iz="martes",nz="URL",rz="Valor",az="Volumen",lz="3",cz="miércoles",uz="Escribir",dz="sí",hz="Reconocimiento",pz="todos",gz="y",mz="astro",fz="a",$z="control",bz="Copiar",yz="CRON",vz="Amanecer",_z="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.",wz="Depurar",kz="Oscuridad",Cz="fácil",Sz="cada",Tz="Función",Iz="CARNÉ DE IDENTIDAD",Ez="Nombre",xz="Papel",Dz="Habitación",Az="hora dorada",Rz="Fin de la hora dorada",Oz='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.',Mz='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.',Nz="horas",Lz="incluye",Pz="intervalo",Bz="magia",jz="milisegundos",Fz="minutos",zz="ms",Uz="nadir",Hz="Amanecer náutico",Wz="Atardecer náutico",Gz="próximo amanecer",Vz="Próxima puesta de sol",Kz="Noche",Yz="Fin de la noche",Jz="normal",qz="compensar",Xz="uno",Zz="o",Qz="tranquilo",eU="buscar",tU="segundos",sU="Mediodía solar",oU="amanecer",iU="Final del amanecer",nU="puesta de sol",rU="Inicio al atardecer",aU="entonces",lU="Reconocer",cU="De",uU="Último cambio",dU="Calidad",hU="Marca de tiempo",pU="Usuario",gU="Valor",mU="dos",fU="actualizar",$U="Agrega salida de depuración al registro para muchos comandos del sistema",bU="Salidas de registro detalladas",yU="cuando",vU="Wizard",_U="Reintentar",wU="Aceptar",kU="Rechazar",CU="Contexto",SU="dispositivos",TU="Deshacer",IU="Rehacer",EU="Plan",xU="Enviar",DU="Copiar",AU="Explicar",RU="Refactorizar",OU="Pruebas",MU={"%s not found":"%s no encontrado","()":"()","(at %s)":"(en %s)","(optional)":"(Opcional)","-":"-",".":".",Ack:Ej,Actions:xj,"Actual time of day":"Hora real del día",Add:Dj,"Add new script":"Agregar nuevo script",All:Aj,"All files will be accepted":"Todos los archivos serán aceptados.",Any:Rj,"Any month":"Cualquier mes",Apply:Oj,April:Mj,"Are you sure?":"¿Estás seguro?",Ask:Nj,Astronomical:Lj,"Astronomical events today":"Eventos astronómicos hoy",August:Pj,"Blockly description":"Crear reglas por bloques gráficos","Body:":"Cuerpo:",Cancel:Bj,"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:jj,"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:Fj,Conditions:zj,"Configuration not saved.":"Configuración no guardada.",Console:Uj,"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:Hj,"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:Wj,Default:Gj,"Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...",Delay:Vj,Delete:Kj,"Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar guión",Description:Yj,"Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s",Done:Jj,"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",Error:"Error","Error formatting code":"Código de formato de error","Error was found":"Error encontrado","Every day":"Diario",Exec:qj,"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:Xj,Export:Zj,"Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados",Februar:Qj,February:eF,Filter:tF,Folder:sF,Fr:oF,Friday:iF,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:nF,ID1:rF,ID2:aF,Import:lF,"Import blocks":"Importar bloques","Import error":"Error de importación","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto",Instance:cF,"Instance is disabled":"La instancia está deshabilitada","Instance:":"Ejemplo:",Instances:uF,Instructions:dF,"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:hF,January:pF,July:gF,June:mF,"Just check":"Sólo revisa","Keep my changes":"Mantener mis cambios","Language:":"Idioma:","Learn More":"Aprende más","Light style":"Estilo ligero",Limit:fF,"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:$F,"March ":"marzo",May:bF,Menu:yF,Message:vF,Mo:_F,Model:wF,Monday:kF,Month:CF,More:SF,Name:TF,"No active host found":"No se encontró un host activo","Nothing found":"Nada Encontrado",November:IF,OK:EF,October:xF,Ok:DF,"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","Operate two states":"Operar dos estados","Operations with two states":"Operaciones con dos estados","Paste your blocks here":"Pega tus bloques aquí",Pause:AF,"Pause execution":"Pausar ejecución","Pause script":"Pausar guion","Phone:":"Teléfono:","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Prettify the script":"Embellecer el guión","Print some text in log":"Imprime texto en el registro","Priority:":"Prioridad:",Pushover:RF,Pushsafer:OF,"Read only ID selected: %s":"ID de solo lectura seleccionado: %s",Reload:MF,Rename:NF,"Reorder scripts in folders":"Reordenar guiones en carpetas",Repeat:LF,Restart:PF,Result:BF,"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:jF,Saturday:FF,Save:zF,"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:UF,Script:HF,"Script %s was modified on disk":"El script %s fue modificado en el disco","Script was modified externally":"El script fue modificado externamente","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:WF,"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:GF,"Some files will be rejected":"Algunos archivos serán rechazados","Sound:":"Sonido:",Stack:VF,Start:KF,"Start script":"Iniciar guion",State:YF,"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:JF,"Subject:":"Sujeto:",Sunday:qF,"TS description":"Crear reglas escribiendo el mecanografiado",Telegram:XF,"Text:":"Texto:",Th:ZF,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'El script "%s" ha sido modificado por otro usuario o en otra ventana. ¿Desea recargar el script o mantener sus cambios locales?',"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:QF,Time:ez,"Time condition":"Condición de tiempo","Title:":"Título:","To:":"A:","Trigger with value":"Activar con valor",Triggered:tz,Triggers:sz,"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:oz,Tuesday:iz,URL:nz,"Unknown error":"Error desconocido","Unknown error!":"¡Error desconocido!","User function":"Función de usuario","User:":"Usuario:",Value:rz,"Vibration:":"Vibración:",Volume:az,We:lz,Wednesday:cz,"Whatsapp-cmb":"Whatsapp-cmb",Write:uz,"Write your own code":"Escribe tu propio código",Yes:dz,"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","Please select a valid model":"Por favor, seleccione un modelo válido","[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:hz,all:pz,and:gz,"as JSON":"como JSON","as plain text":"como texto plano",astro:mz,at:fz,"clear running":"carrera clara",control:$z,copy:bz,cron:yz,dawn:vz,debug_help:_z,debug_label:wz,default:"defecto",dusk:kz,easy:Cz,else:"demás","equal to":"igual a",every:Sz,"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:Tz,filter_id:Iz,filter_name:Ez,filter_role:xz,filter_room:Dz,"for edit or create script":"para editar o crear un nuevo script","for professionals":"para profesionales","for programmers":"para programadores",goldenHour:Az,goldenHourEnd:Rz,"greater or equal":"mayor o igual","greater or equal to":"mayor o igual a","greater than":"mas grande que",help_just_check:Oz,help_on_change:Mz,"high priority":"alta prioridad","high-priority":"alta prioridad","highest priority":"más alta prioridad",hours:Nz,includes:Lz,interval:Pz,"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:Bz,milliseconds:jz,minutes:Fz,ms:zz,nadir:Uz,nauticalDawn:Hz,nauticalDusk:Wz,nextSunrise:Gz,nextSunset:Vz,night:Kz,nightEnd:Yz,"no blocks found":"No se encontraron bloques","no group":"NO GRUPO",normal:Jz,"normal priority":"prioridad normal","not running":"no está en ejecución","not equal to":"no igual a","not properly connected":"Este bloque no está conectado correctamente a otros bloques.",offset:qz,"on change":"en el cambio","on condition change":"con cambio de condición","on update":"en actualización",one:Xz,or:Zz,quiet:Qz,"reset search":"restablecer la búsqueda",search:eU,seconds:tU,solarNoon:sU,"store in":"almacenar en",sunrise:oU,sunriseEnd:iU,sunset:nU,sunsetStart:rU,then:aU,"toggle value":"alternar valor",tooltip_ack:lU,tooltip_from:cU,tooltip_lc:uU,tooltip_quality:dU,tooltip_ts:hU,tooltip_user:pU,tooltip_value:gU,true:"cierto",two:mU,undefined:"indefinido",update:fU,"use seconds":"usar segundos","use trigger value":"usar valor de activación",verbose_help:$U,verbose_label:bU,when:yU,with:"con","with date":"con fecha","with offset":"con desplazamiento",wizard:vU,"Loading models...":"Cargando modelos...","Could not connect to API at %s":"No se pudo conectar a la API en %s","Invalid API key":"Clave API no válida","Access denied by API":"Acceso denegado por la API","API error: %s":"Error de API: %s",'Model "%s" not found':'Modelo "%s" no encontrado',"Request failed: %s":"Solicitud fallida: %s",Retry:_U,"No running javascript instance found":"No se encontró ninguna instancia de JavaScript en ejecución","OID display mode":"Modo de visualización OID","Ask questions about your script, request changes, or generate new code.":"Haz preguntas sobre tu script, solicita cambios o genera nuevo código.","to send":"para enviar","Thinking...":"Pensando...","AI suggested changes":"Cambios sugeridos por IA",Accept:wU,Reject:kU,"No API keys configured":"No hay claves API configuradas","for new line":"para nueva línea","AI chat mode":"Modo de chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversación simple. Úsalo para preguntas, explicaciones y ayuda de sintaxis. No lee ni modifica tus scripts.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Generador de scripts en dos pasos (primero plan, luego código). Útil para "crea un script que...", "escribe una regla Blockly para...". El resultado va al editor para smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversación simple. Ideal para: preguntas generales, ayuda de sintaxis, explicaciones de conceptos.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Generador de scripts. Ideal para: crear nuevos scripts JavaScript/TypeScript o Blockly a partir de una descripción.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mencionar scripts como contexto para la IA. Usa @todos para todos los scripts o @nombreScript para uno específico.",Context:CU,"current script":"script actual","all scripts":"todos los scripts",devices:SU,"Searching datapoints":"Buscando puntos de datos","Reading value":"Leyendo valor","Loading object info":"Cargando información del objeto","Searching scripts":"Buscando scripts","Reading script":"Leyendo script","Loading script list":"Cargando lista de scripts","All scripts":"Todos los scripts","Smart home devices":"Dispositivos del hogar inteligente","AI Chat":"Chat IA","AI inline completions":"Completado en línea con IA","New chat":"Nuevo chat","Ask about your script...":"Pregunta sobre tu script...","Insert blocks":"Insertar bloques","Apply blocks":"Aplicar bloques",Undo:TU,Redo:IU,"Insert into editor":"Insertar en el editor","Show as diff":"Mostrar como diff","Selected code as context":"Código seleccionado como contexto","Generating plan...":"Generando plan...","Generating code...":"Generando código...",Plan:EU,"mention @all":"@todos","mention @devices":"@dispositivos",Send:xU,Copy:DU,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':'La IA puede llamar herramientas para inspeccionar tu sistema: leer scripts, buscar datapoints, explorar el árbol de objetos. Útil para "¿qué scripts usan este estado?", "analiza mi script de luces".',"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Asistente con herramientas. Ideal para: analizar scripts existentes, encontrar usos de datapoints, inspeccionar el árbol de objetos.","AI inline chat":"Chat IA integrado",'e.g. "Refactor this to use async/await"':'p. ej. "Refactor this to use async/await"',"Open in chat":"Abrir en el chat","Selection: %s line(s)":"Selección: %s línea(s)","No selection — the question will use context from the whole script.":"Sin selección — la pregunta usará el contexto de todo el script.","Please enter a question.":"Introduce una pregunta.","Thinking…":"Pensando…","Code proposal — press Apply to replace your selection.":"Propuesta de código — pulsa Aplicar para reemplazar la selección.","Plain text answer.":"Respuesta de texto.","Show more details":"Mostrar más detalles","AI: Inline chat…":"IA: Chat integrado…","AI: Explain":"IA: Explicar","AI: Refactor":"IA: Refactorizar","AI: Add comments":"IA: Añadir comentarios","AI: Fix problem":"IA: Corregir problema","AI: Suggest tests":"IA: Sugerir pruebas","Ask the AI about the selected code:":"Pregunta a la IA sobre el código seleccionado:",Explain:AU,Refactor:RU,Tests:OU,"Explain %s %s":"Explicar %s %s","Refactor %s %s":"Refactorizar %s %s","Suggest tests for %s %s":"Sugerir pruebas para %s %s","Apply changes":"Aplicar cambios","Discard changes":"Descartar cambios",'Ask anything, or request a change (e.g. "what does this do?")':'Pregunta lo que quieras o pide un cambio (p. ej. "¿qué hace esto?")'},NU="Reconnu",LU="Actions",PU="Ajouter",BU="Tout",jU="Tout",FU="Postuler",zU="avril",UU="Demander",HU="Astronomique",WU="août",GU="Annuler",VU="proche",KU="État",YU="Conditions",JU="Console",qU="Copié",XU="décembre",ZU="Défaut",QU="Retard",eH="Effacer",tH="Description",sH="Terminé",oH="Exec shell",iH="Explication",nH="Exportation",rH="Février",aH="février",lH="Filtre",cH="Dossier",uH="Fr",dH="Vendredi",hH="ID",pH="ID1",gH="ID2",mH="Importation",fH="Exemple",$H="Instances",bH="Instructions",yH="Janvier",vH="janvier",_H="juillet",wH="juin",kH="Limite",CH="Mars",SH="Mai",TH="M e n u",IH="Message",EH="Mo",xH="Modèle",DH="Lundi",AH="Mois",RH="Plus",OH="Nom",MH="novembre",NH="OK",LH="octobre",PH="D'accord",BH="Pause",jH="Pushover",FH="Pushsafer",zH="Recharger",UH="Renommer",HH="Répéter",WH="Redémarrer",GH="Résultat",VH="Sa",KH="samedi",YH="sauver",JH="Horaire",qH="Scénario",XH="septembre",ZH="Simuler",QH="Stack",eW="Début",tW="État",sW="Su",oW="dimanche",iW="Télégramme",nW="4",rW="Jeudi",aW="Temps",lW="Déclenché",cW="Déclencheurs",uW="Tu",dW="Mardi",hW="URL",pW="Valeur",gW="Le volume",mW="3",fW="Mercredi",$W="Écrivez",bW="Oui",yW="reconnaissance",vW="tout",_W="et",wW="astro",kW="à",CW="contrôler",SW="copie",TW="CRON",IW="Aube",EW="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.",xW="Déboguer",DW="Crépuscule",AW="facile",RW="chaque",OW="Une fonction",MW="ID",NW="Nom",LW="Rôle",PW="Pièce",BW="Heure d'or",jW="Fin de l'heure d'or",FW="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.",zW="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.",UW="les heures",HW="comprend",WW="intervalle",GW="la magie",VW="millisecondes",KW="minutes",YW="ms",JW="nadir",qW="Aube nautique",XW="Crépuscule nautique",ZW="Prochain lever de soleil",QW="Prochain coucher de soleil",e5="Nuit",t5="Fin de nuit",s5="Ordinaire",o5="décalage",i5="une",n5="ou",r5="calmer",a5="chercher",l5="secondes",c5="Midi solaire",u5="lever du soleil",d5="Fin du lever du soleil",h5="le coucher du soleil",p5="Début du coucher du soleil",g5="alors",m5="Reconnaître",f5="De",$5="Dernière modification",b5="Qualité",y5="Horodatage",v5="Utilisateur",_5="Valeur",w5="deux",k5="mettre à jour",C5="Ajoute une sortie de débogage au journal pour de nombreuses commandes système",S5="Sorties de journal détaillées",T5="lorsque",I5="Wizard",E5="Réessayer",x5="Accepter",D5="Rejeter",A5="Contexte",R5="appareils",O5="Annuler",M5="Rétablir",N5="Plan",L5="Envoyer",P5="Copier",B5="Expliquer",j5="Refactoriser",F5="Tests",z5={"%s not found":"%s non trouvé","()":"()","(at %s)":"(à %s)","(optional)":"(optionnel)","-":"-",".":".",Ack:NU,Actions:LU,"Actual time of day":"Heure réelle de la journée",Add:PU,"Add new script":"Ajouter un nouveau script",All:BU,"All files will be accepted":"Tous les fichiers seront acceptés",Any:jU,"Any month":"N'importe quel mois",Apply:FU,April:zU,"Are you sure?":"Êtes-vous sûr?",Ask:UU,Astronomical:HU,"Astronomical events today":"Événements astronomiques aujourd'hui",August:WU,"Blockly description":"Création de règles par blocs graphiques","Body:":"Corps:",Cancel:GU,"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:VU,"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:KU,Conditions:YU,"Configuration not saved.":"Configuration non enregistrée.",Console:JU,"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:qU,"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:XU,Default:ZU,"Define cron...":"Définir le cron ...","Define schedule...":"Définir le calendrier ...",Delay:QU,Delete:eH,"Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script",Description:tH,"Deselect all":"Tout déselectionner","Discard changes for %s":"Ignorer les modifications pour %s",Done:sH,"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",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:oH,"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:iH,Export:nH,"Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d'exportation","Export selected blocks":"Exporter les blocs sélectionnés",Februar:rH,February:aH,Filter:lH,Folder:cH,Fr:uH,Friday:dH,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:hH,ID1:pH,ID2:gH,Import:mH,"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:fH,"Instance is disabled":"L'instance est désactivée","Instance:":"Exemple:",Instances:$H,Instructions:bH,"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:yH,January:vH,July:_H,June:wH,"Just check":"Vérifiez simplement","Keep my changes":"Garder mes modifications","Language:":"Langue:","Learn More":"Apprendre encore plus","Light style":"Style de lumière",Limit:kH,"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:CH,"March ":"mars",May:SH,Menu:TH,Message:IH,Mo:EH,Model:xH,Monday:DH,Month:AH,More:RH,Name:OH,"No active host found":"Aucun hôte actif trouvé","Nothing found":"Rien n'a été trouvé",November:MH,OK:NH,October:LH,Ok:PH,"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","Operate two states":"Opérer deux états","Operations with two states":"Opérations à deux états","Paste your blocks here":"Collez vos blocs ici",Pause:BH,"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 ...","Prettify the script":"Embellir le scénario","Print some text in log":"Imprimer du texte dans le journal","Priority:":"Priorité:",Pushover:jH,Pushsafer:FH,"Read only ID selected: %s":"ID en lecture seule sélectionné: %s",Reload:zH,Rename:UH,"Reorder scripts in folders":"Réorganiser les scripts dans des dossiers",Repeat:HH,Restart:WH,Result:GH,"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:VH,Saturday:KH,Save:YH,"Save all":"Sauver tous","Say It":"Say It","Say some text via sayit adapter":"Dites du texte via l'adaptateur sayit",Schedule:JH,Script:qH,"Script %s was modified on disk":"Le script %s a été modifié sur le disque","Script was modified externally":"Le script a été modifié en externe","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:XH,"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:ZH,"Some files will be rejected":"Certains fichiers seront rejetés","Sound:":"Sonner:",Stack:QH,Start:eW,"Start script":"Lancer le script",State:tW,"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:sW,"Subject:":"Sujet:",Sunday:oW,"TS description":"Créer des règles en écrivant des caractères dactylographiés",Telegram:iW,"Text:":"Texte:",Th:nW,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Le script "%s" a été modifié par un autre utilisateur ou dans une autre fenêtre. Voulez-vous recharger le script ou garder vos modifications locales ?',"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:rW,Time:aW,"Time condition":"Condition de temps","Title:":"Titre:","To:":"À:","Trigger with value":"Déclencheur avec valeur",Triggered:lW,Triggers:cW,"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:uW,Tuesday:dW,URL:hW,"Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","User function":"Fonction utilisateur","User:":"Utilisateur:",Value:pW,"Vibration:":"Vibration:",Volume:gW,We:mW,Wednesday:fW,"Whatsapp-cmb":"Whatsapp-cmb",Write:$W,"Write your own code":"Écrivez votre propre code",Yes:bW,"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","Please select a valid model":"Veuillez sélectionner un modèle valide","[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:yW,all:vW,and:_W,"as JSON":"en JSON","as plain text":"en texte brut",astro:wW,at:kW,"clear running":"course claire",control:CW,copy:SW,cron:TW,dawn:IW,debug_help:EW,debug_label:xW,default:"défaut",dusk:DW,easy:AW,else:"autre","equal to":"égal à",every:RW,"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:OW,filter_id:MW,filter_name:NW,filter_role:LW,filter_room:PW,"for edit or create script":"pour éditer ou créer un nouveau script","for professionals":"pour les professionnels","for programmers":"pour les programmeurs",goldenHour:BW,goldenHourEnd:jW,"greater or equal":"supérieur ou égal","greater or equal to":"supérieur ou égal à","greater than":"plus grand que",help_just_check:FW,help_on_change:zW,"high priority":"haute priorité","high-priority":"haute priorité","highest priority":"priorité la plus élevée",hours:UW,includes:HW,interval:WW,"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:GW,milliseconds:VW,minutes:KW,ms:YW,nadir:JW,nauticalDawn:qW,nauticalDusk:XW,nextSunrise:ZW,nextSunset:QW,night:e5,nightEnd:t5,"no blocks found":"Aucun bloc trouvé","no group":"PAS DE GROUPE",normal:s5,"normal priority":"priorité normale","not running":"pas en cours d'exécution","not equal to":"pas égal à","not properly connected":"Ce bloc n'est pas correctement connecté à d'autres blocs.",offset:o5,"on change":"sur le changement","on condition change":"sur changement de condition","on update":"sur mise à jour",one:i5,or:n5,quiet:r5,"reset search":"Réinitialiser la recherche",search:a5,seconds:l5,solarNoon:c5,"store in":"stocker dans",sunrise:u5,sunriseEnd:d5,sunset:h5,sunsetStart:p5,then:g5,"toggle value":"valeur de bascule",tooltip_ack:m5,tooltip_from:f5,tooltip_lc:$5,tooltip_quality:b5,tooltip_ts:y5,tooltip_user:v5,tooltip_value:_5,true:"vrai",two:w5,undefined:"indéfini",update:k5,"use seconds":"utiliser les secondes","use trigger value":"use trigger value",verbose_help:C5,verbose_label:S5,when:T5,with:"avec","with date":"avec date","with offset":"avec offset",wizard:I5,"Loading models...":"Chargement des modèles...","Could not connect to API at %s":"Impossible de se connecter à l'API sur %s","Invalid API key":"Clé API invalide","Access denied by API":"Accès refusé par l'API","API error: %s":"Erreur API : %s",'Model "%s" not found':'Modèle "%s" introuvable',"Request failed: %s":"Requête échouée : %s",Retry:E5,"No running javascript instance found":"Aucune instance JavaScript en cours d'exécution trouvée","OID display mode":"Mode d'affichage OID","Ask questions about your script, request changes, or generate new code.":"Posez des questions sur votre script, demandez des modifications ou générez du nouveau code.","to send":"pour envoyer","Thinking...":"Réflexion...","AI suggested changes":"Modifications suggérées par l'IA",Accept:x5,Reject:D5,"No API keys configured":"Aucune clé API configurée","for new line":"pour nouvelle ligne","AI chat mode":"Mode de chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversation simple. À utiliser pour les questions, explications et aide de syntaxe. Ne lit ni ne modifie vos scripts.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':"Générateur de scripts en deux étapes (plan puis code). Utile pour « crée un script qui… », « écris une règle Blockly pour… ». Le résultat arrive dans l'éditeur pour un smart-apply.","Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversation simple. Idéal pour : questions générales, aide de syntaxe, explications de concepts.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Générateur de scripts. Idéal pour : créer de nouveaux scripts JavaScript/TypeScript ou Blockly à partir d'une description.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mentionner des scripts comme contexte pour l'IA. Utilisez @tous pour tous les scripts ou @nomDuScript pour un script spécifique.",Context:A5,"current script":"script actuel","all scripts":"tous les scripts",devices:R5,"Searching datapoints":"Recherche de points de données","Reading value":"Lecture de la valeur","Loading object info":"Chargement des informations de l'objet","Searching scripts":"Recherche de scripts","Reading script":"Lecture du script","Loading script list":"Chargement de la liste des scripts","All scripts":"Tous les scripts","Smart home devices":"Appareils domotiques","AI Chat":"Chat IA","AI inline completions":"Complétions en ligne IA","New chat":"Nouveau chat","Ask about your script...":"Posez une question sur votre script...","Insert blocks":"Insérer des blocs","Apply blocks":"Appliquer les blocs",Undo:O5,Redo:M5,"Insert into editor":"Insérer dans l'éditeur","Show as diff":"Afficher comme diff","Selected code as context":"Code sélectionné comme contexte","Generating plan...":"Génération du plan...","Generating code...":"Génération du code...",Plan:N5,"mention @all":"@tous","mention @devices":"@appareils",Send:L5,Copy:P5,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':"L'IA peut appeler des outils pour inspecter votre système : lire les scripts, consulter les datapoints, parcourir l'arbre d'objets. Utile pour « quels scripts utilisent cet état ? », « analyse mon script d'éclairage ».","Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Assistant avec outils. Idéal pour : analyser les scripts existants, trouver les utilisations de datapoints, inspecter l'arbre d'objets.","AI inline chat":"Chat IA intégré",'e.g. "Refactor this to use async/await"':'p. ex. "Refactor this to use async/await"',"Open in chat":"Ouvrir dans le chat","Selection: %s line(s)":"Sélection : %s ligne(s)","No selection — the question will use context from the whole script.":"Aucune sélection — la question utilisera le contexte du script entier.","Please enter a question.":"Veuillez saisir une question.","Thinking…":"Réflexion…","Code proposal — press Apply to replace your selection.":"Proposition de code — appuyez sur Appliquer pour remplacer la sélection.","Plain text answer.":"Réponse textuelle.","Show more details":"Afficher plus de détails","AI: Inline chat…":"IA : Chat intégré…","AI: Explain":"IA : Expliquer","AI: Refactor":"IA : Refactoriser","AI: Add comments":"IA : Ajouter des commentaires","AI: Fix problem":"IA : Corriger le problème","AI: Suggest tests":"IA : Suggérer des tests","Ask the AI about the selected code:":"Interroger l'IA sur le code sélectionné :",Explain:B5,Refactor:j5,Tests:F5,"Explain %s %s":"Expliquer %s %s","Refactor %s %s":"Refactoriser %s %s","Suggest tests for %s %s":"Suggérer des tests pour %s %s","Apply changes":"Appliquer les modifications","Discard changes":"Annuler les modifications",'Ask anything, or request a change (e.g. "what does this do?")':"Posez une question ou demandez une modification (p. ex. « que fait ceci ? »)"},U5="Riconosciuto",H5="Azioni",W5="Inserisci",G5="Tutti",V5="Qualunque",K5="Applica",Y5="aprile",J5="Chiedere",q5="Astronomico",X5="agosto",Z5="Annulla",Q5="Vicino",e3="Condizione",t3="Condizioni",s3="Console",o3="Copiato",i3="dicembre",n3="Predefinito",r3="Ritardo",a3="Elimina",l3="Descrizione",c3="Fatto",u3="Execshell",d3="Spiegazione",h3="Esportare",p3="Februar",g3="febbraio",m3="Filtro",f3="Cartella",$3="P",b3="Venerdì",y3="ID",v3="ID1",_3="ID2",w3="Importare",k3="Esempio",C3="istanze",S3="Istruzioni",T3="Januar",I3="gennaio",E3="luglio",x3="giugno",D3="Limite",A3="marzo",R3="Maggio",O3="Menu",M3="Messaggio",N3="Mo",L3="Modello",P3="Lunedi",B3="Mese",j3="Di più",F3="Nome",z3="novembre",U3="OK",H3="ottobre",W3="Ok",G3="Pausa",V3="Pushover",K3="Pushsafer",Y3="Ricaricare",J3="Rinominare",q3="Ripetere",X3="Ricomincia",Z3="Risultato",Q3="Sa",eG="Sabato",tG="Salva",sG="Programma",oG="copione",iG="settembre",nG="Simulare",rG="Stack",aG="Cominciare",lG="Stato",cG="Su",uG="Domenica",dG="Telegramma",hG="4",pG="giovedi",gG="Tempo",mG="Innescato",fG="Trigger",$G="Tu",bG="martedì",yG="URL",vG="Valore",_G="Volume",wG="3",kG="mercoledì",CG="Scrivi",SG="sì",TG="riconoscimento",IG="tutti",EG="e",xG="astro",DG="a",AG="controllo",RG="copia",OG="CRON",MG="alba",NG="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.",LG="Debug",PG="crepuscolo",BG="facile",jG="ogni",FG="Funzione",zG="ID",UG="Nome",HG="Ruolo",WG="Camera",GG="Ora d'oro",VG="Fine dell'ora d'oro",KG='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.',YG='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.',JG="ore",qG="include",XG="intervallo",ZG="Magia",QG="millisecondi",eV="minuti",tV="ms",sV="nadir",oV="Alba nautica",iV="Crepuscolo nautico",nV="Prossima alba",rV="Prossimo tramonto",aV="Notte",lV="Fine della notte",cV="normale",uV="compensare",dV="uno",hV="o",pV="silenzioso",gV="ricerca",mV="secondi",fV="Mezzogiorno solare",$V="Alba",bV="Fine dell'alba",yV="tramonto",vV="Inizio del tramonto",_V="poi",wV="Riconoscere",kV="A partire dal",CV="Ultima modifica",SV="Qualità",TV="timestamp",IV="Utente",EV="Valore",xV="Due",DV="aggiornare",AV="Aggiunge l'output di debug al registro per molti comandi di sistema",RV="Output di log dettagliati",OV="quando",MV="procedura guidata",NV="Riprova",LV="Accetta",PV="Rifiuta",BV="Contesto",jV="dispositivi",FV="Annulla",zV="Ripristina",UV="Piano",HV="Invia",WV="Copia",GV="Spiega",VV="Rifattorizza",KV="Test",YV={"%s not found":"%s non trovato","()":"()","(at %s)":"(a %s)","(optional)":"(opzionale)","-":"-",".":".",Ack:U5,Actions:H5,"Actual time of day":"Ora effettiva della giornata",Add:W5,"Add new script":"Aggiungi nuovo script",All:G5,"All files will be accepted":"Tutti i file saranno accettati",Any:V5,"Any month":"Ogni mese",Apply:K5,April:Y5,"Are you sure?":"Sei sicuro?",Ask:J5,Astronomical:q5,"Astronomical events today":"Eventi astronomici oggi",August:X5,"Blockly description":"Creazione di regole tramite blocchi grafici","Body:":"Corpo:",Cancel:Z5,"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:Q5,"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:e3,Conditions:t3,"Configuration not saved.":"Configurazione non salvata.",Console:s3,"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:o3,"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:i3,Default:n3,"Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...",Delay:r3,Delete:a3,"Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script",Description:l3,"Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s",Done:c3,"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",Error:"Errore","Error formatting code":"Errore di formattazione del codice","Error was found":"Errore trovato","Every day":"Ogni giorno",Exec:u3,"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:d3,Export:h3,"Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati",Februar:p3,February:g3,Filter:m3,Folder:f3,Fr:$3,Friday:b3,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:y3,ID1:v3,ID2:_3,Import:w3,"Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l'ID oggetto",Instance:k3,"Instance is disabled":"L'istanza è disabilitata","Instance:":"Esempio:",Instances:C3,Instructions:S3,"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:T3,January:I3,July:E3,June:x3,"Just check":"Controlla solamente","Keep my changes":"Mantieni le mie modifiche","Language:":"Linguaggio:","Learn More":"Per saperne di più","Light style":"Stile leggero",Limit:D3,"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:A3,"March ":"marzo",May:R3,Menu:O3,Message:M3,Mo:N3,Model:L3,Monday:P3,Month:B3,More:j3,Name:F3,"No active host found":"Nessun host attivo trovato","Nothing found":"Non abbiamo trovato nulla",November:z3,OK:U3,October:H3,Ok:W3,"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","Operate two states":"Gestisci due stati","Operations with two states":"Operazioni con due stati","Paste your blocks here":"Incolla qui i tuoi blocchi",Pause:G3,"Pause execution":"Metti in pausa l'esecuzione","Pause script":"Metti in pausa lo script","Phone:":"Telefono:","Please select object ID...":"Seleziona l'ID oggetto ...","Prettify the script":"Abbellire la sceneggiatura","Print some text in log":"Stampa del testo nel registro","Priority:":"Priorità:",Pushover:V3,Pushsafer:K3,"Read only ID selected: %s":"ID di sola lettura selezionato: %s",Reload:Y3,Rename:J3,"Reorder scripts in folders":"Riordina gli script nelle cartelle",Repeat:q3,Restart:X3,Result:Z3,"Resume execution":"Riprendi esecuzione","Root folder":"Cartella root","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","Run script":"Esegui script",Sa:Q3,Saturday:eG,Save:tG,"Save all":"Salva tutto","Say It":"Say It","Say some text via sayit adapter":"Pronuncia del testo tramite l'adattatore sayit",Schedule:sG,Script:oG,"Script %s was modified on disk":"Lo script %s è stato modificato sul disco","Script was modified externally":"Lo script è stato modificato esternamente","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:iG,"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:nG,"Some files will be rejected":"Alcuni file verranno rifiutati","Sound:":"Suono:",Stack:rG,Start:aG,"Start script":"Avvia script",State:lG,"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:cG,"Subject:":"Soggetto:",Sunday:uG,"TS description":"Creare regole scrivendo dattiloscritto",Telegram:dG,"Text:":"Testo:",Th:hG,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':`Lo script "%s" è stato modificato da un altro utente o in un'altra finestra. Vuoi ricaricare lo script o mantenere le tue modifiche locali?`,"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:pG,Time:gG,"Time condition":"Condizione temporale","Title:":"Titolo:","To:":"Per:","Trigger with value":"Trigger con valore",Triggered:mG,Triggers:fG,"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:$G,Tuesday:bG,URL:yG,"Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","User function":"Funzione utente","User:":"Utente:",Value:vG,"Vibration:":"Vibrazione:",Volume:_G,We:wG,Wednesday:kG,"Whatsapp-cmb":"Whatsapp-cmb",Write:CG,"Write your own code":"Scrivi il tuo codice",Yes:SG,"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","Please select a valid model":"Seleziona un modello valido","[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:TG,all:IG,and:EG,"as JSON":"come JSON","as plain text":"come testo",astro:xG,at:DG,"clear running":"chiara esecuzione",control:AG,copy:RG,cron:OG,dawn:MG,debug_help:NG,debug_label:LG,default:"predefinito",dusk:PG,easy:BG,else:"altro","equal to":"uguale a",every:jG,"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:FG,filter_id:zG,filter_name:UG,filter_role:HG,filter_room:WG,"for edit or create script":"per modificare o creare un nuovo script","for professionals":"per i professionisti","for programmers":"per i programmatori",goldenHour:GG,goldenHourEnd:VG,"greater or equal":"maggiore o uguale","greater or equal to":"maggiore o uguale a","greater than":"più grande di",help_just_check:KG,help_on_change:YG,"high priority":"priorità alta","high-priority":"priorità alta","highest priority":"massima priorità",hours:JG,includes:qG,interval:XG,"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:ZG,milliseconds:QG,minutes:eV,ms:tV,nadir:sV,nauticalDawn:oV,nauticalDusk:iV,nextSunrise:nV,nextSunset:rV,night:aV,nightEnd:lV,"no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO",normal:cV,"normal priority":"priorità normale","not running":"non in esecuzione","not equal to":"non uguale a","not properly connected":"Questo blocco non è correttamente collegato ad altri blocchi.",offset:uV,"on change":"sul cambiamento","on condition change":"a cambio di condizione","on update":"in aggiornamento",one:dV,or:hV,quiet:pV,"reset search":"resetta la ricerca",search:gV,seconds:mV,solarNoon:fV,"store in":"conservare in",sunrise:$V,sunriseEnd:bV,sunset:yV,sunsetStart:vV,then:_V,"toggle value":"alterna valore",tooltip_ack:wV,tooltip_from:kV,tooltip_lc:CV,tooltip_quality:SV,tooltip_ts:TV,tooltip_user:IV,tooltip_value:EV,true:"vero",two:xV,undefined:"non definito",update:DV,"use seconds":"usa i secondi","use trigger value":"usa il trigger",verbose_help:AV,verbose_label:RV,when:OV,with:"con","with date":"con data","with offset":"con offset",wizard:MV,"Loading models...":"Caricamento modelli...","Could not connect to API at %s":"Impossibile connettersi all'API su %s","Invalid API key":"Chiave API non valida","Access denied by API":"Accesso negato dall'API","API error: %s":"Errore API: %s",'Model "%s" not found':'Modello "%s" non trovato',"Request failed: %s":"Richiesta fallita: %s",Retry:NV,"No running javascript instance found":"Nessuna istanza JavaScript in esecuzione trovata","OID display mode":"Modalità di visualizzazione OID","Ask questions about your script, request changes, or generate new code.":"Fai domande sul tuo script, richiedi modifiche o genera nuovo codice.","to send":"per inviare","Thinking...":"Pensando...","AI suggested changes":"Modifiche suggerite dall'IA",Accept:LV,Reject:PV,"No API keys configured":"Nessuna chiave API configurata","for new line":"per nuova riga","AI chat mode":"Modalità chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversazione semplice. Usala per domande, spiegazioni e aiuto sulla sintassi. Non legge né modifica i tuoi script.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':`Generatore di script in due passi (prima piano, poi codice). Utile per "crea uno script che…", "scrivi una regola Blockly per…". L'output va nell'editor per smart-apply.`,"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversazione semplice. Ideale per: domande generali, aiuto sulla sintassi, spiegazioni di concetti.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Generatore di script. Ideale per: creare nuovi script JavaScript/TypeScript o Blockly da una descrizione.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Menziona script come contesto per l'IA. Usa @tutti per tutti gli script o @nomeScript per uno specifico.",Context:BV,"current script":"script corrente","all scripts":"tutti gli script",devices:jV,"Searching datapoints":"Ricerca punti dati","Reading value":"Lettura valore","Loading object info":"Caricamento info oggetto","Searching scripts":"Ricerca script","Reading script":"Lettura script","Loading script list":"Caricamento lista script","All scripts":"Tutti gli script","Smart home devices":"Dispositivi smart home","AI Chat":"Chat IA","AI inline completions":"Completamento in linea IA","New chat":"Nuova chat","Ask about your script...":"Chiedi informazioni sul tuo script...","Insert blocks":"Inserisci blocchi","Apply blocks":"Applica blocchi",Undo:FV,Redo:zV,"Insert into editor":"Inserisci nell'editor","Show as diff":"Mostra come diff","Selected code as context":"Codice selezionato come contesto","Generating plan...":"Generazione piano...","Generating code...":"Generazione codice...",Plan:UV,"mention @all":"@tutti","mention @devices":"@dispositivi",Send:HV,Copy:WV,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':`L'IA può chiamare strumenti per ispezionare il tuo sistema: leggere gli script, cercare datapoint, esplorare l'albero degli oggetti. Utile per "quali script usano questo stato?", "analizza il mio script luci".`,"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Assistente con strumenti. Ideale per: analizzare script esistenti, trovare usi di datapoint, ispezionare l'albero degli oggetti.","AI inline chat":"Chat IA integrata",'e.g. "Refactor this to use async/await"':'es. "Refactor this to use async/await"',"Open in chat":"Apri in chat","Selection: %s line(s)":"Selezione: %s riga/e","No selection — the question will use context from the whole script.":"Nessuna selezione — la domanda userà il contesto dell'intero script.","Please enter a question.":"Inserisci una domanda.","Thinking…":"Sto pensando…","Code proposal — press Apply to replace your selection.":"Proposta di codice — premi Applica per sostituire la selezione.","Plain text answer.":"Risposta testuale.","Show more details":"Mostra più dettagli","AI: Inline chat…":"IA: Chat integrata…","AI: Explain":"IA: Spiega","AI: Refactor":"IA: Rifattorizza","AI: Add comments":"IA: Aggiungi commenti","AI: Fix problem":"IA: Correggi problema","AI: Suggest tests":"IA: Suggerisci test","Ask the AI about the selected code:":"Chiedi all'IA riguardo al codice selezionato:",Explain:GV,Refactor:VV,Tests:KV,"Explain %s %s":"Spiega %s %s","Refactor %s %s":"Rifattorizza %s %s","Suggest tests for %s %s":"Suggerisci test per %s %s","Apply changes":"Applica modifiche","Discard changes":"Annulla modifiche",'Ask anything, or request a change (e.g. "what does this do?")':'Chiedi qualsiasi cosa o richiedi una modifica (es. "cosa fa questo?")'},JV="Erkend",qV="Acties",XV="Toevoegen",ZV="Alle",QV="Ieder",e4="Solliciteer",t4="april",s4="Vragen",o4="Astronomisch",i4="augustus",n4="annuleren",r4="Dichtbij",a4="Staat",l4="Voorwaarden",c4="Troosten",u4="Gekopieerd",d4="december",h4="Standaard",p4="Vertraging",g4="Verwijder",m4="Beschrijving",f4="Gedaan",$4="Exec shell",b4="Uitleg",y4="Exporteren",v4="Februari",_4="februari",w4="Filter",k4="Map",C4="Vr",S4="vrijdag",T4="ID kaart",I4="ID1",E4="ID2",x4="Importeren",D4="Voorbeeld",A4="Instanties",R4="Instructies",O4="Januar",M4="januari",N4="juli",L4="juni",P4="Begrenzing",B4="maart",j4="mei",F4="Menu",z4="Bericht",U4="Ma",H4="Model",W4="maandag",G4="Maand",V4="Meer",K4="Naam",Y4="november",J4="OK",q4="oktober",X4="OK",Z4="Pauze",Q4="Pushover",e8="Duwijzer",t8="Herladen",s8="andere naam geven",o8="Herhaling",i8="Herstarten",n8="Resultaat",r8="Za",a8="zaterdag",l8="Opslaan",c8="Schema",u8="Script",d8="september",h8="Simuleren",p8="Stack",g8="Begin",m8="Staat",f8="Zo",$8="zondag",b8="Telegram",y8="4",v8="donderdag",_8="Tijd",w8="Veroorzaakt",k8="Triggers",C8="Di",S8="dinsdag",T8="URL",I8="Waarde",E8="Volume",x8="3",D8="woensdag",A8="Schrijven",R8="Ja",O8="erkenning",M8="alle",N8="en",L8="astro",P8="Bij",B8="controle",j8="kopiëren",F8="cron",z8="dageraad",U8="Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.",H8="Debuggen",W8="schemer",G8="eenvoudig",V8="elke",K8="Functie",Y8="ID kaart",J8="Naam",q8="Rol",X8="Kamer",Z8="gouden uur",Q8="Einde van gouden uur",e6='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.',t6='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.',s6="uren",o6="omvat",i6="interval",n6="magie",r6="milliseconden",a6="minuten",l6="ms",c6="nadir",u6="Nautische dageraad",d6="Nautische schemering",h6="Volgende zonsopgang",p6="Volgende zonsondergang",g6="nacht",m6="Einde van de nacht",f6="normaal",$6="compensatie",b6="een",y6="of",v6="stil",_6="zoeken",w6="seconden",k6="Zonne-middag",C6="zonsopkomst",S6="Einde zonsopgang",T6="zonsondergang",I6="Begin van de zonsondergang",E6="vervolgens",x6="Erkennen",D6="Van",A6="Laatst gewijzigd",R6="Kwaliteit",O6="tijdstempel",M6="Gebruiker",N6="Waarde",L6="twee",P6="bijwerken",B6="Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten",j6="Uitgebreide log-uitgangen",F6="wanneer",z6="tovenaar",U6="Opnieuw proberen",H6="Accepteren",W6="Afwijzen",G6="Context",V6="apparaten",K6="Ongedaan maken",Y6="Opnieuw",J6="Plan",q6="Verzenden",X6="Kopiëren",Z6="Uitleggen",Q6="Refactoren",e9="Tests",t9={"%s not found":"%s niet gevonden","()":"()","(at %s)":"(op %s)","(optional)":"(optioneel)","-":"-",".":".",Ack:JV,Actions:qV,"Actual time of day":"Werkelijke tijd van de dag",Add:XV,"Add new script":"Nieuw script toevoegen",All:ZV,"All files will be accepted":"Alle bestanden worden geaccepteerd",Any:QV,"Any month":"Elke maand",Apply:e4,April:t4,"Are you sure?":"Weet je zeker dat?",Ask:s4,Astronomical:o4,"Astronomical events today":"Astronomische gebeurtenissen vandaag",August:i4,"Blockly description":"Regels maken door grafische blokken","Body:":"Lichaam:",Cancel:n4,"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:r4,"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:a4,Conditions:l4,"Configuration not saved.":"Configuratie niet opgeslagen.",Console:c4,"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:u4,"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:d4,Default:h4,"Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...",Delay:p4,Delete:g4,"Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen",Description:m4,"Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren",Done:f4,"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",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:$4,"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:b4,Export:y4,"Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken",Februar:v4,February:_4,Filter:w4,Folder:k4,Fr:C4,Friday:S4,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:T4,ID1:I4,ID2:E4,Import:x4,"Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen",Instance:D4,"Instance is disabled":"Exemplaar is uitgeschakeld","Instance:":"Voorbeeld:",Instances:A4,Instructions:R4,"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:O4,January:M4,July:N4,June:L4,"Just check":"Kijk maar","Keep my changes":"Mijn wijzigingen behouden","Language:":"Taal:","Learn More":"Leer meer","Light style":"Lichte stijl",Limit:P4,"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:B4,"March ":"maart",May:j4,Menu:F4,Message:z4,Mo:U4,Model:H4,Monday:W4,Month:G4,More:V4,Name:K4,"No active host found":"Geen actieve host gevonden","Nothing found":"Niets gevonden",November:Y4,OK:J4,October:q4,Ok:X4,"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","Operate two states":"Bedien twee toestanden:","Operations with two states":"Bewerkingen met twee toestanden","Paste your blocks here":"Plak hier je blokken",Pause:Z4,"Pause execution":"Uitvoering pauzeren","Pause script":"Pauzeer script","Phone:":"Telefoon:","Please select object ID...":"Selecteer object-ID ...","Prettify the script":"Maak het script mooier","Print some text in log":"Druk wat tekst af in het logboek","Priority:":"Prioriteit:",Pushover:Q4,Pushsafer:e8,"Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s",Reload:t8,Rename:s8,"Reorder scripts in folders":"Sorteer scripts in mappen opnieuw",Repeat:o8,Restart:i8,Result:n8,"Resume execution":"Uitvoering hervatten","Root folder":"Hoofdmap","Rules description":"Maak regels met IF, THEN, ELSE blokken","Run script":"Voer script uit",Sa:r8,Saturday:a8,Save:l8,"Save all":"Sla alles op","Say It":"Say It","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter",Schedule:c8,Script:u8,"Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script was modified externally":"Script is extern gewijzigd","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:d8,"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:h8,"Some files will be rejected":"Sommige bestanden worden geweigerd","Sound:":"Geluid:",Stack:p8,Start:g8,"Start script":"Start het script",State:m8,"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:f8,"Subject:":"Onderwerpen:",Sunday:$8,"TS description":"Regels maken door Typescript te schrijven",Telegram:b8,"Text:":"Tekst:",Th:y8,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Het script "%s" is gewijzigd door een andere gebruiker of in een ander venster. Wilt u het script herladen of uw lokale wijzigingen behouden?',"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:v8,Time:_8,"Time condition":"Tijdsvoorwaarde","Title:":"Titel:","To:":"Naar:","Trigger with value":"Trigger met waarde",Triggered:w8,Triggers:k8,"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:C8,Tuesday:S8,URL:T8,"Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","User function":"Gebruikersfunctie","User:":"Gebruiker:",Value:I8,"Vibration:":"Trilling:",Volume:E8,We:x8,Wednesday:D8,"Whatsapp-cmb":"Whatsapp-cmb",Write:A8,"Write your own code":"Schrijf je eigen code",Yes:R8,"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","Please select a valid model":"Selecteer een geldig model","[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:O8,all:M8,and:N8,"as JSON":"als JSON","as plain text":"als platte tekst",astro:L8,at:P8,"clear running":"duidelijk rennen",control:B8,copy:j8,cron:F8,dawn:z8,debug_help:U8,debug_label:H8,default:"standaard",dusk:W8,easy:G8,else:"anders","equal to":"gelijk aan",every:V8,"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:K8,filter_id:Y8,filter_name:J8,filter_role:q8,filter_room:X8,"for edit or create script":"voor bewerken of een nieuw script maken","for professionals":"voor professionals","for programmers":"voor programmeurs",goldenHour:Z8,goldenHourEnd:Q8,"greater or equal":"groter of gelijk","greater or equal to":"groter of gelijk aan","greater than":"groter dan",help_just_check:e6,help_on_change:t6,"high priority":"hoge prioriteit","high-priority":"hoge prioriteit","highest priority":"hoogste prioriteit",hours:s6,includes:o6,interval:i6,"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:n6,milliseconds:r6,minutes:a6,ms:l6,nadir:c6,nauticalDawn:u6,nauticalDusk:d6,nextSunrise:h6,nextSunset:p6,night:g6,nightEnd:m6,"no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP",normal:f6,"normal priority":"normale prioriteit","not running":"niet actief","not equal to":"niet gelijk aan","not properly connected":"Dit blok is niet correct verbonden met andere blokken.",offset:$6,"on change":"bij verandering","on condition change":"op voorwaarde verandering","on update":"bij update",one:b6,or:y6,quiet:v6,"reset search":"reset zoeken",search:_6,seconds:w6,solarNoon:k6,"store in":"opslaan in",sunrise:C6,sunriseEnd:S6,sunset:T6,sunsetStart:I6,then:E6,"toggle value":"schakelwaarde",tooltip_ack:x6,tooltip_from:D6,tooltip_lc:A6,tooltip_quality:R6,tooltip_ts:O6,tooltip_user:M6,tooltip_value:N6,true:"waar",two:L6,undefined:"ongedefinieerd",update:P6,"use seconds":"gebruik seconden","use trigger value":"triggerwaarde gebruiken",verbose_help:B6,verbose_label:j6,when:F6,with:"met","with date":"met datum","with offset":"met offset",wizard:z6,"Loading models...":"Modellen laden...","Could not connect to API at %s":"Kan geen verbinding maken met API op %s","Invalid API key":"Ongeldige API-sleutel","Access denied by API":"Toegang geweigerd door API","API error: %s":"API-fout: %s",'Model "%s" not found':'Model "%s" niet gevonden',"Request failed: %s":"Verzoek mislukt: %s",Retry:U6,"No running javascript instance found":"Geen draaiende JavaScript-instantie gevonden","OID display mode":"OID-weergavemodus","Ask questions about your script, request changes, or generate new code.":"Stel vragen over je script, vraag wijzigingen aan of genereer nieuwe code.","to send":"om te verzenden","Thinking...":"Nadenken...","AI suggested changes":"Door AI voorgestelde wijzigingen",Accept:H6,Reject:W6,"No API keys configured":"Geen API-sleutels geconfigureerd","for new line":"voor nieuwe regel","AI chat mode":"AI-chatmodus","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Gewoon gesprek. Gebruik voor vragen, uitleg en syntaxishulp. Leest of wijzigt je scripts niet.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Scriptgenerator in twee stappen (eerst plan, dan code). Handig voor "maak een script dat…", "schrijf een Blockly-regel voor…". Het resultaat komt in de editor voor smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Gewoon gesprek. Het beste voor: algemene vragen, syntaxishulp, concept-uitleg.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Scriptgenerator. Het beste voor: nieuwe JavaScript/TypeScript- of Blockly-scripts maken op basis van een beschrijving.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Vermeld scripts als context voor de AI. Gebruik @alle voor alle scripts of @scriptnaam voor een specifiek script.",Context:G6,"current script":"huidig script","all scripts":"alle scripts",devices:V6,"Searching datapoints":"Datapunten zoeken","Reading value":"Waarde lezen","Loading object info":"Objectinfo laden","Searching scripts":"Scripts zoeken","Reading script":"Script lezen","Loading script list":"Scriptlijst laden","All scripts":"Alle scripts","Smart home devices":"Slimme apparaten","AI Chat":"AI Chat","AI inline completions":"AI inline-aanvullingen","New chat":"Nieuwe chat","Ask about your script...":"Stel een vraag over je script...","Insert blocks":"Blokken invoegen","Apply blocks":"Blokken toepassen",Undo:K6,Redo:Y6,"Insert into editor":"In editor invoegen","Show as diff":"Als diff tonen","Selected code as context":"Geselecteerde code als context","Generating plan...":"Plan genereren...","Generating code...":"Code genereren...",Plan:J6,"mention @all":"@alle","mention @devices":"@apparaten",Send:q6,Copy:X6,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':'De AI kan tools aanroepen om je systeem te inspecteren: scripts lezen, datapunten opzoeken, de objectboom doorbladeren. Handig voor "welke scripts gebruiken deze state?", "analyseer mijn verlichtingsscript".',"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Assistent met tools. Het beste voor: bestaande scripts analyseren, gebruik van datapunten vinden, de objectboom inspecteren.","AI inline chat":"AI inline chat",'e.g. "Refactor this to use async/await"':'bv. "Refactor this to use async/await"',"Open in chat":"Open in chat","Selection: %s line(s)":"Selectie: %s regel(s)","No selection — the question will use context from the whole script.":"Geen selectie — de vraag gebruikt de context van het hele script.","Please enter a question.":"Voer een vraag in.","Thinking…":"Denken…","Code proposal — press Apply to replace your selection.":"Codevoorstel — druk op Toepassen om de selectie te vervangen.","Plain text answer.":"Tekstantwoord.","Show more details":"Meer details tonen","AI: Inline chat…":"AI: Inline chat…","AI: Explain":"AI: Uitleggen","AI: Refactor":"AI: Refactoren","AI: Add comments":"AI: Commentaar toevoegen","AI: Fix problem":"AI: Probleem oplossen","AI: Suggest tests":"AI: Tests voorstellen","Ask the AI about the selected code:":"Vraag de AI over de geselecteerde code:",Explain:Z6,Refactor:Q6,Tests:e9,"Explain %s %s":"%s %s uitleggen","Refactor %s %s":"%s %s refactoren","Suggest tests for %s %s":"Tests voorstellen voor %s %s","Apply changes":"Wijzigingen toepassen","Discard changes":"Wijzigingen negeren",'Ask anything, or request a change (e.g. "what does this do?")':'Stel een vraag of vraag een wijziging (bv. "wat doet dit?")'},s9="Potwierdzony",o9="Działania",i9="Dodaj",n9="Wszystko",r9="Każdy",a9="Zastosuj",l9="Kwiecień",c9="Zapytać",u9="Astronomiczny",d9="Sierpień",h9="Odwołaj",p9="Zamknij",g9="Stan",m9="Warunki",f9="Konsola",$9="Skopiowano",b9="Grudzień",y9="Domyślna",v9="Opóźnienie",_9="Usuń",w9="Opis",k9="Gotowe",C9="Uruchom shell",S9="Wyjaśnienie",T9="Eksport",I9="Luty",E9="Luty",x9="Filtr",D9="Folder",A9="Pt",R9="Piątek",O9="ID",M9="ID1",N9="ID2",L9="Import",P9="Instancja",B9="Instancje",j9="Instrukcje",F9="Styczeń",z9="Styczeń",U9="Lipiec",H9="Czerwiec",W9="Limit",G9="Marzec",V9="Maj",K9="Menu",Y9="Wiadomość",J9="Po",q9="Model",X9="Poniedziałek",Z9="Miesiąc",Q9="Więcej",eK="Nazwa",tK="Listopad",sK="OK",oK="Październik",iK="Ok",nK="Pauza",rK="Pushover",aK="Pushsafer",lK="Przeładuj",cK="Przemianuj",uK="Powtórz",dK="Uruchom ponownie",hK="Wynik",pK="So",gK="Sobota",mK="Zapisz",fK="Harmonogram",$K="Skrypt",bK="Wrzesień",yK="Symulacja",vK="Stos",_K="Początek",wK="Stan",kK="Nd",CK="Niedziela",SK="Telegram",TK="Cz",IK="Czwartek",EK="Czas",xK="Wyzwolony",DK="Wyzwalacze",AK="Wt",RK="Wtorek",OK="URL",MK="Wartość",NK="Wolumen",LK="Śr",PK="Środa",BK="Pisać",jK="Tak",FK="potwierdzenie",zK="wszystko",UK="i",HK="Astro",WK="w",GK="kontrola",VK="Kopiuj",KK="CRON",YK="Świt",JK="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.",qK="Odpluskwić",XK="Zmierzch",ZK="łatwy",QK="każdy",e7="Funkcja",t7="ID",s7="Nazwa",o7="Rola",i7="Pokój",n7="Złota godzina",r7="Koniec złotej godziny",a7="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.",l7="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.",c7="godziny",u7="zawiera",d7="interwał",h7="magia",p7="milisekund",g7="minuty",m7="ms",f7="Północ słoneczna",$7="Żeglarski świt",b7="Żeglarski zmierzch",y7="Następny wschód słońca",v7="Następny zachód słońca",_7="Noc",w7="Koniec nocy",k7="normalny",C7="przesunięcie",S7="jeden",T7="lub",I7="cisza",E7="Szukaj",x7="sekundy",D7="Południe słoneczne",A7="Wschód słońca",R7="Koniec wschodu słońca",O7="Zachód słońca",M7="Początek zachodu słońca",N7="następnie",L7="Akceptuj",P7="Od",B7="Ostatnia zmiana",j7="Jakość",F7="Znacznik czasu",z7="Użytkownik",U7="Wartość",H7="dwa",W7="aktualizacja",G7="Dodaje wyniki debugowania do dziennika dla wielu poleceń systemowych",V7="Pełne dane wyjściowe dziennika",K7="gdy",Y7="Wizard",J7="Ponów próbę",q7="Akceptuj",X7="Odrzuć",Z7="Kontekst",Q7="urządzenia",eY="Cofnij",tY="Ponów",sY="Plan",oY="Wyślij",iY="Kopiuj",nY="Wyjaśnij",rY="Refaktoryzuj",aY="Testy",lY={"%s not found":"%s nie znaleziono","()":"()","(at %s)":"(w %s)","(optional)":"(opcjonalny)","-":"-",".":".",Ack:s9,Actions:o9,"Actual time of day":"Aktualna pora dnia",Add:i9,"Add new script":"Dodaj nowy skrypt",All:n9,"All files will be accepted":"Wszystkie pliki zostaną zaakceptowane",Any:r9,"Any month":"Dowolny miesiąc",Apply:a9,April:l9,"Are you sure?":"Jesteś pewny?",Ask:c9,Astronomical:u9,"Astronomical events today":"Wydarzenia astronomiczne dzisiaj",August:d9,"Blockly description":"Tworzenie reguł za pomocą bloków graficznych","Body:":"Treść:",Cancel:h9,"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:p9,"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:g9,Conditions:m9,"Configuration not saved.":"Konfiguracja nie została zapisana.",Console:f9,"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:$9,"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:b9,Default:y9,"Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...",Delay:v9,Delete:_9,"Delete %s":"Usuń %s ...","Delete folder":"Usuń folder","Delete script":"Usuń skrypt",Description:w9,"Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzuć zmiany dla %s",Done:k9,"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",Error:"Błąd","Error formatting code":"Błąd formatowania kodu","Error was found":"Błąd został znaleziony","Every day":"Codziennie",Exec:C9,"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:S9,Export:T9,"Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki",Februar:I9,February:E9,Filter:x9,Folder:D9,Fr:A9,Friday:R9,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:O9,ID1:M9,ID2:N9,Import:L9,"Import blocks":"Importuj bloki","Import error":"Błąd importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu",Instance:P9,"Instance is disabled":"Instancja jest wyłączona","Instance:":"Instancja:",Instances:B9,Instructions:j9,"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:F9,January:z9,July:U9,June:H9,"Just check":"Po prostu sprawdź","Keep my changes":"Zachowaj moje zmiany","Language:":"Język:","Learn More":"Ucz się więcej","Light style":"Lekki styl",Limit:W9,"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:G9,"March ":"Marzec ",May:V9,Menu:K9,Message:Y9,Mo:J9,Model:q9,Monday:X9,Month:Z9,More:Q9,Name:eK,"No active host found":"Nie znaleziono aktywnego hosta","Nothing found":"Nic nie znaleziono",November:tK,OK:sK,October:oK,Ok:iK,"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","Operate two states":"Obsługuj dwa stany","Operations with two states":"Operacje z dwoma stanami","Paste your blocks here":"Wklej tutaj swoje bloki",Pause:nK,"Pause execution":"Wstrzymaj wykonanie","Pause script":"Wstrzymaj skrypt","Phone:":"Telefon:","Please select object ID...":"Wybierz identyfikator obiektu ...","Prettify the script":"Upiększ skrypt","Print some text in log":"Wydrukuj tekst w dzienniku","Priority:":"Priorytet:",Pushover:rK,Pushsafer:aK,"Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s",Reload:lK,Rename:cK,"Reorder scripts in folders":"Zmień kolejność skryptów w folderach",Repeat:uK,Restart:dK,Result:hK,"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:pK,Saturday:gK,Save:mK,"Save all":"Zapisz wszystko","Say It":"Wypowiedz","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit",Schedule:fK,Script:$K,"Script %s was modified on disk":"Skrypt %s został zmodyfikowany na dysku","Script was modified externally":"Skrypt został zmodyfikowany zewnętrznie","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:bK,"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:yK,"Some files will be rejected":"Niektóre pliki zostaną odrzucone","Sound:":"Dźwięk:",Stack:vK,Start:_K,"Start script":"Uruchom skrypt",State:wK,"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:kK,"Subject:":"Temat:",Sunday:CK,"TS description":"Tworzenie reguł w Typescript",Telegram:SK,"Text:":"Tekst:",Th:TK,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Skrypt "%s" został zmodyfikowany przez innego użytkownika lub w innym oknie. Czy chcesz przeładować skrypt, czy zachować lokalne zmiany?',"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:IK,Time:EK,"Time condition":"Warunek czasowy","Title:":"Tytuł:","To:":"Do:","Trigger with value":"Wyzwalacz z wartością",Triggered:xK,Triggers:DK,"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:AK,Tuesday:RK,URL:OK,"Unknown error":"Nieznany błąd","Unknown error!":"Nieznany błąd!","User function":"Funkcja użytkownika","User:":"Użytkownik:",Value:MK,"Vibration:":"Wibracja:",Volume:NK,We:LK,Wednesday:PK,"Whatsapp-cmb":"Whatsapp-cmb",Write:BK,"Write your own code":"Napisz swój własny kod",Yes:jK,"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","Please select a valid model":"Wybierz prawidłowy model","[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:FK,all:zK,and:UK,"as JSON":"jako JSON","as plain text":"jako zwykły tekst",astro:HK,at:WK,"clear running":"czyste uruchomienie",control:GK,copy:VK,cron:KK,dawn:YK,debug_help:JK,debug_label:qK,default:"domyślna",dusk:XK,easy:ZK,else:"inaczej","equal to":"równy",every:QK,"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:e7,filter_id:t7,filter_name:s7,filter_role:o7,filter_room:i7,"for edit or create script":"do edycji lub utwórz nowy skrypt","for professionals":"dla profesjonalistów","for programmers":"dla programistów",goldenHour:n7,goldenHourEnd:r7,"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:a7,help_on_change:l7,"high priority":"wysoki priorytet","high-priority":"wysoki priorytet","highest priority":"najwyższy priorytet",hours:c7,includes:u7,interval:d7,"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:h7,milliseconds:p7,minutes:g7,ms:m7,nadir:f7,nauticalDawn:$7,nauticalDusk:b7,nextSunrise:y7,nextSunset:v7,night:_7,nightEnd:w7,"no blocks found":"Nie znaleziono bloków","no group":"BRAK GRUPY",normal:k7,"normal priority":"normalny priorytet","not running":"nie uruchomiony","not equal to":"nie równa się","not properly connected":"Ten blok nie jest poprawnie podłączony do innych bloków.",offset:C7,"on change":"na zmianę","on condition change":"pod warunkiem zmiany warunków","on update":"po aktualizacji",one:S7,or:T7,quiet:I7,"reset search":"zresetuj wyszukiwanie",search:E7,seconds:x7,solarNoon:D7,"store in":"przechowaj w",sunrise:A7,sunriseEnd:R7,sunset:O7,sunsetStart:M7,then:N7,"toggle value":"wartość przełączania",tooltip_ack:L7,tooltip_from:P7,tooltip_lc:B7,tooltip_quality:j7,tooltip_ts:F7,tooltip_user:z7,tooltip_value:U7,true:"prawda",two:H7,undefined:"nieokreślony",update:W7,"use seconds":"użyj sekund","use trigger value":"użyj wartości wyzwalającej",verbose_help:G7,verbose_label:V7,when:K7,with:"z","with date":"z datą","with offset":"z przesunięciem",wizard:Y7,"Loading models...":"Ładowanie modeli...","Could not connect to API at %s":"Nie można połączyć się z API pod adresem %s","Invalid API key":"Nieprawidłowy klucz API","Access denied by API":"Odmowa dostępu przez API","API error: %s":"Błąd API: %s",'Model "%s" not found':'Model "%s" nie znaleziony',"Request failed: %s":"Żądanie nie powiodło się: %s",Retry:J7,"No running javascript instance found":"Nie znaleziono uruchomionej instancji JavaScript","OID display mode":"Tryb wyświetlania OID","Ask questions about your script, request changes, or generate new code.":"Zadawaj pytania o swój skrypt, proś o zmiany lub generuj nowy kod.","to send":"aby wysłać","Thinking...":"Myślenie...","AI suggested changes":"Zmiany sugerowane przez AI",Accept:q7,Reject:X7,"No API keys configured":"Brak skonfigurowanych kluczy API","for new line":"dla nowej linii","AI chat mode":"Tryb czatu AI","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Zwykła rozmowa. Użyj do pytań, wyjaśnień i pomocy ze składnią. Nie czyta ani nie modyfikuje skryptów.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Dwuetapowy generator skryptów (najpierw plan, potem kod). Przydatne do "stwórz skrypt, który…", "napisz regułę Blockly dla…". Wynik trafia do edytora do smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Zwykła rozmowa. Najlepsze do: ogólnych pytań, pomocy ze składnią, wyjaśniania pojęć.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Generator skryptów. Najlepsze do: tworzenia nowych skryptów JavaScript/TypeScript lub Blockly na podstawie opisu.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Wspomnij skrypty jako kontekst dla AI. Użyj @wszystkie dla wszystkich skryptów lub @nazwaSkryptu dla konkretnego.",Context:Z7,"current script":"bieżący skrypt","all scripts":"wszystkie skrypty",devices:Q7,"Searching datapoints":"Wyszukiwanie punktów danych","Reading value":"Odczyt wartości","Loading object info":"Ładowanie informacji o obiekcie","Searching scripts":"Wyszukiwanie skryptów","Reading script":"Odczyt skryptu","Loading script list":"Ładowanie listy skryptów","All scripts":"Wszystkie skrypty","Smart home devices":"Urządzenia inteligentnego domu","AI Chat":"Czat AI","AI inline completions":"Uzupełnianie w linii AI","New chat":"Nowy czat","Ask about your script...":"Zapytaj o swój skrypt...","Insert blocks":"Wstaw bloki","Apply blocks":"Zastosuj bloki",Undo:eY,Redo:tY,"Insert into editor":"Wstaw do edytora","Show as diff":"Pokaż jako diff","Selected code as context":"Zaznaczony kod jako kontekst","Generating plan...":"Generowanie planu...","Generating code...":"Generowanie kodu...",Plan:sY,"mention @all":"@wszystkie","mention @devices":"@urządzenia",Send:oY,Copy:iY,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':'AI może wywoływać narzędzia do inspekcji systemu: czytać skrypty, wyszukiwać datapointy, przeglądać drzewo obiektów. Przydatne do "które skrypty używają tego stanu?", "przeanalizuj mój skrypt oświetlenia".',"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Asystent z narzędziami. Najlepsze do: analizy istniejących skryptów, znajdowania użyć datapointów, inspekcji drzewa obiektów.","AI inline chat":"Wbudowany czat AI",'e.g. "Refactor this to use async/await"':'np. "Refactor this to use async/await"',"Open in chat":"Otwórz w czacie","Selection: %s line(s)":"Zaznaczenie: %s wiersz(y)","No selection — the question will use context from the whole script.":"Brak zaznaczenia — pytanie użyje kontekstu całego skryptu.","Please enter a question.":"Wpisz pytanie.","Thinking…":"Myślę…","Code proposal — press Apply to replace your selection.":"Propozycja kodu — naciśnij Zastosuj, aby zastąpić zaznaczenie.","Plain text answer.":"Odpowiedź tekstowa.","Show more details":"Pokaż więcej szczegółów","AI: Inline chat…":"AI: Wbudowany czat…","AI: Explain":"AI: Wyjaśnij","AI: Refactor":"AI: Refaktoryzuj","AI: Add comments":"AI: Dodaj komentarze","AI: Fix problem":"AI: Napraw problem","AI: Suggest tests":"AI: Zaproponuj testy","Ask the AI about the selected code:":"Zapytaj AI o zaznaczony kod:",Explain:nY,Refactor:rY,Tests:aY,"Explain %s %s":"Wyjaśnij %s %s","Refactor %s %s":"Refaktoryzuj %s %s","Suggest tests for %s %s":"Zaproponuj testy dla %s %s","Apply changes":"Zastosuj zmiany","Discard changes":"Odrzuć zmiany",'Ask anything, or request a change (e.g. "what does this do?")':'Zapytaj o cokolwiek lub poproś o zmianę (np. "co to robi?")'},cY="Reconhecido",uY="Ações",dY="Adicionar",hY="Todos",pY="Nenhum",gY="Aplique",mY="abril",fY="Perguntar",$Y="Astronômico",bY="agosto",yY="Cancelar",vY="Fechar",_Y="Doença",wY="Condições",kY="Console",CY="Copiado",SY="dezembro",TY="Predefinição",IY="Atraso",EY="Deletar",xY="Descrição",DY="Pronto",AY="Exec shell",RY="Explicação",OY="Exportação",MY="Februar",NY="fevereiro",LY="Filtro",PY="Pasta",BY="Fr",jY="Sexta-feira",FY="ID",zY="ID1",UY="ID2",HY="Importar",WY="Instância",GY="Instâncias",VY="Instruções",KY="Januar",YY="janeiro",JY="julho",qY="junho",XY="Limite",ZY="março",QY="maio",eJ="Menu",tJ="mensagem",sJ="Mo",oJ="Modelo",iJ="Segunda-feira",nJ="Mês",rJ="Mais",aJ="Nome",lJ="novembro",cJ="OK",uJ="outubro",dJ="Ok",hJ="Pausa",pJ="Pushover",gJ="Pushsafer",mJ="Recarregar",fJ="Renomear",$J="Repetir",bJ="Reiniciar",yJ="Resultado",vJ="Sá",_J="Sábado",wJ="Salve",kJ="Cronograma",CJ="Script",SJ="setembro",TJ="Simular",IJ="Pilha",EJ="Começar",xJ="Estado",DJ="Su",AJ="Domingo",RJ="Telegrama",OJ="4",MJ="Quinta-feira",NJ="Tempo",LJ="Provocado",PJ="Gatilhos",BJ="Tu",jJ="terça",FJ="URL",zJ="Valor",UJ="Volume",HJ="3",WJ="quarta",GJ="Escrever",VJ="sim",KJ="reconhecimento",YJ="todos",JJ="e",qJ="astro",XJ="no",ZJ="ao controle",QJ="copiar",eq="CRON",tq="alvorecer",sq="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.",oq="Depurar",iq="Crepúsculo",nq="fácil",rq="cada",aq="Função",lq="ID",cq="Nome",uq="Tipo",dq="Quarto",hq="Hora dourada",pq="Fim da hora de ouro",gq='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.',mq='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.',fq="horas",$q="inclui",bq="intervalo",yq="Magia",vq="milissegundos",_q="minutos",wq="ms",kq="nadir",Cq="Madrugada náutica",Sq="Crepúsculo náutico",Tq="próximo nascer do sol",Iq="Próximo pôr do sol",Eq="Noite",xq="Fim de noite",Dq="normal",Aq="Deslocamento",Rq="1",Oq="ou",Mq="quieto",Nq="procurar",Lq="segundos",Pq="Meio-dia solar",Bq="nascer do sol",jq="Fim do nascer do sol",Fq="pôr do sol",zq="Começo do pôr do sol",Uq="então",Hq="reconhecer",Wq="de",Gq="Última alteração",Vq="Qualidade",Kq="timestamp",Yq="usuário",Jq="valor",qq="dois",Xq="atualizar",Zq="Adiciona saída de depuração ao log para muitos comandos do sistema",Qq="Saídas de log detalhadas",eX="quando",tX="Wizard",sX="Tentar novamente",oX="Aceitar",iX="Rejeitar",nX="Contexto",rX="dispositivos",aX="Desfazer",lX="Refazer",cX="Plano",uX="Enviar",dX="Copiar",hX="Explicar",pX="Refatorar",gX="Testes",mX={"%s not found":"%s não encontrado","()":"()","(at %s)":"(em %s)","(optional)":"(opcional)","-":"-",".":".",Ack:cY,Actions:uY,"Actual time of day":"Hora real do dia",Add:dY,"Add new script":"Adicionar novo script",All:hY,"All files will be accepted":"Todos os arquivos serão aceitos",Any:pY,"Any month":"Qualquer mês",Apply:gY,April:mY,"Are you sure?":"Você tem certeza?",Ask:fY,Astronomical:$Y,"Astronomical events today":"Eventos astronômicos hoje",August:bY,"Blockly description":"Criando regras por blocos gráficos","Body:":"Corpo:",Cancel:yY,"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:vY,"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:_Y,Conditions:wY,"Configuration not saved.":"Configuração não esta salva.",Console:kY,"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:CY,"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:SY,Default:TY,"Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...",Delay:IY,Delete:EY,"Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script",Description:xY,"Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar alterações para %s",Done:DY,"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",Error:"Erro","Error formatting code":"Erro de formatação de código","Error was found":"Erro foi encontrado","Every day":"Todos os dias",Exec:AY,"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:RY,Export:OY,"Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados",Februar:MY,February:NY,Filter:LY,Folder:PY,Fr:BY,Friday:jY,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:FY,ID1:zY,ID2:UY,Import:HY,"Import blocks":"Importar blocos","Import error":"Erro de importação","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto",Instance:WY,"Instance is disabled":"Instância está desativada","Instance:":"Instância:",Instances:GY,Instructions:VY,"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:KY,January:YY,July:JY,June:qY,"Just check":"Apenas verifique","Keep my changes":"Manter minhas alterações","Language:":"Língua:","Learn More":"Aprender mais","Light style":"Estilo claro",Limit:XY,"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:ZY,"March ":"Março",May:QY,Menu:eJ,Message:tJ,Mo:sJ,Model:oJ,Monday:iJ,Month:nJ,More:rJ,Name:aJ,"No active host found":"Nenhum host ativo encontrado","Nothing found":"Nada encontrado",November:lJ,OK:cJ,October:uJ,Ok:dJ,"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","Operate two states":"Operar dois estados","Operations with two states":"Operações com dois estados","Paste your blocks here":"Cole seus blocos aqui",Pause:hJ,"Pause execution":"Pausar a execução","Pause script":"Pausar script","Phone:":"Telefone:","Please select object ID...":"Selecione o ID do objeto...","Prettify the script":"Embeleze o roteiro","Print some text in log":"Imprimir algum texto no log","Priority:":"Prioridade:",Pushover:pJ,Pushsafer:gJ,"Read only ID selected: %s":"ID somente leitura selecionada: %s",Reload:mJ,Rename:fJ,"Reorder scripts in folders":"Reordenar scripts em pastas",Repeat:$J,Restart:bJ,Result:yJ,"Resume execution":"Retomar execução","Root folder":"Pasta principal","Rules description":"Crie regras com blocos IF, THEN, ELSE","Run script":"Executar script",Sa:vJ,Saturday:_J,Save:wJ,"Save all":"Salvar tudo","Say It":"Say It","Say some text via sayit adapter":"Diga algum texto através do adaptador sayit",Schedule:kJ,Script:CJ,"Script %s was modified on disk":'O script "%s" foi modificado no disco rígido',"Script was modified externally":"O script foi modificado externamente","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:SJ,"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:TJ,"Some files will be rejected":"Alguns arquivos serão rejeitados","Sound:":"Som:",Stack:IJ,Start:EJ,"Start script":"Iniciar script",State:xJ,"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:DJ,"Subject:":"Sujeito:",Sunday:AJ,"TS description":"Criando regras escrevendo Typecript",Telegram:RJ,"Text:":"Texto:",Th:OJ,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'O script "%s" foi modificado por outro usuário ou em outra janela. Deseja recarregar o script ou manter suas alterações locais?',"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:MJ,Time:NJ,"Time condition":"Condição de tempo","Title:":"Título:","To:":"Para:","Trigger with value":"Trigger com valor",Triggered:LJ,Triggers:PJ,"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:BJ,Tuesday:jJ,URL:FJ,"Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","User function":"Função do usuário","User:":"Do utilizador:",Value:zJ,"Vibration:":"Vibração:",Volume:UJ,We:HJ,Wednesday:WJ,"Whatsapp-cmb":"Whatsapp-cmb",Write:GJ,"Write your own code":"Escreva seu próprio código",Yes:VJ,"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","Please select a valid model":"Selecione um modelo válido","[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:KJ,all:YJ,and:JJ,"as JSON":"como JSON","as plain text":"como texto simples",astro:qJ,at:XJ,"clear running":"corrida limpa",control:ZJ,copy:QJ,cron:eq,dawn:tq,debug_help:sq,debug_label:oq,default:"predefinição",dusk:iq,easy:nq,else:"outro","equal to":"igual a",every:rq,"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:aq,filter_id:lq,filter_name:cq,filter_role:uq,filter_room:dq,"for edit or create script":"para editar ou criar um novo script","for professionals":"para profissionais","for programmers":"para programadores",goldenHour:hq,goldenHourEnd:pq,"greater or equal":"maior ou igual","greater or equal to":"maior ou igual a","greater than":"Maior que",help_just_check:gq,help_on_change:mq,"high priority":"prioridade máxima","high-priority":"prioridade máxima","highest priority":"Prioridade máxima",hours:fq,includes:$q,interval:bq,"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:yq,milliseconds:vq,minutes:_q,ms:wq,nadir:kq,nauticalDawn:Cq,nauticalDusk:Sq,nextSunrise:Tq,nextSunset:Iq,night:Eq,nightEnd:xq,"no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO",normal:Dq,"normal priority":"prioridade normal","not running":"não está em execução","not equal to":"não é igual a","not properly connected":"Este bloco não está conectado corretamente com outros blocos.",offset:Aq,"on change":"em mudança","on condition change":"na mudança de condição","on update":"em atualização",one:Rq,or:Oq,quiet:Mq,"reset search":"redefinir pesquisa",search:Nq,seconds:Lq,solarNoon:Pq,"store in":"armazenar em",sunrise:Bq,sunriseEnd:jq,sunset:Fq,sunsetStart:zq,then:Uq,"toggle value":"valor de alternância",tooltip_ack:Hq,tooltip_from:Wq,tooltip_lc:Gq,tooltip_quality:Vq,tooltip_ts:Kq,tooltip_user:Yq,tooltip_value:Jq,true:"verdade",two:qq,undefined:"Indefinido",update:Xq,"use seconds":"use segundos","use trigger value":"use o gatilho",verbose_help:Zq,verbose_label:Qq,when:eX,with:"com","with date":"com data","with offset":"com deslocamento",wizard:tX,"Loading models...":"Carregando modelos...","Could not connect to API at %s":"Não foi possível conectar à API em %s","Invalid API key":"Chave API inválida","Access denied by API":"Acesso negado pela API","API error: %s":"Erro de API: %s",'Model "%s" not found':'Modelo "%s" não encontrado',"Request failed: %s":"Solicitação falhou: %s",Retry:sX,"No running javascript instance found":"Nenhuma instância JavaScript em execução encontrada","OID display mode":"Modo de exibição OID","Ask questions about your script, request changes, or generate new code.":"Faça perguntas sobre seu script, solicite alterações ou gere novo código.","to send":"para enviar","Thinking...":"Pensando...","AI suggested changes":"Alterações sugeridas pela IA",Accept:oX,Reject:iX,"No API keys configured":"Nenhuma chave API configurada","for new line":"para nova linha","AI chat mode":"Modo de chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversa simples. Use para perguntas, explicações e ajuda com sintaxe. Não lê nem modifica seus scripts.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Gerador de scripts em duas etapas (plano e depois código). Útil para "crie um script que…", "escreva uma regra Blockly para…". O resultado vai para o editor para smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversa simples. Ideal para: perguntas gerais, ajuda com sintaxe, explicações de conceitos.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Gerador de scripts. Ideal para: criar novos scripts JavaScript/TypeScript ou Blockly a partir de uma descrição.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mencionar scripts como contexto para a IA. Use @todos para todos os scripts ou @nomeDoScript para um específico.",Context:nX,"current script":"script atual","all scripts":"todos os scripts",devices:rX,"Searching datapoints":"Pesquisando pontos de dados","Reading value":"Lendo valor","Loading object info":"Carregando informações do objeto","Searching scripts":"Pesquisando scripts","Reading script":"Lendo script","Loading script list":"Carregando lista de scripts","All scripts":"Todos os scripts","Smart home devices":"Dispositivos de casa inteligente","AI Chat":"Chat IA","AI inline completions":"Completações em linha IA","New chat":"Novo chat","Ask about your script...":"Pergunte sobre seu script...","Insert blocks":"Inserir blocos","Apply blocks":"Aplicar blocos",Undo:aX,Redo:lX,"Insert into editor":"Inserir no editor","Show as diff":"Mostrar como diff","Selected code as context":"Código selecionado como contexto","Generating plan...":"Gerando plano...","Generating code...":"Gerando código...",Plan:cX,"mention @all":"@todos","mention @devices":"@dispositivos",Send:uX,Copy:dX,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':'A IA pode chamar ferramentas para inspecionar seu sistema: ler scripts, consultar datapoints, explorar a árvore de objetos. Útil para "quais scripts usam este estado?", "analise meu script de luzes".',"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Assistente com ferramentas. Ideal para: analisar scripts existentes, encontrar usos de datapoints, inspecionar a árvore de objetos.","AI inline chat":"Chat IA embutido",'e.g. "Refactor this to use async/await"':'ex. "Refactor this to use async/await"',"Open in chat":"Abrir no chat","Selection: %s line(s)":"Seleção: %s linha(s)","No selection — the question will use context from the whole script.":"Sem seleção — a pergunta usará o contexto de todo o script.","Please enter a question.":"Digite uma pergunta.","Thinking…":"Pensando…","Code proposal — press Apply to replace your selection.":"Proposta de código — pressione Aplicar para substituir sua seleção.","Plain text answer.":"Resposta em texto.","Show more details":"Mostrar mais detalhes","AI: Inline chat…":"IA: Chat embutido…","AI: Explain":"IA: Explicar","AI: Refactor":"IA: Refatorar","AI: Add comments":"IA: Adicionar comentários","AI: Fix problem":"IA: Corrigir problema","AI: Suggest tests":"IA: Sugerir testes","Ask the AI about the selected code:":"Pergunte à IA sobre o código selecionado:",Explain:hX,Refactor:pX,Tests:gX,"Explain %s %s":"Explicar %s %s","Refactor %s %s":"Refatorar %s %s","Suggest tests for %s %s":"Sugerir testes para %s %s","Apply changes":"Aplicar alterações","Discard changes":"Descartar alterações",'Ask anything, or request a change (e.g. "what does this do?")':'Pergunte algo ou peça uma alteração (ex. "o que isso faz?")'},fX="Подтверждение",$X="Действия",bX="Добавить",yX="Все",vX="Любая",_X="Применить",wX="Апрель",kX="Спросить",CX="Aстрономический",SX="Август",TX="Отмена",IX="Закрыть",EX="Условие",xX="Условия",DX="Приставка",AX="Скопировано",RX="Декабрь",OX="Дефолт",MX="Задержка",NX="Удалить",LX="Описание",PX="Готово",BX="Исполнить shell",jX="Объяснение",FX="Экспорт",zX="Февраль",UX="Февраль",HX="Фильтр",WX="Папка",GX="Пт",VX="пятница",KX="ID",YX="ID1",JX="ID2",qX="Импорт",XX="Экземпляр",ZX="Экземпляры",QX="Инструкции",eZ="Январь",tZ="Январь",sZ="Июль",oZ="Июнь",iZ="Предел",nZ="Март",rZ="Май",aZ="Меню",lZ="Сообщение",cZ="Пн",uZ="Модель",dZ="понедельник",hZ="Месяц",pZ="Более",gZ="Имя",mZ="Ноябрь",fZ="Ок",$Z="Октябрь",bZ="Ok",yZ="Пауза",vZ="Pushover",_Z="Pushsafer",wZ="Перезагрузить",kZ="Переименовать",CZ="Повторение",SZ="Перезапустить",TZ="Результат",IZ="Сб",EZ="суббота",xZ="Сохранить",DZ="Расписание",AZ="скрипт",RZ="Сентябрь",OZ="Симулировать",MZ="Stack",NZ="Начинать",LZ="Состояние",PZ="Вс",BZ="Воскресенье",jZ="Telegram",FZ="Чт",zZ="Четверг",UZ="Время",HZ="Срабатывает",WZ="Триггеры",GZ="Вт",VZ="вторник",KZ="URL",YZ="Значение",JZ="Громкость",qZ="Ср",XZ="среда",ZZ="Напишите",QZ="Да",eQ="подтверждение",tQ="все",sQ="и",oQ="Астро",iQ="в",nQ="контроль",rQ="копия",aQ="CRON",lQ="Рассвет",cQ="Это особый режим, в котором состояния и объекты не будут меняться. Но в протоколе будет отображаться только информация о каждом планируемом изменении.",uQ="Отлаживать",dQ="Сумерки",hQ="легкий",pQ="каждые(ый)",gQ="Функция",mQ="ID",fQ="Название",$Q="Роль",bQ="Комната",yQ="Золотой час",vQ="Конец золотого часа",_Q="Код будет выполняться только каждый раз, когда условие истинно. Например. при срабатывании по значению датчика температуры и условию «если температура выше 20°C», действия «затем» будут выполняться каждый раз, когда датчик отправляет значение температуры, и оно превышает 20°C. На 21°С, на 22°С и так далее.",wQ="Код будет выполнен только в случае изменения результата условия. Например, при срабатывании по значению датчика температуры и условию «если температура больше 20°C», действия «затем» будут выполнены один раз, когда температура превысит 20°C. В следующий раз действия «затем» будут выполнены, когда температура опустится ниже 20°C, а затем снова поднимается выше 20°C.",kQ="час(ов)",CQ="содержит",SQ="интервал",TQ="магия",IQ="миллисекунды",EQ="минут(у)",xQ="мс",DQ="Надир",AQ="Морской рассвет",RQ="Морские сумерки",OQ="Следующий восход",MQ="Следующий закат",NQ="Ночь",LQ="Конец ночи",PQ="нормальный",BQ="сдвиг",jQ="один",FQ="или",zQ="тихий",UQ="поиск",HQ="секунд",WQ="Солнечный полдень",GQ="Восход солнца",VQ="Конец восхода",KQ="Закат солнца",YQ="Начало заката",JQ="тогда",qQ="Подтверждено",XQ="От",ZQ="Последнее изменение",QQ="Качественный",eee="Время",tee="Пользователь",see="Значение",oee="два",iee="обновить",nee="Добавляет вывод отладки в журнал для многих системных команд.",ree="Подробный протокол",aee="если",lee="Мастер",cee="Повторить",uee="Принять",dee="Отклонить",hee="Контекст",pee="устройства",gee="Отменить",mee="Повторить",fee="План",$ee="Отправить",bee="Копировать",yee="Объяснить",vee="Рефакторинг",_ee="Тесты",wee={"%s not found":"%s не найден","()":"()","(at %s)":"(в %s)","(optional)":"(необязательный)","-":"-",".":".",Ack:fX,Actions:$X,"Actual time of day":"Фактическое время суток",Add:bX,"Add new script":"Добавить новый скрипт",All:yX,"All files will be accepted":"Все файлы будут приняты",Any:vX,"Any month":"В любой месяц",Apply:_X,April:wX,"Are you sure?":"Вы уверены?",Ask:kX,Astronomical:CX,"Astronomical events today":"Астрономические события сегодня",August:SX,"Blockly description":"Создание правил графическими блоками","Body:":"Тело:",Cancel:TX,"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:IX,"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:EX,Conditions:xX,"Configuration not saved.":"Конфигурация не сохранена.",Console:DX,"Control or update some state":"Контролировать или обновлять какое-то состояние","Control or update some state with delay":"Контролировать или обновлять какое-либо состояние с задержкой","Convert blockly to javascript for ever.":"Преобразовать blockly в Javascript навсегда.",Copied:AX,"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:RX,Default:OX,"Define cron...":"Задать правило ...","Define schedule...":"Задать расписание...",Delay:MX,Delete:NX,"Delete %s":"Удалить %s...","Delete folder":"Удалить папку","Delete script":"Удалить скрипт",Description:LX,"Deselect all":"Снять выбор со всех","Discard changes for %s":"Отменить изменения для %s",Done:PX,"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":"Закончить поиск",Error:"Ошибка","Error formatting code":"Ошибка форматирования кода","Error was found":"Ошибка была найдена","Every day":"Каждый день",Exec:BX,"Executes some shell command":"Выполняет некоторую команду оболочки","Existing scripts will be overwritten.":"Существующие скрипты будут перезаписаны.","Expand all":"Открыть все","Expert mode":"Экспертный режим",Explanation:jX,Export:FX,"Export all scripts":"Экспорт всех скриптов","Export blocks":"Экспортировать блоки","Export selected blocks":"Экспортировать выбранные блоки",Februar:zX,February:UX,Filter:HX,Folder:WX,Fr:GX,Friday:VX,Function:"Функция","Function editor":"Редактор функции","Function: executed":"Функция: выполнено","Go to next line":"Перейти к следующей строке","HTTP Call":"HTTP-вызов","Hide logs":"Скрыть журналы",ID:KX,ID1:YX,ID2:JX,Import:qX,"Import blocks":"Импортировать блоки","Import error":"Ошибка импорта","Import scripts":"Импорт скриптов","Insert object ID":"Вставить ID объекта",Instance:XX,"Instance is disabled":"Экземпляр отключен","Instance:":"Пример:",Instances:ZX,Instructions:QX,"Invalid CRON":"Неправильный CRON","It will not be possible to revert this operation.":"Невозможно вернуть эту операцию.","JS description":"Создание правил путём написания Javascript",Januar:eZ,January:tZ,July:sZ,June:oZ,"Just check":"Просто проверить","Keep my changes":"Сохранить мои изменения","Language:":"Язык:","Learn More":"Узнать больше","Light style":"Светлый стиль",Limit:iZ,"Local time":"Местное время","Locate file":"Показать файл в дереве","Log outputs":"Журнал","Log text":"Текст журнала","Log: %s":"Журнал: %s","Make a HTTP get request":"Сделайте HTTP-запрос на получение","Make a pause between actions":"Сделайте паузу между действиями",March:nZ,"March ":"Март ",May:rZ,Menu:aZ,Message:lZ,Mo:cZ,Model:uZ,Monday:dZ,Month:hZ,More:pZ,Name:gZ,"No active host found":"Активный host не найден","Nothing found":"Ничего не найдено",November:mZ,OK:fZ,October:$Z,Ok:bZ,"On condition change":"При изменении реузльтата условий","On script save or adapter start":"При сохранении скрипта или запуске адаптера","On weekdays":"По дням недели","Operate two states":"Операции над двумя состояниями","Operations with two states":"Операции с двумя состояниями","Paste your blocks here":"Вставьте свои блоки сюда",Pause:yZ,"Pause execution":"Приостановить выполнение","Pause script":"Остановить скрипт","Phone:":"Телефон:","Please select object ID...":"Пожалуйста, выберите ID объекта ...","Prettify the script":"Украсьте сценарий","Print some text in log":"Напечатать текст в журнале","Priority:":"Приоритет:",Pushover:vZ,Pushsafer:_Z,"Read only ID selected: %s":"Выбран идентификатор только для чтения: %s",Reload:wZ,Rename:kZ,"Reorder scripts in folders":"Сортировать скрипты в папках",Repeat:CZ,Restart:SZ,Result:TZ,"Resume execution":"Возобновить выполнение","Root folder":"Корневая папка","Rules description":"Создавайте правила с блоками ЕСЛИ, ТО, ИНАЧЕ","Run script":"Запустить скрипт",Sa:IZ,Saturday:EZ,Save:xZ,"Save all":"Сохранить все","Say It":"Say It","Say some text via sayit adapter":"Произнесите текст через адаптер Sayit",Schedule:DZ,Script:AZ,"Script %s was modified on disk":'Скрипт "%s" был изменен на диске',"Script was modified externally":"Скрипт был изменён извне","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:RZ,"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:OZ,"Some files will be rejected":"Некоторые файлы будут отклонены","Sound:":"Звук:",Stack:MZ,Start:NZ,"Start script":"Старт скрипта",State:LZ,"State condition":"Сравнение состояния","Step into function":"Шаг в функционирование","Step out from function":"Выйти из функции","Stop on exception":"Остановить при исключении",Su:PZ,"Subject:":"Предмет:",Sunday:BZ,"TS description":"Создание правил путём написания Typescript",Telegram:jZ,"Text:":"Текст:",Th:FZ,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Скрипт "%s" был изменён другим пользователем или в другом окне. Вы хотите перезагрузить скрипт или сохранить свои локальные изменения?',"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:zZ,Time:UZ,"Time condition":"Условие времени","Title:":"Заголовок:","To:":"К:","Trigger with value":"Триггер со значением",Triggered:HZ,Triggers:WZ,"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:GZ,Tuesday:VZ,URL:KZ,"Unknown error":"Неизвестная ошибка","Unknown error!":"Неизвестная ошибка!","User function":"Функция пользователя","User:":"Пользователь:",Value:YZ,"Vibration:":"Вибрация:",Volume:JZ,We:qZ,Wednesday:XZ,"Whatsapp-cmb":"Whatsapp-cmb",Write:ZZ,"Write your own code":"Напишите свой код",Yes:QZ,"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, чтобы использовать старое значение триггера.","Please select a valid model":"Пожалуйста, выберите допустимую модель","[equal]":"[равно]","[greater or equal]":"[больше или равно]","[greater]":"[больше]","[hysteresis]":"[гистерезис]","[includes]":"[содержит]","[less or equal]":"[меньше или равно]","[less]":"[меньше]","[not equal]":"[не равно]",acknowledgment:eQ,all:tQ,and:sQ,"as JSON":"как JSON","as plain text":"как текст",astro:oQ,at:iQ,"clear running":"остановить уже бегущие",control:nQ,copy:rQ,cron:aQ,dawn:lQ,debug_help:cQ,debug_label:uQ,default:"дефолт",dusk:dQ,easy:hQ,else:"иначе","equal to":"равно",every:pQ,"every hour at 0 minutes":"каждый час через 0 минут",false:"false","file reading has failed: %s":"Ошибка чтения файла: %s","file reading was aborted":"Чтение файла было прервано",filter_func:gQ,filter_id:mQ,filter_name:fQ,filter_role:$Q,filter_room:bQ,"for edit or create script":"для редактирования или создайте новый скрипт","for professionals":"для профессионалов","for programmers":"для программистов",goldenHour:yQ,goldenHourEnd:vQ,"greater or equal":"больше или равно","greater or equal to":"больше или равно","greater than":"больше чем",help_just_check:_Q,help_on_change:wQ,"high priority":"высокий приоритет","high-priority":"высокий-приоритет","highest priority":"высший приоритет",hours:kQ,includes:CQ,interval:SQ,"just check":"просто проверить","less or equal":"меньше или равно","less or equal to":"меньше или равно","less than":"меньше, чем","lower priority":"более низкий приоритет","lowest priority":"самый низкий приоритет",magic:TQ,milliseconds:IQ,minutes:EQ,ms:xQ,nadir:DQ,nauticalDawn:AQ,nauticalDusk:RQ,nextSunrise:OQ,nextSunset:MQ,night:NQ,nightEnd:LQ,"no blocks found":"Блоков нет","no group":"Нет группы",normal:PQ,"normal priority":"нормальный приоритет","not running":"не запущен","not equal to":"не равно","not properly connected":"Этот блок неправильно соединён или не соединён с другими блоками.",offset:BQ,"on change":"по изменению","on condition change":"при изменении результата условия","on update":"при обновлении",one:jQ,or:FQ,quiet:zQ,"reset search":"Cбросить поиск",search:UQ,seconds:HQ,solarNoon:WQ,"store in":"сохранить в",sunrise:GQ,sunriseEnd:VQ,sunset:KQ,sunsetStart:YQ,then:JQ,"toggle value":"инвертировать текщее значение",tooltip_ack:qQ,tooltip_from:XQ,tooltip_lc:ZQ,tooltip_quality:QQ,tooltip_ts:eee,tooltip_user:tee,tooltip_value:see,true:"true",two:oee,undefined:"неопределенный",update:iee,"use seconds":"использовать секунды","use trigger value":"использовать значение триггера",verbose_help:nee,verbose_label:ree,when:aee,with:"с","with date":"с датой","with offset":"со сдвигом",wizard:lee,"Loading models...":"Загрузка моделей...","Could not connect to API at %s":"Не удалось подключиться к API по адресу %s","Invalid API key":"Недействительный ключ API","Access denied by API":"Доступ запрещён API","API error: %s":"Ошибка API: %s",'Model "%s" not found':'Модель "%s" не найдена',"Request failed: %s":"Запрос не удался: %s",Retry:cee,"No running javascript instance found":"Не найден работающий экземпляр JavaScript","OID display mode":"Режим отображения OID","Ask questions about your script, request changes, or generate new code.":"Задавайте вопросы о вашем скрипте, запрашивайте изменения или генерируйте новый код.","to send":"для отправки","Thinking...":"Думаю...","AI suggested changes":"Изменения, предложенные ИИ",Accept:uee,Reject:dee,"No API keys configured":"API-ключи не настроены","for new line":"для новой строки","AI chat mode":"Режим чата ИИ","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Обычный разговор. Используйте для вопросов, объяснений и помощи с синтаксисом. Не читает и не изменяет скрипты.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Двухэтапный генератор скриптов (сначала план, затем код). Подходит для "создай скрипт, который…", "напиши правило Blockly для…". Результат попадает в редактор для smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Обычный разговор. Лучше всего для: общих вопросов, помощи с синтаксисом, объяснения концепций.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Генератор скриптов. Лучше всего для: создания новых JavaScript/TypeScript или Blockly скриптов по описанию.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Упомяните скрипты как контекст для ИИ. Используйте @все для всех скриптов или @имяСкрипта для конкретного.",Context:hee,"current script":"текущий скрипт","all scripts":"все скрипты",devices:pee,"Searching datapoints":"Поиск точек данных","Reading value":"Чтение значения","Loading object info":"Загрузка информации об объекте","Searching scripts":"Поиск скриптов","Reading script":"Чтение скрипта","Loading script list":"Загрузка списка скриптов","All scripts":"Все скрипты","Smart home devices":"Устройства умного дома","AI Chat":"ИИ Чат","AI inline completions":"ИИ автодополнение","New chat":"Новый чат","Ask about your script...":"Спросите о вашем скрипте...","Insert blocks":"Вставить блоки","Apply blocks":"Применить блоки",Undo:gee,Redo:mee,"Insert into editor":"Вставить в редактор","Show as diff":"Показать как diff","Selected code as context":"Выбранный код как контекст","Generating plan...":"Создание плана...","Generating code...":"Генерация кода...",Plan:fee,"mention @all":"@все","mention @devices":"@устройства",Send:$ee,Copy:bee,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':'ИИ может вызывать инструменты для изучения системы: читать скрипты, искать datapoints, просматривать дерево объектов. Подходит для "какие скрипты используют это состояние?", "проанализируй мой скрипт освещения".',"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Ассистент с инструментами. Лучше всего для: анализа существующих скриптов, поиска использований datapoints, изучения дерева объектов.","AI inline chat":"Встроенный ИИ-чат",'e.g. "Refactor this to use async/await"':'напр. "Refactor this to use async/await"',"Open in chat":"Открыть в чате","Selection: %s line(s)":"Выделение: %s стр.","No selection — the question will use context from the whole script.":"Нет выделения — вопрос относится ко всему скрипту.","Please enter a question.":"Введите вопрос.","Thinking…":"Думаю…","Code proposal — press Apply to replace your selection.":"Предложение кода — нажмите Применить, чтобы заменить выделение.","Plain text answer.":"Текстовый ответ.","Show more details":"Показать подробнее","AI: Inline chat…":"ИИ: Встроенный чат…","AI: Explain":"ИИ: Объяснить","AI: Refactor":"ИИ: Рефакторинг","AI: Add comments":"ИИ: Добавить комментарии","AI: Fix problem":"ИИ: Исправить проблему","AI: Suggest tests":"ИИ: Предложить тесты","Ask the AI about the selected code:":"Спросите ИИ о выделенном коде:",Explain:yee,Refactor:vee,Tests:_ee,"Explain %s %s":"Объяснить %s %s","Refactor %s %s":"Рефакторинг %s %s","Suggest tests for %s %s":"Предложить тесты для %s %s","Apply changes":"Применить изменения","Discard changes":"Отменить изменения",'Ask anything, or request a change (e.g. "what does this do?")':'Задайте любой вопрос или попросите изменение (напр. "что делает эта команда?")'},kee="Визнано",Cee="Дії",See="додати",Tee="все",Iee="Будь-який",Eee="Застосувати",xee="квітень",Dee="Запитуйте",Aee="Астрономічний",Ree="серпень",Oee="Скасувати",Mee="Закрити",Nee="Хвороба",Lee="Умови",Pee="Консоль",Bee="Скопійовано",jee="Грудень",Fee="За замовчуванням",zee="Затримка",Uee="Видалити",Hee="опис",Wee="Готово",Gee="Виконавча оболонка",Vee="Пояснення",Kee="Експорт",Yee="Лютий",Jee="Лютий",qee="фільтр",Xee="Папка",Zee="О",Qee="П'ятниця",ete="ID",tte="ID1",ste="ID2",ote="Імпорт",ite="Екземпляр",nte="Примірники",rte="Інструкції",ate="січень",lte="січня",cte="липень",ute="червень",dte="Ліміт",hte="березень",pte="Може",gte="Меню",mte="повідомлення",fte="пн",$te="Модель",bte="понеділок",yte="місяць",vte="Більше",_te="Ім'я",wte="Листопад",kte="в порядку",Cte="жовтень",Ste="В порядку",Tte="Пауза",Ite="Pushover",Ete="Pushsafer",xte="Перезавантажити",Dte="Перейменувати",Ate="Повторіть",Rte="Перезапустіть",Ote="Результат",Mte="Sa",Nte="Субота",Lte="зберегти",Pte="розклад",Bte="Сценарій",jte="Вересень",Fte="Симулювати",zte="Стек",Ute="старт",Hte="Держава",Wte="Нд",Gte="неділя",Vte="Телеграма",Kte="чт",Yte="четвер",Jte="час",qte="Спрацьовує",Xte="Тригери",Zte="вт",Qte="вівторок",ese="URL",tse="Значення",sse="Обсяг",ose="ми",ise="Середа",nse="Напишіть",rse="Так",ase="підтвердження",lse="все",cse="і",use="Астро",dse="в",hse="КОНТРОЛЬ",pse="копія",gse="CRON",mse="Світанок",fse="Це особливий режим, в якому стану та об'єкти не змінюватимуться. Але в протоколі відображатиметься лише інформація про кожну заплановану зміну.",$se="Відлагоджувати",bse="Сутінки",yse="легко",vse="кожен",_se="функція",wse="ID",kse="Ім'я",Cse="Роль",Sse="Кімната",Tse="Золота година",Ise="Кінець золотої години",Ese="Код буде виконуватися лише щоразу, коли умова виконується. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» виконуватимуться щоразу, коли датчик надсилає температуру, і вона перевищує 20°C. На 21°C, на 22°C і так далі.",xse="Код буде виконано лише у разі зміни результату умови. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» будуть виконані один раз, коли температура буде вище 20. Наступного разу дії «тоді» буде виконано, коли температура падає нижче 20, а потім знову піднімається вище 20.",Dse="години",Ase="включає в себе",Rse="інтервал",Ose="магія",Mse="мілісекунд",Nse="хвилин",Lse="РС",Pse="Надір",Bse="Морський світанок",jse="Морські сутінки",Fse="Наступний схід сонця",zse="Наступний захід сонця",Use="ніч",Hse="Кінець ночі",Wse="нормально",Gse="зсув",Vse="один",Kse="або",Yse="тихо",Jse="пошук",qse="секунд",Xse="Сонячний полудень",Zse="схід сонця",Qse="Кінець сходу сонця",eoe="Захід сонця",toe="Початок заходу сонця",soe="потім",ooe="Визнати",ioe="Від",noe="Востаннє змінено",roe="якість",aoe="Мітка часу",loe="Користувач",coe="Значення",uoe="два",doe="оновлення",hoe="Додає вихідні дані налагодження до журналу для багатьох системних команд",poe="Докладні результати журналу",goe="коли",moe="майстер",foe="Повторити",$oe="Прийняти",boe="Відхилити",yoe="Контекст",voe="пристрої",_oe="Скасувати",woe="Повторити",koe="План",Coe="Надіслати",Soe="Копіювати",Toe="Пояснити",Ioe="Рефакторинг",Eoe="Тести",xoe={"%s not found":"%s не знайдено","()":"()","(at %s)":"(у %s)","(optional)":"(необов'язково)","-":"-",".":".",Ack:kee,Actions:Cee,"Actual time of day":"Фактичний час доби",Add:See,"Add new script":"Додати новий сценарій",All:Tee,"All files will be accepted":"Усі файли будуть прийняті",Any:Iee,"Any month":"Будь-який місяць",Apply:Eee,April:xee,"Are you sure?":"Ти впевнений?",Ask:Dee,Astronomical:Aee,"Astronomical events today":"Астрономічні події сьогодні",August:Ree,"Blockly description":"Створення правил за графічними блоками","Body:":"Тіло:",Cancel:Oee,"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:Mee,"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:Nee,Conditions:Lee,"Configuration not saved.":"Конфігурація не збережена.",Console:Pee,"Control or update some state":"Контролюйте або оновлюйте певний стан","Control or update some state with delay":"Контролюйте або оновлюйте деякий стан із затримкою","Convert blockly to javascript for ever.":"Назавжди конвертуйте Blockly у Javascript.",Copied:Bee,"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:jee,Default:Fee,"Define cron...":"Визначити cron...","Define schedule...":"Визначити розклад...",Delay:zee,Delete:Uee,"Delete %s":"Видалити %s...","Delete folder":"Видалити папку","Delete script":"Видалити сценарій",Description:Hee,"Deselect all":"Зняти вибір із усіх","Discard changes for %s":"Скасувати зміни для %s",Done:Wee,"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":"Завершити режим пошуку",Error:"Помилка","Error formatting code":"Помилка форматування коду","Error was found":"Виявлено помилку","Every day":"Кожен день",Exec:Gee,"Executes some shell command":"Виконує певну команду оболонки","Existing scripts will be overwritten.":"Існуючі сценарії буде перезаписано.","Expand all":"Розгорнути все","Expert mode":"Експертний режим",Explanation:Vee,Export:Kee,"Export all scripts":"Експортувати всі сценарії","Export blocks":"Експорт блоків","Export selected blocks":"Експортувати вибрані блоки",Februar:Yee,February:Jee,Filter:qee,Folder:Xee,Fr:Zee,Friday:Qee,Function:"функція","Function editor":"Редактор функцій","Function: executed":"Функція: виконано","Go to next line":"Перейти до наступного рядка","HTTP Call":"Виклик HTTP","Hide logs":"Приховати журнали",ID:ete,ID1:tte,ID2:ste,Import:ote,"Import blocks":"Імпорт блоків","Import error":"Помилка імпорту","Import scripts":"Імпорт скриптів","Insert object ID":"Вставте ID об'єкта",Instance:ite,"Instance is disabled":"Примірник вимкнено","Instance:":"екземпляр:",Instances:nte,Instructions:rte,"Invalid CRON":"Недійсний CRON","It will not be possible to revert this operation.":"Скасувати цю операцію буде неможливо.","JS description":"Створення правил шляхом написання Javascript",Januar:ate,January:lte,July:cte,June:ute,"Just check":"Просто перевірте","Keep my changes":"Зберегти мої зміни","Language:":"Мову:","Learn More":"Вивчайте більше","Light style":"Легкий стиль",Limit:dte,"Local time":"Місцевий час","Locate file":"Знайти файл","Log outputs":"Виходи журналу","Log text":"Текст журналу","Log: %s":"Журнал: %s","Make a HTTP get request":"Зробіть HTTP-запит на отримання","Make a pause between actions":"Між діями робіть паузу",March:hte,"March ":"березень",May:pte,Menu:gte,Message:mte,Mo:fte,Model:$te,Monday:bte,Month:yte,More:vte,Name:_te,"No active host found":"Активний хост не знайдено","Nothing found":"Нічого не знайдено",November:wte,OK:kte,October:Cte,Ok:Ste,"On condition change":"За умови зміни результату","On script save or adapter start":"Під час збереження сценарію або запуску адаптера","On weekdays":"В будні дні","Operate two states":"Керуйте двома станами","Operations with two states":"Операції з двома станами","Paste your blocks here":"Вставте сюди свої блоки",Pause:Tte,"Pause execution":"Призупинити виконання","Pause script":"Призупинити сценарій","Phone:":"телефон:","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Prettify the script":"Прикрасьте сценарій","Print some text in log":"Надрукувати текст у журналі","Priority:":"Пріоритет:",Pushover:Ite,Pushsafer:Ete,"Read only ID selected: %s":"Вибрано ідентифікатор лише для читання: %s",Reload:xte,Rename:Dte,"Reorder scripts in folders":"Зміна порядку сценаріїв у папках",Repeat:Ate,Restart:Rte,Result:Ote,"Resume execution":"Відновити виконання","Root folder":"Коренева папка","Rules description":"Створюйте правила з блоками IF, THEN, ELSE","Run script":"Запустіть сценарій",Sa:Mte,Saturday:Nte,Save:Lte,"Save all":"Зберегти все","Say It":"Скажи це","Say some text via sayit adapter":"Скажіть текст через адаптер sayit",Schedule:Pte,Script:Bte,"Script %s was modified on disk":"Сценарій %s змінено на диску","Script was modified externally":"Скрипт було змінено ззовні","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:jte,"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:Fte,"Some files will be rejected":"Деякі файли буде відхилено","Sound:":"звук:",Stack:zte,Start:Ute,"Start script":"Запустити сценарій",State:Hte,"State condition":"Стан стану","Step into function":"Крок у функції","Step out from function":"Вийти з функції","Stop on exception":"Зупинка на винятках",Su:Wte,"Subject:":"Тема:",Sunday:Gte,"TS description":"Створення правил шляхом написання Typescript",Telegram:Vte,"Text:":"Текст:",Th:Kte,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Скрипт "%s" було змінено іншим користувачем або в іншому вікні. Бажаєте перезавантажити скрипт чи зберегти свої локальні зміни?',"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:Yte,Time:Jte,"Time condition":"Умова часу","Title:":"Назва:","To:":"до:","Trigger with value":"Тригер зі значенням",Triggered:qte,Triggers:Xte,"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:Zte,Tuesday:Qte,URL:ese,"Unknown error":"Невідома помилка","Unknown error!":"Невідома помилка!","User function":"Функція користувача","User:":"Користувач:",Value:tse,"Vibration:":"Вібрація:",Volume:sse,We:ose,Wednesday:ise,"Whatsapp-cmb":"Whatsapp-cmb",Write:nse,"Write your own code":"Напишіть власний код",Yes:rse,"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, щоб використовувати старе значення тригера","Please select a valid model":"Будь ласка, виберіть дійсну модель","[equal]":"[рівний]","[greater or equal]":"[більше або дорівнює]","[greater]":"[більший]","[hysteresis]":"[гістерезис]","[includes]":"[включає]","[less or equal]":"[менше або рівно]","[less]":"[менше]","[not equal]":"[не дорівнює]",acknowledgment:ase,all:lse,and:cse,"as JSON":"як JSON","as plain text":"як текст",astro:use,at:dse,"clear running":"чіткий біг",control:hse,copy:pse,cron:gse,dawn:mse,debug_help:fse,debug_label:$se,default:"за замовчуванням",dusk:bse,easy:yse,else:"інше","equal to":"дорівнює",every:vse,"every hour at 0 minutes":"щогодини о 0 хвилин",false:"помилковий","file reading has failed: %s":"не вдалося прочитати файл: %s","file reading was aborted":"читання файлу було перервано",filter_func:_se,filter_id:wse,filter_name:kse,filter_role:Cse,filter_room:Sse,"for edit or create script":"для редагування або створення нового сценарію","for professionals":"для професіоналів","for programmers":"для програмістів",goldenHour:Tse,goldenHourEnd:Ise,"greater or equal":"більший або рівний","greater or equal to":"більше або дорівнює","greater than":"більше, ніж, величніше ніж, крутіший за",help_just_check:Ese,help_on_change:xse,"high priority":"високий пріоритет","high-priority":"високий пріоритет","highest priority":"найвищий пріоритет",hours:Dse,includes:Ase,interval:Rse,"just check":"просто перевірте","less or equal":"менше або дорівнює","less or equal to":"менше або дорівнює","less than":"менше ніж","lower priority":"нижчий пріоритет","lowest priority":"найнижчий пріоритет",magic:Ose,milliseconds:Mse,minutes:Nse,ms:Lse,nadir:Pse,nauticalDawn:Bse,nauticalDusk:jse,nextSunrise:Fse,nextSunset:zse,night:Use,nightEnd:Hse,"no blocks found":"Блоків не знайдено","no group":"НЕМАЄ ГРУПИ",normal:Wse,"normal priority":"нормальний пріоритет","not running":"не запущено","not equal to":"не дорівнює","not properly connected":"Цей блок неправильно з’єднаний з іншими блоками.",offset:Gse,"on change":"на зміну","on condition change":"про зміну умов","on update":"на оновлення",one:Vse,or:Kse,quiet:Yse,"reset search":"скинути пошук",search:Jse,seconds:qse,solarNoon:Xse,"store in":"зберігати в",sunrise:Zse,sunriseEnd:Qse,sunset:eoe,sunsetStart:toe,then:soe,"toggle value":"значення перемикання",tooltip_ack:ooe,tooltip_from:ioe,tooltip_lc:noe,tooltip_quality:roe,tooltip_ts:aoe,tooltip_user:loe,tooltip_value:coe,true:"правда",two:uoe,undefined:"невизначений",update:doe,"use seconds":"використовуйте секунди","use trigger value":"використовувати значення тригера",verbose_help:hoe,verbose_label:poe,when:goe,with:"з","with date":"з датою","with offset":"зі зміщенням",wizard:moe,"Loading models...":"Завантаження моделей...","Could not connect to API at %s":"Не вдалося підключитися до API за адресою %s","Invalid API key":"Недійсний ключ API","Access denied by API":"Доступ заборонено API","API error: %s":"Помилка API: %s",'Model "%s" not found':'Модель "%s" не знайдено',"Request failed: %s":"Запит не вдався: %s",Retry:foe,"No running javascript instance found":"Не знайдено запущеного екземпляра JavaScript","OID display mode":"Режим відображення OID","Ask questions about your script, request changes, or generate new code.":"Задавайте питання про ваш скрипт, запитуйте зміни або генеруйте новий код.","to send":"для надсилання","Thinking...":"Думаю...","AI suggested changes":"Зміни, запропоновані ШІ",Accept:$oe,Reject:boe,"No API keys configured":"API-ключі не налаштовані","for new line":"для нового рядка","AI chat mode":"Режим чату ШІ","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Звичайна розмова. Використовуйте для питань, пояснень і допомоги із синтаксисом. Не читає і не змінює скрипти.",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Двоетапний генератор скриптів (спочатку план, потім код). Підходить для "створи скрипт, який…", "напиши правило Blockly для…". Результат потрапляє до редактора для smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Звичайна розмова. Найкраще для: загальних питань, допомоги із синтаксисом, пояснення понять.","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Генератор скриптів. Найкраще для: створення нових JavaScript/TypeScript або Blockly скриптів з опису.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Згадайте скрипти як контекст для ШІ. Використовуйте @всі для всіх скриптів або @назваСкрипта для конкретного.",Context:yoe,"current script":"поточний скрипт","all scripts":"усі скрипти",devices:voe,"Searching datapoints":"Пошук точок даних","Reading value":"Читання значення","Loading object info":"Завантаження інформації про об'єкт","Searching scripts":"Пошук скриптів","Reading script":"Читання скрипта","Loading script list":"Завантаження списку скриптів","All scripts":"Усі скрипти","Smart home devices":"Пристрої розумного дому","AI Chat":"ШІ Чат","AI inline completions":"ШІ автодоповнення","New chat":"Новий чат","Ask about your script...":"Запитайте про ваш скрипт...","Insert blocks":"Вставити блоки","Apply blocks":"Застосувати блоки",Undo:_oe,Redo:woe,"Insert into editor":"Вставити в редактор","Show as diff":"Показати як diff","Selected code as context":"Вибраний код як контекст","Generating plan...":"Створення плану...","Generating code...":"Генерація коду...",Plan:koe,"mention @all":"@усі","mention @devices":"@пристрої",Send:Coe,Copy:Soe,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':`ШІ може викликати інструменти для інспекції системи: читати скрипти, шукати datapoints, переглядати дерево об'єктів. Підходить для "які скрипти використовують цей стан?", "проаналізуй мій скрипт освітлення".`,"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"Асистент з інструментами. Найкраще для: аналізу наявних скриптів, пошуку використань datapoints, інспекції дерева об'єктів.","AI inline chat":"Вбудований ШІ-чат",'e.g. "Refactor this to use async/await"':'напр. "Refactor this to use async/await"',"Open in chat":"Відкрити в чаті","Selection: %s line(s)":"Виділення: %s рядок(ів)","No selection — the question will use context from the whole script.":"Без виділення — питання використає контекст усього скрипта.","Please enter a question.":"Введіть запитання.","Thinking…":"Думаю…","Code proposal — press Apply to replace your selection.":"Пропозиція коду — натисніть Застосувати, щоб замінити виділення.","Plain text answer.":"Текстова відповідь.","Show more details":"Показати більше подробиць","AI: Inline chat…":"ШІ: Вбудований чат…","AI: Explain":"ШІ: Пояснити","AI: Refactor":"ШІ: Рефакторинг","AI: Add comments":"ШІ: Додати коментарі","AI: Fix problem":"ШІ: Виправити проблему","AI: Suggest tests":"ШІ: Запропонувати тести","Ask the AI about the selected code:":"Запитайте ШІ про виділений код:",Explain:Toe,Refactor:Ioe,Tests:Eoe,"Explain %s %s":"Пояснити %s %s","Refactor %s %s":"Рефакторинг %s %s","Suggest tests for %s %s":"Запропонувати тести для %s %s","Apply changes":"Застосувати зміни","Discard changes":"Скасувати зміни",'Ask anything, or request a change (e.g. "what does this do?")':'Запитайте будь-що або попросіть зміни (напр. "що це робить?")'},Doe="确认",Aoe="动作",Roe="添加",Ooe="所有",Moe="任何",Noe="申请",Loe="四月",Poe="问",Boe="天文",joe="八月",Foe="取消",zoe="关闭",Uoe="健康)状况",Hoe="情况",Woe="安慰",Goe="复制的",Voe="十二月",Koe="默认",Yoe="延迟",Joe="删除",qoe="描述",Xoe="完成",Zoe="执行力",Qoe="解释",eie="导出",tie="二月",sie="二月",oie="筛选",iie="文件夹",nie="r",rie="星期五",aie="ID",lie="ID1",cie="ID2",uie="导入",die="实例",hie="实例",pie="指示",gie="亚努尔",mie="一月",fie="七月",$ie="六月",bie="限制",yie="三月",vie="五月",_ie="菜单",wie="信息",kie="莫",Cie="模型",Sie="星期一",Tie="月",Iie="更多的",Eie="名称",xie="十一月",Die="好的",Aie="十月",Rie="确定",Oie="暂停",Mie="俯卧撑",Nie="推安全",Lie="重新加载",Pie="重命名",Bie="重复",jie="重启",Fie="结果",zie="萨",Uie="星期六",Hie="保存",Wie="日程",Gie="脚本",Vie="九月",Kie="模拟",Yie="堆",Jie="开始",qie="状态",Xie="苏",Zie="星期日",Qie="电报",ene="4",tne="星期四",sne="时间",one="触发",ine="扳机",nne="涂",rne="星期二",ane="网址",lne="价值",cne="体积",une="3",dne="星期三",hne="写",pne="是的",gne="致谢",mne="全部",fne="和",$ne="天文",bne="在",yne="控制",vne="复制",_ne="克朗",wne="黎明",kne="这是一种特殊模式,其中状态和对象不会改变。但只有有关每个计划更改的信息才会显示在协议中。",Cne="调试",Sne="黄昏",Tne="简单的",Ine="每一个",Ene="功能",xne="ID",Dne="名字",Ane="角色",Rne="房间",One="黄金时段",Mne="黄金时段结束",Nne="仅在条件为真时才执行代码。例如。如果触发温度传感器值并且条件为“如果温度大于20°C”,则每次传感器发送温度且温度超过20°C时,将执行“然后”动作。 21°C,22°C等。",Lne="仅当条件结果更改时,代码才会执行。例如。如果触发温度传感器值且条件为“如果温度大于20°C”,则温度超过20时将执行一次“则”动作,下一次,当温度超过20时将执行“则”动作低于20失败,然后再次超过20。",Pne="小时",Bne="包括",jne="间隔",Fne="魔法",zne="毫秒",Une="分钟",Hne="毫秒",Wne="最低点",Gne="航海黎明",Vne="航海黄昏",Kne="下一个日出",Yne="下一个日落",Jne="夜晚",qne="夜晚结束",Xne="普通的",Zne="抵消",Qne="一",ere="或",tre="安静的",sre="搜索",ore="秒",ire="星期日正午",nre="日出",rre="日出结束",are="日落",lre="日落开始",cre="然后",ure="确认",dre="从",hre="上一次改变",pre="质量",gre="时间戳",mre="用户",fre="值",$re="二",bre="更新",yre="将调试输出添加到许多系统命令的日志中",vre="详细日志输出",_re="什么时候",wre="巫师",kre="重试",Cre="接受",Sre="拒绝",Tre="上下文",Ire="设备",Ere="撤销",xre="重做",Dre="计划",Are="发送",Rre="复制",Ore="解释",Mre="重构",Nre="测试",Lre={"%s not found":"%s 未找到","()":"()","(at %s)":"(在 %s)","(optional)":"(选修的)","-":"-",".":".",Ack:Doe,Actions:Aoe,"Actual time of day":"一天中的实际时间",Add:Roe,"Add new script":"添加新脚本",All:Ooe,"All files will be accepted":"所有文件都将被接受",Any:Moe,"Any month":"任何月份",Apply:Noe,April:Loe,"Are you sure?":"你确定吗?",Ask:Poe,Astronomical:Boe,"Astronomical events today":"今天的天文事件",August:joe,"Blockly description":"按图形块创建规则","Body:":"身体:",Cancel:Foe,"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:zoe,"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:Uoe,Conditions:Hoe,"Configuration not saved.":"配置未保存。",Console:Woe,"Control or update some state":"控制或更新某些状态","Control or update some state with delay":"延迟控制或更新某些状态","Convert blockly to javascript for ever.":"立即将blockly转换为Javascript。",Copied:Goe,"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:Voe,Default:Koe,"Define cron...":"定义周期任务...","Define schedule...":"定义调度器......",Delay:Yoe,Delete:Joe,"Delete %s":"删除%s...","Delete folder":"删除文件夹","Delete script":"删除脚本",Description:qoe,"Deselect all":"取消全选","Discard changes for %s":"放弃%s的更改",Done:Xoe,"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":"结束搜索模式",Error:"错误","Error formatting code":"代码格式错误","Error was found":"发现错误","Every day":"每天",Exec:Zoe,"Executes some shell command":"执行一些shell命令","Existing scripts will be overwritten.":"现有脚本将被覆盖。","Expand all":"展开全部","Expert mode":"专家模式",Explanation:Qoe,Export:eie,"Export all scripts":"导出所有脚本","Export blocks":"导出块","Export selected blocks":"导出选定的块",Februar:tie,February:sie,Filter:oie,Folder:iie,Fr:nie,Friday:rie,Function:"功能","Function editor":"功能编辑器","Function: executed":"功能:执行","Go to next line":"转到下一行","HTTP Call":"HTTP呼叫","Hide logs":"隐藏日志",ID:aie,ID1:lie,ID2:cie,Import:uie,"Import blocks":"导入块","Import error":"导入错误","Import scripts":"导入脚本","Insert object ID":"插入对象ID",Instance:die,"Instance is disabled":"实例已禁用","Instance:":"实例:",Instances:hie,Instructions:pie,"Invalid CRON":"无效的周期任务","It will not be possible to revert this operation.":"无法恢复此操作。","JS description":"通过编写Javascript来创建规则",Januar:gie,January:mie,July:fie,June:$ie,"Just check":"只是检查","Keep my changes":"保留我的更改","Language:":"语言:","Learn More":"了解更多","Light style":"浅色调风格",Limit:bie,"Local time":"当地时间","Locate file":"定位文件","Log outputs":"记录输出","Log text":"记录文字","Log: %s":"日志:%s","Make a HTTP get request":"发出HTTP获取请求","Make a pause between actions":"在动作之间暂停",March:yie,"March ":"行进",May:vie,Menu:_ie,Message:wie,Mo:kie,Model:Cie,Monday:Sie,Month:Tie,More:Iie,Name:Eie,"No active host found":"找不到活动主机","Nothing found":"没有发现",November:xie,OK:Die,October:Aie,Ok:Rie,"On condition change":"条件变化时","On script save or adapter start":"在脚本保存或适配器启动时","On weekdays":"在工作日","Operate two states":"操作两种状态","Operations with two states":"具有两种状态的操作","Paste your blocks here":"在此处粘贴您的区块",Pause:Oie,"Pause execution":"暂停执行","Pause script":"暂停脚本","Phone:":"电话:","Please select object ID...":"请选择对象ID...","Prettify the script":"美化脚本","Print some text in log":"在日志中打印一些文本","Priority:":"优先:",Pushover:Mie,Pushsafer:Nie,"Read only ID selected: %s":"选择的只读ID:%s",Reload:Lie,Rename:Pie,"Reorder scripts in folders":"重新排序文件夹中的脚本",Repeat:Bie,Restart:jie,Result:Fie,"Resume execution":"恢复执行","Root folder":"根文件夹","Rules description":"使用IF,THEN,ELSE块创建规则","Run script":"运行脚本",Sa:zie,Saturday:Uie,Save:Hie,"Save all":"保存全部","Say It":"Say It","Say some text via sayit adapter":"通过sayit适配器说一些文字",Schedule:Wie,Script:Gie,"Script %s was modified on disk":"脚本%s已在磁盘上修改","Script was modified externally":"脚本已被外部修改","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:Vie,"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:Kie,"Some files will be rejected":"有些文件将被拒绝","Sound:":"声音:",Stack:Yie,Start:Jie,"Start script":"启动脚本",State:qie,"State condition":"状态条件","Step into function":"进入功能","Step out from function":"退出函数","Stop on exception":"异常停止",Su:Xie,"Subject:":"学科:",Sunday:Zie,"TS description":"通过编写Typescript来创建规则",Telegram:Qie,"Text:":"文本:",Th:ene,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'脚本 "%s" 已被其他用户或在其他窗口中修改。您想重新加载脚本还是保留您的本地更改?',"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:tne,Time:sne,"Time condition":"时间条件","Title:":"标题:","To:":"到:","Trigger with value":"用值触发",Triggered:one,Triggers:ine,"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:nne,Tuesday:rne,URL:ane,"Unknown error":"未知错误","Unknown error!":"未知错误!","User function":"用户功能","User:":"用户:",Value:lne,"Vibration:":"振动:",Volume:cne,We:une,Wednesday:dne,"Whatsapp-cmb":"Whatsapp的cmb",Write:hne,"Write your own code":"编写自己的代码",Yes:pne,"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 使用旧触发器值","Please select a valid model":"请选择有效的模型","[equal]":"[平等的]","[greater or equal]":"[大于等于]","[greater]":"[更大]","[hysteresis]":"[磁滞]","[includes]":"[包括]","[less or equal]":"[小于或等于]","[less]":"[较少的]","[not equal]":"[不相等]",acknowledgment:gne,all:mne,and:fne,"as JSON":"为 JSON","as plain text":"为纯文本",astro:$ne,at:bne,"clear running":"畅通无阻",control:yne,copy:vne,cron:_ne,dawn:wne,debug_help:kne,debug_label:Cne,default:"默认",dusk:Sne,easy:Tne,else:"别的","equal to":"等于",every:Ine,"every hour at 0 minutes":"每小时0分钟",false:"错误的","file reading has failed: %s":"文件读取失败:%s","file reading was aborted":"文件读取中止",filter_func:Ene,filter_id:xne,filter_name:Dne,filter_role:Ane,filter_room:Rne,"for edit or create script":"用于编辑或创建脚本","for professionals":"对于专业人士","for programmers":"对于程序员",goldenHour:One,goldenHourEnd:Mne,"greater or equal":"大于或等于","greater or equal to":"大于或等于","greater than":"比...更棒",help_just_check:Nne,help_on_change:Lne,"high priority":"高优先级","high-priority":"高优先级","highest priority":"最高优先级",hours:Pne,includes:Bne,interval:jne,"just check":"只是检查","less or equal":"小于或等于","less or equal to":"小于或等于","less than":"少于","lower priority":"低优先级","lowest priority":"最低优先级",magic:Fne,milliseconds:zne,minutes:Une,ms:Hne,nadir:Wne,nauticalDawn:Gne,nauticalDusk:Vne,nextSunrise:Kne,nextSunset:Yne,night:Jne,nightEnd:qne,"no blocks found":"找不到块","no group":"没有组",normal:Xne,"normal priority":"正常优先","not running":"未运行","not equal to":"不等于","not properly connected":"此块未正确连接到其他块。",offset:Zne,"on change":"在变化","on condition change":"在条件变化时","on update":"更新时",one:Qne,or:ere,quiet:tre,"reset search":"重置搜索",search:sre,seconds:ore,solarNoon:ire,"store in":"存放在",sunrise:nre,sunriseEnd:rre,sunset:are,sunsetStart:lre,then:cre,"toggle value":"切换值",tooltip_ack:ure,tooltip_from:dre,tooltip_lc:hre,tooltip_quality:pre,tooltip_ts:gre,tooltip_user:mre,tooltip_value:fre,true:"真的",two:$re,undefined:"不明确的",update:bre,"use seconds":"精确到秒","use trigger value":"使用触发值",verbose_help:yre,verbose_label:vre,when:_re,with:"和","with date":"有日期","with offset":"带偏移",wizard:wre,"Loading models...":"加载模型...","Could not connect to API at %s":"无法连接到 %s 的 API","Invalid API key":"无效的 API 密钥","Access denied by API":"API 拒绝访问","API error: %s":"API 错误:%s",'Model "%s" not found':'未找到模型 "%s"',"Request failed: %s":"请求失败:%s",Retry:kre,"No running javascript instance found":"未找到正在运行的 JavaScript 实例","OID display mode":"OID显示模式","Ask questions about your script, request changes, or generate new code.":"询问有关脚本的问题、请求更改或生成新代码。","to send":"发送","Thinking...":"思考中...","AI suggested changes":"AI 建议的更改",Accept:Cre,Reject:Sre,"No API keys configured":"未配置 API 密钥","for new line":"换行","AI chat mode":"AI 聊天模式","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"纯对话。用于提问、解释和语法帮助。不会读取或修改你的脚本。",'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.':'两步脚本生成器(先计划再生成代码)。适用于"创建一个脚本,执行..."、"为...编写 Blockly 规则"。输出进入编辑器以供 smart-apply 使用。',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"纯对话。最适合:一般问题、语法帮助、概念解释。","Script generator. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"脚本生成器。最适合:根据描述创建新的 JavaScript/TypeScript 或 Blockly 脚本。","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"将脚本作为AI的上下文。使用 @全部 引用所有脚本,或 @脚本名称 引用特定脚本。",Context:Tre,"current script":"当前脚本","all scripts":"所有脚本",devices:Ire,"Searching datapoints":"搜索数据点","Reading value":"读取值","Loading object info":"加载对象信息","Searching scripts":"搜索脚本","Reading script":"读取脚本","Loading script list":"加载脚本列表","All scripts":"所有脚本","Smart home devices":"智能家居设备","AI Chat":"AI 聊天","AI inline completions":"AI 内联补全","New chat":"新聊天","Ask about your script...":"询问有关脚本的问题...","Insert blocks":"插入积木块","Apply blocks":"应用模块",Undo:Ere,Redo:xre,"Insert into editor":"插入编辑器","Show as diff":"显示差异","Selected code as context":"选中的代码作为上下文","Generating plan...":"生成计划...","Generating code...":"生成代码...",Plan:Dre,"mention @all":"@全部","mention @devices":"@设备",Send:Are,Copy:Rre,'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".':'AI 可调用工具检查系统:读取脚本、查找数据点、浏览对象树。适用于"哪些脚本使用此状态?"、"分析我的灯光脚本"。',"Tool-using assistant. Best for: analyzing existing scripts, finding datapoint usages, inspecting the object tree.":"带工具的助手。最适合:分析现有脚本、查找数据点的使用、检查对象树。","AI inline chat":"AI 内联聊天",'e.g. "Refactor this to use async/await"':'例如 "Refactor this to use async/await"',"Open in chat":"在聊天中打开","Selection: %s line(s)":"选中:%s 行","No selection — the question will use context from the whole script.":"未选择 — 问题将使用整个脚本的上下文。","Please enter a question.":"请输入问题。","Thinking…":"思考中…","Code proposal — press Apply to replace your selection.":"代码建议 — 按应用替换所选内容。","Plain text answer.":"纯文本答案。","Show more details":"显示更多详情","AI: Inline chat…":"AI:内联聊天…","AI: Explain":"AI:解释","AI: Refactor":"AI:重构","AI: Add comments":"AI:添加注释","AI: Fix problem":"AI:修复问题","AI: Suggest tests":"AI:建议测试","Ask the AI about the selected code:":"向 AI 询问所选代码:",Explain:Ore,Refactor:Mre,Tests:Nre,"Explain %s %s":"解释 %s %s","Refactor %s %s":"重构 %s %s","Suggest tests for %s %s":"为 %s %s 建议测试","Apply changes":"应用更改","Discard changes":"放弃更改",'Ask anything, or request a change (e.g. "what does this do?")':'提问或请求修改(例如"这段代码做什么?")'};function Oc(a){throw new Error('Could not dynamically require "'+a+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var DS={exports:{}};(function(a,s){(function(i){a.exports=i()})(function(){return(function i(r,l,c){function h(g,b){if(!l[g]){if(!r[g]){var y=typeof Oc=="function"&&Oc;if(!b&&y)return y(g,!0);if(d)return d(g,!0);var _=new Error("Cannot find module '"+g+"'");throw _.code="MODULE_NOT_FOUND",_}var v=l[g]={exports:{}};r[g][0].call(v.exports,function(w){var $=r[g][1][w];return h($||w)},v,v.exports,i,r,l,c)}return l[g].exports}for(var d=typeof Oc=="function"&&Oc,p=0;p>2,v=(3&g)<<4|b>>4,w=1>6:64,$=2>4,b=(15&_)<<4|(v=d.indexOf(p.charAt($++)))>>2,y=(3&v)<<6|(w=d.indexOf(p.charAt($++))),C[I++]=g,v!==64&&(C[I++]=b),w!==64&&(C[I++]=y);return C}},{"./support":30,"./utils":32}],2:[function(i,r,l){var c=i("./external"),h=i("./stream/DataWorker"),d=i("./stream/Crc32Probe"),p=i("./stream/DataLengthProbe");function g(b,y,_,v,w){this.compressedSize=b,this.uncompressedSize=y,this.crc32=_,this.compression=v,this.compressedContent=w}g.prototype={getContentWorker:function(){var b=new h(c.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new p("data_length")),y=this;return b.on("end",function(){if(this.streamInfo.data_length!==y.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),b},getCompressedWorker:function(){return new h(c.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},g.createWorkerFrom=function(b,y,_){return b.pipe(new d).pipe(new p("uncompressedSize")).pipe(y.compressWorker(_)).pipe(new p("compressedSize")).withStreamInfo("compression",y)},r.exports=g},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(i,r,l){var c=i("./stream/GenericWorker");l.STORE={magic:"\0\0",compressWorker:function(){return new c("STORE compression")},uncompressWorker:function(){return new c("STORE decompression")}},l.DEFLATE=i("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(i,r,l){var c=i("./utils"),h=(function(){for(var d,p=[],g=0;g<256;g++){d=g;for(var b=0;b<8;b++)d=1&d?3988292384^d>>>1:d>>>1;p[g]=d}return p})();r.exports=function(d,p){return d!==void 0&&d.length?c.getTypeOf(d)!=="string"?(function(g,b,y,_){var v=h,w=_+y;g^=-1;for(var $=_;$>>8^v[255&(g^b[$])];return-1^g})(0|p,d,d.length,0):(function(g,b,y,_){var v=h,w=_+y;g^=-1;for(var $=_;$>>8^v[255&(g^b.charCodeAt($))];return-1^g})(0|p,d,d.length,0):0}},{"./utils":32}],5:[function(i,r,l){l.base64=!1,l.binary=!1,l.dir=!1,l.createFolders=!0,l.date=null,l.compression=null,l.compressionOptions=null,l.comment=null,l.unixPermissions=null,l.dosPermissions=null},{}],6:[function(i,r,l){var c=null;c=typeof Promise<"u"?Promise:i("lie"),r.exports={Promise:c}},{lie:37}],7:[function(i,r,l){var c=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",h=i("pako"),d=i("./utils"),p=i("./stream/GenericWorker"),g=c?"uint8array":"array";function b(y,_){p.call(this,"FlateWorker/"+y),this._pako=null,this._pakoAction=y,this._pakoOptions=_,this.meta={}}l.magic="\b\0",d.inherits(b,p),b.prototype.processChunk=function(y){this.meta=y.meta,this._pako===null&&this._createPako(),this._pako.push(d.transformTo(g,y.data),!1)},b.prototype.flush=function(){p.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},b.prototype.cleanUp=function(){p.prototype.cleanUp.call(this),this._pako=null},b.prototype._createPako=function(){this._pako=new h[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var y=this;this._pako.onData=function(_){y.push({data:_,meta:y.meta})}},l.compressWorker=function(y){return new b("Deflate",y)},l.uncompressWorker=function(){return new b("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(i,r,l){function c(v,w){var $,I="";for($=0;$>>=8;return I}function h(v,w,$,I,T,C){var D,R,N=v.file,U=v.compression,j=C!==g.utf8encode,B=d.transformTo("string",C(N.name)),J=d.transformTo("string",g.utf8encode(N.name)),ae=N.comment,ye=d.transformTo("string",C(ae)),M=d.transformTo("string",g.utf8encode(ae)),W=J.length!==N.name.length,k=M.length!==ae.length,X="",ge="",ce="",oe=N.dir,le=N.date,Q={crc32:0,compressedSize:0,uncompressedSize:0};w&&!$||(Q.crc32=v.crc32,Q.compressedSize=v.compressedSize,Q.uncompressedSize=v.uncompressedSize);var F=0;w&&(F|=8),j||!W&&!k||(F|=2048);var P=0,me=0;oe&&(P|=16),T==="UNIX"?(me=798,P|=(function(ie,ke){var Ne=ie;return ie||(Ne=ke?16893:33204),(65535&Ne)<<16})(N.unixPermissions,oe)):(me=20,P|=(function(ie){return 63&(ie||0)})(N.dosPermissions)),D=le.getUTCHours(),D<<=6,D|=le.getUTCMinutes(),D<<=5,D|=le.getUTCSeconds()/2,R=le.getUTCFullYear()-1980,R<<=4,R|=le.getUTCMonth()+1,R<<=5,R|=le.getUTCDate(),W&&(ge=c(1,1)+c(b(B),4)+J,X+="up"+c(ge.length,2)+ge),k&&(ce=c(1,1)+c(b(ye),4)+M,X+="uc"+c(ce.length,2)+ce);var ne="";return ne+=` + await setStateAsync("${s.oidResult}", val1_${s._id} ${s.operation} val2_${s._id}, ${s.tagCard==="update"});`}renderDebug(s){var i,r;return m.jsxs("span",{children:[x.I18n.t("Set:")," ",m.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:Yn(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 fu.getStaticData()}}const dM=[Bi,au,lu,ma,fa,ti,cu,uu,du,hu,pu,gu,mu,fu],Rc={sayit:ou,pushover:iu,"whatsapp-cmb":nu,pushsafer:ru},hM=Fm({blocks:null,socket:null,onUpdate:!1,setOnUpdate:a=>{},setOnDebugMessage:a=>{},onDebugMessage:[],enableSimulation:!1,setEnableSimulation:a=>{},changedScripts:{},setChangedScripts:a=>{}}),pM=({children:a,socket:s})=>{const[i,r]=St(null),[l,c]=St(!1),[h,d]=St([]),[p,g]=St(!1),[b,y]=St({});return Ft(()=>{l&&c(!1)},[l]),Ft(()=>{(async()=>{const _=await s.getAdapterInstances(),v=Object.keys(Rc).filter(C=>_.find(D=>{var R;return((R=D==null?void 0:D.common)==null?void 0:R.name)===C})),w=[],$=_.filter(C=>C.common.javascriptRules),I=[];for(const C of $){if(I.includes(C.common.name)||!C.common.javascriptRules)continue;let D;if(C.common.javascriptRules.url.startsWith("http:")||C.common.javascriptRules.url.startsWith("https:")?D=C.common.javascriptRules.url:C.common.javascriptRules.url.startsWith("./")?D=`${window.location.protocol}//${window.location.host}${C.common.javascriptRules.url.replace(/^\./,"")}`:D=`${window.location.protocol}//${window.location.host}/adapter/${C.common.name}/${C.common.javascriptRules.url}`,C.common.javascriptRules.i18n===!0){const R=D.lastIndexOf("/");let N;R!==-1?N=D.substring(0,R):N=D;const U=x.I18n.getLanguage(),j=`${N}/i18n/${U}.json`;await fetch(j).then(B=>B.json()).then(B=>x.I18n.extendTranslations(B,U)).catch(B=>{if(U!=="en")return fetch(`${N}/i18n/en.json`).then(J=>J.json()).then(J=>x.I18n.extendTranslations(J,U)).catch(J=>console.error(`Cannot load i18n "${j}": ${J}`));console.log(`Cannot load i18n "${j}": ${B}`)})}else if(C.common.javascriptRules.i18n&&typeof C.common.javascriptRules.i18n=="object")try{x.I18n.extendTranslations(C.common.javascriptRules.i18n)}catch(R){console.error(`Cannot import i18n for "${C.common.javascriptRules.name}": ${R}`)}try{D_.registerRemotes([{name:C.common.javascriptRules.name,entry:D,type:C.common.javascriptRules.type}]);const R=(await D_.loadRemote(`${C.common.javascriptRules.name}/${C.common.javascriptRules.name}`)).default;R&&(w.push(R),I.push(C.common.name),Rc[C.common.name]=null)}catch(R){console.error(`Cannot load component "${C.common.javascriptRules.name}": ${R}`)}}const T=v.filter(C=>Rc[C]).map(C=>Rc[C]);r([...dM,...T,...w])})()},[]),m.jsx(hM.Provider,{value:{blocks:i,socket:s,onUpdate:l,setOnUpdate:c,onDebugMessage:h,setOnDebugMessage:d,enableSimulation:p,setEnableSimulation:g,changedScripts:b,setChangedScripts:y},children:a})},gM="Acknowledged",mM="Actions",fM="Add",$M="All",bM="Any",yM="Apply",vM="April",_M="Ask",wM="Astronomical",kM="August",CM="Cancel",SM="Close",TM="Condition",IM="Conditions",EM="Console",xM="Copied",DM="December",AM="Default",RM="Delay",OM="Delete",MM="Description",NM="Done",LM="Exec shell",PM="Explanation",BM="Export",jM="Februar",FM="February",zM="Filter",UM="Folder",HM="Fr",WM="Friday",GM="ID",VM="ID1",KM="ID2",YM="Import",JM="Instance",qM="Instances",XM="Instructions",ZM="Januar",QM="January",eN="July",tN="June",sN="Limit",oN="March",iN="May",nN="Menu",rN="Message",aN="Mo",lN="Model",cN="Monday",uN="Month",dN="More",hN="Name",pN="November",gN="OK",mN="October",fN="Ok",$N="Pause",bN="Pushover",yN="Pushsafer",vN="Reload",_N="Rename",wN="Repeat",kN="Restart",CN="Result",SN="Sa",TN="Saturday",IN="Save",EN="Schedule",xN="Script",DN="September",AN="Simulate",RN="Stack",ON="Start",MN="State",NN="Su",LN="Sunday",PN="Telegram",BN="Th",jN="Thursday",FN="Time",zN="Triggered",UN="Triggers",HN="Tu",WN="Tuesday",GN="URL",VN="Value",KN="Volume",YN="We",JN="Wednesday",qN="Write",XN="Yes",ZN="acknowledgment",QN="all",eL="and",tL="Astro",sL="at",oL="control",iL="copy",nL="CRON",rL="Dawn",aL="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.",lL="Debug",cL="Dusk",uL="easy",dL="every",hL="Function",pL="ID",gL="Name",mL="Role",fL="Room",$L="Golden hour",bL="End of golden hour",yL='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.',vL='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.',_L="hours",wL="includes",kL="interval",CL="magic",SL="milliseconds",TL="minutes",IL="ms",EL="Nadir",xL="Nautical dawn",DL="Nautical dusk",AL="Next Sunrise",RL="Next sunset",OL="Night",ML="Night end",NL="normal",LL="offset",PL="one",BL="or",jL="quiet",FL="search",zL="seconds",UL="Solar noon",HL="sunrise",WL="Sunrise end",GL="Sunset",VL="Sunset start",KL="then",YL="Acknowledge",JL="From",qL="Last changed",XL="Quality",ZL="Timestamp",QL="User",eP="Value",tP="two",sP="update",oP="Adds debug output to the log for many system commands",iP="Verbose log outputs",nP="when",rP="Wizard",aP="Retry",lP="Undo",cP="Redo",uP="Accept",dP="Reject",hP="Context",pP="devices",gP="Plan",mP="Send",fP="Copy",$P="Explain",bP="Refactor",yP="Tests",vP={"%s not found":"%s not found","()":"()","(at %s)":"(at %s)","(optional)":"(optional)","-":"-",".":".",Ack:gM,Actions:mM,"Actual time of day":"Actual time of day",Add:fM,"Add new script":"Add new script",All:$M,"All files will be accepted":"All files will be accepted",Any:bM,"Any month":"Any month",Apply:yM,April:vM,"Are you sure?":"Are you sure?",Ask:_M,Astronomical:wM,"Astronomical events today":"Astronomical events today",August:kM,"Blockly description":"Creating rules by graphic blocks","Body:":"Body:",Cancel:CM,"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:SM,"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:TM,Conditions:IM,"Configuration not saved.":"Configuration not saved.",Console:EM,"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:xM,"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:DM,Default:AM,"Define cron...":"Define cron...","Define schedule...":"Define schedule...",Delay:RM,Delete:OM,"Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script",Description:MM,"Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s",Done:NM,"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",Error:"Error","Error formatting code":"Error formatting code","Error was found":"Error was found","Every day":"Every day",Exec:LM,"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:PM,Export:BM,"Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks",Februar:jM,February:FM,Filter:zM,Folder:UM,Fr:HM,Friday:WM,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:GM,ID1:VM,ID2:KM,Import:YM,"Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID",Instance:JM,"Instance is disabled":"Instance is disabled","Instance:":"Instance:",Instances:qM,Instructions:XM,"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:ZM,January:QM,July:eN,June:tN,"Just check":"Just check","Keep my changes":"Keep my changes","Language:":"Language:","Learn More":"Learn More","Light style":"Light style",Limit:sN,"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:oN,"March ":"March ",May:iN,Menu:nN,Message:rN,Mo:aN,Model:lN,Monday:cN,Month:uN,More:dN,Name:hN,"No active host found":"No active host found","Nothing found":"Nothing found",November:pN,OK:gN,October:mN,Ok:fN,"On condition change":"On condition result change","On script save or adapter start":"On script save or adapter start","On weekdays":"On weekdays","Operate two states":"Operate two states","Operations with two states":"Operations with two states","Paste your blocks here":"Paste your blocks here",Pause:$N,"Pause execution":"Pause execution","Pause script":"Pause script","Phone:":"Phone:","Please select object ID...":"Please select object ID...","Prettify the script":"Prettify the script","Print some text in log":"Print some text in log","Priority:":"Priority:",Pushover:bN,Pushsafer:yN,"Read only ID selected: %s":"Read only ID selected: %s",Reload:vN,Rename:_N,"Reorder scripts in folders":"Reorder scripts in folders",Repeat:wN,Restart:kN,Result:CN,"Resume execution":"Resume execution","Root folder":"Root folder","Rules description":"Create rules with IF, THEN, ELSE blocks","Run script":"Run script",Sa:SN,Saturday:TN,Save:IN,"Save all":"Save all","Say It":"Say It","Say some text via sayit adapter":"Say some text via sayit adapter",Schedule:EN,Script:xN,"Script %s was modified on disk":"Script %s was modified on disk","Script was modified externally":"Script was modified externally","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:DN,"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:AN,"Some files will be rejected":"Some files will be rejected","Sound:":"Sound:",Stack:RN,Start:ON,"Start script":"Start script",State:MN,"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:NN,"Subject:":"Subject:",Sunday:LN,"TS description":"Creating rules by writing Typescript",Telegram:PN,"Text:":"Text:",Th:BN,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?',"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:jN,Time:FN,"Time condition":"Time condition","Title:":"Title:","To:":"To:","Trigger with value":"Trigger with value",Triggered:zN,Triggers:UN,"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:HN,Tuesday:WN,URL:GN,"Unknown error":"Unknown error","Unknown error!":"Unknown error!","User function":"User function","User:":"User:",Value:VN,"Vibration:":"Vibration:",Volume:KN,We:YN,Wednesday:JN,"Whatsapp-cmb":"Whatsapp-cmb",Write:qN,"Write your own code":"Write your own code",Yes:XN,"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","Please select a valid model":"Please select a valid model","[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:ZN,all:QN,and:eL,"as JSON":"as JSON","as plain text":"as plain text",astro:tL,at:sL,"clear running":"clear running",control:oL,copy:iL,cron:nL,dawn:rL,debug_help:aL,debug_label:lL,default:"default",dusk:cL,easy:uL,else:"else","equal to":"equal to",every:dL,"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:hL,filter_id:pL,filter_name:gL,filter_role:mL,filter_room:fL,"for edit or create script":"for edit or create a new script","for professionals":"for professionals","for programmers":"for programmers",goldenHour:$L,goldenHourEnd:bL,"greater or equal":"greater or equal","greater or equal to":"greater or equal to","greater than":"greater than",help_just_check:yL,help_on_change:vL,"high priority":"high priority","high-priority":"high-priority","highest priority":"highest priority",hours:_L,includes:wL,interval:kL,"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:CL,milliseconds:SL,minutes:TL,ms:IL,nadir:EL,nauticalDawn:xL,nauticalDusk:DL,nextSunrise:AL,nextSunset:RL,night:OL,nightEnd:ML,"no blocks found":"No blocks found","no group":"NO GROUP",normal:NL,"normal priority":"normal priority","not running":"not running","not equal to":"not equal to","not properly connected":"This block is not properly connected to other blocks.",offset:LL,"on change":"on change","on condition change":"on condition change","on update":"on update",one:PL,or:BL,quiet:jL,"reset search":"reset search",search:FL,seconds:zL,solarNoon:UL,"store in":"store in",sunrise:HL,sunriseEnd:WL,sunset:GL,sunsetStart:VL,then:KL,"toggle value":"toggle value",tooltip_ack:YL,tooltip_from:JL,tooltip_lc:qL,tooltip_quality:XL,tooltip_ts:ZL,tooltip_user:QL,tooltip_value:eP,true:"true",two:tP,undefined:"undefined",update:sP,"use seconds":"use seconds","use trigger value":"use trigger value",verbose_help:oP,verbose_label:iP,when:nP,with:"with","with date":"with date","with offset":"with offset",wizard:rP,"Loading models...":"Loading models...","Could not connect to API at %s":"Could not connect to API at %s","Invalid API key":"Invalid API key","Access denied by API":"Access denied by API","API error: %s":"API error: %s",'Model "%s" not found':'Model "%s" not found',"Request failed: %s":"Request failed: %s",Retry:aP,"No running javascript instance found":"No running javascript instance found","OID display mode":"OID display mode","AI Chat":"AI Chat","AI inline completions":"AI inline completions","New chat":"New chat","Ask about your script...":"Ask about your script...","Insert blocks":"Insert blocks","Apply blocks":"Apply blocks",Undo:lP,Redo:cP,"Insert into editor":"Insert into editor","Show as diff":"Show as diff","Selected code as context":"Selected code as context","Ask questions about your script, request changes, or generate new code.":"Ask questions about your script, request changes, or generate new code.","to send":"to send","Thinking...":"Thinking...","AI suggested changes":"AI suggested changes",Accept:uP,Reject:dP,"No API keys configured":"No API keys configured","for new line":"for new line","AI chat mode":"AI chat mode","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".','For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Plain conversation. Best for: general questions, syntax help, concept explanations.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.",Context:hP,"current script":"current script","all scripts":"all scripts",devices:pP,"Searching datapoints":"Searching datapoints","Reading value":"Reading value","Loading object info":"Loading object info","Searching scripts":"Searching scripts","Reading script":"Reading script","Loading script list":"Loading script list","All scripts":"All scripts","Smart home devices":"Smart home devices","Generating plan...":"Generating plan...","Generating code...":"Generating code...",Plan:gP,"mention @all":"@all","mention @devices":"@devices",Send:mP,Copy:fP,"AI inline chat":"AI inline chat",'e.g. "Refactor this to use async/await"':'e.g. "Refactor this to use async/await"',"Open in chat":"Open in chat","Selection: %s line(s)":"Selection: %s line(s)","No selection — the question will use context from the whole script.":"No selection — the question will use context from the whole script.","Please enter a question.":"Please enter a question.","Thinking…":"Thinking…","Code proposal — press Apply to replace your selection.":"Code proposal — press Apply to replace your selection.","Plain text answer.":"Plain text answer.","Show more details":"Show more details","AI: Inline chat…":"AI: Inline chat…","AI: Explain":"AI: Explain","AI: Refactor":"AI: Refactor","AI: Add comments":"AI: Add comments","AI: Fix problem":"AI: Fix problem","AI: Suggest tests":"AI: Suggest tests","Ask the AI about the selected code:":"Ask the AI about the selected code:",Explain:$P,Refactor:bP,Tests:yP,"Explain %s %s":"Explain %s %s","Refactor %s %s":"Refactor %s %s","Suggest tests for %s %s":"Suggest tests for %s %s","Apply changes":"Apply changes","Discard changes":"Discard changes",'Ask anything, or request a change (e.g. "what does this do?")':'Ask anything, or request a change (e.g. "what does this do?")'},_P="Bestätigt",wP="Aktionen",kP="Hinzufügen",CP="Alle",SP="Egal",TP="Anwenden",IP="April",EP="Fragen",xP="Astronomisch",DP="August",AP="Abbrechen",RP="Schließen",OP="Bedingung",MP="Bedingungen",NP="Konsole",LP="Kopiert",PP="Dezember",BP="Standard",jP="Verzögerung",FP="Löschen",zP="Beschreibung",UP="Fertig",HP="Exec shell",WP="Erläuterung",GP="Export",VP="Februar",KP="Februar",YP="Filter",JP="Ordner",qP="Fr",XP="Freitag",ZP="ID",QP="ID1",eB="ID2",tB="Import",sB="Instanz",oB="Instanzen",iB="Anleitung",nB="Januar",rB="Januar",aB="Juli",lB="Juni",cB="Grenze",uB="März",dB="Mai",hB="Menü",pB="Nachricht",gB="Mo",mB="Modell",fB="Montag",$B="Monat",bB="Mehr",yB="Name",vB="November",_B="OK",wB="Oktober",kB="Ok",CB="Pause",SB="Pushover",TB="Pushsafer",IB="Neu laden",EB="Umbenennen",xB="Wiederholen",DB="Neustart",AB="Ergebnis",RB="Sa",OB="Samstag",MB="Speichern",NB="Zeitplan",LB="Skript",PB="September",BB="Simulieren",jB="Stack",FB="Start",zB="Zustand",UB="So",HB="Sonntag",WB="Telegram",GB="Do",VB="Donnerstag",KB="Zeit",YB="Ausgelöst",JB="Löst aus",qB="Di",XB="Dienstag",ZB="URL",QB="Wert",e2="Volumen",t2="Mi",s2="Mittwoch",o2="Schreiben",i2="Ja",n2="Wissen",r2="alle",a2="und",l2="Astro",c2="um",u2="Steuerung",d2="Kopie",h2="CRON",p2="Morgendämmerung",g2="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.",m2="Debuggen",f2="Abenddämmerung",$2="einfach",b2="jeder",y2="Funktion",v2="ID",_2="Name",w2="Rolle",k2="Raum",C2="Goldene Abendstunde",S2="Vormittag",T2='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.',I2='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.',E2="Stunden",x2="beinhaltet",D2="Intervall",A2="Magie",R2="Millisekunden",O2="Minuten",M2="ms",N2="Nadir",L2="nautische Morgendämmerung",P2="nautische Abenddämmerung",B2="Nächster Sonnenaufgang",j2="Nächster Sonnenuntergang",F2="Nacht",z2="astronomische Morgendämmerung",U2="Normal",H2="Versatz",W2="einer",G2="oder",V2="ruhig",K2="Suche",Y2="Sekunden",J2="(Nach-)Mittag",q2="Sonnenaufgang",X2="Goldene Morgenstunde",Z2="Sonnenuntergang",Q2="Sonnenuntergang (Anfang)",ej="dann",tj="Bestätigen",sj="Von",oj="Zuletzt geändert",ij="Qualität",nj="Zeitstempel",rj="Benutzer",aj="Wert",lj="zwei",cj="Aktualisieren",uj="Fügt Debug-Ausgaben für viele Systembefehle zum Protokoll hinzu",dj="Ausführliche Protokollausgaben",hj="falls",pj="Assistent",gj="Erneut versuchen",mj="Rückgängig",fj="Wiederherstellen",$j="Akzeptieren",bj="Ablehnen",yj="Kontext",vj="Geräte",_j="Plan",wj="Senden",kj="Kopieren",Cj="Erklären",Sj="Refaktorieren",Tj="Tests",Ij={"%s not found":"%s nicht gefunden","()":"()","(at %s)":"(um %s)","(optional)":"(optional)","-":"-",".":".",Ack:_P,Actions:wP,"Actual time of day":"Tatsächliche Tageszeit",Add:kP,"Add new script":"Neues Skript hinzufügen",All:CP,"All files will be accepted":"Alle Dateien werden akzeptiert",Any:SP,"Any month":"Jeden Monat",Apply:TP,April:IP,"Are you sure?":"Wirklich sicher?",Ask:EP,Astronomical:xP,"Astronomical events today":"Astronomische Ereignisse heute",August:DP,"Blockly description":"Erstellen von Regeln durch Grafikblöcke","Body:":"Körper:",Cancel:AP,"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:RP,"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:OP,Conditions:MP,"Configuration not saved.":"Die Konfiguration ist nicht gespeichert.",Console:NP,"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:LP,"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:PP,Default:BP,"Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...",Delay:jP,Delete:FP,"Delete %s":"Löschen %s...","Delete folder":"Ordner löschen","Delete script":"Skript löschen",Description:zP,"Deselect all":"Alles abwählen","Discard changes for %s":"Änderungen für %s verwerfen",Done:UP,"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",Error:"Fehler","Error formatting code":"Fehler beim Formatieren des Codes","Error was found":"Fehler wurde gefunden","Every day":"Täglich",Exec:HP,"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:WP,Export:GP,"Export all scripts":"Alle Skripte exportieren","Export blocks":"Blöcke exportieren","Export selected blocks":"Ausgewählte Blöcke exportieren",Februar:VP,February:KP,Filter:YP,Folder:JP,Fr:qP,Friday:XP,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:ZP,ID1:QP,ID2:eB,Import:tB,"Import blocks":"Blöcke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einfügen",Instance:sB,"Instance is disabled":"Instanz ist deaktiviert","Instance:":"Instanz:",Instances:oB,Instructions:iB,"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:nB,January:rB,July:aB,June:lB,"Just check":"Einfach überprüfen","Keep my changes":"Meine Änderungen behalten","Language:":"Sprache:","Learn More":"Mehr erfahren","Light style":"Heller Stil",Limit:cB,"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:uB,"March ":"März ",May:dB,Menu:hB,Message:pB,Mo:gB,Model:mB,Monday:fB,Month:$B,More:bB,Name:yB,"No active host found":"Kein aktiver Host gefunden","Nothing found":"Nichts gefunden",November:vB,OK:_B,October:wB,Ok:kB,"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","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:CB,"Pause execution":"Ausführung pausieren","Pause script":"Skript anhalten","Phone:":"Telefon:","Please select object ID...":"Objekt-ID auswählen ...","Prettify the script":"Verschönern Sie das Skript","Print some text in log":"Einen Text im Protokoll ausdrucken","Priority:":"Priorität:",Pushover:SB,Pushsafer:TB,"Read only ID selected: %s":"Schreibgeschützte ID ausgewählt: %s",Reload:IB,Rename:EB,"Reorder scripts in folders":"Skripte in Ordnern neu ordnen",Repeat:xB,Restart:DB,Result:AB,"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:RB,Saturday:OB,Save:MB,"Save all":"Alle speichern","Say It":"Say It","Say some text via sayit adapter":"Einen Text über den Sayit-Adapter sagen",Schedule:NB,Script:LB,"Script %s was modified on disk":'Skript "%s" wurde auf der Festplatte geändert',"Script was modified externally":"Skript wurde extern 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:PB,"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:BB,"Some files will be rejected":"Einige Dateien werden abgelehnt","Sound:":"Klang:",Stack:jB,Start:FB,"Start script":"Skript starten",State:zB,"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:UB,"Subject:":"Gegenstand:",Sunday:HB,"TS description":"Regeln erstellen mit TypeScript",Telegram:WB,"Text:":"Text:",Th:GB,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Das Skript "%s" wurde von einem anderen Benutzer oder in einem anderen Fenster geändert. Möchten Sie das Skript neu laden oder Ihre lokalen Änderungen behalten?',"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:VB,Time:KB,"Time condition":"Zeitbedingung","Title:":"Titel:","To:":"Zu:","Trigger with value":"Trigger mit Wert",Triggered:YB,Triggers:JB,"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:qB,Tuesday:XB,URL:ZB,"Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","User function":"Benutzerfunktion","User:":"Benutzer:",Value:QB,"Vibration:":"Vibration:",Volume:e2,We:t2,Wednesday:s2,"Whatsapp-cmb":"WhatsApp-cmb",Write:o2,"Write your own code":"Eigenen Code schreiben",Yes:i2,"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","Please select a valid model":"Bitte ein gültiges Modell auswählen","[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:n2,all:r2,and:a2,"as JSON":"als JSON","as plain text":"als Klartext",astro:l2,at:c2,"clear running":"laufende abbrechen",control:u2,copy:d2,cron:h2,dawn:p2,debug_help:g2,debug_label:m2,default:"Standard",dusk:f2,easy:$2,else:"sonst","equal to":"gleich",every:b2,"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:y2,filter_id:v2,filter_name:_2,filter_role:w2,filter_room:k2,"for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","for professionals":"für Profis","for programmers":"für Programmierer",goldenHour:C2,goldenHourEnd:S2,"greater or equal":"größer oder gleich","greater or equal to":"größer oder gleich","greater than":"größer als",help_just_check:T2,help_on_change:I2,"high priority":"hohe Priorität","high-priority":"hohe Priorität","highest priority":"höchste Priorität",hours:E2,includes:x2,interval:D2,"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:A2,milliseconds:R2,minutes:O2,ms:M2,nadir:N2,nauticalDawn:L2,nauticalDusk:P2,nextSunrise:B2,nextSunset:j2,night:F2,nightEnd:z2,"no blocks found":"Keine Blöcke gefunden","no group":"KEINE GRUPPE",normal:U2,"normal priority":"normale Priorität","not running":"nicht gestartet","not equal to":"ungleich","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.",offset:H2,"on change":"bei Änderung","on condition change":"bei Zustandsänderung","on update":"beim Aktualisieren",one:W2,or:G2,quiet:V2,"reset search":"Suche zurücksetzen",search:K2,seconds:Y2,solarNoon:J2,"store in":"speichern in",sunrise:q2,sunriseEnd:X2,sunset:Z2,sunsetStart:Q2,then:ej,"toggle value":"Wert umschalten",tooltip_ack:tj,tooltip_from:sj,tooltip_lc:oj,tooltip_quality:ij,tooltip_ts:nj,tooltip_user:rj,tooltip_value:aj,true:"wahr",two:lj,undefined:"nicht definiert",update:cj,"use seconds":"Sekunden verwenden","use trigger value":"Triggerwert benutzen",verbose_help:uj,verbose_label:dj,when:hj,with:"mit","with date":"mit Datum","with offset":"mit Versatz",wizard:pj,"Loading models...":"Modelle werden geladen...","Could not connect to API at %s":"Verbindung zur API unter %s nicht möglich","Invalid API key":"Ungültiger API-Schlüssel","Access denied by API":"Zugriff von der API verweigert","API error: %s":"API-Fehler: %s",'Model "%s" not found':'Modell "%s" nicht gefunden',"Request failed: %s":"Anfrage fehlgeschlagen: %s",Retry:gj,"No running javascript instance found":"Keine laufende JavaScript-Instanz gefunden","OID display mode":"OID-Anzeigemodus","AI Chat":"KI Chat","AI inline completions":"KI Inline-Vervollständigung","New chat":"Neuer Chat","Ask about your script...":"Frage zu deinem Script stellen...","Insert blocks":"Blöcke einfügen","Apply blocks":"Blöcke anwenden",Undo:mj,Redo:fj,"Insert into editor":"In Editor einfügen","Show as diff":"Als Diff anzeigen","Selected code as context":"Ausgewählter Code als Kontext","Ask questions about your script, request changes, or generate new code.":"Stelle Fragen zu deinem Script, fordere Änderungen an oder generiere neuen Code.","to send":"zum Senden","Thinking...":"Denke nach...","AI suggested changes":"KI-vorgeschlagene Änderungen",Accept:$j,Reject:bj,"No API keys configured":"Keine API-Schlüssel konfiguriert","for new line":"für neue Zeile","AI chat mode":"KI-Chat-Modus","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Reine Unterhaltung. Für Fragen, Erklärungen und Syntaxhilfe. Greift nicht auf deine Skripte zu und ändert sie nicht.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':"Für größere Modelle mit Tool-Unterstützung. Die KI kann Skripte lesen, erstellen und bearbeiten, Datenpunkte nachschlagen und den Objektbaum durchsuchen — nützlich für „Erstelle ein Skript, das …“, „Welche Skripte nutzen diesen State?“ oder „Analysiere mein Licht-Skript“.",'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':"Für kleinere Modelle ohne Tool-Unterstützung. Zweistufiger Skript-Generator (erst Plan, dann Code) — nützlich für „Erstelle ein Skript, das …“ oder „Schreibe eine Blockly-Regel für …“. Das Ergebnis landet im Editor und kann per Smart-Apply übernommen werden.","Plain conversation. Best for: general questions, syntax help, concept explanations.":"Reine Unterhaltung. Am besten für: allgemeine Fragen, Syntaxhilfe, Konzept-Erklärungen.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Für größere Modelle mit Tool-Unterstützung. Am besten für: Skripte erstellen, bearbeiten oder analysieren; Datenpunkt-Verwendungen finden; Objektbaum durchsuchen.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Für kleinere Modelle ohne Tool-Unterstützung. Am besten für: neue JavaScript-/TypeScript- oder Blockly-Skripte aus einer Beschreibung erzeugen.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Skripte als Kontext für die KI erwähnen. Nutze @alle für alle Skripte oder @Skriptname für ein bestimmtes.",Context:yj,"current script":"aktuelles Script","all scripts":"alle Scripts",devices:vj,"Searching datapoints":"Suche Datenpunkte","Reading value":"Lese Wert","Loading object info":"Lade Objekt-Info","Searching scripts":"Durchsuche Scripts","Reading script":"Lese Script","Loading script list":"Lade Script-Liste","All scripts":"Alle Scripts","Smart home devices":"Smart-Home-Geräte","Generating plan...":"Erstelle Plan...","Generating code...":"Generiere Code...",Plan:_j,"mention @all":"@alle","mention @devices":"@geräte",Send:wj,Copy:kj,"AI inline chat":"KI-Inline-Chat",'e.g. "Refactor this to use async/await"':'z.B. "Refaktoriere das zu async/await"',"Open in chat":"Im Chat öffnen","Selection: %s line(s)":"Auswahl: %s Zeile(n)","No selection — the question will use context from the whole script.":"Keine Auswahl — die Frage bezieht sich auf das gesamte Skript.","Please enter a question.":"Bitte gib eine Frage ein.","Thinking…":"Denke nach…","Code proposal — press Apply to replace your selection.":"Code-Vorschlag — drücke Anwenden, um die Auswahl zu ersetzen.","Plain text answer.":"Textantwort.","Show more details":"Mehr Details anzeigen","AI: Inline chat…":"KI: Inline-Chat…","AI: Explain":"KI: Erklären","AI: Refactor":"KI: Refaktorieren","AI: Add comments":"KI: Kommentare hinzufügen","AI: Fix problem":"KI: Problem beheben","AI: Suggest tests":"KI: Tests vorschlagen","Ask the AI about the selected code:":"Frage die KI zum ausgewählten Code:",Explain:Cj,Refactor:Sj,Tests:Tj,"Explain %s %s":"%s %s erklären","Refactor %s %s":"%s %s refaktorieren","Suggest tests for %s %s":"Tests für %s %s vorschlagen","Apply changes":"Änderungen übernehmen","Discard changes":"Änderungen verwerfen",'Ask anything, or request a change (e.g. "what does this do?")':'Frag etwas oder bitte um eine Änderung (z.B. "was macht dieser Befehl?")'},Ej="Admitido",xj="Comportamiento",Dj="Añadir",Aj="Todos",Rj="Alguna",Oj="Apply",Mj="abril",Nj="Preguntar",Lj="Astronómico",Pj="agosto",Bj="Cancelar",jj="Cerrar",Fj="Condición",zj="Condiciones",Uj="Consola",Hj="Copiado",Wj="diciembre",Gj="Defecto",Vj="Demora",Kj="Eliminar",Yj="Descripción",Jj="Hecho",qj="Ejecutivo shell",Xj="Explicación",Zj="Exportar",Qj="Februar",eF="febrero",tF="Filtrar",sF="Carpeta",oF="P.",iF="viernes",nF="CARNÉ DE IDENTIDAD",rF="ID1",aF="ID2",lF="Importar",cF="Ejemplo",uF="Instancias",dF="Instrucciones",hF="Enero",pF="enero",gF="julio",mF="junio",fF="Límite",$F="marzo",bF="Mayo",yF="Menú",vF="Mensaje",_F="Mes",wF="Modelo",kF="lunes",CF="Mes",SF="Más",TF="Nombre",IF="noviembre",EF="OK",xF="octubre",DF="Okay",AF="Pausa",RF="Persona fácil de convencer",OF="Pushsafer",MF="Recargar",NF="Rebautizar",LF="Repetir",PF="Reiniciar",BF="Resultado",jF="Sa",FF="sábado",zF="Salvar",UF="Calendario",HF="Guión",WF="septiembre",GF="Simular",VF="Stack",KF="Comienzo",YF="Expresar",JF="Su",qF="domingo",XF="Telegrama",ZF="4",QF="jueves",ez="Tiempo",tz="Motivado",sz="Disparadores",oz="Tu",iz="martes",nz="URL",rz="Valor",az="Volumen",lz="3",cz="miércoles",uz="Escribir",dz="sí",hz="Reconocimiento",pz="todos",gz="y",mz="astro",fz="a",$z="control",bz="Copiar",yz="CRON",vz="Amanecer",_z="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.",wz="Depurar",kz="Oscuridad",Cz="fácil",Sz="cada",Tz="Función",Iz="CARNÉ DE IDENTIDAD",Ez="Nombre",xz="Papel",Dz="Habitación",Az="hora dorada",Rz="Fin de la hora dorada",Oz='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.',Mz='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.',Nz="horas",Lz="incluye",Pz="intervalo",Bz="magia",jz="milisegundos",Fz="minutos",zz="ms",Uz="nadir",Hz="Amanecer náutico",Wz="Atardecer náutico",Gz="próximo amanecer",Vz="Próxima puesta de sol",Kz="Noche",Yz="Fin de la noche",Jz="normal",qz="compensar",Xz="uno",Zz="o",Qz="tranquilo",eU="buscar",tU="segundos",sU="Mediodía solar",oU="amanecer",iU="Final del amanecer",nU="puesta de sol",rU="Inicio al atardecer",aU="entonces",lU="Reconocer",cU="De",uU="Último cambio",dU="Calidad",hU="Marca de tiempo",pU="Usuario",gU="Valor",mU="dos",fU="actualizar",$U="Agrega salida de depuración al registro para muchos comandos del sistema",bU="Salidas de registro detalladas",yU="cuando",vU="Wizard",_U="Reintentar",wU="Aceptar",kU="Rechazar",CU="Contexto",SU="dispositivos",TU="Deshacer",IU="Rehacer",EU="Plan",xU="Enviar",DU="Copiar",AU="Explicar",RU="Refactorizar",OU="Pruebas",MU={"%s not found":"%s no encontrado","()":"()","(at %s)":"(en %s)","(optional)":"(Opcional)","-":"-",".":".",Ack:Ej,Actions:xj,"Actual time of day":"Hora real del día",Add:Dj,"Add new script":"Agregar nuevo script",All:Aj,"All files will be accepted":"Todos los archivos serán aceptados.",Any:Rj,"Any month":"Cualquier mes",Apply:Oj,April:Mj,"Are you sure?":"¿Estás seguro?",Ask:Nj,Astronomical:Lj,"Astronomical events today":"Eventos astronómicos hoy",August:Pj,"Blockly description":"Crear reglas por bloques gráficos","Body:":"Cuerpo:",Cancel:Bj,"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:jj,"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:Fj,Conditions:zj,"Configuration not saved.":"Configuración no guardada.",Console:Uj,"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:Hj,"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:Wj,Default:Gj,"Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...",Delay:Vj,Delete:Kj,"Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar guión",Description:Yj,"Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s",Done:Jj,"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",Error:"Error","Error formatting code":"Código de formato de error","Error was found":"Error encontrado","Every day":"Diario",Exec:qj,"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:Xj,Export:Zj,"Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados",Februar:Qj,February:eF,Filter:tF,Folder:sF,Fr:oF,Friday:iF,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:nF,ID1:rF,ID2:aF,Import:lF,"Import blocks":"Importar bloques","Import error":"Error de importación","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto",Instance:cF,"Instance is disabled":"La instancia está deshabilitada","Instance:":"Ejemplo:",Instances:uF,Instructions:dF,"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:hF,January:pF,July:gF,June:mF,"Just check":"Sólo revisa","Keep my changes":"Mantener mis cambios","Language:":"Idioma:","Learn More":"Aprende más","Light style":"Estilo ligero",Limit:fF,"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:$F,"March ":"marzo",May:bF,Menu:yF,Message:vF,Mo:_F,Model:wF,Monday:kF,Month:CF,More:SF,Name:TF,"No active host found":"No se encontró un host activo","Nothing found":"Nada Encontrado",November:IF,OK:EF,October:xF,Ok:DF,"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","Operate two states":"Operar dos estados","Operations with two states":"Operaciones con dos estados","Paste your blocks here":"Pega tus bloques aquí",Pause:AF,"Pause execution":"Pausar ejecución","Pause script":"Pausar guion","Phone:":"Teléfono:","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Prettify the script":"Embellecer el guión","Print some text in log":"Imprime texto en el registro","Priority:":"Prioridad:",Pushover:RF,Pushsafer:OF,"Read only ID selected: %s":"ID de solo lectura seleccionado: %s",Reload:MF,Rename:NF,"Reorder scripts in folders":"Reordenar guiones en carpetas",Repeat:LF,Restart:PF,Result:BF,"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:jF,Saturday:FF,Save:zF,"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:UF,Script:HF,"Script %s was modified on disk":"El script %s fue modificado en el disco","Script was modified externally":"El script fue modificado externamente","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:WF,"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:GF,"Some files will be rejected":"Algunos archivos serán rechazados","Sound:":"Sonido:",Stack:VF,Start:KF,"Start script":"Iniciar guion",State:YF,"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:JF,"Subject:":"Sujeto:",Sunday:qF,"TS description":"Crear reglas escribiendo el mecanografiado",Telegram:XF,"Text:":"Texto:",Th:ZF,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'El script "%s" ha sido modificado por otro usuario o en otra ventana. ¿Desea recargar el script o mantener sus cambios locales?',"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:QF,Time:ez,"Time condition":"Condición de tiempo","Title:":"Título:","To:":"A:","Trigger with value":"Activar con valor",Triggered:tz,Triggers:sz,"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:oz,Tuesday:iz,URL:nz,"Unknown error":"Error desconocido","Unknown error!":"¡Error desconocido!","User function":"Función de usuario","User:":"Usuario:",Value:rz,"Vibration:":"Vibración:",Volume:az,We:lz,Wednesday:cz,"Whatsapp-cmb":"Whatsapp-cmb",Write:uz,"Write your own code":"Escribe tu propio código",Yes:dz,"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","Please select a valid model":"Por favor, seleccione un modelo válido","[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:hz,all:pz,and:gz,"as JSON":"como JSON","as plain text":"como texto plano",astro:mz,at:fz,"clear running":"carrera clara",control:$z,copy:bz,cron:yz,dawn:vz,debug_help:_z,debug_label:wz,default:"defecto",dusk:kz,easy:Cz,else:"demás","equal to":"igual a",every:Sz,"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:Tz,filter_id:Iz,filter_name:Ez,filter_role:xz,filter_room:Dz,"for edit or create script":"para editar o crear un nuevo script","for professionals":"para profesionales","for programmers":"para programadores",goldenHour:Az,goldenHourEnd:Rz,"greater or equal":"mayor o igual","greater or equal to":"mayor o igual a","greater than":"mas grande que",help_just_check:Oz,help_on_change:Mz,"high priority":"alta prioridad","high-priority":"alta prioridad","highest priority":"más alta prioridad",hours:Nz,includes:Lz,interval:Pz,"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:Bz,milliseconds:jz,minutes:Fz,ms:zz,nadir:Uz,nauticalDawn:Hz,nauticalDusk:Wz,nextSunrise:Gz,nextSunset:Vz,night:Kz,nightEnd:Yz,"no blocks found":"No se encontraron bloques","no group":"NO GRUPO",normal:Jz,"normal priority":"prioridad normal","not running":"no está en ejecución","not equal to":"no igual a","not properly connected":"Este bloque no está conectado correctamente a otros bloques.",offset:qz,"on change":"en el cambio","on condition change":"con cambio de condición","on update":"en actualización",one:Xz,or:Zz,quiet:Qz,"reset search":"restablecer la búsqueda",search:eU,seconds:tU,solarNoon:sU,"store in":"almacenar en",sunrise:oU,sunriseEnd:iU,sunset:nU,sunsetStart:rU,then:aU,"toggle value":"alternar valor",tooltip_ack:lU,tooltip_from:cU,tooltip_lc:uU,tooltip_quality:dU,tooltip_ts:hU,tooltip_user:pU,tooltip_value:gU,true:"cierto",two:mU,undefined:"indefinido",update:fU,"use seconds":"usar segundos","use trigger value":"usar valor de activación",verbose_help:$U,verbose_label:bU,when:yU,with:"con","with date":"con fecha","with offset":"con desplazamiento",wizard:vU,"Loading models...":"Cargando modelos...","Could not connect to API at %s":"No se pudo conectar a la API en %s","Invalid API key":"Clave API no válida","Access denied by API":"Acceso denegado por la API","API error: %s":"Error de API: %s",'Model "%s" not found':'Modelo "%s" no encontrado',"Request failed: %s":"Solicitud fallida: %s",Retry:_U,"No running javascript instance found":"No se encontró ninguna instancia de JavaScript en ejecución","OID display mode":"Modo de visualización OID","Ask questions about your script, request changes, or generate new code.":"Haz preguntas sobre tu script, solicita cambios o genera nuevo código.","to send":"para enviar","Thinking...":"Pensando...","AI suggested changes":"Cambios sugeridos por IA",Accept:wU,Reject:kU,"No API keys configured":"No hay claves API configuradas","for new line":"para nueva línea","AI chat mode":"Modo de chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversación simple. Úsalo para preguntas, explicaciones y ayuda de sintaxis. No lee ni modifica tus scripts.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':"Para modelos más grandes con soporte de herramientas. La IA puede leer, crear y editar scripts, consultar datapoints y navegar por el árbol de objetos — útil para «crea un script que...», «¿qué scripts usan este state?» o «analiza mi script de luz».",'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Para modelos más pequeños sin soporte de herramientas. Generador de scripts en dos pasos (primero plan, luego código) — útil para "crea un script que..." o "escribe una regla Blockly para...". El resultado va al editor para smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversación simple. Ideal para: preguntas generales, ayuda de sintaxis, explicaciones de conceptos.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Para modelos más grandes con soporte de herramientas. Ideal para: crear, editar o analizar scripts; encontrar usos de datapoints; inspeccionar el árbol de objetos.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Para modelos más pequeños sin soporte de herramientas. Ideal para: crear nuevos scripts JavaScript/TypeScript o Blockly a partir de una descripción.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mencionar scripts como contexto para la IA. Usa @todos para todos los scripts o @nombreScript para uno específico.",Context:CU,"current script":"script actual","all scripts":"todos los scripts",devices:SU,"Searching datapoints":"Buscando puntos de datos","Reading value":"Leyendo valor","Loading object info":"Cargando información del objeto","Searching scripts":"Buscando scripts","Reading script":"Leyendo script","Loading script list":"Cargando lista de scripts","All scripts":"Todos los scripts","Smart home devices":"Dispositivos del hogar inteligente","AI Chat":"Chat IA","AI inline completions":"Completado en línea con IA","New chat":"Nuevo chat","Ask about your script...":"Pregunta sobre tu script...","Insert blocks":"Insertar bloques","Apply blocks":"Aplicar bloques",Undo:TU,Redo:IU,"Insert into editor":"Insertar en el editor","Show as diff":"Mostrar como diff","Selected code as context":"Código seleccionado como contexto","Generating plan...":"Generando plan...","Generating code...":"Generando código...",Plan:EU,"mention @all":"@todos","mention @devices":"@dispositivos",Send:xU,Copy:DU,"AI inline chat":"Chat IA integrado",'e.g. "Refactor this to use async/await"':'p. ej. "Refactor this to use async/await"',"Open in chat":"Abrir en el chat","Selection: %s line(s)":"Selección: %s línea(s)","No selection — the question will use context from the whole script.":"Sin selección — la pregunta usará el contexto de todo el script.","Please enter a question.":"Introduce una pregunta.","Thinking…":"Pensando…","Code proposal — press Apply to replace your selection.":"Propuesta de código — pulsa Aplicar para reemplazar la selección.","Plain text answer.":"Respuesta de texto.","Show more details":"Mostrar más detalles","AI: Inline chat…":"IA: Chat integrado…","AI: Explain":"IA: Explicar","AI: Refactor":"IA: Refactorizar","AI: Add comments":"IA: Añadir comentarios","AI: Fix problem":"IA: Corregir problema","AI: Suggest tests":"IA: Sugerir pruebas","Ask the AI about the selected code:":"Pregunta a la IA sobre el código seleccionado:",Explain:AU,Refactor:RU,Tests:OU,"Explain %s %s":"Explicar %s %s","Refactor %s %s":"Refactorizar %s %s","Suggest tests for %s %s":"Sugerir pruebas para %s %s","Apply changes":"Aplicar cambios","Discard changes":"Descartar cambios",'Ask anything, or request a change (e.g. "what does this do?")':'Pregunta lo que quieras o pide un cambio (p. ej. "¿qué hace esto?")'},NU="Reconnu",LU="Actions",PU="Ajouter",BU="Tout",jU="Tout",FU="Postuler",zU="avril",UU="Demander",HU="Astronomique",WU="août",GU="Annuler",VU="proche",KU="État",YU="Conditions",JU="Console",qU="Copié",XU="décembre",ZU="Défaut",QU="Retard",eH="Effacer",tH="Description",sH="Terminé",oH="Exec shell",iH="Explication",nH="Exportation",rH="Février",aH="février",lH="Filtre",cH="Dossier",uH="Fr",dH="Vendredi",hH="ID",pH="ID1",gH="ID2",mH="Importation",fH="Exemple",$H="Instances",bH="Instructions",yH="Janvier",vH="janvier",_H="juillet",wH="juin",kH="Limite",CH="Mars",SH="Mai",TH="M e n u",IH="Message",EH="Mo",xH="Modèle",DH="Lundi",AH="Mois",RH="Plus",OH="Nom",MH="novembre",NH="OK",LH="octobre",PH="D'accord",BH="Pause",jH="Pushover",FH="Pushsafer",zH="Recharger",UH="Renommer",HH="Répéter",WH="Redémarrer",GH="Résultat",VH="Sa",KH="samedi",YH="sauver",JH="Horaire",qH="Scénario",XH="septembre",ZH="Simuler",QH="Stack",eW="Début",tW="État",sW="Su",oW="dimanche",iW="Télégramme",nW="4",rW="Jeudi",aW="Temps",lW="Déclenché",cW="Déclencheurs",uW="Tu",dW="Mardi",hW="URL",pW="Valeur",gW="Le volume",mW="3",fW="Mercredi",$W="Écrivez",bW="Oui",yW="reconnaissance",vW="tout",_W="et",wW="astro",kW="à",CW="contrôler",SW="copie",TW="CRON",IW="Aube",EW="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.",xW="Déboguer",DW="Crépuscule",AW="facile",RW="chaque",OW="Une fonction",MW="ID",NW="Nom",LW="Rôle",PW="Pièce",BW="Heure d'or",jW="Fin de l'heure d'or",FW="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.",zW="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.",UW="les heures",HW="comprend",WW="intervalle",GW="la magie",VW="millisecondes",KW="minutes",YW="ms",JW="nadir",qW="Aube nautique",XW="Crépuscule nautique",ZW="Prochain lever de soleil",QW="Prochain coucher de soleil",e5="Nuit",t5="Fin de nuit",s5="Ordinaire",o5="décalage",i5="une",n5="ou",r5="calmer",a5="chercher",l5="secondes",c5="Midi solaire",u5="lever du soleil",d5="Fin du lever du soleil",h5="le coucher du soleil",p5="Début du coucher du soleil",g5="alors",m5="Reconnaître",f5="De",$5="Dernière modification",b5="Qualité",y5="Horodatage",v5="Utilisateur",_5="Valeur",w5="deux",k5="mettre à jour",C5="Ajoute une sortie de débogage au journal pour de nombreuses commandes système",S5="Sorties de journal détaillées",T5="lorsque",I5="Wizard",E5="Réessayer",x5="Accepter",D5="Rejeter",A5="Contexte",R5="appareils",O5="Annuler",M5="Rétablir",N5="Plan",L5="Envoyer",P5="Copier",B5="Expliquer",j5="Refactoriser",F5="Tests",z5={"%s not found":"%s non trouvé","()":"()","(at %s)":"(à %s)","(optional)":"(optionnel)","-":"-",".":".",Ack:NU,Actions:LU,"Actual time of day":"Heure réelle de la journée",Add:PU,"Add new script":"Ajouter un nouveau script",All:BU,"All files will be accepted":"Tous les fichiers seront acceptés",Any:jU,"Any month":"N'importe quel mois",Apply:FU,April:zU,"Are you sure?":"Êtes-vous sûr?",Ask:UU,Astronomical:HU,"Astronomical events today":"Événements astronomiques aujourd'hui",August:WU,"Blockly description":"Création de règles par blocs graphiques","Body:":"Corps:",Cancel:GU,"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:VU,"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:KU,Conditions:YU,"Configuration not saved.":"Configuration non enregistrée.",Console:JU,"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:qU,"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:XU,Default:ZU,"Define cron...":"Définir le cron ...","Define schedule...":"Définir le calendrier ...",Delay:QU,Delete:eH,"Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script",Description:tH,"Deselect all":"Tout déselectionner","Discard changes for %s":"Ignorer les modifications pour %s",Done:sH,"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",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:oH,"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:iH,Export:nH,"Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d'exportation","Export selected blocks":"Exporter les blocs sélectionnés",Februar:rH,February:aH,Filter:lH,Folder:cH,Fr:uH,Friday:dH,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:hH,ID1:pH,ID2:gH,Import:mH,"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:fH,"Instance is disabled":"L'instance est désactivée","Instance:":"Exemple:",Instances:$H,Instructions:bH,"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:yH,January:vH,July:_H,June:wH,"Just check":"Vérifiez simplement","Keep my changes":"Garder mes modifications","Language:":"Langue:","Learn More":"Apprendre encore plus","Light style":"Style de lumière",Limit:kH,"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:CH,"March ":"mars",May:SH,Menu:TH,Message:IH,Mo:EH,Model:xH,Monday:DH,Month:AH,More:RH,Name:OH,"No active host found":"Aucun hôte actif trouvé","Nothing found":"Rien n'a été trouvé",November:MH,OK:NH,October:LH,Ok:PH,"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","Operate two states":"Opérer deux états","Operations with two states":"Opérations à deux états","Paste your blocks here":"Collez vos blocs ici",Pause:BH,"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 ...","Prettify the script":"Embellir le scénario","Print some text in log":"Imprimer du texte dans le journal","Priority:":"Priorité:",Pushover:jH,Pushsafer:FH,"Read only ID selected: %s":"ID en lecture seule sélectionné: %s",Reload:zH,Rename:UH,"Reorder scripts in folders":"Réorganiser les scripts dans des dossiers",Repeat:HH,Restart:WH,Result:GH,"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:VH,Saturday:KH,Save:YH,"Save all":"Sauver tous","Say It":"Say It","Say some text via sayit adapter":"Dites du texte via l'adaptateur sayit",Schedule:JH,Script:qH,"Script %s was modified on disk":"Le script %s a été modifié sur le disque","Script was modified externally":"Le script a été modifié en externe","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:XH,"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:ZH,"Some files will be rejected":"Certains fichiers seront rejetés","Sound:":"Sonner:",Stack:QH,Start:eW,"Start script":"Lancer le script",State:tW,"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:sW,"Subject:":"Sujet:",Sunday:oW,"TS description":"Créer des règles en écrivant des caractères dactylographiés",Telegram:iW,"Text:":"Texte:",Th:nW,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Le script "%s" a été modifié par un autre utilisateur ou dans une autre fenêtre. Voulez-vous recharger le script ou garder vos modifications locales ?',"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:rW,Time:aW,"Time condition":"Condition de temps","Title:":"Titre:","To:":"À:","Trigger with value":"Déclencheur avec valeur",Triggered:lW,Triggers:cW,"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:uW,Tuesday:dW,URL:hW,"Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","User function":"Fonction utilisateur","User:":"Utilisateur:",Value:pW,"Vibration:":"Vibration:",Volume:gW,We:mW,Wednesday:fW,"Whatsapp-cmb":"Whatsapp-cmb",Write:$W,"Write your own code":"Écrivez votre propre code",Yes:bW,"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","Please select a valid model":"Veuillez sélectionner un modèle valide","[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:yW,all:vW,and:_W,"as JSON":"en JSON","as plain text":"en texte brut",astro:wW,at:kW,"clear running":"course claire",control:CW,copy:SW,cron:TW,dawn:IW,debug_help:EW,debug_label:xW,default:"défaut",dusk:DW,easy:AW,else:"autre","equal to":"égal à",every:RW,"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:OW,filter_id:MW,filter_name:NW,filter_role:LW,filter_room:PW,"for edit or create script":"pour éditer ou créer un nouveau script","for professionals":"pour les professionnels","for programmers":"pour les programmeurs",goldenHour:BW,goldenHourEnd:jW,"greater or equal":"supérieur ou égal","greater or equal to":"supérieur ou égal à","greater than":"plus grand que",help_just_check:FW,help_on_change:zW,"high priority":"haute priorité","high-priority":"haute priorité","highest priority":"priorité la plus élevée",hours:UW,includes:HW,interval:WW,"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:GW,milliseconds:VW,minutes:KW,ms:YW,nadir:JW,nauticalDawn:qW,nauticalDusk:XW,nextSunrise:ZW,nextSunset:QW,night:e5,nightEnd:t5,"no blocks found":"Aucun bloc trouvé","no group":"PAS DE GROUPE",normal:s5,"normal priority":"priorité normale","not running":"pas en cours d'exécution","not equal to":"pas égal à","not properly connected":"Ce bloc n'est pas correctement connecté à d'autres blocs.",offset:o5,"on change":"sur le changement","on condition change":"sur changement de condition","on update":"sur mise à jour",one:i5,or:n5,quiet:r5,"reset search":"Réinitialiser la recherche",search:a5,seconds:l5,solarNoon:c5,"store in":"stocker dans",sunrise:u5,sunriseEnd:d5,sunset:h5,sunsetStart:p5,then:g5,"toggle value":"valeur de bascule",tooltip_ack:m5,tooltip_from:f5,tooltip_lc:$5,tooltip_quality:b5,tooltip_ts:y5,tooltip_user:v5,tooltip_value:_5,true:"vrai",two:w5,undefined:"indéfini",update:k5,"use seconds":"utiliser les secondes","use trigger value":"use trigger value",verbose_help:C5,verbose_label:S5,when:T5,with:"avec","with date":"avec date","with offset":"avec offset",wizard:I5,"Loading models...":"Chargement des modèles...","Could not connect to API at %s":"Impossible de se connecter à l'API sur %s","Invalid API key":"Clé API invalide","Access denied by API":"Accès refusé par l'API","API error: %s":"Erreur API : %s",'Model "%s" not found':'Modèle "%s" introuvable',"Request failed: %s":"Requête échouée : %s",Retry:E5,"No running javascript instance found":"Aucune instance JavaScript en cours d'exécution trouvée","OID display mode":"Mode d'affichage OID","Ask questions about your script, request changes, or generate new code.":"Posez des questions sur votre script, demandez des modifications ou générez du nouveau code.","to send":"pour envoyer","Thinking...":"Réflexion...","AI suggested changes":"Modifications suggérées par l'IA",Accept:x5,Reject:D5,"No API keys configured":"Aucune clé API configurée","for new line":"pour nouvelle ligne","AI chat mode":"Mode de chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversation simple. À utiliser pour les questions, explications et aide de syntaxe. Ne lit ni ne modifie vos scripts.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':"Pour les modèles plus grands avec prise en charge des outils. L'IA peut lire, créer et modifier des scripts, rechercher des datapoints et parcourir l'arbre d'objets — utile pour « crée un script qui... », « quels scripts utilisent cet état ? » ou « analyse mon script d'éclairage ».",'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':"Pour les modèles plus petits sans prise en charge des outils. Générateur de scripts en deux étapes (plan puis code) — utile pour « crée un script qui... » ou « écris une règle Blockly pour... ». Le résultat arrive dans l'éditeur pour un smart-apply.","Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversation simple. Idéal pour : questions générales, aide de syntaxe, explications de concepts.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Pour les modèles plus grands avec prise en charge des outils. Idéal pour : créer, modifier ou analyser des scripts ; trouver les utilisations de datapoints ; examiner l'arbre d'objets.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Pour les modèles plus petits sans prise en charge des outils. Idéal pour : créer de nouveaux scripts JavaScript/TypeScript ou Blockly à partir d'une description.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mentionner des scripts comme contexte pour l'IA. Utilisez @tous pour tous les scripts ou @nomDuScript pour un script spécifique.",Context:A5,"current script":"script actuel","all scripts":"tous les scripts",devices:R5,"Searching datapoints":"Recherche de points de données","Reading value":"Lecture de la valeur","Loading object info":"Chargement des informations de l'objet","Searching scripts":"Recherche de scripts","Reading script":"Lecture du script","Loading script list":"Chargement de la liste des scripts","All scripts":"Tous les scripts","Smart home devices":"Appareils domotiques","AI Chat":"Chat IA","AI inline completions":"Complétions en ligne IA","New chat":"Nouveau chat","Ask about your script...":"Posez une question sur votre script...","Insert blocks":"Insérer des blocs","Apply blocks":"Appliquer les blocs",Undo:O5,Redo:M5,"Insert into editor":"Insérer dans l'éditeur","Show as diff":"Afficher comme diff","Selected code as context":"Code sélectionné comme contexte","Generating plan...":"Génération du plan...","Generating code...":"Génération du code...",Plan:N5,"mention @all":"@tous","mention @devices":"@appareils",Send:L5,Copy:P5,"AI inline chat":"Chat IA intégré",'e.g. "Refactor this to use async/await"':'p. ex. "Refactor this to use async/await"',"Open in chat":"Ouvrir dans le chat","Selection: %s line(s)":"Sélection : %s ligne(s)","No selection — the question will use context from the whole script.":"Aucune sélection — la question utilisera le contexte du script entier.","Please enter a question.":"Veuillez saisir une question.","Thinking…":"Réflexion…","Code proposal — press Apply to replace your selection.":"Proposition de code — appuyez sur Appliquer pour remplacer la sélection.","Plain text answer.":"Réponse textuelle.","Show more details":"Afficher plus de détails","AI: Inline chat…":"IA : Chat intégré…","AI: Explain":"IA : Expliquer","AI: Refactor":"IA : Refactoriser","AI: Add comments":"IA : Ajouter des commentaires","AI: Fix problem":"IA : Corriger le problème","AI: Suggest tests":"IA : Suggérer des tests","Ask the AI about the selected code:":"Interroger l'IA sur le code sélectionné :",Explain:B5,Refactor:j5,Tests:F5,"Explain %s %s":"Expliquer %s %s","Refactor %s %s":"Refactoriser %s %s","Suggest tests for %s %s":"Suggérer des tests pour %s %s","Apply changes":"Appliquer les modifications","Discard changes":"Annuler les modifications",'Ask anything, or request a change (e.g. "what does this do?")':"Posez une question ou demandez une modification (p. ex. « que fait ceci ? »)"},U5="Riconosciuto",H5="Azioni",W5="Inserisci",G5="Tutti",V5="Qualunque",K5="Applica",Y5="aprile",J5="Chiedere",q5="Astronomico",X5="agosto",Z5="Annulla",Q5="Vicino",e3="Condizione",t3="Condizioni",s3="Console",o3="Copiato",i3="dicembre",n3="Predefinito",r3="Ritardo",a3="Elimina",l3="Descrizione",c3="Fatto",u3="Execshell",d3="Spiegazione",h3="Esportare",p3="Februar",g3="febbraio",m3="Filtro",f3="Cartella",$3="P",b3="Venerdì",y3="ID",v3="ID1",_3="ID2",w3="Importare",k3="Esempio",C3="istanze",S3="Istruzioni",T3="Januar",I3="gennaio",E3="luglio",x3="giugno",D3="Limite",A3="marzo",R3="Maggio",O3="Menu",M3="Messaggio",N3="Mo",L3="Modello",P3="Lunedi",B3="Mese",j3="Di più",F3="Nome",z3="novembre",U3="OK",H3="ottobre",W3="Ok",G3="Pausa",V3="Pushover",K3="Pushsafer",Y3="Ricaricare",J3="Rinominare",q3="Ripetere",X3="Ricomincia",Z3="Risultato",Q3="Sa",eG="Sabato",tG="Salva",sG="Programma",oG="copione",iG="settembre",nG="Simulare",rG="Stack",aG="Cominciare",lG="Stato",cG="Su",uG="Domenica",dG="Telegramma",hG="4",pG="giovedi",gG="Tempo",mG="Innescato",fG="Trigger",$G="Tu",bG="martedì",yG="URL",vG="Valore",_G="Volume",wG="3",kG="mercoledì",CG="Scrivi",SG="sì",TG="riconoscimento",IG="tutti",EG="e",xG="astro",DG="a",AG="controllo",RG="copia",OG="CRON",MG="alba",NG="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.",LG="Debug",PG="crepuscolo",BG="facile",jG="ogni",FG="Funzione",zG="ID",UG="Nome",HG="Ruolo",WG="Camera",GG="Ora d'oro",VG="Fine dell'ora d'oro",KG='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.',YG='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.',JG="ore",qG="include",XG="intervallo",ZG="Magia",QG="millisecondi",eV="minuti",tV="ms",sV="nadir",oV="Alba nautica",iV="Crepuscolo nautico",nV="Prossima alba",rV="Prossimo tramonto",aV="Notte",lV="Fine della notte",cV="normale",uV="compensare",dV="uno",hV="o",pV="silenzioso",gV="ricerca",mV="secondi",fV="Mezzogiorno solare",$V="Alba",bV="Fine dell'alba",yV="tramonto",vV="Inizio del tramonto",_V="poi",wV="Riconoscere",kV="A partire dal",CV="Ultima modifica",SV="Qualità",TV="timestamp",IV="Utente",EV="Valore",xV="Due",DV="aggiornare",AV="Aggiunge l'output di debug al registro per molti comandi di sistema",RV="Output di log dettagliati",OV="quando",MV="procedura guidata",NV="Riprova",LV="Accetta",PV="Rifiuta",BV="Contesto",jV="dispositivi",FV="Annulla",zV="Ripristina",UV="Piano",HV="Invia",WV="Copia",GV="Spiega",VV="Rifattorizza",KV="Test",YV={"%s not found":"%s non trovato","()":"()","(at %s)":"(a %s)","(optional)":"(opzionale)","-":"-",".":".",Ack:U5,Actions:H5,"Actual time of day":"Ora effettiva della giornata",Add:W5,"Add new script":"Aggiungi nuovo script",All:G5,"All files will be accepted":"Tutti i file saranno accettati",Any:V5,"Any month":"Ogni mese",Apply:K5,April:Y5,"Are you sure?":"Sei sicuro?",Ask:J5,Astronomical:q5,"Astronomical events today":"Eventi astronomici oggi",August:X5,"Blockly description":"Creazione di regole tramite blocchi grafici","Body:":"Corpo:",Cancel:Z5,"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:Q5,"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:e3,Conditions:t3,"Configuration not saved.":"Configurazione non salvata.",Console:s3,"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:o3,"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:i3,Default:n3,"Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...",Delay:r3,Delete:a3,"Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script",Description:l3,"Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s",Done:c3,"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",Error:"Errore","Error formatting code":"Errore di formattazione del codice","Error was found":"Errore trovato","Every day":"Ogni giorno",Exec:u3,"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:d3,Export:h3,"Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati",Februar:p3,February:g3,Filter:m3,Folder:f3,Fr:$3,Friday:b3,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:y3,ID1:v3,ID2:_3,Import:w3,"Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l'ID oggetto",Instance:k3,"Instance is disabled":"L'istanza è disabilitata","Instance:":"Esempio:",Instances:C3,Instructions:S3,"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:T3,January:I3,July:E3,June:x3,"Just check":"Controlla solamente","Keep my changes":"Mantieni le mie modifiche","Language:":"Linguaggio:","Learn More":"Per saperne di più","Light style":"Stile leggero",Limit:D3,"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:A3,"March ":"marzo",May:R3,Menu:O3,Message:M3,Mo:N3,Model:L3,Monday:P3,Month:B3,More:j3,Name:F3,"No active host found":"Nessun host attivo trovato","Nothing found":"Non abbiamo trovato nulla",November:z3,OK:U3,October:H3,Ok:W3,"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","Operate two states":"Gestisci due stati","Operations with two states":"Operazioni con due stati","Paste your blocks here":"Incolla qui i tuoi blocchi",Pause:G3,"Pause execution":"Metti in pausa l'esecuzione","Pause script":"Metti in pausa lo script","Phone:":"Telefono:","Please select object ID...":"Seleziona l'ID oggetto ...","Prettify the script":"Abbellire la sceneggiatura","Print some text in log":"Stampa del testo nel registro","Priority:":"Priorità:",Pushover:V3,Pushsafer:K3,"Read only ID selected: %s":"ID di sola lettura selezionato: %s",Reload:Y3,Rename:J3,"Reorder scripts in folders":"Riordina gli script nelle cartelle",Repeat:q3,Restart:X3,Result:Z3,"Resume execution":"Riprendi esecuzione","Root folder":"Cartella root","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","Run script":"Esegui script",Sa:Q3,Saturday:eG,Save:tG,"Save all":"Salva tutto","Say It":"Say It","Say some text via sayit adapter":"Pronuncia del testo tramite l'adattatore sayit",Schedule:sG,Script:oG,"Script %s was modified on disk":"Lo script %s è stato modificato sul disco","Script was modified externally":"Lo script è stato modificato esternamente","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:iG,"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:nG,"Some files will be rejected":"Alcuni file verranno rifiutati","Sound:":"Suono:",Stack:rG,Start:aG,"Start script":"Avvia script",State:lG,"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:cG,"Subject:":"Soggetto:",Sunday:uG,"TS description":"Creare regole scrivendo dattiloscritto",Telegram:dG,"Text:":"Testo:",Th:hG,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':`Lo script "%s" è stato modificato da un altro utente o in un'altra finestra. Vuoi ricaricare lo script o mantenere le tue modifiche locali?`,"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:pG,Time:gG,"Time condition":"Condizione temporale","Title:":"Titolo:","To:":"Per:","Trigger with value":"Trigger con valore",Triggered:mG,Triggers:fG,"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:$G,Tuesday:bG,URL:yG,"Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","User function":"Funzione utente","User:":"Utente:",Value:vG,"Vibration:":"Vibrazione:",Volume:_G,We:wG,Wednesday:kG,"Whatsapp-cmb":"Whatsapp-cmb",Write:CG,"Write your own code":"Scrivi il tuo codice",Yes:SG,"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","Please select a valid model":"Seleziona un modello valido","[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:TG,all:IG,and:EG,"as JSON":"come JSON","as plain text":"come testo",astro:xG,at:DG,"clear running":"chiara esecuzione",control:AG,copy:RG,cron:OG,dawn:MG,debug_help:NG,debug_label:LG,default:"predefinito",dusk:PG,easy:BG,else:"altro","equal to":"uguale a",every:jG,"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:FG,filter_id:zG,filter_name:UG,filter_role:HG,filter_room:WG,"for edit or create script":"per modificare o creare un nuovo script","for professionals":"per i professionisti","for programmers":"per i programmatori",goldenHour:GG,goldenHourEnd:VG,"greater or equal":"maggiore o uguale","greater or equal to":"maggiore o uguale a","greater than":"più grande di",help_just_check:KG,help_on_change:YG,"high priority":"priorità alta","high-priority":"priorità alta","highest priority":"massima priorità",hours:JG,includes:qG,interval:XG,"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:ZG,milliseconds:QG,minutes:eV,ms:tV,nadir:sV,nauticalDawn:oV,nauticalDusk:iV,nextSunrise:nV,nextSunset:rV,night:aV,nightEnd:lV,"no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO",normal:cV,"normal priority":"priorità normale","not running":"non in esecuzione","not equal to":"non uguale a","not properly connected":"Questo blocco non è correttamente collegato ad altri blocchi.",offset:uV,"on change":"sul cambiamento","on condition change":"a cambio di condizione","on update":"in aggiornamento",one:dV,or:hV,quiet:pV,"reset search":"resetta la ricerca",search:gV,seconds:mV,solarNoon:fV,"store in":"conservare in",sunrise:$V,sunriseEnd:bV,sunset:yV,sunsetStart:vV,then:_V,"toggle value":"alterna valore",tooltip_ack:wV,tooltip_from:kV,tooltip_lc:CV,tooltip_quality:SV,tooltip_ts:TV,tooltip_user:IV,tooltip_value:EV,true:"vero",two:xV,undefined:"non definito",update:DV,"use seconds":"usa i secondi","use trigger value":"usa il trigger",verbose_help:AV,verbose_label:RV,when:OV,with:"con","with date":"con data","with offset":"con offset",wizard:MV,"Loading models...":"Caricamento modelli...","Could not connect to API at %s":"Impossibile connettersi all'API su %s","Invalid API key":"Chiave API non valida","Access denied by API":"Accesso negato dall'API","API error: %s":"Errore API: %s",'Model "%s" not found':'Modello "%s" non trovato',"Request failed: %s":"Richiesta fallita: %s",Retry:NV,"No running javascript instance found":"Nessuna istanza JavaScript in esecuzione trovata","OID display mode":"Modalità di visualizzazione OID","Ask questions about your script, request changes, or generate new code.":"Fai domande sul tuo script, richiedi modifiche o genera nuovo codice.","to send":"per inviare","Thinking...":"Pensando...","AI suggested changes":"Modifiche suggerite dall'IA",Accept:LV,Reject:PV,"No API keys configured":"Nessuna chiave API configurata","for new line":"per nuova riga","AI chat mode":"Modalità chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversazione semplice. Usala per domande, spiegazioni e aiuto sulla sintassi. Non legge né modifica i tuoi script.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':`Per modelli più grandi con supporto degli strumenti. L'IA può leggere, creare e modificare script, cercare datapoint e sfogliare l'albero degli oggetti — utile per "crea uno script che...", "quali script usano questo state?" o "analizza il mio script delle luci".`,'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':`Per modelli più piccoli senza supporto degli strumenti. Generatore di script in due passi (prima piano, poi codice) — utile per "crea uno script che..." o "scrivi una regola Blockly per...". L'output va nell'editor per smart-apply.`,"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversazione semplice. Ideale per: domande generali, aiuto sulla sintassi, spiegazioni di concetti.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Per modelli più grandi con supporto degli strumenti. Ideale per: creare, modificare o analizzare script; trovare usi di datapoint; ispezionare l'albero degli oggetti.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Per modelli più piccoli senza supporto degli strumenti. Ideale per: creare nuovi script JavaScript/TypeScript o Blockly da una descrizione.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Menziona script come contesto per l'IA. Usa @tutti per tutti gli script o @nomeScript per uno specifico.",Context:BV,"current script":"script corrente","all scripts":"tutti gli script",devices:jV,"Searching datapoints":"Ricerca punti dati","Reading value":"Lettura valore","Loading object info":"Caricamento info oggetto","Searching scripts":"Ricerca script","Reading script":"Lettura script","Loading script list":"Caricamento lista script","All scripts":"Tutti gli script","Smart home devices":"Dispositivi smart home","AI Chat":"Chat IA","AI inline completions":"Completamento in linea IA","New chat":"Nuova chat","Ask about your script...":"Chiedi informazioni sul tuo script...","Insert blocks":"Inserisci blocchi","Apply blocks":"Applica blocchi",Undo:FV,Redo:zV,"Insert into editor":"Inserisci nell'editor","Show as diff":"Mostra come diff","Selected code as context":"Codice selezionato come contesto","Generating plan...":"Generazione piano...","Generating code...":"Generazione codice...",Plan:UV,"mention @all":"@tutti","mention @devices":"@dispositivi",Send:HV,Copy:WV,"AI inline chat":"Chat IA integrata",'e.g. "Refactor this to use async/await"':'es. "Refactor this to use async/await"',"Open in chat":"Apri in chat","Selection: %s line(s)":"Selezione: %s riga/e","No selection — the question will use context from the whole script.":"Nessuna selezione — la domanda userà il contesto dell'intero script.","Please enter a question.":"Inserisci una domanda.","Thinking…":"Sto pensando…","Code proposal — press Apply to replace your selection.":"Proposta di codice — premi Applica per sostituire la selezione.","Plain text answer.":"Risposta testuale.","Show more details":"Mostra più dettagli","AI: Inline chat…":"IA: Chat integrata…","AI: Explain":"IA: Spiega","AI: Refactor":"IA: Rifattorizza","AI: Add comments":"IA: Aggiungi commenti","AI: Fix problem":"IA: Correggi problema","AI: Suggest tests":"IA: Suggerisci test","Ask the AI about the selected code:":"Chiedi all'IA riguardo al codice selezionato:",Explain:GV,Refactor:VV,Tests:KV,"Explain %s %s":"Spiega %s %s","Refactor %s %s":"Rifattorizza %s %s","Suggest tests for %s %s":"Suggerisci test per %s %s","Apply changes":"Applica modifiche","Discard changes":"Annulla modifiche",'Ask anything, or request a change (e.g. "what does this do?")':'Chiedi qualsiasi cosa o richiedi una modifica (es. "cosa fa questo?")'},JV="Erkend",qV="Acties",XV="Toevoegen",ZV="Alle",QV="Ieder",e4="Solliciteer",t4="april",s4="Vragen",o4="Astronomisch",i4="augustus",n4="annuleren",r4="Dichtbij",a4="Staat",l4="Voorwaarden",c4="Troosten",u4="Gekopieerd",d4="december",h4="Standaard",p4="Vertraging",g4="Verwijder",m4="Beschrijving",f4="Gedaan",$4="Exec shell",b4="Uitleg",y4="Exporteren",v4="Februari",_4="februari",w4="Filter",k4="Map",C4="Vr",S4="vrijdag",T4="ID kaart",I4="ID1",E4="ID2",x4="Importeren",D4="Voorbeeld",A4="Instanties",R4="Instructies",O4="Januar",M4="januari",N4="juli",L4="juni",P4="Begrenzing",B4="maart",j4="mei",F4="Menu",z4="Bericht",U4="Ma",H4="Model",W4="maandag",G4="Maand",V4="Meer",K4="Naam",Y4="november",J4="OK",q4="oktober",X4="OK",Z4="Pauze",Q4="Pushover",e8="Duwijzer",t8="Herladen",s8="andere naam geven",o8="Herhaling",i8="Herstarten",n8="Resultaat",r8="Za",a8="zaterdag",l8="Opslaan",c8="Schema",u8="Script",d8="september",h8="Simuleren",p8="Stack",g8="Begin",m8="Staat",f8="Zo",$8="zondag",b8="Telegram",y8="4",v8="donderdag",_8="Tijd",w8="Veroorzaakt",k8="Triggers",C8="Di",S8="dinsdag",T8="URL",I8="Waarde",E8="Volume",x8="3",D8="woensdag",A8="Schrijven",R8="Ja",O8="erkenning",M8="alle",N8="en",L8="astro",P8="Bij",B8="controle",j8="kopiëren",F8="cron",z8="dageraad",U8="Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.",H8="Debuggen",W8="schemer",G8="eenvoudig",V8="elke",K8="Functie",Y8="ID kaart",J8="Naam",q8="Rol",X8="Kamer",Z8="gouden uur",Q8="Einde van gouden uur",e6='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.',t6='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.',s6="uren",o6="omvat",i6="interval",n6="magie",r6="milliseconden",a6="minuten",l6="ms",c6="nadir",u6="Nautische dageraad",d6="Nautische schemering",h6="Volgende zonsopgang",p6="Volgende zonsondergang",g6="nacht",m6="Einde van de nacht",f6="normaal",$6="compensatie",b6="een",y6="of",v6="stil",_6="zoeken",w6="seconden",k6="Zonne-middag",C6="zonsopkomst",S6="Einde zonsopgang",T6="zonsondergang",I6="Begin van de zonsondergang",E6="vervolgens",x6="Erkennen",D6="Van",A6="Laatst gewijzigd",R6="Kwaliteit",O6="tijdstempel",M6="Gebruiker",N6="Waarde",L6="twee",P6="bijwerken",B6="Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten",j6="Uitgebreide log-uitgangen",F6="wanneer",z6="tovenaar",U6="Opnieuw proberen",H6="Accepteren",W6="Afwijzen",G6="Context",V6="apparaten",K6="Ongedaan maken",Y6="Opnieuw",J6="Plan",q6="Verzenden",X6="Kopiëren",Z6="Uitleggen",Q6="Refactoren",e9="Tests",t9={"%s not found":"%s niet gevonden","()":"()","(at %s)":"(op %s)","(optional)":"(optioneel)","-":"-",".":".",Ack:JV,Actions:qV,"Actual time of day":"Werkelijke tijd van de dag",Add:XV,"Add new script":"Nieuw script toevoegen",All:ZV,"All files will be accepted":"Alle bestanden worden geaccepteerd",Any:QV,"Any month":"Elke maand",Apply:e4,April:t4,"Are you sure?":"Weet je zeker dat?",Ask:s4,Astronomical:o4,"Astronomical events today":"Astronomische gebeurtenissen vandaag",August:i4,"Blockly description":"Regels maken door grafische blokken","Body:":"Lichaam:",Cancel:n4,"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:r4,"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:a4,Conditions:l4,"Configuration not saved.":"Configuratie niet opgeslagen.",Console:c4,"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:u4,"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:d4,Default:h4,"Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...",Delay:p4,Delete:g4,"Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen",Description:m4,"Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren",Done:f4,"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",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:$4,"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:b4,Export:y4,"Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken",Februar:v4,February:_4,Filter:w4,Folder:k4,Fr:C4,Friday:S4,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:T4,ID1:I4,ID2:E4,Import:x4,"Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen",Instance:D4,"Instance is disabled":"Exemplaar is uitgeschakeld","Instance:":"Voorbeeld:",Instances:A4,Instructions:R4,"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:O4,January:M4,July:N4,June:L4,"Just check":"Kijk maar","Keep my changes":"Mijn wijzigingen behouden","Language:":"Taal:","Learn More":"Leer meer","Light style":"Lichte stijl",Limit:P4,"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:B4,"March ":"maart",May:j4,Menu:F4,Message:z4,Mo:U4,Model:H4,Monday:W4,Month:G4,More:V4,Name:K4,"No active host found":"Geen actieve host gevonden","Nothing found":"Niets gevonden",November:Y4,OK:J4,October:q4,Ok:X4,"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","Operate two states":"Bedien twee toestanden:","Operations with two states":"Bewerkingen met twee toestanden","Paste your blocks here":"Plak hier je blokken",Pause:Z4,"Pause execution":"Uitvoering pauzeren","Pause script":"Pauzeer script","Phone:":"Telefoon:","Please select object ID...":"Selecteer object-ID ...","Prettify the script":"Maak het script mooier","Print some text in log":"Druk wat tekst af in het logboek","Priority:":"Prioriteit:",Pushover:Q4,Pushsafer:e8,"Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s",Reload:t8,Rename:s8,"Reorder scripts in folders":"Sorteer scripts in mappen opnieuw",Repeat:o8,Restart:i8,Result:n8,"Resume execution":"Uitvoering hervatten","Root folder":"Hoofdmap","Rules description":"Maak regels met IF, THEN, ELSE blokken","Run script":"Voer script uit",Sa:r8,Saturday:a8,Save:l8,"Save all":"Sla alles op","Say It":"Say It","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter",Schedule:c8,Script:u8,"Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script was modified externally":"Script is extern gewijzigd","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:d8,"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:h8,"Some files will be rejected":"Sommige bestanden worden geweigerd","Sound:":"Geluid:",Stack:p8,Start:g8,"Start script":"Start het script",State:m8,"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:f8,"Subject:":"Onderwerpen:",Sunday:$8,"TS description":"Regels maken door Typescript te schrijven",Telegram:b8,"Text:":"Tekst:",Th:y8,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Het script "%s" is gewijzigd door een andere gebruiker of in een ander venster. Wilt u het script herladen of uw lokale wijzigingen behouden?',"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:v8,Time:_8,"Time condition":"Tijdsvoorwaarde","Title:":"Titel:","To:":"Naar:","Trigger with value":"Trigger met waarde",Triggered:w8,Triggers:k8,"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:C8,Tuesday:S8,URL:T8,"Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","User function":"Gebruikersfunctie","User:":"Gebruiker:",Value:I8,"Vibration:":"Trilling:",Volume:E8,We:x8,Wednesday:D8,"Whatsapp-cmb":"Whatsapp-cmb",Write:A8,"Write your own code":"Schrijf je eigen code",Yes:R8,"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","Please select a valid model":"Selecteer een geldig model","[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:O8,all:M8,and:N8,"as JSON":"als JSON","as plain text":"als platte tekst",astro:L8,at:P8,"clear running":"duidelijk rennen",control:B8,copy:j8,cron:F8,dawn:z8,debug_help:U8,debug_label:H8,default:"standaard",dusk:W8,easy:G8,else:"anders","equal to":"gelijk aan",every:V8,"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:K8,filter_id:Y8,filter_name:J8,filter_role:q8,filter_room:X8,"for edit or create script":"voor bewerken of een nieuw script maken","for professionals":"voor professionals","for programmers":"voor programmeurs",goldenHour:Z8,goldenHourEnd:Q8,"greater or equal":"groter of gelijk","greater or equal to":"groter of gelijk aan","greater than":"groter dan",help_just_check:e6,help_on_change:t6,"high priority":"hoge prioriteit","high-priority":"hoge prioriteit","highest priority":"hoogste prioriteit",hours:s6,includes:o6,interval:i6,"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:n6,milliseconds:r6,minutes:a6,ms:l6,nadir:c6,nauticalDawn:u6,nauticalDusk:d6,nextSunrise:h6,nextSunset:p6,night:g6,nightEnd:m6,"no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP",normal:f6,"normal priority":"normale prioriteit","not running":"niet actief","not equal to":"niet gelijk aan","not properly connected":"Dit blok is niet correct verbonden met andere blokken.",offset:$6,"on change":"bij verandering","on condition change":"op voorwaarde verandering","on update":"bij update",one:b6,or:y6,quiet:v6,"reset search":"reset zoeken",search:_6,seconds:w6,solarNoon:k6,"store in":"opslaan in",sunrise:C6,sunriseEnd:S6,sunset:T6,sunsetStart:I6,then:E6,"toggle value":"schakelwaarde",tooltip_ack:x6,tooltip_from:D6,tooltip_lc:A6,tooltip_quality:R6,tooltip_ts:O6,tooltip_user:M6,tooltip_value:N6,true:"waar",two:L6,undefined:"ongedefinieerd",update:P6,"use seconds":"gebruik seconden","use trigger value":"triggerwaarde gebruiken",verbose_help:B6,verbose_label:j6,when:F6,with:"met","with date":"met datum","with offset":"met offset",wizard:z6,"Loading models...":"Modellen laden...","Could not connect to API at %s":"Kan geen verbinding maken met API op %s","Invalid API key":"Ongeldige API-sleutel","Access denied by API":"Toegang geweigerd door API","API error: %s":"API-fout: %s",'Model "%s" not found':'Model "%s" niet gevonden',"Request failed: %s":"Verzoek mislukt: %s",Retry:U6,"No running javascript instance found":"Geen draaiende JavaScript-instantie gevonden","OID display mode":"OID-weergavemodus","Ask questions about your script, request changes, or generate new code.":"Stel vragen over je script, vraag wijzigingen aan of genereer nieuwe code.","to send":"om te verzenden","Thinking...":"Nadenken...","AI suggested changes":"Door AI voorgestelde wijzigingen",Accept:H6,Reject:W6,"No API keys configured":"Geen API-sleutels geconfigureerd","for new line":"voor nieuwe regel","AI chat mode":"AI-chatmodus","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Gewoon gesprek. Gebruik voor vragen, uitleg en syntaxishulp. Leest of wijzigt je scripts niet.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':'Voor grotere modellen met tool-ondersteuning. De AI kan scripts lezen, aanmaken en bewerken, datapunten opzoeken en door de objectboom bladeren — handig voor "maak een script dat...", "welke scripts gebruiken deze state?" of "analyseer mijn licht-script".','For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Voor kleinere modellen zonder tool-ondersteuning. Scriptgenerator in twee stappen (eerst plan, dan code) — handig voor "maak een script dat..." of "schrijf een Blockly-regel voor...". Het resultaat komt in de editor voor smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Gewoon gesprek. Het beste voor: algemene vragen, syntaxishulp, concept-uitleg.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Voor grotere modellen met tool-ondersteuning. Het beste voor: scripts maken, bewerken of analyseren; datapuntgebruik vinden; objectboom inspecteren.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Voor kleinere modellen zonder tool-ondersteuning. Het beste voor: nieuwe JavaScript/TypeScript- of Blockly-scripts maken op basis van een beschrijving.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Vermeld scripts als context voor de AI. Gebruik @alle voor alle scripts of @scriptnaam voor een specifiek script.",Context:G6,"current script":"huidig script","all scripts":"alle scripts",devices:V6,"Searching datapoints":"Datapunten zoeken","Reading value":"Waarde lezen","Loading object info":"Objectinfo laden","Searching scripts":"Scripts zoeken","Reading script":"Script lezen","Loading script list":"Scriptlijst laden","All scripts":"Alle scripts","Smart home devices":"Slimme apparaten","AI Chat":"AI Chat","AI inline completions":"AI inline-aanvullingen","New chat":"Nieuwe chat","Ask about your script...":"Stel een vraag over je script...","Insert blocks":"Blokken invoegen","Apply blocks":"Blokken toepassen",Undo:K6,Redo:Y6,"Insert into editor":"In editor invoegen","Show as diff":"Als diff tonen","Selected code as context":"Geselecteerde code als context","Generating plan...":"Plan genereren...","Generating code...":"Code genereren...",Plan:J6,"mention @all":"@alle","mention @devices":"@apparaten",Send:q6,Copy:X6,"AI inline chat":"AI inline chat",'e.g. "Refactor this to use async/await"':'bv. "Refactor this to use async/await"',"Open in chat":"Open in chat","Selection: %s line(s)":"Selectie: %s regel(s)","No selection — the question will use context from the whole script.":"Geen selectie — de vraag gebruikt de context van het hele script.","Please enter a question.":"Voer een vraag in.","Thinking…":"Denken…","Code proposal — press Apply to replace your selection.":"Codevoorstel — druk op Toepassen om de selectie te vervangen.","Plain text answer.":"Tekstantwoord.","Show more details":"Meer details tonen","AI: Inline chat…":"AI: Inline chat…","AI: Explain":"AI: Uitleggen","AI: Refactor":"AI: Refactoren","AI: Add comments":"AI: Commentaar toevoegen","AI: Fix problem":"AI: Probleem oplossen","AI: Suggest tests":"AI: Tests voorstellen","Ask the AI about the selected code:":"Vraag de AI over de geselecteerde code:",Explain:Z6,Refactor:Q6,Tests:e9,"Explain %s %s":"%s %s uitleggen","Refactor %s %s":"%s %s refactoren","Suggest tests for %s %s":"Tests voorstellen voor %s %s","Apply changes":"Wijzigingen toepassen","Discard changes":"Wijzigingen negeren",'Ask anything, or request a change (e.g. "what does this do?")':'Stel een vraag of vraag een wijziging (bv. "wat doet dit?")'},s9="Potwierdzony",o9="Działania",i9="Dodaj",n9="Wszystko",r9="Każdy",a9="Zastosuj",l9="Kwiecień",c9="Zapytać",u9="Astronomiczny",d9="Sierpień",h9="Odwołaj",p9="Zamknij",g9="Stan",m9="Warunki",f9="Konsola",$9="Skopiowano",b9="Grudzień",y9="Domyślna",v9="Opóźnienie",_9="Usuń",w9="Opis",k9="Gotowe",C9="Uruchom shell",S9="Wyjaśnienie",T9="Eksport",I9="Luty",E9="Luty",x9="Filtr",D9="Folder",A9="Pt",R9="Piątek",O9="ID",M9="ID1",N9="ID2",L9="Import",P9="Instancja",B9="Instancje",j9="Instrukcje",F9="Styczeń",z9="Styczeń",U9="Lipiec",H9="Czerwiec",W9="Limit",G9="Marzec",V9="Maj",K9="Menu",Y9="Wiadomość",J9="Po",q9="Model",X9="Poniedziałek",Z9="Miesiąc",Q9="Więcej",eK="Nazwa",tK="Listopad",sK="OK",oK="Październik",iK="Ok",nK="Pauza",rK="Pushover",aK="Pushsafer",lK="Przeładuj",cK="Przemianuj",uK="Powtórz",dK="Uruchom ponownie",hK="Wynik",pK="So",gK="Sobota",mK="Zapisz",fK="Harmonogram",$K="Skrypt",bK="Wrzesień",yK="Symulacja",vK="Stos",_K="Początek",wK="Stan",kK="Nd",CK="Niedziela",SK="Telegram",TK="Cz",IK="Czwartek",EK="Czas",xK="Wyzwolony",DK="Wyzwalacze",AK="Wt",RK="Wtorek",OK="URL",MK="Wartość",NK="Wolumen",LK="Śr",PK="Środa",BK="Pisać",jK="Tak",FK="potwierdzenie",zK="wszystko",UK="i",HK="Astro",WK="w",GK="kontrola",VK="Kopiuj",KK="CRON",YK="Świt",JK="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.",qK="Odpluskwić",XK="Zmierzch",ZK="łatwy",QK="każdy",e7="Funkcja",t7="ID",s7="Nazwa",o7="Rola",i7="Pokój",n7="Złota godzina",r7="Koniec złotej godziny",a7="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.",l7="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.",c7="godziny",u7="zawiera",d7="interwał",h7="magia",p7="milisekund",g7="minuty",m7="ms",f7="Północ słoneczna",$7="Żeglarski świt",b7="Żeglarski zmierzch",y7="Następny wschód słońca",v7="Następny zachód słońca",_7="Noc",w7="Koniec nocy",k7="normalny",C7="przesunięcie",S7="jeden",T7="lub",I7="cisza",E7="Szukaj",x7="sekundy",D7="Południe słoneczne",A7="Wschód słońca",R7="Koniec wschodu słońca",O7="Zachód słońca",M7="Początek zachodu słońca",N7="następnie",L7="Akceptuj",P7="Od",B7="Ostatnia zmiana",j7="Jakość",F7="Znacznik czasu",z7="Użytkownik",U7="Wartość",H7="dwa",W7="aktualizacja",G7="Dodaje wyniki debugowania do dziennika dla wielu poleceń systemowych",V7="Pełne dane wyjściowe dziennika",K7="gdy",Y7="Wizard",J7="Ponów próbę",q7="Akceptuj",X7="Odrzuć",Z7="Kontekst",Q7="urządzenia",eY="Cofnij",tY="Ponów",sY="Plan",oY="Wyślij",iY="Kopiuj",nY="Wyjaśnij",rY="Refaktoryzuj",aY="Testy",lY={"%s not found":"%s nie znaleziono","()":"()","(at %s)":"(w %s)","(optional)":"(opcjonalny)","-":"-",".":".",Ack:s9,Actions:o9,"Actual time of day":"Aktualna pora dnia",Add:i9,"Add new script":"Dodaj nowy skrypt",All:n9,"All files will be accepted":"Wszystkie pliki zostaną zaakceptowane",Any:r9,"Any month":"Dowolny miesiąc",Apply:a9,April:l9,"Are you sure?":"Jesteś pewny?",Ask:c9,Astronomical:u9,"Astronomical events today":"Wydarzenia astronomiczne dzisiaj",August:d9,"Blockly description":"Tworzenie reguł za pomocą bloków graficznych","Body:":"Treść:",Cancel:h9,"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:p9,"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:g9,Conditions:m9,"Configuration not saved.":"Konfiguracja nie została zapisana.",Console:f9,"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:$9,"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:b9,Default:y9,"Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...",Delay:v9,Delete:_9,"Delete %s":"Usuń %s ...","Delete folder":"Usuń folder","Delete script":"Usuń skrypt",Description:w9,"Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzuć zmiany dla %s",Done:k9,"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",Error:"Błąd","Error formatting code":"Błąd formatowania kodu","Error was found":"Błąd został znaleziony","Every day":"Codziennie",Exec:C9,"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:S9,Export:T9,"Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki",Februar:I9,February:E9,Filter:x9,Folder:D9,Fr:A9,Friday:R9,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:O9,ID1:M9,ID2:N9,Import:L9,"Import blocks":"Importuj bloki","Import error":"Błąd importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu",Instance:P9,"Instance is disabled":"Instancja jest wyłączona","Instance:":"Instancja:",Instances:B9,Instructions:j9,"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:F9,January:z9,July:U9,June:H9,"Just check":"Po prostu sprawdź","Keep my changes":"Zachowaj moje zmiany","Language:":"Język:","Learn More":"Ucz się więcej","Light style":"Lekki styl",Limit:W9,"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:G9,"March ":"Marzec ",May:V9,Menu:K9,Message:Y9,Mo:J9,Model:q9,Monday:X9,Month:Z9,More:Q9,Name:eK,"No active host found":"Nie znaleziono aktywnego hosta","Nothing found":"Nic nie znaleziono",November:tK,OK:sK,October:oK,Ok:iK,"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","Operate two states":"Obsługuj dwa stany","Operations with two states":"Operacje z dwoma stanami","Paste your blocks here":"Wklej tutaj swoje bloki",Pause:nK,"Pause execution":"Wstrzymaj wykonanie","Pause script":"Wstrzymaj skrypt","Phone:":"Telefon:","Please select object ID...":"Wybierz identyfikator obiektu ...","Prettify the script":"Upiększ skrypt","Print some text in log":"Wydrukuj tekst w dzienniku","Priority:":"Priorytet:",Pushover:rK,Pushsafer:aK,"Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s",Reload:lK,Rename:cK,"Reorder scripts in folders":"Zmień kolejność skryptów w folderach",Repeat:uK,Restart:dK,Result:hK,"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:pK,Saturday:gK,Save:mK,"Save all":"Zapisz wszystko","Say It":"Wypowiedz","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit",Schedule:fK,Script:$K,"Script %s was modified on disk":"Skrypt %s został zmodyfikowany na dysku","Script was modified externally":"Skrypt został zmodyfikowany zewnętrznie","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:bK,"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:yK,"Some files will be rejected":"Niektóre pliki zostaną odrzucone","Sound:":"Dźwięk:",Stack:vK,Start:_K,"Start script":"Uruchom skrypt",State:wK,"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:kK,"Subject:":"Temat:",Sunday:CK,"TS description":"Tworzenie reguł w Typescript",Telegram:SK,"Text:":"Tekst:",Th:TK,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Skrypt "%s" został zmodyfikowany przez innego użytkownika lub w innym oknie. Czy chcesz przeładować skrypt, czy zachować lokalne zmiany?',"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:IK,Time:EK,"Time condition":"Warunek czasowy","Title:":"Tytuł:","To:":"Do:","Trigger with value":"Wyzwalacz z wartością",Triggered:xK,Triggers:DK,"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:AK,Tuesday:RK,URL:OK,"Unknown error":"Nieznany błąd","Unknown error!":"Nieznany błąd!","User function":"Funkcja użytkownika","User:":"Użytkownik:",Value:MK,"Vibration:":"Wibracja:",Volume:NK,We:LK,Wednesday:PK,"Whatsapp-cmb":"Whatsapp-cmb",Write:BK,"Write your own code":"Napisz swój własny kod",Yes:jK,"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","Please select a valid model":"Wybierz prawidłowy model","[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:FK,all:zK,and:UK,"as JSON":"jako JSON","as plain text":"jako zwykły tekst",astro:HK,at:WK,"clear running":"czyste uruchomienie",control:GK,copy:VK,cron:KK,dawn:YK,debug_help:JK,debug_label:qK,default:"domyślna",dusk:XK,easy:ZK,else:"inaczej","equal to":"równy",every:QK,"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:e7,filter_id:t7,filter_name:s7,filter_role:o7,filter_room:i7,"for edit or create script":"do edycji lub utwórz nowy skrypt","for professionals":"dla profesjonalistów","for programmers":"dla programistów",goldenHour:n7,goldenHourEnd:r7,"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:a7,help_on_change:l7,"high priority":"wysoki priorytet","high-priority":"wysoki priorytet","highest priority":"najwyższy priorytet",hours:c7,includes:u7,interval:d7,"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:h7,milliseconds:p7,minutes:g7,ms:m7,nadir:f7,nauticalDawn:$7,nauticalDusk:b7,nextSunrise:y7,nextSunset:v7,night:_7,nightEnd:w7,"no blocks found":"Nie znaleziono bloków","no group":"BRAK GRUPY",normal:k7,"normal priority":"normalny priorytet","not running":"nie uruchomiony","not equal to":"nie równa się","not properly connected":"Ten blok nie jest poprawnie podłączony do innych bloków.",offset:C7,"on change":"na zmianę","on condition change":"pod warunkiem zmiany warunków","on update":"po aktualizacji",one:S7,or:T7,quiet:I7,"reset search":"zresetuj wyszukiwanie",search:E7,seconds:x7,solarNoon:D7,"store in":"przechowaj w",sunrise:A7,sunriseEnd:R7,sunset:O7,sunsetStart:M7,then:N7,"toggle value":"wartość przełączania",tooltip_ack:L7,tooltip_from:P7,tooltip_lc:B7,tooltip_quality:j7,tooltip_ts:F7,tooltip_user:z7,tooltip_value:U7,true:"prawda",two:H7,undefined:"nieokreślony",update:W7,"use seconds":"użyj sekund","use trigger value":"użyj wartości wyzwalającej",verbose_help:G7,verbose_label:V7,when:K7,with:"z","with date":"z datą","with offset":"z przesunięciem",wizard:Y7,"Loading models...":"Ładowanie modeli...","Could not connect to API at %s":"Nie można połączyć się z API pod adresem %s","Invalid API key":"Nieprawidłowy klucz API","Access denied by API":"Odmowa dostępu przez API","API error: %s":"Błąd API: %s",'Model "%s" not found':'Model "%s" nie znaleziony',"Request failed: %s":"Żądanie nie powiodło się: %s",Retry:J7,"No running javascript instance found":"Nie znaleziono uruchomionej instancji JavaScript","OID display mode":"Tryb wyświetlania OID","Ask questions about your script, request changes, or generate new code.":"Zadawaj pytania o swój skrypt, proś o zmiany lub generuj nowy kod.","to send":"aby wysłać","Thinking...":"Myślenie...","AI suggested changes":"Zmiany sugerowane przez AI",Accept:q7,Reject:X7,"No API keys configured":"Brak skonfigurowanych kluczy API","for new line":"dla nowej linii","AI chat mode":"Tryb czatu AI","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Zwykła rozmowa. Użyj do pytań, wyjaśnień i pomocy ze składnią. Nie czyta ani nie modyfikuje skryptów.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':'Dla większych modeli z obsługą narzędzi. AI może czytać, tworzyć i edytować skrypty, wyszukiwać datapointy i przeglądać drzewo obiektów — przydatne do "stwórz skrypt, który...", "które skrypty używają tego state?" lub "przeanalizuj mój skrypt świateł".','For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Dla mniejszych modeli bez obsługi narzędzi. Dwuetapowy generator skryptów (najpierw plan, potem kod) — przydatne do "stwórz skrypt, który..." lub "napisz regułę Blockly dla...". Wynik trafia do edytora do smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Zwykła rozmowa. Najlepsze do: ogólnych pytań, pomocy ze składnią, wyjaśniania pojęć.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Dla większych modeli z obsługą narzędzi. Najlepsze do: tworzenia, edycji lub analizy skryptów; znajdowania użycia datapointów; przeglądania drzewa obiektów.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Dla mniejszych modeli bez obsługi narzędzi. Najlepsze do: tworzenia nowych skryptów JavaScript/TypeScript lub Blockly na podstawie opisu.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Wspomnij skrypty jako kontekst dla AI. Użyj @wszystkie dla wszystkich skryptów lub @nazwaSkryptu dla konkretnego.",Context:Z7,"current script":"bieżący skrypt","all scripts":"wszystkie skrypty",devices:Q7,"Searching datapoints":"Wyszukiwanie punktów danych","Reading value":"Odczyt wartości","Loading object info":"Ładowanie informacji o obiekcie","Searching scripts":"Wyszukiwanie skryptów","Reading script":"Odczyt skryptu","Loading script list":"Ładowanie listy skryptów","All scripts":"Wszystkie skrypty","Smart home devices":"Urządzenia inteligentnego domu","AI Chat":"Czat AI","AI inline completions":"Uzupełnianie w linii AI","New chat":"Nowy czat","Ask about your script...":"Zapytaj o swój skrypt...","Insert blocks":"Wstaw bloki","Apply blocks":"Zastosuj bloki",Undo:eY,Redo:tY,"Insert into editor":"Wstaw do edytora","Show as diff":"Pokaż jako diff","Selected code as context":"Zaznaczony kod jako kontekst","Generating plan...":"Generowanie planu...","Generating code...":"Generowanie kodu...",Plan:sY,"mention @all":"@wszystkie","mention @devices":"@urządzenia",Send:oY,Copy:iY,"AI inline chat":"Wbudowany czat AI",'e.g. "Refactor this to use async/await"':'np. "Refactor this to use async/await"',"Open in chat":"Otwórz w czacie","Selection: %s line(s)":"Zaznaczenie: %s wiersz(y)","No selection — the question will use context from the whole script.":"Brak zaznaczenia — pytanie użyje kontekstu całego skryptu.","Please enter a question.":"Wpisz pytanie.","Thinking…":"Myślę…","Code proposal — press Apply to replace your selection.":"Propozycja kodu — naciśnij Zastosuj, aby zastąpić zaznaczenie.","Plain text answer.":"Odpowiedź tekstowa.","Show more details":"Pokaż więcej szczegółów","AI: Inline chat…":"AI: Wbudowany czat…","AI: Explain":"AI: Wyjaśnij","AI: Refactor":"AI: Refaktoryzuj","AI: Add comments":"AI: Dodaj komentarze","AI: Fix problem":"AI: Napraw problem","AI: Suggest tests":"AI: Zaproponuj testy","Ask the AI about the selected code:":"Zapytaj AI o zaznaczony kod:",Explain:nY,Refactor:rY,Tests:aY,"Explain %s %s":"Wyjaśnij %s %s","Refactor %s %s":"Refaktoryzuj %s %s","Suggest tests for %s %s":"Zaproponuj testy dla %s %s","Apply changes":"Zastosuj zmiany","Discard changes":"Odrzuć zmiany",'Ask anything, or request a change (e.g. "what does this do?")':'Zapytaj o cokolwiek lub poproś o zmianę (np. "co to robi?")'},cY="Reconhecido",uY="Ações",dY="Adicionar",hY="Todos",pY="Nenhum",gY="Aplique",mY="abril",fY="Perguntar",$Y="Astronômico",bY="agosto",yY="Cancelar",vY="Fechar",_Y="Doença",wY="Condições",kY="Console",CY="Copiado",SY="dezembro",TY="Predefinição",IY="Atraso",EY="Deletar",xY="Descrição",DY="Pronto",AY="Exec shell",RY="Explicação",OY="Exportação",MY="Februar",NY="fevereiro",LY="Filtro",PY="Pasta",BY="Fr",jY="Sexta-feira",FY="ID",zY="ID1",UY="ID2",HY="Importar",WY="Instância",GY="Instâncias",VY="Instruções",KY="Januar",YY="janeiro",JY="julho",qY="junho",XY="Limite",ZY="março",QY="maio",eJ="Menu",tJ="mensagem",sJ="Mo",oJ="Modelo",iJ="Segunda-feira",nJ="Mês",rJ="Mais",aJ="Nome",lJ="novembro",cJ="OK",uJ="outubro",dJ="Ok",hJ="Pausa",pJ="Pushover",gJ="Pushsafer",mJ="Recarregar",fJ="Renomear",$J="Repetir",bJ="Reiniciar",yJ="Resultado",vJ="Sá",_J="Sábado",wJ="Salve",kJ="Cronograma",CJ="Script",SJ="setembro",TJ="Simular",IJ="Pilha",EJ="Começar",xJ="Estado",DJ="Su",AJ="Domingo",RJ="Telegrama",OJ="4",MJ="Quinta-feira",NJ="Tempo",LJ="Provocado",PJ="Gatilhos",BJ="Tu",jJ="terça",FJ="URL",zJ="Valor",UJ="Volume",HJ="3",WJ="quarta",GJ="Escrever",VJ="sim",KJ="reconhecimento",YJ="todos",JJ="e",qJ="astro",XJ="no",ZJ="ao controle",QJ="copiar",eq="CRON",tq="alvorecer",sq="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.",oq="Depurar",iq="Crepúsculo",nq="fácil",rq="cada",aq="Função",lq="ID",cq="Nome",uq="Tipo",dq="Quarto",hq="Hora dourada",pq="Fim da hora de ouro",gq='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.',mq='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.',fq="horas",$q="inclui",bq="intervalo",yq="Magia",vq="milissegundos",_q="minutos",wq="ms",kq="nadir",Cq="Madrugada náutica",Sq="Crepúsculo náutico",Tq="próximo nascer do sol",Iq="Próximo pôr do sol",Eq="Noite",xq="Fim de noite",Dq="normal",Aq="Deslocamento",Rq="1",Oq="ou",Mq="quieto",Nq="procurar",Lq="segundos",Pq="Meio-dia solar",Bq="nascer do sol",jq="Fim do nascer do sol",Fq="pôr do sol",zq="Começo do pôr do sol",Uq="então",Hq="reconhecer",Wq="de",Gq="Última alteração",Vq="Qualidade",Kq="timestamp",Yq="usuário",Jq="valor",qq="dois",Xq="atualizar",Zq="Adiciona saída de depuração ao log para muitos comandos do sistema",Qq="Saídas de log detalhadas",eX="quando",tX="Wizard",sX="Tentar novamente",oX="Aceitar",iX="Rejeitar",nX="Contexto",rX="dispositivos",aX="Desfazer",lX="Refazer",cX="Plano",uX="Enviar",dX="Copiar",hX="Explicar",pX="Refatorar",gX="Testes",mX={"%s not found":"%s não encontrado","()":"()","(at %s)":"(em %s)","(optional)":"(opcional)","-":"-",".":".",Ack:cY,Actions:uY,"Actual time of day":"Hora real do dia",Add:dY,"Add new script":"Adicionar novo script",All:hY,"All files will be accepted":"Todos os arquivos serão aceitos",Any:pY,"Any month":"Qualquer mês",Apply:gY,April:mY,"Are you sure?":"Você tem certeza?",Ask:fY,Astronomical:$Y,"Astronomical events today":"Eventos astronômicos hoje",August:bY,"Blockly description":"Criando regras por blocos gráficos","Body:":"Corpo:",Cancel:yY,"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:vY,"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:_Y,Conditions:wY,"Configuration not saved.":"Configuração não esta salva.",Console:kY,"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:CY,"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:SY,Default:TY,"Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...",Delay:IY,Delete:EY,"Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script",Description:xY,"Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar alterações para %s",Done:DY,"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",Error:"Erro","Error formatting code":"Erro de formatação de código","Error was found":"Erro foi encontrado","Every day":"Todos os dias",Exec:AY,"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:RY,Export:OY,"Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados",Februar:MY,February:NY,Filter:LY,Folder:PY,Fr:BY,Friday:jY,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:FY,ID1:zY,ID2:UY,Import:HY,"Import blocks":"Importar blocos","Import error":"Erro de importação","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto",Instance:WY,"Instance is disabled":"Instância está desativada","Instance:":"Instância:",Instances:GY,Instructions:VY,"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:KY,January:YY,July:JY,June:qY,"Just check":"Apenas verifique","Keep my changes":"Manter minhas alterações","Language:":"Língua:","Learn More":"Aprender mais","Light style":"Estilo claro",Limit:XY,"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:ZY,"March ":"Março",May:QY,Menu:eJ,Message:tJ,Mo:sJ,Model:oJ,Monday:iJ,Month:nJ,More:rJ,Name:aJ,"No active host found":"Nenhum host ativo encontrado","Nothing found":"Nada encontrado",November:lJ,OK:cJ,October:uJ,Ok:dJ,"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","Operate two states":"Operar dois estados","Operations with two states":"Operações com dois estados","Paste your blocks here":"Cole seus blocos aqui",Pause:hJ,"Pause execution":"Pausar a execução","Pause script":"Pausar script","Phone:":"Telefone:","Please select object ID...":"Selecione o ID do objeto...","Prettify the script":"Embeleze o roteiro","Print some text in log":"Imprimir algum texto no log","Priority:":"Prioridade:",Pushover:pJ,Pushsafer:gJ,"Read only ID selected: %s":"ID somente leitura selecionada: %s",Reload:mJ,Rename:fJ,"Reorder scripts in folders":"Reordenar scripts em pastas",Repeat:$J,Restart:bJ,Result:yJ,"Resume execution":"Retomar execução","Root folder":"Pasta principal","Rules description":"Crie regras com blocos IF, THEN, ELSE","Run script":"Executar script",Sa:vJ,Saturday:_J,Save:wJ,"Save all":"Salvar tudo","Say It":"Say It","Say some text via sayit adapter":"Diga algum texto através do adaptador sayit",Schedule:kJ,Script:CJ,"Script %s was modified on disk":'O script "%s" foi modificado no disco rígido',"Script was modified externally":"O script foi modificado externamente","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:SJ,"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:TJ,"Some files will be rejected":"Alguns arquivos serão rejeitados","Sound:":"Som:",Stack:IJ,Start:EJ,"Start script":"Iniciar script",State:xJ,"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:DJ,"Subject:":"Sujeito:",Sunday:AJ,"TS description":"Criando regras escrevendo Typecript",Telegram:RJ,"Text:":"Texto:",Th:OJ,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'O script "%s" foi modificado por outro usuário ou em outra janela. Deseja recarregar o script ou manter suas alterações locais?',"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:MJ,Time:NJ,"Time condition":"Condição de tempo","Title:":"Título:","To:":"Para:","Trigger with value":"Trigger com valor",Triggered:LJ,Triggers:PJ,"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:BJ,Tuesday:jJ,URL:FJ,"Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","User function":"Função do usuário","User:":"Do utilizador:",Value:zJ,"Vibration:":"Vibração:",Volume:UJ,We:HJ,Wednesday:WJ,"Whatsapp-cmb":"Whatsapp-cmb",Write:GJ,"Write your own code":"Escreva seu próprio código",Yes:VJ,"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","Please select a valid model":"Selecione um modelo válido","[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:KJ,all:YJ,and:JJ,"as JSON":"como JSON","as plain text":"como texto simples",astro:qJ,at:XJ,"clear running":"corrida limpa",control:ZJ,copy:QJ,cron:eq,dawn:tq,debug_help:sq,debug_label:oq,default:"predefinição",dusk:iq,easy:nq,else:"outro","equal to":"igual a",every:rq,"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:aq,filter_id:lq,filter_name:cq,filter_role:uq,filter_room:dq,"for edit or create script":"para editar ou criar um novo script","for professionals":"para profissionais","for programmers":"para programadores",goldenHour:hq,goldenHourEnd:pq,"greater or equal":"maior ou igual","greater or equal to":"maior ou igual a","greater than":"Maior que",help_just_check:gq,help_on_change:mq,"high priority":"prioridade máxima","high-priority":"prioridade máxima","highest priority":"Prioridade máxima",hours:fq,includes:$q,interval:bq,"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:yq,milliseconds:vq,minutes:_q,ms:wq,nadir:kq,nauticalDawn:Cq,nauticalDusk:Sq,nextSunrise:Tq,nextSunset:Iq,night:Eq,nightEnd:xq,"no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO",normal:Dq,"normal priority":"prioridade normal","not running":"não está em execução","not equal to":"não é igual a","not properly connected":"Este bloco não está conectado corretamente com outros blocos.",offset:Aq,"on change":"em mudança","on condition change":"na mudança de condição","on update":"em atualização",one:Rq,or:Oq,quiet:Mq,"reset search":"redefinir pesquisa",search:Nq,seconds:Lq,solarNoon:Pq,"store in":"armazenar em",sunrise:Bq,sunriseEnd:jq,sunset:Fq,sunsetStart:zq,then:Uq,"toggle value":"valor de alternância",tooltip_ack:Hq,tooltip_from:Wq,tooltip_lc:Gq,tooltip_quality:Vq,tooltip_ts:Kq,tooltip_user:Yq,tooltip_value:Jq,true:"verdade",two:qq,undefined:"Indefinido",update:Xq,"use seconds":"use segundos","use trigger value":"use o gatilho",verbose_help:Zq,verbose_label:Qq,when:eX,with:"com","with date":"com data","with offset":"com deslocamento",wizard:tX,"Loading models...":"Carregando modelos...","Could not connect to API at %s":"Não foi possível conectar à API em %s","Invalid API key":"Chave API inválida","Access denied by API":"Acesso negado pela API","API error: %s":"Erro de API: %s",'Model "%s" not found':'Modelo "%s" não encontrado',"Request failed: %s":"Solicitação falhou: %s",Retry:sX,"No running javascript instance found":"Nenhuma instância JavaScript em execução encontrada","OID display mode":"Modo de exibição OID","Ask questions about your script, request changes, or generate new code.":"Faça perguntas sobre seu script, solicite alterações ou gere novo código.","to send":"para enviar","Thinking...":"Pensando...","AI suggested changes":"Alterações sugeridas pela IA",Accept:oX,Reject:iX,"No API keys configured":"Nenhuma chave API configurada","for new line":"para nova linha","AI chat mode":"Modo de chat IA","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Conversa simples. Use para perguntas, explicações e ajuda com sintaxe. Não lê nem modifica seus scripts.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':'Para modelos maiores com suporte a ferramentas. A IA pode ler, criar e editar scripts, consultar datapoints e navegar pela árvore de objetos — útil para "crie um script que...", "quais scripts usam este state?" ou "analise meu script de luz".','For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':'Para modelos menores sem suporte a ferramentas. Gerador de scripts em duas etapas (plano e depois código) — útil para "crie um script que..." ou "escreva uma regra Blockly para...". O resultado vai para o editor para smart-apply.',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"Conversa simples. Ideal para: perguntas gerais, ajuda com sintaxe, explicações de conceitos.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Para modelos maiores com suporte a ferramentas. Ideal para: criar, editar ou analisar scripts; encontrar usos de datapoints; inspecionar a árvore de objetos.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Para modelos menores sem suporte a ferramentas. Ideal para: criar novos scripts JavaScript/TypeScript ou Blockly a partir de uma descrição.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Mencionar scripts como contexto para a IA. Use @todos para todos os scripts ou @nomeDoScript para um específico.",Context:nX,"current script":"script atual","all scripts":"todos os scripts",devices:rX,"Searching datapoints":"Pesquisando pontos de dados","Reading value":"Lendo valor","Loading object info":"Carregando informações do objeto","Searching scripts":"Pesquisando scripts","Reading script":"Lendo script","Loading script list":"Carregando lista de scripts","All scripts":"Todos os scripts","Smart home devices":"Dispositivos de casa inteligente","AI Chat":"Chat IA","AI inline completions":"Completações em linha IA","New chat":"Novo chat","Ask about your script...":"Pergunte sobre seu script...","Insert blocks":"Inserir blocos","Apply blocks":"Aplicar blocos",Undo:aX,Redo:lX,"Insert into editor":"Inserir no editor","Show as diff":"Mostrar como diff","Selected code as context":"Código selecionado como contexto","Generating plan...":"Gerando plano...","Generating code...":"Gerando código...",Plan:cX,"mention @all":"@todos","mention @devices":"@dispositivos",Send:uX,Copy:dX,"AI inline chat":"Chat IA embutido",'e.g. "Refactor this to use async/await"':'ex. "Refactor this to use async/await"',"Open in chat":"Abrir no chat","Selection: %s line(s)":"Seleção: %s linha(s)","No selection — the question will use context from the whole script.":"Sem seleção — a pergunta usará o contexto de todo o script.","Please enter a question.":"Digite uma pergunta.","Thinking…":"Pensando…","Code proposal — press Apply to replace your selection.":"Proposta de código — pressione Aplicar para substituir sua seleção.","Plain text answer.":"Resposta em texto.","Show more details":"Mostrar mais detalhes","AI: Inline chat…":"IA: Chat embutido…","AI: Explain":"IA: Explicar","AI: Refactor":"IA: Refatorar","AI: Add comments":"IA: Adicionar comentários","AI: Fix problem":"IA: Corrigir problema","AI: Suggest tests":"IA: Sugerir testes","Ask the AI about the selected code:":"Pergunte à IA sobre o código selecionado:",Explain:hX,Refactor:pX,Tests:gX,"Explain %s %s":"Explicar %s %s","Refactor %s %s":"Refatorar %s %s","Suggest tests for %s %s":"Sugerir testes para %s %s","Apply changes":"Aplicar alterações","Discard changes":"Descartar alterações",'Ask anything, or request a change (e.g. "what does this do?")':'Pergunte algo ou peça uma alteração (ex. "o que isso faz?")'},fX="Подтверждение",$X="Действия",bX="Добавить",yX="Все",vX="Любая",_X="Применить",wX="Апрель",kX="Спросить",CX="Aстрономический",SX="Август",TX="Отмена",IX="Закрыть",EX="Условие",xX="Условия",DX="Приставка",AX="Скопировано",RX="Декабрь",OX="Дефолт",MX="Задержка",NX="Удалить",LX="Описание",PX="Готово",BX="Исполнить shell",jX="Объяснение",FX="Экспорт",zX="Февраль",UX="Февраль",HX="Фильтр",WX="Папка",GX="Пт",VX="пятница",KX="ID",YX="ID1",JX="ID2",qX="Импорт",XX="Экземпляр",ZX="Экземпляры",QX="Инструкции",eZ="Январь",tZ="Январь",sZ="Июль",oZ="Июнь",iZ="Предел",nZ="Март",rZ="Май",aZ="Меню",lZ="Сообщение",cZ="Пн",uZ="Модель",dZ="понедельник",hZ="Месяц",pZ="Более",gZ="Имя",mZ="Ноябрь",fZ="Ок",$Z="Октябрь",bZ="Ok",yZ="Пауза",vZ="Pushover",_Z="Pushsafer",wZ="Перезагрузить",kZ="Переименовать",CZ="Повторение",SZ="Перезапустить",TZ="Результат",IZ="Сб",EZ="суббота",xZ="Сохранить",DZ="Расписание",AZ="скрипт",RZ="Сентябрь",OZ="Симулировать",MZ="Stack",NZ="Начинать",LZ="Состояние",PZ="Вс",BZ="Воскресенье",jZ="Telegram",FZ="Чт",zZ="Четверг",UZ="Время",HZ="Срабатывает",WZ="Триггеры",GZ="Вт",VZ="вторник",KZ="URL",YZ="Значение",JZ="Громкость",qZ="Ср",XZ="среда",ZZ="Напишите",QZ="Да",eQ="подтверждение",tQ="все",sQ="и",oQ="Астро",iQ="в",nQ="контроль",rQ="копия",aQ="CRON",lQ="Рассвет",cQ="Это особый режим, в котором состояния и объекты не будут меняться. Но в протоколе будет отображаться только информация о каждом планируемом изменении.",uQ="Отлаживать",dQ="Сумерки",hQ="легкий",pQ="каждые(ый)",gQ="Функция",mQ="ID",fQ="Название",$Q="Роль",bQ="Комната",yQ="Золотой час",vQ="Конец золотого часа",_Q="Код будет выполняться только каждый раз, когда условие истинно. Например. при срабатывании по значению датчика температуры и условию «если температура выше 20°C», действия «затем» будут выполняться каждый раз, когда датчик отправляет значение температуры, и оно превышает 20°C. На 21°С, на 22°С и так далее.",wQ="Код будет выполнен только в случае изменения результата условия. Например, при срабатывании по значению датчика температуры и условию «если температура больше 20°C», действия «затем» будут выполнены один раз, когда температура превысит 20°C. В следующий раз действия «затем» будут выполнены, когда температура опустится ниже 20°C, а затем снова поднимается выше 20°C.",kQ="час(ов)",CQ="содержит",SQ="интервал",TQ="магия",IQ="миллисекунды",EQ="минут(у)",xQ="мс",DQ="Надир",AQ="Морской рассвет",RQ="Морские сумерки",OQ="Следующий восход",MQ="Следующий закат",NQ="Ночь",LQ="Конец ночи",PQ="нормальный",BQ="сдвиг",jQ="один",FQ="или",zQ="тихий",UQ="поиск",HQ="секунд",WQ="Солнечный полдень",GQ="Восход солнца",VQ="Конец восхода",KQ="Закат солнца",YQ="Начало заката",JQ="тогда",qQ="Подтверждено",XQ="От",ZQ="Последнее изменение",QQ="Качественный",eee="Время",tee="Пользователь",see="Значение",oee="два",iee="обновить",nee="Добавляет вывод отладки в журнал для многих системных команд.",ree="Подробный протокол",aee="если",lee="Мастер",cee="Повторить",uee="Принять",dee="Отклонить",hee="Контекст",pee="устройства",gee="Отменить",mee="Повторить",fee="План",$ee="Отправить",bee="Копировать",yee="Объяснить",vee="Рефакторинг",_ee="Тесты",wee={"%s not found":"%s не найден","()":"()","(at %s)":"(в %s)","(optional)":"(необязательный)","-":"-",".":".",Ack:fX,Actions:$X,"Actual time of day":"Фактическое время суток",Add:bX,"Add new script":"Добавить новый скрипт",All:yX,"All files will be accepted":"Все файлы будут приняты",Any:vX,"Any month":"В любой месяц",Apply:_X,April:wX,"Are you sure?":"Вы уверены?",Ask:kX,Astronomical:CX,"Astronomical events today":"Астрономические события сегодня",August:SX,"Blockly description":"Создание правил графическими блоками","Body:":"Тело:",Cancel:TX,"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:IX,"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:EX,Conditions:xX,"Configuration not saved.":"Конфигурация не сохранена.",Console:DX,"Control or update some state":"Контролировать или обновлять какое-то состояние","Control or update some state with delay":"Контролировать или обновлять какое-либо состояние с задержкой","Convert blockly to javascript for ever.":"Преобразовать blockly в Javascript навсегда.",Copied:AX,"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:RX,Default:OX,"Define cron...":"Задать правило ...","Define schedule...":"Задать расписание...",Delay:MX,Delete:NX,"Delete %s":"Удалить %s...","Delete folder":"Удалить папку","Delete script":"Удалить скрипт",Description:LX,"Deselect all":"Снять выбор со всех","Discard changes for %s":"Отменить изменения для %s",Done:PX,"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":"Закончить поиск",Error:"Ошибка","Error formatting code":"Ошибка форматирования кода","Error was found":"Ошибка была найдена","Every day":"Каждый день",Exec:BX,"Executes some shell command":"Выполняет некоторую команду оболочки","Existing scripts will be overwritten.":"Существующие скрипты будут перезаписаны.","Expand all":"Открыть все","Expert mode":"Экспертный режим",Explanation:jX,Export:FX,"Export all scripts":"Экспорт всех скриптов","Export blocks":"Экспортировать блоки","Export selected blocks":"Экспортировать выбранные блоки",Februar:zX,February:UX,Filter:HX,Folder:WX,Fr:GX,Friday:VX,Function:"Функция","Function editor":"Редактор функции","Function: executed":"Функция: выполнено","Go to next line":"Перейти к следующей строке","HTTP Call":"HTTP-вызов","Hide logs":"Скрыть журналы",ID:KX,ID1:YX,ID2:JX,Import:qX,"Import blocks":"Импортировать блоки","Import error":"Ошибка импорта","Import scripts":"Импорт скриптов","Insert object ID":"Вставить ID объекта",Instance:XX,"Instance is disabled":"Экземпляр отключен","Instance:":"Пример:",Instances:ZX,Instructions:QX,"Invalid CRON":"Неправильный CRON","It will not be possible to revert this operation.":"Невозможно вернуть эту операцию.","JS description":"Создание правил путём написания Javascript",Januar:eZ,January:tZ,July:sZ,June:oZ,"Just check":"Просто проверить","Keep my changes":"Сохранить мои изменения","Language:":"Язык:","Learn More":"Узнать больше","Light style":"Светлый стиль",Limit:iZ,"Local time":"Местное время","Locate file":"Показать файл в дереве","Log outputs":"Журнал","Log text":"Текст журнала","Log: %s":"Журнал: %s","Make a HTTP get request":"Сделайте HTTP-запрос на получение","Make a pause between actions":"Сделайте паузу между действиями",March:nZ,"March ":"Март ",May:rZ,Menu:aZ,Message:lZ,Mo:cZ,Model:uZ,Monday:dZ,Month:hZ,More:pZ,Name:gZ,"No active host found":"Активный host не найден","Nothing found":"Ничего не найдено",November:mZ,OK:fZ,October:$Z,Ok:bZ,"On condition change":"При изменении реузльтата условий","On script save or adapter start":"При сохранении скрипта или запуске адаптера","On weekdays":"По дням недели","Operate two states":"Операции над двумя состояниями","Operations with two states":"Операции с двумя состояниями","Paste your blocks here":"Вставьте свои блоки сюда",Pause:yZ,"Pause execution":"Приостановить выполнение","Pause script":"Остановить скрипт","Phone:":"Телефон:","Please select object ID...":"Пожалуйста, выберите ID объекта ...","Prettify the script":"Украсьте сценарий","Print some text in log":"Напечатать текст в журнале","Priority:":"Приоритет:",Pushover:vZ,Pushsafer:_Z,"Read only ID selected: %s":"Выбран идентификатор только для чтения: %s",Reload:wZ,Rename:kZ,"Reorder scripts in folders":"Сортировать скрипты в папках",Repeat:CZ,Restart:SZ,Result:TZ,"Resume execution":"Возобновить выполнение","Root folder":"Корневая папка","Rules description":"Создавайте правила с блоками ЕСЛИ, ТО, ИНАЧЕ","Run script":"Запустить скрипт",Sa:IZ,Saturday:EZ,Save:xZ,"Save all":"Сохранить все","Say It":"Say It","Say some text via sayit adapter":"Произнесите текст через адаптер Sayit",Schedule:DZ,Script:AZ,"Script %s was modified on disk":'Скрипт "%s" был изменен на диске',"Script was modified externally":"Скрипт был изменён извне","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:RZ,"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:OZ,"Some files will be rejected":"Некоторые файлы будут отклонены","Sound:":"Звук:",Stack:MZ,Start:NZ,"Start script":"Старт скрипта",State:LZ,"State condition":"Сравнение состояния","Step into function":"Шаг в функционирование","Step out from function":"Выйти из функции","Stop on exception":"Остановить при исключении",Su:PZ,"Subject:":"Предмет:",Sunday:BZ,"TS description":"Создание правил путём написания Typescript",Telegram:jZ,"Text:":"Текст:",Th:FZ,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Скрипт "%s" был изменён другим пользователем или в другом окне. Вы хотите перезагрузить скрипт или сохранить свои локальные изменения?',"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:zZ,Time:UZ,"Time condition":"Условие времени","Title:":"Заголовок:","To:":"К:","Trigger with value":"Триггер со значением",Triggered:HZ,Triggers:WZ,"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:GZ,Tuesday:VZ,URL:KZ,"Unknown error":"Неизвестная ошибка","Unknown error!":"Неизвестная ошибка!","User function":"Функция пользователя","User:":"Пользователь:",Value:YZ,"Vibration:":"Вибрация:",Volume:JZ,We:qZ,Wednesday:XZ,"Whatsapp-cmb":"Whatsapp-cmb",Write:ZZ,"Write your own code":"Напишите свой код",Yes:QZ,"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, чтобы использовать старое значение триггера.","Please select a valid model":"Пожалуйста, выберите допустимую модель","[equal]":"[равно]","[greater or equal]":"[больше или равно]","[greater]":"[больше]","[hysteresis]":"[гистерезис]","[includes]":"[содержит]","[less or equal]":"[меньше или равно]","[less]":"[меньше]","[not equal]":"[не равно]",acknowledgment:eQ,all:tQ,and:sQ,"as JSON":"как JSON","as plain text":"как текст",astro:oQ,at:iQ,"clear running":"остановить уже бегущие",control:nQ,copy:rQ,cron:aQ,dawn:lQ,debug_help:cQ,debug_label:uQ,default:"дефолт",dusk:dQ,easy:hQ,else:"иначе","equal to":"равно",every:pQ,"every hour at 0 minutes":"каждый час через 0 минут",false:"false","file reading has failed: %s":"Ошибка чтения файла: %s","file reading was aborted":"Чтение файла было прервано",filter_func:gQ,filter_id:mQ,filter_name:fQ,filter_role:$Q,filter_room:bQ,"for edit or create script":"для редактирования или создайте новый скрипт","for professionals":"для профессионалов","for programmers":"для программистов",goldenHour:yQ,goldenHourEnd:vQ,"greater or equal":"больше или равно","greater or equal to":"больше или равно","greater than":"больше чем",help_just_check:_Q,help_on_change:wQ,"high priority":"высокий приоритет","high-priority":"высокий-приоритет","highest priority":"высший приоритет",hours:kQ,includes:CQ,interval:SQ,"just check":"просто проверить","less or equal":"меньше или равно","less or equal to":"меньше или равно","less than":"меньше, чем","lower priority":"более низкий приоритет","lowest priority":"самый низкий приоритет",magic:TQ,milliseconds:IQ,minutes:EQ,ms:xQ,nadir:DQ,nauticalDawn:AQ,nauticalDusk:RQ,nextSunrise:OQ,nextSunset:MQ,night:NQ,nightEnd:LQ,"no blocks found":"Блоков нет","no group":"Нет группы",normal:PQ,"normal priority":"нормальный приоритет","not running":"не запущен","not equal to":"не равно","not properly connected":"Этот блок неправильно соединён или не соединён с другими блоками.",offset:BQ,"on change":"по изменению","on condition change":"при изменении результата условия","on update":"при обновлении",one:jQ,or:FQ,quiet:zQ,"reset search":"Cбросить поиск",search:UQ,seconds:HQ,solarNoon:WQ,"store in":"сохранить в",sunrise:GQ,sunriseEnd:VQ,sunset:KQ,sunsetStart:YQ,then:JQ,"toggle value":"инвертировать текщее значение",tooltip_ack:qQ,tooltip_from:XQ,tooltip_lc:ZQ,tooltip_quality:QQ,tooltip_ts:eee,tooltip_user:tee,tooltip_value:see,true:"true",two:oee,undefined:"неопределенный",update:iee,"use seconds":"использовать секунды","use trigger value":"использовать значение триггера",verbose_help:nee,verbose_label:ree,when:aee,with:"с","with date":"с датой","with offset":"со сдвигом",wizard:lee,"Loading models...":"Загрузка моделей...","Could not connect to API at %s":"Не удалось подключиться к API по адресу %s","Invalid API key":"Недействительный ключ API","Access denied by API":"Доступ запрещён API","API error: %s":"Ошибка API: %s",'Model "%s" not found':'Модель "%s" не найдена',"Request failed: %s":"Запрос не удался: %s",Retry:cee,"No running javascript instance found":"Не найден работающий экземпляр JavaScript","OID display mode":"Режим отображения OID","Ask questions about your script, request changes, or generate new code.":"Задавайте вопросы о вашем скрипте, запрашивайте изменения или генерируйте новый код.","to send":"для отправки","Thinking...":"Думаю...","AI suggested changes":"Изменения, предложенные ИИ",Accept:uee,Reject:dee,"No API keys configured":"API-ключи не настроены","for new line":"для новой строки","AI chat mode":"Режим чата ИИ","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Обычный разговор. Используйте для вопросов, объяснений и помощи с синтаксисом. Не читает и не изменяет скрипты.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':"Для больших моделей с поддержкой инструментов. ИИ может читать, создавать и редактировать скрипты, искать датапоинты и просматривать дерево объектов — подходит для «создай скрипт, который …», «какие скрипты используют этот state?» или «проанализируй мой скрипт освещения».",'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':"Для небольших моделей без поддержки инструментов. Двухэтапный генератор скриптов (сначала план, затем код) — подходит для «создай скрипт, который …» или «напиши правило Blockly для …». Результат попадает в редактор для smart-apply.","Plain conversation. Best for: general questions, syntax help, concept explanations.":"Обычный разговор. Лучше всего для: общих вопросов, помощи с синтаксисом, объяснения концепций.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Для больших моделей с поддержкой инструментов. Лучше всего для: создания, редактирования или анализа скриптов; поиска использования датапоинтов; изучения дерева объектов.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Для небольших моделей без поддержки инструментов. Лучше всего для: создания новых JavaScript/TypeScript или Blockly скриптов по описанию.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Упомяните скрипты как контекст для ИИ. Используйте @все для всех скриптов или @имяСкрипта для конкретного.",Context:hee,"current script":"текущий скрипт","all scripts":"все скрипты",devices:pee,"Searching datapoints":"Поиск точек данных","Reading value":"Чтение значения","Loading object info":"Загрузка информации об объекте","Searching scripts":"Поиск скриптов","Reading script":"Чтение скрипта","Loading script list":"Загрузка списка скриптов","All scripts":"Все скрипты","Smart home devices":"Устройства умного дома","AI Chat":"ИИ Чат","AI inline completions":"ИИ автодополнение","New chat":"Новый чат","Ask about your script...":"Спросите о вашем скрипте...","Insert blocks":"Вставить блоки","Apply blocks":"Применить блоки",Undo:gee,Redo:mee,"Insert into editor":"Вставить в редактор","Show as diff":"Показать как diff","Selected code as context":"Выбранный код как контекст","Generating plan...":"Создание плана...","Generating code...":"Генерация кода...",Plan:fee,"mention @all":"@все","mention @devices":"@устройства",Send:$ee,Copy:bee,"AI inline chat":"Встроенный ИИ-чат",'e.g. "Refactor this to use async/await"':'напр. "Refactor this to use async/await"',"Open in chat":"Открыть в чате","Selection: %s line(s)":"Выделение: %s стр.","No selection — the question will use context from the whole script.":"Нет выделения — вопрос относится ко всему скрипту.","Please enter a question.":"Введите вопрос.","Thinking…":"Думаю…","Code proposal — press Apply to replace your selection.":"Предложение кода — нажмите Применить, чтобы заменить выделение.","Plain text answer.":"Текстовый ответ.","Show more details":"Показать подробнее","AI: Inline chat…":"ИИ: Встроенный чат…","AI: Explain":"ИИ: Объяснить","AI: Refactor":"ИИ: Рефакторинг","AI: Add comments":"ИИ: Добавить комментарии","AI: Fix problem":"ИИ: Исправить проблему","AI: Suggest tests":"ИИ: Предложить тесты","Ask the AI about the selected code:":"Спросите ИИ о выделенном коде:",Explain:yee,Refactor:vee,Tests:_ee,"Explain %s %s":"Объяснить %s %s","Refactor %s %s":"Рефакторинг %s %s","Suggest tests for %s %s":"Предложить тесты для %s %s","Apply changes":"Применить изменения","Discard changes":"Отменить изменения",'Ask anything, or request a change (e.g. "what does this do?")':'Задайте любой вопрос или попросите изменение (напр. "что делает эта команда?")'},kee="Визнано",Cee="Дії",See="додати",Tee="все",Iee="Будь-який",Eee="Застосувати",xee="квітень",Dee="Запитуйте",Aee="Астрономічний",Ree="серпень",Oee="Скасувати",Mee="Закрити",Nee="Хвороба",Lee="Умови",Pee="Консоль",Bee="Скопійовано",jee="Грудень",Fee="За замовчуванням",zee="Затримка",Uee="Видалити",Hee="опис",Wee="Готово",Gee="Виконавча оболонка",Vee="Пояснення",Kee="Експорт",Yee="Лютий",Jee="Лютий",qee="фільтр",Xee="Папка",Zee="О",Qee="П'ятниця",ete="ID",tte="ID1",ste="ID2",ote="Імпорт",ite="Екземпляр",nte="Примірники",rte="Інструкції",ate="січень",lte="січня",cte="липень",ute="червень",dte="Ліміт",hte="березень",pte="Може",gte="Меню",mte="повідомлення",fte="пн",$te="Модель",bte="понеділок",yte="місяць",vte="Більше",_te="Ім'я",wte="Листопад",kte="в порядку",Cte="жовтень",Ste="В порядку",Tte="Пауза",Ite="Pushover",Ete="Pushsafer",xte="Перезавантажити",Dte="Перейменувати",Ate="Повторіть",Rte="Перезапустіть",Ote="Результат",Mte="Sa",Nte="Субота",Lte="зберегти",Pte="розклад",Bte="Сценарій",jte="Вересень",Fte="Симулювати",zte="Стек",Ute="старт",Hte="Держава",Wte="Нд",Gte="неділя",Vte="Телеграма",Kte="чт",Yte="четвер",Jte="час",qte="Спрацьовує",Xte="Тригери",Zte="вт",Qte="вівторок",ese="URL",tse="Значення",sse="Обсяг",ose="ми",ise="Середа",nse="Напишіть",rse="Так",ase="підтвердження",lse="все",cse="і",use="Астро",dse="в",hse="КОНТРОЛЬ",pse="копія",gse="CRON",mse="Світанок",fse="Це особливий режим, в якому стану та об'єкти не змінюватимуться. Але в протоколі відображатиметься лише інформація про кожну заплановану зміну.",$se="Відлагоджувати",bse="Сутінки",yse="легко",vse="кожен",_se="функція",wse="ID",kse="Ім'я",Cse="Роль",Sse="Кімната",Tse="Золота година",Ise="Кінець золотої години",Ese="Код буде виконуватися лише щоразу, коли умова виконується. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» виконуватимуться щоразу, коли датчик надсилає температуру, і вона перевищує 20°C. На 21°C, на 22°C і так далі.",xse="Код буде виконано лише у разі зміни результату умови. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» будуть виконані один раз, коли температура буде вище 20. Наступного разу дії «тоді» буде виконано, коли температура падає нижче 20, а потім знову піднімається вище 20.",Dse="години",Ase="включає в себе",Rse="інтервал",Ose="магія",Mse="мілісекунд",Nse="хвилин",Lse="РС",Pse="Надір",Bse="Морський світанок",jse="Морські сутінки",Fse="Наступний схід сонця",zse="Наступний захід сонця",Use="ніч",Hse="Кінець ночі",Wse="нормально",Gse="зсув",Vse="один",Kse="або",Yse="тихо",Jse="пошук",qse="секунд",Xse="Сонячний полудень",Zse="схід сонця",Qse="Кінець сходу сонця",eoe="Захід сонця",toe="Початок заходу сонця",soe="потім",ooe="Визнати",ioe="Від",noe="Востаннє змінено",roe="якість",aoe="Мітка часу",loe="Користувач",coe="Значення",uoe="два",doe="оновлення",hoe="Додає вихідні дані налагодження до журналу для багатьох системних команд",poe="Докладні результати журналу",goe="коли",moe="майстер",foe="Повторити",$oe="Прийняти",boe="Відхилити",yoe="Контекст",voe="пристрої",_oe="Скасувати",woe="Повторити",koe="План",Coe="Надіслати",Soe="Копіювати",Toe="Пояснити",Ioe="Рефакторинг",Eoe="Тести",xoe={"%s not found":"%s не знайдено","()":"()","(at %s)":"(у %s)","(optional)":"(необов'язково)","-":"-",".":".",Ack:kee,Actions:Cee,"Actual time of day":"Фактичний час доби",Add:See,"Add new script":"Додати новий сценарій",All:Tee,"All files will be accepted":"Усі файли будуть прийняті",Any:Iee,"Any month":"Будь-який місяць",Apply:Eee,April:xee,"Are you sure?":"Ти впевнений?",Ask:Dee,Astronomical:Aee,"Astronomical events today":"Астрономічні події сьогодні",August:Ree,"Blockly description":"Створення правил за графічними блоками","Body:":"Тіло:",Cancel:Oee,"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:Mee,"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:Nee,Conditions:Lee,"Configuration not saved.":"Конфігурація не збережена.",Console:Pee,"Control or update some state":"Контролюйте або оновлюйте певний стан","Control or update some state with delay":"Контролюйте або оновлюйте деякий стан із затримкою","Convert blockly to javascript for ever.":"Назавжди конвертуйте Blockly у Javascript.",Copied:Bee,"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:jee,Default:Fee,"Define cron...":"Визначити cron...","Define schedule...":"Визначити розклад...",Delay:zee,Delete:Uee,"Delete %s":"Видалити %s...","Delete folder":"Видалити папку","Delete script":"Видалити сценарій",Description:Hee,"Deselect all":"Зняти вибір із усіх","Discard changes for %s":"Скасувати зміни для %s",Done:Wee,"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":"Завершити режим пошуку",Error:"Помилка","Error formatting code":"Помилка форматування коду","Error was found":"Виявлено помилку","Every day":"Кожен день",Exec:Gee,"Executes some shell command":"Виконує певну команду оболонки","Existing scripts will be overwritten.":"Існуючі сценарії буде перезаписано.","Expand all":"Розгорнути все","Expert mode":"Експертний режим",Explanation:Vee,Export:Kee,"Export all scripts":"Експортувати всі сценарії","Export blocks":"Експорт блоків","Export selected blocks":"Експортувати вибрані блоки",Februar:Yee,February:Jee,Filter:qee,Folder:Xee,Fr:Zee,Friday:Qee,Function:"функція","Function editor":"Редактор функцій","Function: executed":"Функція: виконано","Go to next line":"Перейти до наступного рядка","HTTP Call":"Виклик HTTP","Hide logs":"Приховати журнали",ID:ete,ID1:tte,ID2:ste,Import:ote,"Import blocks":"Імпорт блоків","Import error":"Помилка імпорту","Import scripts":"Імпорт скриптів","Insert object ID":"Вставте ID об'єкта",Instance:ite,"Instance is disabled":"Примірник вимкнено","Instance:":"екземпляр:",Instances:nte,Instructions:rte,"Invalid CRON":"Недійсний CRON","It will not be possible to revert this operation.":"Скасувати цю операцію буде неможливо.","JS description":"Створення правил шляхом написання Javascript",Januar:ate,January:lte,July:cte,June:ute,"Just check":"Просто перевірте","Keep my changes":"Зберегти мої зміни","Language:":"Мову:","Learn More":"Вивчайте більше","Light style":"Легкий стиль",Limit:dte,"Local time":"Місцевий час","Locate file":"Знайти файл","Log outputs":"Виходи журналу","Log text":"Текст журналу","Log: %s":"Журнал: %s","Make a HTTP get request":"Зробіть HTTP-запит на отримання","Make a pause between actions":"Між діями робіть паузу",March:hte,"March ":"березень",May:pte,Menu:gte,Message:mte,Mo:fte,Model:$te,Monday:bte,Month:yte,More:vte,Name:_te,"No active host found":"Активний хост не знайдено","Nothing found":"Нічого не знайдено",November:wte,OK:kte,October:Cte,Ok:Ste,"On condition change":"За умови зміни результату","On script save or adapter start":"Під час збереження сценарію або запуску адаптера","On weekdays":"В будні дні","Operate two states":"Керуйте двома станами","Operations with two states":"Операції з двома станами","Paste your blocks here":"Вставте сюди свої блоки",Pause:Tte,"Pause execution":"Призупинити виконання","Pause script":"Призупинити сценарій","Phone:":"телефон:","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Prettify the script":"Прикрасьте сценарій","Print some text in log":"Надрукувати текст у журналі","Priority:":"Пріоритет:",Pushover:Ite,Pushsafer:Ete,"Read only ID selected: %s":"Вибрано ідентифікатор лише для читання: %s",Reload:xte,Rename:Dte,"Reorder scripts in folders":"Зміна порядку сценаріїв у папках",Repeat:Ate,Restart:Rte,Result:Ote,"Resume execution":"Відновити виконання","Root folder":"Коренева папка","Rules description":"Створюйте правила з блоками IF, THEN, ELSE","Run script":"Запустіть сценарій",Sa:Mte,Saturday:Nte,Save:Lte,"Save all":"Зберегти все","Say It":"Скажи це","Say some text via sayit adapter":"Скажіть текст через адаптер sayit",Schedule:Pte,Script:Bte,"Script %s was modified on disk":"Сценарій %s змінено на диску","Script was modified externally":"Скрипт було змінено ззовні","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:jte,"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:Fte,"Some files will be rejected":"Деякі файли буде відхилено","Sound:":"звук:",Stack:zte,Start:Ute,"Start script":"Запустити сценарій",State:Hte,"State condition":"Стан стану","Step into function":"Крок у функції","Step out from function":"Вийти з функції","Stop on exception":"Зупинка на винятках",Su:Wte,"Subject:":"Тема:",Sunday:Gte,"TS description":"Створення правил шляхом написання Typescript",Telegram:Vte,"Text:":"Текст:",Th:Kte,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'Скрипт "%s" було змінено іншим користувачем або в іншому вікні. Бажаєте перезавантажити скрипт чи зберегти свої локальні зміни?',"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:Yte,Time:Jte,"Time condition":"Умова часу","Title:":"Назва:","To:":"до:","Trigger with value":"Тригер зі значенням",Triggered:qte,Triggers:Xte,"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:Zte,Tuesday:Qte,URL:ese,"Unknown error":"Невідома помилка","Unknown error!":"Невідома помилка!","User function":"Функція користувача","User:":"Користувач:",Value:tse,"Vibration:":"Вібрація:",Volume:sse,We:ose,Wednesday:ise,"Whatsapp-cmb":"Whatsapp-cmb",Write:nse,"Write your own code":"Напишіть власний код",Yes:rse,"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, щоб використовувати старе значення тригера","Please select a valid model":"Будь ласка, виберіть дійсну модель","[equal]":"[рівний]","[greater or equal]":"[більше або дорівнює]","[greater]":"[більший]","[hysteresis]":"[гістерезис]","[includes]":"[включає]","[less or equal]":"[менше або рівно]","[less]":"[менше]","[not equal]":"[не дорівнює]",acknowledgment:ase,all:lse,and:cse,"as JSON":"як JSON","as plain text":"як текст",astro:use,at:dse,"clear running":"чіткий біг",control:hse,copy:pse,cron:gse,dawn:mse,debug_help:fse,debug_label:$se,default:"за замовчуванням",dusk:bse,easy:yse,else:"інше","equal to":"дорівнює",every:vse,"every hour at 0 minutes":"щогодини о 0 хвилин",false:"помилковий","file reading has failed: %s":"не вдалося прочитати файл: %s","file reading was aborted":"читання файлу було перервано",filter_func:_se,filter_id:wse,filter_name:kse,filter_role:Cse,filter_room:Sse,"for edit or create script":"для редагування або створення нового сценарію","for professionals":"для професіоналів","for programmers":"для програмістів",goldenHour:Tse,goldenHourEnd:Ise,"greater or equal":"більший або рівний","greater or equal to":"більше або дорівнює","greater than":"більше, ніж, величніше ніж, крутіший за",help_just_check:Ese,help_on_change:xse,"high priority":"високий пріоритет","high-priority":"високий пріоритет","highest priority":"найвищий пріоритет",hours:Dse,includes:Ase,interval:Rse,"just check":"просто перевірте","less or equal":"менше або дорівнює","less or equal to":"менше або дорівнює","less than":"менше ніж","lower priority":"нижчий пріоритет","lowest priority":"найнижчий пріоритет",magic:Ose,milliseconds:Mse,minutes:Nse,ms:Lse,nadir:Pse,nauticalDawn:Bse,nauticalDusk:jse,nextSunrise:Fse,nextSunset:zse,night:Use,nightEnd:Hse,"no blocks found":"Блоків не знайдено","no group":"НЕМАЄ ГРУПИ",normal:Wse,"normal priority":"нормальний пріоритет","not running":"не запущено","not equal to":"не дорівнює","not properly connected":"Цей блок неправильно з’єднаний з іншими блоками.",offset:Gse,"on change":"на зміну","on condition change":"про зміну умов","on update":"на оновлення",one:Vse,or:Kse,quiet:Yse,"reset search":"скинути пошук",search:Jse,seconds:qse,solarNoon:Xse,"store in":"зберігати в",sunrise:Zse,sunriseEnd:Qse,sunset:eoe,sunsetStart:toe,then:soe,"toggle value":"значення перемикання",tooltip_ack:ooe,tooltip_from:ioe,tooltip_lc:noe,tooltip_quality:roe,tooltip_ts:aoe,tooltip_user:loe,tooltip_value:coe,true:"правда",two:uoe,undefined:"невизначений",update:doe,"use seconds":"використовуйте секунди","use trigger value":"використовувати значення тригера",verbose_help:hoe,verbose_label:poe,when:goe,with:"з","with date":"з датою","with offset":"зі зміщенням",wizard:moe,"Loading models...":"Завантаження моделей...","Could not connect to API at %s":"Не вдалося підключитися до API за адресою %s","Invalid API key":"Недійсний ключ API","Access denied by API":"Доступ заборонено API","API error: %s":"Помилка API: %s",'Model "%s" not found':'Модель "%s" не знайдено',"Request failed: %s":"Запит не вдався: %s",Retry:foe,"No running javascript instance found":"Не знайдено запущеного екземпляра JavaScript","OID display mode":"Режим відображення OID","Ask questions about your script, request changes, or generate new code.":"Задавайте питання про ваш скрипт, запитуйте зміни або генеруйте новий код.","to send":"для надсилання","Thinking...":"Думаю...","AI suggested changes":"Зміни, запропоновані ШІ",Accept:$oe,Reject:boe,"No API keys configured":"API-ключі не налаштовані","for new line":"для нового рядка","AI chat mode":"Режим чату ШІ","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"Звичайна розмова. Використовуйте для питань, пояснень і допомоги із синтаксисом. Не читає і не змінює скрипти.",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':"Для більших моделей з підтримкою інструментів. ШІ може читати, створювати і редагувати скрипти, шукати датапоінти і переглядати дерево об'єктів — підходить для «створи скрипт, який …», «які скрипти використовують цей state?» або «проаналізуй мій скрипт освітлення».",'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':"Для менших моделей без підтримки інструментів. Двоетапний генератор скриптів (спочатку план, потім код) — підходить для «створи скрипт, який …» або «напиши правило Blockly для …». Результат потрапляє до редактора для smart-apply.","Plain conversation. Best for: general questions, syntax help, concept explanations.":"Звичайна розмова. Найкраще для: загальних питань, допомоги із синтаксисом, пояснення понять.","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"Для більших моделей з підтримкою інструментів. Найкраще для: створення, редагування або аналізу скриптів; пошуку використання датапоінтів; перегляду дерева об'єктів.","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"Для менших моделей без підтримки інструментів. Найкраще для: створення нових JavaScript/TypeScript або Blockly скриптів з опису.","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"Згадайте скрипти як контекст для ШІ. Використовуйте @всі для всіх скриптів або @назваСкрипта для конкретного.",Context:yoe,"current script":"поточний скрипт","all scripts":"усі скрипти",devices:voe,"Searching datapoints":"Пошук точок даних","Reading value":"Читання значення","Loading object info":"Завантаження інформації про об'єкт","Searching scripts":"Пошук скриптів","Reading script":"Читання скрипта","Loading script list":"Завантаження списку скриптів","All scripts":"Усі скрипти","Smart home devices":"Пристрої розумного дому","AI Chat":"ШІ Чат","AI inline completions":"ШІ автодоповнення","New chat":"Новий чат","Ask about your script...":"Запитайте про ваш скрипт...","Insert blocks":"Вставити блоки","Apply blocks":"Застосувати блоки",Undo:_oe,Redo:woe,"Insert into editor":"Вставити в редактор","Show as diff":"Показати як diff","Selected code as context":"Вибраний код як контекст","Generating plan...":"Створення плану...","Generating code...":"Генерація коду...",Plan:koe,"mention @all":"@усі","mention @devices":"@пристрої",Send:Coe,Copy:Soe,"AI inline chat":"Вбудований ШІ-чат",'e.g. "Refactor this to use async/await"':'напр. "Refactor this to use async/await"',"Open in chat":"Відкрити в чаті","Selection: %s line(s)":"Виділення: %s рядок(ів)","No selection — the question will use context from the whole script.":"Без виділення — питання використає контекст усього скрипта.","Please enter a question.":"Введіть запитання.","Thinking…":"Думаю…","Code proposal — press Apply to replace your selection.":"Пропозиція коду — натисніть Застосувати, щоб замінити виділення.","Plain text answer.":"Текстова відповідь.","Show more details":"Показати більше подробиць","AI: Inline chat…":"ШІ: Вбудований чат…","AI: Explain":"ШІ: Пояснити","AI: Refactor":"ШІ: Рефакторинг","AI: Add comments":"ШІ: Додати коментарі","AI: Fix problem":"ШІ: Виправити проблему","AI: Suggest tests":"ШІ: Запропонувати тести","Ask the AI about the selected code:":"Запитайте ШІ про виділений код:",Explain:Toe,Refactor:Ioe,Tests:Eoe,"Explain %s %s":"Пояснити %s %s","Refactor %s %s":"Рефакторинг %s %s","Suggest tests for %s %s":"Запропонувати тести для %s %s","Apply changes":"Застосувати зміни","Discard changes":"Скасувати зміни",'Ask anything, or request a change (e.g. "what does this do?")':'Запитайте будь-що або попросіть зміни (напр. "що це робить?")'},Doe="确认",Aoe="动作",Roe="添加",Ooe="所有",Moe="任何",Noe="申请",Loe="四月",Poe="问",Boe="天文",joe="八月",Foe="取消",zoe="关闭",Uoe="健康)状况",Hoe="情况",Woe="安慰",Goe="复制的",Voe="十二月",Koe="默认",Yoe="延迟",Joe="删除",qoe="描述",Xoe="完成",Zoe="执行力",Qoe="解释",eie="导出",tie="二月",sie="二月",oie="筛选",iie="文件夹",nie="r",rie="星期五",aie="ID",lie="ID1",cie="ID2",uie="导入",die="实例",hie="实例",pie="指示",gie="亚努尔",mie="一月",fie="七月",$ie="六月",bie="限制",yie="三月",vie="五月",_ie="菜单",wie="信息",kie="莫",Cie="模型",Sie="星期一",Tie="月",Iie="更多的",Eie="名称",xie="十一月",Die="好的",Aie="十月",Rie="确定",Oie="暂停",Mie="俯卧撑",Nie="推安全",Lie="重新加载",Pie="重命名",Bie="重复",jie="重启",Fie="结果",zie="萨",Uie="星期六",Hie="保存",Wie="日程",Gie="脚本",Vie="九月",Kie="模拟",Yie="堆",Jie="开始",qie="状态",Xie="苏",Zie="星期日",Qie="电报",ene="4",tne="星期四",sne="时间",one="触发",ine="扳机",nne="涂",rne="星期二",ane="网址",lne="价值",cne="体积",une="3",dne="星期三",hne="写",pne="是的",gne="致谢",mne="全部",fne="和",$ne="天文",bne="在",yne="控制",vne="复制",_ne="克朗",wne="黎明",kne="这是一种特殊模式,其中状态和对象不会改变。但只有有关每个计划更改的信息才会显示在协议中。",Cne="调试",Sne="黄昏",Tne="简单的",Ine="每一个",Ene="功能",xne="ID",Dne="名字",Ane="角色",Rne="房间",One="黄金时段",Mne="黄金时段结束",Nne="仅在条件为真时才执行代码。例如。如果触发温度传感器值并且条件为“如果温度大于20°C”,则每次传感器发送温度且温度超过20°C时,将执行“然后”动作。 21°C,22°C等。",Lne="仅当条件结果更改时,代码才会执行。例如。如果触发温度传感器值且条件为“如果温度大于20°C”,则温度超过20时将执行一次“则”动作,下一次,当温度超过20时将执行“则”动作低于20失败,然后再次超过20。",Pne="小时",Bne="包括",jne="间隔",Fne="魔法",zne="毫秒",Une="分钟",Hne="毫秒",Wne="最低点",Gne="航海黎明",Vne="航海黄昏",Kne="下一个日出",Yne="下一个日落",Jne="夜晚",qne="夜晚结束",Xne="普通的",Zne="抵消",Qne="一",ere="或",tre="安静的",sre="搜索",ore="秒",ire="星期日正午",nre="日出",rre="日出结束",are="日落",lre="日落开始",cre="然后",ure="确认",dre="从",hre="上一次改变",pre="质量",gre="时间戳",mre="用户",fre="值",$re="二",bre="更新",yre="将调试输出添加到许多系统命令的日志中",vre="详细日志输出",_re="什么时候",wre="巫师",kre="重试",Cre="接受",Sre="拒绝",Tre="上下文",Ire="设备",Ere="撤销",xre="重做",Dre="计划",Are="发送",Rre="复制",Ore="解释",Mre="重构",Nre="测试",Lre={"%s not found":"%s 未找到","()":"()","(at %s)":"(在 %s)","(optional)":"(选修的)","-":"-",".":".",Ack:Doe,Actions:Aoe,"Actual time of day":"一天中的实际时间",Add:Roe,"Add new script":"添加新脚本",All:Ooe,"All files will be accepted":"所有文件都将被接受",Any:Moe,"Any month":"任何月份",Apply:Noe,April:Loe,"Are you sure?":"你确定吗?",Ask:Poe,Astronomical:Boe,"Astronomical events today":"今天的天文事件",August:joe,"Blockly description":"按图形块创建规则","Body:":"身体:",Cancel:Foe,"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:zoe,"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:Uoe,Conditions:Hoe,"Configuration not saved.":"配置未保存。",Console:Woe,"Control or update some state":"控制或更新某些状态","Control or update some state with delay":"延迟控制或更新某些状态","Convert blockly to javascript for ever.":"立即将blockly转换为Javascript。",Copied:Goe,"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:Voe,Default:Koe,"Define cron...":"定义周期任务...","Define schedule...":"定义调度器......",Delay:Yoe,Delete:Joe,"Delete %s":"删除%s...","Delete folder":"删除文件夹","Delete script":"删除脚本",Description:qoe,"Deselect all":"取消全选","Discard changes for %s":"放弃%s的更改",Done:Xoe,"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":"结束搜索模式",Error:"错误","Error formatting code":"代码格式错误","Error was found":"发现错误","Every day":"每天",Exec:Zoe,"Executes some shell command":"执行一些shell命令","Existing scripts will be overwritten.":"现有脚本将被覆盖。","Expand all":"展开全部","Expert mode":"专家模式",Explanation:Qoe,Export:eie,"Export all scripts":"导出所有脚本","Export blocks":"导出块","Export selected blocks":"导出选定的块",Februar:tie,February:sie,Filter:oie,Folder:iie,Fr:nie,Friday:rie,Function:"功能","Function editor":"功能编辑器","Function: executed":"功能:执行","Go to next line":"转到下一行","HTTP Call":"HTTP呼叫","Hide logs":"隐藏日志",ID:aie,ID1:lie,ID2:cie,Import:uie,"Import blocks":"导入块","Import error":"导入错误","Import scripts":"导入脚本","Insert object ID":"插入对象ID",Instance:die,"Instance is disabled":"实例已禁用","Instance:":"实例:",Instances:hie,Instructions:pie,"Invalid CRON":"无效的周期任务","It will not be possible to revert this operation.":"无法恢复此操作。","JS description":"通过编写Javascript来创建规则",Januar:gie,January:mie,July:fie,June:$ie,"Just check":"只是检查","Keep my changes":"保留我的更改","Language:":"语言:","Learn More":"了解更多","Light style":"浅色调风格",Limit:bie,"Local time":"当地时间","Locate file":"定位文件","Log outputs":"记录输出","Log text":"记录文字","Log: %s":"日志:%s","Make a HTTP get request":"发出HTTP获取请求","Make a pause between actions":"在动作之间暂停",March:yie,"March ":"行进",May:vie,Menu:_ie,Message:wie,Mo:kie,Model:Cie,Monday:Sie,Month:Tie,More:Iie,Name:Eie,"No active host found":"找不到活动主机","Nothing found":"没有发现",November:xie,OK:Die,October:Aie,Ok:Rie,"On condition change":"条件变化时","On script save or adapter start":"在脚本保存或适配器启动时","On weekdays":"在工作日","Operate two states":"操作两种状态","Operations with two states":"具有两种状态的操作","Paste your blocks here":"在此处粘贴您的区块",Pause:Oie,"Pause execution":"暂停执行","Pause script":"暂停脚本","Phone:":"电话:","Please select object ID...":"请选择对象ID...","Prettify the script":"美化脚本","Print some text in log":"在日志中打印一些文本","Priority:":"优先:",Pushover:Mie,Pushsafer:Nie,"Read only ID selected: %s":"选择的只读ID:%s",Reload:Lie,Rename:Pie,"Reorder scripts in folders":"重新排序文件夹中的脚本",Repeat:Bie,Restart:jie,Result:Fie,"Resume execution":"恢复执行","Root folder":"根文件夹","Rules description":"使用IF,THEN,ELSE块创建规则","Run script":"运行脚本",Sa:zie,Saturday:Uie,Save:Hie,"Save all":"保存全部","Say It":"Say It","Say some text via sayit adapter":"通过sayit适配器说一些文字",Schedule:Wie,Script:Gie,"Script %s was modified on disk":"脚本%s已在磁盘上修改","Script was modified externally":"脚本已被外部修改","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:Vie,"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:Kie,"Some files will be rejected":"有些文件将被拒绝","Sound:":"声音:",Stack:Yie,Start:Jie,"Start script":"启动脚本",State:qie,"State condition":"状态条件","Step into function":"进入功能","Step out from function":"退出函数","Stop on exception":"异常停止",Su:Xie,"Subject:":"学科:",Sunday:Zie,"TS description":"通过编写Typescript来创建规则",Telegram:Qie,"Text:":"文本:",Th:ene,'The script "%s" has been modified by another user or in another window. Do you want to reload the script or keep your local changes?':'脚本 "%s" 已被其他用户或在其他窗口中修改。您想重新加载脚本还是保留您的本地更改?',"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:tne,Time:sne,"Time condition":"时间条件","Title:":"标题:","To:":"到:","Trigger with value":"用值触发",Triggered:one,Triggers:ine,"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:nne,Tuesday:rne,URL:ane,"Unknown error":"未知错误","Unknown error!":"未知错误!","User function":"用户功能","User:":"用户:",Value:lne,"Vibration:":"振动:",Volume:cne,We:une,Wednesday:dne,"Whatsapp-cmb":"Whatsapp的cmb",Write:hne,"Write your own code":"编写自己的代码",Yes:pne,"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 使用旧触发器值","Please select a valid model":"请选择有效的模型","[equal]":"[平等的]","[greater or equal]":"[大于等于]","[greater]":"[更大]","[hysteresis]":"[磁滞]","[includes]":"[包括]","[less or equal]":"[小于或等于]","[less]":"[较少的]","[not equal]":"[不相等]",acknowledgment:gne,all:mne,and:fne,"as JSON":"为 JSON","as plain text":"为纯文本",astro:$ne,at:bne,"clear running":"畅通无阻",control:yne,copy:vne,cron:_ne,dawn:wne,debug_help:kne,debug_label:Cne,default:"默认",dusk:Sne,easy:Tne,else:"别的","equal to":"等于",every:Ine,"every hour at 0 minutes":"每小时0分钟",false:"错误的","file reading has failed: %s":"文件读取失败:%s","file reading was aborted":"文件读取中止",filter_func:Ene,filter_id:xne,filter_name:Dne,filter_role:Ane,filter_room:Rne,"for edit or create script":"用于编辑或创建脚本","for professionals":"对于专业人士","for programmers":"对于程序员",goldenHour:One,goldenHourEnd:Mne,"greater or equal":"大于或等于","greater or equal to":"大于或等于","greater than":"比...更棒",help_just_check:Nne,help_on_change:Lne,"high priority":"高优先级","high-priority":"高优先级","highest priority":"最高优先级",hours:Pne,includes:Bne,interval:jne,"just check":"只是检查","less or equal":"小于或等于","less or equal to":"小于或等于","less than":"少于","lower priority":"低优先级","lowest priority":"最低优先级",magic:Fne,milliseconds:zne,minutes:Une,ms:Hne,nadir:Wne,nauticalDawn:Gne,nauticalDusk:Vne,nextSunrise:Kne,nextSunset:Yne,night:Jne,nightEnd:qne,"no blocks found":"找不到块","no group":"没有组",normal:Xne,"normal priority":"正常优先","not running":"未运行","not equal to":"不等于","not properly connected":"此块未正确连接到其他块。",offset:Zne,"on change":"在变化","on condition change":"在条件变化时","on update":"更新时",one:Qne,or:ere,quiet:tre,"reset search":"重置搜索",search:sre,seconds:ore,solarNoon:ire,"store in":"存放在",sunrise:nre,sunriseEnd:rre,sunset:are,sunsetStart:lre,then:cre,"toggle value":"切换值",tooltip_ack:ure,tooltip_from:dre,tooltip_lc:hre,tooltip_quality:pre,tooltip_ts:gre,tooltip_user:mre,tooltip_value:fre,true:"真的",two:$re,undefined:"不明确的",update:bre,"use seconds":"精确到秒","use trigger value":"使用触发值",verbose_help:yre,verbose_label:vre,when:_re,with:"和","with date":"有日期","with offset":"带偏移",wizard:wre,"Loading models...":"加载模型...","Could not connect to API at %s":"无法连接到 %s 的 API","Invalid API key":"无效的 API 密钥","Access denied by API":"API 拒绝访问","API error: %s":"API 错误:%s",'Model "%s" not found':'未找到模型 "%s"',"Request failed: %s":"请求失败:%s",Retry:kre,"No running javascript instance found":"未找到正在运行的 JavaScript 实例","OID display mode":"OID显示模式","Ask questions about your script, request changes, or generate new code.":"询问有关脚本的问题、请求更改或生成新代码。","to send":"发送","Thinking...":"思考中...","AI suggested changes":"AI 建议的更改",Accept:Cre,Reject:Sre,"No API keys configured":"未配置 API 密钥","for new line":"换行","AI chat mode":"AI 聊天模式","Plain conversation. Use for questions, explanations, syntax help. Does not read or modify your scripts.":"纯对话。用于提问、解释和语法帮助。不会读取或修改你的脚本。",'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".':'适用于支持工具调用的较大模型。AI 可以读取、创建和编辑脚本,查询数据点并浏览对象树——适用于"创建一个脚本,执行..."、"哪些脚本使用了此状态?"或"分析我的灯光脚本"等场景。','For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.':'适用于不支持工具调用的较小模型。两步脚本生成器(先计划再生成代码)——适用于"创建一个脚本,执行..."或"为...编写 Blockly 规则"。输出进入编辑器以供 smart-apply 使用。',"Plain conversation. Best for: general questions, syntax help, concept explanations.":"纯对话。最适合:一般问题、语法帮助、概念解释。","For larger models with tool support. Best for: creating, editing, or analyzing scripts; finding datapoint usages; inspecting the object tree.":"适用于支持工具调用的较大模型。最适合:创建、编辑或分析脚本;查找数据点用法;检查对象树。","For smaller models without tool support. Best for: creating new JavaScript/TypeScript or Blockly scripts from a description.":"适用于不支持工具调用的较小模型。最适合:根据描述创建新的 JavaScript/TypeScript 或 Blockly 脚本。","Mention scripts as context for the AI. Use @all for all scripts or @scriptName for a specific one.":"将脚本作为AI的上下文。使用 @全部 引用所有脚本,或 @脚本名称 引用特定脚本。",Context:Tre,"current script":"当前脚本","all scripts":"所有脚本",devices:Ire,"Searching datapoints":"搜索数据点","Reading value":"读取值","Loading object info":"加载对象信息","Searching scripts":"搜索脚本","Reading script":"读取脚本","Loading script list":"加载脚本列表","All scripts":"所有脚本","Smart home devices":"智能家居设备","AI Chat":"AI 聊天","AI inline completions":"AI 内联补全","New chat":"新聊天","Ask about your script...":"询问有关脚本的问题...","Insert blocks":"插入积木块","Apply blocks":"应用模块",Undo:Ere,Redo:xre,"Insert into editor":"插入编辑器","Show as diff":"显示差异","Selected code as context":"选中的代码作为上下文","Generating plan...":"生成计划...","Generating code...":"生成代码...",Plan:Dre,"mention @all":"@全部","mention @devices":"@设备",Send:Are,Copy:Rre,"AI inline chat":"AI 内联聊天",'e.g. "Refactor this to use async/await"':'例如 "Refactor this to use async/await"',"Open in chat":"在聊天中打开","Selection: %s line(s)":"选中:%s 行","No selection — the question will use context from the whole script.":"未选择 — 问题将使用整个脚本的上下文。","Please enter a question.":"请输入问题。","Thinking…":"思考中…","Code proposal — press Apply to replace your selection.":"代码建议 — 按应用替换所选内容。","Plain text answer.":"纯文本答案。","Show more details":"显示更多详情","AI: Inline chat…":"AI:内联聊天…","AI: Explain":"AI:解释","AI: Refactor":"AI:重构","AI: Add comments":"AI:添加注释","AI: Fix problem":"AI:修复问题","AI: Suggest tests":"AI:建议测试","Ask the AI about the selected code:":"向 AI 询问所选代码:",Explain:Ore,Refactor:Mre,Tests:Nre,"Explain %s %s":"解释 %s %s","Refactor %s %s":"重构 %s %s","Suggest tests for %s %s":"为 %s %s 建议测试","Apply changes":"应用更改","Discard changes":"放弃更改",'Ask anything, or request a change (e.g. "what does this do?")':'提问或请求修改(例如"这段代码做什么?")'};function Oc(a){throw new Error('Could not dynamically require "'+a+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var DS={exports:{}};(function(a,s){(function(i){a.exports=i()})(function(){return(function i(r,l,c){function h(g,b){if(!l[g]){if(!r[g]){var y=typeof Oc=="function"&&Oc;if(!b&&y)return y(g,!0);if(d)return d(g,!0);var _=new Error("Cannot find module '"+g+"'");throw _.code="MODULE_NOT_FOUND",_}var v=l[g]={exports:{}};r[g][0].call(v.exports,function(w){var $=r[g][1][w];return h($||w)},v,v.exports,i,r,l,c)}return l[g].exports}for(var d=typeof Oc=="function"&&Oc,p=0;p>2,v=(3&g)<<4|b>>4,w=1>6:64,$=2>4,b=(15&_)<<4|(v=d.indexOf(p.charAt($++)))>>2,y=(3&v)<<6|(w=d.indexOf(p.charAt($++))),C[I++]=g,v!==64&&(C[I++]=b),w!==64&&(C[I++]=y);return C}},{"./support":30,"./utils":32}],2:[function(i,r,l){var c=i("./external"),h=i("./stream/DataWorker"),d=i("./stream/Crc32Probe"),p=i("./stream/DataLengthProbe");function g(b,y,_,v,w){this.compressedSize=b,this.uncompressedSize=y,this.crc32=_,this.compression=v,this.compressedContent=w}g.prototype={getContentWorker:function(){var b=new h(c.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new p("data_length")),y=this;return b.on("end",function(){if(this.streamInfo.data_length!==y.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),b},getCompressedWorker:function(){return new h(c.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},g.createWorkerFrom=function(b,y,_){return b.pipe(new d).pipe(new p("uncompressedSize")).pipe(y.compressWorker(_)).pipe(new p("compressedSize")).withStreamInfo("compression",y)},r.exports=g},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(i,r,l){var c=i("./stream/GenericWorker");l.STORE={magic:"\0\0",compressWorker:function(){return new c("STORE compression")},uncompressWorker:function(){return new c("STORE decompression")}},l.DEFLATE=i("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(i,r,l){var c=i("./utils"),h=(function(){for(var d,p=[],g=0;g<256;g++){d=g;for(var b=0;b<8;b++)d=1&d?3988292384^d>>>1:d>>>1;p[g]=d}return p})();r.exports=function(d,p){return d!==void 0&&d.length?c.getTypeOf(d)!=="string"?(function(g,b,y,_){var v=h,w=_+y;g^=-1;for(var $=_;$>>8^v[255&(g^b[$])];return-1^g})(0|p,d,d.length,0):(function(g,b,y,_){var v=h,w=_+y;g^=-1;for(var $=_;$>>8^v[255&(g^b.charCodeAt($))];return-1^g})(0|p,d,d.length,0):0}},{"./utils":32}],5:[function(i,r,l){l.base64=!1,l.binary=!1,l.dir=!1,l.createFolders=!0,l.date=null,l.compression=null,l.compressionOptions=null,l.comment=null,l.unixPermissions=null,l.dosPermissions=null},{}],6:[function(i,r,l){var c=null;c=typeof Promise<"u"?Promise:i("lie"),r.exports={Promise:c}},{lie:37}],7:[function(i,r,l){var c=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",h=i("pako"),d=i("./utils"),p=i("./stream/GenericWorker"),g=c?"uint8array":"array";function b(y,_){p.call(this,"FlateWorker/"+y),this._pako=null,this._pakoAction=y,this._pakoOptions=_,this.meta={}}l.magic="\b\0",d.inherits(b,p),b.prototype.processChunk=function(y){this.meta=y.meta,this._pako===null&&this._createPako(),this._pako.push(d.transformTo(g,y.data),!1)},b.prototype.flush=function(){p.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},b.prototype.cleanUp=function(){p.prototype.cleanUp.call(this),this._pako=null},b.prototype._createPako=function(){this._pako=new h[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var y=this;this._pako.onData=function(_){y.push({data:_,meta:y.meta})}},l.compressWorker=function(y){return new b("Deflate",y)},l.uncompressWorker=function(){return new b("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(i,r,l){function c(v,w){var $,I="";for($=0;$>>=8;return I}function h(v,w,$,I,T,C){var D,R,N=v.file,U=v.compression,j=C!==g.utf8encode,B=d.transformTo("string",C(N.name)),J=d.transformTo("string",g.utf8encode(N.name)),ae=N.comment,ye=d.transformTo("string",C(ae)),M=d.transformTo("string",g.utf8encode(ae)),W=J.length!==N.name.length,k=M.length!==ae.length,X="",ge="",ce="",oe=N.dir,le=N.date,Q={crc32:0,compressedSize:0,uncompressedSize:0};w&&!$||(Q.crc32=v.crc32,Q.compressedSize=v.compressedSize,Q.uncompressedSize=v.uncompressedSize);var F=0;w&&(F|=8),j||!W&&!k||(F|=2048);var P=0,me=0;oe&&(P|=16),T==="UNIX"?(me=798,P|=(function(ie,ke){var Ne=ie;return ie||(Ne=ke?16893:33204),(65535&Ne)<<16})(N.unixPermissions,oe)):(me=20,P|=(function(ie){return 63&(ie||0)})(N.dosPermissions)),D=le.getUTCHours(),D<<=6,D|=le.getUTCMinutes(),D<<=5,D|=le.getUTCSeconds()/2,R=le.getUTCFullYear()-1980,R<<=4,R|=le.getUTCMonth()+1,R<<=5,R|=le.getUTCDate(),W&&(ge=c(1,1)+c(b(B),4)+J,X+="up"+c(ge.length,2)+ge),k&&(ce=c(1,1)+c(b(ye),4)+M,X+="uc"+c(ce.length,2)+ce);var ne="";return ne+=` \0`,ne+=c(F,2),ne+=U.magic,ne+=c(D,2),ne+=c(R,2),ne+=c(Q.crc32,4),ne+=c(Q.compressedSize,4),ne+=c(Q.uncompressedSize,4),ne+=c(B.length,2),ne+=c(X.length,2),{fileRecord:y.LOCAL_FILE_HEADER+ne+B+X,dirRecord:y.CENTRAL_FILE_HEADER+c(me,2)+ne+c(ye.length,2)+"\0\0\0\0"+c(P,4)+c(I,4)+B+X+ye}}var d=i("../utils"),p=i("../stream/GenericWorker"),g=i("../utf8"),b=i("../crc32"),y=i("../signature");function _(v,w,$,I){p.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=w,this.zipPlatform=$,this.encodeFileName=I,this.streamFiles=v,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}d.inherits(_,p),_.prototype.push=function(v){var w=v.meta.percent||0,$=this.entriesCount,I=this._sources.length;this.accumulate?this.contentBuffer.push(v):(this.bytesWritten+=v.data.length,p.prototype.push.call(this,{data:v.data,meta:{currentFile:this.currentFile,percent:$?(w+100*($-I-1))/$:100}}))},_.prototype.openedSource=function(v){this.currentSourceOffset=this.bytesWritten,this.currentFile=v.file.name;var w=this.streamFiles&&!v.file.dir;if(w){var $=h(v,w,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:$.fileRecord,meta:{percent:0}})}else this.accumulate=!0},_.prototype.closedSource=function(v){this.accumulate=!1;var w=this.streamFiles&&!v.file.dir,$=h(v,w,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push($.dirRecord),w)this.push({data:(function(I){return y.DATA_DESCRIPTOR+c(I.crc32,4)+c(I.compressedSize,4)+c(I.uncompressedSize,4)})(v),meta:{percent:100}});else for(this.push({data:$.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},_.prototype.flush=function(){for(var v=this.bytesWritten,w=0;w=this.index;p--)g=(g<<8)+this.byteAt(p);return this.index+=d,g},readString:function(d){return c.transformTo("string",this.readData(d))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var d=this.readInt(4);return new Date(Date.UTC(1980+(d>>25&127),(d>>21&15)-1,d>>16&31,d>>11&31,d>>5&63,(31&d)<<1))}},r.exports=h},{"../utils":32}],19:[function(i,r,l){var c=i("./Uint8ArrayReader");function h(d){c.call(this,d)}i("../utils").inherits(h,c),h.prototype.readData=function(d){this.checkOffset(d);var p=this.data.slice(this.zero+this.index,this.zero+this.index+d);return this.index+=d,p},r.exports=h},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(i,r,l){var c=i("./DataReader");function h(d){c.call(this,d)}i("../utils").inherits(h,c),h.prototype.byteAt=function(d){return this.data.charCodeAt(this.zero+d)},h.prototype.lastIndexOfSignature=function(d){return this.data.lastIndexOf(d)-this.zero},h.prototype.readAndCheckSignature=function(d){return d===this.readData(4)},h.prototype.readData=function(d){this.checkOffset(d);var p=this.data.slice(this.zero+this.index,this.zero+this.index+d);return this.index+=d,p},r.exports=h},{"../utils":32,"./DataReader":18}],21:[function(i,r,l){var c=i("./ArrayReader");function h(d){c.call(this,d)}i("../utils").inherits(h,c),h.prototype.readData=function(d){if(this.checkOffset(d),d===0)return new Uint8Array(0);var p=this.data.subarray(this.zero+this.index,this.zero+this.index+d);return this.index+=d,p},r.exports=h},{"../utils":32,"./ArrayReader":17}],22:[function(i,r,l){var c=i("../utils"),h=i("../support"),d=i("./ArrayReader"),p=i("./StringReader"),g=i("./NodeBufferReader"),b=i("./Uint8ArrayReader");r.exports=function(y){var _=c.getTypeOf(y);return c.checkSupport(_),_!=="string"||h.uint8array?_==="nodebuffer"?new g(y):h.uint8array?new b(c.transformTo("uint8array",y)):new d(c.transformTo("array",y)):new p(y)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(i,r,l){l.LOCAL_FILE_HEADER="PK",l.CENTRAL_FILE_HEADER="PK",l.CENTRAL_DIRECTORY_END="PK",l.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",l.ZIP64_CENTRAL_DIRECTORY_END="PK",l.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(i,r,l){var c=i("./GenericWorker"),h=i("../utils");function d(p){c.call(this,"ConvertWorker to "+p),this.destType=p}h.inherits(d,c),d.prototype.processChunk=function(p){this.push({data:h.transformTo(this.destType,p.data),meta:p.meta})},r.exports=d},{"../utils":32,"./GenericWorker":28}],25:[function(i,r,l){var c=i("./GenericWorker"),h=i("../crc32");function d(){c.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}i("../utils").inherits(d,c),d.prototype.processChunk=function(p){this.streamInfo.crc32=h(p.data,this.streamInfo.crc32||0),this.push(p)},r.exports=d},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(i,r,l){var c=i("../utils"),h=i("./GenericWorker");function d(p){h.call(this,"DataLengthProbe for "+p),this.propName=p,this.withStreamInfo(p,0)}c.inherits(d,h),d.prototype.processChunk=function(p){if(p){var g=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=g+p.data.length}h.prototype.processChunk.call(this,p)},r.exports=d},{"../utils":32,"./GenericWorker":28}],27:[function(i,r,l){var c=i("../utils"),h=i("./GenericWorker");function d(p){h.call(this,"DataWorker");var g=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,p.then(function(b){g.dataIsReady=!0,g.data=b,g.max=b&&b.length||0,g.type=c.getTypeOf(b),g.isPaused||g._tickAndRepeat()},function(b){g.error(b)})}c.inherits(d,h),d.prototype.cleanUp=function(){h.prototype.cleanUp.call(this),this.data=null},d.prototype.resume=function(){return!!h.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,c.delay(this._tickAndRepeat,[],this)),!0)},d.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(c.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},d.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var p=null,g=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":p=this.data.substring(this.index,g);break;case"uint8array":p=this.data.subarray(this.index,g);break;case"array":case"nodebuffer":p=this.data.slice(this.index,g)}return this.index=g,this.push({data:p,meta:{percent:this.max?this.index/this.max*100:0}})},r.exports=d},{"../utils":32,"./GenericWorker":28}],28:[function(i,r,l){function c(h){this.name=h||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}c.prototype={push:function(h){this.emit("data",h)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(h){this.emit("error",h)}return!0},error:function(h){return!this.isFinished&&(this.isPaused?this.generatedError=h:(this.isFinished=!0,this.emit("error",h),this.previous&&this.previous.error(h),this.cleanUp()),!0)},on:function(h,d){return this._listeners[h].push(d),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(h,d){if(this._listeners[h])for(var p=0;p "+h:h}},r.exports=c},{}],29:[function(i,r,l){var c=i("../utils"),h=i("./ConvertWorker"),d=i("./GenericWorker"),p=i("../base64"),g=i("../support"),b=i("../external"),y=null;if(g.nodestream)try{y=i("../nodejs/NodejsStreamOutputAdapter")}catch{}function _(w,$){return new b.Promise(function(I,T){var C=[],D=w._internalType,R=w._outputType,N=w._mimeType;w.on("data",function(U,j){C.push(U),$&&$(j)}).on("error",function(U){C=[],T(U)}).on("end",function(){try{var U=(function(j,B,J){switch(j){case"blob":return c.newBlob(c.transformTo("arraybuffer",B),J);case"base64":return p.encode(B);default:return c.transformTo(j,B)}})(R,(function(j,B){var J,ae=0,ye=null,M=0;for(J=0;J"u")l.blob=!1;else{var c=new ArrayBuffer(0);try{l.blob=new Blob([c],{type:"application/zip"}).size===0}catch{try{var h=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);h.append(c),l.blob=h.getBlob("application/zip").size===0}catch{l.blob=!1}}}try{l.nodestream=!!i("readable-stream").Readable}catch{l.nodestream=!1}},{"readable-stream":16}],31:[function(i,r,l){for(var c=i("./utils"),h=i("./support"),d=i("./nodejsUtils"),p=i("./stream/GenericWorker"),g=new Array(256),b=0;b<256;b++)g[b]=252<=b?6:248<=b?5:240<=b?4:224<=b?3:192<=b?2:1;g[254]=g[254]=1;function y(){p.call(this,"utf-8 decode"),this.leftOver=null}function _(){p.call(this,"utf-8 encode")}l.utf8encode=function(v){return h.nodebuffer?d.newBufferFrom(v,"utf-8"):(function(w){var $,I,T,C,D,R=w.length,N=0;for(C=0;C>>6:(I<65536?$[D++]=224|I>>>12:($[D++]=240|I>>>18,$[D++]=128|I>>>12&63),$[D++]=128|I>>>6&63),$[D++]=128|63&I);return $})(v)},l.utf8decode=function(v){return h.nodebuffer?c.transformTo("nodebuffer",v).toString("utf-8"):(function(w){var $,I,T,C,D=w.length,R=new Array(2*D);for($=I=0;$>10&1023,R[I++]=56320|1023&T)}return R.length!==I&&(R.subarray?R=R.subarray(0,I):R.length=I),c.applyFromCharCode(R)})(v=c.transformTo(h.uint8array?"uint8array":"array",v))},c.inherits(y,p),y.prototype.processChunk=function(v){var w=c.transformTo(h.uint8array?"uint8array":"array",v.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var $=w;(w=new Uint8Array($.length+this.leftOver.length)).set(this.leftOver,0),w.set($,this.leftOver.length)}else w=this.leftOver.concat(w);this.leftOver=null}var I=(function(C,D){var R;for((D=D||C.length)>C.length&&(D=C.length),R=D-1;0<=R&&(192&C[R])==128;)R--;return R<0||R===0?D:R+g[C[R]]>D?R:D})(w),T=w;I!==w.length&&(h.uint8array?(T=w.subarray(0,I),this.leftOver=w.subarray(I,w.length)):(T=w.slice(0,I),this.leftOver=w.slice(I,w.length))),this.push({data:l.utf8decode(T),meta:v.meta})},y.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:l.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},l.Utf8DecodeWorker=y,c.inherits(_,p),_.prototype.processChunk=function(v){this.push({data:l.utf8encode(v.data),meta:v.meta})},l.Utf8EncodeWorker=_},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(i,r,l){var c=i("./support"),h=i("./base64"),d=i("./nodejsUtils"),p=i("./external");function g($){return $}function b($,I){for(var T=0;T<$.length;++T)I[T]=255&$.charCodeAt(T);return I}i("setimmediate"),l.newBlob=function($,I){l.checkSupport("blob");try{return new Blob([$],{type:I})}catch{try{var T=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return T.append($),T.getBlob(I)}catch{throw new Error("Bug : can't construct the Blob.")}}};var y={stringifyByChunk:function($,I,T){var C=[],D=0,R=$.length;if(R<=T)return String.fromCharCode.apply(null,$);for(;D>8;this.dir=!!(16&this.externalFileAttributes),v==0&&(this.dosPermissions=63&this.externalFileAttributes),v==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var v=c(this.extraFields[1].value);this.uncompressedSize===h.MAX_VALUE_32BITS&&(this.uncompressedSize=v.readInt(8)),this.compressedSize===h.MAX_VALUE_32BITS&&(this.compressedSize=v.readInt(8)),this.localHeaderOffset===h.MAX_VALUE_32BITS&&(this.localHeaderOffset=v.readInt(8)),this.diskNumberStart===h.MAX_VALUE_32BITS&&(this.diskNumberStart=v.readInt(4))}},readExtraFields:function(v){var w,$,I,T=v.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});v.index+4>>6:(v<65536?_[I++]=224|v>>>12:(_[I++]=240|v>>>18,_[I++]=128|v>>>12&63),_[I++]=128|v>>>6&63),_[I++]=128|63&v);return _},l.buf2binstring=function(y){return b(y,y.length)},l.binstring2buf=function(y){for(var _=new c.Buf8(y.length),v=0,w=_.length;v>10&1023,C[w++]=56320|1023&$)}return b(C,w)},l.utf8border=function(y,_){var v;for((_=_||y.length)>y.length&&(_=y.length),v=_-1;0<=v&&(192&y[v])==128;)v--;return v<0||v===0?_:v+p[y[v]]>_?v:_}},{"./common":41}],43:[function(i,r,l){r.exports=function(c,h,d,p){for(var g=65535&c|0,b=c>>>16&65535|0,y=0;d!==0;){for(d-=y=2e3>>1:h>>>1;d[p]=h}return d})();r.exports=function(h,d,p,g){var b=c,y=g+p;h^=-1;for(var _=g;_>>8^b[255&(h^d[_])];return-1^h}},{}],46:[function(i,r,l){var c,h=i("../utils/common"),d=i("./trees"),p=i("./adler32"),g=i("./crc32"),b=i("./messages"),y=0,_=4,v=0,w=-2,$=-1,I=4,T=2,C=8,D=9,R=286,N=30,U=19,j=2*R+1,B=15,J=3,ae=258,ye=ae+J+1,M=42,W=113,k=1,X=2,ge=3,ce=4;function oe(S,te){return S.msg=b[te],te}function le(S){return(S<<1)-(4S.avail_out&&(Y=S.avail_out),Y!==0&&(h.arraySet(S.output,te.pending_buf,te.pending_out,Y,S.next_out),S.next_out+=Y,te.pending_out+=Y,S.total_out+=Y,S.avail_out-=Y,te.pending-=Y,te.pending===0&&(te.pending_out=0))}function P(S,te){d._tr_flush_block(S,0<=S.block_start?S.block_start:-1,S.strstart-S.block_start,te),S.block_start=S.strstart,F(S.strm)}function me(S,te){S.pending_buf[S.pending++]=te}function ne(S,te){S.pending_buf[S.pending++]=te>>>8&255,S.pending_buf[S.pending++]=255&te}function ie(S,te){var Y,O,A=S.max_chain_length,H=S.strstart,K=S.prev_length,ue=S.nice_match,G=S.strstart>S.w_size-ye?S.strstart-(S.w_size-ye):0,$e=S.window,we=S.w_mask,be=S.prev,Re=S.strstart+ae,Ge=$e[H+K-1],Fe=$e[H+K];S.prev_length>=S.good_match&&(A>>=2),ue>S.lookahead&&(ue=S.lookahead);do if($e[(Y=te)+K]===Fe&&$e[Y+K-1]===Ge&&$e[Y]===$e[H]&&$e[++Y]===$e[H+1]){H+=2,Y++;do;while($e[++H]===$e[++Y]&&$e[++H]===$e[++Y]&&$e[++H]===$e[++Y]&&$e[++H]===$e[++Y]&&$e[++H]===$e[++Y]&&$e[++H]===$e[++Y]&&$e[++H]===$e[++Y]&&$e[++H]===$e[++Y]&&HG&&--A!=0);return K<=S.lookahead?K:S.lookahead}function ke(S){var te,Y,O,A,H,K,ue,G,$e,we,be=S.w_size;do{if(A=S.window_size-S.lookahead-S.strstart,S.strstart>=be+(be-ye)){for(h.arraySet(S.window,S.window,be,be,0),S.match_start-=be,S.strstart-=be,S.block_start-=be,te=Y=S.hash_size;O=S.head[--te],S.head[te]=be<=O?O-be:0,--Y;);for(te=Y=be;O=S.prev[--te],S.prev[te]=be<=O?O-be:0,--Y;);A+=be}if(S.strm.avail_in===0)break;if(K=S.strm,ue=S.window,G=S.strstart+S.lookahead,$e=A,we=void 0,we=K.avail_in,$e=J)for(H=S.strstart-S.insert,S.ins_h=S.window[H],S.ins_h=(S.ins_h<=J&&(S.ins_h=(S.ins_h<=J)if(O=d._tr_tally(S,S.strstart-S.match_start,S.match_length-J),S.lookahead-=S.match_length,S.match_length<=S.max_lazy_match&&S.lookahead>=J){for(S.match_length--;S.strstart++,S.ins_h=(S.ins_h<=J&&(S.ins_h=(S.ins_h<=J&&S.match_length<=S.prev_length){for(A=S.strstart+S.lookahead-J,O=d._tr_tally(S,S.strstart-1-S.prev_match,S.prev_length-J),S.lookahead-=S.prev_length-1,S.prev_length-=2;++S.strstart<=A&&(S.ins_h=(S.ins_h<S.pending_buf_size-5&&(Y=S.pending_buf_size-5);;){if(S.lookahead<=1){if(ke(S),S.lookahead===0&&te===y)return k;if(S.lookahead===0)break}S.strstart+=S.lookahead,S.lookahead=0;var O=S.block_start+Y;if((S.strstart===0||S.strstart>=O)&&(S.lookahead=S.strstart-O,S.strstart=O,P(S,!1),S.strm.avail_out===0)||S.strstart-S.block_start>=S.w_size-ye&&(P(S,!1),S.strm.avail_out===0))return k}return S.insert=0,te===_?(P(S,!0),S.strm.avail_out===0?ge:ce):(S.strstart>S.block_start&&(P(S,!1),S.strm.avail_out),k)}),new xe(4,4,8,4,Ne),new xe(4,5,16,8,Ne),new xe(4,6,32,32,Ne),new xe(4,4,16,16,Ae),new xe(8,16,32,32,Ae),new xe(8,16,128,128,Ae),new xe(8,32,128,256,Ae),new xe(32,128,258,1024,Ae),new xe(32,258,258,4096,Ae)],l.deflateInit=function(S,te){return ft(S,te,C,15,8,0)},l.deflateInit2=ft,l.deflateReset=ct,l.deflateResetKeep=qe,l.deflateSetHeader=function(S,te){return S&&S.state?S.state.wrap!==2?w:(S.state.gzhead=te,v):w},l.deflate=function(S,te){var Y,O,A,H;if(!S||!S.state||5>8&255),me(O,O.gzhead.time>>16&255),me(O,O.gzhead.time>>24&255),me(O,O.level===9?2:2<=O.strategy||O.level<2?4:0),me(O,255&O.gzhead.os),O.gzhead.extra&&O.gzhead.extra.length&&(me(O,255&O.gzhead.extra.length),me(O,O.gzhead.extra.length>>8&255)),O.gzhead.hcrc&&(S.adler=g(S.adler,O.pending_buf,O.pending,0)),O.gzindex=0,O.status=69):(me(O,0),me(O,0),me(O,0),me(O,0),me(O,0),me(O,O.level===9?2:2<=O.strategy||O.level<2?4:0),me(O,3),O.status=W);else{var K=C+(O.w_bits-8<<4)<<8;K|=(2<=O.strategy||O.level<2?0:O.level<6?1:O.level===6?2:3)<<6,O.strstart!==0&&(K|=32),K+=31-K%31,O.status=W,ne(O,K),O.strstart!==0&&(ne(O,S.adler>>>16),ne(O,65535&S.adler)),S.adler=1}if(O.status===69)if(O.gzhead.extra){for(A=O.pending;O.gzindex<(65535&O.gzhead.extra.length)&&(O.pending!==O.pending_buf_size||(O.gzhead.hcrc&&O.pending>A&&(S.adler=g(S.adler,O.pending_buf,O.pending-A,A)),F(S),A=O.pending,O.pending!==O.pending_buf_size));)me(O,255&O.gzhead.extra[O.gzindex]),O.gzindex++;O.gzhead.hcrc&&O.pending>A&&(S.adler=g(S.adler,O.pending_buf,O.pending-A,A)),O.gzindex===O.gzhead.extra.length&&(O.gzindex=0,O.status=73)}else O.status=73;if(O.status===73)if(O.gzhead.name){A=O.pending;do{if(O.pending===O.pending_buf_size&&(O.gzhead.hcrc&&O.pending>A&&(S.adler=g(S.adler,O.pending_buf,O.pending-A,A)),F(S),A=O.pending,O.pending===O.pending_buf_size)){H=1;break}H=O.gzindexA&&(S.adler=g(S.adler,O.pending_buf,O.pending-A,A)),H===0&&(O.gzindex=0,O.status=91)}else O.status=91;if(O.status===91)if(O.gzhead.comment){A=O.pending;do{if(O.pending===O.pending_buf_size&&(O.gzhead.hcrc&&O.pending>A&&(S.adler=g(S.adler,O.pending_buf,O.pending-A,A)),F(S),A=O.pending,O.pending===O.pending_buf_size)){H=1;break}H=O.gzindexA&&(S.adler=g(S.adler,O.pending_buf,O.pending-A,A)),H===0&&(O.status=103)}else O.status=103;if(O.status===103&&(O.gzhead.hcrc?(O.pending+2>O.pending_buf_size&&F(S),O.pending+2<=O.pending_buf_size&&(me(O,255&S.adler),me(O,S.adler>>8&255),S.adler=0,O.status=W)):O.status=W),O.pending!==0){if(F(S),S.avail_out===0)return O.last_flush=-1,v}else if(S.avail_in===0&&le(te)<=le(Y)&&te!==_)return oe(S,-5);if(O.status===666&&S.avail_in!==0)return oe(S,-5);if(S.avail_in!==0||O.lookahead!==0||te!==y&&O.status!==666){var ue=O.strategy===2?(function(G,$e){for(var we;;){if(G.lookahead===0&&(ke(G),G.lookahead===0)){if($e===y)return k;break}if(G.match_length=0,we=d._tr_tally(G,0,G.window[G.strstart]),G.lookahead--,G.strstart++,we&&(P(G,!1),G.strm.avail_out===0))return k}return G.insert=0,$e===_?(P(G,!0),G.strm.avail_out===0?ge:ce):G.last_lit&&(P(G,!1),G.strm.avail_out===0)?k:X})(O,te):O.strategy===3?(function(G,$e){for(var we,be,Re,Ge,Fe=G.window;;){if(G.lookahead<=ae){if(ke(G),G.lookahead<=ae&&$e===y)return k;if(G.lookahead===0)break}if(G.match_length=0,G.lookahead>=J&&0G.lookahead&&(G.match_length=G.lookahead)}if(G.match_length>=J?(we=d._tr_tally(G,1,G.match_length-J),G.lookahead-=G.match_length,G.strstart+=G.match_length,G.match_length=0):(we=d._tr_tally(G,0,G.window[G.strstart]),G.lookahead--,G.strstart++),we&&(P(G,!1),G.strm.avail_out===0))return k}return G.insert=0,$e===_?(P(G,!0),G.strm.avail_out===0?ge:ce):G.last_lit&&(P(G,!1),G.strm.avail_out===0)?k:X})(O,te):c[O.level].func(O,te);if(ue!==ge&&ue!==ce||(O.status=666),ue===k||ue===ge)return S.avail_out===0&&(O.last_flush=-1),v;if(ue===X&&(te===1?d._tr_align(O):te!==5&&(d._tr_stored_block(O,0,0,!1),te===3&&(Q(O.head),O.lookahead===0&&(O.strstart=0,O.block_start=0,O.insert=0))),F(S),S.avail_out===0))return O.last_flush=-1,v}return te!==_?v:O.wrap<=0?1:(O.wrap===2?(me(O,255&S.adler),me(O,S.adler>>8&255),me(O,S.adler>>16&255),me(O,S.adler>>24&255),me(O,255&S.total_in),me(O,S.total_in>>8&255),me(O,S.total_in>>16&255),me(O,S.total_in>>24&255)):(ne(O,S.adler>>>16),ne(O,65535&S.adler)),F(S),0=Y.w_size&&(H===0&&(Q(Y.head),Y.strstart=0,Y.block_start=0,Y.insert=0),$e=new h.Buf8(Y.w_size),h.arraySet($e,te,we-Y.w_size,Y.w_size,0),te=$e,we=Y.w_size),K=S.avail_in,ue=S.next_in,G=S.input,S.avail_in=we,S.next_in=0,S.input=te,ke(Y);Y.lookahead>=J;){for(O=Y.strstart,A=Y.lookahead-(J-1);Y.ins_h=(Y.ins_h<>>=J=B>>>24,D-=J,(J=B>>>16&255)===0)X[b++]=65535&B;else{if(!(16&J)){if((64&J)==0){B=R[(65535&B)+(C&(1<>>=J,D-=J),D<15&&(C+=k[p++]<>>=J=B>>>24,D-=J,!(16&(J=B>>>16&255))){if((64&J)==0){B=N[(65535&B)+(C&(1<>>=J,D-=J,(J=b-y)>3,C&=(1<<(D-=ae<<3))-1,c.next_in=p,c.next_out=b,c.avail_in=p>>24&255)+(M>>>8&65280)+((65280&M)<<8)+((255&M)<<24)}function C(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new c.Buf16(320),this.work=new c.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function D(M){var W;return M&&M.state?(W=M.state,M.total_in=M.total_out=W.total=0,M.msg="",W.wrap&&(M.adler=1&W.wrap),W.mode=w,W.last=0,W.havedict=0,W.dmax=32768,W.head=null,W.hold=0,W.bits=0,W.lencode=W.lendyn=new c.Buf32($),W.distcode=W.distdyn=new c.Buf32(I),W.sane=1,W.back=-1,_):v}function R(M){var W;return M&&M.state?((W=M.state).wsize=0,W.whave=0,W.wnext=0,D(M)):v}function N(M,W){var k,X;return M&&M.state?(X=M.state,W<0?(k=0,W=-W):(k=1+(W>>4),W<48&&(W&=15)),W&&(W<8||15=ce.wsize?(c.arraySet(ce.window,W,k-ce.wsize,ce.wsize,0),ce.wnext=0,ce.whave=ce.wsize):(X<(ge=ce.wsize-ce.wnext)&&(ge=X),c.arraySet(ce.window,W,k-X,ge,ce.wnext),(X-=ge)?(c.arraySet(ce.window,W,k-X,X,0),ce.wnext=X,ce.whave=ce.wsize):(ce.wnext+=ge,ce.wnext===ce.wsize&&(ce.wnext=0),ce.whave>>8&255,k.check=d(k.check,H,2,0),P=F=0,k.mode=2;break}if(k.flags=0,k.head&&(k.head.done=!1),!(1&k.wrap)||(((255&F)<<8)+(F>>8))%31){M.msg="incorrect header check",k.mode=30;break}if((15&F)!=8){M.msg="unknown compression method",k.mode=30;break}if(P-=4,S=8+(15&(F>>>=4)),k.wbits===0)k.wbits=S;else if(S>k.wbits){M.msg="invalid window size",k.mode=30;break}k.dmax=1<>8&1),512&k.flags&&(H[0]=255&F,H[1]=F>>>8&255,k.check=d(k.check,H,2,0)),P=F=0,k.mode=3;case 3:for(;P<32;){if(le===0)break e;le--,F+=X[ce++]<>>8&255,H[2]=F>>>16&255,H[3]=F>>>24&255,k.check=d(k.check,H,4,0)),P=F=0,k.mode=4;case 4:for(;P<16;){if(le===0)break e;le--,F+=X[ce++]<>8),512&k.flags&&(H[0]=255&F,H[1]=F>>>8&255,k.check=d(k.check,H,2,0)),P=F=0,k.mode=5;case 5:if(1024&k.flags){for(;P<16;){if(le===0)break e;le--,F+=X[ce++]<>>8&255,k.check=d(k.check,H,2,0)),P=F=0}else k.head&&(k.head.extra=null);k.mode=6;case 6:if(1024&k.flags&&(le<(ie=k.length)&&(ie=le),ie&&(k.head&&(S=k.head.extra_len-k.length,k.head.extra||(k.head.extra=new Array(k.head.extra_len)),c.arraySet(k.head.extra,X,ce,ie,S)),512&k.flags&&(k.check=d(k.check,X,ie,ce)),le-=ie,ce+=ie,k.length-=ie),k.length))break e;k.length=0,k.mode=7;case 7:if(2048&k.flags){if(le===0)break e;for(ie=0;S=X[ce+ie++],k.head&&S&&k.length<65536&&(k.head.name+=String.fromCharCode(S)),S&&ie>9&1,k.head.done=!0),M.adler=k.check=0,k.mode=12;break;case 10:for(;P<32;){if(le===0)break e;le--,F+=X[ce++]<>>=7&P,P-=7&P,k.mode=27;break}for(;P<3;){if(le===0)break e;le--,F+=X[ce++]<>>=1)){case 0:k.mode=14;break;case 1:if(ae(k),k.mode=20,W!==6)break;F>>>=2,P-=2;break e;case 2:k.mode=17;break;case 3:M.msg="invalid block type",k.mode=30}F>>>=2,P-=2;break;case 14:for(F>>>=7&P,P-=7&P;P<32;){if(le===0)break e;le--,F+=X[ce++]<>>16^65535)){M.msg="invalid stored block lengths",k.mode=30;break}if(k.length=65535&F,P=F=0,k.mode=15,W===6)break e;case 15:k.mode=16;case 16:if(ie=k.length){if(le>>=5,P-=5,k.ndist=1+(31&F),F>>>=5,P-=5,k.ncode=4+(15&F),F>>>=4,P-=4,286>>=3,P-=3}for(;k.have<19;)k.lens[K[k.have++]]=0;if(k.lencode=k.lendyn,k.lenbits=7,Y={bits:k.lenbits},te=g(0,k.lens,0,19,k.lencode,0,k.work,Y),k.lenbits=Y.bits,te){M.msg="invalid code lengths set",k.mode=30;break}k.have=0,k.mode=19;case 19:for(;k.have>>16&255,Pe=65535&A,!((Ae=A>>>24)<=P);){if(le===0)break e;le--,F+=X[ce++]<>>=Ae,P-=Ae,k.lens[k.have++]=Pe;else{if(Pe===16){for(O=Ae+2;P>>=Ae,P-=Ae,k.have===0){M.msg="invalid bit length repeat",k.mode=30;break}S=k.lens[k.have-1],ie=3+(3&F),F>>>=2,P-=2}else if(Pe===17){for(O=Ae+3;P>>=Ae)),F>>>=3,P-=3}else{for(O=Ae+7;P>>=Ae)),F>>>=7,P-=7}if(k.have+ie>k.nlen+k.ndist){M.msg="invalid bit length repeat",k.mode=30;break}for(;ie--;)k.lens[k.have++]=S}}if(k.mode===30)break;if(k.lens[256]===0){M.msg="invalid code -- missing end-of-block",k.mode=30;break}if(k.lenbits=9,Y={bits:k.lenbits},te=g(b,k.lens,0,k.nlen,k.lencode,0,k.work,Y),k.lenbits=Y.bits,te){M.msg="invalid literal/lengths set",k.mode=30;break}if(k.distbits=6,k.distcode=k.distdyn,Y={bits:k.distbits},te=g(y,k.lens,k.nlen,k.ndist,k.distcode,0,k.work,Y),k.distbits=Y.bits,te){M.msg="invalid distances set",k.mode=30;break}if(k.mode=20,W===6)break e;case 20:k.mode=21;case 21:if(6<=le&&258<=Q){M.next_out=oe,M.avail_out=Q,M.next_in=ce,M.avail_in=le,k.hold=F,k.bits=P,p(M,ne),oe=M.next_out,ge=M.output,Q=M.avail_out,ce=M.next_in,X=M.input,le=M.avail_in,F=k.hold,P=k.bits,k.mode===12&&(k.back=-1);break}for(k.back=0;xe=(A=k.lencode[F&(1<>>16&255,Pe=65535&A,!((Ae=A>>>24)<=P);){if(le===0)break e;le--,F+=X[ce++]<>qe)])>>>16&255,Pe=65535&A,!(qe+(Ae=A>>>24)<=P);){if(le===0)break e;le--,F+=X[ce++]<>>=qe,P-=qe,k.back+=qe}if(F>>>=Ae,P-=Ae,k.back+=Ae,k.length=Pe,xe===0){k.mode=26;break}if(32&xe){k.back=-1,k.mode=12;break}if(64&xe){M.msg="invalid literal/length code",k.mode=30;break}k.extra=15&xe,k.mode=22;case 22:if(k.extra){for(O=k.extra;P>>=k.extra,P-=k.extra,k.back+=k.extra}k.was=k.length,k.mode=23;case 23:for(;xe=(A=k.distcode[F&(1<>>16&255,Pe=65535&A,!((Ae=A>>>24)<=P);){if(le===0)break e;le--,F+=X[ce++]<>qe)])>>>16&255,Pe=65535&A,!(qe+(Ae=A>>>24)<=P);){if(le===0)break e;le--,F+=X[ce++]<>>=qe,P-=qe,k.back+=qe}if(F>>>=Ae,P-=Ae,k.back+=Ae,64&xe){M.msg="invalid distance code",k.mode=30;break}k.offset=Pe,k.extra=15&xe,k.mode=24;case 24:if(k.extra){for(O=k.extra;P>>=k.extra,P-=k.extra,k.back+=k.extra}if(k.offset>k.dmax){M.msg="invalid distance too far back",k.mode=30;break}k.mode=25;case 25:if(Q===0)break e;if(ie=ne-Q,k.offset>ie){if((ie=k.offset-ie)>k.whave&&k.sane){M.msg="invalid distance too far back",k.mode=30;break}ke=ie>k.wnext?(ie-=k.wnext,k.wsize-ie):k.wnext-ie,ie>k.length&&(ie=k.length),Ne=k.window}else Ne=ge,ke=oe-k.offset,ie=k.length;for(Qj?(J=ke[Ne+I[W]],P[me+I[W]]):(J=96,0),C=1<>oe)+(D-=C)]=B<<24|J<<16|ae|0,D!==0;);for(C=1<>=1;if(C!==0?(F&=C-1,F+=C):F=0,W++,--ne[M]==0){if(M===X)break;M=y[_+I[W]]}if(ge>>7)]}function me(A,H){A.pending_buf[A.pending++]=255&H,A.pending_buf[A.pending++]=H>>>8&255}function ne(A,H,K){A.bi_valid>T-K?(A.bi_buf|=H<>T-A.bi_valid,A.bi_valid+=K-T):(A.bi_buf|=H<>>=1,K<<=1,0<--H;);return K>>>1}function Ne(A,H,K){var ue,G,$e=new Array(I+1),we=0;for(ue=1;ue<=I;ue++)$e[ue]=we=we+K[ue-1]<<1;for(G=0;G<=H;G++){var be=A[2*G+1];be!==0&&(A[2*G]=ke($e[be]++,be))}}function Ae(A){var H;for(H=0;H<_;H++)A.dyn_ltree[2*H]=0;for(H=0;H>1;1<=K;K--)qe(A,$e,K);for(G=Re;K=A.heap[1],A.heap[1]=A.heap[A.heap_len--],qe(A,$e,1),ue=A.heap[1],A.heap[--A.heap_max]=K,A.heap[--A.heap_max]=ue,$e[2*G]=$e[2*K]+$e[2*ue],A.depth[G]=(A.depth[K]>=A.depth[ue]?A.depth[K]:A.depth[ue])+1,$e[2*K+1]=$e[2*ue+1]=G,A.heap[1]=G++,qe(A,$e,1),2<=A.heap_len;);A.heap[--A.heap_max]=A.heap[1],(function(Fe,Ht){var ee,Ie,Us,Be,ai,Ze,Nt=Ht.dyn_tree,li=Ht.max_code,co=Ht.stat_desc.static_tree,uo=Ht.stat_desc.has_stree,sr=Ht.stat_desc.extra_bits,Mo=Ht.stat_desc.extra_base,Hs=Ht.stat_desc.max_length,ho=0;for(Be=0;Be<=I;Be++)Fe.bl_count[Be]=0;for(Nt[2*Fe.heap[Fe.heap_max]+1]=0,ee=Fe.heap_max+1;ee<$;ee++)Hs<(Be=Nt[2*Nt[2*(Ie=Fe.heap[ee])+1]+1]+1)&&(Be=Hs,ho++),Nt[2*Ie+1]=Be,li>=7;G>>=1)if(1&Ge&&be.dyn_ltree[2*Re]!==0)return h;if(be.dyn_ltree[18]!==0||be.dyn_ltree[20]!==0||be.dyn_ltree[26]!==0)return d;for(Re=32;Re>>3,($e=A.static_len+3+7>>>3)<=G&&(G=$e)):G=$e=K+5,K+4<=G&&H!==-1?O(A,H,K,ue):A.strategy===4||$e===G?(ne(A,2+(ue?1:0),3),ct(A,ye,M)):(ne(A,4+(ue?1:0),3),(function(be,Re,Ge,Fe){var Ht;for(ne(be,Re-257,5),ne(be,Ge-1,5),ne(be,Fe-4,4),Ht=0;Ht>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&H,A.pending_buf[A.l_buf+A.last_lit]=255&K,A.last_lit++,H===0?A.dyn_ltree[2*K]++:(A.matches++,H--,A.dyn_ltree[2*(k[K]+y+1)]++,A.dyn_dtree[2*P(H)]++),A.last_lit===A.lit_bufsize-1},l._tr_align=function(A){ne(A,2,3),ie(A,D,ye),(function(H){H.bi_valid===16?(me(H,H.bi_buf),H.bi_buf=0,H.bi_valid=0):8<=H.bi_valid&&(H.pending_buf[H.pending++]=255&H.bi_buf,H.bi_buf>>=8,H.bi_valid-=8)})(A)}},{"../utils/common":41}],53:[function(i,r,l){r.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(i,r,l){(function(c){(function(h,d){if(!h.setImmediate){var p,g,b,y,_=1,v={},w=!1,$=h.document,I=Object.getPrototypeOf&&Object.getPrototypeOf(h);I=I&&I.setTimeout?I:h,p={}.toString.call(h.process)==="[object process]"?function(R){process.nextTick(function(){C(R)})}:(function(){if(h.postMessage&&!h.importScripts){var R=!0,N=h.onmessage;return h.onmessage=function(){R=!1},h.postMessage("","*"),h.onmessage=N,R}})()?(y="setImmediate$"+Math.random()+"$",h.addEventListener?h.addEventListener("message",D,!1):h.attachEvent("onmessage",D),function(R){h.postMessage(y+R,"*")}):h.MessageChannel?((b=new MessageChannel).port1.onmessage=function(R){C(R.data)},function(R){b.port2.postMessage(R)}):$&&"onreadystatechange"in $.createElement("script")?(g=$.documentElement,function(R){var N=$.createElement("script");N.onreadystatechange=function(){C(R),N.onreadystatechange=null,g.removeChild(N),N=null},g.appendChild(N)}):function(R){setTimeout(C,0,R)},I.setImmediate=function(R){typeof R!="function"&&(R=new Function(""+R));for(var N=new Array(arguments.length-1),U=0;U"u"?c===void 0?this:c:self)}).call(this,typeof ro<"u"?ro:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(DS);var Pre=DS.exports;const sk=ri(Pre);function Bre(a){const[s,i]=pe.useState(""),[r,l]=pe.useState("");return Ft(()=>{a.socket.decrypt(a.systemConfig.native.javascriptPassword).then(c=>l(c))},[a.systemConfig,a.socket]),m.jsxs(zt,{open:!0,onClose:()=>a.onEntered(null),fullWidth:!0,maxWidth:"sm",children:[m.jsx(ts,{children:x.I18n.t("Please enter a password for expert mode")}),m.jsx(Yt,{children:m.jsx(Oo,{autoFocus:!0,margin:"dense",variant:"standard",label:x.I18n.t("Password"),type:"password",fullWidth:!0,value:s,onKeyDown:c=>{c.key==="Enter"&&s&&(c.preventDefault(),c.stopPropagation(),r===s?a.onEntered(s):a.onEntered(""))},onChange:c=>i(c.target.value)})}),m.jsxs(Ut,{children:[m.jsx(je,{variant:"contained",disabled:!s,onClick:()=>{r===s?a.onEntered(s):a.onEntered("")},startIcon:m.jsx(ni,{}),children:x.I18n.t("Ok")}),m.jsx(je,{color:"grey",variant:"contained",onClick:()=>a.onEntered(null),startIcon:m.jsx(ao,{}),children:x.I18n.t("Cancel")})]})]})}const ra={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 jre extends x.GenericApp{hosts=[];importFile=null;importFileName=null;scripts={};confirmCallback=null;changedScripts={};javascriptPassword="";constructor(s){super(s,{Connection:x.AdminConnection,translations:{en:vP,de:Ij,es:MU,fr:z5,it:YV,nl:t9,pl:lY,pt:mX,ru:wee,uk:xoe,"zh-cn":Lre},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 c=[20,80];if(l)try{c=JSON.parse(l)}catch{}this.state={...this.state,splitSizes:c,logSizes:r},window.alert=h=>{console.error(h),this.showJsError(h.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 c;if(!s)return;let r=!1;const l={};if(s.match(/^system\.adapter\.[-_\w\d]+\$/)){if(s.startsWith(`system.adapter.${this.adapterName}.`)){const h=parseInt(s.split(".").pop()||"0",10)||0;if((i==null?void 0:i.type)==="instance")this.state.instances.includes(h)||(l.instances=[...this.state.instances],l.instances.push(h),l.instances.sort(),r=!0,this.socket.subscribeState(`${i._id}.alive`,this.onInstanceAliveChange));else if(!i&&this.state.instances.includes(h)){this.socket.unsubscribeState(`${s}.alive`,this.onInstanceAliveChange),l.instances=[...this.state.instances];const d=l.instances.indexOf(h);l.instances.splice(d,1),r=!0}}(c=i==null?void 0:i.common)!=null&&c.blockly&&(this.confirmCallback=h=>h&&window.location.reload(),l.confirm=x.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],password:""},async()=>{var h;const s={},i=await this.subscribeOnInstances();s.instances=i.instances,s.runningInstances=i.runningInstances,this.javascriptPassword=((h=this.socket.systemConfig)==null?void 0:h.native.javascriptPassword)||"",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"&&!this.javascriptPassword?Object.keys(l).find(d=>d.startsWith("script.js.global.")&&l[d].type==="script")&&(s.expertMode=!0):this.javascriptPassword&&(s.expertMode=!1),this.scripts=l;let c=this.state.scriptsHash;this.compareScripts(l)&&c++,s.scriptsHash=c,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=>Ye.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})}};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(((c=this.scripts[s])==null?void 0:c.type)==="script"){const h=JSON.parse(JSON.stringify(this.scripts[s].common));h.name=r||h.name,l!==void 0&&(h.engine=`system.adapter.javascript.${l}`);const d=i.split(".");d.pop();const p=d.join(".");this.scripts[p]&&this.scripts[p].type==="script"&&(d.pop(),i=`${d.join(".")}.${i.split(".").pop()}`),await this.updateScript(s,i,h)}else await this.renameGroup(s,i,r)}catch(h){h.toString().includes("canceled")||this.showJsError(h)}this.setState({updating:!1})}async renameGroup(s,i,r,l){if(l){if(l.length){let c=l.pop();if(c){const h=await this.socket.getObject(c);if(h){try{await this.socket.delObject(c)}catch{}c=i+c.substring(s.length),h._id=c,h.common=h.common||{},h.common.expert=!0,await this.socket.setObject(c,h),await this.renameGroup(s,i,r,l)}}}}else{l=[],l=Object.keys(this.scripts).filter(h=>h.startsWith(`${s}.`));let c=await this.socket.getObject(s);c=c||{common:{},type:"channel"},c.common.name=r||c.common.name||s.split(".").pop()||"",c._id=i;try{await this.socket.delObject(s)}catch{}try{await this.socket.setObject(i,c),await this.renameGroup(s,i,r,l)}catch(h){console.log(h);const d={_id:i,type:"channel",common:{name:r||s.split(".").pop()||"",expert:!0},native:{}};await this.socket.setObject(i,d),await this.renameGroup(s,i,r,l)}}}async onUpdateScript(s,i){var r;if(((r=this.scripts[s])==null?void 0:r.type)==="script")try{await this.updateScript(s,s,i)}catch(l){l.toString().includes("canceled")||this.showJsError(l)}}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))}renderPasswordDialog(){return this.state.showPasswordDialog?m.jsx(Bre,{socket:this.socket,systemConfig:this.socket.systemConfig,onEntered:s=>{s===null?this.setState({showPasswordDialog:!1,expertMode:!1,password:""}):s?this.setState({expertMode:!0,showPasswordDialog:!1,password:s}):this.setState({showPasswordDialog:!1,expertMode:!1,message:x.I18n.t("Wrong password"),password:""})}},"passwordDialog"):null}onExpertModeChange(s){var i;if(this.state.expertMode!==s)if(s&&this.javascriptPassword)this.setState({showPasswordDialog:!0});else{let r=this.state.selected;r&&!s&&((i=this.scripts[r].native)!=null&&i.protected)&&(r=this.state.editing.find(l=>{var c;return this.scripts[l]&&!((c=this.scripts[l].native)!=null&&c.protected)})||null),window.localStorage.setItem("App.expertMode",s?"true":"false"),this.setState({expertMode:s,password:"",selected:r})}}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,c,h){const d=new RegExp(`^${s}\\.`);if(Object.keys(this.scripts).find(p=>s===p||d.test(s)))return this.showJsError(x.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(p=>this.showJsError(p)):(c==="Blockly"&&!h&&(h=` //${btoa(encodeURIComponent(''))}`),this.socket.setObject(s,{_id:s,type:"script",common:{name:i,expert:!0,engineType:c||"Javascript/js",enabled:!1,engine:`system.adapter.javascript.${l||0}`,source:h||"",debug:!1,verbose:!1},native:{}}).then(()=>setTimeout(()=>this.onSelect(s),1e3)).catch(p=>this.showJsError(p)))}async updateScript(s,i,r){let l=await this.socket.getObject(s);const c={common:{}};if(r.engine!==void 0&&(c.common.engine=r.engine),r.enabled!==void 0&&(c.common.enabled=r.enabled),r.source!==void 0&&(c.common.source=r.source),r.debug!==void 0&&(c.common.debug=r.debug),r.verbose!==void 0&&(c.common.verbose=r.verbose),c.from="system.adapter.admin.0",s===i&&(l!=null&&l.common)&&r.name===l.common.name){(!r.engineType||r.engineType!==l.common.engineType)&&r.engineType!==void 0&&(c.common.engineType=r.engineType||"Javascript/js"),c.type="script",await this.socket.extendObject(s,c);return}if(l!=null&&l.common){l.common.engineType=r.engineType||l.common.engineType||"Javascript/js",await this.socket.delObject(s),c.common.engine!==void 0&&(l.common.engine=c.common.engine),c.common.enabled!==void 0&&(l.common.enabled=c.common.enabled),c.common.source!==void 0&&(l.common.source=c.common.source),c.common.name!==void 0&&(l.common.name=c.common.name),c.common.debug!==void 0&&(l.common.debug=c.common.debug),c.common.verbose!==void 0&&(l.common.verbose=c.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}l=c,l.common.name=r.name,l.common.expert=!0,l.type="script",l._id=i,await 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(c=>c!=="canceled"&&this.showJsError(c))}}async getLiveHost(){for(let s=0;s{if(typeof h=="string"){const d=document.createElement("a");d.href=`../../files/${h}`,document.body.appendChild(d),d.click(),d.remove()}else if(h.error&&this.showJsError(h.error),h.data){const d=document.createElement("a");d.href=`data: application/zip;base64,${h.data}`,d.download=`${r}scripts.zip`,document.body.appendChild(d),d.click(),d.remove()}})}else{const c=new sk;for(const[h,d]of Object.entries(this.scripts))if(d.type==="script"){const p=d,g=p.common.engineType==="TypeScript/ts"?"ts":p.common.engineType==="Blockly"?"blockly":p.common.engineType==="Rules"?"rules":"js";let b=`/******* (ext=${g}/engine=${p.common.engine}/debug=${p.common.debug}/verbose=${p.common.verbose}/enabled=${p.common.enabled}) *******/ `;b+=p.common.source||"";const y=`${h.substring(10).replace(/\./g,"/")}.${g}`;c.file(y,b)}c.generateAsync({type:"blob"}).then(h=>{const d=document.createElement("a");d.href=URL.createObjectURL(h),d.download=`${r}scripts_plain.zip`,document.body.appendChild(d),d.click(),d.remove(),URL.revokeObjectURL(d.href)})}}onImport(s,i){this.importFile=s||null,this.importFileName=i||null,s?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:x.I18n.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}async onImportConfirmed(s){let i=this.importFile;const r=this.importFileName;if(this.importFile=null,this.importFileName=null,s&&i)if(r&&/_(plain|text)\.zip$/i.test(r)){i=i.split(",")[1];try{const c=await sk.loadAsync(i,{base64:!0}),h=[];c.forEach((d,p)=>{p.dir||h.push(p.async("string").then(async g=>{const b=g.split(` `),y=b[0]||"",_=b.slice(1).join(` -`),v=y.match(/\/\*{7}\s*\(ext=(\w+)\/engine=([^/]+)\/debug=(\w+)\/verbose=(\w+)\/enabled=(\w+)\)\s*\*{7}\//);let w="Javascript/js",$="system.adapter.javascript.0",I=!1,T=!1,C=!1;if(v){const j=v[1];$=v[2],I=v[3]==="true",T=v[4]==="true",C=v[5]==="true",j==="ts"?w="TypeScript/ts":j==="blockly"?w="Blockly":j==="rules"&&(w="Rules")}const D=d.replace(/\.\w+$/,"").replace(/\//g,"."),R=`script.js.${D}`,N=D.split(".").pop()||D,U=R.split(".");for(let j=3;j{h==="permissionError"?this.showJsError(x.I18n.t(h)):!h||h.error?this.showJsError(h?x.I18n.t(h.error||""):x.I18n.t("Unknown error")):this.showMessage(x.I18n.t("Done"))})}}toggleLogLayout(){window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){var i;const s=Object.keys(this.scripts).reduce((r,l)=>r+(this.scripts[l].common.engineType==="Rules"?1:0),0);return m.jsx(Hn,{scriptsHash:this.state.scriptsHash,debugMode:this.state.debugMode,onDebugModeChange:r=>{r?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:r=>this.setState({menuSelectId:r}),password:this.state.password,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:(r,l)=>this.onUpdateScript(r,l),isAnyRulesExists:s,debugInstance:this.state.debugInstance,onSelectedChange:(r,l)=>{const c={};let h=!1;r!==this.state.selected&&(h=!0,c.selected=r),JSON.stringify(l)!==JSON.stringify(this.state.editing)&&(h=!0,c.editing=[...l]),h&&this.setState(c)},onRestart:r=>this.socket.extendObject(r,{common:{enabled:!0}}),selected:this.state.selected&&((i=this.scripts[this.state.selected])==null?void 0:i.type)==="script"?this.state.selected:"",objects:this.scripts,resizing:this.state.resizing,onChangedChanged:r=>this.changedScripts=r},"editor")}showLogButton(){return m.jsx(bt,{title:x.I18n.t("Show logs"),sx:ra.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:m.jsx(II,{})},"showLog")}renderErrorDialog(){return this.state.errorText?m.jsx(Tu,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){let s;return this.state.debugMode||this.state.hideLog?s=m.jsxs(m.Fragment,{children:[!this.state.debugMode&&this.state.hideLog?this.showLogButton():void 0,this.renderEditor()]}):s=m.jsxs(Jc,{direction:this.state.logHorzLayout?mt.Horizontal:mt.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(),m.jsx(qm,{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")]}),m.jsxs(bt,{sx:ra.content,className:"iobVerticalSplitter",children:[m.jsx(bt,{sx:ra.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?m.jsx(EI,{}):m.jsx(xI,{})},"closeMenu"),this.state.message?m.jsx(x.Message,{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?m.jsx(vf,{onClose:(i,r)=>this.onImport(i,r)},"dialogImportFile"):null,this.state.confirm?m.jsx(x.Confirm,{onClose:i=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(i),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,this.renderPasswordDialog(),s]},"main")}render(){if(!this.state.ready)return m.jsx(N_,{injectFirst:!0,children:m.jsx(L_,{theme:this.state.theme,children:m.jsx(x.Loader,{themeType:this.state.themeType})})});let s;return this.state.menuOpened?s=m.jsxs(Jc,{direction:mt.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:[m.jsx("div",{style:ra.mainDiv,children:m.jsx(Ao,{password:this.state.password,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=>{x.Utils.setThemeName(i);const r=x.Utils.getThemeType(i);this.setState({themeName:i,themeType:r},()=>this.toggleTheme(i))},runningInstances:this.state.runningInstances,onExpertModeChange:i=>this.onExpertModeChange(i),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,changedScripts:this.changedScripts},"sidemenu")},"menu"),this.renderMain()]}):s=this.renderMain(),m.jsx(N_,{injectFirst:!0,children:m.jsx(L_,{theme:this.state.theme,children:m.jsx("div",{style:ra.root,children:m.jsx(pM,{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 Fre(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(a=>{a.unregister()})}const zre="9.2.0",AS={version:zre};var ii;(function(a){a.mouse="mouse",a.touch="touch",a.keyboard="keyboard"})(ii||(ii={}));class Ure{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 Hre(a,s,i,r){return Math.sqrt(Math.pow(Math.abs(i-a),2)+Math.pow(Math.abs(r-s),2))}function Wre(a,s,i,r,l){if(!l)return!1;const c=Math.atan2(r-s,i-a)*180/Math.PI+180;for(let h=0;h=d.start)&&(d.end==null||c<=d.end))return!0}return!1}const Gre={Left:1},Vre={Left:0};function Zg(a){return a.button===void 0||a.button===Vre.Left}function Kre(a){return a.buttons===void 0||(a.buttons&Gre.Left)===0}function RS(a){return!!a.targetTouches}const Yre=1;function Jre(a){const s=a.nodeType===Yre?a:a.parentElement;if(!s)return;const{top:i,left:r}=s.getBoundingClientRect();return{x:r,y:i}}function qre(a,s){if(a.targetTouches.length===1)return $u(a.targetTouches[0]);if(s&&a.touches.length===1&&a.touches[0].target===s.target)return $u(a.touches[0])}function $u(a,s){return RS(a)?qre(a,s):{x:a.clientX,y:a.clientY}}const ok=(()=>{let a=!1;try{addEventListener("test",()=>{},Object.defineProperty({},"passive",{get(){return a=!0,!0}}))}catch{}return a})(),aa={[ii.mouse]:{start:"mousedown",move:"mousemove",end:"mouseup",contextmenu:"contextmenu"},[ii.touch]:{start:"touchstart",move:"touchmove",end:"touchend"},[ii.keyboard]:{keydown:"keydown"}};class $a{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&&(Ue(!$a.isSetUp,"Cannot have two Touch backends at the same time."),$a.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&&($a.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 c=ok?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(h){const d=aa[h][i];d&&s.addEventListener(d,r,c)})}removeEventListener(s,i,r,l=!1){const c=ok?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(h){const d=aa[h][i];d&&s.removeEventListener(d,r,c)})}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=c=>{if(!this.document||!r||!this.monitor.isDragging())return;let h;switch(c.type){case aa.mouse.move:h={x:c.clientX,y:c.clientY};break;case aa.touch.move:var d,p;h={x:((d=c.touches[0])===null||d===void 0?void 0:d.clientX)||0,y:((p=c.touches[0])===null||p===void 0?void 0:p.clientY)||0};break}const g=h!=null?this.document.elementFromPoint(h.x,h.y):void 0,b=g&&i.contains(g);if(g===i||b)return this.handleMove(c,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 c=this.sourceNodes.get(l);return c&&Jre(c)},this.handleTopMoveStartCapture=l=>{Zg(l)&&(this.moveStartSourceIds=[])},this.handleMoveStart=l=>{Array.isArray(this.moveStartSourceIds)&&this.moveStartSourceIds.unshift(l)},this.handleTopMoveStart=l=>{if(!Zg(l))return;const c=$u(l);c&&(RS(l)&&(this.lastTargetTouchFallback=l.targetTouches[0]),this._mouseClientOffset=c),this.waitingForDelay=!1},this.handleTopMoveStartDelay=l=>{if(!Zg(l))return;const c=l.type===aa.touch.start?this.options.delayTouchStart:this.options.delayMouseStart;this.timeout=setTimeout(this.handleTopMoveStart.bind(this,l),c),this.waitingForDelay=!0},this.handleTopMoveCapture=()=>{this.dragOverTargetIds=[]},this.handleMove=(l,c)=>{this.dragOverTargetIds&&this.dragOverTargetIds.unshift(c)},this.handleTopMove=l=>{if(this.timeout&&clearTimeout(this.timeout),!this.document||this.waitingForDelay)return;const{moveStartSourceIds:c,dragOverTargetIds:h}=this,d=this.options.enableHoverOutsideTarget,p=$u(l,this.lastTargetTouchFallback);if(!p)return;if(this._isScrolling||!this.monitor.isDragging()&&Wre(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,p.x,p.y,this.options.scrollAngleRanges)){this._isScrolling=!0;return}if(!this.monitor.isDragging()&&this._mouseClientOffset.hasOwnProperty("x")&&c&&Hre(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,p.x,p.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 g=this.sourceNodes.get(this.monitor.getSourceId());this.installSourceNodeRemovalObserver(g),this.actions.publishDragSource(),l.cancelable&&l.preventDefault();const b=(h||[]).map(w=>this.targetNodes.get(w)).filter(w=>!!w),y=this.options.getDropTargetElementsAtPoint?this.options.getDropTargetElementsAtPoint(p.x,p.y,b):this.document.elementsFromPoint(p.x,p.y),_=[];for(const w in y){if(!y.hasOwnProperty(w))continue;let $=y[w];for($!=null&&_.push($);$;)$=$.parentElement,$&&_.indexOf($)===-1&&_.push($)}const v=_.filter(w=>b.indexOf(w)>-1).map(w=>this._getDropTargetId(w)).filter(w=>!!w).filter((w,$,I)=>I.indexOf(w)===$);if(d)for(const w in this.targetNodes){const $=this.targetNodes.get(w);if(g&&$&&$.contains(g)&&v.indexOf(w)===-1){v.unshift(w);break}}v.reverse(),this.actions.hover(v,{clientOffset:p})},this._getDropTargetId=l=>{const c=this.targetNodes.keys();let h=c.next();for(;h.done===!1;){const d=h.value;if(l===this.targetNodes.get(d))return d;h=c.next()}},this.handleTopMoveEndCapture=l=>{if(this._isScrolling=!1,this.lastTargetTouchFallback=void 0,!!Kre(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 Ure(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(ii.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(ii.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(ii.keyboard)}}const Xre=function(s,i={},r={}){return new $a(s,i,r)};window.GenericBlock=at;window.adapterName="javascript";window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";console.log(`iobroker.${window.adapterName}@${AS.version}`);const Zre=window.innerWidth<600,ik=document.getElementById("root");ik&&vk(ik).render(m.jsx(Nk,{backend:Zre?Xre:Kk,children:m.jsx(jre,{version:AS.version})}));Fre();const Mc=window.loadDynamicScript;Mc&&Mc(window.location.port==="3000"?`${window.location.protocol}//${window.location.hostname}:8081/lib/js/socket.io.js`:"./../../lib/js/socket.io.js",()=>Mc("vs/loader.js",()=>Mc("vs/configure.js",()=>typeof window.socketLoadedHandler=="function"&&window.socketLoadedHandler())));export{hM as C,XO as D,at as G,Yk as I,qw as M,Ps as S,$x as a,Lx as b,Wx as c,Pi as d,Vce as e,wf as f,Tu as g,TO as h,CO as i,Kce as j,pae as k,hae as l,Jc as m,Gw as n,gae as o,er as u,mt as z}; +`),v=y.match(/\/\*{7}\s*\(ext=(\w+)\/engine=([^/]+)\/debug=(\w+)\/verbose=(\w+)\/enabled=(\w+)\)\s*\*{7}\//);let w="Javascript/js",$="system.adapter.javascript.0",I=!1,T=!1,C=!1;if(v){const j=v[1];$=v[2],I=v[3]==="true",T=v[4]==="true",C=v[5]==="true",j==="ts"?w="TypeScript/ts":j==="blockly"?w="Blockly":j==="rules"&&(w="Rules")}const D=d.replace(/\.\w+$/,"").replace(/\//g,"."),R=`script.js.${D}`,N=D.split(".").pop()||D,U=R.split(".");for(let j=3;j{h==="permissionError"?this.showJsError(x.I18n.t(h)):!h||h.error?this.showJsError(h?x.I18n.t(h.error||""):x.I18n.t("Unknown error")):this.showMessage(x.I18n.t("Done"))})}}toggleLogLayout(){window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){var i;const s=Object.keys(this.scripts).reduce((r,l)=>r+(this.scripts[l].common.engineType==="Rules"?1:0),0);return m.jsx(Hn,{scriptsHash:this.state.scriptsHash,debugMode:this.state.debugMode,onDebugModeChange:r=>{r?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:r=>this.setState({menuSelectId:r}),password:this.state.password,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:(r,l)=>this.onUpdateScript(r,l),isAnyRulesExists:s,debugInstance:this.state.debugInstance,onSelectedChange:(r,l)=>{const c={};let h=!1;r!==this.state.selected&&(h=!0,c.selected=r),JSON.stringify(l)!==JSON.stringify(this.state.editing)&&(h=!0,c.editing=[...l]),h&&this.setState(c)},onRestart:r=>this.socket.extendObject(r,{common:{enabled:!0}}),selected:this.state.selected&&((i=this.scripts[this.state.selected])==null?void 0:i.type)==="script"?this.state.selected:"",objects:this.scripts,resizing:this.state.resizing,onChangedChanged:r=>this.changedScripts=r},"editor")}showLogButton(){return m.jsx(bt,{title:x.I18n.t("Show logs"),sx:ra.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:m.jsx(II,{})},"showLog")}renderErrorDialog(){return this.state.errorText?m.jsx(Tu,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){let s;return this.state.debugMode||this.state.hideLog?s=m.jsxs(m.Fragment,{children:[!this.state.debugMode&&this.state.hideLog?this.showLogButton():void 0,this.renderEditor()]}):s=m.jsxs(Jc,{direction:this.state.logHorzLayout?mt.Horizontal:mt.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(),m.jsx(qm,{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")]}),m.jsxs(bt,{sx:ra.content,className:"iobVerticalSplitter",children:[m.jsx(bt,{sx:ra.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?m.jsx(EI,{}):m.jsx(xI,{})},"closeMenu"),this.state.message?m.jsx(x.Message,{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?m.jsx(vf,{onClose:(i,r)=>this.onImport(i,r)},"dialogImportFile"):null,this.state.confirm?m.jsx(x.Confirm,{onClose:i=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(i),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,this.renderPasswordDialog(),s]},"main")}render(){if(!this.state.ready)return m.jsx(N_,{injectFirst:!0,children:m.jsx(L_,{theme:this.state.theme,children:m.jsx(x.Loader,{themeType:this.state.themeType})})});let s;return this.state.menuOpened?s=m.jsxs(Jc,{direction:mt.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:[m.jsx("div",{style:ra.mainDiv,children:m.jsx(Ao,{password:this.state.password,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=>{x.Utils.setThemeName(i);const r=x.Utils.getThemeType(i);this.setState({themeName:i,themeType:r},()=>this.toggleTheme(i))},runningInstances:this.state.runningInstances,onExpertModeChange:i=>this.onExpertModeChange(i),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,changedScripts:this.changedScripts},"sidemenu")},"menu"),this.renderMain()]}):s=this.renderMain(),m.jsx(N_,{injectFirst:!0,children:m.jsx(L_,{theme:this.state.theme,children:m.jsx("div",{style:ra.root,children:m.jsx(pM,{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 Fre(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(a=>{a.unregister()})}const zre="9.2.1",AS={version:zre};var ii;(function(a){a.mouse="mouse",a.touch="touch",a.keyboard="keyboard"})(ii||(ii={}));class Ure{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 Hre(a,s,i,r){return Math.sqrt(Math.pow(Math.abs(i-a),2)+Math.pow(Math.abs(r-s),2))}function Wre(a,s,i,r,l){if(!l)return!1;const c=Math.atan2(r-s,i-a)*180/Math.PI+180;for(let h=0;h=d.start)&&(d.end==null||c<=d.end))return!0}return!1}const Gre={Left:1},Vre={Left:0};function Zg(a){return a.button===void 0||a.button===Vre.Left}function Kre(a){return a.buttons===void 0||(a.buttons&Gre.Left)===0}function RS(a){return!!a.targetTouches}const Yre=1;function Jre(a){const s=a.nodeType===Yre?a:a.parentElement;if(!s)return;const{top:i,left:r}=s.getBoundingClientRect();return{x:r,y:i}}function qre(a,s){if(a.targetTouches.length===1)return $u(a.targetTouches[0]);if(s&&a.touches.length===1&&a.touches[0].target===s.target)return $u(a.touches[0])}function $u(a,s){return RS(a)?qre(a,s):{x:a.clientX,y:a.clientY}}const ok=(()=>{let a=!1;try{addEventListener("test",()=>{},Object.defineProperty({},"passive",{get(){return a=!0,!0}}))}catch{}return a})(),aa={[ii.mouse]:{start:"mousedown",move:"mousemove",end:"mouseup",contextmenu:"contextmenu"},[ii.touch]:{start:"touchstart",move:"touchmove",end:"touchend"},[ii.keyboard]:{keydown:"keydown"}};class $a{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&&(Ue(!$a.isSetUp,"Cannot have two Touch backends at the same time."),$a.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&&($a.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 c=ok?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(h){const d=aa[h][i];d&&s.addEventListener(d,r,c)})}removeEventListener(s,i,r,l=!1){const c=ok?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(h){const d=aa[h][i];d&&s.removeEventListener(d,r,c)})}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=c=>{if(!this.document||!r||!this.monitor.isDragging())return;let h;switch(c.type){case aa.mouse.move:h={x:c.clientX,y:c.clientY};break;case aa.touch.move:var d,p;h={x:((d=c.touches[0])===null||d===void 0?void 0:d.clientX)||0,y:((p=c.touches[0])===null||p===void 0?void 0:p.clientY)||0};break}const g=h!=null?this.document.elementFromPoint(h.x,h.y):void 0,b=g&&i.contains(g);if(g===i||b)return this.handleMove(c,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 c=this.sourceNodes.get(l);return c&&Jre(c)},this.handleTopMoveStartCapture=l=>{Zg(l)&&(this.moveStartSourceIds=[])},this.handleMoveStart=l=>{Array.isArray(this.moveStartSourceIds)&&this.moveStartSourceIds.unshift(l)},this.handleTopMoveStart=l=>{if(!Zg(l))return;const c=$u(l);c&&(RS(l)&&(this.lastTargetTouchFallback=l.targetTouches[0]),this._mouseClientOffset=c),this.waitingForDelay=!1},this.handleTopMoveStartDelay=l=>{if(!Zg(l))return;const c=l.type===aa.touch.start?this.options.delayTouchStart:this.options.delayMouseStart;this.timeout=setTimeout(this.handleTopMoveStart.bind(this,l),c),this.waitingForDelay=!0},this.handleTopMoveCapture=()=>{this.dragOverTargetIds=[]},this.handleMove=(l,c)=>{this.dragOverTargetIds&&this.dragOverTargetIds.unshift(c)},this.handleTopMove=l=>{if(this.timeout&&clearTimeout(this.timeout),!this.document||this.waitingForDelay)return;const{moveStartSourceIds:c,dragOverTargetIds:h}=this,d=this.options.enableHoverOutsideTarget,p=$u(l,this.lastTargetTouchFallback);if(!p)return;if(this._isScrolling||!this.monitor.isDragging()&&Wre(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,p.x,p.y,this.options.scrollAngleRanges)){this._isScrolling=!0;return}if(!this.monitor.isDragging()&&this._mouseClientOffset.hasOwnProperty("x")&&c&&Hre(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,p.x,p.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 g=this.sourceNodes.get(this.monitor.getSourceId());this.installSourceNodeRemovalObserver(g),this.actions.publishDragSource(),l.cancelable&&l.preventDefault();const b=(h||[]).map(w=>this.targetNodes.get(w)).filter(w=>!!w),y=this.options.getDropTargetElementsAtPoint?this.options.getDropTargetElementsAtPoint(p.x,p.y,b):this.document.elementsFromPoint(p.x,p.y),_=[];for(const w in y){if(!y.hasOwnProperty(w))continue;let $=y[w];for($!=null&&_.push($);$;)$=$.parentElement,$&&_.indexOf($)===-1&&_.push($)}const v=_.filter(w=>b.indexOf(w)>-1).map(w=>this._getDropTargetId(w)).filter(w=>!!w).filter((w,$,I)=>I.indexOf(w)===$);if(d)for(const w in this.targetNodes){const $=this.targetNodes.get(w);if(g&&$&&$.contains(g)&&v.indexOf(w)===-1){v.unshift(w);break}}v.reverse(),this.actions.hover(v,{clientOffset:p})},this._getDropTargetId=l=>{const c=this.targetNodes.keys();let h=c.next();for(;h.done===!1;){const d=h.value;if(l===this.targetNodes.get(d))return d;h=c.next()}},this.handleTopMoveEndCapture=l=>{if(this._isScrolling=!1,this.lastTargetTouchFallback=void 0,!!Kre(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 Ure(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(ii.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(ii.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(ii.keyboard)}}const Xre=function(s,i={},r={}){return new $a(s,i,r)};window.GenericBlock=at;window.adapterName="javascript";window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";console.log(`iobroker.${window.adapterName}@${AS.version}`);const Zre=window.innerWidth<600,ik=document.getElementById("root");ik&&vk(ik).render(m.jsx(Nk,{backend:Zre?Xre:Kk,children:m.jsx(jre,{version:AS.version})}));Fre();const Mc=window.loadDynamicScript;Mc&&Mc(window.location.port==="3000"?`${window.location.protocol}//${window.location.hostname}:8081/lib/js/socket.io.js`:"./../../lib/js/socket.io.js",()=>Mc("vs/loader.js",()=>Mc("vs/configure.js",()=>typeof window.socketLoadedHandler=="function"&&window.socketLoadedHandler())));export{hM as C,XO as D,at as G,Yk as I,qw as M,Ps as S,$x as a,Lx as b,Wx as c,Pi as d,Vce as e,wf as f,Tu as g,TO as h,CO as i,Kce as j,pae as k,hae as l,Jc as m,Gw as n,gae as o,er as u,mt as z}; diff --git a/admin/assets/localSharedImportMap-CqvxvyGG.js b/admin/assets/localSharedImportMap-BCwqnmn4.js similarity index 94% rename from admin/assets/localSharedImportMap-CqvxvyGG.js rename to admin/assets/localSharedImportMap-BCwqnmn4.js index 5e4c5f85..f825d93a 100644 --- a/admin/assets/localSharedImportMap-CqvxvyGG.js +++ b/admin/assets/localSharedImportMap-BCwqnmn4.js @@ -1 +1 @@ -import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";const a={"@iobroker/adapter-react-v5":async()=>await import("./index-hwplVCgv.js"),"@mui/material":async()=>await import("./index-dN73sbyQ.js"),"prop-types":async()=>await import("./index-CVZSzCXy.js").then(t=>t.i),react:async()=>await import("./index-Dsh1HfIY.js").then(t=>t.i),"react-dom":async()=>await import("./index-BkyLyaYT.js").then(t=>t.i)},n={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"8.1.8",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=a,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.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@mui/material"].loaded=!0;const{"@mui/material":e}=a,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(){n["prop-types"].loaded=!0;const{"prop-types":e}=a,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(){n.react.loaded=!0;const{react:e}=a,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(){n["react-dom"].loaded=!0;const{"react-dom":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},u=[];export{u as usedRemotes,n as usedShared}; +import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js";const a={"@iobroker/adapter-react-v5":async()=>await import("./index-CexrwGGC.js"),"@mui/material":async()=>await import("./index-dN73sbyQ.js"),"prop-types":async()=>await import("./index-CVZSzCXy.js").then(t=>t.i),react:async()=>await import("./index-Dsh1HfIY.js").then(t=>t.i),"react-dom":async()=>await import("./index-BkyLyaYT.js").then(t=>t.i)},n={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"8.1.8",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=a,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.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@mui/material"].loaded=!0;const{"@mui/material":e}=a,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(){n["prop-types"].loaded=!0;const{"prop-types":e}=a,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(){n.react.loaded=!0;const{react:e}=a,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(){n["react-dom"].loaded=!0;const{"react-dom":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},u=[];export{u as usedRemotes,n as usedShared}; diff --git a/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js b/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js similarity index 99% rename from admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js rename to admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js index 597dd805..6ea5b08b 100644 --- a/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js +++ b/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js @@ -1,8 +1,8 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./localSharedImportMap-CqvxvyGG.js","./preload-helper-BDBacUwf.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./localSharedImportMap-BCwqnmn4.js","./preload-helper-BDBacUwf.js"])))=>i.map(i=>d[i]); import{_ as sr}from"./preload-helper-BDBacUwf.js";var ir={},ar={},Tt={},M={},D={},P={};const ln="federation-manifest.json",cn=".json",un="FEDERATION_DEBUG",j={AT:"@",HYPHEN:"-",SLASH:"/"},De={[j.AT]:"scope_",[j.HYPHEN]:"_",[j.SLASH]:"__"},fn={[De[j.AT]]:j.AT,[De[j.HYPHEN]]:j.HYPHEN,[De[j.SLASH]]:j.SLASH},dn=":",hn="mf-manifest.json",mn="mf-stats.json",_n={NPM:"npm",APP:"app"},gn="__MF_DEVTOOLS_MODULE_INFO__",pn="ENCODE_NAME_PREFIX",yn=".federation",En={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"};let Sn=(function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e})({});P.BROWSER_LOG_KEY=un;P.ENCODE_NAME_PREFIX=pn;P.EncodedNameTransformMap=fn;P.FederationModuleManifest=ln;P.MANIFEST_EXT=cn;P.MFModuleType=_n;P.MFPrefetchCommon=En;P.MODULE_DEVTOOL_IDENTIFIER=gn;P.ManifestFileName=hn;P.NameTransformMap=De;P.NameTransformSymbol=j;P.SEPARATOR=dn;P.StatsFileName=mn;P.TEMP_DIR=yn;P.TreeShakingStatus=Sn;var lr={},re={},kt=Object.defineProperty,bn=(e,t)=>{let r={};for(var n in e)kt(r,n,{get:e[n],enumerable:!0});return t||kt(r,Symbol.toStringTag,{value:"Module"}),r};re.__exportAll=bn;(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ContainerPlugin_exports",{enumerable:!0,get:function(){return r}})})(lr);var cr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return r}})})(cr);var ur={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return r}})})(ur);var fr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"SharePlugin_exports",{enumerable:!0,get:function(){return r}})})(fr);var dr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return r}})})(dr);var hr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return r}})})(hr);var J={},be={};const Rn=P,mr=!0;function _r(){return mr}function Tn(){return typeof navigator<"u"&&(navigator==null?void 0:navigator.product)==="ReactNative"}function In(){try{if(_r()&&window.localStorage)return!!localStorage.getItem(Rn.BROWSER_LOG_KEY)}catch{return!1}return!1}function $n(){return typeof process<"u"&&be&&be.FEDERATION_DEBUG?!!be.FEDERATION_DEBUG:typeof FEDERATION_DEBUG<"u"&&FEDERATION_DEBUG?!0:In()}const Nn=function(){return typeof process<"u"&&be?be:{}};J.getProcessEnv=Nn;J.isBrowserEnv=_r;J.isBrowserEnvValue=mr;J.isDebugMode=$n;J.isReactNativeEnv=Tn;var H={};const S=P,dt=J,gr="[ Federation Runtime ]",Mn=(e,t,r=S.SEPARATOR)=>{const n=e.split(r),o=dt.getProcessEnv().NODE_ENV==="development"&&t,s="*",i=a=>a.startsWith("http")||a.includes(S.MANIFEST_EXT);if(n.length>=2){let[a,...c]=n;e.startsWith(r)&&(a=n.slice(0,2).join(r),c=[o||n.slice(2).join(r)]);let l=o||c.join(r);return i(l)?{name:a,entry:l}:{name:a,version:l||s}}else if(n.length===1){const[a]=n;return o&&i(o)?{name:a,entry:o}:{name:a,version:o||s}}else throw`Invalid entry value: ${e}`},Pn=function(...e){return e.length?e.reduce((t,r)=>r?t?`${t}${S.SEPARATOR}${r}`:r:t,""):""},It=function(e,t="",r=!1){try{const n=r?".js":"";return`${t}${e.replace(new RegExp(`${S.NameTransformSymbol.AT}`,"g"),S.NameTransformMap[S.NameTransformSymbol.AT]).replace(new RegExp(`${S.NameTransformSymbol.HYPHEN}`,"g"),S.NameTransformMap[S.NameTransformSymbol.HYPHEN]).replace(new RegExp(`${S.NameTransformSymbol.SLASH}`,"g"),S.NameTransformMap[S.NameTransformSymbol.SLASH])}${n}`}catch(n){throw n}},vn=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(new RegExp(t,"g"),"")}return n=n.replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.AT]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.AT]]).replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.SLASH]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.SLASH]]).replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.HYPHEN]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(n){throw n}},An=(e,t)=>{if(!e)return"";let r=e;return r==="."&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),It(r,"__federation_expose_",t)},kn=(e,t)=>e?It(e,"__federation_shared_",t):"",On=(e,t)=>{if("getPublicPath"in e){let r;return e.getPublicPath.startsWith("function")?r=new Function("return "+e.getPublicPath)()():r=new Function(e.getPublicPath)(),`${r}${t}`}else return"publicPath"in e?!dt.isBrowserEnv()&&!dt.isReactNativeEnv()&&"ssrPublicPath"in e&&typeof e.ssrPublicPath=="string"?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},wn=(e,t)=>{e||pr(t)},pr=e=>{throw new Error(`${gr}: ${e}`)},Fn=e=>{console.warn(`${gr}: ${e}`)};function Ln(e){try{return JSON.stringify(e,null,2)}catch{return""}}const Dn=/^([\d^=v<>~]|[*xX]$)/;function Hn(e){return Dn.test(e)}H.assert=wn;H.composeKeyWithSeparator=Pn;H.decodeName=vn;H.encodeName=It;H.error=pr;H.generateExposeFilename=An;H.generateShareFilename=kn;H.getResourceUrl=On;H.isRequiredVersion=Hn;H.parseEntry=Mn;H.safeToString=Ln;H.warn=Fn;var ue={};const ye=P,Q=(e,t)=>{if(!e)return t;const n=(o=>{if(o===".")return"";if(o.startsWith("./"))return o.replace("./","");if(o.startsWith("/")){const s=o.slice(1);return s.endsWith("/")?s.slice(0,-1):s}return o})(e);return n?n.endsWith("/")?`${n}${t}`:`${n}/${t}`:t};function yr(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function Cn(e,t={}){var E,I,O;const{remotes:r={},overrides:n={},version:o}=t;let s;const i=()=>"publicPath"in e.metaData?(e.metaData.publicPath==="auto"||e.metaData.publicPath==="")&&o?yr(o):e.metaData.publicPath:e.metaData.getPublicPath,a=Object.keys(n);let c={};Object.keys(r).length||(c=((E=e.remotes)==null?void 0:E.reduce((y,N)=>{let R;const v=N.federationContainerName;return a.includes(v)?R=n[v]:"version"in N?R=N.version:R=N.entry,y[v]={matchedVersion:R},y},{}))||{}),Object.keys(r).forEach(y=>c[y]={matchedVersion:a.includes(y)?n[y]:r[y]});const{remoteEntry:{path:l,name:u,type:d},types:f={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:h},globalName:m,ssrRemoteEntry:_}=e.metaData,{exposes:g}=e;let p={version:o||"",buildVersion:h,globalName:m,remoteEntry:Q(l,u),remoteEntryType:d,remoteTypes:Q(f.path,f.name),remoteTypesZip:f.zip||"",remoteTypesAPI:f.api||"",remotesInfo:c,shared:e==null?void 0:e.shared.map(y=>({assets:y.assets,sharedName:y.name,version:y.version,usedExports:y.referenceExports||[]})),modules:g==null?void 0:g.map(y=>({moduleName:y.name,modulePath:y.path,assets:y.assets}))};if((I=e.metaData)!=null&&I.prefetchInterface){const y=e.metaData.prefetchInterface;p={...p,prefetchInterface:y}}if((O=e.metaData)!=null&&O.prefetchEntry){const{path:y,name:N,type:R}=e.metaData.prefetchEntry;p={...p,prefetchEntry:Q(y,N),prefetchEntryType:R}}if("publicPath"in e.metaData?(s={...p,publicPath:i()},typeof e.metaData.ssrPublicPath=="string"&&(s.ssrPublicPath=e.metaData.ssrPublicPath)):s={...p,getPublicPath:i()},_){const y=Q(_.path,_.name);s.ssrRemoteEntry=y,s.ssrRemoteEntryType=_.type||"commonjs-module"}return s}function qn(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(ye.MANIFEST_EXT))}function Gn(e){if(!e)return{statsFileName:ye.StatsFileName,manifestFileName:ye.ManifestFileName};let t=typeof e=="boolean"?"":e.filePath||"",r=typeof e=="boolean"?"":e.fileName||"";const n=".json",o=a=>a.endsWith(n)?a:`${a}${n}`,s=(a,c)=>a.replace(n,`${c}${n}`),i=r?o(r):ye.ManifestFileName;return{statsFileName:Q(t,r?s(i,"-stats"):ye.StatsFileName),manifestFileName:Q(t,i)}}ue.generateSnapshotFromManifest=Cn;ue.getManifestFileName=Gn;ue.inferAutoPublicPath=yr;ue.isManifestProvider=qn;ue.simpleJoinRemoteEntry=Q;var fe={};const Ot=J,Er="[ Module Federation ]",ge=console,Un=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function Wn(){try{const e=new Error().stack;if(!e)return;const[,...t]=e.split(` `),r=t.filter(n=>!Un.some(o=>n.includes(o)));return r.length?`Stack trace: ${r.slice(0,5).join(` `)}`:void 0}catch{return}}var Sr=class{constructor(e,t=ge){this.prefix=e,this.delegate=t??ge}setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??ge}emit(e,t){const r=this.delegate,n=Ot.isDebugMode()?Wn():void 0,o=n?[...t,n]:t,s=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(const i of s){const a=r[i];if(typeof a=="function"){a.call(r,this.prefix,...o);return}}for(const i of s){const a=ge[i];if(typeof a=="function"){a.call(ge,this.prefix,...o);return}}}log(...e){this.emit("log",e)}warn(...e){this.emit("warn",e)}error(...e){this.emit("error",e)}success(...e){this.emit("info",e)}info(...e){this.emit("info",e)}ready(...e){this.emit("info",e)}debug(...e){Ot.isDebugMode()&&this.emit("debug",e)}};function br(e){return new Sr(e)}function Rr(e){const t=new Sr(e);return Object.defineProperty(t,"__mf_infrastructure_logger__",{value:!0,enumerable:!1,configurable:!1}),t}function Bn(e,t,r){if(e.__mf_infrastructure_logger__&&t!=null&&t.getInfrastructureLogger)try{const n=t.getInfrastructureLogger(r);n&&typeof n=="object"&&(typeof n.log=="function"||typeof n.info=="function"||typeof n.warn=="function"||typeof n.error=="function")&&e.setDelegate(n)}catch{e.setDelegate(void 0)}}const jn=br(Er),Vn=Rr(Er);fe.bindLoggerToCompiler=Bn;fe.createInfrastructureLogger=Rr;fe.createLogger=br;fe.infrastructureLogger=Vn;fe.logger=jn;var de={};const Xn=H;async function $t(e,t){try{return await e()}catch(r){!t&&Xn.warn(r);return}}function Ue(e,t){const r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function Tr(e){let t=null,r=!0,n=2e4,o;const s=document.getElementsByTagName("script");for(let l=0;l{t&&(d==="async"||d==="defer"?t[d]=l[d]:t.getAttribute(d)||t.setAttribute(d,l[d]))})}let i=null;const a=typeof window<"u"?l=>{if(l.filename&&Ue(l.filename,e.url)){const u=new Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${l.message} (${l.filename}:${l.lineno}:${l.colno})`);u.name="ScriptExecutionError",i=u}}:null;a&&window.addEventListener("error",a);const c=async(l,u)=>{clearTimeout(o),a&&window.removeEventListener("error",a);const d=()=>{if((u==null?void 0:u.type)==="error"){const f=new Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);f.name="ScriptNetworkError",e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(f))}else i?e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(i)):e!=null&&e.cb&&(e==null||e.cb())};if(t&&(t.onerror=null,t.onload=null,$t(()=>{const{needDeleteScript:f=!0}=e;f&&t!=null&&t.parentNode&&t.parentNode.removeChild(t)}),l&&typeof l=="function")){const f=l(u);if(f instanceof Promise){const h=await f;return d(),h}return d(),f}d()};return t.onerror=c.bind(null,t.onerror),t.onload=c.bind(null,t.onload),o=setTimeout(()=>{c(null,new Error(`Remote script "${e.url}" time-outed.`))},n),{script:t,needAttach:r}}function xn(e){let t=null,r=!0;const n=document.getElementsByTagName("link");for(let s=0;s{t&&!t.getAttribute(a)&&t.setAttribute(a,i[a])})}const o=(s,i)=>{const a=()=>{(i==null?void 0:i.type)==="error"?e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(i)):e!=null&&e.cb&&(e==null||e.cb())};if(t&&(t.onerror=null,t.onload=null,$t(()=>{const{needDeleteLink:c=!0}=e;c&&t!=null&&t.parentNode&&t.parentNode.removeChild(t)}),s)){const c=s(i);return a(),c}a()};return t.onerror=o.bind(null,t.onerror),t.onload=o.bind(null,t.onload),{link:t,needAttach:r}}function Kn(e,t){const{attrs:r={},createScriptHook:n}=t;return new Promise((o,s)=>{const{script:i,needAttach:a}=Tr({url:e,cb:o,onErrorCallback:s,attrs:{fetchpriority:"high",...r},createScriptHook:n,needDeleteScript:!0});a&&document.head.appendChild(i)})}de.createLink=xn;de.createScript=Tr;de.isStaticResourcesEqual=Ue;de.loadScript=Kn;de.safeWrapper=$t;var Nt={};const Yn=(e,t,r,n)=>{t(new Error("createScriptNode is disabled in non-Node.js environment"))},zn=(e,t)=>{throw new Error("loadScriptNode is disabled in non-Node.js environment")};Nt.createScriptNode=Yn;Nt.loadScriptNode=zn;var Ir={};function Jn(e,t,r){return function(n){if(n===!1)return!1;if(typeof n>"u")return e?t:!1;if(n===!0)return t;if(n&&typeof n=="object")return{...t,...n};throw new Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof n}`)}}Ir.normalizeOptions=Jn;var $r={};const Zn=e=>e;$r.createModuleFederationConfig=Zn;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=P,r=lr,n=cr,o=ur,s=fr,i=dr,a=hr,c=J,l=H,u=ue,d=fe,f=de,h=Nt,m=Ir,_=$r;e.BROWSER_LOG_KEY=t.BROWSER_LOG_KEY,e.ENCODE_NAME_PREFIX=t.ENCODE_NAME_PREFIX,e.EncodedNameTransformMap=t.EncodedNameTransformMap,e.FederationModuleManifest=t.FederationModuleManifest,e.MANIFEST_EXT=t.MANIFEST_EXT,e.MFModuleType=t.MFModuleType,e.MFPrefetchCommon=t.MFPrefetchCommon,e.MODULE_DEVTOOL_IDENTIFIER=t.MODULE_DEVTOOL_IDENTIFIER,e.ManifestFileName=t.ManifestFileName,e.NameTransformMap=t.NameTransformMap,e.NameTransformSymbol=t.NameTransformSymbol,e.SEPARATOR=t.SEPARATOR,e.StatsFileName=t.StatsFileName,e.TEMP_DIR=t.TEMP_DIR,e.TreeShakingStatus=t.TreeShakingStatus,e.assert=l.assert,e.bindLoggerToCompiler=d.bindLoggerToCompiler,e.composeKeyWithSeparator=l.composeKeyWithSeparator,Object.defineProperty(e,"consumeSharedPlugin",{enumerable:!0,get:function(){return i.ConsumeSharedPlugin_exports}}),Object.defineProperty(e,"containerPlugin",{enumerable:!0,get:function(){return r.ContainerPlugin_exports}}),Object.defineProperty(e,"containerReferencePlugin",{enumerable:!0,get:function(){return n.ContainerReferencePlugin_exports}}),e.createInfrastructureLogger=d.createInfrastructureLogger,e.createLink=f.createLink,e.createLogger=d.createLogger,e.createModuleFederationConfig=_.createModuleFederationConfig,e.createScript=f.createScript,e.createScriptNode=h.createScriptNode,e.decodeName=l.decodeName,e.encodeName=l.encodeName,e.error=l.error,e.generateExposeFilename=l.generateExposeFilename,e.generateShareFilename=l.generateShareFilename,e.generateSnapshotFromManifest=u.generateSnapshotFromManifest,e.getManifestFileName=u.getManifestFileName,e.getProcessEnv=c.getProcessEnv,e.getResourceUrl=l.getResourceUrl,e.inferAutoPublicPath=u.inferAutoPublicPath,e.infrastructureLogger=d.infrastructureLogger,e.isBrowserEnv=c.isBrowserEnv,e.isBrowserEnvValue=c.isBrowserEnvValue,e.isDebugMode=c.isDebugMode,e.isManifestProvider=u.isManifestProvider,e.isReactNativeEnv=c.isReactNativeEnv,e.isRequiredVersion=l.isRequiredVersion,e.isStaticResourcesEqual=f.isStaticResourcesEqual,e.loadScript=f.loadScript,e.loadScriptNode=h.loadScriptNode,e.logger=d.logger,Object.defineProperty(e,"moduleFederationPlugin",{enumerable:!0,get:function(){return o.ModuleFederationPlugin_exports}}),e.normalizeOptions=m.normalizeOptions,e.parseEntry=l.parseEntry,Object.defineProperty(e,"provideSharedPlugin",{enumerable:!0,get:function(){return a.ProvideSharedPlugin_exports}}),e.safeToString=l.safeToString,e.safeWrapper=f.safeWrapper,Object.defineProperty(e,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),e.simpleJoinRemoteEntry=u.simpleJoinRemoteEntry,e.warn=l.warn})(D);var Nr={},Mt={};const Qn=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`,eo=(e,t,r,n)=>{const o=[`${[t[e]]} #${e}`];return r&&o.push(`args: ${JSON.stringify(r)}`),o.push(Qn(e)),n&&o.push(`Original Error Message: ${n}`),o.join(` `)};Mt.getShortErrorMsg=eo;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Mt;function r(n,o,s,i,a,c){return i(t.getShortErrorMsg(n,o,s,a))}e.logAndReport=r})(Nr);let to=D,ro=Nr;const ee="[ Federation Runtime ]",ht=(0,to.createLogger)(ee);function no(e,t,r,n,o){e||(r!==void 0?mt(t,r,n,void 0,o):mt(t))}function mt(e,t,r,n,o){if(t!==void 0)return(0,ro.logAndReport)(e,t,r??{},i=>{throw new Error(`${ee}: ${i}`)},n,o);const s=e;throw s instanceof Error?(s.message.startsWith(ee)||(s.message=`${ee}: ${s.message}`),s):new Error(`${ee}: ${s}`)}function oo(e){e instanceof Error&&(e.message.startsWith(ee)||(e.message=`${ee}: ${e.message}`)),ht.warn(e)}M.assert=no;M.error=mt;M.logger=ht;M.warn=oo;var $={};const so=M;let wt=D;function io(e,t){return e.findIndex(r=>r===t)===-1&&e.push(t),e}function ao(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function lo(e){return typeof e.entry<"u"}function co(e){return!e.entry.includes(".json")}async function uo(e,t){try{return await e()}catch(r){!t&&so.warn(r);return}}function fo(e){return e&&typeof e=="object"}const Mr=Object.prototype.toString;function ho(e){return Mr.call(e)==="[object Object]"}function mo(e,t){const r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function _o(e){return Array.isArray(e)?e:[e]}function go(e){const t={url:"",type:"global",globalName:""};return wt.isBrowserEnvValue||(0,wt.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}const po=(e,t)=>{let r;return e.endsWith("/")?r=e.slice(0,-1):r=e,t.startsWith(".")&&(t=t.slice(1)),r=r+t,r};$.addUniqueItem=io;$.arrayOptions=_o;$.getFMId=ao;$.getRemoteEntryInfoFromSnapshot=go;$.isObject=fo;$.isPlainObject=ho;$.isPureRemoteEntry=co;$.isRemoteInfoWithEntry=lo;$.isStaticResourcesEqual=mo;$.objectToString=Mr;$.processModuleAlias=po;$.safeWrapper=uo;var b={};const Pr=M,_t=$;let yo=D;const k=typeof globalThis=="object"?globalThis:window,C=(()=>{try{return document.defaultView}catch{return k}})(),Eo=C;function He(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function Ce(e,t){return Object.hasOwnProperty.call(e,t)}Ce(k,"__GLOBAL_LOADING_REMOTE_ENTRY__")||He(k,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});const gt=k.__GLOBAL_LOADING_REMOTE_ENTRY__;function vr(e){Ce(e,"__VMOK__")&&!Ce(e,"__FEDERATION__")&&He(e,"__FEDERATION__",e.__VMOK__),Ce(e,"__FEDERATION__")||(He(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),He(e,"__VMOK__",e.__FEDERATION__)),e.__FEDERATION__.__GLOBAL_PLUGIN__??=[],e.__FEDERATION__.__INSTANCES__??=[],e.__FEDERATION__.moduleInfo??={},e.__FEDERATION__.__SHARE__??={},e.__FEDERATION__.__MANIFEST_LOADING__??={},e.__FEDERATION__.__PRELOADED_MAP__??=new Map}vr(k);vr(C);function So(){k.__FEDERATION__.__GLOBAL_PLUGIN__=[],k.__FEDERATION__.__INSTANCES__=[],k.__FEDERATION__.moduleInfo={},k.__FEDERATION__.__SHARE__={},k.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(gt).forEach(e=>{delete gt[e]})}function bo(e){k.__FEDERATION__.__INSTANCES__.push(e)}function Ro(){return k.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function To(e,t=(0,yo.isDebugMode)()){t&&(k.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,k.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.2")}function pt(e,t){if(typeof t=="string"){if(e[t])return{value:e[t],key:t};{const r=Object.keys(e);for(const n of r){const[o,s]=n.split(":"),i=`${o}:${t}`,a=e[i];if(a)return{value:a,key:i}}return{value:void 0,key:t}}}else Pr.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}const Io=()=>C.__FEDERATION__.moduleInfo,Ar=(e,t)=>{const r=pt(t,_t.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){const{version:n,...o}=e,s=_t.getFMId(o),i=pt(C.__FEDERATION__.moduleInfo,s).value;if((i==null?void 0:i.version)===n)return i}},$o=e=>Ar(e,C.__FEDERATION__.moduleInfo),No=(e,t)=>{const r=_t.getFMId(e);return C.__FEDERATION__.moduleInfo[r]=t,C.__FEDERATION__.moduleInfo},Mo=e=>(C.__FEDERATION__.moduleInfo={...C.__FEDERATION__.moduleInfo,...e},()=>{const t=Object.keys(e);for(const r of t)delete C.__FEDERATION__.moduleInfo[r]}),Po=(e,t)=>{const r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:k[r]}},vo=e=>{const{__GLOBAL_PLUGIN__:t}=C.__FEDERATION__;e.forEach(r=>{t.findIndex(n=>n.name===r.name)===-1?t.push(r):Pr.warn(`The plugin ${r.name} has been registered.`)})},Ao=()=>C.__FEDERATION__.__GLOBAL_PLUGIN__,ko=e=>k.__FEDERATION__.__PRELOADED_MAP__.get(e),Oo=e=>k.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);b.CurrentGlobal=k;b.Global=Eo;b.addGlobalSnapshot=Mo;b.getGlobalFederationConstructor=Ro;b.getGlobalHostPlugins=Ao;b.getGlobalSnapshot=Io;b.getGlobalSnapshotInfoByModuleInfo=$o;b.getInfoWithoutType=pt;b.getPreloaded=ko;b.getRemoteEntryExports=Po;b.getTargetSnapshotInfoByModuleInfo=Ar;b.globalLoading=gt;b.nativeGlobal=C;b.registerGlobalPlugins=vo;b.resetFederationGlobalInfo=So;b.setGlobalFederationConstructor=To;b.setGlobalFederationInstance=bo;b.setGlobalSnapshotInfoByModuleInfo=No;b.setPreloaded=Oo;var Pt={},ne={},W={};const Ft="[0-9A-Za-z-]+",vt=`(?:\\+(${Ft}(?:\\.${Ft})*))`,Re="0|[1-9]\\d*",qe="[0-9]+",kr="\\d*[a-zA-Z-][a-zA-Z0-9-]*",Lt=`(?:${qe}|${kr})`,wo=`(?:-?(${Lt}(?:\\.${Lt})*))`,Dt=`(?:${Re}|${kr})`,Or=`(?:-(${Dt}(?:\\.${Dt})*))`,ze=`${Re}|x|X|\\*`,ce=`[v=\\s]*(${ze})(?:\\.(${ze})(?:\\.(${ze})(?:${Or})?${vt}?)?)?`,Fo=`^\\s*(${ce})\\s+-\\s+(${ce})\\s*$`,Lo=`[v=\\s]*${`(${qe})\\.(${qe})\\.(${qe})`}${wo}?${vt}?`,At="((?:<|>)?=?)",Do=`(\\s*)${At}\\s*(${Lo}|${ce})`,wr="(?:~>?)",Ho=`(\\s*)${wr}\\s+`,Fr="(?:\\^)",Co=`(\\s*)${Fr}\\s+`,qo="(<|>)?=?\\s*\\*",Go=`^${Fr}${ce}$`,Uo=`v?${`(${Re})\\.(${Re})\\.(${Re})`}${Or}?${vt}?`,Wo=`^${wr}${ce}$`,Bo=`^${At}\\s*${ce}$`,jo=`^${At}\\s*(${Uo})$|^$`,Vo="^\\s*>=\\s*0.0.0\\s*$";W.caret=Go;W.caretTrim=Co;W.comparator=jo;W.comparatorTrim=Do;W.gte0=Vo;W.hyphenRange=Fo;W.star=qo;W.tilde=Wo;W.tildeTrim=Ho;W.xRange=Bo;const Xo=W;function Lr(e){return new RegExp(e)}function xo(e){return!e||e.toLowerCase()==="x"||e==="*"}function Ko(...e){return t=>e.reduce((r,n)=>n(r),t)}function Yo(e){return e.match(Lr(Xo.comparator))}function zo(e,t,r,n){const o=`${e}.${t}.${r}`;return n?`${o}-${n}`:o}ne.combineVersion=zo;ne.extractComparator=Yo;ne.isXVersion=xo;ne.parseRegex=Lr;ne.pipe=Ko;var V={};const x=W,T=ne;function Jo(e){return e.replace(T.parseRegex(x.hyphenRange),(t,r,n,o,s,i,a,c,l,u,d,f)=>(T.isXVersion(n)?r="":T.isXVersion(o)?r=`>=${n}.0.0`:T.isXVersion(s)?r=`>=${n}.${o}.0`:r=`>=${r}`,T.isXVersion(l)?c="":T.isXVersion(u)?c=`<${Number(l)+1}.0.0-0`:T.isXVersion(d)?c=`<${l}.${Number(u)+1}.0-0`:f?c=`<=${l}.${u}.${d}-${f}`:c=`<=${c}`,`${r} ${c}`.trim()))}function Zo(e){return e.replace(T.parseRegex(x.comparatorTrim),"$1$2$3")}function Qo(e){return e.replace(T.parseRegex(x.tildeTrim),"$1~")}function es(e){return e.replace(T.parseRegex(x.caretTrim),"$1^")}function ts(e){return e.trim().split(/\s+/).map(t=>t.replace(T.parseRegex(x.caret),(r,n,o,s,i)=>T.isXVersion(n)?"":T.isXVersion(o)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:T.isXVersion(s)?n==="0"?`>=${n}.${o}.0 <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.0 <${Number(n)+1}.0.0-0`:i?n==="0"?o==="0"?`>=${n}.${o}.${s}-${i} <${n}.${o}.${Number(s)+1}-0`:`>=${n}.${o}.${s}-${i} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s}-${i} <${Number(n)+1}.0.0-0`:n==="0"?o==="0"?`>=${n}.${o}.${s} <${n}.${o}.${Number(s)+1}-0`:`>=${n}.${o}.${s} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s} <${Number(n)+1}.0.0-0`)).join(" ")}function rs(e){return e.trim().split(/\s+/).map(t=>t.replace(T.parseRegex(x.tilde),(r,n,o,s,i)=>T.isXVersion(n)?"":T.isXVersion(o)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:T.isXVersion(s)?`>=${n}.${o}.0 <${n}.${Number(o)+1}.0-0`:i?`>=${n}.${o}.${s}-${i} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s} <${n}.${Number(o)+1}.0-0`)).join(" ")}function ns(e){return e.split(/\s+/).map(t=>t.trim().replace(T.parseRegex(x.xRange),(r,n,o,s,i,a)=>{const c=T.isXVersion(o),l=c||T.isXVersion(s),u=l||T.isXVersion(i);return n==="="&&u&&(n=""),a="",c?n===">"||n==="<"?"<0.0.0-0":"*":n&&u?(l&&(s=0),i=0,n===">"?(n=">=",l?(o=Number(o)+1,s=0,i=0):(s=Number(s)+1,i=0)):n==="<="&&(n="<",l?o=Number(o)+1:s=Number(s)+1),n==="<"&&(a="-0"),`${n+o}.${s}.${i}${a}`):l?`>=${o}.0.0${a} <${Number(o)+1}.0.0-0`:u?`>=${o}.${s}.0${a} <${o}.${Number(s)+1}.0-0`:r})).join(" ")}function os(e){return e.trim().replace(T.parseRegex(x.star),"")}function ss(e){return e.trim().replace(T.parseRegex(x.gte0),"")}V.parseCaretTrim=es;V.parseCarets=ts;V.parseComparatorTrim=Zo;V.parseGTE0=ss;V.parseHyphen=Jo;V.parseStar=os;V.parseTildeTrim=Qo;V.parseTildes=rs;V.parseXRanges=ns;var Dr={};function Ge(e,t){return e=Number(e)||e,t=Number(t)||t,e>t?1:e===t?0:-1}function is(e,t){const{preRelease:r}=e,{preRelease:n}=t;if(r===void 0&&n)return 1;if(r&&n===void 0)return-1;if(r===void 0&&n===void 0)return 0;for(let o=0,s=r.length;o<=s;o++){const i=r[o],a=n[o];if(i!==a)return i===void 0&&a===void 0?0:i?a?Ge(i,a):-1:1}return 0}function Oe(e,t){return Ge(e.major,t.major)||Ge(e.minor,t.minor)||Ge(e.patch,t.patch)||is(e,t)}function Je(e,t){return e.version===t.version}function as(e,t){switch(e.operator){case"":case"=":return Je(e,t);case">":return Oe(e,t)<0;case">=":return Je(e,t)||Oe(e,t)<0;case"<":return Oe(e,t)>0;case"<=":return Je(e,t)||Oe(e,t)>0;case void 0:return!0;default:return!1}}Dr.compare=as;const ae=ne,X=V,ls=Dr;function cs(e){return ae.pipe(X.parseCarets,X.parseTildes,X.parseXRanges,X.parseStar)(e)}function us(e){return ae.pipe(X.parseHyphen,X.parseComparatorTrim,X.parseTildeTrim,X.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}function fs(e,t){if(!e)return!1;const r=ae.extractComparator(e);if(!r)return!1;const[,n,,o,s,i,a]=r,c={operator:n,version:ae.combineVersion(o,s,i,a),major:o,minor:s,patch:i,preRelease:a==null?void 0:a.split(".")},l=t.split("||");for(const u of l){const d=u.trim();if(!d||d==="*"||d==="x")return!0;try{const f=us(d);if(!f.trim())return!0;const h=f.split(" ").map(g=>cs(g)).join(" ");if(!h.trim())return!0;const m=h.split(/\s+/).map(g=>X.parseGTE0(g)).filter(Boolean);if(m.length===0)continue;let _=!0;for(const g of m){const p=ae.extractComparator(g);if(!p){_=!1;break}const[,E,,I,O,y,N]=p;if(!ls.compare({operator:E,version:ae.combineVersion(I,O,y,N),major:I,minor:O,patch:y,preRelease:N==null?void 0:N.split(".")},c)){_=!1;break}}if(_)return!0}catch(f){console.error(`[semver] Error processing range part "${d}":`,f);continue}}return!1}Pt.satisfy=fs;var q={},oe={};const ds="default",hs="global";oe.DEFAULT_REMOTE_TYPE=hs;oe.DEFAULT_SCOPE=ds;const We=M,Hr=$,Cr=b,ms=oe,Ee=Pt;let yt=D;function _s(e,t,r,n){var s,i;let o;return"get"in e?o=e.get:"lib"in e?o=()=>Promise.resolve(e.lib):o=()=>Promise.resolve(()=>{We.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(s=e.shareConfig)!=null&&s.eager&&((i=e.treeShaking)!=null&&i.mode)&&We.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:o,loaded:e!=null&&e.loaded||"lib"in e?!0:void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??yt.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function gs(e,t){const r=t.shared||{},n=t.name,o=Object.keys(r).reduce((i,a)=>{const c=Hr.arrayOptions(r[a]);return i[a]=i[a]||[],c.forEach(l=>{i[a].push(_s(l,n,a,t.shareStrategy))}),i},{}),s={...e.shared};return Object.keys(o).forEach(i=>{s[i]?o[i].forEach(a=>{s[i].find(c=>c.version===a.version)||s[i].push(a)}):s[i]=o[i]}),{allShareInfos:s,newShareInfos:o}}function Te(e,t){if(!e)return!1;const{status:r,mode:n}=e;return r===yt.TreeShakingStatus.NO_USE?!1:r===yt.TreeShakingStatus.CALCULATED?!0:n==="runtime-infer"?t?ys(e,t):!0:!1}function te(e,t){const r=n=>{if(!Number.isNaN(Number(n))){const o=n.split(".");let s=n;for(let i=0;i<3-o.length;i++)s+=".0";return s}return n};return!!Ee.satisfy(r(e),`<=${r(t)}`)}const Ie=(e,t)=>{const r=t||function(n,o){return te(n,o)};return Object.keys(e).reduce((n,o)=>!n||r(n,o)||n==="0"?o:n,0)},Be=e=>!!e.loaded||typeof e.lib=="function",ps=e=>!!e.loading,ys=(e,t)=>{if(!e||!t)return!1;const{usedExports:r}=e;return r?!!t.every(n=>r.includes(n)):!1};function Es(e,t,r,n){const o=e[t][r];let s="",i=Te(n);const a=function(c,l){return i?o[c].treeShaking?o[l].treeShaking?!Be(o[c].treeShaking)&&te(c,l):!1:!0:!Be(o[c])&&te(c,l)};if(i){if(s=Ie(e[t][r],a),s)return{version:s,useTreesShaking:i};i=!1}return{version:Ie(e[t][r],a),useTreesShaking:i}}const se=e=>Be(e)||ps(e);function Ss(e,t,r,n){const o=e[t][r];let s="",i=Te(n);const a=function(c,l){if(i){if(!o[c].treeShaking)return!0;if(!o[l].treeShaking)return!1;if(se(o[l].treeShaking))return se(o[c].treeShaking)?!!te(c,l):!0;if(se(o[c].treeShaking))return!1}return se(o[l])?se(o[c])?!!te(c,l):!0:se(o[c])?!1:te(c,l)};if(i){if(s=Ie(e[t][r],a),s)return{version:s,useTreesShaking:i};i=!1}return{version:Ie(e[t][r],a),useTreesShaking:i}}function bs(e){return e==="loaded-first"?Ss:Es}function Rs(e,t,r,n){if(!e)return;const{shareConfig:o,scope:s=ms.DEFAULT_SCOPE,strategy:i,treeShaking:a}=r,c=Array.isArray(s)?s:[s];for(const l of c)if(o&&e[l]&&e[l][t]){const{requiredVersion:u}=o,{version:d,useTreesShaking:f}=bs(i)(e,l,t,a),h=()=>{const _=e[l][t][d];if(o.singleton){if(typeof u=="string"&&!Ee.satisfy(d,u)){const g=`Version ${d} from ${d&&_.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;o.strictVersion?We.error(g):We.warn(g)}return{shared:_,useTreesShaking:f}}else{if(u===!1||u==="*")return{shared:_,useTreesShaking:f};if(Ee.satisfy(d,u))return{shared:_,useTreesShaking:f};const g=Te(a);if(g){for(const[p,E]of Object.entries(e[l][t]))if(Te(E.treeShaking,a==null?void 0:a.usedExports)&&Ee.satisfy(p,u))return{shared:E,useTreesShaking:g}}for(const[p,E]of Object.entries(e[l][t]))if(Ee.satisfy(p,u))return{shared:E,useTreesShaking:!1}}},m={shareScopeMap:e,scope:l,pkgName:t,version:d,GlobalFederation:Cr.Global.__FEDERATION__,shareInfo:r,resolver:h};return(n.emit(m)||m).resolver()}}function Ts(){return Cr.Global.__FEDERATION__.__SHARE__}function Is(e){const{pkgName:t,extraOptions:r,shareInfos:n}=e,o=c=>{if(!c)return;const l={};return c.forEach(d=>{l[d.version]=d}),l[Ie(l,function(d,f){return!Be(l[d])&&te(d,f)})]},s=(r==null?void 0:r.resolver)??o,i=c=>c!==null&&typeof c=="object"&&!Array.isArray(c),a=(...c)=>{const l={};for(const u of c)if(u)for(const[d,f]of Object.entries(u)){const h=l[d];i(h)&&i(f)?l[d]=a(h,f):f!==void 0&&(l[d]=f)}return l};return a(s(n[t]),r==null?void 0:r.customShareInfo)}const $s=(e,t)=>{e.useIn||(e.useIn=[]),Hr.addUniqueItem(e.useIn,t)};function Ns(e,t){return t&&e.treeShaking?e.treeShaking:e}q.addUseIn=$s;q.directShare=Ns;q.formatShareConfigs=gs;q.getGlobalShareScope=Ts;q.getRegisteredShare=Rs;q.getTargetSharedOptions=Is;q.shouldUseTreeShaking=Te;var he={};function Ms(e,t){for(const r of e){const n=t.startsWith(r.name);let o=t.replace(r.name,"");if(n){if(o.startsWith("/")){const a=r.name;return o=`.${o}`,{pkgNameOrAlias:a,expose:o,remote:r}}else if(o==="")return{pkgNameOrAlias:r.name,expose:".",remote:r}}const s=r.alias&&t.startsWith(r.alias);let i=r.alias&&t.replace(r.alias,"");if(r.alias&&s){if(i&&i.startsWith("/")){const a=r.alias;return i=`.${i}`,{pkgNameOrAlias:a,expose:i,remote:r}}else if(i==="")return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}function Ps(e,t){for(const r of e)if(t===r.name||r.alias&&t===r.alias)return r}he.matchRemote=Ps;he.matchRemoteWithNameAndExpose=Ms;var K={},Y={},F={};const vs="RUNTIME-001",As="RUNTIME-002",ks="RUNTIME-003",Os="RUNTIME-004",ws="RUNTIME-005",Fs="RUNTIME-006",Ls="RUNTIME-007",Ds="RUNTIME-008",Hs="RUNTIME-009",Cs="RUNTIME-010",qs="RUNTIME-011",Gs="TYPE-001",Us="BUILD-001",Ws="BUILD-002";F.BUILD_001=Us;F.BUILD_002=Ws;F.RUNTIME_001=vs;F.RUNTIME_002=As;F.RUNTIME_003=ks;F.RUNTIME_004=Os;F.RUNTIME_005=ws;F.RUNTIME_006=Fs;F.RUNTIME_007=Ls;F.RUNTIME_008=Ds;F.RUNTIME_009=Hs;F.RUNTIME_010=Cs;F.RUNTIME_011=qs;F.TYPE_001=Gs;var Me={};const L=F,qr={[L.RUNTIME_001]:"Failed to get remoteEntry exports.",[L.RUNTIME_002]:'The remote entry interface does not contain "init"',[L.RUNTIME_003]:"Failed to get manifest.",[L.RUNTIME_004]:"Failed to locate remote.",[L.RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[L.RUNTIME_006]:"Invalid loadShareSync function call from runtime",[L.RUNTIME_007]:"Failed to get remote snapshot.",[L.RUNTIME_008]:"Failed to load script resources.",[L.RUNTIME_009]:"Please call createInstance first.",[L.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.',[L.RUNTIME_011]:"The remoteEntry URL is missing from the remote snapshot."},Gr={[L.TYPE_001]:"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error."},Ur={[L.BUILD_001]:"Failed to find expose module.",[L.BUILD_002]:"PublicPath is required in prod mode."},Bs={...qr,...Gr,...Ur};Me.buildDescMap=Ur;Me.errorDescMap=Bs;Me.runtimeDescMap=qr;Me.typeDescMap=Gr;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=F,r=Mt,n=Me;e.BUILD_001=t.BUILD_001,e.BUILD_002=t.BUILD_002,e.RUNTIME_001=t.RUNTIME_001,e.RUNTIME_002=t.RUNTIME_002,e.RUNTIME_003=t.RUNTIME_003,e.RUNTIME_004=t.RUNTIME_004,e.RUNTIME_005=t.RUNTIME_005,e.RUNTIME_006=t.RUNTIME_006,e.RUNTIME_007=t.RUNTIME_007,e.RUNTIME_008=t.RUNTIME_008,e.RUNTIME_009=t.RUNTIME_009,e.RUNTIME_010=t.RUNTIME_010,e.RUNTIME_011=t.RUNTIME_011,e.TYPE_001=t.TYPE_001,e.buildDescMap=n.buildDescMap,e.errorDescMap=n.errorDescMap,e.getShortErrorMsg=r.getShortErrorMsg,e.runtimeDescMap=n.runtimeDescMap,e.typeDescMap=n.typeDescMap})(Y);const Ve=M,le=b,Ht=oe;let Wr=D,$e=Y;const Br=".then(callbacks[0]).catch(callbacks[1])";async function js({entry:e,remoteEntryExports:t}){return new Promise((r,n)=>{try{t?r(t):typeof FEDERATION_ALLOW_NEW_FUNCTION<"u"?new Function("callbacks",`import("${e}")${Br}`)([r,n]):import(e).then(r).catch(n)}catch(o){Ve.error(`Failed to load ESM entry from "${e}". ${o instanceof Error?o.message:String(o)}`)}})}async function Vs({entry:e,remoteEntryExports:t}){return new Promise((r,n)=>{try{t?r(t):typeof __system_context__>"u"?System.import(e).then(r).catch(n):new Function("callbacks",`System.import("${e}")${Br}`)([r,n])}catch(o){Ve.error(`Failed to load SystemJS entry from "${e}". ${o instanceof Error?o.message:String(o)}`)}})}function Xs(e,t,r){const{remoteEntryKey:n,entryExports:o}=le.getRemoteEntryExports(e,t);return o||Ve.error($e.RUNTIME_001,$e.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:n}),o}async function xs({name:e,globalName:t,entry:r,loaderHook:n,getEntryUrl:o}){const{entryExports:s}=le.getRemoteEntryExports(e,t);if(s)return s;const i=o?o(r):r;return(0,Wr.loadScript)(i,{attrs:{},createScriptHook:(a,c)=>{const l=n.lifecycle.createScript.emit({url:a,attrs:c});if(l&&(l instanceof HTMLScriptElement||"script"in l||"timeout"in l))return l}}).then(()=>Xs(e,t,r),a=>{const c=a instanceof Error?a.message:String(a);Ve.error($e.RUNTIME_008,$e.runtimeDescMap,{remoteName:e,resourceUrl:i},c)})}async function Ks({remoteInfo:e,remoteEntryExports:t,loaderHook:r,getEntryUrl:n}){const{entry:o,entryGlobalName:s,name:i,type:a}=e;switch(a){case"esm":case"module":return js({entry:o,remoteEntryExports:t});case"system":return Vs({entry:o,remoteEntryExports:t});default:return xs({entry:o,globalName:s,name:i,loaderHook:r,getEntryUrl:n})}}function Et(e){const{entry:t,name:r}=e;return(0,Wr.composeKeyWithSeparator)(r,t)}async function jr(e){const{origin:t,remoteEntryExports:r,remoteInfo:n,getEntryUrl:o,_inErrorHandling:s=!1}=e,i=Et(n);if(r)return r;if(!le.globalLoading[i]){const a=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;le.globalLoading[i]=a.emit({loaderHook:c,remoteInfo:n,remoteEntryExports:r}).then(l=>l||Ks({remoteInfo:n,remoteEntryExports:r,loaderHook:c,getEntryUrl:o})).catch(async l=>{const u=Et(n),d=l instanceof Error&&l.message.includes("ScriptExecutionError");if(l instanceof Error&&l.message.includes($e.RUNTIME_008)&&!d&&!s){const f=m=>jr({...m,_inErrorHandling:!0}),h=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:f,origin:t,remoteInfo:n,remoteEntryExports:r,globalLoading:le.globalLoading,uniqueKey:u});if(h)return h}throw l})}return le.globalLoading[i]}function Ys(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||Ht.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||Ht.DEFAULT_SCOPE}}K.getRemoteEntry=jr;K.getRemoteEntryUniqueKey=Et;K.getRemoteInfo=Ys;var Vr={};function zs(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}Vr.getBuilderId=zs;var Xr={};const Js=b;function Zs(e,t){const r=Js.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(o=>{e!=null&&e.find(s=>s.name!==o.name)&&e.push(o)}),e&&e.length>0&&e.forEach(o=>{n.forEach(s=>{s.applyPlugin(o,t)})}),e}Xr.registerPlugins=Zs;var Pe={};function Qs(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}function ei(e){var r,n,o,s,i,a;const t={};for(const[c,l]of Object.entries(e.shared)){const u=l[0];u&&(t[c]={version:u.version,singleton:(r=u.shareConfig)==null?void 0:r.singleton,requiredVersion:((n=u.shareConfig)==null?void 0:n.requiredVersion)===!1?!1:(o=u.shareConfig)==null?void 0:o.requiredVersion,eager:u.eager,strictVersion:(s=u.shareConfig)==null?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:((i=e.remotes)==null?void 0:i.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:((a=e.remotes)==null?void 0:a.map(Qs))??[],shared:t}}}Pe.optionsToMFContext=ei;var xr={},Z={};const ti=M,ri=he,Ct=K;let Se=D;function Kr(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function ni(e,t){return t.map(r=>{const n=ri.matchRemote(e,r.nameOrAlias);return ti.assert(n,`Unable to preload ${r.nameOrAlias} as it is not included in ${!n&&(0,Se.safeToString)({remoteInfo:n,remotes:e})}`),{remote:n,preloadConfig:Kr(r)}})}function oi(e){return e?e.map(t=>t==="."?t:t.startsWith("./")?t.replace("./",""):t):[]}function si(e,t,r,n=!0){const{cssAssets:o,jsAssetsWithoutEntry:s,entryAssets:i}=r;if(t.options.inBrowser){if(i.forEach(a=>{const{moduleInfo:c}=a,l=t.moduleCache.get(e.name);l?Ct.getRemoteEntry({origin:t,remoteInfo:c,remoteEntryExports:l.remoteEntryExports}):Ct.getRemoteEntry({origin:t,remoteInfo:c,remoteEntryExports:void 0})}),n){const a={rel:"preload",as:"style"};o.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h}});u&&document.head.appendChild(l)})}else{const a={rel:"stylesheet",type:"text/css"};o.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h},needDeleteLink:!1});u&&document.head.appendChild(l)})}if(n){const a={rel:"preload",as:"script"};s.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h}});u&&document.head.appendChild(l)})}else{const a={fetchpriority:"high",type:(e==null?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(c=>{const{script:l,needAttach:u}=(0,Se.createScript)({url:c,cb:()=>{},attrs:a,createScriptHook:(d,f)=>{const h=t.loaderHook.lifecycle.createScript.emit({url:d,attrs:f});if(h instanceof HTMLScriptElement)return h},needDeleteScript:!0});u&&document.head.appendChild(l)})}}}Z.defaultPreloadArgs=Kr;Z.formatPreloadArgs=ni;Z.normalizePreloadExposes=oi;Z.preloadAssets=si;const w=b,qt=q,ii=he,ai=K,li=Z,ci={getRegisteredShare:qt.getRegisteredShare,getGlobalShareScope:qt.getGlobalShareScope},ui={Global:w.Global,nativeGlobal:w.nativeGlobal,resetFederationGlobalInfo:w.resetFederationGlobalInfo,setGlobalFederationInstance:w.setGlobalFederationInstance,getGlobalFederationConstructor:w.getGlobalFederationConstructor,setGlobalFederationConstructor:w.setGlobalFederationConstructor,getInfoWithoutType:w.getInfoWithoutType,getGlobalSnapshot:w.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:w.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:w.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:w.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:w.addGlobalSnapshot,getRemoteEntryExports:w.getRemoteEntryExports,registerGlobalPlugins:w.registerGlobalPlugins,getGlobalHostPlugins:w.getGlobalHostPlugins,getPreloaded:w.getPreloaded,setPreloaded:w.setPreloaded};var fi={global:ui,share:ci,utils:{matchRemoteWithNameAndExpose:ii.matchRemoteWithNameAndExpose,preloadAssets:li.preloadAssets,getRemoteInfo:ai.getRemoteInfo}};xr.default=fi;var Xe={};const Ze=M,Gt=$,di=K,hi=Pe;let mi=D,Ut=Y;function _i(e,t,r){const n=t,o=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];o.length||o.push("default"),o.forEach(i=>{n[i]||(n[i]={})});const s={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?o:e.shareScope||"default"};return Object.defineProperty(s,"shareScopeMap",{value:n,enumerable:!1}),{remoteEntryInitOptions:s,shareScope:n[o[0]],initScope:r??[]}}var gi=class{constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;const e=await di.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return Ze.assert(e,`remoteEntryExports is undefined - ${(0,mi.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){const n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{const{remoteEntryInitOptions:o,shareScope:s,initScope:i}=_i(this.remoteInfo,this.host.shareScopeMap,r),a=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:o,initScope:i,remoteInfo:this.remoteInfo,origin:this.host});typeof(n==null?void 0:n.init)>"u"&&Ze.error(Ut.RUNTIME_002,Ut.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,hi.optionsToMFContext(this.host.options)),await n.init(a.shareScope,a.initScope,a.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...a,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,n){const{loadFactory:o=!0}=r||{loadFactory:!0},s=await this.init(e,n);this.lib=s;let i;i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}),i||(i=await s.get(t)),Ze.assert(i,`${Gt.getFMId(this.remoteInfo)} remote don't export ${t}.`);const a=Gt.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,a);return o?await c():c}wraperFactory(e,t){function r(n,o){n&&typeof n=="object"&&Object.isExtensible(n)&&!Object.getOwnPropertyDescriptor(n,Symbol.for("mf_module_id"))&&Object.defineProperty(n,Symbol.for("mf_module_id"),{value:o,enumerable:!1})}return e instanceof Promise?async()=>{const n=await e();return r(n,t),n}:()=>{const n=e();return r(n,t),n}}};Xe.Module=gi;var Yr={},me={},pi=class{constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}on(e){typeof e=="function"&&this.listeners.add(e)}once(e){const t=this;this.on(function r(...n){return t.remove(r),e.apply(null,n)})}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach(r=>{t=r(...e)}),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}};me.SyncHook=pi;var ve={};const yi=me;var Ei=class extends yi.SyncHook{emit(...e){let t;const r=Array.from(this.listeners);if(r.length>0){let n=0;const o=s=>s===!1?!1:n0){let r=0;const n=s=>(et.warn(s),this.onerror(s),e),o=s=>{if(Ii.checkReturnData(e,s)){if(e=s,r{const s=e[o];s&&this.lifecycle[o].on(s)}))}removePlugin(e){we.assert(e,"A name is required.");const t=this.registerPlugins[e];we.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(r=>{r!=="name"&&this.lifecycle[r].remove(t[r])})}};ke.PluginSystem=Mi;var xe={};const Pi=M,St=$,vi=Z;let Wt=D,Bt=Y;function Zr(e,t){const r=St.getRemoteEntryInfoFromSnapshot(t);r.url||Pi.error(Bt.RUNTIME_011,Bt.runtimeDescMap,{remoteName:e.name});let n=(0,Wt.getResourceUrl)(t,r.url);!Wt.isBrowserEnvValue&&!n.startsWith("http")&&(n=`https:${n}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=n,e.version=t.version,e.buildVersion=t.buildVersion}function Ai(){return{name:"snapshot-plugin",async afterResolve(e){const{remote:t,pkgNameOrAlias:r,expose:n,origin:o,remoteInfo:s,id:i}=e;if(!St.isRemoteInfoWithEntry(t)||!St.isPureRemoteEntry(t)){const{remoteSnapshot:a,globalSnapshot:c}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:i});Zr(s,a);const l={remote:t,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:l,remoteInfo:s,remote:t,remoteSnapshot:a,globalSnapshot:c});return u&&vi.preloadAssets(s,o,u,!1),{...e,remoteSnapshot:a}}return e}}}xe.assignRemoteInfo=Zr;xe.snapshotPlugin=Ai;var Qr={};const Ne=$,bt=b,ki=q,jt=Z,Oi=xe;let je=D;function wi(e){const t=e.split(":");return t.length===1?{name:t[0],version:void 0}:t.length===2?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function en(e,t,r,n,o={},s){const{value:i}=bt.getInfoWithoutType(e,Ne.getFMId(t)),a=s||i;if(a&&!(0,je.isManifestProvider)(a)&&(r(a,t,n),a.remotesInfo)){const c=Object.keys(a.remotesInfo);for(const l of c){if(o[l])continue;o[l]=!0;const u=wi(l),d=a.remotesInfo[l];en(e,{name:u.name,version:d.matchedVersion},r,!1,o,void 0)}}}const tt=(e,t)=>document.querySelector(`${e}[${e==="link"?"href":"src"}="${t}"]`);function Fi(e,t,r,n,o){const s=[],i=[],a=[],c=new Set,l=new Set,{options:u}=e,{preloadConfig:d}=t,{depsRemote:f}=d;if(en(n,r,(m,_,g)=>{var N;let p;if(g)p=d;else if(Array.isArray(f)){const R=f.find(v=>v.nameOrAlias===_.name||v.nameOrAlias===_.alias);if(!R)return;p=jt.defaultPreloadArgs(R)}else if(f===!0)p=d;else return;const E=(0,je.getResourceUrl)(m,Ne.getRemoteEntryInfoFromSnapshot(m).url);E&&a.push({name:_.name,moduleInfo:{name:_.name,entry:E,type:"remoteEntryType"in m?m.remoteEntryType:"global",entryGlobalName:"globalName"in m?m.globalName:_.name,shareScope:"",version:"version"in m?m.version:void 0},url:E});let I="modules"in m?m.modules:[];const O=jt.normalizePreloadExposes(p.exposes);O.length&&"modules"in m&&(I=(N=m==null?void 0:m.modules)==null?void 0:N.reduce((R,v)=>((O==null?void 0:O.indexOf(v.moduleName))!==-1&&R.push(v),R),[]));function y(R){const v=R.map(B=>(0,je.getResourceUrl)(m,B));return p.filter?v.filter(p.filter):v}if(I){const R=I.length;for(let v=0;v0){const m=(_,g)=>{const{shared:p}=ki.getRegisteredShare(e.shareScopeMap,g.sharedName,_,e.sharedHandler.hooks.lifecycle.resolveShare)||{};p&&typeof p.lib=="function"&&(g.assets.js.sync.forEach(E=>{c.add(E)}),g.assets.css.sync.forEach(E=>{l.add(E)}))};o.shared.forEach(_=>{var E;const g=(E=u.shared)==null?void 0:E[_.sharedName];if(!g)return;const p=_.version?g.find(I=>I.version===_.version):g;p&&Ne.arrayOptions(p).forEach(I=>{m(I,_)})})}const h=i.filter(m=>!c.has(m)&&!tt("script",m));return{cssAssets:s.filter(m=>!l.has(m)&&!tt("link",m)),jsAssetsWithoutEntry:h,entryAssets:a.filter(m=>!tt("script",m.url))}}const Li=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){const{origin:t,preloadOptions:r,remoteInfo:n,remote:o,globalSnapshot:s,remoteSnapshot:i}=e;return je.isBrowserEnvValue?Ne.isRemoteInfoWithEntry(o)&&Ne.isPureRemoteEntry(o)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:o.name,url:o.entry,moduleInfo:{name:n.name,entry:o.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(Oi.assignRemoteInfo(n,i),Fi(t,r,n,s,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};Qr.generatePreloadAssetsPlugin=Li;var Ke={};const rt=M,Di=$,U=b,Vt=Pe,Hi=ve,nt=Ae,Ci=ke;let ot=D,Fe=Y;function tn(e,t){const r=U.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&U.getInfoWithoutType(r.remotesInfo,e.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}var qi=class{constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new Ci.PluginSystem({beforeLoadRemoteSnapshot:new Hi.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new nt.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new nt.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new nt.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=U.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}async loadRemoteSnapshotInfo({moduleInfo:e,id:t,expose:r}){const{options:n}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:n,moduleInfo:e});let o=U.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});o||(o={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},U.addGlobalSnapshot({[this.HostInstance.options.name]:o})),o&&"remotesInfo"in o&&!U.getInfoWithoutType(o.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(o.remotesInfo={...o==null?void 0:o.remotesInfo,[e.name]:{matchedVersion:"version"in e?e.version:e.entry}});const{hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:c,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:n,moduleInfo:e,hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a});let u,d;if(c)if((0,ot.isManifestProvider)(c)){const f=ot.isBrowserEnvValue?c.remoteEntry:c.ssrRemoteEntry||c.remoteEntry||"",h=await this.getManifestJson(f,e,{}),m=U.setGlobalSnapshotInfoByModuleInfo({...e,entry:f},h);u=h,d=m}else{const{remoteSnapshot:f}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:c,from:"global"});u=f,d=l}else if(Di.isRemoteInfoWithEntry(e)){const f=await this.getManifestJson(e.entry,e,{}),h=U.setGlobalSnapshotInfoByModuleInfo(e,f),{remoteSnapshot:m}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:f,from:"global"});u=m,d=h}else rt.error(Fe.RUNTIME_007,Fe.runtimeDescMap,{remoteName:e.name,remoteVersion:e.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(l)},void 0,Vt.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:t,host:this.HostInstance,options:n,moduleInfo:e,remoteSnapshot:u}),{remoteSnapshot:u,globalSnapshot:d}}getGlobalRemoteInfo(e){return tn(e,this.HostInstance)}async getManifestJson(e,t,r){const n=async()=>{let s=this.manifestCache.get(e);if(s)return s;try{let i=await this.loaderHook.lifecycle.fetch.emit(e,{});(!i||!(i instanceof Response))&&(i=await fetch(e,{})),s=await i.json()}catch(i){s=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:i,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),s||(delete this.manifestLoading[e],rt.error(Fe.RUNTIME_003,Fe.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${i}`,Vt.optionsToMFContext(this.HostInstance.options)))}return rt.assert(s.metaData&&s.exposes&&s.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!s.metaData&&"metaData",!s.exposes&&"exposes",!s.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,s),s},o=async()=>{const s=await n(),i=(0,ot.generateSnapshotFromManifest)(s,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:s,remoteSnapshot:i,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=o().then(s=>s)),this.manifestLoading[e]}};Ke.SnapshotHandler=qi;Ke.getGlobalRemoteInfo=tn;var rn={};const st=M,Gi=oe,A=q,Xt=Pe,Ui=ve,it=_e,xt=Ae,Wi=ke;let pe=Y;var Bi=class{constructor(e){this.hooks=new Wi.PluginSystem({beforeRegisterShare:new it.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new xt.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new xt.AsyncWaterfallHook("beforeLoadShare"),loadShare:new Ui.AsyncHook,resolveShare:new it.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new it.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}registerShared(e,t){const{newShareInfos:r,allShareInfos:n}=A.formatShareConfigs(e,t);return Object.keys(r).forEach(o=>{r[o].forEach(s=>{s.scope.forEach(i=>{var a;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:o,shared:s}),(a=this.shareScopeMap[i])!=null&&a[o]||this.setShared({pkgName:o,lib:s.lib,get:s.get,loaded:s.loaded||!!s.lib,shared:s,from:t.name})})})}),{newShareInfos:r,allShareInfos:n}}async loadShare(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&await Promise.all(n.scope.map(async a=>{await Promise.all(this.initializeSharing(a,{strategy:n.strategy}))}));const{shareInfo:o}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});st.assert(o,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);const{shared:s,useTreesShaking:i}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(s){const a=A.directShare(s,i);if(a.lib)return A.addUseIn(a,r.options.name),a.lib;if(a.loading&&!a.loaded){const c=await a.loading;return a.loaded=!0,a.lib||(a.lib=c),A.addUseIn(a,r.options.name),c}else{const l=(async()=>{const u=await a.get();return A.addUseIn(a,r.options.name),a.loaded=!0,a.lib=u,u})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:l,treeShaking:i?a:void 0}),l}}else{if(t!=null&&t.customShareInfo)return!1;const a=A.shouldUseTreeShaking(o.treeShaking),c=A.directShare(o,a),u=(async()=>{const d=await c.get();c.lib=d,c.loaded=!0,A.addUseIn(c,r.options.name);const{shared:f,useTreesShaking:h}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(f){const m=A.directShare(f,h);m.lib=d,m.loaded=!0,f.from=o.from}return d})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:r.options.name,lib:null,loading:u,treeShaking:a?c:void 0}),u}}initializeSharing(e=Gi.DEFAULT_SCOPE,t){const{host:r}=this,n=t==null?void 0:t.from,o=t==null?void 0:t.strategy;let s=t==null?void 0:t.initScope;const i=[];if(n!=="build"){const{initTokens:f}=this;s||(s=[]);let h=f[e];if(h||(h=f[e]={from:this.host.name}),s.indexOf(h)>=0)return i;s.push(h)}const a=this.shareScopeMap,c=r.options.name;a[e]||(a[e]={});const l=a[e],u=(f,h)=>{var I;const{version:m,eager:_}=h;l[f]=l[f]||{};const g=l[f],p=g[m]&&A.directShare(g[m]),E=!!(p&&("eager"in p&&p.eager||"shareConfig"in p&&((I=p.shareConfig)!=null&&I.eager)));(!p||p.strategy!=="loaded-first"&&!p.loaded&&(!_!=!E?_:c>g[m].from))&&(g[m]=h)},d=async f=>{const{module:h}=await r.remoteHandler.getRemoteModuleAndOptions({id:f});let m;try{m=await h.getEntry()}catch(_){if(m=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:f,error:_,from:"runtime",lifecycle:"beforeLoadShare",origin:r}),!m)return}finally{m!=null&&m.init&&!h.initing&&(h.remoteEntryExports=m,await h.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(f=>{r.options.shared[f].forEach(h=>{h.scope.includes(e)&&u(f,h)})}),(r.options.shareStrategy==="version-first"||o==="version-first")&&r.options.remotes.forEach(f=>{f.shareScope===e&&i.push(d(f.name))}),i}loadShareSync(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&n.scope.forEach(i=>{this.initializeSharing(i,{strategy:n.strategy})});const{shared:o,useTreesShaking:s}=A.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(o){if(typeof o.lib=="function")return A.addUseIn(o,r.options.name),o.loaded||(o.loaded=!0,o.from===r.options.name&&(n.loaded=!0)),o.lib;if(typeof o.get=="function"){const i=o.get();if(!(i instanceof Promise))return A.addUseIn(o,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:i,shared:o}),i}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){const i=n.get();return i instanceof Promise&&st.error((t==null?void 0:t.from)==="build"?pe.RUNTIME_005:pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options)),n.lib=i,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}st.error(pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options))}initShareScopeMap(e,t,r={}){const{host:n}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:n.options,origin:n,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:r,lib:n,loading:o,loaded:s,get:i,treeShaking:a}){const{version:c,scope:l="default",...u}=t,d=Array.isArray(l)?l:[l],f=h=>{const m=(g,p,E)=>{E&&!g[p]&&(g[p]=E)},_=a?h.treeShaking:h;m(_,"loaded",s),m(_,"loading",o),m(_,"get",i)};d.forEach(h=>{this.shareScopeMap[h]||(this.shareScopeMap[h]={}),this.shareScopeMap[h][e]||(this.shareScopeMap[h][e]={}),this.shareScopeMap[h][e][c]||(this.shareScopeMap[h][e][c]={version:c,scope:[h],...u,lib:n});const m=this.shareScopeMap[h][e][c];f(m),r&&m.from!==r&&(m.from=r)})}_setGlobalShareScopeMap(e){const t=A.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}};rn.SharedHandler=Bi;var nn={};const Le=M,G=b,Kt=oe,ji=q,Vi=he,at=K,Xi=Pe,Yt=Z,xi=Xe,Ki=me,ie=ve,zt=_e,Yi=Ae,zi=ke,Ji=Ke;let lt=D,Jt=Y;var Zi=class{constructor(e){this.hooks=new zi.PluginSystem({beforeRegisterRemote:new zt.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new zt.SyncWaterfallHook("registerRemote"),beforeRequest:new Yi.AsyncWaterfallHook("beforeRequest"),onLoad:new ie.AsyncHook("onLoad"),handlePreloadModule:new Ki.SyncHook("handlePreloadModule"),errorLoadRemote:new ie.AsyncHook("errorLoadRemote"),beforePreloadRemote:new ie.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new ie.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new ie.AsyncHook,loadEntry:new ie.AsyncHook}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((r,n)=>(this.registerRemote(n,r,{force:!1}),r),e.remotes)}setIdToRemoteMap(e,t){const{remote:r,expose:n}=t,{name:o,alias:s}=r;if(this.idToRemoteMap[e]={name:r.name,expose:n},s&&e.startsWith(o)){const i=e.replace(o,s);this.idToRemoteMap[i]={name:r.name,expose:n};return}if(s&&e.startsWith(s)){const i=e.replace(s,o);this.idToRemoteMap[i]={name:r.name,expose:n}}}async loadRemote(e,t){const{host:r}=this;try{const{loadFactory:n=!0}=t||{loadFactory:!0},{module:o,moduleOptions:s,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:a,remote:c,expose:l,id:u,remoteSnapshot:d}=i,f=await o.get(u,l,t,d),h=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:a,expose:l,exposeModule:n?f:void 0,exposeModuleFactory:n?void 0:f,remote:c,options:s,moduleInstance:o,origin:r});return this.setIdToRemoteMap(e,i),typeof h=="function"?h:f}catch(n){const{from:o="runtime"}=t||{from:"runtime"},s=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:o,lifecycle:"onLoad",origin:r});if(!s)throw n;return s}}async preloadRemote(e){const{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});const r=Yt.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async n=>{const{remote:o}=n,s=at.getRemoteInfo(o),{globalSnapshot:i,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:o}),c=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:n,remote:o,remoteInfo:s,globalSnapshot:i,remoteSnapshot:a});c&&Yt.preloadAssets(s,t,c)}))}registerRemotes(e,t){const{host:r}=this;e.forEach(n=>{this.registerRemote(n,r.options.remotes,{force:t==null?void 0:t.force})})}async getRemoteModuleAndOptions(e){const{host:t}=this,{id:r}=e;let n;try{n=await this.hooks.lifecycle.beforeRequest.emit({id:r,options:t.options,origin:t})}catch(h){if(n=await this.hooks.lifecycle.errorLoadRemote.emit({id:r,options:t.options,origin:t,from:"runtime",error:h,lifecycle:"beforeRequest"}),!n)throw h}const{id:o}=n,s=Vi.matchRemoteWithNameAndExpose(t.options.remotes,o);s||Le.error(Jt.RUNTIME_004,Jt.runtimeDescMap,{hostName:t.options.name,requestId:o},void 0,Xi.optionsToMFContext(t.options));const{remote:i}=s,a=at.getRemoteInfo(i),c=await t.sharedHandler.hooks.lifecycle.afterResolve.emit({id:o,...s,options:t.options,origin:t,remoteInfo:a}),{remote:l,expose:u}=c;Le.assert(l&&u,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${o}.`);let d=t.moduleCache.get(l.name);const f={host:t,remoteInfo:a};return d||(d=new xi.Module(f),t.moduleCache.set(l.name,d)),{module:d,moduleOptions:f,remoteMatchInfo:c}}registerRemote(e,t,r){const{host:n}=this,o=()=>{if(e.alias){const i=t.find(a=>{var c;return e.alias&&(a.name.startsWith(e.alias)||((c=a.alias)==null?void 0:c.startsWith(e.alias)))});Le.assert(!i,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${i&&i.name} name or alias`)}"entry"in e&<.isBrowserEnvValue&&typeof window<"u"&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=Kt.DEFAULT_SCOPE),e.type||(e.type=Kt.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});const s=t.find(i=>i.name===e.name);if(!s)o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n});else{const i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];r!=null&&r.force&&(this.removeRemote(s),o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,lt.warn)(i.join(" ")))}}removeRemote(e){var t;try{const{host:r}=this,{name:n}=e,o=r.options.remotes.findIndex(i=>i.name===n);o!==-1&&r.options.remotes.splice(o,1);const s=r.moduleCache.get(e.name);if(s){const i=s.remoteInfo,a=i.entryGlobalName;G.CurrentGlobal[a]&&((t=Object.getOwnPropertyDescriptor(G.CurrentGlobal,a))!=null&&t.configurable?delete G.CurrentGlobal[a]:G.CurrentGlobal[a]=void 0);const c=at.getRemoteEntryUniqueKey(s.remoteInfo);G.globalLoading[c]&&delete G.globalLoading[c],r.snapshotHandler.manifestCache.delete(i.entry);let l=i.buildVersion?(0,lt.composeKeyWithSeparator)(i.name,i.buildVersion):i.name;const u=G.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(f=>i.buildVersion?f.options.id===l:f.name===l);if(u!==-1){const f=G.CurrentGlobal.__FEDERATION__.__INSTANCES__[u];l=f.options.id||l;const h=ji.getGlobalShareScope();let m=!0;const _=[];Object.keys(h).forEach(g=>{const p=h[g];p&&Object.keys(p).forEach(E=>{const I=p[E];I&&Object.keys(I).forEach(O=>{const y=I[O];y&&Object.keys(y).forEach(N=>{const R=y[N];R&&typeof R=="object"&&R.from===i.name&&(R.loaded||R.loading?(R.useIn=R.useIn.filter(v=>v!==i.name),R.useIn.length?m=!1:_.push([g,E,O,N])):_.push([g,E,O,N]))})})})}),m&&(f.shareScopeMap={},delete h[l]),_.forEach(([g,p,E,I])=>{var O,y,N;(N=(y=(O=h[g])==null?void 0:O[p])==null?void 0:y[E])==null||delete N[I]}),G.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(u,1)}const{hostGlobalSnapshot:d}=Ji.getGlobalRemoteInfo(e,r);if(d){const f=d&&"remotesInfo"in d&&d.remotesInfo&&G.getInfoWithoutType(d.remotesInfo,e.name).key;f&&(delete d.remotesInfo[f],G.Global.__FEDERATION__.__MANIFEST_LOADING__[f]&&delete G.Global.__FEDERATION__.__MANIFEST_LOADING__[f])}r.moduleCache.delete(e.name)}}catch(r){Le.logger.error(`removeRemote failed: ${r instanceof Error?r.message:String(r)}`)}}};nn.RemoteHandler=Zi;const Qi=M,ea=oe,ta=q,ra=Vr,na=Xr,oa=K,sa=Xe,z=me,ct=ve,ia=_e,Zt=Ae,ut=ke,aa=xe,la=Qr,ca=Ke,ua=rn,fa=nn;let da=D,ft=Y;const ha=typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN=="boolean"?!FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN:!0;var ma=class{constructor(e){this.hooks=new ut.PluginSystem({beforeInit:new ia.SyncWaterfallHook("beforeInit"),init:new z.SyncHook,beforeInitContainer:new Zt.AsyncWaterfallHook("beforeInitContainer"),initContainer:new Zt.AsyncWaterfallHook("initContainer")}),this.version="2.2.2",this.moduleCache=new Map,this.loaderHook=new ut.PluginSystem({getModuleInfo:new z.SyncHook,createScript:new z.SyncHook,createLink:new z.SyncHook,fetch:new ct.AsyncHook,loadEntryError:new ct.AsyncHook,getModuleFactory:new ct.AsyncHook}),this.bridgeHook=new ut.PluginSystem({beforeBridgeRender:new z.SyncHook,afterBridgeRender:new z.SyncHook,beforeBridgeDestroy:new z.SyncHook,afterBridgeDestroy:new z.SyncHook});const t=ha?[aa.snapshotPlugin(),la.generatePreloadAssetsPlugin()]:[],r={id:ra.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:da.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new ca.SnapshotHandler(this),this.sharedHandler=new ua.SharedHandler(this),this.remoteHandler=new fa.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}initOptions(e){e.name&&e.name!==this.options.name&&Qi.error((0,ft.getShortErrorMsg)(ft.RUNTIME_010,ft.runtimeDescMap)),this.registerPlugins(e.plugins);const t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=ea.DEFAULT_SCOPE,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){const n=oa.getRemoteInfo({name:e,entry:t}),o=new sa.Module({host:this,remoteInfo:n});return o.remoteEntryExports=r,this.moduleCache.set(e,o),o}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,r={}){this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){const{allShareInfos:r}=ta.formatShareConfigs(e,t),{userOptions:n,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),s=this.remoteHandler.formatAndRegisterRemote(o,n),{allShareInfos:i}=this.sharedHandler.registerShared(o,n),a=[...o.plugins];n.plugins&&n.plugins.forEach(l=>{a.includes(l)||a.push(l)});const c={...e,...t,plugins:a,remotes:s,shared:i};return this.hooks.lifecycle.init.emit({origin:this,options:c}),c}registerPlugins(e){const t=na.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((r,n)=>(n&&r&&!r.find(o=>o.name===n.name)&&r.push(n),r),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}};Yr.ModuleFederation=ma;var on={},sn={},Qt=Object.defineProperty,_a=(e,t)=>{let r={};for(var n in e)Qt(r,n,{get:e[n],enumerable:!0});return t||Qt(r,Symbol.toStringTag,{value:"Module"}),r};sn.__exportAll=_a;(function(e){var r=sn.__exportAll({});Object.defineProperty(e,"type_exports",{enumerable:!0,get:function(){return r}})})(on);(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=M,r=$,n=b,o=Pt,s=q,i=he,a=K,c=xr,l=Xe,u=Yr,d=on;let f=D;const h=c.default;e.CurrentGlobal=n.CurrentGlobal,e.Global=n.Global,e.Module=l.Module,e.ModuleFederation=u.ModuleFederation,e.addGlobalSnapshot=n.addGlobalSnapshot,e.assert=t.assert,e.error=t.error,e.getGlobalFederationConstructor=n.getGlobalFederationConstructor,e.getGlobalSnapshot=n.getGlobalSnapshot,e.getInfoWithoutType=n.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=a.getRemoteEntry,e.getRemoteInfo=a.getRemoteInfo,e.helpers=h,e.isStaticResourcesEqual=r.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return f.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return f.loadScriptNode}}),e.matchRemoteWithNameAndExpose=i.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=n.registerGlobalPlugins,e.resetFederationGlobalInfo=n.resetFederationGlobalInfo,e.safeWrapper=r.safeWrapper,e.satisfy=o.satisfy,e.setGlobalFederationConstructor=n.setGlobalFederationConstructor,e.setGlobalFederationInstance=n.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return d.type_exports}})})(Tt);let ga=Tt;function pa(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function ya(e,t){const r=pa();return ga.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(n=>!!(r&&n.options.id===r||n.options.name===e&&!n.options.version&&!t||n.options.name===e&&t&&n.options.version===t))}ar.getGlobalFederationInstance=ya;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=ar;let r=Tt,n=Y;function o(_){const g=new((0,r.getGlobalFederationConstructor)()||r.ModuleFederation)(_);return(0,r.setGlobalFederationInstance)(g),g}let s=null;function i(_){const g=t.getGlobalFederationInstance(_.name,_.version);return g?(g.initOptions(_),s||(s=g),g):(s=o(_),s)}function a(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadRemote.apply(s,_)}function c(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShare.apply(s,_)}function l(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShareSync.apply(s,_)}function u(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.preloadRemote.apply(s,_)}function d(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerRemotes.apply(s,_)}function f(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerPlugins.apply(s,_)}function h(){return s}function m(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerShared.apply(s,_)}(0,r.setGlobalFederationConstructor)(r.ModuleFederation),Object.defineProperty(e,"Module",{enumerable:!0,get:function(){return r.Module}}),e.ModuleFederation=r.ModuleFederation,e.createInstance=o,e.getInstance=h,Object.defineProperty(e,"getRemoteEntry",{enumerable:!0,get:function(){return r.getRemoteEntry}}),Object.defineProperty(e,"getRemoteInfo",{enumerable:!0,get:function(){return r.getRemoteInfo}}),e.init=i,e.loadRemote=a,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return r.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return r.loadScriptNode}}),e.loadShare=c,e.loadShareSync=l,e.preloadRemote=u,Object.defineProperty(e,"registerGlobalPlugins",{enumerable:!0,get:function(){return r.registerGlobalPlugins}}),e.registerPlugins=f,e.registerRemotes=d,e.registerShared=m})(ir);const an="__mf_init____mf__virtual/iobroker_javascript__mf_v__runtimeInit__mf_v__.js__";let Rt=globalThis[an];if(!Rt){let e,t;const r=new Promise((n,o)=>{e=n,t=o});Rt=globalThis[an]={initPromise:r,initResolve:e,initReject:t},typeof window>"u"&&e({loadRemote:function(){return Promise.resolve(void 0)},loadShare:function(){return Promise.resolve(void 0)}})}const Ea=Rt.initResolve,er={},tr="default",rr="iobroker_javascript";let nr,or;async function Sa(){return nr??=sr(()=>import("./localSharedImportMap-CqvxvyGG.js"),__vite__mapDeps([0,1]),import.meta.url),nr}async function ba(){return or??=sr(()=>import("./virtualExposes-BPsCufin.js"),[],import.meta.url).then(e=>e.default??e),or}async function Ta(e={},t=[]){const{usedShared:r,usedRemotes:n}=await Sa(),o=ir.init({name:rr,remotes:n,shared:r,plugins:[],shareStrategy:"version-first"});var s=er[tr];if(s||(s=er[tr]={from:rr}),!(t.indexOf(s)>=0)){t.push(s),o.initShareScopeMap("default",e),Ea(o);try{await Promise.all(await o.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(i){console.error(i)}return o}}async function Ia(e){const t=await ba();if(!(e in t))throw new Error(`Module ${e} does not exist in container.`);return t[e]().then(r=>()=>r)}export{ir as d,Ia as g,Ta as i}; + ${(0,mi.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){const n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{const{remoteEntryInitOptions:o,shareScope:s,initScope:i}=_i(this.remoteInfo,this.host.shareScopeMap,r),a=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:o,initScope:i,remoteInfo:this.remoteInfo,origin:this.host});typeof(n==null?void 0:n.init)>"u"&&Ze.error(Ut.RUNTIME_002,Ut.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,hi.optionsToMFContext(this.host.options)),await n.init(a.shareScope,a.initScope,a.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...a,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,n){const{loadFactory:o=!0}=r||{loadFactory:!0},s=await this.init(e,n);this.lib=s;let i;i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}),i||(i=await s.get(t)),Ze.assert(i,`${Gt.getFMId(this.remoteInfo)} remote don't export ${t}.`);const a=Gt.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,a);return o?await c():c}wraperFactory(e,t){function r(n,o){n&&typeof n=="object"&&Object.isExtensible(n)&&!Object.getOwnPropertyDescriptor(n,Symbol.for("mf_module_id"))&&Object.defineProperty(n,Symbol.for("mf_module_id"),{value:o,enumerable:!1})}return e instanceof Promise?async()=>{const n=await e();return r(n,t),n}:()=>{const n=e();return r(n,t),n}}};Xe.Module=gi;var Yr={},me={},pi=class{constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}on(e){typeof e=="function"&&this.listeners.add(e)}once(e){const t=this;this.on(function r(...n){return t.remove(r),e.apply(null,n)})}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach(r=>{t=r(...e)}),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}};me.SyncHook=pi;var ve={};const yi=me;var Ei=class extends yi.SyncHook{emit(...e){let t;const r=Array.from(this.listeners);if(r.length>0){let n=0;const o=s=>s===!1?!1:n0){let r=0;const n=s=>(et.warn(s),this.onerror(s),e),o=s=>{if(Ii.checkReturnData(e,s)){if(e=s,r{const s=e[o];s&&this.lifecycle[o].on(s)}))}removePlugin(e){we.assert(e,"A name is required.");const t=this.registerPlugins[e];we.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(r=>{r!=="name"&&this.lifecycle[r].remove(t[r])})}};ke.PluginSystem=Mi;var xe={};const Pi=M,St=$,vi=Z;let Wt=D,Bt=Y;function Zr(e,t){const r=St.getRemoteEntryInfoFromSnapshot(t);r.url||Pi.error(Bt.RUNTIME_011,Bt.runtimeDescMap,{remoteName:e.name});let n=(0,Wt.getResourceUrl)(t,r.url);!Wt.isBrowserEnvValue&&!n.startsWith("http")&&(n=`https:${n}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=n,e.version=t.version,e.buildVersion=t.buildVersion}function Ai(){return{name:"snapshot-plugin",async afterResolve(e){const{remote:t,pkgNameOrAlias:r,expose:n,origin:o,remoteInfo:s,id:i}=e;if(!St.isRemoteInfoWithEntry(t)||!St.isPureRemoteEntry(t)){const{remoteSnapshot:a,globalSnapshot:c}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:i});Zr(s,a);const l={remote:t,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:l,remoteInfo:s,remote:t,remoteSnapshot:a,globalSnapshot:c});return u&&vi.preloadAssets(s,o,u,!1),{...e,remoteSnapshot:a}}return e}}}xe.assignRemoteInfo=Zr;xe.snapshotPlugin=Ai;var Qr={};const Ne=$,bt=b,ki=q,jt=Z,Oi=xe;let je=D;function wi(e){const t=e.split(":");return t.length===1?{name:t[0],version:void 0}:t.length===2?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function en(e,t,r,n,o={},s){const{value:i}=bt.getInfoWithoutType(e,Ne.getFMId(t)),a=s||i;if(a&&!(0,je.isManifestProvider)(a)&&(r(a,t,n),a.remotesInfo)){const c=Object.keys(a.remotesInfo);for(const l of c){if(o[l])continue;o[l]=!0;const u=wi(l),d=a.remotesInfo[l];en(e,{name:u.name,version:d.matchedVersion},r,!1,o,void 0)}}}const tt=(e,t)=>document.querySelector(`${e}[${e==="link"?"href":"src"}="${t}"]`);function Fi(e,t,r,n,o){const s=[],i=[],a=[],c=new Set,l=new Set,{options:u}=e,{preloadConfig:d}=t,{depsRemote:f}=d;if(en(n,r,(m,_,g)=>{var N;let p;if(g)p=d;else if(Array.isArray(f)){const R=f.find(v=>v.nameOrAlias===_.name||v.nameOrAlias===_.alias);if(!R)return;p=jt.defaultPreloadArgs(R)}else if(f===!0)p=d;else return;const E=(0,je.getResourceUrl)(m,Ne.getRemoteEntryInfoFromSnapshot(m).url);E&&a.push({name:_.name,moduleInfo:{name:_.name,entry:E,type:"remoteEntryType"in m?m.remoteEntryType:"global",entryGlobalName:"globalName"in m?m.globalName:_.name,shareScope:"",version:"version"in m?m.version:void 0},url:E});let I="modules"in m?m.modules:[];const O=jt.normalizePreloadExposes(p.exposes);O.length&&"modules"in m&&(I=(N=m==null?void 0:m.modules)==null?void 0:N.reduce((R,v)=>((O==null?void 0:O.indexOf(v.moduleName))!==-1&&R.push(v),R),[]));function y(R){const v=R.map(B=>(0,je.getResourceUrl)(m,B));return p.filter?v.filter(p.filter):v}if(I){const R=I.length;for(let v=0;v0){const m=(_,g)=>{const{shared:p}=ki.getRegisteredShare(e.shareScopeMap,g.sharedName,_,e.sharedHandler.hooks.lifecycle.resolveShare)||{};p&&typeof p.lib=="function"&&(g.assets.js.sync.forEach(E=>{c.add(E)}),g.assets.css.sync.forEach(E=>{l.add(E)}))};o.shared.forEach(_=>{var E;const g=(E=u.shared)==null?void 0:E[_.sharedName];if(!g)return;const p=_.version?g.find(I=>I.version===_.version):g;p&&Ne.arrayOptions(p).forEach(I=>{m(I,_)})})}const h=i.filter(m=>!c.has(m)&&!tt("script",m));return{cssAssets:s.filter(m=>!l.has(m)&&!tt("link",m)),jsAssetsWithoutEntry:h,entryAssets:a.filter(m=>!tt("script",m.url))}}const Li=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){const{origin:t,preloadOptions:r,remoteInfo:n,remote:o,globalSnapshot:s,remoteSnapshot:i}=e;return je.isBrowserEnvValue?Ne.isRemoteInfoWithEntry(o)&&Ne.isPureRemoteEntry(o)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:o.name,url:o.entry,moduleInfo:{name:n.name,entry:o.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(Oi.assignRemoteInfo(n,i),Fi(t,r,n,s,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};Qr.generatePreloadAssetsPlugin=Li;var Ke={};const rt=M,Di=$,U=b,Vt=Pe,Hi=ve,nt=Ae,Ci=ke;let ot=D,Fe=Y;function tn(e,t){const r=U.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&U.getInfoWithoutType(r.remotesInfo,e.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}var qi=class{constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new Ci.PluginSystem({beforeLoadRemoteSnapshot:new Hi.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new nt.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new nt.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new nt.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=U.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}async loadRemoteSnapshotInfo({moduleInfo:e,id:t,expose:r}){const{options:n}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:n,moduleInfo:e});let o=U.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});o||(o={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},U.addGlobalSnapshot({[this.HostInstance.options.name]:o})),o&&"remotesInfo"in o&&!U.getInfoWithoutType(o.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(o.remotesInfo={...o==null?void 0:o.remotesInfo,[e.name]:{matchedVersion:"version"in e?e.version:e.entry}});const{hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:c,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:n,moduleInfo:e,hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a});let u,d;if(c)if((0,ot.isManifestProvider)(c)){const f=ot.isBrowserEnvValue?c.remoteEntry:c.ssrRemoteEntry||c.remoteEntry||"",h=await this.getManifestJson(f,e,{}),m=U.setGlobalSnapshotInfoByModuleInfo({...e,entry:f},h);u=h,d=m}else{const{remoteSnapshot:f}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:c,from:"global"});u=f,d=l}else if(Di.isRemoteInfoWithEntry(e)){const f=await this.getManifestJson(e.entry,e,{}),h=U.setGlobalSnapshotInfoByModuleInfo(e,f),{remoteSnapshot:m}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:f,from:"global"});u=m,d=h}else rt.error(Fe.RUNTIME_007,Fe.runtimeDescMap,{remoteName:e.name,remoteVersion:e.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(l)},void 0,Vt.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:t,host:this.HostInstance,options:n,moduleInfo:e,remoteSnapshot:u}),{remoteSnapshot:u,globalSnapshot:d}}getGlobalRemoteInfo(e){return tn(e,this.HostInstance)}async getManifestJson(e,t,r){const n=async()=>{let s=this.manifestCache.get(e);if(s)return s;try{let i=await this.loaderHook.lifecycle.fetch.emit(e,{});(!i||!(i instanceof Response))&&(i=await fetch(e,{})),s=await i.json()}catch(i){s=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:i,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),s||(delete this.manifestLoading[e],rt.error(Fe.RUNTIME_003,Fe.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${i}`,Vt.optionsToMFContext(this.HostInstance.options)))}return rt.assert(s.metaData&&s.exposes&&s.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!s.metaData&&"metaData",!s.exposes&&"exposes",!s.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,s),s},o=async()=>{const s=await n(),i=(0,ot.generateSnapshotFromManifest)(s,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:s,remoteSnapshot:i,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=o().then(s=>s)),this.manifestLoading[e]}};Ke.SnapshotHandler=qi;Ke.getGlobalRemoteInfo=tn;var rn={};const st=M,Gi=oe,A=q,Xt=Pe,Ui=ve,it=_e,xt=Ae,Wi=ke;let pe=Y;var Bi=class{constructor(e){this.hooks=new Wi.PluginSystem({beforeRegisterShare:new it.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new xt.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new xt.AsyncWaterfallHook("beforeLoadShare"),loadShare:new Ui.AsyncHook,resolveShare:new it.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new it.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}registerShared(e,t){const{newShareInfos:r,allShareInfos:n}=A.formatShareConfigs(e,t);return Object.keys(r).forEach(o=>{r[o].forEach(s=>{s.scope.forEach(i=>{var a;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:o,shared:s}),(a=this.shareScopeMap[i])!=null&&a[o]||this.setShared({pkgName:o,lib:s.lib,get:s.get,loaded:s.loaded||!!s.lib,shared:s,from:t.name})})})}),{newShareInfos:r,allShareInfos:n}}async loadShare(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&await Promise.all(n.scope.map(async a=>{await Promise.all(this.initializeSharing(a,{strategy:n.strategy}))}));const{shareInfo:o}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});st.assert(o,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);const{shared:s,useTreesShaking:i}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(s){const a=A.directShare(s,i);if(a.lib)return A.addUseIn(a,r.options.name),a.lib;if(a.loading&&!a.loaded){const c=await a.loading;return a.loaded=!0,a.lib||(a.lib=c),A.addUseIn(a,r.options.name),c}else{const l=(async()=>{const u=await a.get();return A.addUseIn(a,r.options.name),a.loaded=!0,a.lib=u,u})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:l,treeShaking:i?a:void 0}),l}}else{if(t!=null&&t.customShareInfo)return!1;const a=A.shouldUseTreeShaking(o.treeShaking),c=A.directShare(o,a),u=(async()=>{const d=await c.get();c.lib=d,c.loaded=!0,A.addUseIn(c,r.options.name);const{shared:f,useTreesShaking:h}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(f){const m=A.directShare(f,h);m.lib=d,m.loaded=!0,f.from=o.from}return d})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:r.options.name,lib:null,loading:u,treeShaking:a?c:void 0}),u}}initializeSharing(e=Gi.DEFAULT_SCOPE,t){const{host:r}=this,n=t==null?void 0:t.from,o=t==null?void 0:t.strategy;let s=t==null?void 0:t.initScope;const i=[];if(n!=="build"){const{initTokens:f}=this;s||(s=[]);let h=f[e];if(h||(h=f[e]={from:this.host.name}),s.indexOf(h)>=0)return i;s.push(h)}const a=this.shareScopeMap,c=r.options.name;a[e]||(a[e]={});const l=a[e],u=(f,h)=>{var I;const{version:m,eager:_}=h;l[f]=l[f]||{};const g=l[f],p=g[m]&&A.directShare(g[m]),E=!!(p&&("eager"in p&&p.eager||"shareConfig"in p&&((I=p.shareConfig)!=null&&I.eager)));(!p||p.strategy!=="loaded-first"&&!p.loaded&&(!_!=!E?_:c>g[m].from))&&(g[m]=h)},d=async f=>{const{module:h}=await r.remoteHandler.getRemoteModuleAndOptions({id:f});let m;try{m=await h.getEntry()}catch(_){if(m=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:f,error:_,from:"runtime",lifecycle:"beforeLoadShare",origin:r}),!m)return}finally{m!=null&&m.init&&!h.initing&&(h.remoteEntryExports=m,await h.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(f=>{r.options.shared[f].forEach(h=>{h.scope.includes(e)&&u(f,h)})}),(r.options.shareStrategy==="version-first"||o==="version-first")&&r.options.remotes.forEach(f=>{f.shareScope===e&&i.push(d(f.name))}),i}loadShareSync(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&n.scope.forEach(i=>{this.initializeSharing(i,{strategy:n.strategy})});const{shared:o,useTreesShaking:s}=A.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(o){if(typeof o.lib=="function")return A.addUseIn(o,r.options.name),o.loaded||(o.loaded=!0,o.from===r.options.name&&(n.loaded=!0)),o.lib;if(typeof o.get=="function"){const i=o.get();if(!(i instanceof Promise))return A.addUseIn(o,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:i,shared:o}),i}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){const i=n.get();return i instanceof Promise&&st.error((t==null?void 0:t.from)==="build"?pe.RUNTIME_005:pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options)),n.lib=i,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}st.error(pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options))}initShareScopeMap(e,t,r={}){const{host:n}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:n.options,origin:n,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:r,lib:n,loading:o,loaded:s,get:i,treeShaking:a}){const{version:c,scope:l="default",...u}=t,d=Array.isArray(l)?l:[l],f=h=>{const m=(g,p,E)=>{E&&!g[p]&&(g[p]=E)},_=a?h.treeShaking:h;m(_,"loaded",s),m(_,"loading",o),m(_,"get",i)};d.forEach(h=>{this.shareScopeMap[h]||(this.shareScopeMap[h]={}),this.shareScopeMap[h][e]||(this.shareScopeMap[h][e]={}),this.shareScopeMap[h][e][c]||(this.shareScopeMap[h][e][c]={version:c,scope:[h],...u,lib:n});const m=this.shareScopeMap[h][e][c];f(m),r&&m.from!==r&&(m.from=r)})}_setGlobalShareScopeMap(e){const t=A.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}};rn.SharedHandler=Bi;var nn={};const Le=M,G=b,Kt=oe,ji=q,Vi=he,at=K,Xi=Pe,Yt=Z,xi=Xe,Ki=me,ie=ve,zt=_e,Yi=Ae,zi=ke,Ji=Ke;let lt=D,Jt=Y;var Zi=class{constructor(e){this.hooks=new zi.PluginSystem({beforeRegisterRemote:new zt.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new zt.SyncWaterfallHook("registerRemote"),beforeRequest:new Yi.AsyncWaterfallHook("beforeRequest"),onLoad:new ie.AsyncHook("onLoad"),handlePreloadModule:new Ki.SyncHook("handlePreloadModule"),errorLoadRemote:new ie.AsyncHook("errorLoadRemote"),beforePreloadRemote:new ie.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new ie.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new ie.AsyncHook,loadEntry:new ie.AsyncHook}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((r,n)=>(this.registerRemote(n,r,{force:!1}),r),e.remotes)}setIdToRemoteMap(e,t){const{remote:r,expose:n}=t,{name:o,alias:s}=r;if(this.idToRemoteMap[e]={name:r.name,expose:n},s&&e.startsWith(o)){const i=e.replace(o,s);this.idToRemoteMap[i]={name:r.name,expose:n};return}if(s&&e.startsWith(s)){const i=e.replace(s,o);this.idToRemoteMap[i]={name:r.name,expose:n}}}async loadRemote(e,t){const{host:r}=this;try{const{loadFactory:n=!0}=t||{loadFactory:!0},{module:o,moduleOptions:s,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:a,remote:c,expose:l,id:u,remoteSnapshot:d}=i,f=await o.get(u,l,t,d),h=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:a,expose:l,exposeModule:n?f:void 0,exposeModuleFactory:n?void 0:f,remote:c,options:s,moduleInstance:o,origin:r});return this.setIdToRemoteMap(e,i),typeof h=="function"?h:f}catch(n){const{from:o="runtime"}=t||{from:"runtime"},s=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:o,lifecycle:"onLoad",origin:r});if(!s)throw n;return s}}async preloadRemote(e){const{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});const r=Yt.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async n=>{const{remote:o}=n,s=at.getRemoteInfo(o),{globalSnapshot:i,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:o}),c=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:n,remote:o,remoteInfo:s,globalSnapshot:i,remoteSnapshot:a});c&&Yt.preloadAssets(s,t,c)}))}registerRemotes(e,t){const{host:r}=this;e.forEach(n=>{this.registerRemote(n,r.options.remotes,{force:t==null?void 0:t.force})})}async getRemoteModuleAndOptions(e){const{host:t}=this,{id:r}=e;let n;try{n=await this.hooks.lifecycle.beforeRequest.emit({id:r,options:t.options,origin:t})}catch(h){if(n=await this.hooks.lifecycle.errorLoadRemote.emit({id:r,options:t.options,origin:t,from:"runtime",error:h,lifecycle:"beforeRequest"}),!n)throw h}const{id:o}=n,s=Vi.matchRemoteWithNameAndExpose(t.options.remotes,o);s||Le.error(Jt.RUNTIME_004,Jt.runtimeDescMap,{hostName:t.options.name,requestId:o},void 0,Xi.optionsToMFContext(t.options));const{remote:i}=s,a=at.getRemoteInfo(i),c=await t.sharedHandler.hooks.lifecycle.afterResolve.emit({id:o,...s,options:t.options,origin:t,remoteInfo:a}),{remote:l,expose:u}=c;Le.assert(l&&u,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${o}.`);let d=t.moduleCache.get(l.name);const f={host:t,remoteInfo:a};return d||(d=new xi.Module(f),t.moduleCache.set(l.name,d)),{module:d,moduleOptions:f,remoteMatchInfo:c}}registerRemote(e,t,r){const{host:n}=this,o=()=>{if(e.alias){const i=t.find(a=>{var c;return e.alias&&(a.name.startsWith(e.alias)||((c=a.alias)==null?void 0:c.startsWith(e.alias)))});Le.assert(!i,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${i&&i.name} name or alias`)}"entry"in e&<.isBrowserEnvValue&&typeof window<"u"&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=Kt.DEFAULT_SCOPE),e.type||(e.type=Kt.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});const s=t.find(i=>i.name===e.name);if(!s)o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n});else{const i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];r!=null&&r.force&&(this.removeRemote(s),o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,lt.warn)(i.join(" ")))}}removeRemote(e){var t;try{const{host:r}=this,{name:n}=e,o=r.options.remotes.findIndex(i=>i.name===n);o!==-1&&r.options.remotes.splice(o,1);const s=r.moduleCache.get(e.name);if(s){const i=s.remoteInfo,a=i.entryGlobalName;G.CurrentGlobal[a]&&((t=Object.getOwnPropertyDescriptor(G.CurrentGlobal,a))!=null&&t.configurable?delete G.CurrentGlobal[a]:G.CurrentGlobal[a]=void 0);const c=at.getRemoteEntryUniqueKey(s.remoteInfo);G.globalLoading[c]&&delete G.globalLoading[c],r.snapshotHandler.manifestCache.delete(i.entry);let l=i.buildVersion?(0,lt.composeKeyWithSeparator)(i.name,i.buildVersion):i.name;const u=G.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(f=>i.buildVersion?f.options.id===l:f.name===l);if(u!==-1){const f=G.CurrentGlobal.__FEDERATION__.__INSTANCES__[u];l=f.options.id||l;const h=ji.getGlobalShareScope();let m=!0;const _=[];Object.keys(h).forEach(g=>{const p=h[g];p&&Object.keys(p).forEach(E=>{const I=p[E];I&&Object.keys(I).forEach(O=>{const y=I[O];y&&Object.keys(y).forEach(N=>{const R=y[N];R&&typeof R=="object"&&R.from===i.name&&(R.loaded||R.loading?(R.useIn=R.useIn.filter(v=>v!==i.name),R.useIn.length?m=!1:_.push([g,E,O,N])):_.push([g,E,O,N]))})})})}),m&&(f.shareScopeMap={},delete h[l]),_.forEach(([g,p,E,I])=>{var O,y,N;(N=(y=(O=h[g])==null?void 0:O[p])==null?void 0:y[E])==null||delete N[I]}),G.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(u,1)}const{hostGlobalSnapshot:d}=Ji.getGlobalRemoteInfo(e,r);if(d){const f=d&&"remotesInfo"in d&&d.remotesInfo&&G.getInfoWithoutType(d.remotesInfo,e.name).key;f&&(delete d.remotesInfo[f],G.Global.__FEDERATION__.__MANIFEST_LOADING__[f]&&delete G.Global.__FEDERATION__.__MANIFEST_LOADING__[f])}r.moduleCache.delete(e.name)}}catch(r){Le.logger.error(`removeRemote failed: ${r instanceof Error?r.message:String(r)}`)}}};nn.RemoteHandler=Zi;const Qi=M,ea=oe,ta=q,ra=Vr,na=Xr,oa=K,sa=Xe,z=me,ct=ve,ia=_e,Zt=Ae,ut=ke,aa=xe,la=Qr,ca=Ke,ua=rn,fa=nn;let da=D,ft=Y;const ha=typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN=="boolean"?!FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN:!0;var ma=class{constructor(e){this.hooks=new ut.PluginSystem({beforeInit:new ia.SyncWaterfallHook("beforeInit"),init:new z.SyncHook,beforeInitContainer:new Zt.AsyncWaterfallHook("beforeInitContainer"),initContainer:new Zt.AsyncWaterfallHook("initContainer")}),this.version="2.2.2",this.moduleCache=new Map,this.loaderHook=new ut.PluginSystem({getModuleInfo:new z.SyncHook,createScript:new z.SyncHook,createLink:new z.SyncHook,fetch:new ct.AsyncHook,loadEntryError:new ct.AsyncHook,getModuleFactory:new ct.AsyncHook}),this.bridgeHook=new ut.PluginSystem({beforeBridgeRender:new z.SyncHook,afterBridgeRender:new z.SyncHook,beforeBridgeDestroy:new z.SyncHook,afterBridgeDestroy:new z.SyncHook});const t=ha?[aa.snapshotPlugin(),la.generatePreloadAssetsPlugin()]:[],r={id:ra.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:da.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new ca.SnapshotHandler(this),this.sharedHandler=new ua.SharedHandler(this),this.remoteHandler=new fa.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}initOptions(e){e.name&&e.name!==this.options.name&&Qi.error((0,ft.getShortErrorMsg)(ft.RUNTIME_010,ft.runtimeDescMap)),this.registerPlugins(e.plugins);const t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=ea.DEFAULT_SCOPE,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){const n=oa.getRemoteInfo({name:e,entry:t}),o=new sa.Module({host:this,remoteInfo:n});return o.remoteEntryExports=r,this.moduleCache.set(e,o),o}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,r={}){this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){const{allShareInfos:r}=ta.formatShareConfigs(e,t),{userOptions:n,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),s=this.remoteHandler.formatAndRegisterRemote(o,n),{allShareInfos:i}=this.sharedHandler.registerShared(o,n),a=[...o.plugins];n.plugins&&n.plugins.forEach(l=>{a.includes(l)||a.push(l)});const c={...e,...t,plugins:a,remotes:s,shared:i};return this.hooks.lifecycle.init.emit({origin:this,options:c}),c}registerPlugins(e){const t=na.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((r,n)=>(n&&r&&!r.find(o=>o.name===n.name)&&r.push(n),r),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}};Yr.ModuleFederation=ma;var on={},sn={},Qt=Object.defineProperty,_a=(e,t)=>{let r={};for(var n in e)Qt(r,n,{get:e[n],enumerable:!0});return t||Qt(r,Symbol.toStringTag,{value:"Module"}),r};sn.__exportAll=_a;(function(e){var r=sn.__exportAll({});Object.defineProperty(e,"type_exports",{enumerable:!0,get:function(){return r}})})(on);(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=M,r=$,n=b,o=Pt,s=q,i=he,a=K,c=xr,l=Xe,u=Yr,d=on;let f=D;const h=c.default;e.CurrentGlobal=n.CurrentGlobal,e.Global=n.Global,e.Module=l.Module,e.ModuleFederation=u.ModuleFederation,e.addGlobalSnapshot=n.addGlobalSnapshot,e.assert=t.assert,e.error=t.error,e.getGlobalFederationConstructor=n.getGlobalFederationConstructor,e.getGlobalSnapshot=n.getGlobalSnapshot,e.getInfoWithoutType=n.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=a.getRemoteEntry,e.getRemoteInfo=a.getRemoteInfo,e.helpers=h,e.isStaticResourcesEqual=r.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return f.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return f.loadScriptNode}}),e.matchRemoteWithNameAndExpose=i.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=n.registerGlobalPlugins,e.resetFederationGlobalInfo=n.resetFederationGlobalInfo,e.safeWrapper=r.safeWrapper,e.satisfy=o.satisfy,e.setGlobalFederationConstructor=n.setGlobalFederationConstructor,e.setGlobalFederationInstance=n.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return d.type_exports}})})(Tt);let ga=Tt;function pa(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function ya(e,t){const r=pa();return ga.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(n=>!!(r&&n.options.id===r||n.options.name===e&&!n.options.version&&!t||n.options.name===e&&t&&n.options.version===t))}ar.getGlobalFederationInstance=ya;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=ar;let r=Tt,n=Y;function o(_){const g=new((0,r.getGlobalFederationConstructor)()||r.ModuleFederation)(_);return(0,r.setGlobalFederationInstance)(g),g}let s=null;function i(_){const g=t.getGlobalFederationInstance(_.name,_.version);return g?(g.initOptions(_),s||(s=g),g):(s=o(_),s)}function a(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadRemote.apply(s,_)}function c(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShare.apply(s,_)}function l(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShareSync.apply(s,_)}function u(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.preloadRemote.apply(s,_)}function d(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerRemotes.apply(s,_)}function f(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerPlugins.apply(s,_)}function h(){return s}function m(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerShared.apply(s,_)}(0,r.setGlobalFederationConstructor)(r.ModuleFederation),Object.defineProperty(e,"Module",{enumerable:!0,get:function(){return r.Module}}),e.ModuleFederation=r.ModuleFederation,e.createInstance=o,e.getInstance=h,Object.defineProperty(e,"getRemoteEntry",{enumerable:!0,get:function(){return r.getRemoteEntry}}),Object.defineProperty(e,"getRemoteInfo",{enumerable:!0,get:function(){return r.getRemoteInfo}}),e.init=i,e.loadRemote=a,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return r.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return r.loadScriptNode}}),e.loadShare=c,e.loadShareSync=l,e.preloadRemote=u,Object.defineProperty(e,"registerGlobalPlugins",{enumerable:!0,get:function(){return r.registerGlobalPlugins}}),e.registerPlugins=f,e.registerRemotes=d,e.registerShared=m})(ir);const an="__mf_init____mf__virtual/iobroker_javascript__mf_v__runtimeInit__mf_v__.js__";let Rt=globalThis[an];if(!Rt){let e,t;const r=new Promise((n,o)=>{e=n,t=o});Rt=globalThis[an]={initPromise:r,initResolve:e,initReject:t},typeof window>"u"&&e({loadRemote:function(){return Promise.resolve(void 0)},loadShare:function(){return Promise.resolve(void 0)}})}const Ea=Rt.initResolve,er={},tr="default",rr="iobroker_javascript";let nr,or;async function Sa(){return nr??=sr(()=>import("./localSharedImportMap-BCwqnmn4.js"),__vite__mapDeps([0,1]),import.meta.url),nr}async function ba(){return or??=sr(()=>import("./virtualExposes-BPsCufin.js"),[],import.meta.url).then(e=>e.default??e),or}async function Ta(e={},t=[]){const{usedShared:r,usedRemotes:n}=await Sa(),o=ir.init({name:rr,remotes:n,shared:r,plugins:[],shareStrategy:"version-first"});var s=er[tr];if(s||(s=er[tr]={from:rr}),!(t.indexOf(s)>=0)){t.push(s),o.initShareScopeMap("default",e),Ea(o);try{await Promise.all(await o.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(i){console.error(i)}return o}}async function Ia(e){const t=await ba();if(!(e in t))throw new Error(`Module ${e} does not exist in container.`);return t[e]().then(r=>()=>r)}export{ir as d,Ia as g,Ta as i}; diff --git a/admin/mf-manifest.json b/admin/mf-manifest.json index 47f00346..a1c79381 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:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Dsh1HfIY.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BkyLyaYT.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-dN73sbyQ.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-CVZSzCXy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"8.1.8","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-hwplVCgv.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:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Dsh1HfIY.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BkyLyaYT.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-dN73sbyQ.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-CVZSzCXy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"8.1.8","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-CexrwGGC.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]} \ No newline at end of file diff --git a/admin/remoteEntry.js b/admin/remoteEntry.js index d58e9ae0..0cfa11cb 100644 --- a/admin/remoteEntry.js +++ b/admin/remoteEntry.js @@ -1 +1 @@ -import"./assets/preload-helper-BDBacUwf.js";import{g as r,i as a}from"./assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-BJ03G6Pu.js";export{r as get,a as init}; +import"./assets/preload-helper-BDBacUwf.js";import{g as r,i as a}from"./assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js";export{r as get,a as init}; diff --git a/admin/tab.html b/admin/tab.html index cfc8f325..e3567693 100644 --- a/admin/tab.html +++ b/admin/tab.html @@ -115,9 +115,9 @@ type="text/javascript" src="google-blockly/own/blocks_object.js" > - + - + diff --git a/src-editor/src/AiChat/AiChatInput.tsx b/src-editor/src/AiChat/AiChatInput.tsx index c149cddf..0d844cc5 100644 --- a/src-editor/src/AiChat/AiChatInput.tsx +++ b/src-editor/src/AiChat/AiChatInput.tsx @@ -443,19 +443,19 @@ const AiChatInput: React.FC = ({ 🤖 {I18n.t('Agent')} —{' '} {I18n.t( - 'AI can call tools to inspect your system: read scripts, look up datapoints, browse the object tree. Use for "which scripts use this state?", "analyze my light script".', + 'For larger models with tool support. The AI can read, create, and edit scripts, look up datapoints, and browse the object tree — useful for "create a script that...", "which scripts use this state?" or "analyze my light script".', )} 💻 {I18n.t('Code')} —{' '} {I18n.t( - 'Two-step script generator (plan then code). Use for "create a script that...", "write a Blockly rule for...". Output goes into the editor for smart-apply.', + 'For smaller models without tool support. Two-step script generator (plan then code) — useful for "create a script that..." or "write a Blockly rule for...". Output goes into the editor for smart-apply.', )} } enterDelay={400} - placement="top" + placement="left" >