From 3750add911ea311c9cdae496d7740b819aa9143e Mon Sep 17 00:00:00 2001 From: Dominic Griesel Date: Tue, 30 Aug 2022 11:31:35 +0200 Subject: [PATCH] chore: release v3.0.2 * Fixed some crashes and communication issues --- CHANGELOG_OLD.md | 6 + README.md | 8 +- admin/build/tab.js | 2 +- admin/build/tab.js.map | 4 +- io-package.json | 532 ++++++++++++++++++++--------------------- package-lock.json | 4 +- package.json | 2 +- 7 files changed, 279 insertions(+), 279 deletions(-) diff --git a/CHANGELOG_OLD.md b/CHANGELOG_OLD.md index 385a1279..cb86beda 100644 --- a/CHANGELOG_OLD.md +++ b/CHANGELOG_OLD.md @@ -1,4 +1,10 @@ # Older changes +## 2.4.5 (2022-02-20) +* Update `zwave-js` to `8.11.6` +* After healing, battery-powered nodes are sent back to sleep again +* Added a workaround for thermostats that don't advertise all their supported thermostat modes. When such a thermostat enters such an "unsupported" mode, the mode is now dynamically added to the list of supported modes. +* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details + ## 2.4.3 (2022-01-18) * Updated translations * Updated `zwave-js` from `8.9.1` to `8.11.2`. Check out the [releases](https://github.com/zwave-js/node-zwave-js/releases) for a detailed overview over the new and changed configuration files. diff --git a/README.md b/README.md index 29ccdb15..20ee506e 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Easy usage in ioBroker was kept in mind during the whole development. For exampl Placeholder for next versions: ### __WORK IN PROGRESS__ --> -### __WORK IN PROGRESS__ +### 3.0.2 (2022-08-30) * Fixed some crashes and communication issues ### 3.0.1 (2022-08-27) @@ -81,12 +81,6 @@ Updated `zwave-js` to `9.0.1`. This includes many changes, including the followi * Support for legacy devices which only support the obsolete `Multi Channel CC V1` * New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details -### 2.4.5 (2022-02-20) -* Update `zwave-js` to `8.11.6` -* After healing, battery-powered nodes are sent back to sleep again -* Added a workaround for thermostats that don't advertise all their supported thermostat modes. When such a thermostat enters such an "unsupported" mode, the mode is now dynamically added to the list of supported modes. -* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details - ## License MIT License diff --git a/admin/build/tab.js b/admin/build/tab.js index 2dd8a88a..3f08f52d 100644 --- a/admin/build/tab.js +++ b/admin/build/tab.js @@ -1,4 +1,4 @@ -import{a as xs,b as Rs}from"./chunk-X7ZLESBS.js";import{a as kg,b as Sg,c as Kn,d as Es}from"./chunk-2SCYCYJ3.js";import{$ as z,B as j,C as ws,Ca as Un,D as Rr,Da as qt,E as rg,Ea as Lt,F as Wr,Fa as L,G as ng,H as Fi,Ha as Fs,I as Zt,Ia as Ee,J as fe,Ja as qe,Ka as ug,La as dg,Ma as fg,Na as pg,O as _s,Oa as gg,P as Cs,Pa as mg,Q as Ns,Qa as hg,R as Ps,Ra as yg,S as Os,Sa as vg,T as Is,Ta as bg,U as Ms,V as Yr,W as Mt,X as Ei,Y as er,Z as Dt,_ as Tt,a as D,aa as _r,b as p,ba as At,c as q,ca as ve,d as Jp,da as Ds,e as ue,ea as Ts,f as de,fa as qi,g as Ve,ga as Li,h as Zp,ha as zi,i as eg,ia as Hi,j as vt,ja as og,k as ks,ka as ig,l as Di,la as ag,m as bt,ma as Jr,n as tg,na as sg,oa as kt,p as Jt,pa as cg,q as Ti,qa as lg,r as Ai,ra as zn,sa as Hn,t as xr,ta as Ft,u as Ot,ua as Ge,v as Ss,va as E,w as It,wa as Et,x as Bs,xa as As,y as Ln,ya as ji,z as Xe,za as jn}from"./chunk-VPC5VPYL.js";var Zr=D($n=>{"use strict";var wg=ue(),xg=de();Object.defineProperty($n,"__esModule",{value:!0});$n.default=void 0;var Rg=xg(q()),_g=wg(fe()),Cg=(0,_g.default)(Rg.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever");$n.default=Cg});var Xn=D(Vn=>{"use strict";var Ng=ue(),Pg=de();Object.defineProperty(Vn,"__esModule",{value:!0});Vn.default=void 0;var Og=Pg(q()),Ig=Ng(fe()),Mg=(0,Ig.default)(Og.createElement("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"}),"Restore");Vn.default=Mg});var Vs=D(Yn=>{"use strict";var Ag=ue(),Fg=de();Object.defineProperty(Yn,"__esModule",{value:!0});Yn.default=void 0;var Eg=Fg(q()),qg=Ag(fe()),Lg=(0,qg.default)(Eg.createElement("path",{d:"M17 1H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 18H7V5h10v14zM12 6.72c-1.96 0-3.5 1.52-3.5 3.47h1.75c0-.93.82-1.75 1.75-1.75s1.75.82 1.75 1.75c0 1.75-2.63 1.57-2.63 4.45h1.76c0-1.96 2.62-2.19 2.62-4.45 0-1.96-1.54-3.47-3.5-3.47zm-.88 8.8h1.76v1.76h-1.76z"}),"DeviceUnknown");Yn.default=Lg});var Ki=D(Jn=>{"use strict";var zg=ue(),Hg=de();Object.defineProperty(Jn,"__esModule",{value:!0});Jn.default=void 0;var jg=Hg(q()),Ug=zg(fe()),Kg=(0,Ug.default)(jg.createElement("path",{d:"M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z"}),"PowerSettingsNew");Jn.default=Kg});var Xs=D(Zn=>{"use strict";var $g=ue(),Vg=de();Object.defineProperty(Zn,"__esModule",{value:!0});Zn.default=void 0;var Xg=Vg(q()),Gg=$g(fe()),Qg=(0,Gg.default)(Xg.createElement("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.7l2-2zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53.96-.97zM2 3.05L5.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.79 2 3.05zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0z"}),"WifiOff");Zn.default=Qg});var sc=D(ro=>{"use strict";var Zg=ue(),em=de();Object.defineProperty(ro,"__esModule",{value:!0});ro.default=void 0;var tm=em(q()),rm=Zg(fe()),nm=(0,rm.default)(tm.createElement("path",{d:"M15.9 5c-.17 0-.32.09-.41.23l-.07.15-5.18 11.65c-.16.29-.26.61-.26.96 0 1.11.9 2.01 2.01 2.01.96 0 1.77-.68 1.96-1.59l.01-.03L16.4 5.5c0-.28-.22-.5-.5-.5zM1 9l2 2c2.88-2.88 6.79-4.08 10.53-3.62l1.19-2.68C9.89 3.84 4.74 5.27 1 9zm20 2l2-2c-1.64-1.64-3.55-2.82-5.59-3.57l-.53 2.82c1.5.62 2.9 1.53 4.12 2.75zm-4 4l2-2c-.8-.8-1.7-1.42-2.66-1.89l-.55 2.92c.42.27.83.59 1.21.97zM5 13l2 2c1.13-1.13 2.56-1.79 4.03-2l1.28-2.88c-2.63-.08-5.3.87-7.31 2.88z"}),"NetworkCheck");ro.default=nm});var cc=D(no=>{"use strict";var om=ue(),im=de();Object.defineProperty(no,"__esModule",{value:!0});no.default=void 0;var am=im(q()),sm=om(fe()),cm=(0,sm.default)(am.createElement("path",{d:"M19 13H5v-2h14v2z"}),"Remove");no.default=cm});var gc=D(io=>{"use strict";var um=ue(),dm=de();Object.defineProperty(io,"__esModule",{value:!0});io.default=void 0;var fm=dm(q()),pm=um(fe()),gm=(0,pm.default)(fm.createElement("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");io.default=gm});var mc=D(ao=>{"use strict";var mm=ue(),hm=de();Object.defineProperty(ao,"__esModule",{value:!0});ao.default=void 0;var ym=hm(q()),vm=mm(fe()),bm=(0,vm.default)(ym.createElement("path",{d:"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"}),"KeyboardArrowDown");ao.default=bm});var hc=D(so=>{"use strict";var km=ue(),Sm=de();Object.defineProperty(so,"__esModule",{value:!0});so.default=void 0;var Bm=Sm(q()),wm=km(fe()),xm=(0,wm.default)(Bm.createElement("path",{d:"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"}),"KeyboardArrowUp");so.default=xm});var yc=D(co=>{"use strict";var Rm=ue(),_m=de();Object.defineProperty(co,"__esModule",{value:!0});co.default=void 0;var Cm=_m(q()),Nm=Rm(fe()),Pm=(0,Nm.default)(Cm.createElement("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z"}),"Language");co.default=Pm});var Xi=D(lo=>{"use strict";var Om=ue(),Im=de();Object.defineProperty(lo,"__esModule",{value:!0});lo.default=void 0;var Mm=Im(q()),Dm=Om(fe()),Tm=(0,Dm.default)(Mm.createElement("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-2V8l-6-6zm-2 16c-2.05 0-3.81-1.24-4.58-3h1.71c.63.9 1.68 1.5 2.87 1.5 1.93 0 3.5-1.57 3.5-3.5S13.93 9.5 12 9.5c-1.35 0-2.52.78-3.1 1.9l1.6 1.6h-4V9l1.3 1.3C8.69 8.92 10.23 8 12 8c2.76 0 5 2.24 5 5s-2.24 5-5 5z"}),"RestorePage");lo.default=Tm});var Nc=D(fo=>{"use strict";var Em=ue(),qm=de();Object.defineProperty(fo,"__esModule",{value:!0});fo.default=void 0;var Lm=qm(q()),zm=Em(fe()),Hm=(0,zm.default)(Lm.createElement("path",{d:"M21 21.78L4.22 5 3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12c.23 0 .45-.05.66-.12L19.78 23 21 21.78zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H9.66L20 18.34V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.56 0-4.64 1.93-4.94 4.4L8.9 7.24V6z"}),"NoEncryption");fo.default=Hm});var Kc=D(po=>{"use strict";var Km=ue(),$m=de();Object.defineProperty(po,"__esModule",{value:!0});po.default=void 0;var Vm=$m(q()),Xm=Km(fe()),Gm=(0,Xm.default)(Vm.createElement("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"}),"Autorenew");po.default=Gm});var $c=D(go=>{"use strict";var Qm=ue(),Wm=de();Object.defineProperty(go,"__esModule",{value:!0});go.default=void 0;var Ym=Wm(q()),Jm=Qm(fe()),Zm=(0,Jm.default)(Ym.createElement("path",{d:"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"}),"Done");go.default=Zm});var Vc=D(mo=>{"use strict";var e1=ue(),t1=de();Object.defineProperty(mo,"__esModule",{value:!0});mo.default=void 0;var r1=t1(q()),n1=e1(fe()),o1=(0,n1.default)(r1.createElement("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline");mo.default=o1});var Xc=D(ho=>{"use strict";var i1=ue(),a1=de();Object.defineProperty(ho,"__esModule",{value:!0});ho.default=void 0;var s1=a1(q()),c1=i1(fe()),l1=(0,c1.default)(s1.createElement("path",{d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"}),"Redo");ho.default=l1});var Zc=D(yo=>{"use strict";var d1=ue(),f1=de();Object.defineProperty(yo,"__esModule",{value:!0});yo.default=void 0;var p1=f1(q()),g1=d1(fe()),m1=(0,g1.default)(p1.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline");yo.default=m1});var el=D(vo=>{"use strict";var h1=ue(),y1=de();Object.defineProperty(vo,"__esModule",{value:!0});vo.default=void 0;var v1=y1(q()),b1=h1(fe()),k1=(0,b1.default)(v1.createElement("path",{d:"M15 9H9v6h6V9zm-2 4h-2v-2h2v2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2zm-4 6H7V7h10v10z"}),"Memory");vo.default=k1});var tl=D(bo=>{"use strict";var S1=ue(),B1=de();Object.defineProperty(bo,"__esModule",{value:!0});bo.default=void 0;var w1=B1(q()),x1=S1(fe()),R1=(0,x1.default)(w1.createElement("path",{d:"M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z"}),"SwapHoriz");bo.default=R1});var Al=D(Bo=>{"use strict";var M1=ue(),D1=de();Object.defineProperty(Bo,"__esModule",{value:!0});Bo.default=void 0;var So=D1(q()),T1=M1(fe()),A1=(0,T1.default)(So.createElement(So.Fragment,null,So.createElement("circle",{cx:"12",cy:"12",r:"3.2"}),So.createElement("path",{d:"M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"})),"PhotoCamera");Bo.default=A1});var Fl=D(wo=>{"use strict";var F1=ue(),E1=de();Object.defineProperty(wo,"__esModule",{value:!0});wo.default=void 0;var q1=E1(q()),L1=F1(fe()),z1=(0,L1.default)(q1.createElement("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-11l-4 4z"}),"Videocam");wo.default=z1});var Od=D(Yo=>{"use strict";var s2=ue(),c2=de();Object.defineProperty(Yo,"__esModule",{value:!0});Yo.default=void 0;var l2=c2(q()),u2=s2(fe()),d2=(0,u2.default)(l2.createElement("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox");Yo.default=d2});var Id=D(Jo=>{"use strict";var f2=ue(),p2=de();Object.defineProperty(Jo,"__esModule",{value:!0});Jo.default=void 0;var g2=p2(q()),m2=f2(fe()),h2=(0,m2.default)(g2.createElement("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank");Jo.default=h2});var Qd=D(ri=>{"use strict";var B2=ue(),w2=de();Object.defineProperty(ri,"__esModule",{value:!0});ri.default=void 0;var x2=w2(q()),R2=B2(fe()),_2=(0,R2.default)(x2.createElement("path",{d:"M3 4V1h2v3h3v2H5v3H3V6H0V4h3zm3 6V7h3V4h7l1.83 2H21c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V10h3zm7 9c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-3.2-5c0 1.77 1.43 3.2 3.2 3.2s3.2-1.43 3.2-3.2-1.43-3.2-3.2-3.2-3.2 1.43-3.2 3.2z"}),"AddAPhoto");ri.default=_2});var Yd=D(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0})});var Zd=D(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0})});var tf=D(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0})});var rf=D(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.getErrorMessage=void 0;function C2(e,t){return e instanceof Error?t&&e.stack?e.stack:e.message:String(e)}ni.getErrorMessage=C2});var nf=D(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.staticExtends=gt.AllOf=gt.applyMixin=gt.Mixin=void 0;function N2(e){return function(t){for(let r of e)Ma(t,r)}}gt.Mixin=N2;function Ma(e,t,r=!1){var o;let n=[t];for(;;){let i=n[0],a=Object.getPrototypeOf(i);if(a!=null&&a.prototype)n.unshift(a);else break}for(let i of n)for(let a of Object.getOwnPropertyNames(i.prototype))(r||a!=="constructor")&&Object.defineProperty(e.prototype,a,(o=Object.getOwnPropertyDescriptor(i.prototype,a))!=null?o:Object.create(null))}gt.applyMixin=Ma;function P2(...e){let[t,...r]=e,n=class extends t{};for(let o of r)Ma(n,o);return n}gt.AllOf=P2;function O2(e,t){for(;e;){if(e===t)return!0;e=Object.getPrototypeOf(e)}return!1}gt.staticExtends=O2});var af=D(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.ObjectKeyMap=void 0;var of=Ts(),Da=class{constructor(t,r){if(this._map=new Map,t!=null&&t.length)for(let[n,o]of t)this.set(n,o);this.defaultKeyProps=r}has(t){return this._map.has(this.keyToString(t))}get(t){return this._map.get(this.keyToString(t))}set(t,r){this._map.set(this.keyToString(t),r)}delete(t){return this._map.delete(this.keyToString(t))}clear(){this._map.clear()}get size(){return this._map.size}forEach(t){this._map.forEach((r,n)=>{t(r,JSON.parse(n),this)})}entries(){let t=this._map;return function*(){let r=t.entries(),n=r.next();for(;!n.done;)yield[JSON.parse(n.value[0]),n.value[1]],n=r.next()}()}[Symbol.iterator](){return this.entries()}keys(){let t=this._map;return function*(){let r=t.entries(),n=r.next();for(;!n.done;)yield JSON.parse(n.value[0]),n=r.next()}()}values(){return this._map.values()}keyToString(t){let r={...t};if(this.defaultKeyProps)for(let[o,i]of Object.entries(this.defaultKeyProps))o in r||(r[o]=i);let n=(0,of.composeObject)((0,of.entries)(r).filter(([,o])=>o!=null).sort(([o],[i])=>o>i?1:o{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.compareStrings=Be.isPrintableASCIIWithNewlines=Be.isPrintableASCII=Be.buffer2hex=Be.stringify=Be.formatId=Be.num2hex=Be.cpp2js=void 0;var I2=Et();function M2(e){let t=e.indexOf("\0");return t===-1?e:e.substr(0,t)}Be.cpp2js=M2;function D2(e,t=!1){if(e==null)return"undefined";let r=e.toString(16);return t&&(r=r.toUpperCase()),r.length%2!==0&&(r="0"+r),"0x"+r}Be.num2hex=D2;function T2(e){return e=typeof e=="number"?e.toString(16):e,"0x"+(0,I2.padStart)(e,4,"0").toLowerCase()}Be.formatId=T2;function A2(e,t=4){return JSON.stringify(e,null,t)}Be.stringify=A2;function F2(e,t=!1){if(e.length===0)return"(empty)";let r=e.toString("hex");return t&&(r=r.toUpperCase()),"0x"+r}Be.buffer2hex=F2;function sf(e){return/^[\u0020-\u007e]*$/.test(e)}Be.isPrintableASCII=sf;function E2(e){return e=e.replace(/^[\r\n]*/g,"").replace(/[\r\n]*/g,""),sf(e)}Be.isPrintableASCIIWithNewlines=E2;function q2(e,t){return e>t?1:t>e?-1:0}Be.compareStrings=q2});var cf=D(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.createThrowingMap=void 0;function L2(e){let t=new Map;return t.getOrThrow=function(r){if(!this.has(r))if(typeof e=="function")e(r);else throw new Error(`Tried to access non-existent key ${String(r)}`);return this.get(r)}.bind(t),t}ii.createThrowingMap=L2});var lf=D(ai=>{"use strict";Object.defineProperty(ai,"__esModule",{value:!0});ai.createDeferredPromise=void 0;function z2(){let e,t,r=new Promise((n,o)=>{e=n,t=o});return r.resolve=e,r.reject=t,r}ai.createDeferredPromise=z2});var uf=D(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.TimedExpectation=void 0;var H2=lf(),Sn=class{constructor(t,r,n="Expectation was not fulfilled within the timeout"){this.predicate=r,this.timeoutErrorMessage=n,this._done=!1,this.promise=(0,H2.createDeferredPromise)(),this.timeout=setTimeout(()=>this.reject(),t);let o={message:""};Error.captureStackTrace(o,Sn),this.stack=o.stack.replace(/^Error:?\s*\n/,"")}resolve(t){this._done||(this.timeout&&clearTimeout(this.timeout),this.promise.resolve(t))}reject(){if(this._done)return;this.timeout&&clearTimeout(this.timeout);let t=new Error(this.timeoutErrorMessage);t.stack=this.stack,this.promise.reject(t)}then(t,r){return this.promise.then(t,r)}};si.TimedExpectation=Sn});var ff=D(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0})});var gf=D(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.sum=re.discreteLinearSearch=re.discreteBinarySearch=re.padVersion=re.cloneDeep=re.mergeDeep=re.throttle=re.skipBytes=re.getEnumMemberName=re.flatMap=re.pickDeep=re.pick=re.keysOf=void 0;var ci=Un(),j2=Ta();function U2(e){return Object.keys(e)}re.keysOf=U2;function K2(e,t){let r={};for(let n of t)n in e&&(r[n]=e[n]);return r}re.pick=K2;function $2(e,t){function r(n,o){if(!o.length)return n;if(!(0,ci.isObject)(n)&&!(0,ci.isArray)(n))return;let i=o.shift();return r(n[i],o)}return r(e,t.split("."))}re.pickDeep=$2;function V2(e,t){return e.map(t).reduce((n,o)=>[...n,...o],[])}re.flatMap=V2;function X2(e,t){return e[t]||`unknown (${(0,j2.num2hex)(t)})`}re.getEnumMemberName=X2;function G2(e,t){return Buffer.from(e.slice(t))}re.skipBytes=G2;function Q2(e,t,r=!1){let n=0,o;return(...i)=>{let a=Date.now();if(a>=n+t)n=a,e(...i);else if(r){o&&clearTimeout(o);let s=n+t-a;o=setTimeout(()=>{n=a,e(...i)},s)}}}re.throttle=Q2;function pf(e,t,r){e=e||{};for(let[n,o]of Object.entries(t))n in e?o===void 0?r&&delete e[n]:typeof o=="object"?e[n]=pf(e[n],o,r):(r||typeof e[n]=="undefined")&&(e[n]=o):o!==void 0&&(e[n]=o);return e}re.mergeDeep=pf;function Aa(e){if((0,ci.isArray)(e))return e.map(t=>Aa(t));if((0,ci.isObject)(e)){let t={};for(let[r,n]of Object.entries(e))t[r]=Aa(n);return t}else return e}re.cloneDeep=Aa;function W2(e){return e.split(".").length===3?e:e+".0"}re.padVersion=W2;async function Y2(e,t,r){let n=e,o=t;for(;nt+r,0)}re.sum=Z2});var mf=D(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.createWrappingCounter=void 0;function ey(e){let t=()=>(t.value=t.value+1&e,t.value===0&&(t.value=1),t.value);return t.value=0,t}li.createWrappingCounter=ey});var hr=D(Pe=>{"use strict";var ty=Pe&&Pe.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Qt=Pe&&Pe.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ty(t,e,r)};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.ObjectKeyMap=void 0;Qt(rf(),Pe);Qt(nf(),Pe);var ry=af();Object.defineProperty(Pe,"ObjectKeyMap",{enumerable:!0,get:function(){return ry.ObjectKeyMap}});Qt(Ta(),Pe);Qt(cf(),Pe);Qt(uf(),Pe);Qt(ff(),Pe);Qt(gf(),Pe);Qt(mf(),Pe)});var Fa=D(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.nonApplicationCCs=ge.managementCCs=ge.encapsulationCCs=ge.applicationCCs=ge.sensorCCs=ge.actuatorCCs=ge.allCCs=ge.getCCName=ge.CommandClasses=void 0;var ny=hr(),_;(function(e){e[e["Alarm Sensor"]=156]="Alarm Sensor",e[e["Alarm Silence"]=157]="Alarm Silence",e[e["All Switch"]=39]="All Switch",e[e["Anti-Theft"]=93]="Anti-Theft",e[e["Anti-Theft Unlock"]=126]="Anti-Theft Unlock",e[e["Application Capability"]=87]="Application Capability",e[e["Application Status"]=34]="Application Status",e[e.Association=133]="Association",e[e["Association Command Configuration"]=155]="Association Command Configuration",e[e["Association Group Information"]=89]="Association Group Information",e[e.Authentication=161]="Authentication",e[e["Authentication Media Write"]=162]="Authentication Media Write",e[e["Barrier Operator"]=102]="Barrier Operator",e[e.Basic=32]="Basic",e[e["Basic Tariff Information"]=54]="Basic Tariff Information",e[e["Basic Window Covering"]=80]="Basic Window Covering",e[e.Battery=128]="Battery",e[e["Binary Sensor"]=48]="Binary Sensor",e[e["Binary Switch"]=37]="Binary Switch",e[e["Binary Toggle Switch"]=40]="Binary Toggle Switch",e[e["Climate Control Schedule"]=70]="Climate Control Schedule",e[e["Central Scene"]=91]="Central Scene",e[e.Clock=129]="Clock",e[e["Color Switch"]=51]="Color Switch",e[e.Configuration=112]="Configuration",e[e["Controller Replication"]=33]="Controller Replication",e[e["CRC-16 Encapsulation"]=86]="CRC-16 Encapsulation",e[e["Demand Control Plan Configuration"]=58]="Demand Control Plan Configuration",e[e["Demand Control Plan Monitor"]=59]="Demand Control Plan Monitor",e[e["Device Reset Locally"]=90]="Device Reset Locally",e[e["Door Lock"]=98]="Door Lock",e[e["Door Lock Logging"]=76]="Door Lock Logging",e[e["Energy Production"]=144]="Energy Production",e[e["Entry Control"]=111]="Entry Control",e[e["Firmware Update Meta Data"]=122]="Firmware Update Meta Data",e[e["Generic Schedule"]=163]="Generic Schedule",e[e["Geographic Location"]=140]="Geographic Location",e[e["Grouping Name"]=123]="Grouping Name",e[e.Hail=130]="Hail",e[e["HRV Status"]=55]="HRV Status",e[e["HRV Control"]=57]="HRV Control",e[e["Humidity Control Mode"]=109]="Humidity Control Mode",e[e["Humidity Control Operating State"]=110]="Humidity Control Operating State",e[e["Humidity Control Setpoint"]=100]="Humidity Control Setpoint",e[e["Inclusion Controller"]=116]="Inclusion Controller",e[e.Indicator=135]="Indicator",e[e["IP Association"]=92]="IP Association",e[e["IP Configuration"]=154]="IP Configuration",e[e["IR Repeater"]=160]="IR Repeater",e[e.Irrigation=107]="Irrigation",e[e.Language=137]="Language",e[e.Lock=118]="Lock",e[e.Mailbox=105]="Mailbox",e[e["Manufacturer Proprietary"]=145]="Manufacturer Proprietary",e[e["Manufacturer Specific"]=114]="Manufacturer Specific",e[e["Support/Control Mark"]=239]="Support/Control Mark",e[e.Meter=50]="Meter",e[e["Meter Table Configuration"]=60]="Meter Table Configuration",e[e["Meter Table Monitor"]=61]="Meter Table Monitor",e[e["Meter Table Push Configuration"]=62]="Meter Table Push Configuration",e[e["Move To Position Window Covering"]=81]="Move To Position Window Covering",e[e["Multi Channel"]=96]="Multi Channel",e[e["Multi Channel Association"]=142]="Multi Channel Association",e[e["Multi Command"]=143]="Multi Command",e[e["Multilevel Sensor"]=49]="Multilevel Sensor",e[e["Multilevel Switch"]=38]="Multilevel Switch",e[e["Multilevel Toggle Switch"]=41]="Multilevel Toggle Switch",e[e["Network Management Basic Node"]=77]="Network Management Basic Node",e[e["Network Management Inclusion"]=52]="Network Management Inclusion",e[e["Network Management Installation and Maintenance"]=103]="Network Management Installation and Maintenance",e[e["Network Management Primary"]=84]="Network Management Primary",e[e["Network Management Proxy"]=82]="Network Management Proxy",e[e["No Operation"]=0]="No Operation",e[e["Node Naming and Location"]=119]="Node Naming and Location",e[e["Node Provisioning"]=120]="Node Provisioning",e[e.Notification=113]="Notification",e[e.Powerlevel=115]="Powerlevel",e[e.Prepayment=63]="Prepayment",e[e["Prepayment Encapsulation"]=65]="Prepayment Encapsulation",e[e.Proprietary=136]="Proprietary",e[e.Protection=117]="Protection",e[e["Pulse Meter"]=53]="Pulse Meter",e[e["Rate Table Configuration"]=72]="Rate Table Configuration",e[e["Rate Table Monitor"]=73]="Rate Table Monitor",e[e["Remote Association Activation"]=124]="Remote Association Activation",e[e["Remote Association Configuration"]=125]="Remote Association Configuration",e[e["Scene Activation"]=43]="Scene Activation",e[e["Scene Actuator Configuration"]=44]="Scene Actuator Configuration",e[e["Scene Controller Configuration"]=45]="Scene Controller Configuration",e[e.Schedule=83]="Schedule",e[e["Schedule Entry Lock"]=78]="Schedule Entry Lock",e[e["Screen Attributes"]=147]="Screen Attributes",e[e["Screen Meta Data"]=146]="Screen Meta Data",e[e.Security=152]="Security",e[e["Security 2"]=159]="Security 2",e[e["Security Mark"]=61696]="Security Mark",e[e["Sensor Configuration"]=158]="Sensor Configuration",e[e["Simple AV Control"]=148]="Simple AV Control",e[e["Sound Switch"]=121]="Sound Switch",e[e.Supervision=108]="Supervision",e[e["Tariff Table Configuration"]=74]="Tariff Table Configuration",e[e["Tariff Table Monitor"]=75]="Tariff Table Monitor",e[e["Thermostat Fan Mode"]=68]="Thermostat Fan Mode",e[e["Thermostat Fan State"]=69]="Thermostat Fan State",e[e["Thermostat Mode"]=64]="Thermostat Mode",e[e["Thermostat Operating State"]=66]="Thermostat Operating State",e[e["Thermostat Setback"]=71]="Thermostat Setback",e[e["Thermostat Setpoint"]=67]="Thermostat Setpoint",e[e.Time=138]="Time",e[e["Time Parameters"]=139]="Time Parameters",e[e["Transport Service"]=85]="Transport Service",e[e["User Code"]=99]="User Code",e[e.Version=134]="Version",e[e["Wake Up"]=132]="Wake Up",e[e["Window Covering"]=106]="Window Covering",e[e["Z/IP"]=35]="Z/IP",e[e["Z/IP 6LoWPAN"]=79]="Z/IP 6LoWPAN",e[e["Z/IP Gateway"]=95]="Z/IP Gateway",e[e["Z/IP Naming and Location"]=104]="Z/IP Naming and Location",e[e["Z/IP ND"]=88]="Z/IP ND",e[e["Z/IP Portal"]=97]="Z/IP Portal",e[e["Z-Wave Plus Info"]=94]="Z-Wave Plus Info",e[e["Z-Wave Protocol"]=1]="Z-Wave Protocol"})(_=ge.CommandClasses||(ge.CommandClasses={}));function oy(e){return(0,ny.getEnumMemberName)(_,e)}ge.getCCName=oy;ge.allCCs=Object.freeze(Object.keys(_).filter(e=>/^\d+$/.test(e)).map(e=>parseInt(e)).filter(e=>e>=0&&e!==_["Z-Wave Protocol"]));ge.actuatorCCs=[_["Barrier Operator"],_["Binary Switch"],_["Color Switch"],_["Door Lock"],_["Multilevel Switch"],_["Simple AV Control"],_["Sound Switch"],_["Thermostat Setpoint"],_["Thermostat Mode"],_["Window Covering"]];ge.sensorCCs=[_["Alarm Sensor"],_.Battery,_["Binary Sensor"],_["Energy Production"],_.Meter,_["Multilevel Sensor"],_.Notification,_["Pulse Meter"]];ge.applicationCCs=[_["Alarm Sensor"],_["Alarm Silence"],_["All Switch"],_["Anti-Theft"],_["Barrier Operator"],_.Basic,_["Basic Tariff Information"],_["Basic Window Covering"],_["Binary Sensor"],_["Binary Switch"],_["Binary Toggle Switch"],_["Climate Control Schedule"],_["Central Scene"],_.Clock,_["Color Switch"],_.Configuration,_["Controller Replication"],_["Demand Control Plan Configuration"],_["Demand Control Plan Monitor"],_["Door Lock"],_["Door Lock Logging"],_["Energy Production"],_["Entry Control"],_["Generic Schedule"],_["Geographic Location"],_["HRV Status"],_["HRV Control"],_["Humidity Control Mode"],_["Humidity Control Operating State"],_["Humidity Control Setpoint"],_["IR Repeater"],_.Irrigation,_.Language,_.Lock,_["Manufacturer Proprietary"],_.Meter,_["Meter Table Configuration"],_["Meter Table Monitor"],_["Meter Table Push Configuration"],_["Move To Position Window Covering"],_["Multilevel Sensor"],_["Multilevel Switch"],_["Multilevel Toggle Switch"],_.Notification,_.Prepayment,_["Prepayment Encapsulation"],_.Proprietary,_.Protection,_["Pulse Meter"],_["Rate Table Configuration"],_["Rate Table Monitor"],_["Scene Activation"],_["Scene Actuator Configuration"],_["Scene Controller Configuration"],_.Schedule,_["Schedule Entry Lock"],_["Screen Attributes"],_["Screen Meta Data"],_["Sensor Configuration"],_["Simple AV Control"],_["Sound Switch"],_["Tariff Table Configuration"],_["Tariff Table Monitor"],_["Thermostat Fan Mode"],_["Thermostat Fan State"],_["Thermostat Mode"],_["Thermostat Operating State"],_["Thermostat Setback"],_["Thermostat Setpoint"],_["User Code"],_["Window Covering"]];ge.encapsulationCCs=[_["CRC-16 Encapsulation"],_["Multi Channel"],_["Multi Command"],_.Security,_["Security 2"],_["Transport Service"]];ge.managementCCs=[_["Application Capability"],_["Application Status"],_.Association,_["Association Command Configuration"],_["Association Group Information"],_["Device Reset Locally"],_["Firmware Update Meta Data"],_["Grouping Name"],_.Hail,_.Indicator,_["IP Association"],_["Manufacturer Specific"],_["Multi Channel Association"],_["Node Naming and Location"],_["Remote Association Activation"],_["Remote Association Configuration"],_.Time,_["Time Parameters"],_.Version,_["Wake Up"],_["Z/IP Naming and Location"],_["Z-Wave Plus Info"]];ge.nonApplicationCCs=Object.freeze(ge.allCCs.filter(e=>!ge.applicationCCs.includes(e)))});var hf=D(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.ControllerCapabilityFlags=void 0;var iy;(function(e){e[e.Secondary=1]="Secondary",e[e.OnOtherNetwork=2]="OnOtherNetwork",e[e.SISPresent=4]="SISPresent",e[e.WasRealPrimary=8]="WasRealPrimary",e[e.SUC=16]="SUC",e[e.NoNodesIncluded=32]="NoNodesIncluded"})(iy=Bn.ControllerCapabilityFlags||(Bn.ControllerCapabilityFlags={}))});var yf=D(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.ZWaveLibraryTypes=void 0;var ay;(function(e){e[e.Unknown=0]="Unknown",e[e["Static Controller"]=1]="Static Controller",e[e.Controller=2]="Controller",e[e["Enhanced Slave"]=3]="Enhanced Slave",e[e.Slave=4]="Slave",e[e.Installer=5]="Installer",e[e["Routing Slave"]=6]="Routing Slave",e[e["Bridge Controller"]=7]="Bridge Controller",e[e["Device under Test"]=8]="Device under Test",e[e["N/A"]=9]="N/A",e[e["AV Remote"]=10]="AV Remote",e[e["AV Device"]=11]="AV Device"})(ay=wn.ZWaveLibraryTypes||(wn.ZWaveLibraryTypes={}))});var Fr=D(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.isRecoverableZWaveError=Fe.isTransmissionError=Fe.isZWaveError=Fe.ZWaveError=Fe.getErrorSuffix=Fe.ZWaveErrorCodes=void 0;var sy=Et(),Nt;(function(e){e[e.PacketFormat_Truncated=0]="PacketFormat_Truncated",e[e.PacketFormat_Invalid=1]="PacketFormat_Invalid",e[e.PacketFormat_Checksum=2]="PacketFormat_Checksum",e[e.PacketFormat_InvalidPayload=3]="PacketFormat_InvalidPayload",e[e.PacketFormat_DecryptionFailed=4]="PacketFormat_DecryptionFailed",e[e.Driver_Failed=100]="Driver_Failed",e[e.Driver_Reset=101]="Driver_Reset",e[e.Driver_Destroyed=102]="Driver_Destroyed",e[e.Driver_NotReady=103]="Driver_NotReady",e[e.Driver_InvalidDataReceived=104]="Driver_InvalidDataReceived",e[e.Driver_NotSupported=105]="Driver_NotSupported",e[e.Driver_NoPriority=106]="Driver_NoPriority",e[e.Driver_InvalidCache=107]="Driver_InvalidCache",e[e.Driver_InvalidOptions=108]="Driver_InvalidOptions",e[e.Driver_NoSecurity=109]="Driver_NoSecurity",e[e.Driver_NoErrorHandler=110]="Driver_NoErrorHandler",e[e.Driver_FeatureDisabled=111]="Driver_FeatureDisabled",e[e.Controller_Timeout=200]="Controller_Timeout",e[e.Controller_NodeTimeout=201]="Controller_NodeTimeout",e[e.Controller_MessageDropped=202]="Controller_MessageDropped",e[e.Controller_ResponseNOK=203]="Controller_ResponseNOK",e[e.Controller_CallbackNOK=204]="Controller_CallbackNOK",e[e.Controller_InclusionFailed=205]="Controller_InclusionFailed",e[e.Controller_ExclusionFailed=206]="Controller_ExclusionFailed",e[e.Controller_NotSupported=207]="Controller_NotSupported",e[e.Controller_InterviewRestarted=208]="Controller_InterviewRestarted",e[e.Controller_NodeNotFound=209]="Controller_NodeNotFound",e[e.Controller_EndpointNotFound=210]="Controller_EndpointNotFound",e[e.Controller_NodeRemoved=211]="Controller_NodeRemoved",e[e.Controller_NodeInsecureCommunication=212]="Controller_NodeInsecureCommunication",e[e.Controller_MessageExpired=213]="Controller_MessageExpired",e[e.Controller_CommandError=214]="Controller_CommandError",e[e.FWUpdateService_MissingInformation=260]="FWUpdateService_MissingInformation",e[e.FWUpdateService_RequestError=261]="FWUpdateService_RequestError",e[e.FWUpdateService_IntegrityCheckFailed=262]="FWUpdateService_IntegrityCheckFailed",e[e.NVM_NotSupported=280]="NVM_NotSupported",e[e.NVM_InvalidJSON=281]="NVM_InvalidJSON",e[e.NVM_ObjectNotFound=282]="NVM_ObjectNotFound",e[e.NVM_InvalidFormat=283]="NVM_InvalidFormat",e[e.NVM_NoSpace=284]="NVM_NoSpace",e[e.CC_Invalid=300]="CC_Invalid",e[e.CC_NoNodeID=301]="CC_NoNodeID",e[e.CC_NotSupported=302]="CC_NotSupported",e[e.CC_NotImplemented=303]="CC_NotImplemented",e[e.CC_NoAPI=304]="CC_NoAPI",e[e.Deserialization_NotImplemented=320]="Deserialization_NotImplemented",e[e.Arithmetic=321]="Arithmetic",e[e.Argument_Invalid=322]="Argument_Invalid",e[e.Config_Invalid=340]="Config_Invalid",e[e.Config_NotFound=341]="Config_NotFound",e[e.Config_CircularImport=342]="Config_CircularImport",e[e.Config_Update_RegistryError=343]="Config_Update_RegistryError",e[e.Config_Update_PackageManagerNotFound=344]="Config_Update_PackageManagerNotFound",e[e.Config_Update_InstallFailed=345]="Config_Update_InstallFailed",e[e.RemoveFailedNode_Failed=360]="RemoveFailedNode_Failed",e[e.RemoveFailedNode_NodeOK=361]="RemoveFailedNode_NodeOK",e[e.ReplaceFailedNode_Failed=362]="ReplaceFailedNode_Failed",e[e.ReplaceFailedNode_NodeOK=363]="ReplaceFailedNode_NodeOK",e[e.ConfigurationCC_FirstParameterNumber=1e3]="ConfigurationCC_FirstParameterNumber",e[e.ConfigurationCC_NoLegacyScanOnNewDevices=1001]="ConfigurationCC_NoLegacyScanOnNewDevices",e[e.ConfigurationCC_NoResetToDefaultOnLegacyDevices=1002]="ConfigurationCC_NoResetToDefaultOnLegacyDevices",e[e.SupervisionCC_CommandFailed=1100]="SupervisionCC_CommandFailed",e[e.ManufacturerProprietaryCC_NoManufacturerId=1200]="ManufacturerProprietaryCC_NoManufacturerId",e[e.AssociationCC_InvalidGroup=1300]="AssociationCC_InvalidGroup",e[e.AssociationCC_NotAllowed=1301]="AssociationCC_NotAllowed",e[e.SecurityCC_NoNonce=1400]="SecurityCC_NoNonce",e[e.Security2CC_NoSPAN=1401]="Security2CC_NoSPAN",e[e.Security2CC_NotInitialized=1402]="Security2CC_NotInitialized",e[e.Security2CC_NotSecure=1403]="Security2CC_NotSecure",e[e.Security2CC_MissingExtension=1404]="Security2CC_MissingExtension",e[e.Security2CC_CannotDecode=1405]="Security2CC_CannotDecode",e[e.Security2CC_InvalidQRCode=1406]="Security2CC_InvalidQRCode",e[e.FirmwareUpdateCC_Busy=1500]="FirmwareUpdateCC_Busy",e[e.FirmwareUpdateCC_NotUpgradable=1501]="FirmwareUpdateCC_NotUpgradable",e[e.FirmwareUpdateCC_TargetNotFound=1502]="FirmwareUpdateCC_TargetNotFound",e[e.FirmwareUpdateCC_FailedToStart=1503]="FirmwareUpdateCC_FailedToStart",e[e.FirmwareUpdateCC_FailedToAbort=1504]="FirmwareUpdateCC_FailedToAbort",e[e.FirmwareUpdateCC_Timeout=1505]="FirmwareUpdateCC_Timeout",e[e.Invalid_Firmware_File=1506]="Invalid_Firmware_File",e[e.Unsupported_Firmware_Format=1507]="Unsupported_Firmware_Format",e[e.PowerlevelCC_UnsupportedTestNode=1600]="PowerlevelCC_UnsupportedTestNode"})(Nt=Fe.ZWaveErrorCodes||(Fe.ZWaveErrorCodes={}));function vf(e){return`ZW${(0,sy.padStart)(e.toString(),4,"0")}`}Fe.getErrorSuffix=vf;function cy(e,t){let r=` (${vf(t)})`;return e.endsWith(r)||(e+=r),e}var xn=class extends Error{constructor(t,r,n,o){super(),this.message=t,this.code=r,this.context=n,this.transactionSource=o,this.message=cy(t,r),Object.setPrototypeOf(this,xn.prototype),Object.getPrototypeOf(this).name="ZWaveError",typeof o=="string"&&(this.stack=`ZWaveError: ${this.message} +import{a as xs,b as Rs}from"./chunk-X7ZLESBS.js";import{a as kg,b as Sg,c as Kn,d as Es}from"./chunk-2SCYCYJ3.js";import{$ as z,B as j,C as ws,Ca as Un,D as Rr,Da as qt,E as rg,Ea as Lt,F as Wr,Fa as L,G as ng,H as Fi,Ha as Fs,I as Zt,Ia as Ee,J as fe,Ja as qe,Ka as ug,La as dg,Ma as fg,Na as pg,O as _s,Oa as gg,P as Cs,Pa as mg,Q as Ns,Qa as hg,R as Ps,Ra as yg,S as Os,Sa as vg,T as Is,Ta as bg,U as Ms,V as Yr,W as Mt,X as Ei,Y as er,Z as Dt,_ as Tt,a as D,aa as _r,b as p,ba as At,c as q,ca as ve,d as Jp,da as Ds,e as ue,ea as Ts,f as de,fa as qi,g as Ve,ga as Li,h as Zp,ha as zi,i as eg,ia as Hi,j as vt,ja as og,k as ks,ka as ig,l as Di,la as ag,m as bt,ma as Jr,n as tg,na as sg,oa as kt,p as Jt,pa as cg,q as Ti,qa as lg,r as Ai,ra as zn,sa as Hn,t as xr,ta as Ft,u as Ot,ua as Ge,v as Ss,va as E,w as It,wa as Et,x as Bs,xa as As,y as Ln,ya as ji,z as Xe,za as jn}from"./chunk-VPC5VPYL.js";var Zr=D($n=>{"use strict";var wg=ue(),xg=de();Object.defineProperty($n,"__esModule",{value:!0});$n.default=void 0;var Rg=xg(q()),_g=wg(fe()),Cg=(0,_g.default)(Rg.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever");$n.default=Cg});var Xn=D(Vn=>{"use strict";var Ng=ue(),Pg=de();Object.defineProperty(Vn,"__esModule",{value:!0});Vn.default=void 0;var Og=Pg(q()),Ig=Ng(fe()),Mg=(0,Ig.default)(Og.createElement("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"}),"Restore");Vn.default=Mg});var Vs=D(Yn=>{"use strict";var Ag=ue(),Fg=de();Object.defineProperty(Yn,"__esModule",{value:!0});Yn.default=void 0;var Eg=Fg(q()),qg=Ag(fe()),Lg=(0,qg.default)(Eg.createElement("path",{d:"M17 1H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 18H7V5h10v14zM12 6.72c-1.96 0-3.5 1.52-3.5 3.47h1.75c0-.93.82-1.75 1.75-1.75s1.75.82 1.75 1.75c0 1.75-2.63 1.57-2.63 4.45h1.76c0-1.96 2.62-2.19 2.62-4.45 0-1.96-1.54-3.47-3.5-3.47zm-.88 8.8h1.76v1.76h-1.76z"}),"DeviceUnknown");Yn.default=Lg});var Ki=D(Jn=>{"use strict";var zg=ue(),Hg=de();Object.defineProperty(Jn,"__esModule",{value:!0});Jn.default=void 0;var jg=Hg(q()),Ug=zg(fe()),Kg=(0,Ug.default)(jg.createElement("path",{d:"M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z"}),"PowerSettingsNew");Jn.default=Kg});var Xs=D(Zn=>{"use strict";var $g=ue(),Vg=de();Object.defineProperty(Zn,"__esModule",{value:!0});Zn.default=void 0;var Xg=Vg(q()),Gg=$g(fe()),Qg=(0,Gg.default)(Xg.createElement("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.7l2-2zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53.96-.97zM2 3.05L5.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.79 2 3.05zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0z"}),"WifiOff");Zn.default=Qg});var sc=D(ro=>{"use strict";var Zg=ue(),em=de();Object.defineProperty(ro,"__esModule",{value:!0});ro.default=void 0;var tm=em(q()),rm=Zg(fe()),nm=(0,rm.default)(tm.createElement("path",{d:"M15.9 5c-.17 0-.32.09-.41.23l-.07.15-5.18 11.65c-.16.29-.26.61-.26.96 0 1.11.9 2.01 2.01 2.01.96 0 1.77-.68 1.96-1.59l.01-.03L16.4 5.5c0-.28-.22-.5-.5-.5zM1 9l2 2c2.88-2.88 6.79-4.08 10.53-3.62l1.19-2.68C9.89 3.84 4.74 5.27 1 9zm20 2l2-2c-1.64-1.64-3.55-2.82-5.59-3.57l-.53 2.82c1.5.62 2.9 1.53 4.12 2.75zm-4 4l2-2c-.8-.8-1.7-1.42-2.66-1.89l-.55 2.92c.42.27.83.59 1.21.97zM5 13l2 2c1.13-1.13 2.56-1.79 4.03-2l1.28-2.88c-2.63-.08-5.3.87-7.31 2.88z"}),"NetworkCheck");ro.default=nm});var cc=D(no=>{"use strict";var om=ue(),im=de();Object.defineProperty(no,"__esModule",{value:!0});no.default=void 0;var am=im(q()),sm=om(fe()),cm=(0,sm.default)(am.createElement("path",{d:"M19 13H5v-2h14v2z"}),"Remove");no.default=cm});var gc=D(io=>{"use strict";var um=ue(),dm=de();Object.defineProperty(io,"__esModule",{value:!0});io.default=void 0;var fm=dm(q()),pm=um(fe()),gm=(0,pm.default)(fm.createElement("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");io.default=gm});var mc=D(ao=>{"use strict";var mm=ue(),hm=de();Object.defineProperty(ao,"__esModule",{value:!0});ao.default=void 0;var ym=hm(q()),vm=mm(fe()),bm=(0,vm.default)(ym.createElement("path",{d:"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"}),"KeyboardArrowDown");ao.default=bm});var hc=D(so=>{"use strict";var km=ue(),Sm=de();Object.defineProperty(so,"__esModule",{value:!0});so.default=void 0;var Bm=Sm(q()),wm=km(fe()),xm=(0,wm.default)(Bm.createElement("path",{d:"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"}),"KeyboardArrowUp");so.default=xm});var yc=D(co=>{"use strict";var Rm=ue(),_m=de();Object.defineProperty(co,"__esModule",{value:!0});co.default=void 0;var Cm=_m(q()),Nm=Rm(fe()),Pm=(0,Nm.default)(Cm.createElement("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z"}),"Language");co.default=Pm});var Xi=D(lo=>{"use strict";var Om=ue(),Im=de();Object.defineProperty(lo,"__esModule",{value:!0});lo.default=void 0;var Mm=Im(q()),Dm=Om(fe()),Tm=(0,Dm.default)(Mm.createElement("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-2V8l-6-6zm-2 16c-2.05 0-3.81-1.24-4.58-3h1.71c.63.9 1.68 1.5 2.87 1.5 1.93 0 3.5-1.57 3.5-3.5S13.93 9.5 12 9.5c-1.35 0-2.52.78-3.1 1.9l1.6 1.6h-4V9l1.3 1.3C8.69 8.92 10.23 8 12 8c2.76 0 5 2.24 5 5s-2.24 5-5 5z"}),"RestorePage");lo.default=Tm});var Nc=D(fo=>{"use strict";var Em=ue(),qm=de();Object.defineProperty(fo,"__esModule",{value:!0});fo.default=void 0;var Lm=qm(q()),zm=Em(fe()),Hm=(0,zm.default)(Lm.createElement("path",{d:"M21 21.78L4.22 5 3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12c.23 0 .45-.05.66-.12L19.78 23 21 21.78zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H9.66L20 18.34V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.56 0-4.64 1.93-4.94 4.4L8.9 7.24V6z"}),"NoEncryption");fo.default=Hm});var Kc=D(po=>{"use strict";var Km=ue(),$m=de();Object.defineProperty(po,"__esModule",{value:!0});po.default=void 0;var Vm=$m(q()),Xm=Km(fe()),Gm=(0,Xm.default)(Vm.createElement("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"}),"Autorenew");po.default=Gm});var $c=D(go=>{"use strict";var Qm=ue(),Wm=de();Object.defineProperty(go,"__esModule",{value:!0});go.default=void 0;var Ym=Wm(q()),Jm=Qm(fe()),Zm=(0,Jm.default)(Ym.createElement("path",{d:"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"}),"Done");go.default=Zm});var Vc=D(mo=>{"use strict";var e1=ue(),t1=de();Object.defineProperty(mo,"__esModule",{value:!0});mo.default=void 0;var r1=t1(q()),n1=e1(fe()),o1=(0,n1.default)(r1.createElement("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline");mo.default=o1});var Xc=D(ho=>{"use strict";var i1=ue(),a1=de();Object.defineProperty(ho,"__esModule",{value:!0});ho.default=void 0;var s1=a1(q()),c1=i1(fe()),l1=(0,c1.default)(s1.createElement("path",{d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"}),"Redo");ho.default=l1});var Zc=D(yo=>{"use strict";var d1=ue(),f1=de();Object.defineProperty(yo,"__esModule",{value:!0});yo.default=void 0;var p1=f1(q()),g1=d1(fe()),m1=(0,g1.default)(p1.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline");yo.default=m1});var el=D(vo=>{"use strict";var h1=ue(),y1=de();Object.defineProperty(vo,"__esModule",{value:!0});vo.default=void 0;var v1=y1(q()),b1=h1(fe()),k1=(0,b1.default)(v1.createElement("path",{d:"M15 9H9v6h6V9zm-2 4h-2v-2h2v2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2zm-4 6H7V7h10v10z"}),"Memory");vo.default=k1});var tl=D(bo=>{"use strict";var S1=ue(),B1=de();Object.defineProperty(bo,"__esModule",{value:!0});bo.default=void 0;var w1=B1(q()),x1=S1(fe()),R1=(0,x1.default)(w1.createElement("path",{d:"M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z"}),"SwapHoriz");bo.default=R1});var Al=D(Bo=>{"use strict";var M1=ue(),D1=de();Object.defineProperty(Bo,"__esModule",{value:!0});Bo.default=void 0;var So=D1(q()),T1=M1(fe()),A1=(0,T1.default)(So.createElement(So.Fragment,null,So.createElement("circle",{cx:"12",cy:"12",r:"3.2"}),So.createElement("path",{d:"M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"})),"PhotoCamera");Bo.default=A1});var Fl=D(wo=>{"use strict";var F1=ue(),E1=de();Object.defineProperty(wo,"__esModule",{value:!0});wo.default=void 0;var q1=E1(q()),L1=F1(fe()),z1=(0,L1.default)(q1.createElement("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-11l-4 4z"}),"Videocam");wo.default=z1});var Od=D(Yo=>{"use strict";var s2=ue(),c2=de();Object.defineProperty(Yo,"__esModule",{value:!0});Yo.default=void 0;var l2=c2(q()),u2=s2(fe()),d2=(0,u2.default)(l2.createElement("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox");Yo.default=d2});var Id=D(Jo=>{"use strict";var f2=ue(),p2=de();Object.defineProperty(Jo,"__esModule",{value:!0});Jo.default=void 0;var g2=p2(q()),m2=f2(fe()),h2=(0,m2.default)(g2.createElement("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank");Jo.default=h2});var Qd=D(ri=>{"use strict";var B2=ue(),w2=de();Object.defineProperty(ri,"__esModule",{value:!0});ri.default=void 0;var x2=w2(q()),R2=B2(fe()),_2=(0,R2.default)(x2.createElement("path",{d:"M3 4V1h2v3h3v2H5v3H3V6H0V4h3zm3 6V7h3V4h7l1.83 2H21c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V10h3zm7 9c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-3.2-5c0 1.77 1.43 3.2 3.2 3.2s3.2-1.43 3.2-3.2-1.43-3.2-3.2-3.2-3.2 1.43-3.2 3.2z"}),"AddAPhoto");ri.default=_2});var Yd=D(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0})});var Zd=D(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0})});var tf=D(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0})});var rf=D(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.getErrorMessage=void 0;function C2(e,t){return e instanceof Error?t&&e.stack?e.stack:e.message:String(e)}ni.getErrorMessage=C2});var nf=D(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.staticExtends=gt.AllOf=gt.applyMixin=gt.Mixin=void 0;function N2(e){return function(t){for(let r of e)Ma(t,r)}}gt.Mixin=N2;function Ma(e,t,r=!1){var o;let n=[t];for(;;){let i=n[0],a=Object.getPrototypeOf(i);if(a!=null&&a.prototype)n.unshift(a);else break}for(let i of n)for(let a of Object.getOwnPropertyNames(i.prototype))(r||a!=="constructor")&&Object.defineProperty(e.prototype,a,(o=Object.getOwnPropertyDescriptor(i.prototype,a))!=null?o:Object.create(null))}gt.applyMixin=Ma;function P2(...e){let[t,...r]=e,n=class extends t{};for(let o of r)Ma(n,o);return n}gt.AllOf=P2;function O2(e,t){for(;e;){if(e===t)return!0;e=Object.getPrototypeOf(e)}return!1}gt.staticExtends=O2});var af=D(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.ObjectKeyMap=void 0;var of=Ts(),Da=class{constructor(t,r){if(this._map=new Map,t!=null&&t.length)for(let[n,o]of t)this.set(n,o);this.defaultKeyProps=r}has(t){return this._map.has(this.keyToString(t))}get(t){return this._map.get(this.keyToString(t))}set(t,r){this._map.set(this.keyToString(t),r)}delete(t){return this._map.delete(this.keyToString(t))}clear(){this._map.clear()}get size(){return this._map.size}forEach(t){this._map.forEach((r,n)=>{t(r,JSON.parse(n),this)})}entries(){let t=this._map;return function*(){let r=t.entries(),n=r.next();for(;!n.done;)yield[JSON.parse(n.value[0]),n.value[1]],n=r.next()}()}[Symbol.iterator](){return this.entries()}keys(){let t=this._map;return function*(){let r=t.entries(),n=r.next();for(;!n.done;)yield JSON.parse(n.value[0]),n=r.next()}()}values(){return this._map.values()}keyToString(t){let r={...t};if(this.defaultKeyProps)for(let[o,i]of Object.entries(this.defaultKeyProps))o in r||(r[o]=i);let n=(0,of.composeObject)((0,of.entries)(r).filter(([,o])=>o!=null).sort(([o],[i])=>o>i?1:o{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.compareStrings=Be.isPrintableASCIIWithNewlines=Be.isPrintableASCII=Be.buffer2hex=Be.stringify=Be.formatId=Be.num2hex=Be.cpp2js=void 0;var I2=Et();function M2(e){let t=e.indexOf("\0");return t===-1?e:e.substr(0,t)}Be.cpp2js=M2;function D2(e,t=!1){if(e==null)return"undefined";let r=e.toString(16);return t&&(r=r.toUpperCase()),r.length%2!==0&&(r="0"+r),"0x"+r}Be.num2hex=D2;function T2(e){return e=typeof e=="number"?e.toString(16):e,"0x"+(0,I2.padStart)(e,4,"0").toLowerCase()}Be.formatId=T2;function A2(e,t=4){return JSON.stringify(e,null,t)}Be.stringify=A2;function F2(e,t=!1){if(e.length===0)return"(empty)";let r=e.toString("hex");return t&&(r=r.toUpperCase()),"0x"+r}Be.buffer2hex=F2;function sf(e){return/^[\u0020-\u007e]*$/.test(e)}Be.isPrintableASCII=sf;function E2(e){return e=e.replace(/^[\r\n]*/g,"").replace(/[\r\n]*/g,""),sf(e)}Be.isPrintableASCIIWithNewlines=E2;function q2(e,t){return e>t?1:t>e?-1:0}Be.compareStrings=q2});var cf=D(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.createThrowingMap=void 0;function L2(e){let t=new Map;return t.getOrThrow=function(r){if(!this.has(r))if(typeof e=="function")e(r);else throw new Error(`Tried to access non-existent key ${String(r)}`);return this.get(r)}.bind(t),t}ii.createThrowingMap=L2});var lf=D(ai=>{"use strict";Object.defineProperty(ai,"__esModule",{value:!0});ai.createDeferredPromise=void 0;function z2(){let e,t,r=new Promise((n,o)=>{e=n,t=o});return r.resolve=e,r.reject=t,r}ai.createDeferredPromise=z2});var uf=D(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.TimedExpectation=void 0;var H2=lf(),Sn=class{constructor(t,r,n="Expectation was not fulfilled within the timeout"){this.predicate=r,this.timeoutErrorMessage=n,this._done=!1,this.promise=(0,H2.createDeferredPromise)(),this.timeout=setTimeout(()=>this.reject(),t);let o={message:""};Error.captureStackTrace(o,Sn),this.stack=o.stack.replace(/^Error:?\s*\n/,"")}resolve(t){this._done||(this.timeout&&clearTimeout(this.timeout),this.promise.resolve(t))}reject(){if(this._done)return;this.timeout&&clearTimeout(this.timeout);let t=new Error(this.timeoutErrorMessage);t.stack=this.stack,this.promise.reject(t)}then(t,r){return this.promise.then(t,r)}};si.TimedExpectation=Sn});var ff=D(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0})});var gf=D(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.sum=re.discreteLinearSearch=re.discreteBinarySearch=re.padVersion=re.cloneDeep=re.mergeDeep=re.throttle=re.skipBytes=re.getEnumMemberName=re.flatMap=re.pickDeep=re.pick=re.keysOf=void 0;var ci=Un(),j2=Ta();function U2(e){return Object.keys(e)}re.keysOf=U2;function K2(e,t){let r={};for(let n of t)n in e&&(r[n]=e[n]);return r}re.pick=K2;function $2(e,t){function r(n,o){if(!o.length)return n;if(!(0,ci.isObject)(n)&&!(0,ci.isArray)(n))return;let i=o.shift();return r(n[i],o)}return r(e,t.split("."))}re.pickDeep=$2;function V2(e,t){return e.map(t).reduce((n,o)=>[...n,...o],[])}re.flatMap=V2;function X2(e,t){return e[t]||`unknown (${(0,j2.num2hex)(t)})`}re.getEnumMemberName=X2;function G2(e,t){return Buffer.from(e.slice(t))}re.skipBytes=G2;function Q2(e,t,r=!1){let n=0,o;return(...i)=>{let a=Date.now();if(a>=n+t)n=a,e(...i);else if(r){o&&clearTimeout(o);let s=n+t-a;o=setTimeout(()=>{n=a,e(...i)},s)}}}re.throttle=Q2;function pf(e,t,r){e=e||{};for(let[n,o]of Object.entries(t))n in e?o===void 0?r&&delete e[n]:typeof o=="object"?e[n]=pf(e[n],o,r):(r||typeof e[n]=="undefined")&&(e[n]=o):o!==void 0&&(e[n]=o);return e}re.mergeDeep=pf;function Aa(e){if((0,ci.isArray)(e))return e.map(t=>Aa(t));if((0,ci.isObject)(e)){let t={};for(let[r,n]of Object.entries(e))t[r]=Aa(n);return t}else return e}re.cloneDeep=Aa;function W2(e){return e.split(".").length===3?e:e+".0"}re.padVersion=W2;async function Y2(e,t,r){let n=e,o=t;for(;nt+r,0)}re.sum=Z2});var mf=D(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.createWrappingCounter=void 0;function ey(e,t=!1){let r=()=>(r.value=r.value+1&e,r.value===0&&(r.value=1),r.value);return r.value=t?Math.round(Math.random()*e):0,r}li.createWrappingCounter=ey});var hr=D(Pe=>{"use strict";var ty=Pe&&Pe.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Qt=Pe&&Pe.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ty(t,e,r)};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.ObjectKeyMap=void 0;Qt(rf(),Pe);Qt(nf(),Pe);var ry=af();Object.defineProperty(Pe,"ObjectKeyMap",{enumerable:!0,get:function(){return ry.ObjectKeyMap}});Qt(Ta(),Pe);Qt(cf(),Pe);Qt(uf(),Pe);Qt(ff(),Pe);Qt(gf(),Pe);Qt(mf(),Pe)});var Fa=D(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.nonApplicationCCs=ge.managementCCs=ge.encapsulationCCs=ge.applicationCCs=ge.sensorCCs=ge.actuatorCCs=ge.allCCs=ge.getCCName=ge.CommandClasses=void 0;var ny=hr(),_;(function(e){e[e["Alarm Sensor"]=156]="Alarm Sensor",e[e["Alarm Silence"]=157]="Alarm Silence",e[e["All Switch"]=39]="All Switch",e[e["Anti-Theft"]=93]="Anti-Theft",e[e["Anti-Theft Unlock"]=126]="Anti-Theft Unlock",e[e["Application Capability"]=87]="Application Capability",e[e["Application Status"]=34]="Application Status",e[e.Association=133]="Association",e[e["Association Command Configuration"]=155]="Association Command Configuration",e[e["Association Group Information"]=89]="Association Group Information",e[e.Authentication=161]="Authentication",e[e["Authentication Media Write"]=162]="Authentication Media Write",e[e["Barrier Operator"]=102]="Barrier Operator",e[e.Basic=32]="Basic",e[e["Basic Tariff Information"]=54]="Basic Tariff Information",e[e["Basic Window Covering"]=80]="Basic Window Covering",e[e.Battery=128]="Battery",e[e["Binary Sensor"]=48]="Binary Sensor",e[e["Binary Switch"]=37]="Binary Switch",e[e["Binary Toggle Switch"]=40]="Binary Toggle Switch",e[e["Climate Control Schedule"]=70]="Climate Control Schedule",e[e["Central Scene"]=91]="Central Scene",e[e.Clock=129]="Clock",e[e["Color Switch"]=51]="Color Switch",e[e.Configuration=112]="Configuration",e[e["Controller Replication"]=33]="Controller Replication",e[e["CRC-16 Encapsulation"]=86]="CRC-16 Encapsulation",e[e["Demand Control Plan Configuration"]=58]="Demand Control Plan Configuration",e[e["Demand Control Plan Monitor"]=59]="Demand Control Plan Monitor",e[e["Device Reset Locally"]=90]="Device Reset Locally",e[e["Door Lock"]=98]="Door Lock",e[e["Door Lock Logging"]=76]="Door Lock Logging",e[e["Energy Production"]=144]="Energy Production",e[e["Entry Control"]=111]="Entry Control",e[e["Firmware Update Meta Data"]=122]="Firmware Update Meta Data",e[e["Generic Schedule"]=163]="Generic Schedule",e[e["Geographic Location"]=140]="Geographic Location",e[e["Grouping Name"]=123]="Grouping Name",e[e.Hail=130]="Hail",e[e["HRV Status"]=55]="HRV Status",e[e["HRV Control"]=57]="HRV Control",e[e["Humidity Control Mode"]=109]="Humidity Control Mode",e[e["Humidity Control Operating State"]=110]="Humidity Control Operating State",e[e["Humidity Control Setpoint"]=100]="Humidity Control Setpoint",e[e["Inclusion Controller"]=116]="Inclusion Controller",e[e.Indicator=135]="Indicator",e[e["IP Association"]=92]="IP Association",e[e["IP Configuration"]=154]="IP Configuration",e[e["IR Repeater"]=160]="IR Repeater",e[e.Irrigation=107]="Irrigation",e[e.Language=137]="Language",e[e.Lock=118]="Lock",e[e.Mailbox=105]="Mailbox",e[e["Manufacturer Proprietary"]=145]="Manufacturer Proprietary",e[e["Manufacturer Specific"]=114]="Manufacturer Specific",e[e["Support/Control Mark"]=239]="Support/Control Mark",e[e.Meter=50]="Meter",e[e["Meter Table Configuration"]=60]="Meter Table Configuration",e[e["Meter Table Monitor"]=61]="Meter Table Monitor",e[e["Meter Table Push Configuration"]=62]="Meter Table Push Configuration",e[e["Move To Position Window Covering"]=81]="Move To Position Window Covering",e[e["Multi Channel"]=96]="Multi Channel",e[e["Multi Channel Association"]=142]="Multi Channel Association",e[e["Multi Command"]=143]="Multi Command",e[e["Multilevel Sensor"]=49]="Multilevel Sensor",e[e["Multilevel Switch"]=38]="Multilevel Switch",e[e["Multilevel Toggle Switch"]=41]="Multilevel Toggle Switch",e[e["Network Management Basic Node"]=77]="Network Management Basic Node",e[e["Network Management Inclusion"]=52]="Network Management Inclusion",e[e["Network Management Installation and Maintenance"]=103]="Network Management Installation and Maintenance",e[e["Network Management Primary"]=84]="Network Management Primary",e[e["Network Management Proxy"]=82]="Network Management Proxy",e[e["No Operation"]=0]="No Operation",e[e["Node Naming and Location"]=119]="Node Naming and Location",e[e["Node Provisioning"]=120]="Node Provisioning",e[e.Notification=113]="Notification",e[e.Powerlevel=115]="Powerlevel",e[e.Prepayment=63]="Prepayment",e[e["Prepayment Encapsulation"]=65]="Prepayment Encapsulation",e[e.Proprietary=136]="Proprietary",e[e.Protection=117]="Protection",e[e["Pulse Meter"]=53]="Pulse Meter",e[e["Rate Table Configuration"]=72]="Rate Table Configuration",e[e["Rate Table Monitor"]=73]="Rate Table Monitor",e[e["Remote Association Activation"]=124]="Remote Association Activation",e[e["Remote Association Configuration"]=125]="Remote Association Configuration",e[e["Scene Activation"]=43]="Scene Activation",e[e["Scene Actuator Configuration"]=44]="Scene Actuator Configuration",e[e["Scene Controller Configuration"]=45]="Scene Controller Configuration",e[e.Schedule=83]="Schedule",e[e["Schedule Entry Lock"]=78]="Schedule Entry Lock",e[e["Screen Attributes"]=147]="Screen Attributes",e[e["Screen Meta Data"]=146]="Screen Meta Data",e[e.Security=152]="Security",e[e["Security 2"]=159]="Security 2",e[e["Security Mark"]=61696]="Security Mark",e[e["Sensor Configuration"]=158]="Sensor Configuration",e[e["Simple AV Control"]=148]="Simple AV Control",e[e["Sound Switch"]=121]="Sound Switch",e[e.Supervision=108]="Supervision",e[e["Tariff Table Configuration"]=74]="Tariff Table Configuration",e[e["Tariff Table Monitor"]=75]="Tariff Table Monitor",e[e["Thermostat Fan Mode"]=68]="Thermostat Fan Mode",e[e["Thermostat Fan State"]=69]="Thermostat Fan State",e[e["Thermostat Mode"]=64]="Thermostat Mode",e[e["Thermostat Operating State"]=66]="Thermostat Operating State",e[e["Thermostat Setback"]=71]="Thermostat Setback",e[e["Thermostat Setpoint"]=67]="Thermostat Setpoint",e[e.Time=138]="Time",e[e["Time Parameters"]=139]="Time Parameters",e[e["Transport Service"]=85]="Transport Service",e[e["User Code"]=99]="User Code",e[e.Version=134]="Version",e[e["Wake Up"]=132]="Wake Up",e[e["Window Covering"]=106]="Window Covering",e[e["Z/IP"]=35]="Z/IP",e[e["Z/IP 6LoWPAN"]=79]="Z/IP 6LoWPAN",e[e["Z/IP Gateway"]=95]="Z/IP Gateway",e[e["Z/IP Naming and Location"]=104]="Z/IP Naming and Location",e[e["Z/IP ND"]=88]="Z/IP ND",e[e["Z/IP Portal"]=97]="Z/IP Portal",e[e["Z-Wave Plus Info"]=94]="Z-Wave Plus Info",e[e["Z-Wave Protocol"]=1]="Z-Wave Protocol"})(_=ge.CommandClasses||(ge.CommandClasses={}));function oy(e){return(0,ny.getEnumMemberName)(_,e)}ge.getCCName=oy;ge.allCCs=Object.freeze(Object.keys(_).filter(e=>/^\d+$/.test(e)).map(e=>parseInt(e)).filter(e=>e>=0&&e!==_["Z-Wave Protocol"]));ge.actuatorCCs=[_["Barrier Operator"],_["Binary Switch"],_["Color Switch"],_["Door Lock"],_["Multilevel Switch"],_["Simple AV Control"],_["Sound Switch"],_["Thermostat Setpoint"],_["Thermostat Mode"],_["Window Covering"]];ge.sensorCCs=[_["Alarm Sensor"],_.Battery,_["Binary Sensor"],_["Energy Production"],_.Meter,_["Multilevel Sensor"],_.Notification,_["Pulse Meter"]];ge.applicationCCs=[_["Alarm Sensor"],_["Alarm Silence"],_["All Switch"],_["Anti-Theft"],_["Barrier Operator"],_.Basic,_["Basic Tariff Information"],_["Basic Window Covering"],_["Binary Sensor"],_["Binary Switch"],_["Binary Toggle Switch"],_["Climate Control Schedule"],_["Central Scene"],_.Clock,_["Color Switch"],_.Configuration,_["Controller Replication"],_["Demand Control Plan Configuration"],_["Demand Control Plan Monitor"],_["Door Lock"],_["Door Lock Logging"],_["Energy Production"],_["Entry Control"],_["Generic Schedule"],_["Geographic Location"],_["HRV Status"],_["HRV Control"],_["Humidity Control Mode"],_["Humidity Control Operating State"],_["Humidity Control Setpoint"],_["IR Repeater"],_.Irrigation,_.Language,_.Lock,_["Manufacturer Proprietary"],_.Meter,_["Meter Table Configuration"],_["Meter Table Monitor"],_["Meter Table Push Configuration"],_["Move To Position Window Covering"],_["Multilevel Sensor"],_["Multilevel Switch"],_["Multilevel Toggle Switch"],_.Notification,_.Prepayment,_["Prepayment Encapsulation"],_.Proprietary,_.Protection,_["Pulse Meter"],_["Rate Table Configuration"],_["Rate Table Monitor"],_["Scene Activation"],_["Scene Actuator Configuration"],_["Scene Controller Configuration"],_.Schedule,_["Schedule Entry Lock"],_["Screen Attributes"],_["Screen Meta Data"],_["Sensor Configuration"],_["Simple AV Control"],_["Sound Switch"],_["Tariff Table Configuration"],_["Tariff Table Monitor"],_["Thermostat Fan Mode"],_["Thermostat Fan State"],_["Thermostat Mode"],_["Thermostat Operating State"],_["Thermostat Setback"],_["Thermostat Setpoint"],_["User Code"],_["Window Covering"]];ge.encapsulationCCs=[_["CRC-16 Encapsulation"],_["Multi Channel"],_["Multi Command"],_.Security,_["Security 2"],_["Transport Service"]];ge.managementCCs=[_["Application Capability"],_["Application Status"],_.Association,_["Association Command Configuration"],_["Association Group Information"],_["Device Reset Locally"],_["Firmware Update Meta Data"],_["Grouping Name"],_.Hail,_.Indicator,_["IP Association"],_["Manufacturer Specific"],_["Multi Channel Association"],_["Node Naming and Location"],_["Remote Association Activation"],_["Remote Association Configuration"],_.Time,_["Time Parameters"],_.Version,_["Wake Up"],_["Z/IP Naming and Location"],_["Z-Wave Plus Info"]];ge.nonApplicationCCs=Object.freeze(ge.allCCs.filter(e=>!ge.applicationCCs.includes(e)))});var hf=D(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.ControllerCapabilityFlags=void 0;var iy;(function(e){e[e.Secondary=1]="Secondary",e[e.OnOtherNetwork=2]="OnOtherNetwork",e[e.SISPresent=4]="SISPresent",e[e.WasRealPrimary=8]="WasRealPrimary",e[e.SUC=16]="SUC",e[e.NoNodesIncluded=32]="NoNodesIncluded"})(iy=Bn.ControllerCapabilityFlags||(Bn.ControllerCapabilityFlags={}))});var yf=D(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.ZWaveLibraryTypes=void 0;var ay;(function(e){e[e.Unknown=0]="Unknown",e[e["Static Controller"]=1]="Static Controller",e[e.Controller=2]="Controller",e[e["Enhanced Slave"]=3]="Enhanced Slave",e[e.Slave=4]="Slave",e[e.Installer=5]="Installer",e[e["Routing Slave"]=6]="Routing Slave",e[e["Bridge Controller"]=7]="Bridge Controller",e[e["Device under Test"]=8]="Device under Test",e[e["N/A"]=9]="N/A",e[e["AV Remote"]=10]="AV Remote",e[e["AV Device"]=11]="AV Device"})(ay=wn.ZWaveLibraryTypes||(wn.ZWaveLibraryTypes={}))});var Fr=D(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.isRecoverableZWaveError=Fe.isTransmissionError=Fe.isZWaveError=Fe.ZWaveError=Fe.getErrorSuffix=Fe.ZWaveErrorCodes=void 0;var sy=Et(),Nt;(function(e){e[e.PacketFormat_Truncated=0]="PacketFormat_Truncated",e[e.PacketFormat_Invalid=1]="PacketFormat_Invalid",e[e.PacketFormat_Checksum=2]="PacketFormat_Checksum",e[e.PacketFormat_InvalidPayload=3]="PacketFormat_InvalidPayload",e[e.PacketFormat_DecryptionFailed=4]="PacketFormat_DecryptionFailed",e[e.Driver_Failed=100]="Driver_Failed",e[e.Driver_Reset=101]="Driver_Reset",e[e.Driver_Destroyed=102]="Driver_Destroyed",e[e.Driver_NotReady=103]="Driver_NotReady",e[e.Driver_InvalidDataReceived=104]="Driver_InvalidDataReceived",e[e.Driver_NotSupported=105]="Driver_NotSupported",e[e.Driver_NoPriority=106]="Driver_NoPriority",e[e.Driver_InvalidCache=107]="Driver_InvalidCache",e[e.Driver_InvalidOptions=108]="Driver_InvalidOptions",e[e.Driver_NoSecurity=109]="Driver_NoSecurity",e[e.Driver_NoErrorHandler=110]="Driver_NoErrorHandler",e[e.Driver_FeatureDisabled=111]="Driver_FeatureDisabled",e[e.Controller_Timeout=200]="Controller_Timeout",e[e.Controller_NodeTimeout=201]="Controller_NodeTimeout",e[e.Controller_MessageDropped=202]="Controller_MessageDropped",e[e.Controller_ResponseNOK=203]="Controller_ResponseNOK",e[e.Controller_CallbackNOK=204]="Controller_CallbackNOK",e[e.Controller_InclusionFailed=205]="Controller_InclusionFailed",e[e.Controller_ExclusionFailed=206]="Controller_ExclusionFailed",e[e.Controller_NotSupported=207]="Controller_NotSupported",e[e.Controller_InterviewRestarted=208]="Controller_InterviewRestarted",e[e.Controller_NodeNotFound=209]="Controller_NodeNotFound",e[e.Controller_EndpointNotFound=210]="Controller_EndpointNotFound",e[e.Controller_NodeRemoved=211]="Controller_NodeRemoved",e[e.Controller_NodeInsecureCommunication=212]="Controller_NodeInsecureCommunication",e[e.Controller_MessageExpired=213]="Controller_MessageExpired",e[e.Controller_CommandError=214]="Controller_CommandError",e[e.FWUpdateService_MissingInformation=260]="FWUpdateService_MissingInformation",e[e.FWUpdateService_RequestError=261]="FWUpdateService_RequestError",e[e.FWUpdateService_IntegrityCheckFailed=262]="FWUpdateService_IntegrityCheckFailed",e[e.NVM_NotSupported=280]="NVM_NotSupported",e[e.NVM_InvalidJSON=281]="NVM_InvalidJSON",e[e.NVM_ObjectNotFound=282]="NVM_ObjectNotFound",e[e.NVM_InvalidFormat=283]="NVM_InvalidFormat",e[e.NVM_NoSpace=284]="NVM_NoSpace",e[e.CC_Invalid=300]="CC_Invalid",e[e.CC_NoNodeID=301]="CC_NoNodeID",e[e.CC_NotSupported=302]="CC_NotSupported",e[e.CC_NotImplemented=303]="CC_NotImplemented",e[e.CC_NoAPI=304]="CC_NoAPI",e[e.Deserialization_NotImplemented=320]="Deserialization_NotImplemented",e[e.Arithmetic=321]="Arithmetic",e[e.Argument_Invalid=322]="Argument_Invalid",e[e.Config_Invalid=340]="Config_Invalid",e[e.Config_NotFound=341]="Config_NotFound",e[e.Config_CircularImport=342]="Config_CircularImport",e[e.Config_Update_RegistryError=343]="Config_Update_RegistryError",e[e.Config_Update_PackageManagerNotFound=344]="Config_Update_PackageManagerNotFound",e[e.Config_Update_InstallFailed=345]="Config_Update_InstallFailed",e[e.RemoveFailedNode_Failed=360]="RemoveFailedNode_Failed",e[e.RemoveFailedNode_NodeOK=361]="RemoveFailedNode_NodeOK",e[e.ReplaceFailedNode_Failed=362]="ReplaceFailedNode_Failed",e[e.ReplaceFailedNode_NodeOK=363]="ReplaceFailedNode_NodeOK",e[e.ConfigurationCC_FirstParameterNumber=1e3]="ConfigurationCC_FirstParameterNumber",e[e.ConfigurationCC_NoLegacyScanOnNewDevices=1001]="ConfigurationCC_NoLegacyScanOnNewDevices",e[e.ConfigurationCC_NoResetToDefaultOnLegacyDevices=1002]="ConfigurationCC_NoResetToDefaultOnLegacyDevices",e[e.SupervisionCC_CommandFailed=1100]="SupervisionCC_CommandFailed",e[e.ManufacturerProprietaryCC_NoManufacturerId=1200]="ManufacturerProprietaryCC_NoManufacturerId",e[e.AssociationCC_InvalidGroup=1300]="AssociationCC_InvalidGroup",e[e.AssociationCC_NotAllowed=1301]="AssociationCC_NotAllowed",e[e.SecurityCC_NoNonce=1400]="SecurityCC_NoNonce",e[e.Security2CC_NoSPAN=1401]="Security2CC_NoSPAN",e[e.Security2CC_NotInitialized=1402]="Security2CC_NotInitialized",e[e.Security2CC_NotSecure=1403]="Security2CC_NotSecure",e[e.Security2CC_MissingExtension=1404]="Security2CC_MissingExtension",e[e.Security2CC_CannotDecode=1405]="Security2CC_CannotDecode",e[e.Security2CC_InvalidQRCode=1406]="Security2CC_InvalidQRCode",e[e.FirmwareUpdateCC_Busy=1500]="FirmwareUpdateCC_Busy",e[e.FirmwareUpdateCC_NotUpgradable=1501]="FirmwareUpdateCC_NotUpgradable",e[e.FirmwareUpdateCC_TargetNotFound=1502]="FirmwareUpdateCC_TargetNotFound",e[e.FirmwareUpdateCC_FailedToStart=1503]="FirmwareUpdateCC_FailedToStart",e[e.FirmwareUpdateCC_FailedToAbort=1504]="FirmwareUpdateCC_FailedToAbort",e[e.FirmwareUpdateCC_Timeout=1505]="FirmwareUpdateCC_Timeout",e[e.Invalid_Firmware_File=1506]="Invalid_Firmware_File",e[e.Unsupported_Firmware_Format=1507]="Unsupported_Firmware_Format",e[e.PowerlevelCC_UnsupportedTestNode=1600]="PowerlevelCC_UnsupportedTestNode"})(Nt=Fe.ZWaveErrorCodes||(Fe.ZWaveErrorCodes={}));function vf(e){return`ZW${(0,sy.padStart)(e.toString(),4,"0")}`}Fe.getErrorSuffix=vf;function cy(e,t){let r=` (${vf(t)})`;return e.endsWith(r)||(e+=r),e}var xn=class extends Error{constructor(t,r,n,o){super(),this.message=t,this.code=r,this.context=n,this.transactionSource=o,this.message=cy(t,r),Object.setPrototypeOf(this,xn.prototype),Object.getPrototypeOf(this).name="ZWaveError",typeof o=="string"&&(this.stack=`ZWaveError: ${this.message} ${o}`)}};Fe.ZWaveError=xn;function Ea(e){return e instanceof Error&&Object.getPrototypeOf(e).name==="ZWaveError"}Fe.isZWaveError=Ea;function ly(e){return Ea(e)&&(e.code===Nt.Controller_Timeout||e.code===Nt.Controller_MessageDropped||e.code===Nt.Controller_CallbackNOK||e.code===Nt.Controller_ResponseNOK||e.code===Nt.Controller_NodeTimeout||e.code===Nt.Security2CC_CannotDecode)}Fe.isTransmissionError=ly;function uy(e){if(!Ea(e))return!1;switch(e.code){case Nt.Controller_InterviewRestarted:case Nt.Controller_NodeRemoved:return!0}return!1}Fe.isRecoverableZWaveError=uy});var ui=D(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.getLegalRangeForBitMask=_e.getBitMaskWidth=_e.getMinimumShiftForBitMask=_e.validatePayload=_e.stripUndefined=_e.isConsecutiveArray=void 0;var bf=Fr();function dy(e){return e.every((t,r,n)=>r===0?!0:t-1===n[r-1])}_e.isConsecutiveArray=dy;function fy(e){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=n);return t}_e.stripUndefined=fy;function kf(e,...t){if(!t.every(Boolean))throw new bf.ZWaveError("The message payload is invalid!",bf.ZWaveErrorCodes.PacketFormat_InvalidPayload,e)}_e.validatePayload=kf.bind(void 0,void 0);_e.validatePayload.withReason=e=>kf.bind(void 0,e);_e.validatePayload.fail=e=>_e.validatePayload.withReason(e)(!1);function Sf(e){let t=0;for(;e%2===0&&(e>>>=1,e!==0);)t++;return t}_e.getMinimumShiftForBitMask=Sf;function Bf(e){e=e>>>Sf(e);let t=0;for(;e>0;)e>>>=1,t++;return t}_e.getBitMaskWidth=Bf;function py(e,t){if(e===0)return[0,0];let r=Bf(e),n=t||r==1?0:-(2**(r-1)),o=t||r==1?2**r-1:2**(r-1)-1;return[n,o]}_e.getLegalRangeForBitMask=py});var If=D(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.encodeNodeInformationFrame=V.parseNodeInformationFrame=V.encodeNodeProtocolInfoAndDeviceClass=V.parseNodeProtocolInfoAndDeviceClass=V.encodeNodeProtocolInfo=V.parseNodeProtocolInfo=V.NodeType=V.ProtocolVersion=V.encodeCCList=V.parseCCList=V.encodeCCId=V.parseCCId=V.isExtendedCCId=V.encodeNodeUpdatePayload=V.parseNodeUpdatePayload=V.parseApplicationNodeInformation=void 0;var wf=hr(),Er=ui(),xf=Fa();function Rf(e){return(0,Er.validatePayload)(e.length>=2),{genericDeviceClass:e[0],specificDeviceClass:e[1],supportedCCs:La(e.slice(2)).supportedCCs}}V.parseApplicationNodeInformation=Rf;function gy(e){let t=e[0],r=e[1];return(0,Er.validatePayload)(e.length>=2+r),{nodeId:t,basicDeviceClass:e[2],...Rf(e.slice(3,2+r))}}V.parseNodeUpdatePayload=gy;function my(e){let t=za(e.supportedCCs,[]);return Buffer.concat([Buffer.from([e.nodeId,3+t.length,e.basicDeviceClass,e.genericDeviceClass,e.specificDeviceClass]),t])}V.encodeNodeUpdatePayload=my;function Rn(e){return e>=241}V.isExtendedCCId=Rn;function _f(e,t=0){let r=Rn(e[t]);return(0,Er.validatePayload)(e.length>=t+(r?2:1)),r?{ccId:e.readUInt16BE(t),bytesRead:2}:{ccId:e.readUInt8(t),bytesRead:1}}V.parseCCId=_f;function qa(e,t,r=0){return Rn(e)?(t.writeUInt16BE(e,r),2):(t.writeUInt8(e,r),1)}V.encodeCCId=qa;function La(e){let t={supportedCCs:[],controlledCCs:[]},r=0,n=!1;for(;rRn(i)?2:1))+(t.length>0?1:0)+(0,wf.sum)(t.map(i=>Rn(i)?2:1)),n=Buffer.allocUnsafe(r),o=0;for(let i of e)o+=qa(i,n,o);if(t.length>0){n[o++]=xf.CommandClasses["Support/Control Mark"];for(let i of t)o+=qa(i,n,o)}return n}V.encodeCCList=za;var hy;(function(e){e[e.unknown=0]="unknown",e[e["2.0"]=1]="2.0",e[e["4.2x / 5.0x"]=2]="4.2x / 5.0x",e[e["4.5x / 6.0x"]=3]="4.5x / 6.0x"})(hy=V.ProtocolVersion||(V.ProtocolVersion={}));var di;(function(e){e[e.Controller=0]="Controller",e[e["Routing End Node"]=1]="Routing End Node",e[e["End Node"]=1]="End Node"})(di=V.NodeType||(V.NodeType={}));function Cf(e,t){(0,Er.validatePayload)(e.length>=t+3);let r=!!(e[t]&128),n=!!(e[t]&64),o=[],i=e[t]&24,a=e[t+2]&7;i&16&&o.push(4e4),i&8&&o.push(9600),a&1&&o.push(1e5),o.length===0&&o.push(9600);let s=e[t]&7,c=e[t+1],u=!!(c&128),f;switch(c&96){case 64:f="1000ms";break;case 32:f="250ms";break;default:f=!1}let d=!!(c&16),h;switch(c&10){case 8:h=di["End Node"];break;case 2:default:h=di.Controller;break}let y=!!(c&4),x=!!(c&1);return{isListening:r,isFrequentListening:f,isRouting:n,supportedDataRates:o,protocolVersion:s,optionalFunctionality:u,nodeType:h,supportsSecurity:x,supportsBeaming:d,hasSpecificDeviceClass:y}}V.parseNodeProtocolInfo=Cf;function Nf(e){let t=Buffer.alloc(3,0);return e.isListening&&(t[0]|=128),e.isRouting&&(t[0]|=64),e.supportedDataRates.includes(4e4)&&(t[0]|=16),e.supportedDataRates.includes(9600)&&(t[0]|=8),e.supportedDataRates.includes(1e5)&&(t[2]|=1),t[0]|=e.protocolVersion&7,e.optionalFunctionality&&(t[1]|=128),e.isFrequentListening==="1000ms"?t[1]|=64:e.isFrequentListening==="250ms"&&(t[1]|=32),e.supportsBeaming&&(t[1]|=16),e.supportsSecurity&&(t[1]|=1),e.nodeType===di["End Node"]?t[1]|=8:t[1]|=2,e.hasSpecificDeviceClass&&(t[1]|=4),t}V.encodeNodeProtocolInfo=Nf;function Pf(e){(0,Er.validatePayload)(e.length>=5);let t=Cf(e,0),r=3,n=e[r++],o=e[r++],i=0;return t.hasSpecificDeviceClass&&((0,Er.validatePayload)(e.length>=r+1),i=e[r++]),{info:{...t,basicDeviceClass:n,genericDeviceClass:o,specificDeviceClass:i},bytesRead:r}}V.parseNodeProtocolInfoAndDeviceClass=Pf;function Of(e){return Buffer.concat([Nf({...e,hasSpecificDeviceClass:!0}),Buffer.from([e.basicDeviceClass,e.genericDeviceClass,e.specificDeviceClass])])}V.encodeNodeProtocolInfoAndDeviceClass=Of;function yy(e){let{info:t,bytesRead:r}=Pf(e),n=La(e.slice(r)).supportedCCs;return{...t,supportedCCs:n}}V.parseNodeInformationFrame=yy;function vy(e){return Buffer.concat([Of(e),za(e.supportedCCs,[])])}V.encodeNodeInformationFrame=vy});var Mf=D(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.ProtocolType=ye.protocolDataRateMask=ye.RouteProtocolDataRate=ye.protocolDataRateToString=ye.ProtocolDataRate=ye.ZWaveDataRate=ye.Protocols=void 0;var by=hr(),ky;(function(e){e[e.ZWave=0]="ZWave",e[e.ZWaveLongRange=1]="ZWaveLongRange"})(ky=ye.Protocols||(ye.Protocols={}));var Sy;(function(e){e[e["9k6"]=1]="9k6",e[e["40k"]=2]="40k",e[e["100k"]=3]="100k"})(Sy=ye.ZWaveDataRate||(ye.ZWaveDataRate={}));var _n;(function(e){e[e.ZWave_9k6=1]="ZWave_9k6",e[e.ZWave_40k=2]="ZWave_40k",e[e.ZWave_100k=3]="ZWave_100k",e[e.LongRange_100k=4]="LongRange_100k"})(_n=ye.ProtocolDataRate||(ye.ProtocolDataRate={}));function By(e){switch(e){case _n.ZWave_9k6:return"Z-Wave, 9.6 kbit/s";case _n.ZWave_40k:return"Z-Wave, 40 kbit/s";case _n.ZWave_100k:return"Z-Wave, 100 kbit/s";case _n.LongRange_100k:return"Z-Wave Long Range, 100 kbit/s"}return`Unknown (${(0,by.num2hex)(e)})`}ye.protocolDataRateToString=By;var wy;(function(e){e[e.Unspecified=0]="Unspecified",e[e.ZWave_9k6=1]="ZWave_9k6",e[e.ZWave_40k=2]="ZWave_40k",e[e.ZWave_100k=3]="ZWave_100k",e[e.LongRange_100k=4]="LongRange_100k"})(wy=ye.RouteProtocolDataRate||(ye.RouteProtocolDataRate={}));ye.protocolDataRateMask=7;var xy;(function(e){e[e["Z-Wave"]=0]="Z-Wave",e[e["Z-Wave AV"]=1]="Z-Wave AV",e[e["Z-Wave for IP"]=2]="Z-Wave for IP"})(xy=ye.ProtocolType||(ye.ProtocolType={}))});var Df=D(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.RFRegion=void 0;var Ry;(function(e){e[e.Europe=0]="Europe",e[e.USA=1]="USA",e[e["Australia/New Zealand"]=2]="Australia/New Zealand",e[e["Hong Kong"]=3]="Hong Kong",e[e.India=5]="India",e[e.Israel=6]="Israel",e[e.Russia=7]="Russia",e[e.China=8]="China",e[e["USA (Long Range)"]=9]="USA (Long Range)",e[e.Japan=32]="Japan",e[e.Korea=33]="Korea",e[e.Unknown=254]="Unknown",e[e["Default (EU)"]=255]="Default (EU)"})(Ry=Cn.RFRegion||(Cn.RFRegion={}))});var Af=D(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0})});var Ff=D(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.InterviewStage=void 0;var _y;(function(e){e[e.None=0]="None",e[e.ProtocolInfo=1]="ProtocolInfo",e[e.NodeInfo=2]="NodeInfo",e[e.CommandClasses=3]="CommandClasses",e[e.OverwriteConfig=4]="OverwriteConfig",e[e.Complete=5]="Complete"})(_y=Nn.InterviewStage||(Nn.InterviewStage={}))});var Ef=D(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.NodeStatus=void 0;var Cy;(function(e){e[e.Unknown=0]="Unknown",e[e.Asleep=1]="Asleep",e[e.Awake=2]="Awake",e[e.Dead=3]="Dead",e[e.Alive=4]="Alive"})(Cy=Pn.NodeStatus||(Pn.NodeStatus={}))});var zf=D(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.isUnsupervisedOrSucceeded=G.supervisedCommandFailed=G.supervisedCommandSucceeded=G.isSupervisionResult=G.SupervisionStatus=G.EncapsulationFlags=G.rssiToString=G.isRssiError=G.RssiError=G.TransmitStatus=G.TransmitOptions=G.isMessagePriority=G.MessagePriority=void 0;var Ny=Un(),qf;(function(e){e[e.Nonce=0]="Nonce",e[e.Controller=1]="Controller",e[e.MultistepController=2]="MultistepController",e[e.Supervision=3]="Supervision",e[e.Ping=4]="Ping",e[e.WakeUp=5]="WakeUp",e[e.Normal=6]="Normal",e[e.NodeQuery=7]="NodeQuery",e[e.Poll=8]="Poll"})(qf=G.MessagePriority||(G.MessagePriority={}));function Py(e){return typeof e=="number"&&e in qf}G.isMessagePriority=Py;var Oy;(function(e){e[e.NotSet=0]="NotSet",e[e.ACK=1]="ACK",e[e.LowPower=2]="LowPower",e[e.AutoRoute=4]="AutoRoute",e[e.NoRoute=16]="NoRoute",e[e.Explore=32]="Explore",e[e.DEFAULT=37]="DEFAULT",e[e.DEFAULT_NOACK=36]="DEFAULT_NOACK"})(Oy=G.TransmitOptions||(G.TransmitOptions={}));var Iy;(function(e){e[e.OK=0]="OK",e[e.NoAck=1]="NoAck",e[e.Fail=2]="Fail",e[e.NotIdle=3]="NotIdle",e[e.NoRoute=4]="NoRoute"})(Iy=G.TransmitStatus||(G.TransmitStatus={}));var On;(function(e){e[e.NotAvailable=127]="NotAvailable",e[e.ReceiverSaturated=126]="ReceiverSaturated",e[e.NoSignalDetected=125]="NoSignalDetected"})(On=G.RssiError||(G.RssiError={}));function My(e){return e>=On.NoSignalDetected}G.isRssiError=My;function Dy(e){switch(e){case On.NotAvailable:return"N/A";case On.ReceiverSaturated:return"Receiver saturated";case On.NoSignalDetected:return"No signal detected";default:return`${e} dBm`}}G.rssiToString=Dy;var Ty;(function(e){e[e.None=0]="None",e[e.Supervision=1]="Supervision",e[e.Security=2]="Security",e[e.CRC16=4]="CRC16"})(Ty=G.EncapsulationFlags||(G.EncapsulationFlags={}));var qr;(function(e){e[e.NoSupport=0]="NoSupport",e[e.Working=1]="Working",e[e.Fail=2]="Fail",e[e.Success=255]="Success"})(qr=G.SupervisionStatus||(G.SupervisionStatus={}));function Ha(e){return(0,Ny.isObject)(e)&&"status"in e&&typeof qr[e.status]=="string"}G.isSupervisionResult=Ha;function Lf(e){return Ha(e)&&(e.status===qr.Success||e.status===qr.Working)}G.supervisedCommandSucceeded=Lf;function Ay(e){return Ha(e)&&(e.status===qr.Fail||e.status===qr.NoSupport)}G.supervisedCommandFailed=Ay;function Fy(e){return!e||Lf(e)}G.isUnsupervisedOrSucceeded=Fy});var Hf=D(oe=>{"use strict";var Ey=oe&&oe.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),qy=oe&&oe.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ey(t,e,r)};Object.defineProperty(oe,"__esModule",{value:!0});oe.MAX_SUPERVISION_SESSION_ID=oe.NodeStatus=oe.InterviewStage=oe.MAX_REPEATERS=oe.HOMEID_BYTES=oe.NUM_NODEMASK_BYTES=oe.NODE_ID_MAX=oe.NODE_ID_BROADCAST=oe.MAX_NODES=void 0;oe.MAX_NODES=232;oe.NODE_ID_BROADCAST=255;oe.NODE_ID_MAX=oe.MAX_NODES;oe.NUM_NODEMASK_BYTES=oe.MAX_NODES/8;oe.HOMEID_BYTES=4;oe.MAX_REPEATERS=4;var Ly=Ff();Object.defineProperty(oe,"InterviewStage",{enumerable:!0,get:function(){return Ly.InterviewStage}});var zy=Ef();Object.defineProperty(oe,"NodeStatus",{enumerable:!0,get:function(){return zy.NodeStatus}});qy(zf(),oe);oe.MAX_SUPERVISION_SESSION_ID=63});var jf=D(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.stringToNodeList=le.getNodeTag=le.LOG_PREFIX_WIDTH=le.LOG_WIDTH=le.directionPrefixPadding=le.CONTROL_CHAR_WIDTH=le.getDirectionPrefix=le.channelPadding=le.timestampPadding=le.timestampPaddingShort=le.timestampFormatShort=void 0;var Hy=Et();le.timestampFormatShort="HH:mm:ss.SSS";le.timestampPaddingShort=" ".repeat(le.timestampFormatShort.length+1);le.timestampPadding=" ".repeat(new Date().toISOString().length+1);le.channelPadding=" ".repeat(7);function jy(e){return e==="inbound"?"\xAB ":e==="outbound"?"\xBB ":" "}le.getDirectionPrefix=jy;le.CONTROL_CHAR_WIDTH=2;le.directionPrefixPadding=" ".repeat(le.CONTROL_CHAR_WIDTH);le.LOG_WIDTH=80;le.LOG_PREFIX_WIDTH=20;function Uy(e){return"Node "+(0,Hy.padStart)(e.toString(),3,"0")}le.getNodeTag=Uy;function Ky(e){if(!!e)return e.split(",").map(t=>parseInt(t)).filter(t=>!Number.isNaN(t))}le.stringToNodeList=Ky});var Kf=D(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.authHomeIdFromDSK=Ye.nwiHomeIdFromDSK=Ye.dskFromString=Ye.dskToString=Ye.isValidDSK=void 0;var $y=Et(),fi=Fr();function Uf(e){return/^(\d{5}-){7}\d{5}$/.test(e)}Ye.isValidDSK=Uf;function Vy(e){if(e.length!==16)throw new fi.ZWaveError(`DSK length must be 16 bytes, got ${e.length}`,fi.ZWaveErrorCodes.Argument_Invalid);let t="";for(let r=0;r<16;r+=2)r>0&&(t+="-"),t+=(0,$y.padStart)(e.readUInt16BE(r).toString(10),5,"0");return t}Ye.dskToString=Vy;function Xy(e){if(!Uf(e))throw new fi.ZWaveError('The DSK must be in the form "aaaaa-bbbbb-ccccc-ddddd-eeeee-fffff-11111-22222"',fi.ZWaveErrorCodes.Argument_Invalid);let t=Buffer.allocUnsafe(16),r=e.split("-");for(let n=0;n<8;n++){let o=parseInt(r[n],10);t.writeUInt16BE(o,n*2)}return t}Ye.dskFromString=Xy;function Gy(e){let t=Buffer.allocUnsafe(4);return e.copy(t,0,8,12),t[0]|=192,t[3]&=254,t}Ye.nwiHomeIdFromDSK=Gy;function Qy(e){let t=Buffer.allocUnsafe(4);return e.copy(t,0,12,16),t[0]&=63,t[3]|=1,t}Ye.authHomeIdFromDSK=Qy});var $f=D(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.getHighestSecurityClass=Je.securityClassOrder=Je.securityClassIsS2=Je.SecurityClass=void 0;var Wt;(function(e){e[e.Temporary=-2]="Temporary",e[e.None=-1]="None",e[e.S2_Unauthenticated=0]="S2_Unauthenticated",e[e.S2_Authenticated=1]="S2_Authenticated",e[e.S2_AccessControl=2]="S2_AccessControl",e[e.S0_Legacy=7]="S0_Legacy"})(Wt=Je.SecurityClass||(Je.SecurityClass={}));function Wy(e){return e!=null&&e>=Wt.S2_Unauthenticated&&e<=Wt.S2_AccessControl}Je.securityClassIsS2=Wy;Je.securityClassOrder=[Wt.S2_AccessControl,Wt.S2_Authenticated,Wt.S2_Unauthenticated,Wt.S0_Legacy];function Yy(e){for(let t of Je.securityClassOrder)if(e.includes(t))return t;return Wt.None}Je.getHighestSecurityClass=Yy});var Vf=D(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.assertZWaveError=void 0;function Jy(e,t={}){let{messageMatches:r,errorCode:n,context:o}=t;function i(c){expect(c.constructor.name).toBe("ZWaveError"),expect(c.code).toBeNumber()}function a(c){i(c),r!=null&&expect(c.message).toMatch(r),n!=null&&expect(c.code).toBe(n),o!=null&&expect(c.context).toBe(o)}function s(){throw new Error("The factory function did not throw any error!")}if(typeof e=="function"){try{let c=e();if(c instanceof Promise)return c.then(s,a)}catch(c){return void a(c)}s()}else a(e)}pi.assertZWaveError=Jy});var Xf=D(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.CRC16_CCITT=void 0;function Zy(e,t=7439){let r=t,n=4129;for(let o=0;o>=1){let a=!!(e[o]&i)!=!!(r&32768);r<<=1,a&&(r^=n)}return r&65535}gi.CRC16_CCITT=Zy});var Gf=D(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.topologicalSort=Lr.GraphNode=void 0;var ja=class{constructor(t,r=[]){this.value=t,this.edges=new Set(r)}};Lr.GraphNode=ja;function ev(e){let t=[];for(;e.length;){let r=e.filter(o=>o.edges.size===0);if(!r.length)throw new Error("Circular dependency detected!");let n=r.map(o=>o.value);t.push(...n),e=e.filter(o=>o.edges.size>0);for(let o of e)for(let i of r)o.edges.delete(i)}return t}Lr.topologicalSort=ev});var Wf=D(Qf=>{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0})});var Ua=D(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.roundTo=zr.clamp=void 0;function tv(e,t,r){return t>r&&([t,r]=[r,t]),er?r:e}zr.clamp=tv;function rv(e,t){let r=Math.pow(10,t);return Math.round(e*r)/r}zr.roundTo=rv});var Ka=D(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.Duration=void 0;var nv=Ua(),Yf=Fr(),ov=/^(?:(?\d+)h)?(?:(?\d+)m)?(?:(?\d+)s)?$/i,He=class{constructor(t,r){switch(this.unit=r,r){case"minutes":t===0&&(this.unit="seconds");break;case"unknown":case"default":t=0;break}this.value=t}get value(){return this._value}set value(t){this._value=(0,nv.clamp)(t,0,127)}static parseReport(t){if(t==null||t===255)return;if(t===254)return new He(0,"unknown");let r=!!(t&128),n=(t&127)+(r?1:0);return new He(n,r?"minutes":"seconds")}static parseSet(t){if(t==null)return;if(t===255)return new He(0,"default");let r=!!(t&128),n=(t&127)+(r?1:0);return new He(n,r?"minutes":"seconds")}static parseString(t){if(!t.length)return;if(t==="default")return new He(0,"default");let r=ov.exec(t);if(!r)return;let{hoursStr:n,minutesStr:o,secondsStr:i}=r.groups,a=n?parseInt(n):0,s=o?parseInt(o):0,c=i?parseInt(i):0;if(a){if(a*60+s<=127)return new He(60*a+s,"minutes")}else return s*60+c>127?new He(s+Math.round(c/60),"minutes"):new He(s*60+c,"seconds")}static from(t){return t instanceof He?t:t?He.parseString(t):void 0}serializeSet(){if(this.unit==="default")return 255;if(this.unit==="unknown")throw new Yf.ZWaveError("Set commands don't support unknown durations",Yf.ZWaveErrorCodes.CC_Invalid);let t=this.unit==="minutes",r=t?128:0;return r+=this._value-(t?1:0)&127,r}serializeReport(){if(this.unit==="unknown")return 254;let t=this.unit==="minutes",r=t?128:0;return r+=this._value-(t?1:0)&127,r}toJSON(){return this.unit==="default"||this.unit==="unknown"?this.unit:{value:this.value,unit:this.unit}}toMilliseconds(){switch(this.unit){case"minutes":return this._value*6e4;case"seconds":return this._value*1e3}}toString(){let t="";switch(this.unit){case"minutes":return this._value>60&&(t+=`${Math.floor(this._value/60)}h`),t+=`${this._value%60}m`,t;case"seconds":return this._value>60&&(t+=`${Math.floor(this._value/60)}m`),t+=`${this._value%60}s`,t;default:return this.unit}}};mi.Duration=He});var tp=D(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.deserializeCacheValue=Hr.serializeCacheValue=void 0;var iv=Ts(),$a=Un(),Jf=Ka(),In="$$type$$";function Zf(e){if(e instanceof Map)return{...(0,iv.composeObject)([...e.entries()].map(([t,r])=>[t,Zf(r)])),[In]:"map"};if(e instanceof Jf.Duration){let t=e.toJSON();return{...typeof t=="string"?{unit:t}:t,[In]:"duration"}}else{if(Buffer.isBuffer(e))return{[In]:"buffer",data:e.toString("hex")};if(typeof e=="number"||typeof e=="string"||typeof e=="boolean"||(0,$a.isObject)(e)||(0,$a.isArray)(e))return e}}Hr.serializeCacheValue=Zf;function ep(e){var t;if((0,$a.isObject)(e)){let r=e[In];if(r==="map"){let{[In]:n,...o}=e;return new Map(Object.entries(o).map(([i,a])=>[/^\d+$/.test(i)?parseInt(i,10):i,a]).map(([i,a])=>[i,ep(a)]))}else{if(r==="duration")return new Jf.Duration((t=e.value)!=null?t:1,e.unit);if(r==="buffer")return Buffer.from(e.data,"hex")}}return e}Hr.deserializeCacheValue=ep});var rp=D(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.CacheBackedMap=void 0;var Va=class{constructor(t,r){this.cache=t,this.cacheKeys=r,this.map=new Map;for(let[n,o]of this.cache.entries())if(n.startsWith(this.cacheKeys.prefix)){let i=n.substring(this.cacheKeys.prefix.length),a=this.cacheKeys.suffixDeserializer(i);a!==void 0&&this.map.set(a,o)}this.forEach=this.map.forEach.bind(this.map),this.get=this.map.get.bind(this.map),this.has=this.map.has.bind(this.map),this.entries=this.map.entries.bind(this.map),this.keys=this.map.keys.bind(this.map),this.values=this.map.values.bind(this.map),this[Symbol.iterator]=this.map[Symbol.iterator].bind(this.map)}keyToCacheKey(t){return this.cacheKeys.prefix+this.cacheKeys.suffixSerializer(t)}clear(){for(let t of this.map.keys())this.cache.delete(this.keyToCacheKey(t));this.map.clear()}delete(t){let r=this.map.delete(t);return r&&this.cache.delete(this.keyToCacheKey(t)),r}set(t,r){return this.map.set(t,r),this.cache.set(this.keyToCacheKey(t),r),this}get size(){return this.map.size}get[Symbol.toStringTag](){return"Map"}};hi.CacheBackedMap=Va});var Xa=D(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.encodePartial=H.parsePartial=H.encodeBitMask=H.parseBitMask=H.encodeFloatWithScale=H.getIntegerLimits=H.getMinIntegerSize=H.IntegerLimits=H.parseFloatWithScale=H.parseNumber=H.parseMaybeNumber=H.encodeMaybeBoolean=H.encodeBoolean=H.parseBoolean=H.parseMaybeBoolean=H.unknownBoolean=H.unknownNumber=void 0;var np=Fr(),jr=ui();H.unknownNumber="unknown";H.unknownBoolean="unknown";function av(e,t=!0){return e===254?t?H.unknownBoolean:void 0:op(e)}H.parseMaybeBoolean=av;function op(e){return e===0?!1:e===255?!0:void 0}H.parseBoolean=op;function sv(e){return e?255:0}H.encodeBoolean=sv;function cv(e){return e==="unknown"?254:e?255:0}H.encodeMaybeBoolean=cv;function lv(e){return e===254?H.unknownNumber:ip(e)}H.parseMaybeNumber=lv;function ip(e){return e<=99?e:e===255?99:void 0}H.parseNumber=ip;function uv(e,t=!1){(0,jr.validatePayload)(e.length>=1);let r=(e[0]&224)>>>5,n=(e[0]&24)>>>3,o=e[0]&7;return t&&o===0?((0,jr.validatePayload)(r===0,n===0),{bytesRead:1}):((0,jr.validatePayload)(o>=1,o<=4,e.length>=1+o),{value:e.readIntBE(1,o)/Math.pow(10,r),scale:n,bytesRead:1+o})}H.parseFloatWithScale=uv;function dv(e){if(!Number.isFinite(e))return 0;let t=1,r=0;for(;Math.round(e*t)/t!==e;)t*=10,r++;return r}H.IntegerLimits=Object.freeze({UInt8:Object.freeze({min:0,max:255}),UInt16:Object.freeze({min:0,max:65535}),UInt24:Object.freeze({min:0,max:16777215}),UInt32:Object.freeze({min:0,max:4294967295}),Int8:Object.freeze({min:-128,max:127}),Int16:Object.freeze({min:-32768,max:32767}),Int24:Object.freeze({min:-8388608,max:8388607}),Int32:Object.freeze({min:-2147483648,max:2147483647})});function ap(e,t){if(t){if(e>=H.IntegerLimits.Int8.min&&e<=H.IntegerLimits.Int8.max)return 1;if(e>=H.IntegerLimits.Int16.min&&e<=H.IntegerLimits.Int16.max)return 2;if(e>=H.IntegerLimits.Int32.min&&e<=H.IntegerLimits.Int32.max)return 4}else if(e>=0){if(e<=H.IntegerLimits.UInt8.max)return 1;if(e<=H.IntegerLimits.UInt16.max)return 2;if(e<=H.IntegerLimits.UInt32.max)return 4}}H.getMinIntegerSize=ap;function fv(e,t){return H.IntegerLimits[`${t?"":"U"}Int${e*8}`]}H.getIntegerLimits=fv;function pv(e,t,r={}){var a;let n=(a=r.precision)!=null?a:Math.min(dv(e),7);e=Math.round(e*Math.pow(10,n));let o=ap(e,!0);if(o==null)throw new np.ZWaveError(`Cannot encode the value ${e} because its too large or too small to fit into 4 bytes`,np.ZWaveErrorCodes.Arithmetic);r.size!=null&&r.size>o&&(o=r.size);let i=Buffer.allocUnsafe(1+o);return i[0]=(n&7)<<5|(t&3)<<3|o&7,i.writeIntBE(e,1,o),i}H.encodeFloatWithScale=pv;function gv(e,t=1){let r=e.length*8,n=[];for(let o=1;o<=r;o++){let i=o-1>>>3,a=(o-1)%8;(e[i]&2**a)!==0&&n.push(o+t-1)}return n}H.parseBitMask=gv;function mv(e,t,r=1){let n=Math.ceil((t-r+1)/8),o=Buffer.alloc(n,0);for(let i=r;i<=t;i++){if(e.indexOf(i)===-1)continue;let a=i-r>>>3,s=(i-r)%8;o[a]|=2**s}return o}H.encodeBitMask=mv;function hv(e,t,r){let n=(0,jr.getMinimumShiftForBitMask)(t),o=(0,jr.getBitMaskWidth)(t),i=(e&t)>>>n;return r&&!!(i&2**(o-1))&&(i=~(~i&t>>>n)),i}H.parsePartial=hv;function yv(e,t,r){return(e&~r|t<<(0,jr.getMinimumShiftForBitMask)(r)&r)>>>0}H.encodePartial=yv});var cp=D(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.ValueMetadata=nt.ConfigValueFormat=nt.enumValuesToMetadataStates=nt.getNumericEnumValues=void 0;var vv=hr(),Yt=Xa(),bv=/^\d+$/;function sp(e){return Object.keys(e).filter(t=>bv.test(t)).map(t=>parseInt(t,10))}nt.getNumericEnumValues=sp;function kv(e,t){let r={};t==null&&(t=sp(e));for(let n of t)r[n]=(0,vv.getEnumMemberName)(e,n);return r}nt.enumValuesToMetadataStates=kv;var Ur=()=>e=>e,yi=Ur(),ee=Ur(),Ga=Ur(),Kr=Ur(),Qa=Ur(),Wa=Ur(),Sv;(function(e){e[e.SignedInteger=0]="SignedInteger",e[e.UnsignedInteger=1]="UnsignedInteger",e[e.Enumerated=2]="Enumerated",e[e.BitField=3]="BitField"})(Sv=nt.ConfigValueFormat||(nt.ConfigValueFormat={}));var Oe=yi({type:"any",readable:!0,writeable:!0}),Ie={writeable:!1},Me={readable:!1},Bv=yi({...Oe}),wv=yi({...Oe,...Ie}),xv=yi({...Oe,...Me}),Ya=Ga({...Oe,type:"boolean"}),Rv=Ga({...Ya,...Ie}),_v=Ga({...Ya,...Me}),Ja=ee({...Oe,type:"number"}),Cv=ee({...Ja,...Ie}),Nv=ee({...Ja,...Me}),vi=ee({...Oe,type:"number",...Yt.IntegerLimits.UInt8}),Pv=ee({...vi,...Ie}),Ov=ee({...vi,...Me}),Za=ee({...Oe,type:"number",...Yt.IntegerLimits.UInt16}),Iv=ee({...Za,...Ie}),Mv=ee({...Za,...Me}),es=ee({...Oe,type:"number",...Yt.IntegerLimits.UInt24}),Dv=ee({...es,...Ie}),Tv=ee({...es,...Me}),ts=ee({...Oe,type:"number",...Yt.IntegerLimits.UInt32}),Av=ee({...ts,...Ie}),Fv=ee({...ts,...Me}),rs=ee({...Oe,type:"number",...Yt.IntegerLimits.Int8}),Ev=ee({...rs,...Ie}),qv=ee({...rs,...Me}),ns=ee({...Oe,type:"number",...Yt.IntegerLimits.Int16}),Lv=ee({...ns,...Ie}),zv=ee({...ns,...Me}),os=ee({...Oe,type:"number",...Yt.IntegerLimits.Int24}),Hv=ee({...os,...Ie}),jv=ee({...os,...Me}),is=ee({...Oe,type:"number",...Yt.IntegerLimits.Int32}),Uv=ee({...is,...Ie}),Kv=ee({...is,...Me}),bi=Kr({...Oe,type:"string"}),$v=Kr({...bi,...Ie}),Vv=Kr({...bi,...Me}),as=Kr({...bi,type:"color"}),Xv=Kr({...as,...Ie}),Gv=Kr({...as,...Me}),ss=ee({...vi,max:99}),Qv=ee({...ss,...Ie}),Wv=ee({...ss,...Me}),cs=Wa({...Oe,type:"duration"}),Yv=Wa({...cs,...Ie}),Jv=Wa({...cs,...Me}),ls=Qa({...Oe,type:"buffer"}),Zv=Qa({...ls,...Ie}),eb=Qa({...ls,...Me});nt.ValueMetadata={Any:Object.freeze(Bv),ReadOnly:Object.freeze(wv),WriteOnly:Object.freeze(xv),Number:Object.freeze(Ja),ReadOnlyNumber:Object.freeze(Cv),WriteOnlyNumber:Object.freeze(Nv),UInt8:Object.freeze(vi),UInt16:Object.freeze(Za),UInt24:Object.freeze(es),UInt32:Object.freeze(ts),Int8:Object.freeze(rs),Int16:Object.freeze(ns),Int24:Object.freeze(os),Int32:Object.freeze(is),ReadOnlyUInt8:Object.freeze(Pv),ReadOnlyUInt16:Object.freeze(Iv),ReadOnlyUInt24:Object.freeze(Dv),ReadOnlyUInt32:Object.freeze(Av),ReadOnlyInt8:Object.freeze(Ev),ReadOnlyInt16:Object.freeze(Lv),ReadOnlyInt24:Object.freeze(Hv),ReadOnlyInt32:Object.freeze(Uv),WriteOnlyUInt8:Object.freeze(Ov),WriteOnlyUInt16:Object.freeze(Mv),WriteOnlyUInt24:Object.freeze(Tv),WriteOnlyUInt32:Object.freeze(Fv),WriteOnlyInt8:Object.freeze(qv),WriteOnlyInt16:Object.freeze(zv),WriteOnlyInt24:Object.freeze(jv),WriteOnlyInt32:Object.freeze(Kv),Level:Object.freeze(ss),ReadOnlyLevel:Object.freeze(Qv),WriteOnlyLevel:Object.freeze(Wv),Boolean:Object.freeze(Ya),ReadOnlyBoolean:Object.freeze(Rv),WriteOnlyBoolean:Object.freeze(_v),String:Object.freeze(bi),ReadOnlyString:Object.freeze($v),WriteOnlyString:Object.freeze(Vv),Color:Object.freeze(as),ReadOnlyColor:Object.freeze(Xv),WriteOnlyColor:Object.freeze(Gv),Duration:Object.freeze(cs),ReadOnlyDuration:Object.freeze(Yv),WriteOnlyDuration:Object.freeze(Jv),Buffer:Object.freeze(ls),ReadOnlyBuffer:Object.freeze(Zv),WriteOnlyBuffer:Object.freeze(eb)}});var lp=D(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.Timeout=void 0;var tb=Ua(),$r=class{constructor(t,r){switch(this.unit=r,t===0&&(this.unit="none"),r){case"none":case"infinite":t=0;break}this.value=t}get value(){return this._value}set value(t){this._value=(0,tb.clamp)(t,0,this.unit==="seconds"?60:191)}static parse(t){if(t==null)return;if(t===255)return new $r(0,"infinite");let r=!!(t&64),n=(t&63)+(r?1:0);return new $r(n,r?"minutes":"seconds")}serialize(){return this.unit==="infinite"?255:this.unit==="none"?0:(this.unit==="minutes"?64:0)|this._value&63}toJSON(){return this.unit==="none"||this.unit==="infinite"?this.unit:{value:this.value,unit:this.unit}}toMilliseconds(){switch(this.unit){case"none":return 0;case"minutes":return this._value*6e4;case"seconds":return this._value*1e3;case"infinite":return Number.POSITIVE_INFINITY}}toString(){switch(this.unit){case"minutes":return`[Timeout: ${this._value}${this.value===1?"minute":"minutes"}]`;case"seconds":return`[Timeout: ${this._value}${this.value===1?"second":"seconds"}]`;default:return`[Timeout: ${this.unit}]`}}};ki.Timeout=$r});var dp=D(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0})});var mt=D(Y=>{"use strict";var rb=Y&&Y.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),ie=Y&&Y.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&rb(t,e,r)};Object.defineProperty(Y,"__esModule",{value:!0});ie(Yd(),Y);ie(Zd(),Y);ie(tf(),Y);ie(Fa(),Y);ie(hf(),Y);ie(yf(),Y);ie(If(),Y);ie(Mf(),Y);ie(Df(),Y);ie(Af(),Y);ie(Hf(),Y);ie(Fr(),Y);ie(jf(),Y);ie(Kf(),Y);ie($f(),Y);ie(Vf(),Y);ie(Xf(),Y);ie(Gf(),Y);ie(ui(),Y);ie(Wf(),Y);ie(tp(),Y);ie(rp(),Y);ie(Ka(),Y);ie(cp(),Y);ie(Xa(),Y);ie(lp(),Y);ie(dp(),Y)});var pp=D(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.minFeatureVersions=yr.ZWaveFeature=void 0;var fp;(function(e){e[e.SmartStart=0]="SmartStart"})(fp=yr.ZWaveFeature||(yr.ZWaveFeature={}));yr.minFeatureVersions={[fp.SmartStart]:"6.81"}});var gp=D(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.InclusionState=je.ProvisioningEntryStatus=je.ExclusionStrategy=je.InclusionStrategy=void 0;var nb;(function(e){e[e.Default=0]="Default",e[e.SmartStart=1]="SmartStart",e[e.Insecure=2]="Insecure",e[e.Security_S0=3]="Security_S0",e[e.Security_S2=4]="Security_S2"})(nb=je.InclusionStrategy||(je.InclusionStrategy={}));var ob;(function(e){e[e.ExcludeOnly=0]="ExcludeOnly",e[e.DisableProvisioningEntry=1]="DisableProvisioningEntry",e[e.Unprovision=2]="Unprovision"})(ob=je.ExclusionStrategy||(je.ExclusionStrategy={}));var ib;(function(e){e[e.Active=0]="Active",e[e.Inactive=1]="Inactive"})(ib=je.ProvisioningEntryStatus||(je.ProvisioningEntryStatus={}));var ab;(function(e){e[e.Idle=0]="Idle",e[e.Including=1]="Including",e[e.Excluding=2]="Excluding",e[e.Busy=3]="Busy",e[e.SmartStart=4]="SmartStart"})(ab=je.InclusionState||(je.InclusionState={}))});var hp=D(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0})});var yp=D(Ce=>{"use strict";var sb=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),cb=Ce&&Ce.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&sb(t,e,r)};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.ZWaveFeature=Ce.RssiError=Ce.RFRegion=Ce.ProtocolDataRate=Ce.isRssiError=void 0;var Si=mt();Object.defineProperty(Ce,"isRssiError",{enumerable:!0,get:function(){return Si.isRssiError}});Object.defineProperty(Ce,"ProtocolDataRate",{enumerable:!0,get:function(){return Si.ProtocolDataRate}});Object.defineProperty(Ce,"RFRegion",{enumerable:!0,get:function(){return Si.RFRegion}});Object.defineProperty(Ce,"RssiError",{enumerable:!0,get:function(){return Si.RssiError}});var lb=pp();Object.defineProperty(Ce,"ZWaveFeature",{enumerable:!0,get:function(){return lb.ZWaveFeature}});cb(gp(),Ce);var X4=hp()});var bp=D(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ZWaveErrorCodes=Vr.ZWaveError=void 0;var vp=mt();Object.defineProperty(Vr,"ZWaveError",{enumerable:!0,get:function(){return vp.ZWaveError}});Object.defineProperty(Vr,"ZWaveErrorCodes",{enumerable:!0,get:function(){return vp.ZWaveErrorCodes}})});var Sp=D(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.DeviceClass=void 0;var kp=mt(),us=class{constructor(t,r,n,o){this.basic=t.lookupBasicDeviceClass(r),this.generic=t.lookupGenericDeviceClass(n),this.specific=t.lookupSpecificDeviceClass(n,o),this._mandatorySupportedCCs=this.specific.supportedCCs,this._mandatoryControlledCCs=this.specific.controlledCCs}get mandatorySupportedCCs(){return this._mandatorySupportedCCs}get mandatoryControlledCCs(){return this._mandatoryControlledCCs}toJSON(){return{basic:this.basic.label,generic:this.generic.label,specific:this.specific.label,mandatorySupportedCCs:this._mandatorySupportedCCs.map(t=>kp.CommandClasses[t]),mandatoryControlCCs:this._mandatoryControlledCCs.map(t=>kp.CommandClasses[t])}}};Bi.DeviceClass=us});var wp=D(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.NodeStatus=Xr.InterviewStage=void 0;var Bp=mt();Object.defineProperty(Xr,"InterviewStage",{enumerable:!0,get:function(){return Bp.InterviewStage}});Object.defineProperty(Xr,"NodeStatus",{enumerable:!0,get:function(){return Bp.NodeStatus}})});var xp=D(ke=>{"use strict";var ub=ke&&ke.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),db=ke&&ke.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&ub(t,e,r)};Object.defineProperty(ke,"__esModule",{value:!0});ke.DeviceClass=ke.ProtocolVersion=ke.ProtocolDataRate=ke.NODE_ID_MAX=ke.NODE_ID_BROADCAST=ke.NodeType=void 0;var Mn=mt();Object.defineProperty(ke,"NodeType",{enumerable:!0,get:function(){return Mn.NodeType}});Object.defineProperty(ke,"NODE_ID_BROADCAST",{enumerable:!0,get:function(){return Mn.NODE_ID_BROADCAST}});Object.defineProperty(ke,"NODE_ID_MAX",{enumerable:!0,get:function(){return Mn.NODE_ID_MAX}});Object.defineProperty(ke,"ProtocolDataRate",{enumerable:!0,get:function(){return Mn.ProtocolDataRate}});Object.defineProperty(ke,"ProtocolVersion",{enumerable:!0,get:function(){return Mn.ProtocolVersion}});var fb=Sp();Object.defineProperty(ke,"DeviceClass",{enumerable:!0,get:function(){return fb.DeviceClass}});db(wp(),ke)});var _p=D(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});l.HumidityControlSetpointType=l.HumidityControlSetpointCommand=l.HumidityControlOperatingState=l.HumidityControlOperatingStateCommand=l.HumidityControlMode=l.HumidityControlModeCommand=l.HailCommand=l.FirmwareDownloadStatus=l.FirmwareUpdateActivationStatus=l.FirmwareUpdateStatus=l.FirmwareUpdateRequestStatus=l.FirmwareUpdateMetaDataCommand=l.EntryControlDataTypes=l.EntryControlCommand=l.DoorLockLoggingRecordStatus=l.DoorLockLoggingEventType=l.DoorLockLoggingCommand=l.entryControlEventTypeLabels=l.EntryControlEventTypes=l.DoorLockOperationType=l.DoorLockMode=l.DoorLockCommand=l.DeviceResetLocallyCommand=l.CRC16Command=l.ConfigurationCommand=l.ColorComponentMap=l.ColorComponent=l.ColorSwitchCommand=l.Weekday=l.ClockCommand=l.ScheduleOverrideType=l.ClimateControlScheduleCommand=l.CentralSceneKeys=l.CentralSceneCommand=l.BinarySwitchCommand=l.BinarySensorType=l.BinarySensorCommand=l.BatteryCommand=l.BatteryReplacementStatus=l.BatteryChargingStatus=l.BasicCommand=l.SubsystemState=l.SubsystemType=l.BarrierState=l.BarrierOperatorCommand=l.AssociationGroupInfoProfile=l.AssociationGroupInfoCommand=l.AssociationCommand=l.AlarmSensorType=l.AlarmSensorCommand=void 0;l.UserIDStatus=l.UserCodeCommand=l.TransportServiceCommand=l.TimeParametersCommand=l.TimeCommand=l.ThermostatSetpointType=l.ThermostatSetpointCommand=l.SetbackType=l.ThermostatSetbackCommand=l.ThermostatOperatingState=l.ThermostatOperatingStateCommand=l.ThermostatMode=l.ThermostatModeCommand=l.ThermostatFanState=l.ThermostatFanStateCommand=l.ThermostatFanMode=l.ThermostatFanModeCommand=l.SupervisionCommand=l.ToneId=l.SoundSwitchCommand=l.SecurityCommand=l.Security2Command=l.SceneControllerConfigurationCommand=l.SceneActuatorConfigurationCommand=l.SceneActivationCommand=l.RFProtectionState=l.LocalProtectionState=l.ProtectionCommand=l.PowerlevelTestStatus=l.Powerlevel=l.PowerlevelCommand=l.NotificationCommand=l.NodeNamingAndLocationCommand=l.SwitchType=l.LevelChangeDirection=l.MultilevelSwitchCommand=l.MultilevelSensorCommand=l.MultiCommandCommand=l.MultiChannelCommand=l.MultiChannelAssociationCommand=l.RateType=l.MeterCommand=l.DeviceIdType=l.ManufacturerSpecificCommand=l.LockCommand=l.LanguageCommand=l.ValveType=l.IrrigationSensorPolarity=l.IrrigationCommand=l.IndicatorCommand=void 0;l.NetworkTransferStatus=l.parseWakeUpTime=l.ZWaveDataRate2DataRate=l.dataRate2ZWaveDataRate=l.wakeUpTime2FLiRS=l.FLiRS2WakeUpTime=l.WakeUpTime=l.ZWaveProtocolCommand=l.ZWavePlusNodeType=l.ZWavePlusRoleType=l.ZWavePlusCommand=l.WakeUpCommand=l.VersionCommand=l.KeypadMode=void 0;var Dn=mt(),pb;(function(e){e[e.Get=1]="Get",e[e.Report=2]="Report",e[e.SupportedGet=3]="SupportedGet",e[e.SupportedReport=4]="SupportedReport"})(pb=l.AlarmSensorCommand||(l.AlarmSensorCommand={}));var gb;(function(e){e[e["General Purpose"]=0]="General Purpose",e[e.Smoke=1]="Smoke",e[e.CO=2]="CO",e[e.CO2=3]="CO2",e[e.Heat=4]="Heat",e[e["Water Leak"]=5]="Water Leak",e[e.Any=255]="Any"})(gb=l.AlarmSensorType||(l.AlarmSensorType={}));var mb;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.Remove=4]="Remove",e[e.SupportedGroupingsGet=5]="SupportedGroupingsGet",e[e.SupportedGroupingsReport=6]="SupportedGroupingsReport"})(mb=l.AssociationCommand||(l.AssociationCommand={}));var hb;(function(e){e[e.NameGet=1]="NameGet",e[e.NameReport=2]="NameReport",e[e.InfoGet=3]="InfoGet",e[e.InfoReport=4]="InfoReport",e[e.CommandListGet=5]="CommandListGet",e[e.CommandListReport=6]="CommandListReport"})(hb=l.AssociationGroupInfoCommand||(l.AssociationGroupInfoCommand={}));var yb;(function(e){e[e["General: N/A"]=0]="General: N/A",e[e["General: Lifeline"]=1]="General: Lifeline",e[e["Control: Key 01"]=8193]="Control: Key 01",e[e["Control: Key 02"]=8194]="Control: Key 02",e[e["Control: Key 03"]=8195]="Control: Key 03",e[e["Control: Key 04"]=8196]="Control: Key 04",e[e["Control: Key 05"]=8197]="Control: Key 05",e[e["Control: Key 06"]=8198]="Control: Key 06",e[e["Control: Key 07"]=8199]="Control: Key 07",e[e["Control: Key 08"]=8200]="Control: Key 08",e[e["Control: Key 09"]=8201]="Control: Key 09",e[e["Control: Key 10"]=8202]="Control: Key 10",e[e["Control: Key 11"]=8203]="Control: Key 11",e[e["Control: Key 12"]=8204]="Control: Key 12",e[e["Control: Key 13"]=8205]="Control: Key 13",e[e["Control: Key 14"]=8206]="Control: Key 14",e[e["Control: Key 15"]=8207]="Control: Key 15",e[e["Control: Key 16"]=8208]="Control: Key 16",e[e["Control: Key 17"]=8209]="Control: Key 17",e[e["Control: Key 18"]=8210]="Control: Key 18",e[e["Control: Key 19"]=8211]="Control: Key 19",e[e["Control: Key 20"]=8212]="Control: Key 20",e[e["Control: Key 21"]=8213]="Control: Key 21",e[e["Control: Key 22"]=8214]="Control: Key 22",e[e["Control: Key 23"]=8215]="Control: Key 23",e[e["Control: Key 24"]=8216]="Control: Key 24",e[e["Control: Key 25"]=8217]="Control: Key 25",e[e["Control: Key 26"]=8218]="Control: Key 26",e[e["Control: Key 27"]=8219]="Control: Key 27",e[e["Control: Key 28"]=8220]="Control: Key 28",e[e["Control: Key 29"]=8221]="Control: Key 29",e[e["Control: Key 30"]=8222]="Control: Key 30",e[e["Control: Key 31"]=8223]="Control: Key 31",e[e["Control: Key 32"]=8224]="Control: Key 32",e[e["Sensor: Air temperature"]=12545]="Sensor: Air temperature",e[e["Sensor: General purpose"]=12546]="Sensor: General purpose",e[e["Sensor: Illuminance"]=12547]="Sensor: Illuminance",e[e["Sensor: Power"]=12548]="Sensor: Power",e[e["Sensor: Humidity"]=12549]="Sensor: Humidity",e[e["Sensor: Velocity"]=12550]="Sensor: Velocity",e[e["Sensor: Direction"]=12551]="Sensor: Direction",e[e["Sensor: Atmospheric pressure"]=12552]="Sensor: Atmospheric pressure",e[e["Sensor: Barometric pressure"]=12553]="Sensor: Barometric pressure",e[e["Sensor: Solar radiation"]=12554]="Sensor: Solar radiation",e[e["Sensor: Dew point"]=12555]="Sensor: Dew point",e[e["Sensor: Rain rate"]=12556]="Sensor: Rain rate",e[e["Sensor: Tide level"]=12557]="Sensor: Tide level",e[e["Sensor: Weight"]=12558]="Sensor: Weight",e[e["Sensor: Voltage"]=12559]="Sensor: Voltage",e[e["Sensor: Current"]=12560]="Sensor: Current",e[e["Sensor: Carbon dioxide (CO2) level"]=12561]="Sensor: Carbon dioxide (CO2) level",e[e["Sensor: Air flow"]=12562]="Sensor: Air flow",e[e["Sensor: Tank capacity"]=12563]="Sensor: Tank capacity",e[e["Sensor: Distance"]=12564]="Sensor: Distance",e[e["Sensor: Angle position"]=12565]="Sensor: Angle position",e[e["Sensor: Rotation"]=12566]="Sensor: Rotation",e[e["Sensor: Water temperature"]=12567]="Sensor: Water temperature",e[e["Sensor: Soil temperature"]=12568]="Sensor: Soil temperature",e[e["Sensor: Seismic Intensity"]=12569]="Sensor: Seismic Intensity",e[e["Sensor: Seismic magnitude"]=12570]="Sensor: Seismic magnitude",e[e["Sensor: Ultraviolet"]=12571]="Sensor: Ultraviolet",e[e["Sensor: Electrical resistivity"]=12572]="Sensor: Electrical resistivity",e[e["Sensor: Electrical conductivity"]=12573]="Sensor: Electrical conductivity",e[e["Sensor: Loudness"]=12574]="Sensor: Loudness",e[e["Sensor: Moisture"]=12575]="Sensor: Moisture",e[e["Sensor: Frequency"]=12576]="Sensor: Frequency",e[e["Sensor: Time"]=12577]="Sensor: Time",e[e["Sensor: Target temperature"]=12578]="Sensor: Target temperature",e[e["Sensor: Particulate Matter 2.5"]=12579]="Sensor: Particulate Matter 2.5",e[e["Sensor: Formaldehyde (CH2O) level"]=12580]="Sensor: Formaldehyde (CH2O) level",e[e["Sensor: Radon concentration"]=12581]="Sensor: Radon concentration",e[e["Sensor: Methane (CH4) density"]=12582]="Sensor: Methane (CH4) density",e[e["Sensor: Volatile Organic Compound level"]=12583]="Sensor: Volatile Organic Compound level",e[e["Sensor: Carbon monoxide (CO) level"]=12584]="Sensor: Carbon monoxide (CO) level",e[e["Sensor: Soil humidity"]=12585]="Sensor: Soil humidity",e[e["Sensor: Soil reactivity"]=12586]="Sensor: Soil reactivity",e[e["Sensor: Soil salinity"]=12587]="Sensor: Soil salinity",e[e["Sensor: Heart rate"]=12588]="Sensor: Heart rate",e[e["Sensor: Blood pressure"]=12589]="Sensor: Blood pressure",e[e["Sensor: Muscle mass"]=12590]="Sensor: Muscle mass",e[e["Sensor: Fat mass"]=12591]="Sensor: Fat mass",e[e["Sensor: Bone mass"]=12592]="Sensor: Bone mass",e[e["Sensor: Total body water (TBW)"]=12593]="Sensor: Total body water (TBW)",e[e["Sensor: Basis metabolic rate (BMR)"]=12594]="Sensor: Basis metabolic rate (BMR)",e[e["Sensor: Body Mass Index (BMI)"]=12595]="Sensor: Body Mass Index (BMI)",e[e["Sensor: Acceleration X-axis"]=12596]="Sensor: Acceleration X-axis",e[e["Sensor: Acceleration Y-axis"]=12597]="Sensor: Acceleration Y-axis",e[e["Sensor: Acceleration Z-axis"]=12598]="Sensor: Acceleration Z-axis",e[e["Sensor: Smoke density"]=12599]="Sensor: Smoke density",e[e["Sensor: Water flow"]=12600]="Sensor: Water flow",e[e["Sensor: Water pressure"]=12601]="Sensor: Water pressure",e[e["Sensor: RF signal strength"]=12602]="Sensor: RF signal strength",e[e["Sensor: Particulate Matter 10"]=12603]="Sensor: Particulate Matter 10",e[e["Sensor: Respiratory rate"]=12604]="Sensor: Respiratory rate",e[e["Sensor: Relative Modulation level"]=12605]="Sensor: Relative Modulation level",e[e["Sensor: Boiler water temperature"]=12606]="Sensor: Boiler water temperature",e[e["Sensor: Domestic Hot Water (DHW) temperature"]=12607]="Sensor: Domestic Hot Water (DHW) temperature",e[e["Sensor: Outside temperature"]=12608]="Sensor: Outside temperature",e[e["Sensor: Exhaust temperature"]=12609]="Sensor: Exhaust temperature",e[e["Sensor: Water Chlorine level"]=12610]="Sensor: Water Chlorine level",e[e["Sensor: Water acidity"]=12611]="Sensor: Water acidity",e[e["Sensor: Water Oxidation reduction potential"]=12612]="Sensor: Water Oxidation reduction potential",e[e["Sensor: Heart Rate LF/HF ratio"]=12613]="Sensor: Heart Rate LF/HF ratio",e[e["Sensor: Motion Direction"]=12614]="Sensor: Motion Direction",e[e["Sensor: Applied force on the sensor"]=12615]="Sensor: Applied force on the sensor",e[e["Sensor: Return Air temperature"]=12616]="Sensor: Return Air temperature",e[e["Sensor: Supply Air temperature"]=12617]="Sensor: Supply Air temperature",e[e["Sensor: Condenser Coil temperature"]=12618]="Sensor: Condenser Coil temperature",e[e["Sensor: Evaporator Coil temperature"]=12619]="Sensor: Evaporator Coil temperature",e[e["Sensor: Liquid Line temperature"]=12620]="Sensor: Liquid Line temperature",e[e["Sensor: Discharge Line temperature"]=12621]="Sensor: Discharge Line temperature",e[e["Sensor: Suction Pressure"]=12622]="Sensor: Suction Pressure",e[e["Sensor: Discharge Pressure"]=12623]="Sensor: Discharge Pressure",e[e["Sensor: Defrost temperature"]=12624]="Sensor: Defrost temperature",e[e["Notification: Smoke Alarm"]=28929]="Notification: Smoke Alarm",e[e["Notification: CO Alarm"]=28930]="Notification: CO Alarm",e[e["Notification: CO2 Alarm"]=28931]="Notification: CO2 Alarm",e[e["Notification: Heat Alarm"]=28932]="Notification: Heat Alarm",e[e["Notification: Water Alarm"]=28933]="Notification: Water Alarm",e[e["Notification: Access Control"]=28934]="Notification: Access Control",e[e["Notification: Home Security"]=28935]="Notification: Home Security",e[e["Notification: Power Management"]=28936]="Notification: Power Management",e[e["Notification: System"]=28937]="Notification: System",e[e["Notification: Emergency Alarm"]=28938]="Notification: Emergency Alarm",e[e["Notification: Clock"]=28939]="Notification: Clock",e[e["Notification: Appliance"]=28940]="Notification: Appliance",e[e["Notification: Home Health"]=28941]="Notification: Home Health",e[e["Notification: Siren"]=28942]="Notification: Siren",e[e["Notification: Water Valve"]=28943]="Notification: Water Valve",e[e["Notification: Weather Alarm"]=28944]="Notification: Weather Alarm",e[e["Notification: Irrigation"]=28945]="Notification: Irrigation",e[e["Notification: Gas alarm"]=28946]="Notification: Gas alarm",e[e["Notification: Pest Control"]=28947]="Notification: Pest Control",e[e["Notification: Light sensor"]=28948]="Notification: Light sensor",e[e["Notification: Water Quality Monitoring"]=28949]="Notification: Water Quality Monitoring",e[e["Notification: Home monitoring"]=28950]="Notification: Home monitoring",e[e["Meter: Electric"]=12801]="Meter: Electric",e[e["Meter: Gas"]=12802]="Meter: Gas",e[e["Meter: Water"]=12803]="Meter: Water",e[e["Meter: Heating"]=12804]="Meter: Heating",e[e["Meter: Cooling"]=12805]="Meter: Cooling",e[e["Irrigation: Channel 01"]=27393]="Irrigation: Channel 01",e[e["Irrigation: Channel 02"]=27394]="Irrigation: Channel 02",e[e["Irrigation: Channel 03"]=27395]="Irrigation: Channel 03",e[e["Irrigation: Channel 04"]=27396]="Irrigation: Channel 04",e[e["Irrigation: Channel 05"]=27397]="Irrigation: Channel 05",e[e["Irrigation: Channel 06"]=27398]="Irrigation: Channel 06",e[e["Irrigation: Channel 07"]=27399]="Irrigation: Channel 07",e[e["Irrigation: Channel 08"]=27400]="Irrigation: Channel 08",e[e["Irrigation: Channel 09"]=27401]="Irrigation: Channel 09",e[e["Irrigation: Channel 10"]=27402]="Irrigation: Channel 10",e[e["Irrigation: Channel 11"]=27403]="Irrigation: Channel 11",e[e["Irrigation: Channel 12"]=27404]="Irrigation: Channel 12",e[e["Irrigation: Channel 13"]=27405]="Irrigation: Channel 13",e[e["Irrigation: Channel 14"]=27406]="Irrigation: Channel 14",e[e["Irrigation: Channel 15"]=27407]="Irrigation: Channel 15",e[e["Irrigation: Channel 16"]=27408]="Irrigation: Channel 16",e[e["Irrigation: Channel 17"]=27409]="Irrigation: Channel 17",e[e["Irrigation: Channel 18"]=27410]="Irrigation: Channel 18",e[e["Irrigation: Channel 19"]=27411]="Irrigation: Channel 19",e[e["Irrigation: Channel 20"]=27412]="Irrigation: Channel 20",e[e["Irrigation: Channel 21"]=27413]="Irrigation: Channel 21",e[e["Irrigation: Channel 22"]=27414]="Irrigation: Channel 22",e[e["Irrigation: Channel 23"]=27415]="Irrigation: Channel 23",e[e["Irrigation: Channel 24"]=27416]="Irrigation: Channel 24",e[e["Irrigation: Channel 25"]=27417]="Irrigation: Channel 25",e[e["Irrigation: Channel 26"]=27418]="Irrigation: Channel 26",e[e["Irrigation: Channel 27"]=27419]="Irrigation: Channel 27",e[e["Irrigation: Channel 28"]=27420]="Irrigation: Channel 28",e[e["Irrigation: Channel 29"]=27421]="Irrigation: Channel 29",e[e["Irrigation: Channel 30"]=27422]="Irrigation: Channel 30",e[e["Irrigation: Channel 31"]=27423]="Irrigation: Channel 31",e[e["Irrigation: Channel 32"]=27424]="Irrigation: Channel 32"})(yb=l.AssociationGroupInfoProfile||(l.AssociationGroupInfoProfile={}));var vb;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SignalingCapabilitiesGet=4]="SignalingCapabilitiesGet",e[e.SignalingCapabilitiesReport=5]="SignalingCapabilitiesReport",e[e.EventSignalingSet=6]="EventSignalingSet",e[e.EventSignalingGet=7]="EventSignalingGet",e[e.EventSignalingReport=8]="EventSignalingReport"})(vb=l.BarrierOperatorCommand||(l.BarrierOperatorCommand={}));var bb;(function(e){e[e.Closed=0]="Closed",e[e.Closing=252]="Closing",e[e.Stopped=253]="Stopped",e[e.Opening=254]="Opening",e[e.Open=255]="Open"})(bb=l.BarrierState||(l.BarrierState={}));var kb;(function(e){e[e.Audible=1]="Audible",e[e.Visual=2]="Visual"})(kb=l.SubsystemType||(l.SubsystemType={}));var Sb;(function(e){e[e.Off=0]="Off",e[e.On=255]="On"})(Sb=l.SubsystemState||(l.SubsystemState={}));var Bb;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(Bb=l.BasicCommand||(l.BasicCommand={}));var wb;(function(e){e[e.Discharging=0]="Discharging",e[e.Charging=1]="Charging",e[e.Maintaining=2]="Maintaining"})(wb=l.BatteryChargingStatus||(l.BatteryChargingStatus={}));var xb;(function(e){e[e.No=0]="No",e[e.Soon=1]="Soon",e[e.Now=2]="Now"})(xb=l.BatteryReplacementStatus||(l.BatteryReplacementStatus={}));var Rb;(function(e){e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.HealthGet=4]="HealthGet",e[e.HealthReport=5]="HealthReport"})(Rb=l.BatteryCommand||(l.BatteryCommand={}));var _b;(function(e){e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=1]="SupportedGet",e[e.SupportedReport=4]="SupportedReport"})(_b=l.BinarySensorCommand||(l.BinarySensorCommand={}));var Cb;(function(e){e[e["General Purpose"]=1]="General Purpose",e[e.Smoke=2]="Smoke",e[e.CO=3]="CO",e[e.CO2=4]="CO2",e[e.Heat=5]="Heat",e[e.Water=6]="Water",e[e.Freeze=7]="Freeze",e[e.Tamper=8]="Tamper",e[e.Aux=9]="Aux",e[e["Door/Window"]=10]="Door/Window",e[e.Tilt=11]="Tilt",e[e.Motion=12]="Motion",e[e["Glass Break"]=13]="Glass Break",e[e.Any=255]="Any"})(Cb=l.BinarySensorType||(l.BinarySensorType={}));var Nb;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(Nb=l.BinarySwitchCommand||(l.BinarySwitchCommand={}));var Pb;(function(e){e[e.SupportedGet=1]="SupportedGet",e[e.SupportedReport=2]="SupportedReport",e[e.Notification=3]="Notification",e[e.ConfigurationSet=4]="ConfigurationSet",e[e.ConfigurationGet=5]="ConfigurationGet",e[e.ConfigurationReport=6]="ConfigurationReport"})(Pb=l.CentralSceneCommand||(l.CentralSceneCommand={}));var Ob;(function(e){e[e.KeyPressed=0]="KeyPressed",e[e.KeyReleased=1]="KeyReleased",e[e.KeyHeldDown=2]="KeyHeldDown",e[e.KeyPressed2x=3]="KeyPressed2x",e[e.KeyPressed3x=4]="KeyPressed3x",e[e.KeyPressed4x=5]="KeyPressed4x",e[e.KeyPressed5x=6]="KeyPressed5x"})(Ob=l.CentralSceneKeys||(l.CentralSceneKeys={}));var Ib;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.ChangedGet=4]="ChangedGet",e[e.ChangedReport=5]="ChangedReport",e[e.OverrideSet=6]="OverrideSet",e[e.OverrideGet=7]="OverrideGet",e[e.OverrideReport=8]="OverrideReport"})(Ib=l.ClimateControlScheduleCommand||(l.ClimateControlScheduleCommand={}));var Mb;(function(e){e[e.None=0]="None",e[e.Temporary=1]="Temporary",e[e.Permanent=2]="Permanent"})(Mb=l.ScheduleOverrideType||(l.ScheduleOverrideType={}));var Db;(function(e){e[e.Set=4]="Set",e[e.Get=5]="Get",e[e.Report=6]="Report"})(Db=l.ClockCommand||(l.ClockCommand={}));var Tb;(function(e){e[e.Unknown=0]="Unknown",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday",e[e.Sunday=7]="Sunday"})(Tb=l.Weekday||(l.Weekday={}));var Ab;(function(e){e[e.SupportedGet=1]="SupportedGet",e[e.SupportedReport=2]="SupportedReport",e[e.Get=3]="Get",e[e.Report=4]="Report",e[e.Set=5]="Set",e[e.StartLevelChange=6]="StartLevelChange",e[e.StopLevelChange=7]="StopLevelChange"})(Ab=l.ColorSwitchCommand||(l.ColorSwitchCommand={}));var ht;(function(e){e[e["Warm White"]=0]="Warm White",e[e["Cold White"]=1]="Cold White",e[e.Red=2]="Red",e[e.Green=3]="Green",e[e.Blue=4]="Blue",e[e.Amber=5]="Amber",e[e.Cyan=6]="Cyan",e[e.Purple=7]="Purple",e[e.Index=8]="Index"})(ht=l.ColorComponent||(l.ColorComponent={}));l.ColorComponentMap={warmWhite:ht["Warm White"],coldWhite:ht["Cold White"],red:ht.Red,green:ht.Green,blue:ht.Blue,amber:ht.Amber,cyan:ht.Cyan,purple:ht.Purple,index:ht.Index};var Fb;(function(e){e[e.Set=4]="Set",e[e.Get=5]="Get",e[e.Report=6]="Report",e[e.BulkSet=7]="BulkSet",e[e.BulkGet=8]="BulkGet",e[e.BulkReport=9]="BulkReport",e[e.NameGet=10]="NameGet",e[e.NameReport=11]="NameReport",e[e.InfoGet=12]="InfoGet",e[e.InfoReport=13]="InfoReport",e[e.PropertiesGet=14]="PropertiesGet",e[e.PropertiesReport=15]="PropertiesReport",e[e.DefaultReset=1]="DefaultReset"})(Fb=l.ConfigurationCommand||(l.ConfigurationCommand={}));var Eb;(function(e){e[e.CommandEncapsulation=1]="CommandEncapsulation"})(Eb=l.CRC16Command||(l.CRC16Command={}));var qb;(function(e){e[e.Notification=1]="Notification"})(qb=l.DeviceResetLocallyCommand||(l.DeviceResetLocallyCommand={}));var Lb;(function(e){e[e.OperationSet=1]="OperationSet",e[e.OperationGet=2]="OperationGet",e[e.OperationReport=3]="OperationReport",e[e.ConfigurationSet=4]="ConfigurationSet",e[e.ConfigurationGet=5]="ConfigurationGet",e[e.ConfigurationReport=6]="ConfigurationReport",e[e.CapabilitiesGet=7]="CapabilitiesGet",e[e.CapabilitiesReport=8]="CapabilitiesReport"})(Lb=l.DoorLockCommand||(l.DoorLockCommand={}));var zb;(function(e){e[e.Unsecured=0]="Unsecured",e[e.UnsecuredWithTimeout=1]="UnsecuredWithTimeout",e[e.InsideUnsecured=16]="InsideUnsecured",e[e.InsideUnsecuredWithTimeout=17]="InsideUnsecuredWithTimeout",e[e.OutsideUnsecured=32]="OutsideUnsecured",e[e.OutsideUnsecuredWithTimeout=33]="OutsideUnsecuredWithTimeout",e[e.Unknown=254]="Unknown",e[e.Secured=255]="Secured"})(zb=l.DoorLockMode||(l.DoorLockMode={}));var Hb;(function(e){e[e.Constant=1]="Constant",e[e.Timed=2]="Timed"})(Hb=l.DoorLockOperationType||(l.DoorLockOperationType={}));var ae;(function(e){e[e.Caching=0]="Caching",e[e.CachedKeys=1]="CachedKeys",e[e.Enter=2]="Enter",e[e.DisarmAll=3]="DisarmAll",e[e.ArmAll=4]="ArmAll",e[e.ArmAway=5]="ArmAway",e[e.ArmHome=6]="ArmHome",e[e.ExitDelay=7]="ExitDelay",e[e.Arm1=8]="Arm1",e[e.Arm2=9]="Arm2",e[e.Arm3=10]="Arm3",e[e.Arm4=11]="Arm4",e[e.Arm5=12]="Arm5",e[e.Arm6=13]="Arm6",e[e.Rfid=14]="Rfid",e[e.Bell=15]="Bell",e[e.Fire=16]="Fire",e[e.Police=17]="Police",e[e.AlertPanic=18]="AlertPanic",e[e.AlertMedical=19]="AlertMedical",e[e.GateOpen=20]="GateOpen",e[e.GateClose=21]="GateClose",e[e.Lock=22]="Lock",e[e.Unlock=23]="Unlock",e[e.Test=24]="Test",e[e.Cancel=25]="Cancel"})(ae=l.EntryControlEventTypes||(l.EntryControlEventTypes={}));l.entryControlEventTypeLabels={[ae.Caching]:"Caching",[ae.CachedKeys]:"Cached keys",[ae.Enter]:"Enter",[ae.DisarmAll]:"Disarm all",[ae.ArmAll]:"Arm all",[ae.ArmAway]:"Away",[ae.ArmHome]:"Home",[ae.ExitDelay]:"Arm delay",[ae.Arm1]:"Arm zone 1",[ae.Arm2]:"Arm zone 2",[ae.Arm3]:"Arm zone 3",[ae.Arm4]:"Arm zone 4",[ae.Arm5]:"Arm zone 5",[ae.Arm6]:"Arm zone 6",[ae.Rfid]:"RFID",[ae.Bell]:"Bell",[ae.Fire]:"Fire",[ae.Police]:"Police",[ae.AlertPanic]:"Panic alert",[ae.AlertMedical]:"Medical alert",[ae.GateOpen]:"Open gate",[ae.GateClose]:"Close gate",[ae.Lock]:"Lock",[ae.Unlock]:"Unlock",[ae.Test]:"Test",[ae.Cancel]:"Cancel"};var jb;(function(e){e[e.RecordsSupportedGet=1]="RecordsSupportedGet",e[e.RecordsSupportedReport=2]="RecordsSupportedReport",e[e.RecordGet=3]="RecordGet",e[e.RecordReport=4]="RecordReport"})(jb=l.DoorLockLoggingCommand||(l.DoorLockLoggingCommand={}));var Ub;(function(e){e[e.LockCode=1]="LockCode",e[e.UnlockCode=2]="UnlockCode",e[e.LockButton=3]="LockButton",e[e.UnlockButton=4]="UnlockButton",e[e.LockCodeOutOfSchedule=5]="LockCodeOutOfSchedule",e[e.UnlockCodeOutOfSchedule=6]="UnlockCodeOutOfSchedule",e[e.IllegalCode=7]="IllegalCode",e[e.LockManual=8]="LockManual",e[e.UnlockManual=9]="UnlockManual",e[e.LockAuto=10]="LockAuto",e[e.UnlockAuto=11]="UnlockAuto",e[e.LockRemoteCode=12]="LockRemoteCode",e[e.UnlockRemoteCode=13]="UnlockRemoteCode",e[e.LockRemote=14]="LockRemote",e[e.UnlockRemote=15]="UnlockRemote",e[e.LockRemoteCodeOutOfSchedule=16]="LockRemoteCodeOutOfSchedule",e[e.UnlockRemoteCodeOutOfSchedule=17]="UnlockRemoteCodeOutOfSchedule",e[e.RemoteIllegalCode=18]="RemoteIllegalCode",e[e.LockManual2=19]="LockManual2",e[e.UnlockManual2=20]="UnlockManual2",e[e.LockSecured=21]="LockSecured",e[e.LockUnsecured=22]="LockUnsecured",e[e.UserCodeAdded=23]="UserCodeAdded",e[e.UserCodeDeleted=24]="UserCodeDeleted",e[e.AllUserCodesDeleted=25]="AllUserCodesDeleted",e[e.MasterCodeChanged=26]="MasterCodeChanged",e[e.UserCodeChanged=27]="UserCodeChanged",e[e.LockReset=28]="LockReset",e[e.ConfigurationChanged=29]="ConfigurationChanged",e[e.LowBattery=30]="LowBattery",e[e.NewBattery=31]="NewBattery",e[e.Unknown=32]="Unknown"})(Ub=l.DoorLockLoggingEventType||(l.DoorLockLoggingEventType={}));var Kb;(function(e){e[e.Empty=0]="Empty",e[e.HoldsLegalData=1]="HoldsLegalData"})(Kb=l.DoorLockLoggingRecordStatus||(l.DoorLockLoggingRecordStatus={}));var $b;(function(e){e[e.Notification=1]="Notification",e[e.KeySupportedGet=2]="KeySupportedGet",e[e.KeySupportedReport=3]="KeySupportedReport",e[e.EventSupportedGet=4]="EventSupportedGet",e[e.EventSupportedReport=5]="EventSupportedReport",e[e.ConfigurationSet=6]="ConfigurationSet",e[e.ConfigurationGet=7]="ConfigurationGet",e[e.ConfigurationReport=8]="ConfigurationReport"})($b=l.EntryControlCommand||(l.EntryControlCommand={}));var Vb;(function(e){e[e.None=0]="None",e[e.Raw=1]="Raw",e[e.ASCII=2]="ASCII",e[e.MD5=3]="MD5"})(Vb=l.EntryControlDataTypes||(l.EntryControlDataTypes={}));var Xb;(function(e){e[e.MetaDataGet=1]="MetaDataGet",e[e.MetaDataReport=2]="MetaDataReport",e[e.RequestGet=3]="RequestGet",e[e.RequestReport=4]="RequestReport",e[e.Get=5]="Get",e[e.Report=6]="Report",e[e.StatusReport=7]="StatusReport",e[e.ActivationSet=8]="ActivationSet",e[e.ActivationReport=9]="ActivationReport",e[e.PrepareGet=10]="PrepareGet",e[e.PrepareReport=11]="PrepareReport"})(Xb=l.FirmwareUpdateMetaDataCommand||(l.FirmwareUpdateMetaDataCommand={}));var Gb;(function(e){e[e.Error_InvalidManufacturerOrFirmwareID=0]="Error_InvalidManufacturerOrFirmwareID",e[e.Error_AuthenticationExpected=1]="Error_AuthenticationExpected",e[e.Error_FragmentSizeTooLarge=2]="Error_FragmentSizeTooLarge",e[e.Error_NotUpgradable=3]="Error_NotUpgradable",e[e.Error_InvalidHardwareVersion=4]="Error_InvalidHardwareVersion",e[e.Error_FirmwareUpgradeInProgress=5]="Error_FirmwareUpgradeInProgress",e[e.Error_BatteryLow=6]="Error_BatteryLow",e[e.OK=255]="OK"})(Gb=l.FirmwareUpdateRequestStatus||(l.FirmwareUpdateRequestStatus={}));var Qb;(function(e){e[e.Error_Timeout=-1]="Error_Timeout",e[e.Error_Checksum=0]="Error_Checksum",e[e.Error_TransmissionFailed=1]="Error_TransmissionFailed",e[e.Error_InvalidManufacturerID=2]="Error_InvalidManufacturerID",e[e.Error_InvalidFirmwareID=3]="Error_InvalidFirmwareID",e[e.Error_InvalidFirmwareTarget=4]="Error_InvalidFirmwareTarget",e[e.Error_InvalidHeaderInformation=5]="Error_InvalidHeaderInformation",e[e.Error_InvalidHeaderFormat=6]="Error_InvalidHeaderFormat",e[e.Error_InsufficientMemory=7]="Error_InsufficientMemory",e[e.Error_InvalidHardwareVersion=8]="Error_InvalidHardwareVersion",e[e.OK_WaitingForActivation=253]="OK_WaitingForActivation",e[e.OK_NoRestart=254]="OK_NoRestart",e[e.OK_RestartPending=255]="OK_RestartPending"})(Qb=l.FirmwareUpdateStatus||(l.FirmwareUpdateStatus={}));var Wb;(function(e){e[e.Error_InvalidFirmware=0]="Error_InvalidFirmware",e[e.Error_ActivationFailed=1]="Error_ActivationFailed",e[e.OK=255]="OK"})(Wb=l.FirmwareUpdateActivationStatus||(l.FirmwareUpdateActivationStatus={}));var Yb;(function(e){e[e.Error_InvalidManufacturerOrFirmwareID=0]="Error_InvalidManufacturerOrFirmwareID",e[e.Error_AuthenticationExpected=1]="Error_AuthenticationExpected",e[e.Error_FragmentSizeTooLarge=2]="Error_FragmentSizeTooLarge",e[e.Error_NotDownloadable=3]="Error_NotDownloadable",e[e.Error_InvalidHardwareVersion=4]="Error_InvalidHardwareVersion",e[e.OK=255]="OK"})(Yb=l.FirmwareDownloadStatus||(l.FirmwareDownloadStatus={}));var Jb;(function(e){e[e.Hail=1]="Hail"})(Jb=l.HailCommand||(l.HailCommand={}));var Zb;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=4]="SupportedGet",e[e.SupportedReport=5]="SupportedReport"})(Zb=l.HumidityControlModeCommand||(l.HumidityControlModeCommand={}));var ek;(function(e){e[e.Off=0]="Off",e[e.Humidify=1]="Humidify",e[e["De-humidify"]=2]="De-humidify",e[e.Auto=3]="Auto"})(ek=l.HumidityControlMode||(l.HumidityControlMode={}));var tk;(function(e){e[e.Get=1]="Get",e[e.Report=2]="Report"})(tk=l.HumidityControlOperatingStateCommand||(l.HumidityControlOperatingStateCommand={}));var rk;(function(e){e[e.Idle=0]="Idle",e[e.Humidifying=1]="Humidifying",e[e["De-humidifying"]=2]="De-humidifying"})(rk=l.HumidityControlOperatingState||(l.HumidityControlOperatingState={}));var nk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=4]="SupportedGet",e[e.SupportedReport=5]="SupportedReport",e[e.ScaleSupportedGet=6]="ScaleSupportedGet",e[e.ScaleSupportedReport=7]="ScaleSupportedReport",e[e.CapabilitiesGet=8]="CapabilitiesGet",e[e.CapabilitiesReport=9]="CapabilitiesReport"})(nk=l.HumidityControlSetpointCommand||(l.HumidityControlSetpointCommand={}));var ok;(function(e){e[e["N/A"]=0]="N/A",e[e.Humidifier=1]="Humidifier",e[e["De-humidifier"]=2]="De-humidifier",e[e.Auto=3]="Auto"})(ok=l.HumidityControlSetpointType||(l.HumidityControlSetpointType={}));var ik;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=4]="SupportedGet",e[e.SupportedReport=5]="SupportedReport"})(ik=l.IndicatorCommand||(l.IndicatorCommand={}));var ak;(function(e){e[e.SystemInfoGet=1]="SystemInfoGet",e[e.SystemInfoReport=2]="SystemInfoReport",e[e.SystemStatusGet=3]="SystemStatusGet",e[e.SystemStatusReport=4]="SystemStatusReport",e[e.SystemConfigSet=5]="SystemConfigSet",e[e.SystemConfigGet=6]="SystemConfigGet",e[e.SystemConfigReport=7]="SystemConfigReport",e[e.ValveInfoGet=8]="ValveInfoGet",e[e.ValveInfoReport=9]="ValveInfoReport",e[e.ValveConfigSet=10]="ValveConfigSet",e[e.ValveConfigGet=11]="ValveConfigGet",e[e.ValveConfigReport=12]="ValveConfigReport",e[e.ValveRun=13]="ValveRun",e[e.ValveTableSet=14]="ValveTableSet",e[e.ValveTableGet=15]="ValveTableGet",e[e.ValveTableReport=16]="ValveTableReport",e[e.ValveTableRun=17]="ValveTableRun",e[e.SystemShutoff=18]="SystemShutoff"})(ak=l.IrrigationCommand||(l.IrrigationCommand={}));var sk;(function(e){e[e.Low=0]="Low",e[e.High=1]="High"})(sk=l.IrrigationSensorPolarity||(l.IrrigationSensorPolarity={}));var ck;(function(e){e[e.ZoneValve=0]="ZoneValve",e[e.MasterValve=1]="MasterValve"})(ck=l.ValveType||(l.ValveType={}));var lk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(lk=l.LanguageCommand||(l.LanguageCommand={}));var uk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(uk=l.LockCommand||(l.LockCommand={}));var dk;(function(e){e[e.Get=4]="Get",e[e.Report=5]="Report",e[e.DeviceSpecificGet=6]="DeviceSpecificGet",e[e.DeviceSpecificReport=7]="DeviceSpecificReport"})(dk=l.ManufacturerSpecificCommand||(l.ManufacturerSpecificCommand={}));var fk;(function(e){e[e.FactoryDefault=0]="FactoryDefault",e[e.SerialNumber=1]="SerialNumber",e[e.PseudoRandom=2]="PseudoRandom"})(fk=l.DeviceIdType||(l.DeviceIdType={}));var pk;(function(e){e[e.Get=1]="Get",e[e.Report=2]="Report",e[e.SupportedGet=3]="SupportedGet",e[e.SupportedReport=4]="SupportedReport",e[e.Reset=5]="Reset"})(pk=l.MeterCommand||(l.MeterCommand={}));var gk;(function(e){e[e.Unspecified=0]="Unspecified",e[e.Consumed=1]="Consumed",e[e.Produced=2]="Produced"})(gk=l.RateType||(l.RateType={}));var mk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.Remove=4]="Remove",e[e.SupportedGroupingsGet=5]="SupportedGroupingsGet",e[e.SupportedGroupingsReport=6]="SupportedGroupingsReport"})(mk=l.MultiChannelAssociationCommand||(l.MultiChannelAssociationCommand={}));var hk;(function(e){e[e.GetV1=4]="GetV1",e[e.ReportV1=5]="ReportV1",e[e.CommandEncapsulationV1=6]="CommandEncapsulationV1",e[e.EndPointGet=7]="EndPointGet",e[e.EndPointReport=8]="EndPointReport",e[e.CapabilityGet=9]="CapabilityGet",e[e.CapabilityReport=10]="CapabilityReport",e[e.EndPointFind=11]="EndPointFind",e[e.EndPointFindReport=12]="EndPointFindReport",e[e.CommandEncapsulation=13]="CommandEncapsulation",e[e.AggregatedMembersGet=14]="AggregatedMembersGet",e[e.AggregatedMembersReport=15]="AggregatedMembersReport"})(hk=l.MultiChannelCommand||(l.MultiChannelCommand={}));var yk;(function(e){e[e.CommandEncapsulation=1]="CommandEncapsulation"})(yk=l.MultiCommandCommand||(l.MultiCommandCommand={}));var vk;(function(e){e[e.GetSupportedSensor=1]="GetSupportedSensor",e[e.SupportedSensorReport=2]="SupportedSensorReport",e[e.GetSupportedScale=3]="GetSupportedScale",e[e.Get=4]="Get",e[e.Report=5]="Report",e[e.SupportedScaleReport=6]="SupportedScaleReport"})(vk=l.MultilevelSensorCommand||(l.MultilevelSensorCommand={}));var bk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.StartLevelChange=4]="StartLevelChange",e[e.StopLevelChange=5]="StopLevelChange",e[e.SupportedGet=6]="SupportedGet",e[e.SupportedReport=7]="SupportedReport"})(bk=l.MultilevelSwitchCommand||(l.MultilevelSwitchCommand={}));var kk;(function(e){e[e.up=0]="up",e[e.down=1]="down"})(kk=l.LevelChangeDirection||(l.LevelChangeDirection={}));var Sk;(function(e){e[e["not supported"]=0]="not supported",e[e["Off/On"]=1]="Off/On",e[e["Down/Up"]=2]="Down/Up",e[e["Close/Open"]=3]="Close/Open",e[e["CCW/CW"]=4]="CCW/CW",e[e["Left/Right"]=5]="Left/Right",e[e["Reverse/Forward"]=6]="Reverse/Forward",e[e["Pull/Push"]=7]="Pull/Push"})(Sk=l.SwitchType||(l.SwitchType={}));var Bk;(function(e){e[e.NameSet=1]="NameSet",e[e.NameGet=2]="NameGet",e[e.NameReport=3]="NameReport",e[e.LocationSet=4]="LocationSet",e[e.LocationGet=5]="LocationGet",e[e.LocationReport=6]="LocationReport"})(Bk=l.NodeNamingAndLocationCommand||(l.NodeNamingAndLocationCommand={}));var wk;(function(e){e[e.EventSupportedGet=1]="EventSupportedGet",e[e.EventSupportedReport=2]="EventSupportedReport",e[e.Get=4]="Get",e[e.Report=5]="Report",e[e.Set=6]="Set",e[e.SupportedGet=7]="SupportedGet",e[e.SupportedReport=8]="SupportedReport"})(wk=l.NotificationCommand||(l.NotificationCommand={}));var xk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.TestNodeSet=4]="TestNodeSet",e[e.TestNodeGet=5]="TestNodeGet",e[e.TestNodeReport=6]="TestNodeReport"})(xk=l.PowerlevelCommand||(l.PowerlevelCommand={}));var Rk;(function(e){e[e["Normal Power"]=0]="Normal Power",e[e["-1 dBm"]=1]="-1 dBm",e[e["-2 dBm"]=2]="-2 dBm",e[e["-3 dBm"]=3]="-3 dBm",e[e["-4 dBm"]=4]="-4 dBm",e[e["-5 dBm"]=5]="-5 dBm",e[e["-6 dBm"]=6]="-6 dBm",e[e["-7 dBm"]=7]="-7 dBm",e[e["-8 dBm"]=8]="-8 dBm",e[e["-9 dBm"]=9]="-9 dBm"})(Rk=l.Powerlevel||(l.Powerlevel={}));var _k;(function(e){e[e.Failed=0]="Failed",e[e.Success=1]="Success",e[e["In Progress"]=2]="In Progress"})(_k=l.PowerlevelTestStatus||(l.PowerlevelTestStatus={}));var Ck;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=4]="SupportedGet",e[e.SupportedReport=5]="SupportedReport",e[e.ExclusiveControlSet=6]="ExclusiveControlSet",e[e.ExclusiveControlGet=7]="ExclusiveControlGet",e[e.ExclusiveControlReport=8]="ExclusiveControlReport",e[e.TimeoutSet=9]="TimeoutSet",e[e.TimeoutGet=10]="TimeoutGet",e[e.TimeoutReport=11]="TimeoutReport"})(Ck=l.ProtectionCommand||(l.ProtectionCommand={}));var Nk;(function(e){e[e.Unprotected=0]="Unprotected",e[e.ProtectedBySequence=1]="ProtectedBySequence",e[e.NoOperationPossible=2]="NoOperationPossible"})(Nk=l.LocalProtectionState||(l.LocalProtectionState={}));var Pk;(function(e){e[e.Unprotected=0]="Unprotected",e[e.NoControl=1]="NoControl",e[e.NoResponse=2]="NoResponse"})(Pk=l.RFProtectionState||(l.RFProtectionState={}));var Ok;(function(e){e[e.Set=1]="Set"})(Ok=l.SceneActivationCommand||(l.SceneActivationCommand={}));var Ik;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(Ik=l.SceneActuatorConfigurationCommand||(l.SceneActuatorConfigurationCommand={}));var Mk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(Mk=l.SceneControllerConfigurationCommand||(l.SceneControllerConfigurationCommand={}));var Dk;(function(e){e[e.NonceGet=1]="NonceGet",e[e.NonceReport=2]="NonceReport",e[e.MessageEncapsulation=3]="MessageEncapsulation",e[e.KEXGet=4]="KEXGet",e[e.KEXReport=5]="KEXReport",e[e.KEXSet=6]="KEXSet",e[e.KEXFail=7]="KEXFail",e[e.PublicKeyReport=8]="PublicKeyReport",e[e.NetworkKeyGet=9]="NetworkKeyGet",e[e.NetworkKeyReport=10]="NetworkKeyReport",e[e.NetworkKeyVerify=11]="NetworkKeyVerify",e[e.TransferEnd=12]="TransferEnd",e[e.CommandsSupportedGet=13]="CommandsSupportedGet",e[e.CommandsSupportedReport=14]="CommandsSupportedReport"})(Dk=l.Security2Command||(l.Security2Command={}));var Tk;(function(e){e[e.CommandsSupportedGet=2]="CommandsSupportedGet",e[e.CommandsSupportedReport=3]="CommandsSupportedReport",e[e.SchemeGet=4]="SchemeGet",e[e.SchemeReport=5]="SchemeReport",e[e.SchemeInherit=8]="SchemeInherit",e[e.NetworkKeySet=6]="NetworkKeySet",e[e.NetworkKeyVerify=7]="NetworkKeyVerify",e[e.NonceGet=64]="NonceGet",e[e.NonceReport=128]="NonceReport",e[e.CommandEncapsulation=129]="CommandEncapsulation",e[e.CommandEncapsulationNonceGet=193]="CommandEncapsulationNonceGet"})(Tk=l.SecurityCommand||(l.SecurityCommand={}));var Ak;(function(e){e[e.TonesNumberGet=1]="TonesNumberGet",e[e.TonesNumberReport=2]="TonesNumberReport",e[e.ToneInfoGet=3]="ToneInfoGet",e[e.ToneInfoReport=4]="ToneInfoReport",e[e.ConfigurationSet=5]="ConfigurationSet",e[e.ConfigurationGet=6]="ConfigurationGet",e[e.ConfigurationReport=7]="ConfigurationReport",e[e.TonePlaySet=8]="TonePlaySet",e[e.TonePlayGet=9]="TonePlayGet",e[e.TonePlayReport=10]="TonePlayReport"})(Ak=l.SoundSwitchCommand||(l.SoundSwitchCommand={}));var Fk;(function(e){e[e.Off=0]="Off",e[e.Default=255]="Default"})(Fk=l.ToneId||(l.ToneId={}));var Ek;(function(e){e[e.Get=1]="Get",e[e.Report=2]="Report"})(Ek=l.SupervisionCommand||(l.SupervisionCommand={}));var qk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=4]="SupportedGet",e[e.SupportedReport=5]="SupportedReport"})(qk=l.ThermostatFanModeCommand||(l.ThermostatFanModeCommand={}));var Lk;(function(e){e[e["Auto low"]=0]="Auto low",e[e.Low=1]="Low",e[e["Auto high"]=2]="Auto high",e[e.High=3]="High",e[e["Auto medium"]=4]="Auto medium",e[e.Medium=5]="Medium",e[e.Circulation=6]="Circulation",e[e["Humidity circulation"]=7]="Humidity circulation",e[e["Left and right"]=8]="Left and right",e[e["Up and down"]=9]="Up and down",e[e.Quiet=10]="Quiet",e[e["External circulation"]=11]="External circulation"})(Lk=l.ThermostatFanMode||(l.ThermostatFanMode={}));var zk;(function(e){e[e.Get=2]="Get",e[e.Report=3]="Report"})(zk=l.ThermostatFanStateCommand||(l.ThermostatFanStateCommand={}));var Hk;(function(e){e[e["Idle / off"]=0]="Idle / off",e[e["Running / running low"]=1]="Running / running low",e[e["Running high"]=2]="Running high",e[e["Running medium"]=3]="Running medium",e[e["Circulation mode"]=4]="Circulation mode",e[e["Humidity circulation mode"]=5]="Humidity circulation mode",e[e["Right - left circulation mode"]=6]="Right - left circulation mode",e[e["Up - down circulation mode"]=7]="Up - down circulation mode",e[e["Quiet circulation mode"]=8]="Quiet circulation mode"})(Hk=l.ThermostatFanState||(l.ThermostatFanState={}));var jk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=4]="SupportedGet",e[e.SupportedReport=5]="SupportedReport"})(jk=l.ThermostatModeCommand||(l.ThermostatModeCommand={}));var Uk;(function(e){e[e.Off=0]="Off",e[e.Heat=1]="Heat",e[e.Cool=2]="Cool",e[e.Auto=3]="Auto",e[e.Auxiliary=4]="Auxiliary",e[e["Resume (on)"]=5]="Resume (on)",e[e.Fan=6]="Fan",e[e.Furnace=7]="Furnace",e[e.Dry=8]="Dry",e[e.Moist=9]="Moist",e[e["Auto changeover"]=10]="Auto changeover",e[e["Energy heat"]=11]="Energy heat",e[e["Energy cool"]=12]="Energy cool",e[e.Away=13]="Away",e[e["Full power"]=15]="Full power",e[e["Manufacturer specific"]=31]="Manufacturer specific"})(Uk=l.ThermostatMode||(l.ThermostatMode={}));var Kk;(function(e){e[e.Get=2]="Get",e[e.Report=3]="Report"})(Kk=l.ThermostatOperatingStateCommand||(l.ThermostatOperatingStateCommand={}));var $k;(function(e){e[e.Idle=0]="Idle",e[e.Heating=1]="Heating",e[e.Cooling=2]="Cooling",e[e["Fan Only"]=3]="Fan Only",e[e["Pending Heat"]=4]="Pending Heat",e[e["Pending Cool"]=5]="Pending Cool",e[e["Vent/Economizer"]=6]="Vent/Economizer",e[e["Aux Heating"]=7]="Aux Heating",e[e["2nd Stage Heating"]=8]="2nd Stage Heating",e[e["2nd Stage Cooling"]=9]="2nd Stage Cooling",e[e["2nd Stage Aux Heat"]=10]="2nd Stage Aux Heat",e[e["3rd Stage Aux Heat"]=11]="3rd Stage Aux Heat"})($k=l.ThermostatOperatingState||(l.ThermostatOperatingState={}));var Vk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(Vk=l.ThermostatSetbackCommand||(l.ThermostatSetbackCommand={}));var Xk;(function(e){e[e.None=0]="None",e[e.Temporary=1]="Temporary",e[e.Permanent=2]="Permanent"})(Xk=l.SetbackType||(l.SetbackType={}));var Gk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.SupportedGet=4]="SupportedGet",e[e.SupportedReport=5]="SupportedReport",e[e.CapabilitiesGet=9]="CapabilitiesGet",e[e.CapabilitiesReport=10]="CapabilitiesReport"})(Gk=l.ThermostatSetpointCommand||(l.ThermostatSetpointCommand={}));var Qk;(function(e){e[e["N/A"]=0]="N/A",e[e.Heating=1]="Heating",e[e.Cooling=2]="Cooling",e[e.Furnace=7]="Furnace",e[e["Dry Air"]=8]="Dry Air",e[e["Moist Air"]=9]="Moist Air",e[e["Auto Changeover"]=10]="Auto Changeover",e[e["Energy Save Heating"]=11]="Energy Save Heating",e[e["Energy Save Cooling"]=12]="Energy Save Cooling",e[e["Away Heating"]=13]="Away Heating",e[e["Away Cooling"]=14]="Away Cooling",e[e["Full Power"]=15]="Full Power"})(Qk=l.ThermostatSetpointType||(l.ThermostatSetpointType={}));var Wk;(function(e){e[e.TimeGet=1]="TimeGet",e[e.TimeReport=2]="TimeReport",e[e.DateGet=3]="DateGet",e[e.DateReport=4]="DateReport",e[e.TimeOffsetSet=5]="TimeOffsetSet",e[e.TimeOffsetGet=6]="TimeOffsetGet",e[e.TimeOffsetReport=7]="TimeOffsetReport"})(Wk=l.TimeCommand||(l.TimeCommand={}));var Yk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report"})(Yk=l.TimeParametersCommand||(l.TimeParametersCommand={}));var Jk;(function(e){e[e.FirstSegment=192]="FirstSegment",e[e.SegmentComplete=232]="SegmentComplete",e[e.SegmentRequest=200]="SegmentRequest",e[e.SegmentWait=240]="SegmentWait",e[e.SubsequentSegment=224]="SubsequentSegment"})(Jk=l.TransportServiceCommand||(l.TransportServiceCommand={}));var Zk;(function(e){e[e.Set=1]="Set",e[e.Get=2]="Get",e[e.Report=3]="Report",e[e.UsersNumberGet=4]="UsersNumberGet",e[e.UsersNumberReport=5]="UsersNumberReport",e[e.CapabilitiesGet=6]="CapabilitiesGet",e[e.CapabilitiesReport=7]="CapabilitiesReport",e[e.KeypadModeSet=8]="KeypadModeSet",e[e.KeypadModeGet=9]="KeypadModeGet",e[e.KeypadModeReport=10]="KeypadModeReport",e[e.ExtendedUserCodeSet=11]="ExtendedUserCodeSet",e[e.ExtendedUserCodeGet=12]="ExtendedUserCodeGet",e[e.ExtendedUserCodeReport=13]="ExtendedUserCodeReport",e[e.MasterCodeSet=14]="MasterCodeSet",e[e.MasterCodeGet=15]="MasterCodeGet",e[e.MasterCodeReport=16]="MasterCodeReport",e[e.UserCodeChecksumGet=17]="UserCodeChecksumGet",e[e.UserCodeChecksumReport=18]="UserCodeChecksumReport"})(Zk=l.UserCodeCommand||(l.UserCodeCommand={}));var eS;(function(e){e[e.Available=0]="Available",e[e.Enabled=1]="Enabled",e[e.Disabled=2]="Disabled",e[e.Messaging=3]="Messaging",e[e.PassageMode=4]="PassageMode",e[e.StatusNotAvailable=254]="StatusNotAvailable"})(eS=l.UserIDStatus||(l.UserIDStatus={}));var tS;(function(e){e[e.Normal=0]="Normal",e[e.Vacation=1]="Vacation",e[e.Privacy=2]="Privacy",e[e.LockedOut=3]="LockedOut"})(tS=l.KeypadMode||(l.KeypadMode={}));var rS;(function(e){e[e.Get=17]="Get",e[e.Report=18]="Report",e[e.CommandClassGet=19]="CommandClassGet",e[e.CommandClassReport=20]="CommandClassReport",e[e.CapabilitiesGet=21]="CapabilitiesGet",e[e.CapabilitiesReport=22]="CapabilitiesReport",e[e.ZWaveSoftwareGet=23]="ZWaveSoftwareGet",e[e.ZWaveSoftwareReport=24]="ZWaveSoftwareReport"})(rS=l.VersionCommand||(l.VersionCommand={}));var nS;(function(e){e[e.IntervalSet=4]="IntervalSet",e[e.IntervalGet=5]="IntervalGet",e[e.IntervalReport=6]="IntervalReport",e[e.WakeUpNotification=7]="WakeUpNotification",e[e.NoMoreInformation=8]="NoMoreInformation",e[e.IntervalCapabilitiesGet=9]="IntervalCapabilitiesGet",e[e.IntervalCapabilitiesReport=10]="IntervalCapabilitiesReport"})(nS=l.WakeUpCommand||(l.WakeUpCommand={}));var oS;(function(e){e[e.Get=1]="Get",e[e.Report=2]="Report"})(oS=l.ZWavePlusCommand||(l.ZWavePlusCommand={}));var iS;(function(e){e[e.CentralStaticController=0]="CentralStaticController",e[e.SubStaticController=1]="SubStaticController",e[e.PortableController=2]="PortableController",e[e.PortableReportingController=3]="PortableReportingController",e[e.PortableSlave=4]="PortableSlave",e[e.AlwaysOnSlave=5]="AlwaysOnSlave",e[e.SleepingReportingSlave=6]="SleepingReportingSlave",e[e.SleepingListeningSlave=7]="SleepingListeningSlave",e[e.NetworkAwareSlave=8]="NetworkAwareSlave"})(iS=l.ZWavePlusRoleType||(l.ZWavePlusRoleType={}));var aS;(function(e){e[e.Node=0]="Node",e[e.IPGateway=2]="IPGateway"})(aS=l.ZWavePlusNodeType||(l.ZWavePlusNodeType={}));var sS;(function(e){e[e.NodeInformationFrame=1]="NodeInformationFrame",e[e.RequestNodeInformationFrame=2]="RequestNodeInformationFrame",e[e.AssignIDs=3]="AssignIDs",e[e.FindNodesInRange=4]="FindNodesInRange",e[e.GetNodesInRange=5]="GetNodesInRange",e[e.RangeInfo=6]="RangeInfo",e[e.CommandComplete=7]="CommandComplete",e[e.TransferPresentation=8]="TransferPresentation",e[e.TransferNodeInformation=9]="TransferNodeInformation",e[e.TransferRangeInformation=10]="TransferRangeInformation",e[e.TransferEnd=11]="TransferEnd",e[e.AssignReturnRoute=12]="AssignReturnRoute",e[e.NewNodeRegistered=13]="NewNodeRegistered",e[e.NewRangeRegistered=14]="NewRangeRegistered",e[e.TransferNewPrimaryControllerComplete=15]="TransferNewPrimaryControllerComplete",e[e.AutomaticControllerUpdateStart=16]="AutomaticControllerUpdateStart",e[e.SUCNodeID=17]="SUCNodeID",e[e.SetSUC=18]="SetSUC",e[e.SetSUCAck=19]="SetSUCAck",e[e.AssignSUCReturnRoute=20]="AssignSUCReturnRoute",e[e.StaticRouteRequest=21]="StaticRouteRequest",e[e.Lost=22]="Lost",e[e.AcceptLost=23]="AcceptLost",e[e.NOPPower=24]="NOPPower",e[e.ReserveNodeIDs=25]="ReserveNodeIDs",e[e.ReservedIDs=26]="ReservedIDs",e[e.NodesExist=31]="NodesExist",e[e.NodesExistReply=32]="NodesExistReply",e[e.SetNWIMode=34]="SetNWIMode",e[e.ExcludeRequest=35]="ExcludeRequest",e[e.AssignReturnRoutePriority=36]="AssignReturnRoutePriority",e[e.AssignSUCReturnRoutePriority=37]="AssignSUCReturnRoutePriority",e[e.SmartStartIncludedNodeInformation=38]="SmartStartIncludedNodeInformation",e[e.SmartStartPrime=39]="SmartStartPrime",e[e.SmartStartInclusionRequest=40]="SmartStartInclusionRequest"})(sS=l.ZWaveProtocolCommand||(l.ZWaveProtocolCommand={}));var Rp;(function(e){e[e.None=0]="None",e[e["1000ms"]=1]="1000ms",e[e["250ms"]=2]="250ms"})(Rp=l.WakeUpTime||(l.WakeUpTime={}));function cS(e){return e==="1000ms"?1:e==="250ms"?2:0}l.FLiRS2WakeUpTime=cS;function lS(e){return e===1?"1000ms":e===2?"250ms":!1}l.wakeUpTime2FLiRS=lS;function uS(e){return e===1e5?Dn.ZWaveDataRate["100k"]:e===4e4?Dn.ZWaveDataRate["40k"]:Dn.ZWaveDataRate["9k6"]}l.dataRate2ZWaveDataRate=uS;function dS(e){return e===Dn.ZWaveDataRate["100k"]?1e5:e===Dn.ZWaveDataRate["40k"]?4e4:9600}l.ZWaveDataRate2DataRate=dS;function fS(e){return e<=Rp["250ms"]?e:0}l.parseWakeUpTime=fS;var pS;(function(e){e[e.Failed=0]="Failed",e[e.Success=1]="Success",e[e.UpdateDone=2]="UpdateDone",e[e.UpdateAborted=3]="UpdateAborted",e[e.UpdateWait=4]="UpdateWait",e[e.UpdateDisabled=5]="UpdateDisabled",e[e.UpdateOverflow=6]="UpdateOverflow"})(pS=l.NetworkTransferStatus||(l.NetworkTransferStatus={}))});var Cp=D(vr=>{"use strict";var gS=vr&&vr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),mS=vr&&vr.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&gS(t,e,r)};Object.defineProperty(vr,"__esModule",{value:!0});mS(_p(),vr)});var Ip=D(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.formatRouteHealthCheckSummary=we.formatRouteHealthCheckRound=we.formatLifelineHealthCheckSummary=we.formatLifelineHealthCheckRound=we.healthCheckRatingToWord=we.healthCheckTestFrameCount=void 0;var ds=Cp(),fs=hr(),Np=Et();we.healthCheckTestFrameCount=10;function Tn(e){return e>=10?"perfect":e>=6?"good":e>=4?"acceptable":e>=1?"bad":"dead"}we.healthCheckRatingToWord=Tn;function Pp(e,t,r){return[`\xB7 round ${(0,Np.padStart)(e.toString(),Math.floor(Math.log10(t)+1)," ")} - rating: ${r.rating} (${Tn(r.rating)})`,` failed pings \u2192 node: ${r.failedPingsNode}/${we.healthCheckTestFrameCount}`,` max. latency: ${r.latency.toFixed(1)} ms`,r.routeChanges!=null?` route changes: ${r.routeChanges}`:"",r.snrMargin!=null?` SNR margin: ${r.snrMargin} dBm`:"",r.failedPingsController!=null?` failed pings \u2192 controller: ${r.failedPingsController}/${we.healthCheckTestFrameCount} at normal power`:r.minPowerlevel!=null?` min. node powerlevel w/o errors: ${(0,fs.getEnumMemberName)(ds.Powerlevel,r.minPowerlevel)}`:""].filter(o=>!!o).join(` `)}we.formatLifelineHealthCheckRound=Pp;function hS(e){return` rating: ${e.rating} (${Tn(e.rating)}) diff --git a/admin/build/tab.js.map b/admin/build/tab.js.map index a594920a..12cdd29e 100644 --- a/admin/build/tab.js.map +++ b/admin/build/tab.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../../node_modules/@material-ui/icons/DeleteForever.js", "../../node_modules/@material-ui/icons/Restore.js", "../../node_modules/@material-ui/icons/DeviceUnknown.js", "../../node_modules/@material-ui/icons/PowerSettingsNew.js", "../../node_modules/@material-ui/icons/WifiOff.js", "../../node_modules/@material-ui/icons/NetworkCheck.js", "../../node_modules/@material-ui/icons/Remove.js", "../../node_modules/@material-ui/icons/Home.js", "../../node_modules/@material-ui/icons/KeyboardArrowDown.js", "../../node_modules/@material-ui/icons/KeyboardArrowUp.js", "../../node_modules/@material-ui/icons/Language.js", "../../node_modules/@material-ui/icons/RestorePage.js", "../../node_modules/@material-ui/icons/NoEncryption.js", "../../node_modules/@material-ui/icons/Autorenew.js", "../../node_modules/@material-ui/icons/Done.js", "../../node_modules/@material-ui/icons/ErrorOutline.js", "../../node_modules/@material-ui/icons/Redo.js", "../../node_modules/@material-ui/icons/DeleteOutline.js", "../../node_modules/@material-ui/icons/Memory.js", "../../node_modules/@material-ui/icons/SwapHoriz.js", "../../node_modules/@material-ui/icons/PhotoCamera.js", "../../node_modules/@material-ui/icons/Videocam.js", "../../node_modules/@material-ui/icons/CheckBox.js", "../../node_modules/@material-ui/icons/CheckBoxOutlineBlank.js", "../../node_modules/@material-ui/icons/AddAPhoto.js", "../../node_modules/@zwave-js/core/build/abstractions/ICommandClass.js", "../../node_modules/@zwave-js/core/build/abstractions/IZWaveEndpoint.js", "../../node_modules/@zwave-js/core/build/abstractions/IZWaveNode.js", "../../node_modules/@zwave-js/shared/src/errors.ts", "../../node_modules/@zwave-js/shared/src/inheritance.ts", "../../node_modules/@zwave-js/shared/src/ObjectKeyMap.ts", "../../node_modules/@zwave-js/shared/src/strings.ts", "../../node_modules/@zwave-js/shared/src/ThrowingMap.ts", "../../node_modules/alcalzone-shared/deferred-promise/index.js", "../../node_modules/@zwave-js/shared/src/TimedExpectation.ts", "../../node_modules/@zwave-js/shared/build/types.js", "../../node_modules/@zwave-js/shared/src/utils.ts", "../../node_modules/@zwave-js/shared/src/wrappingCounter.ts", "../../node_modules/@zwave-js/shared/src/index_safe.ts", "../../node_modules/@zwave-js/core/src/capabilities/CommandClasses.ts", "../../node_modules/@zwave-js/core/src/capabilities/ControllerCapabilities.ts", "../../node_modules/@zwave-js/core/src/capabilities/LibraryTypes.ts", "../../node_modules/@zwave-js/core/src/error/ZWaveError.ts", "../../node_modules/@zwave-js/core/src/util/misc.ts", "../../node_modules/@zwave-js/core/src/capabilities/NodeInfo.ts", "../../node_modules/@zwave-js/core/src/capabilities/Protocols.ts", "../../node_modules/@zwave-js/core/src/capabilities/RFRegion.ts", "../../node_modules/@zwave-js/core/build/capabilities/ZWaveApiVersion.js", "../../node_modules/@zwave-js/core/src/consts/InterviewStage.ts", "../../node_modules/@zwave-js/core/src/consts/NodeStatus.ts", "../../node_modules/@zwave-js/core/src/consts/Transmission.ts", "../../node_modules/@zwave-js/core/src/consts/index.ts", "../../node_modules/@zwave-js/core/src/log/shared_safe.ts", "../../node_modules/@zwave-js/core/src/security/DSK.ts", "../../node_modules/@zwave-js/core/src/security/SecurityClass.ts", "../../node_modules/@zwave-js/core/src/test/assertZWaveError.ts", "../../node_modules/@zwave-js/core/src/util/crc.ts", "../../node_modules/@zwave-js/core/src/util/graph.ts", "../../node_modules/@zwave-js/core/build/util/_Types.js", "../../node_modules/alcalzone-shared/math/index.js", "../../node_modules/@zwave-js/core/src/values/Duration.ts", "../../node_modules/@zwave-js/core/src/values/Cache.ts", "../../node_modules/@zwave-js/core/src/values/CacheBackedMap.ts", "../../node_modules/@zwave-js/core/src/values/Primitive.ts", "../../node_modules/@zwave-js/core/src/values/Metadata.ts", "../../node_modules/@zwave-js/core/src/values/Timeout.ts", "../../node_modules/@zwave-js/core/build/values/_Types.js", "../../node_modules/@zwave-js/core/src/index_safe.ts", "../../node_modules/zwave-js/src/lib/controller/Features.ts", "../../node_modules/zwave-js/src/lib/controller/Inclusion.ts", "../../node_modules/zwave-js/build/lib/controller/_Types.js", "../../node_modules/zwave-js/src/Controller_safe.ts", "../../node_modules/zwave-js/src/Error.ts", "../../node_modules/zwave-js/src/lib/node/DeviceClass.ts", "../../node_modules/zwave-js/src/lib/node/_Types.ts", "../../node_modules/zwave-js/src/Node_safe.ts", "../../node_modules/@zwave-js/cc/src/lib/_Types.ts", "../../node_modules/@zwave-js/cc/src/index_safe.ts", "../../node_modules/zwave-js/src/lib/node/HealthCheck.ts", "../../node_modules/zwave-js/src/Utils_safe.ts", "../../node_modules/zwave-js/src/Values.ts", "../../node_modules/zwave-js/src/index_safe.ts", "../src/tab.tsx", "../src/components/TabPanel.tsx", "../src/pages/Associations.tsx", "../src/components/AssociationNodeTable.tsx", "../src/components/AssociationRow.tsx", "../../node_modules/iobroker-react/src/lib/components/Dropdown.tsx", "../src/components/DeviceStatusIcon.tsx", "../src/components/Messages.tsx", "../src/pages/Devices.tsx", "../src/components/DeviceActionButtons.tsx", "../src/components/DeviceTable.tsx", "../src/components/DeviceTableRow.tsx", "../src/components/ControllerActions.tsx", "../src/components/SetRFRegionDialog.tsx", "../src/components/DeviceSecurityIcon.tsx", "../src/components/DeviceStatisticsIndicator.tsx", "../src/components/NodeStatisticsTooltip.tsx", "../src/components/HealStatusIcon.tsx", "../src/components/NodeActions.tsx", "../src/components/InclusionExclusionDialog.tsx", "../../node_modules/@material-ui/lab/esm/Alert/Alert.js", "../../node_modules/@material-ui/lab/esm/internal/svg-icons/SuccessOutlined.js", "../../node_modules/@material-ui/lab/esm/internal/svg-icons/ReportProblemOutlined.js", "../../node_modules/@material-ui/lab/esm/internal/svg-icons/ErrorOutline.js", "../../node_modules/@material-ui/lab/esm/internal/svg-icons/InfoOutlined.js", "../src/components/QRScanner.tsx", "../../node_modules/@material-ui/lab/esm/ToggleButton/ToggleButton.js", "../../node_modules/@material-ui/lab/esm/ToggleButtonGroup/ToggleButtonGroup.js", "../../node_modules/@material-ui/lab/esm/ToggleButtonGroup/isValueSelected.js", "../../node_modules/jsqr-es6/src/BitMatrix.ts", "../../node_modules/jsqr-es6/src/binarizer/index.ts", "../../node_modules/jsqr-es6/src/decoder/decodeData/BitStream.ts", "../../node_modules/jsqr-es6/src/decoder/decodeData/index.ts", "../../node_modules/jsqr-es6/src/decoder/reedsolomon/GenericGFPoly.ts", "../../node_modules/jsqr-es6/src/decoder/reedsolomon/GenericGF.ts", "../../node_modules/jsqr-es6/src/decoder/reedsolomon/index.ts", "../../node_modules/jsqr-es6/src/decoder/version.ts", "../../node_modules/jsqr-es6/src/decoder/decoder.ts", "../../node_modules/jsqr-es6/src/extractor/index.ts", "../../node_modules/jsqr-es6/src/locator/index.ts", "../../node_modules/jsqr-es6/src/index.ts", "../src/lib/useAnimationFrame.ts", "../src/pages/NetworkMap.tsx", "../../node_modules/d3-array/src/ascending.js", "../../node_modules/internmap/src/index.js", "../../node_modules/d3-array/src/range.js", "../../node_modules/d3-chord/src/math.js", "../../node_modules/d3-chord/src/chord.js", "../../node_modules/d3-path/src/path.js", "../../node_modules/d3-chord/src/array.js", "../../node_modules/d3-chord/src/constant.js", "../../node_modules/d3-chord/src/ribbon.js", "../../node_modules/d3-scale/src/init.js", "../../node_modules/d3-scale/src/ordinal.js", "../../node_modules/d3-color/src/define.js", "../../node_modules/d3-color/src/color.js", "../../node_modules/d3-interpolate/src/basis.js", "../../node_modules/d3-interpolate/src/basisClosed.js", "../../node_modules/d3-interpolate/src/constant.js", "../../node_modules/d3-interpolate/src/color.js", "../../node_modules/d3-interpolate/src/rgb.js", "../../node_modules/d3-scale-chromatic/src/colors.js", "../../node_modules/d3-scale-chromatic/src/ramp.js", "../../node_modules/d3-scale-chromatic/src/diverging/Spectral.js", "../../node_modules/d3-selection/src/namespaces.js", "../../node_modules/d3-selection/src/namespace.js", "../../node_modules/d3-selection/src/creator.js", "../../node_modules/d3-selection/src/selector.js", "../../node_modules/d3-selection/src/selection/select.js", "../../node_modules/d3-selection/src/array.js", "../../node_modules/d3-selection/src/selectorAll.js", "../../node_modules/d3-selection/src/selection/selectAll.js", "../../node_modules/d3-selection/src/matcher.js", "../../node_modules/d3-selection/src/selection/selectChild.js", "../../node_modules/d3-selection/src/selection/selectChildren.js", "../../node_modules/d3-selection/src/selection/filter.js", "../../node_modules/d3-selection/src/selection/sparse.js", "../../node_modules/d3-selection/src/selection/enter.js", "../../node_modules/d3-selection/src/constant.js", "../../node_modules/d3-selection/src/selection/data.js", "../../node_modules/d3-selection/src/selection/exit.js", "../../node_modules/d3-selection/src/selection/join.js", "../../node_modules/d3-selection/src/selection/merge.js", "../../node_modules/d3-selection/src/selection/order.js", "../../node_modules/d3-selection/src/selection/sort.js", "../../node_modules/d3-selection/src/selection/call.js", "../../node_modules/d3-selection/src/selection/nodes.js", "../../node_modules/d3-selection/src/selection/node.js", "../../node_modules/d3-selection/src/selection/size.js", "../../node_modules/d3-selection/src/selection/empty.js", "../../node_modules/d3-selection/src/selection/each.js", "../../node_modules/d3-selection/src/selection/attr.js", "../../node_modules/d3-selection/src/window.js", "../../node_modules/d3-selection/src/selection/style.js", "../../node_modules/d3-selection/src/selection/property.js", "../../node_modules/d3-selection/src/selection/classed.js", "../../node_modules/d3-selection/src/selection/text.js", "../../node_modules/d3-selection/src/selection/html.js", "../../node_modules/d3-selection/src/selection/raise.js", "../../node_modules/d3-selection/src/selection/lower.js", "../../node_modules/d3-selection/src/selection/append.js", "../../node_modules/d3-selection/src/selection/insert.js", "../../node_modules/d3-selection/src/selection/remove.js", "../../node_modules/d3-selection/src/selection/clone.js", "../../node_modules/d3-selection/src/selection/datum.js", "../../node_modules/d3-selection/src/selection/on.js", "../../node_modules/d3-selection/src/selection/dispatch.js", "../../node_modules/d3-selection/src/selection/iterator.js", "../../node_modules/d3-selection/src/selection/index.js", "../../node_modules/d3-selection/src/select.js", "../../node_modules/d3-shape/src/constant.js", "../../node_modules/d3-shape/src/math.js", "../../node_modules/d3-shape/src/arc.js", "../src/lib/networkMap.ts", "../src/lib/useDevices.ts", "../src/pages/Groups.tsx", "../src/components/GroupRow.tsx", "../src/lib/tools.ts", "../src/lib/useGroups.ts", "../src/pages/SmartStart.tsx", "../src/components/SmartStartTableRow.tsx"], "sourcesContent": ["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'DeleteForever');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z\"\n}), 'Restore');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 1H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zm0 18H7V5h10v14zM12 6.72c-1.96 0-3.5 1.52-3.5 3.47h1.75c0-.93.82-1.75 1.75-1.75s1.75.82 1.75 1.75c0 1.75-2.63 1.57-2.63 4.45h1.76c0-1.96 2.62-2.19 2.62-4.45 0-1.96-1.54-3.47-3.5-3.47zm-.88 8.8h1.76v1.76h-1.76z\"\n}), 'DeviceUnknown');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z\"\n}), 'PowerSettingsNew');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n 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.7l2-2zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53.96-.97zM2 3.05L5.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.79 2 3.05zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0z\"\n}), 'WifiOff');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9 5c-.17 0-.32.09-.41.23l-.07.15-5.18 11.65c-.16.29-.26.61-.26.96 0 1.11.9 2.01 2.01 2.01.96 0 1.77-.68 1.96-1.59l.01-.03L16.4 5.5c0-.28-.22-.5-.5-.5zM1 9l2 2c2.88-2.88 6.79-4.08 10.53-3.62l1.19-2.68C9.89 3.84 4.74 5.27 1 9zm20 2l2-2c-1.64-1.64-3.55-2.82-5.59-3.57l-.53 2.82c1.5.62 2.9 1.53 4.12 2.75zm-4 4l2-2c-.8-.8-1.7-1.42-2.66-1.89l-.55 2.92c.42.27.83.59 1.21.97zM5 13l2 2c1.13-1.13 2.56-1.79 4.03-2l1.28-2.88c-2.63-.08-5.3.87-7.31 2.88z\"\n}), 'NetworkCheck');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 13H5v-2h14v2z\"\n}), 'Remove');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\n}), 'Home');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"\n}), 'KeyboardArrowDown');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"\n}), 'KeyboardArrowUp');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z\"\n}), 'Language');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n 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-2V8l-6-6zm-2 16c-2.05 0-3.81-1.24-4.58-3h1.71c.63.9 1.68 1.5 2.87 1.5 1.93 0 3.5-1.57 3.5-3.5S13.93 9.5 12 9.5c-1.35 0-2.52.78-3.1 1.9l1.6 1.6h-4V9l1.3 1.3C8.69 8.92 10.23 8 12 8c2.76 0 5 2.24 5 5s-2.24 5-5 5z\"\n}), 'RestorePage');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 21.78L4.22 5 3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12c.23 0 .45-.05.66-.12L19.78 23 21 21.78zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H9.66L20 18.34V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.56 0-4.64 1.93-4.94 4.4L8.9 7.24V6z\"\n}), 'NoEncryption');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z\"\n}), 'Autorenew');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"\n}), 'Done');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z\"\n}), 'Redo');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'DeleteOutline');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 9H9v6h6V9zm-2 4h-2v-2h2v2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2zm-4 6H7V7h10v10z\"\n}), 'Memory');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z\"\n}), 'SwapHoriz');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"3.2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z\"\n})), 'PhotoCamera');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n 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-11l-4 4z\"\n}), 'Videocam');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');\n\nexports.default = _default;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 4V1h2v3h3v2H5v3H3V6H0V4h3zm3 6V7h3V4h7l1.83 2H21c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V10h3zm7 9c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-3.2-5c0 1.77 1.43 3.2 3.2 3.2s3.2-1.43 3.2-3.2-1.43-3.2-3.2-3.2-3.2 1.43-3.2 3.2z\"\n}), 'AddAPhoto');\n\nexports.default = _default;", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ICommandClass.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IZWaveEndpoint.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IZWaveNode.js.map", null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeferredPromise = void 0;\nfunction createDeferredPromise() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nexports.createDeferredPromise = createDeferredPromise;\n", null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ZWaveApiVersion.js.map", null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=_Types.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.roundTo = exports.clamp = void 0;\n/** limits a value to the range given by min/max */\nfunction clamp(value, min, max) {\n if (min > max) {\n [min, max] = [max, min];\n }\n if (value < min)\n return min;\n if (value > max)\n return max;\n return value;\n}\nexports.clamp = clamp;\nfunction roundTo(value, digits) {\n const exp = Math.pow(10, digits);\n return Math.round(value * exp) / exp;\n}\nexports.roundTo = roundTo;\n", null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=_Types.js.map", null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=_Types.js.map", null, null, null, null, null, null, null, null, null, null, null, "import { AppBar, Tab, Tabs } from \"@material-ui/core\";\nimport { IoBrokerApp } from \"iobroker-react/app\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport type { Translations } from \"iobroker-react/i18n\";\nimport ReactDOM from \"react-dom\";\nimport { TabPanel } from \"./components/TabPanel\";\nimport { Associations } from \"./pages/Associations\";\nimport { Devices } from \"./pages/Devices\";\nimport { NetworkMap } from \"./pages/NetworkMap\";\n\nimport { memo, useState } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useDevices } from \"./lib/useDevices\";\nimport { Groups } from \"./pages/Groups\";\nimport { SmartStart } from \"./pages/SmartStart\";\nimport { ZWaveLogs } from \"./pages/ZWaveLogs\";\n\nfunction ErrorFallback({ error, resetErrorBoundary }) {\n\treturn (\n\t\t
\n\t\t\t

Something went wrong:

\n\t\t\t
{error.stack}
\n\t\t\t\n\t\t
\n\t);\n}\n\nconst translations: Translations = {\n\ten: require(\"./i18n/en.json\"),\n\tde: require(\"./i18n/de.json\"),\n\tru: require(\"./i18n/ru.json\"),\n\tpt: require(\"./i18n/pt.json\"),\n\tnl: require(\"./i18n/nl.json\"),\n\tfr: require(\"./i18n/fr.json\"),\n\tit: require(\"./i18n/it.json\"),\n\tes: require(\"./i18n/es.json\"),\n\tpl: require(\"./i18n/pl.json\"),\n\t\"zh-cn\": require(\"./i18n/zh-cn.json\"),\n};\n\nconst Root: React.FC = memo(() => {\n\tconst [value, setValue] = useState(0);\n\tconst { translate: _ } = useI18n();\n\n\tconst handleTabChange = (\n\t\t// eslint-disable-next-line @typescript-eslint/ban-types\n\t\tevent: React.ChangeEvent<{}>,\n\t\tnewValue: number,\n\t) => {\n\t\tsetValue(newValue);\n\t};\n\n\tconst [devices, updateDevices] = useDevices();\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n});\n\nReactDOM.render(\n\t\n\t\t\n\t,\n\tdocument.getElementById(\"root\"),\n);\n", "import Box from \"@material-ui/core/Box\";\nimport { makeStyles } from \"@material-ui/core/styles\";\n\ninterface TabPanelProps {\n\tchildren?: React.ReactNode;\n\tindex: any;\n\tvalue: any;\n}\n\nconst useStyles = makeStyles((_theme) => ({\n\ttabpanel: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\t\"& > *\": {\n\t\t\twidth: \"100%\",\n\t\t\theight: \"100%\",\n\t\t},\n\t},\n}));\n\nexport const TabPanel: React.FC = (props) => {\n\tconst { children, value, index, ...other } = props;\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t{value === index && {children}}\n\t\t\n\t);\n};\n", "import CircularProgress from \"@material-ui/core/CircularProgress\";\nimport { useAdapter } from \"iobroker-react/hooks\";\nimport type { AssociationDefinition } from \"../../../src/lib/shared\";\nimport { AssociationNodeTable } from \"../components/AssociationNodeTable\";\nimport { NoDevices, NotRunning } from \"../components/Messages\";\nimport { Device, useAPI } from \"../lib/useAPI\";\n\nexport interface AssociationsProps {\n\tdevices: Record | undefined;\n\tupdateDevices: () => Promise;\n}\n\nexport const Associations: React.FC = (props) => {\n\tconst { alive: adapterRunning, connected: driverReady } = useAdapter();\n\tconst api = useAPI();\n\tconst { devices, updateDevices } = props;\n\n\tasync function saveAssociation(\n\t\tnodeId: number,\n\t\tprev: AssociationDefinition | undefined,\n\t\tcurrent: AssociationDefinition,\n\t): Promise {\n\t\tif (prev) await deleteAssociation(nodeId, prev);\n\t\tawait api.addAssociation(nodeId, current);\n\t\t// Associations are not reflected in states, so we need to\n\t\t// manually update them\n\t\tawait updateDevices();\n\t}\n\n\tasync function deleteAssociation(\n\t\tnodeId: number,\n\t\tassociation: AssociationDefinition,\n\t): Promise {\n\t\tawait api.removeAssociation(nodeId, association);\n\t\t// Associations are not reflected in states, so we need to\n\t\t// manually update them\n\t\tawait updateDevices();\n\t}\n\n\tconst devicesAsArray = devices\n\t\t? Object.values(devices).filter(Boolean)\n\t\t: [];\n\tconst nodes = devicesAsArray.map((d) => ({\n\t\tnodeId: d.value.native.id as number,\n\t\tendpointIndizes: d.value.native.endpointIndizes as number[] | undefined,\n\t}));\n\tconst nonControllerDevices = devicesAsArray.filter(\n\t\t(d) => !d.value.native.isControllerNode,\n\t);\n\n\tif (!adapterRunning || !driverReady) return ;\n\tif (!devices) return ;\n\tif (!nonControllerDevices.length) return ;\n\n\treturn (\n\t\t<>\n\t\t\t{nonControllerDevices.map((device, index) => (\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t);\n};\n", "import Paper from \"@material-ui/core/Paper\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { padStart } from \"alcalzone-shared/strings\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport { useMemo } from \"react\";\nimport type { AssociationGroup } from \"zwave-js\";\nimport type { AssociationDefinition } from \"../../../src/lib/shared\";\nimport type { Device } from \"../lib/useAPI\";\nimport { AssociationRow } from \"./AssociationRow\";\nimport { DeviceStatusIcon } from \"./DeviceStatusIcon\";\nimport { NodeNotReady } from \"./Messages\";\n\nconst useStyles = makeStyles((theme) => ({\n\theadline: {\n\t\tbackgroundColor: theme.palette.background.default,\n\t\tmargin: theme.spacing(-2),\n\t\tmarginBottom: theme.spacing(2),\n\t\tborderBottom: `1px solid ${theme.palette.divider}`,\n\t\tpadding: theme.spacing(2),\n\t},\n\ttable: {\n\t\tmarginTop: theme.spacing(-2),\n\t},\n\tnodeNumber: {\n\t\t\"& > *\": {\n\t\t\tverticalAlign: \"middle\",\n\t\t},\n\t},\n\tpaper: {\n\t\tpadding: theme.spacing(2),\n\t\tbackgroundColor: theme.palette.background.paper,\n\t\tmarginTop: theme.spacing(4),\n\t\t\"&:first-child\": {\n\t\t\tmargin: 0,\n\t\t},\n\t},\n}));\n\ninterface AssociationNodeTableHeadlineProps {\n\tdevice: Device;\n}\n\nfunction AssociationNodeTableHeadline(\n\tprops: AssociationNodeTableHeadlineProps,\n) {\n\tconst { translate: _ } = useI18n();\n\n\tconst { value, status } = props.device;\n\tconst nodeId = value.native.id as number;\n\tconst nodeName =\n\t\tvalue.common.name && !(value.common.name as string).startsWith(\"Node\")\n\t\t\t? value.common.name\n\t\t\t: undefined;\n\n\tconst classes = useStyles();\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Node\")} {padStart(nodeId.toString(), 3, \"0\")}\n\t\t\t\t\n\t\t\t\t \n\t\t\t\t\n\t\t\t\n\t\t\t{nodeName && (\n\t\t\t\t\n\t\t\t\t\t{nodeName}\n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t);\n}\n\nfunction AssociationNodeTableContent(props: AssociationNodeTableProps) {\n\tconst { translate: _ } = useI18n();\n\n\tconst { endpoints, value } = props.device;\n\tconst nodeId = value.native.id as number;\n\n\t// Contains a flat array of all association definitions by endpoint\n\tconst {\n\t\tsourceEndpoints,\n\t\tgroups,\n\t\tsupportsMultiChannel,\n\t\thasAssociations,\n\t\tassociations,\n\t} = useMemo(() => {\n\t\tconst definitions: AssociationDefinition[] = [];\n\t\tlet hasAssociations = false;\n\t\tlet supportsMultiChannel = false;\n\t\tconst groups = new Map<\n\t\t\tnumber,\n\t\t\t(AssociationGroup & { group: number })[]\n\t\t>();\n\t\tconst sourceEndpoints: number[] = [];\n\t\tif (endpoints) {\n\t\t\tfor (const [index, endpoint] of endpoints) {\n\t\t\t\tif (!endpoint.associationGroups) {\n\t\t\t\t\tgroups.set(index, []);\n\t\t\t\t} else {\n\t\t\t\t\tsupportsMultiChannel ||= Object.values(\n\t\t\t\t\t\tendpoint.associationGroups,\n\t\t\t\t\t).some((a) => !!a.multiChannel);\n\t\t\t\t\tgroups.set(\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\tObject.entries(endpoint.associationGroups).map(\n\t\t\t\t\t\t\t([group, def]) => ({\n\t\t\t\t\t\t\t\tgroup: parseInt(group),\n\t\t\t\t\t\t\t\t...def,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (endpoint.associations) {\n\t\t\t\t\tdefinitions.push(\n\t\t\t\t\t\t...Object.entries(endpoint.associations)\n\t\t\t\t\t\t\t.map(([group, assocs]) =>\n\t\t\t\t\t\t\t\tassocs.map((a) => ({\n\t\t\t\t\t\t\t\t\tsourceEndpoint: index,\n\t\t\t\t\t\t\t\t\tgroup: parseInt(group),\n\t\t\t\t\t\t\t\t\t...a,\n\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce((acc, cur) => [...acc, ...cur], [])\n\t\t\t\t\t\t\t.sort((a1, a2) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\ta1.group - a2.group ||\n\t\t\t\t\t\t\t\t\ta1.nodeId - a2.nodeId ||\n\t\t\t\t\t\t\t\t\t(a1.endpoint ?? -1) - (a2.endpoint ?? -1)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\thasAssociations ||=\n\t\t\t\t\t\tObject.keys(endpoint.associations).length > 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (supportsMultiChannel) sourceEndpoints.push(0);\n\t\t\tsourceEndpoints.push(...endpoints.keys());\n\t\t}\n\t\treturn {\n\t\t\tsourceEndpoints,\n\t\t\tgroups,\n\t\t\tsupportsMultiChannel,\n\t\t\thasAssociations,\n\t\t\tassociations: definitions,\n\t\t};\n\t}, [endpoints]);\n\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Source endpoint\")}\n\t\t\t\t\t{_(\"Group\")}\n\t\t\t\t\t{_(\"Target node\")}\n\t\t\t\t\t{supportsMultiChannel && (\n\t\t\t\t\t\t{_(\"Target endpoint\")}\n\t\t\t\t\t)}\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{hasAssociations ? (\n\t\t\t\t\tassociations.map((assoc) => (\n\t\t\t\t\t\t n.nodeId !== nodeId,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tsourceEndpoint={assoc.sourceEndpoint ?? 0}\n\t\t\t\t\t\t\tgroup={assoc.group}\n\t\t\t\t\t\t\tnodeId={assoc.nodeId}\n\t\t\t\t\t\t\tendpoint={assoc.endpoint}\n\t\t\t\t\t\t\tsupportsMultiChannel={supportsMultiChannel}\n\t\t\t\t\t\t\tsave={(\n\t\t\t\t\t\t\t\tsourceEndpoint,\n\t\t\t\t\t\t\t\tgroup,\n\t\t\t\t\t\t\t\ttargetNodeId,\n\t\t\t\t\t\t\t\tendpoint,\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\treturn props.saveAssociation(nodeId, assoc, {\n\t\t\t\t\t\t\t\t\tsourceEndpoint,\n\t\t\t\t\t\t\t\t\tgroup,\n\t\t\t\t\t\t\t\t\tnodeId: targetNodeId,\n\t\t\t\t\t\t\t\t\tendpoint,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdelete={() => {\n\t\t\t\t\t\t\t\treturn props.deleteAssociation(nodeId, assoc);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t)}\n\t\t\t\t{/* Empty row to add new associations */}\n\t\t\t\t n.nodeId !== nodeId)}\n\t\t\t\t\tsourceEndpoint={undefined}\n\t\t\t\t\tgroup={undefined}\n\t\t\t\t\tnodeId={undefined}\n\t\t\t\t\tsupportsMultiChannel={supportsMultiChannel}\n\t\t\t\t\tsave={(sourceEndpoint, group, targetNodeId, endpoint) => {\n\t\t\t\t\t\treturn props.saveAssociation(nodeId, undefined, {\n\t\t\t\t\t\t\tsourceEndpoint,\n\t\t\t\t\t\t\tgroup,\n\t\t\t\t\t\t\tnodeId: targetNodeId,\n\t\t\t\t\t\t\tendpoint,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t
\n\t);\n}\n\nexport interface AssociationNodeTableProps {\n\tnodes: {\n\t\tnodeId: number;\n\t\tendpointIndizes?: number[];\n\t}[];\n\tdevice: Device;\n\tsaveAssociation(\n\t\tnodeId: number,\n\t\tprev: AssociationDefinition | undefined,\n\t\tcurrent: AssociationDefinition,\n\t): Promise;\n\tdeleteAssociation(\n\t\tnodeId: number,\n\t\tassociation: AssociationDefinition,\n\t): Promise;\n}\n\nexport const AssociationNodeTable: React.FC = (\n\tprops,\n) => {\n\tconst { ready, endpoints } = props.device;\n\n\tconst hasSomeAssociationGroups =\n\t\t!!endpoints &&\n\t\t[...endpoints.values()].some((e) => !!e.associationGroups);\n\n\tconst classes = useStyles();\n\n\tif (ready && !hasSomeAssociationGroups) {\n\t\t// This node doesn't support associations\n\t\treturn <>;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{ready ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n", "import Button from \"@material-ui/core/Button\";\nimport ButtonGroup from \"@material-ui/core/ButtonGroup\";\nimport { makeStyles, styled } from \"@material-ui/core/styles\";\nimport MuiTableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport DeleteForeverIcon from \"@material-ui/icons/DeleteForever\";\nimport RestoreIcon from \"@material-ui/icons/Restore\";\nimport SaveIcon from \"@material-ui/icons/Save\";\nimport type { AssociationGroup } from \"@zwave-js/cc/safe\";\nimport { padStart } from \"alcalzone-shared/strings\";\nimport { Dropdown, DropdownOption } from \"iobroker-react/components\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { getErrorMessage } from \"../../../src/lib/shared\";\n\nexport interface AssociationRowProps {\n\t// The existing endpoints on the source node, their defined groups, and existing nodes including endpoints\n\tendpoints: number[];\n\tgroups: ReadonlyMap;\n\tnodes: { nodeId: number; endpointIndizes?: number[] }[];\n\n\t// Whether the target endpoint selection should be shown\n\tsupportsMultiChannel: boolean;\n\n\t// The selected association\n\tsourceEndpoint: number | undefined;\n\tgroup: number | undefined;\n\tnodeId: number | undefined;\n\tendpoint?: number | undefined;\n\n\t// Will be called when the group should be saved\n\tsave(\n\t\tsourceEndpoint: number | undefined,\n\t\tgroup: number,\n\t\tnodeId: number,\n\t\tendpoint: number | undefined,\n\t): Promise;\n\t// Will be called when the group should be deleted\n\tdelete?(): Promise;\n}\n\nconst useStyles = makeStyles((_theme) => ({\n\tdropdown: {\n\t\twidth: \"100%\",\n\t},\n}));\n\nconst TableCell = styled(MuiTableCell)(({ theme }) => ({\n\tpadding: theme.spacing(1),\n}));\n\nexport const AssociationRow: React.FC = (props) => {\n\tconst { translate: _ } = useI18n();\n\n\tconst [sourceEndpoint, setSourceEndpoint] = useState(props.sourceEndpoint);\n\tconst [group, setGroup] = useState(props.group);\n\tconst [nodeId, setNodeId] = useState(props.nodeId);\n\tconst [endpoint, setEndpoint] = useState(props.endpoint);\n\n\tconst [isValid, setValid] = useState(false);\n\tconst [hasChanges, setHasChanges] = useState(false);\n\tconst [isBusy, setBusy] = useState(false);\n\n\tconst groups =\n\t\t(sourceEndpoint != undefined && props.groups.get(sourceEndpoint)) || [];\n\n\tuseEffect(() => {\n\t\tsetHasChanges(\n\t\t\tsourceEndpoint !== props.sourceEndpoint ||\n\t\t\t\tgroup !== props.group ||\n\t\t\t\tnodeId !== props.nodeId ||\n\t\t\t\tendpoint !== props.endpoint,\n\t\t);\n\t\tconst groupExists = !!groups.find((g) => g.group === group);\n\t\tconst node = props.nodes.find((n) => n.nodeId === nodeId);\n\t\tconst endpointIndizes = node?.endpointIndizes ?? [];\n\t\tsetValid(\n\t\t\tgroupExists &&\n\t\t\t\t!!node &&\n\t\t\t\t(endpoint == undefined ||\n\t\t\t\t\tendpoint === 0 ||\n\t\t\t\t\tendpointIndizes.includes(endpoint)),\n\t\t);\n\t}, [group, groups, nodeId, endpoint]);\n\n\tconst groupOptions = groups.map(({ group, label }) => ({\n\t\tvalue: group,\n\t\tlabel: `${_(\"Group\")} ${group}: ${label}`,\n\t}));\n\n\tconst nodesOptions = props.nodes.map(({ nodeId }) => ({\n\t\tvalue: nodeId,\n\t\tlabel: `${_(\"Node\")} ${padStart(nodeId.toString(), 3, \"0\")}`,\n\t}));\n\n\t// Update the source endpoint dropdown when necessary\n\tconst sourceEndpointOptions = useMemo(() => {\n\t\tconst newEndpointOptions: DropdownOption[] = [\n\t\t\t{ value: 0, label: _(\"Root device\") },\n\t\t];\n\t\tfor (const ep of props.endpoints) {\n\t\t\t// The source endpoint does not distinguish between no endpoint and root device\n\t\t\tif (ep === 0) continue;\n\t\t\tnewEndpointOptions.push({\n\t\t\t\tvalue: ep,\n\t\t\t\tlabel: `${_(\"Endpoint\")} ${ep}`,\n\t\t\t});\n\t\t}\n\t\treturn newEndpointOptions;\n\t}, [props.endpoints]);\n\n\t// Update the target endpoint dropdown when necessary\n\tconst targetEndpointOptions = useMemo(() => {\n\t\tconst endpointIndizes =\n\t\t\tprops.nodes.find((n) => n.nodeId === nodeId)?.endpointIndizes ?? [];\n\t\t// The endpoint indizes don't include the root endpoint, so we need to add it manually\n\t\tif (!endpointIndizes.includes(0)) endpointIndizes.unshift(0);\n\t\tconst groupSupportsMultiChannel = !!groups.find(\n\t\t\t(g) => g.group === group,\n\t\t)?.multiChannel;\n\t\tif (!groupSupportsMultiChannel) {\n\t\t\treturn [];\n\t\t} else {\n\t\t\tconst newEndpointOptions: DropdownOption[] = [\n\t\t\t\t{ value: \"none\", label: _(\"Root device\") },\n\t\t\t];\n\t\t\tfor (const ep of endpointIndizes) {\n\t\t\t\tnewEndpointOptions.push({\n\t\t\t\t\tvalue: ep,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\tep === 0\n\t\t\t\t\t\t\t? _(\"Root endpoint\")\n\t\t\t\t\t\t\t: `${_(\"Endpoint\")} ${ep}`,\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn newEndpointOptions;\n\t\t}\n\t}, [props.nodes, groups, group, nodeId]);\n\n\tconst isNewAssociation =\n\t\tprops.sourceEndpoint == undefined &&\n\t\tprops.group == undefined &&\n\t\tprops.nodeId == undefined &&\n\t\tprops.endpoint == undefined;\n\n\tasync function saveAssociation() {\n\t\ttry {\n\t\t\tsetBusy(true);\n\t\t\tawait props.save(sourceEndpoint, group!, nodeId!, endpoint);\n\t\t\tif (isNewAssociation) resetAssociation();\n\t\t} catch (e) {\n\t\t\talert(_(`The association could not be saved!`));\n\t\t\tconsole.error(\n\t\t\t\t`The association could not be saved! Reason: ${getErrorMessage(\n\t\t\t\t\te,\n\t\t\t\t)}`,\n\t\t\t);\n\t\t\tresetAssociation();\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t}\n\tfunction resetAssociation() {\n\t\tsetSourceEndpoint(props.sourceEndpoint);\n\t\tsetGroup(props.group);\n\t\tsetNodeId(props.nodeId);\n\t\tsetEndpoint(props.endpoint);\n\t}\n\tasync function deleteAssociation() {\n\t\tif (!props.delete) return;\n\t\ttry {\n\t\t\tsetBusy(true);\n\t\t\tawait props.delete();\n\t\t} catch (e) {\n\t\t\talert(_(`The association could not be deleted!`));\n\t\t\tconsole.error(\n\t\t\t\t`The association could not be deleted! Reason: ${getErrorMessage(\n\t\t\t\t\te,\n\t\t\t\t)}`,\n\t\t\t);\n\t\t\tresetAssociation();\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t}\n\n\tconst currentGroup = groups.find((g) => g.group === group);\n\tconst endpointSupportsMultiChannel = groups.some((g) => g.multiChannel);\n\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tsetSourceEndpoint(e.target.value as number);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tsetGroup(e.target.value as number);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tsetNodeId(e.target.value as number);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{props.supportsMultiChannel && (\n\t\t\t\t\n\t\t\t\t\t{currentGroup?.multiChannel &&\n\t\t\t\t\t\tendpointSupportsMultiChannel && (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst value = e.target.value;\n\t\t\t\t\t\t\t\t\tsetEndpoint(\n\t\t\t\t\t\t\t\t\t\tvalue === \"none\"\n\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t: (value as number),\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t saveAssociation()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isNewAssociation ? : }\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t resetAssociation()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{!isNewAssociation && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t deleteAssociation()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n", null, "import { green, lightBlue, red } from \"@material-ui/core/colors\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport DeviceUnknownIcon from \"@material-ui/icons/DeviceUnknown\";\nimport PowerSettingsNewIcon from \"@material-ui/icons/PowerSettingsNew\";\nimport WifiIcon from \"@material-ui/icons/Wifi\";\nimport WifiOffIcon from \"@material-ui/icons/WifiOff\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport type { Device } from \"../lib/useAPI\";\n\nconst useStyles = makeStyles((_theme) => ({\n\tdeviceIconAlive: {\n\t\tcolor: green[800],\n\t},\n\tdeviceIconAsleep: {\n\t\tcolor: lightBlue[500],\n\t},\n\tdeviceIconDead: {\n\t\tcolor: red[900],\n\t},\n}));\n\ninterface DeviceStatusIconProps {\n\tstatus: Device[\"status\"];\n}\n\nexport const DeviceStatusIcon: React.FC = (props) => {\n\tconst { status } = props;\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\tconst title = _(status ?? \"unknown\");\n\n\tswitch (status) {\n\t\tcase \"alive\":\n\t\tcase \"awake\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tcase \"asleep\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tcase \"dead\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t}\n};\n", "import Typography from \"@material-ui/core/Typography\";\nimport { useI18n } from \"iobroker-react/hooks\";\n\nexport const Message: React.FC = (props) => {\n\treturn (\n\t\t\n\t\t\t{props.children}\n\t\t\n\t);\n};\n\nexport const NotRunning: React.FC = () => {\n\tconst { translate: _ } = useI18n();\n\treturn {_(\"adapter not ready\")};\n};\n\nexport const NoDevices: React.FC = () => {\n\tconst { translate: _ } = useI18n();\n\treturn {_(\"No devices present\")};\n};\n\nexport const NodeNotReady: React.FC = () => {\n\tconst { translate: _ } = useI18n();\n\treturn {_(\"Node is not ready\")};\n};\n", "import CircularProgress from \"@material-ui/core/CircularProgress\";\nimport {\n\tuseAdapter,\n\tuseDialogs,\n\tuseGlobals,\n\tuseI18n,\n\tuseIoBrokerState,\n} from \"iobroker-react/hooks\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport {\n\tgetErrorMessage,\n\tInclusionExclusionStatus,\n\tNetworkHealStatus,\n\tPushMessage,\n} from \"../../../src/lib/shared\";\nimport {\n\tDeviceActionButtons,\n\tDeviceActionButtonsState,\n} from \"../components/DeviceActionButtons\";\nimport { DeviceTable } from \"../components/DeviceTable\";\nimport {\n\tInclusionDialog,\n\tInclusionExclusionDialogProps,\n\tInclusionExclusionStep,\n\tInclusionStrategy,\n} from \"../components/InclusionExclusionDialog\";\nimport { NotRunning } from \"../components/Messages\";\nimport { Device, useAPI } from \"../lib/useAPI\";\nimport { usePush } from \"../lib/usePush\";\nexport interface DevicesProps {\n\tdevices: Record | undefined;\n}\n\nexport const Devices: React.FC = (props) => {\n\tconst { devices } = props;\n\tconst { alive: adapterRunning, connected: driverReady } = useAdapter();\n\tconst { namespace } = useGlobals();\n\tconst { translate: _ } = useI18n();\n\tconst api = useAPI();\n\tconst { showNotification } = useDialogs();\n\tconst [isBusy, setBusy] = useState(false);\n\n\tconst [inclusion] = useIoBrokerState({\n\t\tid: `${namespace}.info.inclusion`,\n\t\tdefaultValue: false,\n\t});\n\tconst [exclusion, , setExclusion] = useIoBrokerState({\n\t\tid: `${namespace}.info.exclusion`,\n\t\tdefaultValue: false,\n\t});\n\tconst [healingNetwork] = useIoBrokerState({\n\t\tid: `${namespace}.info.healingNetwork`,\n\t\tdefaultValue: false,\n\t});\n\n\tconst [networkHealProgress, setNetworkHealProgress] = useState<\n\t\tNonNullable\n\t>({});\n\n\tconst [inclusionStatus, setInclusionStatus] =\n\t\tuseState();\n\tconst [showInclusionExclusionModal, setShowInclusionExclusionModal] =\n\t\tuseState(false);\n\n\tconst onPush = useCallback(\n\t\t(payload: PushMessage) => {\n\t\t\t// console.log(\"on push\", payload);\n\t\t\tif (payload.type === \"inclusion\") {\n\t\t\t\tsetInclusionStatus(payload.status);\n\t\t\t\t// Always show the inclusion result\n\t\t\t\tif (payload.status.type === \"done\") {\n\t\t\t\t\tsetShowInclusionExclusionModal(true);\n\t\t\t\t}\n\t\t\t} else if (payload.type === \"healing\") {\n\t\t\t\tsetNetworkHealProgress(payload.status.progress ?? {});\n\t\t\t\tif (payload.status.type === \"done\") {\n\t\t\t\t\tvoid showNotification(\n\t\t\t\t\t\t_(\"Healing the network was successful!\"),\n\t\t\t\t\t\t\"success\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setInclusionStatus, setNetworkHealProgress, showNotification],\n\t);\n\tusePush(onPush);\n\n\t// Enable displaying usage statistics while the device tab is open\n\tconst [statisticsSubscribed, setStatisticsSubscribed] = useState(false);\n\tuseEffect(() => {\n\t\tif (adapterRunning && driverReady && !statisticsSubscribed) {\n\t\t\tsetStatisticsSubscribed(true);\n\t\t\tvoid api.subscribeStatistics();\n\t\t}\n\t\treturn () => {\n\t\t\tif (statisticsSubscribed) {\n\t\t\t\tsetStatisticsSubscribed(false);\n\t\t\t\tvoid api.unsubscribeStatistics();\n\t\t\t}\n\t\t};\n\t}, [adapterRunning, driverReady, statisticsSubscribed]);\n\n\tasync function healNetwork() {\n\t\tif (!healingNetwork) {\n\t\t\t// start the healing progress\n\t\t\ttry {\n\t\t\t\tsetNetworkHealProgress({});\n\t\t\t\tawait api.beginHealingNetwork();\n\t\t\t} catch (e) {\n\t\t\t\tshowNotification(getErrorMessage(e), \"error\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst devicesAsArray: Device[] = [];\n\tif (devices) {\n\t\tfor (const nodeId of Object.keys(devices)) {\n\t\t\tconst device = devices[nodeId];\n\t\t\tif (device) devicesAsArray.push(device);\n\t\t}\n\t}\n\n\tasync function replaceFailedNode(nodeId: number) {\n\t\tsetInclusionStatus({\n\t\t\ttype: \"chooseReplacementStrategy\",\n\t\t\tnodeId,\n\t\t});\n\t\tsetShowInclusionExclusionModal(true);\n\t}\n\n\tconst closeDialog = useCallback(() => {\n\t\tsetShowInclusionExclusionModal(false);\n\t\t// avoid flicker while the modal is being hidden\n\t\tsetTimeout(() => {\n\t\t\tsetInclusionStatus(undefined);\n\t\t}, 250);\n\t}, [setShowInclusionExclusionModal, setInclusionStatus]);\n\n\t// Choose which inclusion/exclusion step to display\n\tconst inclusionExclusionDialogProps = (():\n\t\t| InclusionExclusionDialogProps\n\t\t| undefined => {\n\t\tif (exclusion) {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.ExcludeDevice,\n\t\t\t\tonCancel: () => {\n\t\t\t\t\tsetShowInclusionExclusionModal(false);\n\t\t\t\t\t// avoid flicker while the modal is being hidden\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetExclusion(false);\n\t\t\t\t\t}, 250);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (!inclusionStatus && !inclusion) {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.SelectInclusionStrategy,\n\t\t\t\tonCancel: () => setShowInclusionExclusionModal(false),\n\t\t\t\tselectStrategy: async (strategy, forceSecurity) => {\n\t\t\t\t\tif (strategy === InclusionStrategy.QRCode) {\n\t\t\t\t\t\tsetInclusionStatus({ type: \"scanQRCode\" });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait api.beginInclusion(\n\t\t\t\t\t\t\tstrategy as any,\n\t\t\t\t\t\t\tforceSecurity,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetInclusionStatus({\n\t\t\t\t\t\t\ttype: \"waitingForDevice\",\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch {\n\t\t\t\t\t\tshowNotification(\n\t\t\t\t\t\t\t_(\"Failed to start inclusion\"),\n\t\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (inclusionStatus?.type === \"chooseReplacementStrategy\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.SelectReplacementStrategy,\n\t\t\t\tonCancel: closeDialog,\n\t\t\t\tselectStrategy: async (strategy) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait api.replaceFailedNode(\n\t\t\t\t\t\t\tinclusionStatus.nodeId,\n\t\t\t\t\t\t\tstrategy as any,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetInclusionStatus({\n\t\t\t\t\t\t\ttype: \"waitingForDevice\",\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch {\n\t\t\t\t\t\tshowNotification(\n\t\t\t\t\t\t\t_(\"Failed to start replacing the node\"),\n\t\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (inclusionStatus?.type === \"scanQRCode\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.QRCode,\n\t\t\t\tonScan: async (code) => {\n\t\t\t\t\tsetInclusionStatus({ type: \"busy\" });\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = await api.scanQRCode(code, true);\n\t\t\t\t\t\tif (result.type === \"none\") {\n\t\t\t\t\t\t\tshowNotification(\n\t\t\t\t\t\t\t\t_(\"This is not a valid Z-Wave QR code\"),\n\t\t\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetInclusionStatus({ type: \"scanQRCode\" });\n\t\t\t\t\t\t} else if (result.type === \"SmartStart\") {\n\t\t\t\t\t\t\tsetInclusionStatus({\n\t\t\t\t\t\t\t\ttype: \"resultMessage\",\n\t\t\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\t\t\ttitle: _(\"Added SmartStart device\"),\n\t\t\t\t\t\t\t\tmessage: (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{_(\n\t\t\t\t\t\t\t\t\t\t\t\"Successfully added SmartStart device to provisioning list.\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{_(\n\t\t\t\t\t\t\t\t\t\t\t\"It will be included automatically when it announces itself.\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (result.type === \"S2\") {\n\t\t\t\t\t\t\tsetInclusionStatus({\n\t\t\t\t\t\t\t\ttype: \"waitingForDevice\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (result.type === \"included\") {\n\t\t\t\t\t\t\tsetInclusionStatus({\n\t\t\t\t\t\t\t\ttype: \"resultMessage\",\n\t\t\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\t\t\ttitle: _(\"Already included\"),\n\t\t\t\t\t\t\t\tmessage: _(\n\t\t\t\t\t\t\t\t\t\"The device is already included as Node %s\",\n\t\t\t\t\t\t\t\t\tresult.nodeId.toString(),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (result.type === \"provisioned\") {\n\t\t\t\t\t\t\tsetInclusionStatus({\n\t\t\t\t\t\t\t\ttype: \"resultMessage\",\n\t\t\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\t\t\ttitle: _(\"Already provisioned\"),\n\t\t\t\t\t\t\t\tmessage: _(\n\t\t\t\t\t\t\t\t\t\"This node is already on the SmartStart provisioning list\",\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tcloseDialog();\n\t\t\t\t\t\tshowNotification(_(\"Failed to scan QR code\"), \"error\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonCancel: closeDialog,\n\t\t\t};\n\t\t} else if (\n\t\t\t!inclusionStatus ||\n\t\t\tinclusionStatus.type === \"waitingForDevice\"\n\t\t) {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.IncludeDevice,\n\t\t\t\tonCancel: () => {\n\t\t\t\t\tsetShowInclusionExclusionModal(false);\n\t\t\t\t\t// avoid flicker while the modal is being hidden\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tapi.stopInclusion();\n\t\t\t\t\t\tsetInclusionStatus(undefined);\n\t\t\t\t\t}, 250);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (inclusionStatus.type === \"busy\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.Busy,\n\t\t\t\tonCancel: () => {\n\t\t\t\t\t// Don't do anything here\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (inclusionStatus.type === \"validateDSK\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.ValidateDSK,\n\t\t\t\tdsk: inclusionStatus.dsk,\n\t\t\t\tsetPIN: (pin) => {\n\t\t\t\t\tapi.validateDSK(pin);\n\t\t\t\t},\n\t\t\t\tonCancel: () => {\n\t\t\t\t\tapi.validateDSK(false);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (inclusionStatus.type === \"grantSecurityClasses\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.GrantSecurityClasses,\n\t\t\t\trequest: inclusionStatus.request,\n\t\t\t\tgrantSecurityClasses: (grant) => {\n\t\t\t\t\tapi.grantSecurityClasses(grant);\n\t\t\t\t},\n\t\t\t\tonCancel: () => {\n\t\t\t\t\tapi.grantSecurityClasses(false);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (inclusionStatus.type === \"done\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.Result,\n\t\t\t\tnodeId: inclusionStatus.nodeId,\n\t\t\t\tlowSecurity: inclusionStatus.lowSecurity,\n\t\t\t\tsecurityClass: inclusionStatus.securityClass,\n\t\t\t\tonDone: closeDialog,\n\t\t\t\tonCancel: closeDialog,\n\t\t\t};\n\t\t} else if (inclusionStatus.type === \"exclusionDone\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.ExclusionResult,\n\t\t\t\tnodeId: inclusionStatus.nodeId,\n\t\t\t\tonDone: closeDialog,\n\t\t\t\tonCancel: closeDialog,\n\t\t\t};\n\t\t} else if (inclusionStatus.type === \"resultMessage\") {\n\t\t\treturn {\n\t\t\t\tstep: InclusionExclusionStep.ResultMessage,\n\t\t\t\tmessage: inclusionStatus.message,\n\t\t\t\tsuccess: inclusionStatus.success,\n\t\t\t\ttitle: inclusionStatus.title,\n\t\t\t\tonDone: closeDialog,\n\t\t\t\tonCancel: closeDialog,\n\t\t\t};\n\t\t}\n\t})();\n\n\tconst isIncluding =\n\t\tinclusion ||\n\t\t(!!inclusionStatus &&\n\t\t\t!exclusion &&\n\t\t\tinclusionStatus.type !== \"exclusionDone\");\n\tconst isExcluding =\n\t\texclusion ||\n\t\t(!!inclusionStatus &&\n\t\t\t!inclusion &&\n\t\t\tinclusionStatus.type !== \"done\" &&\n\t\t\tinclusionStatus.type !== \"exclusionDone\");\n\n\tif (!adapterRunning || !driverReady) return ;\n\tif (!devices) return ;\n\n\treturn (\n\t\t<>\n\t\t\t{/* Action buttons */}\n\t\t\t setShowInclusionExclusionModal(true)}\n\t\t\t\tbeginExclusion={async () => {\n\t\t\t\t\tawait setExclusion(true);\n\t\t\t\t\tsetShowInclusionExclusionModal(true);\n\t\t\t\t}}\n\t\t\t\thealNetwork={healNetwork}\n\t\t\t\tcancelHealing={() => api.stopHealingNetwork()}\n\t\t\t/>\n\n\t\t\t\n\n\t\t\t{/* Modal dialog for the inclusion process */}\n\t\t\t{inclusionExclusionDialogProps && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n", "import Button from \"@material-ui/core/Button\";\nimport { makeStyles, Theme } from \"@material-ui/core/styles\";\nimport PlusIcon from \"@material-ui/icons/Add\";\nimport NetworkCheckIcon from \"@material-ui/icons/NetworkCheck\";\nimport MinusIcon from \"@material-ui/icons/Remove\";\nimport clsx from \"clsx\";\nimport { useI18n } from \"iobroker-react/hooks\";\n\ninterface DeviceActionButtonsProps {\n\tstate: DeviceActionButtonsState;\n\tbeginInclusion: () => void;\n\tbeginExclusion: () => void;\n\thealNetwork: () => void;\n\tcancelHealing: () => void;\n}\n\nexport enum DeviceActionButtonsState {\n\tIdle = 0,\n\tIncluding,\n\tExcluding,\n\tHealing,\n\tBusy,\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n\troot: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\tgap: theme.spacing(1),\n\t},\n\tredButton: {\n\t\tbackground: theme.palette.error.main,\n\t\t\"&:hover\": {\n\t\t\tbackground: theme.palette.error.dark,\n\t\t},\n\t},\n}));\n\nexport const DeviceActionButtons: React.FC = (\n\tprops,\n) => {\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\treturn (\n\t\t
\n\t\t\t}\n\t\t\t\tdisabled={\n\t\t\t\t\tprops.state !== DeviceActionButtonsState.Idle &&\n\t\t\t\t\tprops.state !== DeviceActionButtonsState.Including\n\t\t\t\t}\n\t\t\t\tonClick={props.beginInclusion}\n\t\t\t>\n\t\t\t\t{props.state !== DeviceActionButtonsState.Including\n\t\t\t\t\t? _(\"Include device\")\n\t\t\t\t\t: _(\"Inclusion active\")}\n\t\t\t\n\t\t\t}\n\t\t\t\tdisabled={\n\t\t\t\t\tprops.state !== DeviceActionButtonsState.Idle &&\n\t\t\t\t\tprops.state !== DeviceActionButtonsState.Excluding\n\t\t\t\t}\n\t\t\t\tonClick={props.beginExclusion}\n\t\t\t>\n\t\t\t\t{props.state !== DeviceActionButtonsState.Excluding\n\t\t\t\t\t? _(\"Exclude device\")\n\t\t\t\t\t: _(\"Exclusion active\")}\n\t\t\t\n\t\t\t}\n\t\t\t\tdisabled={\n\t\t\t\t\tprops.state !== DeviceActionButtonsState.Idle &&\n\t\t\t\t\tprops.state !== DeviceActionButtonsState.Healing\n\t\t\t\t}\n\t\t\t\tonClick={\n\t\t\t\t\tprops.state !== DeviceActionButtonsState.Healing\n\t\t\t\t\t\t? props.healNetwork\n\t\t\t\t\t\t: props.cancelHealing\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{props.state !== DeviceActionButtonsState.Healing\n\t\t\t\t\t? _(\"Heal network\")\n\t\t\t\t\t: _(\"Cancel healing\")}\n\t\t\t\n\t\t
\n\t);\n};\n", "import Paper from \"@material-ui/core/Paper\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport type { NetworkHealStatus } from \"../../../src/lib/shared\";\nimport type { Device } from \"../lib/useAPI\";\nimport { DeviceTableRow } from \"./DeviceTableRow\";\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\twidth: \"100%\",\n\t\tmarginTop: theme.spacing(2),\n\t},\n\tcontainer: {\n\t\toverflowY: \"auto\",\n\t},\n\tempty: {\n\t\ttextAlign: \"center\",\n\t\tfontStyle: \"italic\",\n\t},\n}));\n\nexport interface DeviceTableProps {\n\tdevices: Device[];\n\thealingNetwork: boolean;\n\tnetworkHealProgress: NonNullable;\n\tisBusy: boolean;\n\tsetBusy: (isBusy: boolean) => void;\n\treplaceFailedNode: (nodeId: number) => void;\n}\n\nexport const DeviceTable: React.FC = (props) => {\n\tconst { translate: _ } = useI18n();\n\n\tconst classes = useStyles();\n\tconst { devices, healingNetwork, networkHealProgress } = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t#\n\t\t\t\t\t\t\t{_(\"Name\")}\n\t\t\t\t\t\t\t{_(\"Type\")}\n\t\t\t\t\t\t\t{_(\"Security\")}\n\t\t\t\t\t\t\t{_(\"Status\")}\n\t\t\t\t\t\t\t{_(\"Statistics\")}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{devices.length ? (\n\t\t\t\t\t\t\tdevices.map((device) => {\n\t\t\t\t\t\t\t\tconst nodeId = device.value.native.id as number;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tprops.replaceFailedNode(nodeId)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{_(\"No devices present\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n", "import Collapse from \"@material-ui/core/Collapse\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport HomeIcon from \"@material-ui/icons/Home\";\nimport KeyboardArrowDownIcon from \"@material-ui/icons/KeyboardArrowDown\";\nimport KeyboardArrowUpIcon from \"@material-ui/icons/KeyboardArrowUp\";\nimport { useGlobals, useI18n, useIoBrokerState } from \"iobroker-react/hooks\";\nimport { useEffect, useState } from \"react\";\nimport type { ControllerStatistics, NodeStatistics } from \"zwave-js\";\nimport { computeDeviceId } from \"../../../src/lib/shared\";\nimport type { Device } from \"../lib/useAPI\";\nimport { ControllerActions } from \"./ControllerActions\";\nimport { DeviceSecurityIcon } from \"./DeviceSecurityIcon\";\nimport { DeviceStatisticsIndicator } from \"./DeviceStatisticsIndicator\";\nimport { DeviceStatusIcon } from \"./DeviceStatusIcon\";\nimport { HealStatusIcon } from \"./HealStatusIcon\";\nimport { NodeActions } from \"./NodeActions\";\n\nexport interface DeviceTableRowProps {\n\tdevice: Device;\n\thealStatus: any;\n\tisBusy: boolean;\n\tsetBusy: (isBusy: boolean) => void;\n\treplaceFailedNode: () => void;\n}\n\nconst useStyles = makeStyles((theme) => ({\n\tmainRow: {\n\t\t\"& > *\": {\n\t\t\tborder: 0,\n\t\t},\n\t},\n\tcontrollerIcon: {\n\t\tfontSize: \"16px\",\n\t\tmargin: \"7px\",\n\t\tcolor: theme.palette.text.secondary,\n\t},\n\tidCell: {\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"row nowrap\",\n\t\t// justifyContent: \"space-between\",\n\t\talignItems: \"center\",\n\t},\n\texpanderCell: {\n\t\tpaddingBottom: 0,\n\t\tpaddingTop: 0,\n\t\tbackground: theme.palette.background.default,\n\t},\n}));\n\nexport const DeviceTableRow: React.FC = (props) => {\n\tconst { healStatus, device } = props;\n\n\tconst { value, status } = device;\n\tconst nodeId = value.native.id as number;\n\tconst supportsFirmwareUpdate = !!value.native.supportsFirmwareUpdate;\n\tconst { secure, securityClasses, isControllerNode } = value.native;\n\n\tconst [open, setOpen] = useState(isControllerNode);\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst { namespace } = useGlobals();\n\tconst [stringifiedStatistics] = useIoBrokerState({\n\t\tid: isControllerNode\n\t\t\t? `${namespace}.info.statistics`\n\t\t\t: `${namespace}.${computeDeviceId(nodeId)}.info.statistics`,\n\t});\n\tconst [statistics, setStatistics] = useState<\n\t\tControllerStatistics | NodeStatistics\n\t>();\n\tuseEffect(() => {\n\t\tif (stringifiedStatistics) {\n\t\t\ttry {\n\t\t\t\tconst parsed = JSON.parse(stringifiedStatistics);\n\t\t\t\tsetStatistics(parsed);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t}\n\t\t}\n\t}, [stringifiedStatistics]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setOpen(!open)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{open ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t{nodeId}\n\t\t\t\t\n\t\t\t\t{value.common.name}\n\t\t\t\t\n\t\t\t\t\t{(value.native as any).type?.specific ??\n\t\t\t\t\t\t(value.native as any).type?.generic ??\n\t\t\t\t\t\t_(\"unknown\")}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{secure && securityClasses && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isControllerNode ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{/* Whether the device is reachable */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* While healing the network also show the current progress */}\n\t\t\t\t\t\t\t{!!healStatus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{isControllerNode ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n", "import { Typography } from \"@material-ui/core\";\nimport Button from \"@material-ui/core/Button\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport DeleteForeverIcon from \"@material-ui/icons/DeleteForever\";\nimport LanguageIcon from \"@material-ui/icons/Language\";\nimport PowerSettingsNewIcon from \"@material-ui/icons/PowerSettingsNew\";\nimport RestorePageIcon from \"@material-ui/icons/RestorePage\";\nimport {\n\tuseDialogs,\n\tuseGlobals,\n\tuseI18n,\n\tuseIoBrokerObject,\n\tuseIoBrokerState,\n} from \"iobroker-react/hooks\";\nimport { useCallback, useState } from \"react\";\nimport type { RFRegion } from \"zwave-js\";\nimport { getErrorMessage } from \"../../../src/lib/shared\";\nimport { useAPI } from \"../lib/useAPI\";\nimport { SetRFRegionDialog } from \"./SetRFRegionDialog\";\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(2, 0),\n\t\tdisplay: \"grid\",\n\t\tgridTemplateColumns: \"minmax(auto, 300px) 1fr\",\n\t\talignItems: \"center\",\n\t\tcolumnGap: theme.spacing(4),\n\t\trowGap: theme.spacing(2),\n\t},\n\tredButton: {\n\t\tbackground: theme.palette.error.main,\n\t\t\"&:hover\": {\n\t\t\tbackground: theme.palette.error.dark,\n\t\t},\n\t},\n}));\n\nexport interface ControllerActionsProps {\n\tisBusy: boolean;\n\tsetBusy: (isBusy: boolean) => void;\n}\n\nexport const ControllerActions: React.FC = (props) => {\n\tconst { isBusy, setBusy } = props;\n\tconst { namespace } = useGlobals();\n\tconst api = useAPI();\n\tconst { translate: _ } = useI18n();\n\tconst { showModal, showNotification } = useDialogs();\n\n\t// Handle changing regions\n\tconst [showSetRFRegionDialog, setShowSetRFRegionDialog] = useState(false);\n\tconst [rfRegionObject] = useIoBrokerObject(`${namespace}.info.rfRegion`, {\n\t\tsubscribe: false,\n\t});\n\tconst [rfRegion] = useIoBrokerState({\n\t\tid: `${namespace}.info.rfRegion`,\n\t});\n\tconst setRFRegion = useCallback(\n\t\t(region: RFRegion) => {\n\t\t\tif (isBusy) return;\n\t\t\tsetBusy(true);\n\t\t\tapi.setRFRegion(region).finally(() => setBusy(false));\n\t\t},\n\t\t[api, isBusy, setBusy],\n\t);\n\n\t// Handle soft reset\n\tconst softReset = useCallback(() => {\n\t\tif (isBusy) return;\n\t\tsetBusy(true);\n\t\tapi.softReset().finally(() => setBusy(false));\n\t}, [api, isBusy, setBusy]);\n\n\tconst clearCache = useCallback(async () => {\n\t\tif (isBusy) return;\n\n\t\ttry {\n\t\t\tconst result = await showModal(\n\t\t\t\t_(\"Re-interview all?\"),\n\t\t\t\t_(\"clear cache procedure\"),\n\t\t\t);\n\t\t\tif (!result) return;\n\t\t\tsetBusy(true);\n\t\t\tawait api.clearCache();\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetBusy(false);\n\t\t\t}, 1000);\n\t\t} catch (e) {\n\t\t\tshowNotification(getErrorMessage(e), \"error\");\n\t\t\treturn;\n\t\t}\n\t}, [api, isBusy, showModal, showNotification]);\n\n\tconst hardReset = useCallback(async () => {\n\t\tif (isBusy) return;\n\n\t\ttry {\n\t\t\tconst result = await showModal(\n\t\t\t\t_(\"Factory reset?\"),\n\t\t\t\t_(\"factory reset procedure\"),\n\t\t\t);\n\t\t\tif (!result) return;\n\n\t\t\tsetBusy(true);\n\t\t\tawait api.hardReset();\n\t\t\tsetBusy(false);\n\n\t\t\tawait showModal(\n\t\t\t\t_(\"Factory reset successful\"),\n\t\t\t\t_(\"The adapter will now restart.\"),\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tshowNotification(getErrorMessage(e), \"error\");\n\t\t\treturn;\n\t\t}\n\t}, [api, isBusy, showModal, showNotification]);\n\n\tconst classes = useStyles();\n\n\treturn (\n\t\t
\n\t\t\t}\n\t\t\t>\n\t\t\t\t{_(\"Soft reset\")}\n\t\t\t\n\t\t\t\n\t\t\t\t{_(\"Restart the controller, e.g. when it hangs\")}\n\t\t\t\n\n\t\t\t}\n\t\t\t>\n\t\t\t\t{_(\"Re-interview all\")}\n\t\t\t\n\t\t\t\n\t\t\t\t{_(\n\t\t\t\t\t\"Forget all information about all nodes and re-interview them. Battery-powered nodes might need to be woken up manually.\",\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t setShowSetRFRegionDialog(true)}\n\t\t\t\tstartIcon={}\n\t\t\t>\n\t\t\t\t{_(\"Set RF Region\")}\n\t\t\t\n\t\t\t\n\t\t\t\t{_(\n\t\t\t\t\t\"Configure the region and radio frequencies of the controller.\",\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t}\n\t\t\t>\n\t\t\t\t{_(\"Factory reset\")}\n\t\t\t\n\t\t\t\n\t\t\t\t{_(\n\t\t\t\t\t\"Wipes all configuration of the controller. All connected nodes will be orphaned and have to be reset and included into the new network before they can be used again.\",\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{/* Modal dialog to change the RF region*/}\n\t\t\t{rfRegionObject && rfRegion != undefined && (\n\t\t\t\t setShowSetRFRegionDialog(false)}\n\t\t\t\t\tonConfirm={(region) => {\n\t\t\t\t\t\tsetRFRegion(region);\n\t\t\t\t\t\tsetShowSetRFRegionDialog(false);\n\t\t\t\t\t}}\n\t\t\t\t\tregion={rfRegion}\n\t\t\t\t\tregions={(rfRegionObject as any).common.states ?? {}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t
\n\t);\n};\n", "import Button from \"@material-ui/core/Button\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Dropdown } from \"iobroker-react/components\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport { useMemo, useState } from \"react\";\nimport type { RFRegion } from \"zwave-js\";\n\nexport interface SetRFRegionDialogContentProps {\n\topen: boolean;\n\tregion: RFRegion;\n\tregions: Record;\n\tonCancel: () => void;\n\tonConfirm: (region: RFRegion) => void;\n}\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"column\",\n\t\tmaxWidth: 400,\n\t\tgap: theme.spacing(2),\n\t},\n}));\n\nexport const SetRFRegionDialog: React.FC = (\n\tprops,\n) => {\n\tconst { translate: _ } = useI18n();\n\n\tconst classes = useStyles();\n\n\tconst [region, setRegion] = useState(props.region);\n\n\tconst options = useMemo(() => {\n\t\treturn Object.entries(props.regions).map(([key, value]) => ({\n\t\t\tvalue: key,\n\t\t\tlabel: value,\n\t\t}));\n\t}, [props.regions]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{_(\"Set RF Region\")}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"Select the correct region for where you are. Using a different region may be illegal.\",\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tsetRegion(parseInt(event.target.value as string))\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"Note: Applying a different region might take a few seconds.\",\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t props.onConfirm(region)}\n\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{_(\"OK\")}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n", "import { amber, blue, deepPurple, green, grey } from \"@material-ui/core/colors\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport LockIcon from \"@material-ui/icons/Lock\";\nimport NoEncryptionIcon from \"@material-ui/icons/NoEncryption\";\nimport clsx from \"clsx\";\n\nconst useStyles = makeStyles((_theme) => ({\n\troot: {\n\t\tdisplay: \"grid\",\n\t\tgridTemplateColumns: \"repeat(4, 16px)\",\n\t\tgridTemplateRows: \"16px\",\n\t},\n\tsecurityIcon: {\n\t\tfontSize: \"16px\",\n\t\tcolor: grey[200],\n\t},\n\tS2_AccessControl: {\n\t\tcolor: green[800],\n\t},\n\tS2_Authenticated: {\n\t\tcolor: blue[900],\n\t},\n\tS2_Unauthenticated: {\n\t\tcolor: deepPurple[500],\n\t},\n\tS0_Legacy: {\n\t\tcolor: amber[800],\n\t},\n}));\n\ninterface SecurityClassIconProps {\n\ttitle: string;\n\tclassName: string;\n\tsupported: boolean;\n\tgranted: boolean;\n}\n\nconst SecurityClassIcon: React.FC = (props) => {\n\tconst classes = useStyles();\n\n\tconst Icon = props.granted ? LockIcon : NoEncryptionIcon;\n\n\treturn props.supported ? (\n\t\t\n\t\t\t\n\t\t\n\t) : (\n\t\t\n\t);\n};\n\ninterface DeviceSecurityIconProps {\n\tsecurityClasses: Record;\n}\n\nconst secClassDefinitions = [\n\t[\"S2_AccessControl\", \"S2 Access Control\"],\n\t[\"S2_Authenticated\", \"S2 Authenticated\"],\n\t[\"S2_Unauthenticated\", \"S2 Unauthenticated\"],\n\t[\"S0_Legacy\", \"S0 Legacy\"],\n] as const;\n\nexport const DeviceSecurityIcon: React.FC = (\n\tprops,\n) => {\n\tconst classes = useStyles();\n\tconst { securityClasses } = props;\n\n\treturn (\n\t\t
\n\t\t\t{secClassDefinitions.map(([className, title]) => (\n\t\t\t\t\n\t\t\t))}\n\t\t
\n\t);\n};\n", "import { green, red } from \"@material-ui/core/colors\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport clsx from \"clsx\";\nimport { useEffect, useState } from \"react\";\nimport type { ControllerStatistics, NodeStatistics } from \"zwave-js\";\nimport {\n\tControllerStatisticsTooltip,\n\tNodeStatisticsTooltip,\n} from \"./NodeStatisticsTooltip\";\n\ntype Status = \"active\" | \"error\";\n\nconst useStyles = makeStyles((_theme) => ({\n\troot: {},\n\tarrow: {\n\t\ttransition: \"fill 0.5s ease-out, filter 0.5s ease-out\",\n\t},\n\tlArrow: {\n\t\tmarginLeft: \"-24px\",\n\t},\n\terror: {\n\t\tfill: red[800],\n\t\tfilter: `\n\t\t\tdrop-shadow(0 0 10px ${red[300]})\n\t\t\tdrop-shadow(0 0 5px ${red[300]})\n\t\t\tdrop-shadow(0 0 1px rgba(255,255,255,0.1))\n\t\t`,\n\t\ttransitionDuration: \"0.05s\",\n\t},\n\tactive: {\n\t\tfill: green[800],\n\t\tfilter: `\n\t\t\tdrop-shadow(0 0 10px ${green[300]})\n\t\t\tdrop-shadow(0 0 5px ${green[300]})\n\t\t\tdrop-shadow(0 0 1px rgba(255,255,255,0.1))\n\t\t`,\n\t\ttransitionDuration: \"0.05s\",\n\t},\n}));\n\nexport type DeviceStatisticsIndicatorProps =\n\t| {\n\t\t\ttype: \"controller\";\n\t\t\tstatistics?: ControllerStatistics;\n\t }\n\t| {\n\t\t\ttype: \"node\";\n\t\t\tstatistics?: NodeStatistics;\n\t };\n\nconst ArrowUp: React.FC<{ status?: Status }> = (props) => {\n\tconst classes = useStyles();\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst ArrowDown: React.FC<{ status?: Status }> = (props) => {\n\tconst classes = useStyles();\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport const DeviceStatisticsIndicator: React.FC<\n\tDeviceStatisticsIndicatorProps\n> = (props) => {\n\tconst [prevStats, setPrevStats] = useState();\n\tconst [txStatus, setTxStatus] = useState();\n\tconst [rxStatus, setRxStatus] = useState();\n\n\tuseEffect(() => {\n\t\tif (prevStats != undefined && props.statistics != undefined) {\n\t\t\tif (props.type === \"controller\") {\n\t\t\t\tconst prev = prevStats as ControllerStatistics;\n\t\t\t\tconst cur = props.statistics;\n\n\t\t\t\t// Check for changes on the TX side\n\t\t\t\tif (\n\t\t\t\t\tprev.NAK < cur.NAK ||\n\t\t\t\t\tprev.messagesDroppedTX < cur.messagesDroppedTX ||\n\t\t\t\t\tprev.timeoutACK < cur.timeoutACK ||\n\t\t\t\t\tprev.timeoutResponse < cur.timeoutResponse ||\n\t\t\t\t\tprev.timeoutCallback < cur.timeoutCallback\n\t\t\t\t) {\n\t\t\t\t\t//There was an error transmitting\n\t\t\t\t\tsetTxStatus(\"error\");\n\t\t\t\t} else if (prev.messagesTX < cur.messagesTX) {\n\t\t\t\t\t// A message was sent\n\t\t\t\t\tsetTxStatus(\"active\");\n\t\t\t\t}\n\n\t\t\t\t// Check for changes on the RX side\n\t\t\t\tif (prev.messagesDroppedRX < cur.messagesDroppedRX) {\n\t\t\t\t\t//There was an error transmitting\n\t\t\t\t\tsetRxStatus(\"error\");\n\t\t\t\t} else if (prev.messagesRX < cur.messagesRX) {\n\t\t\t\t\t// A message was sent\n\t\t\t\t\tsetRxStatus(\"active\");\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst prev = prevStats as NodeStatistics;\n\t\t\t\tconst cur = props.statistics as NodeStatistics;\n\n\t\t\t\t// Check for changes on the TX side\n\t\t\t\tif (\n\t\t\t\t\tprev.commandsDroppedTX < cur.commandsDroppedTX ||\n\t\t\t\t\tprev.timeoutResponse < cur.timeoutResponse\n\t\t\t\t) {\n\t\t\t\t\t//There was an error transmitting\n\t\t\t\t\tsetTxStatus(\"error\");\n\t\t\t\t} else if (prev.commandsTX < cur.commandsTX) {\n\t\t\t\t\t// A message was sent\n\t\t\t\t\tsetTxStatus(\"active\");\n\t\t\t\t}\n\n\t\t\t\t// Check for changes on the RX side\n\t\t\t\tif (prev.commandsDroppedRX < cur.commandsDroppedRX) {\n\t\t\t\t\t//There was an error transmitting\n\t\t\t\t\tsetRxStatus(\"error\");\n\t\t\t\t} else if (prev.commandsRX < cur.commandsRX) {\n\t\t\t\t\t// A message was sent\n\t\t\t\t\tsetRxStatus(\"active\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetPrevStats(props.statistics);\n\t}, [props.statistics, setTxStatus, setRxStatus, prevStats]);\n\n\t// Reset the status after 0.5 seconds when the statistics haven't been changed since then\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetTxStatus(undefined);\n\t\t\tsetRxStatus(undefined);\n\t\t}, 500);\n\t\treturn () => clearTimeout(timeout);\n\t}, [setTxStatus, setRxStatus, props.statistics]);\n\n\tif (props.type === \"controller\") {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n};\n", "import { makeStyles } from \"@material-ui/core/styles\";\nimport Tooltip, { TooltipProps } from \"@material-ui/core/Tooltip\";\nimport clsx from \"clsx\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport type { ControllerStatistics, NodeStatistics } from \"zwave-js\";\n\nconst useStyles = makeStyles((theme) => ({\n\ttooltip: {\n\t\tborder: `1px solid ${theme.palette.divider}`,\n\t\tbackgroundColor: theme.palette.common.white,\n\t\tboxShadow: theme.shadows[1],\n\t\tcolor: \"rgba(0, 0, 0, 0.87)\",\n\t\tfontSize: 12,\n\t},\n\tarrow: {\n\t\t\"&::before\": {\n\t\t\tborder: `1px solid ${theme.palette.divider}`,\n\t\t\tbackgroundColor: theme.palette.common.white,\n\t\t\tboxSizing: \"border-box\",\n\t\t},\n\t},\n\troot: {\n\t\tdisplay: \"grid\",\n\t\tgridTemplateColumns: \"auto auto\",\n\t\tgridGap: theme.spacing(0, 1),\n\t},\n\tbad: {\n\t\tcolor: theme.palette.error.main,\n\t\tfontWeight: \"bold\",\n\t},\n}));\n\nconst BaseStatisticsTooltip: React.FC = (props) => {\n\tconst classes = useStyles();\n\treturn (\n\t\t\n\t);\n};\n\nexport interface NodeStatisticsTooltipProps {\n\tstatistics: NodeStatistics | undefined;\n\tchildren: TooltipProps[\"children\"];\n}\n\nexport const NodeStatisticsTooltip: React.FC = (\n\tprops,\n) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst s = props.statistics ?? {\n\t\tcommandsRX: 0,\n\t\tcommandsTX: 0,\n\t\tcommandsDroppedRX: 0,\n\t\tcommandsDroppedTX: 0,\n\t\ttimeoutResponse: 0,\n\t};\n\n\treturn (\n\t\t\n\t\t\t\t\t{_(\"sent\")}:\n\t\t\t\t\t\n\t\t\t\t\t\t{s.commandsTX}\n\t\t\t\t\t\t{s.commandsDroppedTX > 0 && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t({s.commandsDroppedTX} {_(\"dropped\")})\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t{_(\"received\")}:\n\t\t\t\t\t\n\t\t\t\t\t\t{s.commandsRX}\n\t\t\t\t\t\t{s.commandsDroppedRX > 0 && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t({s.commandsDroppedRX} {_(\"dropped\")})\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t{_(\"timeouts\")}:\n\t\t\t\t\t 0 ? classes.bad : undefined,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{s.timeoutResponse}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t>\n\t\t\t{props.children}\n\t\t\n\t);\n};\n\nexport interface ControllerStatisticsTooltipProps {\n\tstatistics: ControllerStatistics | undefined;\n\tchildren: TooltipProps[\"children\"];\n}\n\nexport const ControllerStatisticsTooltip: React.FC<\n\tControllerStatisticsTooltipProps\n> = (props) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst s = props.statistics ?? {\n\t\tCAN: 0,\n\t\tNAK: 0,\n\t\tmessagesDroppedRX: 0,\n\t\tmessagesDroppedTX: 0,\n\t\tmessagesRX: 0,\n\t\tmessagesTX: 0,\n\t\ttimeoutACK: 0,\n\t\ttimeoutCallback: 0,\n\t\ttimeoutResponse: 0,\n\t};\n\n\treturn (\n\t\t\n\t\t\t\t\t{_(\"sent\")}:\n\t\t\t\t\t\n\t\t\t\t\t\t{s.messagesTX}\n\t\t\t\t\t\t{s.messagesDroppedTX > 0 && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t({s.messagesDroppedTX} {_(\"dropped\")})\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t{_(\"received\")}:\n\t\t\t\t\t\n\t\t\t\t\t\t{s.messagesRX}\n\t\t\t\t\t\t{s.messagesDroppedRX > 0 && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t({s.messagesDroppedRX} {_(\"dropped\")})\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t{_(\"timeouts\")}:\n\t\t\t\t\t
\n\t\t\t\t\t\tACK: {s.timeoutACK}\n\t\t\t\t\t\t
\n\t\t\t\t\t\tRES:{\" \"}\n\t\t\t\t\t\t{s.timeoutResponse}\n\t\t\t\t\t\t
\n\t\t\t\t\t\tCB:{\" \"}\n\t\t\t\t\t\t{s.timeoutCallback}\n\t\t\t\t\t
\n\n\t\t\t\t\t{_(\"collisions\")}:\n\t\t\t\t\t{s.CAN}\n\n\t\t\t\t\t{_(\"corrupt\")}:\n\t\t\t\t\t{s.NAK}\n\t\t\t\t\n\t\t\t}\n\t\t>\n\t\t\t{props.children}\n\t\t\n\t);\n};\n", "import { blue, green, orange, red } from \"@material-ui/core/colors\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport AutoRenewIcon from \"@material-ui/icons/Autorenew\";\nimport DoneIcon from \"@material-ui/icons/Done\";\nimport ErrorOutlineIcon from \"@material-ui/icons/ErrorOutline\";\nimport RedoIcon from \"@material-ui/icons/Redo\";\nimport { useI18n } from \"iobroker-react/hooks\";\n\nconst useStyles = makeStyles((_theme) => ({\n\thealIconPending: {\n\t\tcolor: blue[500],\n\t\tanimation: \"$rotation 1.5s infinite ease-in-out\",\n\t\tanimationFillMode: \"forwards\",\n\t},\n\thealIconFailed: {\n\t\tcolor: red[500],\n\t},\n\thealIconSkipped: {\n\t\tcolor: orange[800],\n\t},\n\thealIconDone: {\n\t\tcolor: green[900],\n\t},\n\n\t\"@keyframes rotation\": {\n\t\t\"0%\": {\n\t\t\ttransform: \"rotate(0deg)\",\n\t\t},\n\t\t\"95%\": {\n\t\t\ttransform: \"rotate(720deg)\",\n\t\t\tanimationFillMode: \"none\",\n\t\t},\n\t\t\"95.1%\": {\n\t\t\ttransform: \"rotate(0deg)\",\n\t\t},\n\t},\n}));\n\ninterface HealStatusIconProps {\n\tstatus: \"pending\" | \"failed\" | \"skipped\" | \"done\";\n}\n\nexport const HealStatusIcon: React.FC = (props) => {\n\tconst { status } = props;\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\tswitch (status) {\n\t\tcase \"done\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tcase \"skipped\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tcase \"failed\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tcase \"pending\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t}\n\tthrow new Error(\"Unknown heal status\");\n};\n", "import Button from \"@material-ui/core/Button\";\nimport ButtonGroup from \"@material-ui/core/ButtonGroup\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Typography from \"@material-ui/core/Typography\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport DeleteOutlineIcon from \"@material-ui/icons/DeleteOutline\";\nimport MemoryIcon from \"@material-ui/icons/Memory\";\nimport PublishIcon from \"@material-ui/icons/Publish\";\nimport RestorePageIcon from \"@material-ui/icons/RestorePage\";\nimport SwapHorizIcon from \"@material-ui/icons/SwapHoriz\";\nimport clsx from \"clsx\";\nimport { useDialogs, useI18n } from \"iobroker-react/hooks\";\nimport { useEffect, useRef, useState } from \"react\";\nimport type { FirmwareUpdateProgress } from \"../../../src/lib/shared\";\nimport { useAPI } from \"../lib/useAPI\";\nimport { usePush } from \"../lib/usePush\";\n\nexport interface NodeActionsProps {\n\tnodeId: number;\n\tstatus: string | undefined;\n\tisBusy: boolean;\n\tsetBusy: (isBusy: boolean) => void;\n\treplaceFailedNode: () => void;\n\tsupportsFirmwareUpdate: boolean;\n}\n\ninterface LoadedFile {\n\tname: string;\n\tdata: Uint8Array;\n}\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(2, 0),\n\t\tdisplay: \"grid\",\n\t\tgridTemplateColumns: \"minmax(auto, 300px) 1fr\",\n\t\talignItems: \"center\",\n\t\tcolumnGap: theme.spacing(4),\n\t\trowGap: theme.spacing(2),\n\t},\n\tfirmwareUpdate: {\n\t\tgridColumn: \"1 / span 2\",\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"row nowrap\",\n\t\tjustifyContent: \"space-between\",\n\t\talignItems: \"center\",\n\t\tmarginTop: theme.spacing(4),\n\t},\n\tfirmwareUpdateMessage: {\n\t\tgridColumn: \"1 / span 2\",\n\t},\n\twarning: {\n\t\tcolor: theme.palette.warning.main,\n\t},\n\tredButton: {\n\t\tbackground: theme.palette.error.main,\n\t\t\"&:hover\": {\n\t\t\tbackground: theme.palette.error.dark,\n\t\t},\n\t},\n}));\n\nexport const NodeActions: React.FC = (props) => {\n\tconst [loadedFile, setLoadedFile] = useState();\n\tconst [firmwareUpdateActive, setFirmwareUpdateActive] = useState(false);\n\tconst [firmwareUpdateStatus, setFirmwareUpdateStatus] =\n\t\tuseState();\n\tconst [message, setMessage] = useState();\n\n\tconst input = useRef();\n\n\tconst api = useAPI();\n\tconst { nodeId, isBusy, setBusy, supportsFirmwareUpdate } = props;\n\tconst { translate: _ } = useI18n();\n\n\tconst { showNotification, showModal } = useDialogs();\n\n\t// It can happen that the controller does not react to commands for a failed node,\n\t// so the status won't change. We need to allow removing the node in this case too,\n\t// so just forbid removing alive or awake nodes\n\tconst isNodeFailed = props.status !== \"alive\" && props.status !== \"awake\";\n\n\tasync function removeNode() {\n\t\tconst result = await showModal(\n\t\t\t_(\"Remove node?\"),\n\t\t\t_(\"Do you really want to remove this node from the network?\"),\n\t\t);\n\t\tif (!result) return;\n\n\t\tsetBusy(true);\n\t\ttry {\n\t\t\tawait api.removeFailedNode(nodeId);\n\t\t} catch (e) {\n\t\t\talert(e);\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t}\n\n\tasync function replaceNode() {\n\t\tconst result = await showModal(\n\t\t\t_(\"Replace node?\"),\n\t\t\t_(\"Do you really want to replace this node?\"),\n\t\t);\n\t\tif (result) props.replaceFailedNode();\n\t}\n\n\tasync function refreshInfo() {\n\t\tsetBusy(true);\n\t\ttry {\n\t\t\tawait api.refreshNodeInfo(nodeId);\n\t\t} catch (e) {\n\t\t\talert(e);\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t}\n\n\tconst loadFirmware = () => {\n\t\tinput.current?.click();\n\t};\n\tconst selectFirmware = async (e: React.ChangeEvent) => {\n\t\tif (e.target.files?.length) {\n\t\t\tconst file = e.target.files[0];\n\t\t\tconst data = new Uint8Array(await file.arrayBuffer());\n\t\t\tsetLoadedFile({\n\t\t\t\tname: file.name,\n\t\t\t\tdata,\n\t\t\t});\n\t\t}\n\t};\n\tasync function beginFirmwareUpdate() {\n\t\tif (supportsFirmwareUpdate && loadedFile?.data) {\n\t\t\tsetBusy(true);\n\t\t\ttry {\n\t\t\t\tsetFirmwareUpdateActive(true);\n\t\t\t\tsetFirmwareUpdateStatus({\n\t\t\t\t\ttype: \"progress\",\n\t\t\t\t\tsentFragments: 0,\n\t\t\t\t\ttotalFragments: 1,\n\t\t\t\t});\n\t\t\t\tawait api.beginFirmwareUpdate(\n\t\t\t\t\tnodeId,\n\t\t\t\t\tloadedFile.name,\n\t\t\t\t\tArray.from(loadedFile.data),\n\t\t\t\t);\n\t\t\t} catch (e) {\n\t\t\t\tsetFirmwareUpdateActive(false);\n\t\t\t\talert(e);\n\t\t\t} finally {\n\t\t\t\tsetBusy(false);\n\t\t\t\tsetMessage(undefined);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync function abortFirmwareUpdate() {\n\t\tsetBusy(true);\n\t\ttry {\n\t\t\tawait api.abortFirmwareUpdate(nodeId);\n\t\t} catch (e) {\n\t\t\talert(e);\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t\tsetFirmwareUpdateActive(false);\n\t\t}\n\t}\n\n\tusePush((payload) => {\n\t\tif (payload.type === \"firmwareUpdate\") {\n\t\t\tconst progress = payload.progress;\n\t\t\tsetFirmwareUpdateStatus(progress);\n\n\t\t\tif (progress.type === \"done\") {\n\t\t\t\tconst success =\n\t\t\t\t\tprogress.status! >= 0xfd; /* OK_WaitingForActivation */\n\t\t\t\tif (!success) {\n\t\t\t\t\tshowNotification(_(\"firmware update failed\"), \"error\");\n\t\t\t\t\tsetMessage(undefined);\n\t\t\t\t} else {\n\t\t\t\t\tlet message = _(\"firmware update successful\");\n\t\t\t\t\tif (success) {\n\t\t\t\t\t\tif (progress.waitTime) {\n\t\t\t\t\t\t\tmessage +=\n\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t_(\"firmware update wait time\").replace(\n\t\t\t\t\t\t\t\t\t\"{0}\",\n\t\t\t\t\t\t\t\t\tprogress.waitTime.toString(),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \" \" + _(\"firmware update no wait time\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmessage += \" \" + _(\"firmware update wake up\");\n\t\t\t\t\t}\n\t\t\t\t\tsetMessage(message);\n\t\t\t\t}\n\t\t\t\tsetLoadedFile(undefined);\n\t\t\t\tsetFirmwareUpdateActive(false);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetFirmwareUpdateStatus(undefined);\n\t\t\t\t}, 10000);\n\t\t\t} else {\n\t\t\t\t// For good measure, in case someone reloaded the page\n\t\t\t\tsetFirmwareUpdateActive(true);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst updateProgressNumeric =\n\t\tfirmwareUpdateStatus?.type === \"progress\" &&\n\t\ttypeof firmwareUpdateStatus.totalFragments === \"number\" &&\n\t\ttypeof firmwareUpdateStatus.sentFragments === \"number\"\n\t\t\t? Math.round(\n\t\t\t\t\t(firmwareUpdateStatus.sentFragments /\n\t\t\t\t\t\tfirmwareUpdateStatus.totalFragments) *\n\t\t\t\t\t\t10000,\n\t\t\t ) / 100\n\t\t\t: Number.NaN;\n\n\t// Notify the user to wake up the device\n\tuseEffect(() => {\n\t\tif (firmwareUpdateStatus?.type === \"done\") return;\n\t\tif (props.status === \"asleep\" && firmwareUpdateActive) {\n\t\t\tsetMessage(_(\"wake up device\"));\n\t\t} else {\n\t\t\tsetMessage(undefined);\n\t\t}\n\t}, [props.status, firmwareUpdateActive, firmwareUpdateStatus]);\n\n\tconst classes = useStyles();\n\n\treturn (\n\t\t
\n\t\t\t{/* Button to re-interview a node */}\n\t\t\t}\n\t\t\t\tonClick={() => refreshInfo()}\n\t\t\t\tfullWidth\n\t\t\t>\n\t\t\t\t{_(\"Refresh node info\")}\n\t\t\t\n\t\t\t\n\t\t\t\t{_(\n\t\t\t\t\t\"Forget all information about this node and re-interview it. Battery-powered nodes might need to be woken up manually.\",\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{/* Button to remove failed nodes - only show them if the node may be failed */}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* The span is necessary to show a tooltip on a disabled button */}\n\t\t\t\t\t}\n\t\t\t\t\t\tfullWidth\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"Remove failed node\")}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{_(\"Remove this node from the network.\")}\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"WARNING: Only do this if you no longer have physical access.\",\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\n\t\t\t{/* Button to replace failed nodes - only show them if the node may be failed */}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* The span is necessary to show a tooltip on a disabled button */}\n\t\t\t\t\t}\n\t\t\t\t\t\tfullWidth\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"Replace failed node\")}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{_(\n\t\t\t\t\t\"Replace this node with a different one, keeping the node ID.\",\n\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"WARNING: Make sure that the node is reset before attempting this.\",\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\n\t\t\t{supportsFirmwareUpdate && (\n\t\t\t\t<>\n\t\t\t\t\t
\n\t\t\t\t\t\t loadFirmware()}\n\t\t\t\t\t\t\tstyle={{ flex: \"1 0 auto\" }}\n\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{_(\"Update Firmware\")}\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tif (ref) input.current = ref;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={selectFirmware}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{firmwareUpdateActive ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{Number.isNaN(updateProgressNumeric) ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{!Number.isNaN(updateProgressNumeric) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{updateProgressNumeric.toLocaleString(\n\t\t\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{\" %\"}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{loadedFile\n\t\t\t\t\t\t\t\t\t? `${loadedFile.name} (${loadedFile.data.byteLength} bytes)`\n\t\t\t\t\t\t\t\t\t: _(\"no file selected\")}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t beginFirmwareUpdate()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t abortFirmwareUpdate()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{message ? (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t
\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{_(\"firmware update warning\")}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n", "/* eslint-disable @typescript-eslint/no-empty-function */\nimport Button from \"@material-ui/core/Button\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport { green, yellow } from \"@material-ui/core/colors\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Typography from \"@material-ui/core/Typography\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport clsx from \"clsx\";\nimport { useGlobals, useI18n, useIoBrokerObject } from \"iobroker-react/hooks\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport type { InclusionGrant } from \"zwave-js/Controller\";\nimport { QRScanner } from \"./QRScanner\";\n\nconst useStyles = makeStyles((theme) => ({\n\tstrategyRoot: {\n\t\t// maxWidth: \"600px\",\n\t},\n\tstrategyGridHeadline: {\n\t\tmarginTop: theme.spacing(4),\n\t},\n\tstrategyGrid: {\n\t\tmarginTop: theme.spacing(1),\n\t\tdisplay: \"grid\",\n\t\tgridTemplateColumns: \"auto 400px\",\n\t\tgridGap: theme.spacing(2),\n\t\talignItems: \"center\",\n\t},\n\tstrategyList: {\n\t\t...theme.typography.body2,\n\t},\n\tscanQRCodeRoot: {\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"column nowrap\",\n\t\tgap: theme.spacing(1),\n\t\tmaxWidth: \"600px\",\n\t},\n\twaitMessageRoot: {\n\t\tdisplay: \"grid\",\n\t\tgridTemplateColumns: \"minmax(auto, 10ch) 1fr\",\n\t\tgridGap: theme.spacing(4),\n\t\talignItems: \"center\",\n\t\t// width: \"600px\",\n\t\toverflow: \"hidden\",\n\t},\n\tgrantRoot: {\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"column nowrap\",\n\t\tgap: theme.spacing(1),\n\t\tmaxWidth: \"600px\",\n\t},\n\tgrantHeadline: {\n\t\tmarginTop: theme.spacing(-1),\n\t\tmarginBottom: theme.spacing(1),\n\t},\n\tgrantCSA: {\n\t\tmarginTop: theme.spacing(2),\n\t},\n\tvalidateDSKRoot: {\n\t\tmaxWidth: \"600px\",\n\t},\n\tvalidateDSKGrid: {\n\t\tmarginTop: theme.spacing(1),\n\t\tdisplay: \"grid\",\n\t\twidth: \"100%\",\n\t\tgridTemplateColumns: \"minmax(auto, 10ch) 1fr\",\n\t\tgridGap: theme.spacing(1),\n\t\talignItems: \"center\",\n\t\ttextAlign: \"center\",\n\t},\n\tresultRoot: {\n\t\tdisplay: \"grid\",\n\t\tgridTemplateColumns: \"auto 1fr\",\n\t\tgridTemplateRows: \"auto auto auto\",\n\t\talignItems: \"center\",\n\t},\n\tresultIcon: {\n\t\tmarginRight: theme.spacing(4),\n\t\tfontSize: \"64px\",\n\t\tgridRow: \"1 / span 3\",\n\t\tgridColumn: 1,\n\t},\n\tresultIconOK: {\n\t\tcolor: green[500],\n\t},\n\tresultIconLowSecurity: {\n\t\tcolor: yellow[700],\n\t},\n}));\n\nexport enum InclusionExclusionStep {\n\tSelectInclusionStrategy,\n\tSelectReplacementStrategy,\n\tQRCode,\n\tIncludeDevice,\n\tExcludeDevice,\n\tGrantSecurityClasses,\n\tValidateDSK,\n\tBusy,\n\tResult,\n\tExclusionResult,\n\tResultMessage,\n}\n\n// Copied from zwave-js\nexport enum InclusionStrategy {\n\tDefault = 0,\n\tInsecure = 2,\n\t// Only for replacing nodes:\n\tSecurity_S0,\n\tSecurity_S2,\n\n\t// This is not included in zwave-js\n\tQRCode = -1,\n}\n\n// =============================================================================\n\ninterface SelectInclusionStrategyStepProps {\n\tselectStrategy: (\n\t\tstrategy: InclusionStrategy,\n\t\tforceSecurity?: boolean,\n\t) => void;\n\tonCancel: () => void;\n}\n\nconst SelectInclusionStrategyStep: React.FC<\n\tSelectInclusionStrategyStepProps\n> = (props) => {\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\tconst [forceSecurity, setForceSecurity] = useState(false);\n\n\tconst strategyCaptionDefault = forceSecurity\n\t\t? _(\n\t\t\t\t\"Security S2 when supported, Security S0 as a fallback, no encryption otherwise.\",\n\t\t )\n\t\t: _(\n\t\t\t\t\"Security S2 when supported, Security S0 only when necessary, no encryption otherwise.\",\n\t\t );\n\n\t// Display a warning when security keys are missing\n\tconst { namespace } = useGlobals();\n\tconst [instanceObj] = useIoBrokerObject(`system.adapter.${namespace}`, {\n\t\tsubscribe: false,\n\t});\n\tconst settings = instanceObj?.native as ioBroker.AdapterConfig | undefined;\n\n\tconst keysMissing =\n\t\tsettings &&\n\t\t(!settings.networkKey_S0 ||\n\t\t\t!settings.networkKey_S2_AccessControl ||\n\t\t\t!settings.networkKey_S2_Authenticated ||\n\t\t\t!settings.networkKey_S2_Unauthenticated);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Z-Wave supports the following security mechanisms:\")}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
  • \n\t\t\t\t\t\tSecurity S2 – {_(\"fast and secure\")}{\" \"}\n\t\t\t\t\t\t{_(\"(recommended)\")}\n\t\t\t\t\t
  • \n\t\t\t\t\t
  • \n\t\t\t\t\t\tSecurity S0 –{\" \"}\n\t\t\t\t\t\t{_(\"secure, but slow due to a lot of overhead\")}{\" \"}\n\t\t\t\t\t\t{_(\"(use only when necessary)\")}\n\t\t\t\t\t
  • \n\t\t\t\t\t
  • {_(\"No encryption\")}
  • \n\t\t\t\t\n\n\t\t\t\t{keysMissing && (\n\t\t\t\t\t\n\t\t\t\t\t\t{_(\n\t\t\t\t\t\t\t\"At least one network key is not yet configured. This can cause problems during secure inclusion.\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t{_(\"Please choose an inclusion strategy\")}:\n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tprops.selectStrategy(\n\t\t\t\t\t\t\t\t\tInclusionStrategy.Default,\n\t\t\t\t\t\t\t\t\tforceSecurity,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{_(\"Default (secure)\")}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tsetForceSecurity(checked)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{strategyCaptionDefault}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{_(\"Requires user interaction during the inclusion.\")}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\tprops.selectStrategy(InclusionStrategy.QRCode)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"Scan QR Code\")}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\tprops.selectStrategy(InclusionStrategy.Security_S0)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"Security S0\")}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{_(\n\t\t\t\t\t\t\t\"Only use S0, even if S2 is available. Allows including devices that require security but don't behave correctly during S2 inclusion.\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\tprops.selectStrategy(InclusionStrategy.Insecure)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"No encryption\")}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Cancel\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\ninterface SelectReplacementStrategyStepProps {\n\tselectStrategy: (\n\t\tstrategy:\n\t\t\t| InclusionStrategy.Insecure\n\t\t\t| InclusionStrategy.Security_S0\n\t\t\t| InclusionStrategy.Security_S2,\n\t) => void;\n\tonCancel: () => void;\n}\n\nconst SelectReplacementStrategyStep: React.FC<\n\tSelectReplacementStrategyStepProps\n> = (props) => {\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Please choose a replacement strategy\")}:\n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\tprops.selectStrategy(InclusionStrategy.Security_S2)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"Security S2\")}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{_(\"fast and secure\")}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{_(\"(recommended)\")}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\tprops.selectStrategy(InclusionStrategy.Security_S0)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"Security S0\")}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{_(\"secure, but slow due to a lot of overhead\")}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{_(\"(use only when necessary)\")}\n\t\t\t\t\t
    \n\n\t\t\t\t\t\n\t\t\t\t\t\t\tprops.selectStrategy(InclusionStrategy.Insecure)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{_(\"No encryption\")}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Cancel\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\nexport interface ScanQRCodeStepProps {\n\tonScan: (code: string) => void;\n\tonCancel?: () => void;\n}\n\nconst ScanQRCodeStep: React.FC = (props) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst [busy, setBusy] = useState(false);\n\tconst handleScan = useCallback(\n\t\t(code: string) => {\n\t\t\tif (busy) return;\n\t\t\tsetBusy(true);\n\t\t\t// Add a short delay so the scanner markers can be seen\n\t\t\tsetTimeout(() => {\n\t\t\t\tprops.onScan(code);\n\t\t\t}, 500);\n\t\t},\n\t\t[busy, setBusy, props.onScan],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{props.onCancel && (\n\t\t\t\t\t\n\t\t\t\t\t\t{_(\"Cancel\")}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\nexport interface WaitMessageProps {\n\tmessage: string;\n\tonCancel?: () => void;\n}\n\nconst WaitMessageStep: React.FC = (props) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t{props.message}\n\t\t\t\n\t\t\t\n\t\t\t\t{props.onCancel && (\n\t\t\t\t\t\n\t\t\t\t\t\t{_(\"Cancel\")}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\ninterface GrantSecurityClassesStepProps {\n\trequest: InclusionGrant;\n\tgrantSecurityClasses: (grant: InclusionGrant) => void;\n\tonCancel: () => void;\n}\n\nconst GrantSecurityClassesStep: React.FC = (\n\tprops,\n) => {\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\tconst request = props.request;\n\tconst requestS2AccessControl = request.securityClasses.includes(2);\n\tconst requestS2Authenticated = request.securityClasses.includes(1);\n\tconst requestS2Unauthenticated = request.securityClasses.includes(0);\n\tconst requestS0Legacy = request.securityClasses.includes(7);\n\tconst requestCSA = request.clientSideAuth;\n\n\tconst [grantS2AccessControl, setGrantS2AccessControl] = useState(\n\t\trequestS2AccessControl,\n\t);\n\tconst [grantS2Authenticated, setGrantS2Authenticated] = useState(\n\t\trequestS2Authenticated,\n\t);\n\tconst [grantS2Unauthenticated, setGrantS2Unauthenticated] = useState(\n\t\trequestS2Unauthenticated,\n\t);\n\tconst [grantS0Legacy, setGrantS0Legacy] = useState(requestS0Legacy);\n\tconst [grantCSA, setGrantCSA] = useState(requestCSA);\n\n\t// This will be called when the user clicks confirm\n\tconst handleOk = () => {\n\t\tconst securityClasses: InclusionGrant[\"securityClasses\"] = [];\n\t\tif (grantS2AccessControl) securityClasses.push(2);\n\t\tif (grantS2Authenticated) securityClasses.push(1);\n\t\tif (grantS2Unauthenticated) securityClasses.push(0);\n\t\tif (grantS0Legacy) securityClasses.push(7);\n\n\t\tconst grant: InclusionGrant = {\n\t\t\tsecurityClasses,\n\t\t\tclientSideAuth: grantCSA,\n\t\t};\n\t\tprops.grantSecurityClasses(grant);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"Please choose which of the following security classes to grant to the new node.\",\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"At least one must be granted or the key exchange will be canceled.\",\n\t\t\t\t\t)}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tS2 Access Control\n\t\t\t\t\t\t\t\t{!requestS2AccessControl && (\n\t\t\t\t\t\t\t\t\t<> ({_(\"not requested\")})\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{_(\"Example:\")} {_(\"Door locks, garage doors\")},\n\t\t\t\t\t\t\t\t...\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={!requestS2AccessControl}\n\t\t\t\t\tcontrol={\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsetGrantS2AccessControl(checked)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tS2 Authenticated\n\t\t\t\t\t\t\t\t{!requestS2Authenticated && (\n\t\t\t\t\t\t\t\t\t<> ({_(\"not requested\")})\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{_(\"Example:\")}{\" \"}\n\t\t\t\t\t\t\t\t{_(\"Lighting, sensors, security systems\")}, ...\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={!requestS2Authenticated}\n\t\t\t\t\tcontrol={\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsetGrantS2Authenticated(checked)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tS2 Unauthenticated\n\t\t\t\t\t\t\t\t{!requestS2Unauthenticated && (\n\t\t\t\t\t\t\t\t\t<> ({_(\"not requested\")})\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{_(\n\t\t\t\t\t\t\t\t\t\"Like S2 Authenticated, but without verification that the correct device is included\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={!requestS2Unauthenticated}\n\t\t\t\t\tcontrol={\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsetGrantS2Unauthenticated(checked)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tS0 Legacy\n\t\t\t\t\t\t\t\t{!requestS0Legacy && (\n\t\t\t\t\t\t\t\t\t<> ({_(\"not requested\")})\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{_(\"Example:\")}{\" \"}\n\t\t\t\t\t\t\t\t{_(\"Legacy door locks without S2 support\")}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={!requestS0Legacy}\n\t\t\t\t\tcontrol={\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsetGrantS0Legacy(checked)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tClient Side Authentication\n\t\t\t\t\t\t\t\t{!requestCSA && <> ({_(\"not requested\")})}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{_(\n\t\t\t\t\t\t\t\t\t\"For devices without a DSK. Authentication of the inclusion happens on the device instead of in ioBroker.\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={!requestCSA}\n\t\t\t\t\tcontrol={\n\t\t\t\t\t\t setGrantCSA(checked)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Cancel\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\ninterface ValidateDSKStepProps {\n\tsetPIN: (pin: string) => void;\n\tonCancel: () => void;\n\tdsk: string;\n}\n\nconst ValidateDSKStep: React.FC = (props) => {\n\tconst { translate: _ } = useI18n();\n\n\tconst [pin, setPIN] = useState(\"\");\n\tconst [error, setError] = useState(false);\n\n\tconst handleChange = (event: React.ChangeEvent) => {\n\t\tconst pin = event.target.value.replace(/[^0-9]/g, \"\");\n\t\tsetPIN(pin);\n\t\tsetError(false);\n\t};\n\n\tconst handleBlur = () => {\n\t\tif (pin.length !== 5) setError(true);\n\t};\n\n\tconst handleOk = () => {\n\t\tif (pin.length === 5) props.setPIN(pin);\n\t};\n\n\tconst classes = useStyles();\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"Please enter the 5-digit PIN for your device and verify that the rest of the device-specific key (DSK) matches the one on your device or the manual.\",\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (e.key === \"Enter\") handleOk();\n\t\t\t\t\t\t\tif (e.key === \"Escape\") props.onCancel();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t{props.dsk}\n\t\t\t\t\tPIN\n\t\t\t\t\tDSK\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"OK\")}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"Cancel\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\nexport interface ResultStepProps {\n\tnodeId: number;\n\tlowSecurity: boolean;\n\tsecurityClass?: string;\n\tonDone: () => void;\n}\n\nconst ResultStep: React.FC = (props) => {\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\tconst Icon = props.lowSecurity ? WarningIcon : CheckCircleIcon;\n\tconst caption = props.lowSecurity\n\t\t? _(\"Node %s was added insecurely!\", props.nodeId.toString())\n\t\t: _(\"Node %s was added successfully!\", props.nodeId.toString());\n\tconst message1 = props.lowSecurity\n\t\t? _(\n\t\t\t\t\"There was an error during secure inclusion. To try again, exclude the node first.\",\n\t\t )\n\t\t: _(\"Security class: %s\", props.securityClass ?? _(\"None\"));\n\n\tconst message2 = _(\n\t\t\"The device is now being interviewed. It might take a while to show up.\",\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{caption}\n\t\t\t\t\n\t\t\t\t{message1}\n\t\t\t\t{message2}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"OK\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\nexport interface ExclusionResultStepProps {\n\tnodeId: number;\n\tonDone: () => void;\n}\n\nconst ExclusionResultStep: React.FC = (props) => {\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\n\t\t\t\t\t\t\"Node %s was removed from the network!\",\n\t\t\t\t\t\tprops.nodeId.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"OK\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\nexport interface ResultMessageStepProps {\n\tsuccess: boolean;\n\ttitle: string;\n\tmessage: React.ReactNode;\n\tonDone: () => void;\n}\n\nconst ResultMessageStep: React.FC = (props) => {\n\tconst { translate: _ } = useI18n();\n\tconst classes = useStyles();\n\n\tconst Icon = props.success ? CheckCircleIcon : WarningIcon;\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{props.title}\n\t\t\t\t\n\t\t\t\t{props.message}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{_(\"OK\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// =============================================================================\n\nexport type InclusionExclusionDialogProps = {\n\tonCancel: () => void;\n} & (\n\t| ({\n\t\t\tstep: InclusionExclusionStep.SelectInclusionStrategy;\n\t } & SelectInclusionStrategyStepProps)\n\t| ({\n\t\t\tstep: InclusionExclusionStep.SelectReplacementStrategy;\n\t } & SelectReplacementStrategyStepProps)\n\t| ({ step: InclusionExclusionStep.QRCode } & ScanQRCodeStepProps)\n\t| { step: InclusionExclusionStep.IncludeDevice }\n\t| { step: InclusionExclusionStep.ExcludeDevice }\n\t| ({\n\t\t\tstep: InclusionExclusionStep.GrantSecurityClasses;\n\t } & GrantSecurityClassesStepProps)\n\t| ({ step: InclusionExclusionStep.ValidateDSK } & ValidateDSKStepProps)\n\t| { step: InclusionExclusionStep.Busy }\n\t| ({ step: InclusionExclusionStep.Result } & ResultStepProps)\n\t| ({ step: InclusionExclusionStep.ResultMessage } & ResultMessageStepProps)\n\t| ({\n\t\t\tstep: InclusionExclusionStep.ExclusionResult;\n\t } & ExclusionResultStepProps)\n);\n\nexport const InclusionDialog: React.FC<\n\tInclusionExclusionDialogProps & { isOpen: boolean }\n> = (props) => {\n\tconst { translate: _ } = useI18n();\n\n\tconst Content = useMemo(() => {\n\t\tswitch (props.step) {\n\t\t\tcase InclusionExclusionStep.SelectInclusionStrategy:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.SelectReplacementStrategy:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.QRCode:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.IncludeDevice:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.ExcludeDevice:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.GrantSecurityClasses:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.ValidateDSK:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.Result:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.ExclusionResult:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.ResultMessage:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase InclusionExclusionStep.Busy:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t}\n\t}, [props.step]);\n\n\tconst title = useMemo(() => {\n\t\tswitch (props.step) {\n\t\t\tcase InclusionExclusionStep.SelectInclusionStrategy:\n\t\t\tcase InclusionExclusionStep.IncludeDevice:\n\t\t\tcase InclusionExclusionStep.GrantSecurityClasses:\n\t\t\tcase InclusionExclusionStep.ValidateDSK:\n\t\t\tcase InclusionExclusionStep.Result:\n\t\t\tcase InclusionExclusionStep.Busy:\n\t\t\tcase InclusionExclusionStep.QRCode:\n\t\t\t\treturn _(\"Include device\");\n\n\t\t\tcase InclusionExclusionStep.SelectReplacementStrategy:\n\t\t\t\treturn _(\"Replace device\");\n\n\t\t\tcase InclusionExclusionStep.ExcludeDevice:\n\t\t\tcase InclusionExclusionStep.ExclusionResult:\n\t\t\t\treturn _(\"Exclude device\");\n\t\t}\n\t}, [props.step]);\n\treturn (\n\t\t\n\t\t\t{title}\n\t\t\t{Content}\n\t\t\n\t);\n};\n", "import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { withStyles, lighten, darken } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport SuccessOutlinedIcon from '../internal/svg-icons/SuccessOutlined';\nimport ReportProblemOutlinedIcon from '../internal/svg-icons/ReportProblemOutlined';\nimport ErrorOutlineIcon from '../internal/svg-icons/ErrorOutline';\nimport InfoOutlinedIcon from '../internal/svg-icons/InfoOutlined';\nimport CloseIcon from '../internal/svg-icons/Close';\nimport IconButton from '@material-ui/core/IconButton';\nimport { capitalize } from '@material-ui/core/utils';\nexport var styles = function styles(theme) {\n var getColor = theme.palette.type === 'light' ? darken : lighten;\n var getBackgroundColor = theme.palette.type === 'light' ? lighten : darken;\n return {\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.body2, {\n borderRadius: theme.shape.borderRadius,\n backgroundColor: 'transparent',\n display: 'flex',\n padding: '6px 16px'\n }),\n\n /* Styles applied to the root element if `variant=\"standard\"` and `color=\"success\"`. */\n standardSuccess: {\n color: getColor(theme.palette.success.main, 0.6),\n backgroundColor: getBackgroundColor(theme.palette.success.main, 0.9),\n '& $icon': {\n color: theme.palette.success.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"standard\"` and `color=\"info\"`. */\n standardInfo: {\n color: getColor(theme.palette.info.main, 0.6),\n backgroundColor: getBackgroundColor(theme.palette.info.main, 0.9),\n '& $icon': {\n color: theme.palette.info.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"standard\"` and `color=\"warning\"`. */\n standardWarning: {\n color: getColor(theme.palette.warning.main, 0.6),\n backgroundColor: getBackgroundColor(theme.palette.warning.main, 0.9),\n '& $icon': {\n color: theme.palette.warning.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"standard\"` and `color=\"error\"`. */\n standardError: {\n color: getColor(theme.palette.error.main, 0.6),\n backgroundColor: getBackgroundColor(theme.palette.error.main, 0.9),\n '& $icon': {\n color: theme.palette.error.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"outlined\"` and `color=\"success\"`. */\n outlinedSuccess: {\n color: getColor(theme.palette.success.main, 0.6),\n border: \"1px solid \".concat(theme.palette.success.main),\n '& $icon': {\n color: theme.palette.success.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"outlined\"` and `color=\"info\"`. */\n outlinedInfo: {\n color: getColor(theme.palette.info.main, 0.6),\n border: \"1px solid \".concat(theme.palette.info.main),\n '& $icon': {\n color: theme.palette.info.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"outlined\"` and `color=\"warning\"`. */\n outlinedWarning: {\n color: getColor(theme.palette.warning.main, 0.6),\n border: \"1px solid \".concat(theme.palette.warning.main),\n '& $icon': {\n color: theme.palette.warning.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"outlined\"` and `color=\"error\"`. */\n outlinedError: {\n color: getColor(theme.palette.error.main, 0.6),\n border: \"1px solid \".concat(theme.palette.error.main),\n '& $icon': {\n color: theme.palette.error.main\n }\n },\n\n /* Styles applied to the root element if `variant=\"filled\"` and `color=\"success\"`. */\n filledSuccess: {\n color: '#fff',\n fontWeight: theme.typography.fontWeightMedium,\n backgroundColor: theme.palette.success.main\n },\n\n /* Styles applied to the root element if `variant=\"filled\"` and `color=\"info\"`. */\n filledInfo: {\n color: '#fff',\n fontWeight: theme.typography.fontWeightMedium,\n backgroundColor: theme.palette.info.main\n },\n\n /* Styles applied to the root element if `variant=\"filled\"` and `color=\"warning\"`. */\n filledWarning: {\n color: '#fff',\n fontWeight: theme.typography.fontWeightMedium,\n backgroundColor: theme.palette.warning.main\n },\n\n /* Styles applied to the root element if `variant=\"filled\"` and `color=\"error\"`. */\n filledError: {\n color: '#fff',\n fontWeight: theme.typography.fontWeightMedium,\n backgroundColor: theme.palette.error.main\n },\n\n /* Styles applied to the icon wrapper element. */\n icon: {\n marginRight: 12,\n padding: '7px 0',\n display: 'flex',\n fontSize: 22,\n opacity: 0.9\n },\n\n /* Styles applied to the message wrapper element. */\n message: {\n padding: '8px 0'\n },\n\n /* Styles applied to the action wrapper element if `action` is provided. */\n action: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: 16,\n marginRight: -8\n }\n };\n};\nvar defaultIconMapping = {\n success: /*#__PURE__*/React.createElement(SuccessOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n warning: /*#__PURE__*/React.createElement(ReportProblemOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n error: /*#__PURE__*/React.createElement(ErrorOutlineIcon, {\n fontSize: \"inherit\"\n }),\n info: /*#__PURE__*/React.createElement(InfoOutlinedIcon, {\n fontSize: \"inherit\"\n })\n};\n\nvar _ref = /*#__PURE__*/React.createElement(CloseIcon, {\n fontSize: \"small\"\n});\n\nvar Alert = /*#__PURE__*/React.forwardRef(function Alert(props, ref) {\n var action = props.action,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$closeText = props.closeText,\n closeText = _props$closeText === void 0 ? 'Close' : _props$closeText,\n color = props.color,\n icon = props.icon,\n _props$iconMapping = props.iconMapping,\n iconMapping = _props$iconMapping === void 0 ? defaultIconMapping : _props$iconMapping,\n onClose = props.onClose,\n _props$role = props.role,\n role = _props$role === void 0 ? 'alert' : _props$role,\n _props$severity = props.severity,\n severity = _props$severity === void 0 ? 'success' : _props$severity,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'standard' : _props$variant,\n other = _objectWithoutProperties(props, [\"action\", \"children\", \"classes\", \"className\", \"closeText\", \"color\", \"icon\", \"iconMapping\", \"onClose\", \"role\", \"severity\", \"variant\"]);\n\n return /*#__PURE__*/React.createElement(Paper, _extends({\n role: role,\n square: true,\n elevation: 0,\n className: clsx(classes.root, classes[\"\".concat(variant).concat(capitalize(color || severity))], className),\n ref: ref\n }, other), icon !== false ? /*#__PURE__*/React.createElement(\"div\", {\n className: classes.icon\n }, icon || iconMapping[severity] || defaultIconMapping[severity]) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.message\n }, children), action != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: classes.action\n }, action) : null, action == null && onClose ? /*#__PURE__*/React.createElement(\"div\", {\n className: classes.action\n }, /*#__PURE__*/React.createElement(IconButton, {\n size: \"small\",\n \"aria-label\": closeText,\n title: closeText,\n color: \"inherit\",\n onClick: onClose\n }, _ref)) : null);\n});\nprocess.env.NODE_ENV !== \"production\" ? Alert.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The action to display. It renders after the message, at the end of the alert.\n */\n action: PropTypes.node,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Override the default label for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/guides/localization/).\n */\n closeText: PropTypes.string,\n\n /**\n * The main color for the alert. Unless provided, the value is taken from the `severity` prop.\n */\n color: PropTypes.oneOf(['error', 'info', 'success', 'warning']),\n\n /**\n * Override the icon displayed before the children.\n * Unless provided, the icon is mapped to the value of the `severity` prop.\n */\n icon: PropTypes.node,\n\n /**\n * The component maps the `severity` prop to a range of different icons,\n * for instance success to ``.\n * If you wish to change this mapping, you can provide your own.\n * Alternatively, you can use the `icon` prop to override the icon displayed.\n */\n iconMapping: PropTypes.shape({\n error: PropTypes.node,\n info: PropTypes.node,\n success: PropTypes.node,\n warning: PropTypes.node\n }),\n\n /**\n * Callback fired when the component requests to be closed.\n * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n\n /**\n * The ARIA role attribute of the element.\n */\n role: PropTypes.string,\n\n /**\n * The severity of the alert. This defines the color and icon used.\n */\n severity: PropTypes.oneOf(['error', 'info', 'success', 'warning']),\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiAlert'\n})(Alert);", "import * as React from 'react';\nimport { createSvgIcon } from '@material-ui/core/utils';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\"\n}), 'SuccessOutlined');", "import * as React from 'react';\nimport { createSvgIcon } from '@material-ui/core/utils';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\"\n}), 'ReportProblemOutlined');", "import * as React from 'react';\nimport { createSvgIcon } from '@material-ui/core/utils';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');", "import * as React from 'react';\nimport { createSvgIcon } from '@material-ui/core/utils';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z\"\n}), 'InfoOutlined');", "import { makeStyles } from \"@material-ui/core/styles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport PhotoCameraIcon from \"@material-ui/icons/PhotoCamera\";\nimport VideocamIcon from \"@material-ui/icons/Videocam\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport clsx from \"clsx\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport parseQR from \"jsqr-es6\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useAnimationFrame } from \"../lib/useAnimationFrame\";\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\twidth: \"auto\",\n\t\t// padding: theme.spacing(2),\n\t\tdisplay: \"inline-grid\",\n\t\tgridTemplateColumns: \"1fr auto\",\n\t\tgridTemplateRows: \"auto auto\",\n\t\tgridGap: theme.spacing(1),\n\t\talignItems: \"center\",\n\t},\n\tcontainer: {\n\t\tflex: 0,\n\t\twidth: 400,\n\t\theight: 400,\n\t\tdisplay: \"grid\",\n\t\toverflow: \"hidden\",\n\t\tcursor: \"pointer\",\n\t\t\"& > *\": {\n\t\t\twidth: 400,\n\t\t\theight: 400,\n\t\t\tgridRow: 1,\n\t\t\tgridColumn: 1,\n\t\t},\n\t\t\"& img\": {\n\t\t\tmaxWidth: \"100%\",\n\t\t},\n\t},\n\thoverOK: {\n\t\tborder: `4px solid ${theme.palette.divider}`,\n\t\tborderStyle: \"dashed\",\n\t\tborderRadius: \"8px\",\n\t},\n\thoverNOK: {\n\t\tcursor: \"not-allowed\",\n\t},\n\tlabel: {\n\t\ttextAlign: \"center\",\n\t\talignSelf: \"center\",\n\t\tlineHeight: \"unset\",\n\t\theight: \"auto\",\n\t},\n}));\n\ninterface Point {\n\tx: number;\n\ty: number;\n}\n\nfunction drawCorner(\n\tctx: CanvasRenderingContext2D,\n\ta: Point,\n\tb: Point,\n\tc: Point,\n\tsize: number,\n\tcolor: string,\n) {\n\tctx.beginPath();\n\tconst _a = {\n\t\tx: a.x + (b.x - a.x) * (1 - size),\n\t\ty: a.y + (b.y - a.y) * (1 - size),\n\t};\n\tconst _c = {\n\t\tx: c.x + (b.x - c.x) * (1 - size),\n\t\ty: c.y + (b.y - c.y) * (1 - size),\n\t};\n\n\tctx.moveTo(_a.x, _a.y);\n\tctx.lineTo(b.x, b.y);\n\tctx.lineTo(_c.x, _c.y);\n\tctx.lineWidth = 4;\n\tctx.strokeStyle = color;\n\tctx.stroke();\n}\n\nexport interface QRScannerVideoProps extends QRScannerProps {\n\tdetectionAreaSize?: number;\n}\n\nexport const QRScannerVideo: React.FC = (props) => {\n\tconst { detectionAreaSize: detectionArea = 100 } = props;\n\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst [active, setActive] = useState(false);\n\tconst [failed, setFailed] = useState(false);\n\tconst video = useRef();\n\n\tconst previewCanvasRef = useRef(null);\n\tconst previewContextRef = useRef();\n\tconst detectionCanvasRef = useRef(null);\n\tconst detectionContextRef = useRef();\n\n\tconst [qr, setQr] = useState();\n\tuseEffect(() => {\n\t\tif (qr) props.onDetect(qr);\n\t}, [qr]);\n\n\tuseEffect(() => {\n\t\tif (!previewCanvasRef.current) return;\n\t\tpreviewContextRef.current =\n\t\t\tpreviewCanvasRef.current.getContext(\"2d\") ?? undefined;\n\t}, [previewCanvasRef.current]);\n\n\tuseEffect(() => {\n\t\tif (!detectionCanvasRef.current) return;\n\t\tdetectionContextRef.current =\n\t\t\tdetectionCanvasRef.current.getContext(\"2d\") ?? undefined;\n\t}, [detectionCanvasRef.current]);\n\n\tuseAnimationFrame(() => {\n\t\tif (\n\t\t\t!active ||\n\t\t\t!video.current ||\n\t\t\t!previewCanvasRef.current ||\n\t\t\t!previewContextRef.current ||\n\t\t\t!detectionCanvasRef.current ||\n\t\t\t!detectionContextRef.current\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst v = video.current;\n\t\tconst cP = previewCanvasRef.current;\n\t\tconst ctxP = previewContextRef.current;\n\t\tconst cD = detectionCanvasRef.current;\n\t\tconst ctxD = detectionContextRef.current;\n\n\t\tif (v.readyState === v.HAVE_ENOUGH_DATA) {\n\t\t\t// Crop the preview to be square\n\t\t\tconst size = Math.min(v.videoWidth, v.videoHeight);\n\t\t\tconst scale = detectionArea / size;\n\t\t\tcP.height = size;\n\t\t\tcP.width = size;\n\n\t\t\tconst [sxP, syP] = [\n\t\t\t\t(v.videoWidth - size) / 2,\n\t\t\t\t(v.videoHeight - size) / 2,\n\t\t\t];\n\t\t\tctxP.drawImage(v, sxP, syP, size, size, 0, 0, cP.width, cP.height);\n\n\t\t\t// Highlight the detection area on the preview canvas\n\t\t\tctxP.beginPath();\n\t\t\tctxP.fillStyle = \"rgba(255,255,255,0.15)\";\n\t\t\tctxP.rect(\n\t\t\t\t(size - detectionArea) / 2,\n\t\t\t\t(size - detectionArea) / 2,\n\t\t\t\tdetectionArea,\n\t\t\t\tdetectionArea,\n\t\t\t);\n\t\t\tctxP.fill();\n\n\t\t\tconst previewCorners = [\n\t\t\t\t{\n\t\t\t\t\tx: (size - detectionArea) / 2,\n\t\t\t\t\ty: (size - detectionArea) / 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: (size + detectionArea) / 2,\n\t\t\t\t\ty: (size - detectionArea) / 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: (size + detectionArea) / 2,\n\t\t\t\t\ty: (size + detectionArea) / 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: (size - detectionArea) / 2,\n\t\t\t\t\ty: (size + detectionArea) / 2,\n\t\t\t\t},\n\t\t\t];\n\t\t\tfor (let i = 0; i < previewCorners.length; i++) {\n\t\t\t\tconst b = previewCorners[i];\n\t\t\t\tconst a =\n\t\t\t\t\tpreviewCorners[\n\t\t\t\t\t\t(i - 1 + previewCorners.length) % previewCorners.length\n\t\t\t\t\t];\n\t\t\t\tconst c = previewCorners[(i + 1) % previewCorners.length];\n\t\t\t\tdrawCorner(ctxP, a, b, c, 0.2, \"rgba(255,255,255,0.5)\");\n\t\t\t}\n\n\t\t\t// Draw the detection area onto the detection canvas in large\n\t\t\tcD.height = size;\n\t\t\tcD.width = size;\n\t\t\tconst [sxD, syD] = [\n\t\t\t\t(v.videoWidth - detectionArea) / 2,\n\t\t\t\t(v.videoHeight - detectionArea) / 2,\n\t\t\t];\n\t\t\tctxD.drawImage(\n\t\t\t\tv,\n\t\t\t\tsxD,\n\t\t\t\tsyD,\n\t\t\t\tdetectionArea,\n\t\t\t\tdetectionArea,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tcD.width,\n\t\t\t\tcD.height,\n\t\t\t);\n\n\t\t\tconst imageData = ctxD.getImageData(0, 0, cD.width, cD.height);\n\t\t\tconst code = parseQR(\n\t\t\t\timageData.data,\n\t\t\t\timageData.width,\n\t\t\t\timageData.height,\n\t\t\t\t{\n\t\t\t\t\tinversionAttempts: \"dontInvert\",\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (code) {\n\t\t\t\tsetQr(code.data);\n\t\t\t\tconst corners = [\n\t\t\t\t\tcode.location.topLeftCorner,\n\t\t\t\t\tcode.location.topRightCorner,\n\t\t\t\t\tcode.location.bottomRightCorner,\n\t\t\t\t\tcode.location.bottomLeftCorner,\n\t\t\t\t].map((p) => ({\n\t\t\t\t\tx: p.x * scale + (size - detectionArea) / 2,\n\t\t\t\t\ty: p.y * scale + (size - detectionArea) / 2,\n\t\t\t\t}));\n\t\t\t\tfor (let i = 0; i < corners.length; i++) {\n\t\t\t\t\tconst b = corners[i];\n\t\t\t\t\tconst a =\n\t\t\t\t\t\tcorners[(i - 1 + corners.length) % corners.length];\n\t\t\t\t\tconst c = corners[(i + 1) % corners.length];\n\t\t\t\t\tdrawCorner(ctxP, a, b, c, 0.2, \"green\");\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetQr(undefined);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tactive,\n\t\tdrawCorner,\n\t\tvideo.current,\n\t\tpreviewCanvasRef.current,\n\t\tpreviewContextRef.current,\n\t\tdetectionCanvasRef.current,\n\t\tdetectionContextRef.current,\n\t\tdetectionArea,\n\t]);\n\n\tuseEffect(() => {\n\t\tvideo.current = document.createElement(\"video\");\n\t\tlet stream: MediaStream | undefined;\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tstream = await navigator.mediaDevices\n\t\t\t\t\t// Attempt to get the back camera on phones\n\t\t\t\t\t.getUserMedia({ video: { facingMode: \"environment\" } });\n\t\t\t} catch {\n\t\t\t\tsetFailed(true);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!video.current) return;\n\t\t\tvideo.current.srcObject = stream;\n\t\t\tvideo.current.setAttribute(\"playsinline\", \"true\"); // required to tell iOS safari we don't want fullscreen\n\t\t\tvideo.current.play();\n\t\t\tsetActive(true);\n\t\t})();\n\n\t\treturn () => {\n\t\t\tstream?.getTracks().forEach((track) => track.stop());\n\t\t\tvideo.current = undefined;\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{failed ? _(\"failed to open camera\") : _(\"opening camera...\")}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport type QRScannerImageProps = QRScannerProps;\n\nexport const QRScannerImage: React.FC = (props) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst fileInputRef = useRef(null);\n\tconst imageRef = useRef(null);\n\n\tconst handleLabelClick = useCallback(() => {\n\t\tfileInputRef.current?.click();\n\t}, [fileInputRef.current]);\n\n\tconst [fileURL, setFileURL] = useState();\n\tconst handleFileChange = useCallback(\n\t\t(e: React.ChangeEvent) => {\n\t\t\tconst file = e.target.files?.[0];\n\t\t\tif (!file) return;\n\t\t\tsetFileURL(URL.createObjectURL(file));\n\t\t},\n\t\t[setFileURL],\n\t);\n\tconst [failed, setFailed] = useState(false);\n\n\tconst [dropState, setDropState] = useState<\"idle\" | \"ok\" | \"nok\">(\"idle\");\n\n\tconst handleDragOver = useCallback(\n\t\t(e: React.DragEvent) => {\n\t\t\te.preventDefault();\n\n\t\t\tif (e.dataTransfer.items?.length === 1) {\n\t\t\t\tconst item = e.dataTransfer.items[0];\n\t\t\t\tif (item.kind === \"file\" && item.type.startsWith(\"image/\")) {\n\t\t\t\t\te.dataTransfer.dropEffect = \"copy\";\n\t\t\t\t\tsetDropState(\"ok\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\te.dataTransfer.dropEffect = \"none\";\n\t\t\tsetDropState(\"nok\");\n\t\t},\n\t\t[setDropState],\n\t);\n\tconst handleDragLeave = useCallback(\n\t\t(e: React.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tsetDropState(\"idle\");\n\t\t},\n\t\t[setDropState],\n\t);\n\tconst handleDrop = useCallback(\n\t\t(e: React.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tif (dropState !== \"ok\") return;\n\t\t\tsetDropState(\"idle\");\n\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onloadend = () => {\n\t\t\t\tsetFileURL(reader.result as string);\n\t\t\t};\n\t\t\treader.readAsDataURL(e.dataTransfer.files![0]);\n\t\t},\n\t\t[dropState, imageRef.current],\n\t);\n\n\tconst previewCanvasRef = useRef(null);\n\tconst previewContextRef = useRef();\n\tconst detectionCanvasRef = useRef(null);\n\tconst detectionContextRef = useRef();\n\n\tconst [qr, setQr] = useState();\n\tuseEffect(() => {\n\t\tif (qr) props.onDetect(qr);\n\t}, [qr]);\n\n\tuseEffect(() => {\n\t\tif (!previewCanvasRef.current) return;\n\t\tpreviewContextRef.current =\n\t\t\tpreviewCanvasRef.current.getContext(\"2d\") ?? undefined;\n\t}, [previewCanvasRef.current]);\n\n\tuseEffect(() => {\n\t\tif (!detectionCanvasRef.current) return;\n\t\tdetectionContextRef.current =\n\t\t\tdetectionCanvasRef.current.getContext(\"2d\") ?? undefined;\n\t}, [detectionCanvasRef.current]);\n\n\tconst handleImageLoad = useCallback(() => {\n\t\tif (\n\t\t\t!imageRef.current ||\n\t\t\t!previewCanvasRef.current ||\n\t\t\t!previewContextRef.current ||\n\t\t\t!detectionCanvasRef.current ||\n\t\t\t!detectionContextRef.current\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetFailed(false);\n\n\t\tconst cP = previewCanvasRef.current;\n\t\tconst ctxP = previewContextRef.current;\n\t\tconst cD = detectionCanvasRef.current;\n\t\tconst ctxD = detectionContextRef.current;\n\n\t\t// Draw preview\n\t\tcP.width = imageRef.current.width;\n\t\tcP.height = imageRef.current.height;\n\t\tctxP.drawImage(imageRef.current, 0, 0, cP.width, cP.height);\n\n\t\t// Draw detection canvas\n\t\tcD.width = cP.width * 2;\n\t\tcD.height = cP.height * 2;\n\t\tctxD.drawImage(imageRef.current, 0, 0, cD.width, cD.height);\n\n\t\tconst scale = cP.width / cD.width;\n\n\t\tconst imageData = ctxD.getImageData(0, 0, cD.width, cD.height);\n\t\tsetTimeout(() => {\n\t\t\tconst code = parseQR(\n\t\t\t\timageData.data,\n\t\t\t\timageData.width,\n\t\t\t\timageData.height,\n\t\t\t\t{\n\t\t\t\t\tinversionAttempts: \"dontInvert\",\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (code) {\n\t\t\t\tsetQr(code.data);\n\t\t\t\tconst corners = [\n\t\t\t\t\tcode.location.topLeftCorner,\n\t\t\t\t\tcode.location.topRightCorner,\n\t\t\t\t\tcode.location.bottomRightCorner,\n\t\t\t\t\tcode.location.bottomLeftCorner,\n\t\t\t\t].map((p) => ({\n\t\t\t\t\tx: p.x * scale,\n\t\t\t\t\ty: p.y * scale,\n\t\t\t\t}));\n\t\t\t\tfor (let i = 0; i < corners.length; i++) {\n\t\t\t\t\tconst b = corners[i];\n\t\t\t\t\tconst a =\n\t\t\t\t\t\tcorners[(i - 1 + corners.length) % corners.length];\n\t\t\t\t\tconst c = corners[(i + 1) % corners.length];\n\t\t\t\t\tdrawCorner(ctxP, a, b, c, 0.2, \"green\");\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetQr(undefined);\n\t\t\t}\n\t\t}, 0);\n\t}, [\n\t\tpreviewCanvasRef.current,\n\t\tpreviewContextRef.current,\n\t\timageRef.current,\n\t\tsetFailed,\n\t]);\n\n\tconst handleImageError = useCallback(() => {\n\t\tsetFailed(true);\n\t}, [setFailed]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{failed ? (\n\t\t\t\t\t_(\"Failed to open image file\")\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{_(\"Click here to select image with QR code\")}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{_(\"Or drag an image file here\")}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\t\t\t{fileURL && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport interface QRScannerProps {\n\tonDetect: (code: string) => void;\n}\n\nexport const QRScanner: React.FC = (props) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst [mode, setMode] = useState<\"image\" | \"video\">(\"image\");\n\n\tconst handleChange = (\n\t\tevent: React.MouseEvent,\n\t\tnewMode: \"image\" | \"video\" | null,\n\t) => {\n\t\tif (newMode) setMode(newMode);\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{_(\"Select QR code source\")}:\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t
    \n\t\t\t\t{mode === \"video\" ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\t\t
    \n\t);\n};\n", "import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// @inheritedComponent ButtonBase\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { alpha, withStyles } from '@material-ui/core/styles';\nimport ButtonBase from '@material-ui/core/ButtonBase';\nimport { capitalize } from '@material-ui/core/utils';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.button, {\n boxSizing: 'border-box',\n borderRadius: theme.shape.borderRadius,\n padding: 11,\n border: \"1px solid \".concat(alpha(theme.palette.action.active, 0.12)),\n color: alpha(theme.palette.action.active, 0.38),\n '&$selected': {\n color: theme.palette.action.active,\n backgroundColor: alpha(theme.palette.action.active, 0.12),\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, 0.15)\n },\n '& + &': {\n borderLeft: 0,\n marginLeft: 0\n }\n },\n '&$disabled': {\n color: alpha(theme.palette.action.disabled, 0.12)\n },\n '&:hover': {\n textDecoration: 'none',\n // Reset on mouse devices\n backgroundColor: alpha(theme.palette.text.primary, 0.05),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n },\n '&$disabled': {\n backgroundColor: 'transparent'\n }\n }\n }),\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Pseudo-class applied to the root element if `selected={true}`. */\n selected: {},\n\n /* Styles applied to the `label` wrapper element. */\n label: {\n width: '100%',\n // Ensure the correct width for iOS Safari\n display: 'inherit',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n },\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: 7,\n fontSize: theme.typography.pxToRem(13)\n },\n\n /* Styles applied to the root element if `size=\"large\"`. */\n sizeLarge: {\n padding: 15,\n fontSize: theme.typography.pxToRem(15)\n }\n };\n};\nvar ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n onChange = props.onChange,\n onClick = props.onClick,\n selected = props.selected,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n value = props.value,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"disabled\", \"disableFocusRipple\", \"onChange\", \"onClick\", \"selected\", \"size\", \"value\"]);\n\n var handleChange = function handleChange(event) {\n if (onClick) {\n onClick(event, value);\n\n if (event.isDefaultPrevented()) {\n return;\n }\n }\n\n if (onChange) {\n onChange(event, value);\n }\n };\n\n return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n className: clsx(classes.root, className, disabled && classes.disabled, selected && classes.selected, size !== 'medium' && classes[\"size\".concat(capitalize(size))]),\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n ref: ref,\n onClick: handleChange,\n onChange: onChange,\n value: value,\n \"aria-pressed\": selected\n }, other), /*#__PURE__*/React.createElement(\"span\", {\n className: classes.label\n }, children));\n});\nprocess.env.NODE_ENV !== \"production\" ? ToggleButton.propTypes = {\n /**\n * The content of the button.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n\n /**\n * If `true`, the button will be rendered in an active state.\n */\n selected: PropTypes.bool,\n\n /**\n * @ignore\n */\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * The value to associate with the button when selected in a\n * ToggleButtonGroup.\n */\n value: PropTypes.any.isRequired\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiToggleButton'\n})(ToggleButton);", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport isValueSelected from './isValueSelected';\nimport { withStyles } from '@material-ui/core/styles';\nimport { capitalize } from '@material-ui/core/utils';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n borderRadius: theme.shape.borderRadius\n },\n\n /* Styles applied to the root element if `orientation=\"vertical\"`. */\n vertical: {\n flexDirection: 'column'\n },\n\n /* Styles applied to the children. */\n grouped: {},\n\n /* Styles applied to the children if `orientation=\"horizontal\"`. */\n groupedHorizontal: {\n '&:not(:first-child)': {\n marginLeft: -1,\n borderLeft: '1px solid transparent',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n },\n '&:not(:last-child)': {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n }\n },\n\n /* Styles applied to the children if `orientation=\"vertical\"`. */\n groupedVertical: {\n '&:not(:first-child)': {\n marginTop: -1,\n borderTop: '1px solid transparent',\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0\n },\n '&:not(:last-child)': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n }\n }\n };\n};\nvar ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButton(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$exclusive = props.exclusive,\n exclusive = _props$exclusive === void 0 ? false : _props$exclusive,\n onChange = props.onChange,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n value = props.value,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"exclusive\", \"onChange\", \"orientation\", \"size\", \"value\"]);\n\n var handleChange = function handleChange(event, buttonValue) {\n if (!onChange) {\n return;\n }\n\n var index = value && value.indexOf(buttonValue);\n var newValue;\n\n if (value && index >= 0) {\n newValue = value.slice();\n newValue.splice(index, 1);\n } else {\n newValue = value ? value.concat(buttonValue) : [buttonValue];\n }\n\n onChange(event, newValue);\n };\n\n var handleExclusiveChange = function handleExclusiveChange(event, buttonValue) {\n if (!onChange) {\n return;\n }\n\n onChange(event, value === buttonValue ? null : buttonValue);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n role: \"group\",\n className: clsx(classes.root, className, orientation === 'vertical' && classes.vertical),\n ref: ref\n }, other), React.Children.map(children, function (child) {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"Material-UI: The ToggleButtonGroup component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n className: clsx(classes.grouped, classes[\"grouped\".concat(capitalize(orientation))], child.props.className),\n onChange: exclusive ? handleExclusiveChange : handleChange,\n selected: child.props.selected === undefined ? isValueSelected(child.props.value, value) : child.props.selected,\n size: child.props.size || size\n });\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ToggleButtonGroup.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the button.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, only allow one of the child ToggleButton values to be selected.\n */\n exclusive: PropTypes.bool,\n\n /**\n * Callback fired when the value changes.\n *\n * @param {object} event The event source of the callback.\n * @param {any} value of the selected buttons. When `exclusive` is true\n * this is a single value; when false an array of selected values. If no value\n * is selected and `exclusive` is true the value is null; when false an empty array.\n */\n onChange: PropTypes.func,\n\n /**\n * The group orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\n /**\n * The size of the buttons.\n */\n size: PropTypes.oneOf(['large', 'medium', 'small']),\n\n /**\n * The currently selected value within the group or an array of selected\n * values when `exclusive` is false.\n *\n * The value must have reference equality with the option in order to be selected.\n */\n value: PropTypes.any\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiToggleButtonGroup'\n})(ToggleButtonGroup);", "// Determine if the toggle button value matches, or is contained in, the\n// candidate group value.\nexport default function isValueSelected(value, candidate) {\n if (candidate === undefined || value === undefined) {\n return false;\n }\n\n if (Array.isArray(candidate)) {\n return candidate.indexOf(value) >= 0;\n }\n\n return value === candidate;\n}", "export class BitMatrix {\n public static createEmpty(width: number, height: number) {\n return new BitMatrix(new Uint8ClampedArray(width * height), width);\n }\n\n public width: number;\n public height: number;\n private data: Uint8ClampedArray;\n\n constructor(data: Uint8ClampedArray, width: number) {\n this.width = width;\n this.height = data.length / width;\n this.data = data;\n }\n\n public get(x: number, y: number): boolean {\n if (x < 0 || x >= this.width || y < 0 || y >= this.height) {\n return false;\n }\n return !!this.data[y * this.width + x];\n }\n\n public set(x: number, y: number, v: boolean) {\n this.data[y * this.width + x] = v ? 1 : 0;\n }\n\n public setRegion(left: number, top: number, width: number, height: number, v: boolean) {\n for (let y = top; y < top + height; y++) {\n for (let x = left; x < left + width; x++) {\n this.set(x, y, !!v);\n }\n }\n }\n}\n", "import {BitMatrix} from \"../BitMatrix\";\nimport {GreyscaleWeights} from \"../index\";\n\nconst REGION_SIZE = 8;\nconst MIN_DYNAMIC_RANGE = 24;\n\nfunction numBetween(value: number, min: number, max: number): number {\n return value < min ? min : value > max ? max : value;\n}\n\n// Like BitMatrix but accepts arbitry Uint8 values\nclass Matrix {\n private data: Uint8ClampedArray;\n private width: number;\n constructor(width: number, height: number, buffer?: Uint8ClampedArray) {\n this.width = width;\n const bufferSize = width * height;\n if (buffer && buffer.length !== bufferSize) {\n throw new Error(\"Wrong buffer size\");\n }\n this.data = buffer || new Uint8ClampedArray(bufferSize);\n }\n public get(x: number, y: number) {\n return this.data[y * this.width + x];\n }\n public set(x: number, y: number, value: number) {\n this.data[y * this.width + x] = value;\n }\n}\n\nexport function binarize(data: Uint8ClampedArray, width: number, height: number, returnInverted: boolean,\n greyscaleWeights: GreyscaleWeights, canOverwriteImage: boolean) {\n const pixelCount = width * height;\n if (data.length !== pixelCount * 4) {\n throw new Error(\"Malformed data passed to binarizer.\");\n }\n // assign the greyscale and binary image within the rgba buffer as the rgba image will not be needed after conversion\n let bufferOffset = 0;\n // Convert image to greyscale\n let greyscaleBuffer: Uint8ClampedArray;\n if (canOverwriteImage) {\n greyscaleBuffer = new Uint8ClampedArray(data.buffer, bufferOffset, pixelCount);\n bufferOffset += pixelCount;\n }\n const greyscalePixels = new Matrix(width, height, greyscaleBuffer);\n if (greyscaleWeights.useIntegerApproximation) {\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const pixelPosition = (y * width + x) * 4;\n const r = data[pixelPosition];\n const g = data[pixelPosition + 1];\n const b = data[pixelPosition + 2];\n greyscalePixels.set(x, y,\n // tslint:disable-next-line no-bitwise\n (greyscaleWeights.red * r + greyscaleWeights.green * g + greyscaleWeights.blue * b + 128) >> 8);\n }\n }\n } else {\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const pixelPosition = (y * width + x) * 4;\n const r = data[pixelPosition];\n const g = data[pixelPosition + 1];\n const b = data[pixelPosition + 2];\n greyscalePixels.set(x, y,\n greyscaleWeights.red * r + greyscaleWeights.green * g + greyscaleWeights.blue * b);\n }\n }\n }\n const horizontalRegionCount = Math.ceil(width / REGION_SIZE);\n const verticalRegionCount = Math.ceil(height / REGION_SIZE);\n const blackPointsCount = horizontalRegionCount * verticalRegionCount;\n\n let blackPointsBuffer: Uint8ClampedArray;\n if (canOverwriteImage) {\n blackPointsBuffer = new Uint8ClampedArray(data.buffer, bufferOffset, blackPointsCount);\n bufferOffset += blackPointsCount;\n }\n const blackPoints = new Matrix(horizontalRegionCount, verticalRegionCount, blackPointsBuffer);\n for (let verticalRegion = 0; verticalRegion < verticalRegionCount; verticalRegion++) {\n for (let hortizontalRegion = 0; hortizontalRegion < horizontalRegionCount; hortizontalRegion++) {\n let min = Infinity;\n let max = 0;\n for (let y = 0; y < REGION_SIZE; y++) {\n for (let x = 0; x < REGION_SIZE; x++) {\n const pixelLumosity =\n greyscalePixels.get(hortizontalRegion * REGION_SIZE + x, verticalRegion * REGION_SIZE + y);\n min = Math.min(min, pixelLumosity);\n max = Math.max(max, pixelLumosity);\n }\n }\n // We could also compute the real average of all pixels but following the assumption that the qr code consists\n // of bright and dark pixels and essentially not much in between, by (min + max)/2 we make the cut really between\n // those two classes. If using the average over all pixel in a block of mostly bright pixels and few dark pixels,\n // the avg would tend to the bright side and darker bright pixels could be interpreted as dark.\n let average = (min + max) / 2;\n // Small bias towards black by moving the threshold up. We do this, as in the finder patterns white holes tend\n // to appear which makes them undetectable.\n const blackBias = 1.11;\n average = Math.min(255, average * blackBias);\n if (max - min <= MIN_DYNAMIC_RANGE) {\n // If variation within the block is low, assume this is a block with only light or only\n // dark pixels. In that case we do not want to use the average, as it would divide this\n // low contrast area into black and white pixels, essentially creating data out of noise.\n //\n // Default the blackpoint for these blocks to be half the min - effectively white them out\n average = min / 2;\n\n if (verticalRegion > 0 && hortizontalRegion > 0) {\n // Correct the \"white background\" assumption for blocks that have neighbors by comparing\n // the pixels in this block to the previously calculated black points. This is based on\n // the fact that dark barcode symbology is always surrounded by some amount of light\n // background for which reasonable black point estimates were made. The bp estimated at\n // the boundaries is used for the interior.\n\n // The (min < bp) is arbitrary but works better than other heuristics that were tried.\n const averageNeighborBlackPoint = (\n blackPoints.get(hortizontalRegion, verticalRegion - 1) +\n (2 * blackPoints.get(hortizontalRegion - 1, verticalRegion)) +\n blackPoints.get(hortizontalRegion - 1, verticalRegion - 1)\n ) / 4;\n if (min < averageNeighborBlackPoint) {\n average = averageNeighborBlackPoint; // no need to apply black bias as already applied to neighbors\n }\n }\n }\n blackPoints.set(hortizontalRegion, verticalRegion, average);\n }\n }\n\n let binarized: BitMatrix;\n if (canOverwriteImage) {\n const binarizedBuffer = new Uint8ClampedArray(data.buffer, bufferOffset, pixelCount);\n bufferOffset += pixelCount;\n binarized = new BitMatrix(binarizedBuffer, width);\n } else {\n binarized = BitMatrix.createEmpty(width, height);\n }\n\n let inverted: BitMatrix = null;\n if (returnInverted) {\n if (canOverwriteImage) {\n const invertedBuffer = new Uint8ClampedArray(data.buffer, bufferOffset, pixelCount);\n inverted = new BitMatrix(invertedBuffer, width);\n } else {\n inverted = BitMatrix.createEmpty(width, height);\n }\n }\n\n for (let verticalRegion = 0; verticalRegion < verticalRegionCount; verticalRegion++) {\n for (let hortizontalRegion = 0; hortizontalRegion < horizontalRegionCount; hortizontalRegion++) {\n const left = numBetween(hortizontalRegion, 2, horizontalRegionCount - 3);\n const top = numBetween(verticalRegion, 2, verticalRegionCount - 3);\n let sum = 0;\n for (let xRegion = -2; xRegion <= 2; xRegion++) {\n for (let yRegion = -2; yRegion <= 2; yRegion++) {\n sum += blackPoints.get(left + xRegion, top + yRegion);\n }\n }\n const threshold = sum / 25;\n for (let xRegion = 0; xRegion < REGION_SIZE; xRegion++) {\n for (let yRegion = 0; yRegion < REGION_SIZE; yRegion++) {\n const x = hortizontalRegion * REGION_SIZE + xRegion;\n const y = verticalRegion * REGION_SIZE + yRegion;\n const lum = greyscalePixels.get(x, y);\n binarized.set(x, y, lum <= threshold);\n if (returnInverted) {\n inverted.set(x, y, !(lum <= threshold));\n }\n }\n }\n }\n }\n if (returnInverted) {\n return { binarized, inverted };\n }\n return { binarized };\n}\n", "// tslint:disable:no-bitwise\n\nexport class BitStream {\n private bytes: Uint8ClampedArray;\n private byteOffset: number = 0;\n private bitOffset: number = 0;\n\n constructor(bytes: Uint8ClampedArray) {\n this.bytes = bytes;\n }\n\n public readBits(numBits: number): number {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new Error(\"Cannot read \" + numBits.toString() + \" bits\");\n }\n\n let result = 0;\n // First, read remainder from current byte\n if (this.bitOffset > 0) {\n const bitsLeft = 8 - this.bitOffset;\n const toRead = numBits < bitsLeft ? numBits : bitsLeft;\n const bitsToNotRead = bitsLeft - toRead;\n const mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n result = (this.bytes[this.byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n this.bitOffset += toRead;\n if (this.bitOffset === 8) {\n this.bitOffset = 0;\n this.byteOffset++;\n }\n }\n\n // Next read whole bytes\n if (numBits > 0) {\n while (numBits >= 8) {\n result = (result << 8) | (this.bytes[this.byteOffset] & 0xFF);\n this.byteOffset++;\n numBits -= 8;\n }\n\n // Finally read a partial byte\n if (numBits > 0) {\n const bitsToNotRead = 8 - numBits;\n const mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n result = (result << numBits) | ((this.bytes[this.byteOffset] & mask) >> bitsToNotRead);\n this.bitOffset += numBits;\n }\n }\n return result;\n }\n\n public available(): number {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n }\n}\n", "// tslint:disable:no-bitwise\nimport { BitStream } from \"./BitStream\";\n\nexport interface Chunk {\n type: Mode;\n text: string;\n}\n\nexport interface ByteChunk {\n type: Mode.Byte | Mode.Kanji;\n bytes: number[];\n}\n\nexport interface ECIChunk {\n type: Mode.ECI;\n assignmentNumber: number;\n}\n\nexport interface StructuredAppend {\n type: Mode.StructuredAppend;\n currentSequence: number;\n totalSequence: number;\n parity: number;\n}\n\nexport type Chunks = Array;\n\nexport interface DecodedQR {\n text: string;\n bytes: number[];\n chunks: Chunks;\n version: number;\n}\n\nexport enum Mode {\n Numeric = \"numeric\",\n Alphanumeric = \"alphanumeric\",\n Byte = \"byte\",\n Kanji = \"kanji\",\n ECI = \"eci\",\n StructuredAppend = \"structuredappend\",\n}\n\nenum ModeByte {\n Terminator = 0x0,\n Numeric = 0x1,\n Alphanumeric = 0x2,\n Byte = 0x4,\n Kanji = 0x8,\n ECI = 0x7,\n StructuredAppend = 0x3,\n // FNC1FirstPosition = 0x5,\n // FNC1SecondPosition = 0x9,\n}\n\nfunction decodeNumeric(stream: BitStream, size: number) {\n const bytes: number[] = [];\n let text = \"\";\n\n const characterCountSize = [10, 12, 14][size];\n let length = stream.readBits(characterCountSize);\n // Read digits in groups of 3\n while (length >= 3) {\n const num = stream.readBits(10);\n if (num >= 1000) {\n throw new Error(\"Invalid numeric value above 999\");\n }\n\n const a = Math.floor(num / 100);\n const b = Math.floor(num / 10) % 10;\n const c = num % 10;\n\n bytes.push(48 + a, 48 + b, 48 + c);\n text += a.toString() + b.toString() + c.toString();\n length -= 3;\n }\n\n // If the number of digits aren't a multiple of 3, the remaining digits are special cased.\n if (length === 2) {\n const num = stream.readBits(7);\n if (num >= 100) {\n throw new Error(\"Invalid numeric value above 99\");\n }\n\n const a = Math.floor(num / 10);\n const b = num % 10;\n\n bytes.push(48 + a, 48 + b);\n text += a.toString() + b.toString();\n } else if (length === 1) {\n const num = stream.readBits(4);\n if (num >= 10) {\n throw new Error(\"Invalid numeric value above 9\");\n }\n\n bytes.push(48 + num);\n text += num.toString();\n }\n\n return { bytes, text };\n}\n\nconst AlphanumericCharacterCodes = [\n \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\",\n \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\",\n \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\",\n \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\",\n \" \", \"$\", \"%\", \"*\", \"+\", \"-\", \".\", \"/\", \":\",\n];\n\nfunction decodeAlphanumeric(stream: BitStream, size: number) {\n const bytes: number[] = [];\n let text = \"\";\n\n const characterCountSize = [9, 11, 13][size];\n let length = stream.readBits(characterCountSize);\n while (length >= 2) {\n const v = stream.readBits(11);\n\n const a = Math.floor(v / 45);\n const b = v % 45;\n\n bytes.push(AlphanumericCharacterCodes[a].charCodeAt(0), AlphanumericCharacterCodes[b].charCodeAt(0));\n text += AlphanumericCharacterCodes[a] + AlphanumericCharacterCodes[b];\n length -= 2;\n }\n\n if (length === 1) {\n const a = stream.readBits(6);\n bytes.push(AlphanumericCharacterCodes[a].charCodeAt(0));\n text += AlphanumericCharacterCodes[a];\n }\n\n return { bytes, text };\n}\n\nfunction decodeByte(stream: BitStream, size: number) {\n const bytes: number[] = [];\n let text = \"\";\n\n const characterCountSize = [8, 16, 16][size];\n const length = stream.readBits(characterCountSize);\n for (let i = 0; i < length; i++) {\n const b = stream.readBits(8);\n bytes.push(b);\n }\n try {\n text += decodeURIComponent(bytes.map(b => `%${(\"0\" + b.toString(16)).substr(-2)}`).join(\"\"));\n } catch {\n // failed to decode\n }\n\n return { bytes, text };\n}\n\nfunction decodeKanji(stream: BitStream, size: number) {\n const bytes: number[] = [];\n\n const characterCountSize = [8, 10, 12][size];\n const length = stream.readBits(characterCountSize);\n for (let i = 0; i < length; i++) {\n const k = stream.readBits(13);\n\n let c = (Math.floor(k / 0xC0) << 8) | (k % 0xC0);\n if (c < 0x1F00) {\n c += 0x8140;\n } else {\n c += 0xC140;\n }\n\n bytes.push(c >> 8, c & 0xFF);\n }\n\n const text = new TextDecoder(\"shift-jis\").decode(Uint8Array.from(bytes));\n return { bytes, text };\n}\n\nexport function decode(data: Uint8ClampedArray, version: number): DecodedQR {\n const stream = new BitStream(data);\n\n // There are 3 'sizes' based on the version. 1-9 is small (0), 10-26 is medium (1) and 27-40 is large (2).\n const size = version <= 9 ? 0 : version <= 26 ? 1 : 2;\n\n const result: DecodedQR = {\n text: \"\",\n bytes: [],\n chunks: [],\n version,\n };\n\n while (stream.available() >= 4) {\n const mode = stream.readBits(4);\n if (mode === ModeByte.Terminator) {\n return result;\n } else if (mode === ModeByte.ECI) {\n if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(7),\n });\n } else if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(14),\n });\n } else if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(21),\n });\n } else {\n // ECI data seems corrupted\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: -1,\n });\n }\n } else if (mode === ModeByte.Numeric) {\n const numericResult = decodeNumeric(stream, size);\n result.text += numericResult.text;\n result.bytes.push(...numericResult.bytes);\n result.chunks.push({\n type: Mode.Numeric,\n text: numericResult.text,\n });\n } else if (mode === ModeByte.Alphanumeric) {\n const alphanumericResult = decodeAlphanumeric(stream, size);\n result.text += alphanumericResult.text;\n result.bytes.push(...alphanumericResult.bytes);\n result.chunks.push({\n type: Mode.Alphanumeric,\n text: alphanumericResult.text,\n });\n } else if (mode === ModeByte.Byte) {\n const byteResult = decodeByte(stream, size);\n result.text += byteResult.text;\n result.bytes.push(...byteResult.bytes);\n result.chunks.push({\n type: Mode.Byte,\n bytes: byteResult.bytes,\n text: byteResult.text,\n });\n } else if (mode === ModeByte.Kanji) {\n const kanjiResult = decodeKanji(stream, size);\n result.text += kanjiResult.text;\n result.bytes.push(...kanjiResult.bytes);\n result.chunks.push({\n type: Mode.Kanji,\n bytes: kanjiResult.bytes,\n text: kanjiResult.text,\n });\n } else if (mode === ModeByte.StructuredAppend) {\n result.chunks.push({\n type: Mode.StructuredAppend,\n currentSequence: stream.readBits(4),\n totalSequence: stream.readBits(4),\n parity: stream.readBits(8),\n });\n }\n }\n\n // If there is no data left, or the remaining bits are all 0, then that counts as a termination marker\n if (stream.available() === 0 || stream.readBits(stream.available()) === 0) {\n return result;\n }\n}\n", "import GenericGF, { addOrSubtractGF } from \"./GenericGF\";\n\nexport default class GenericGFPoly {\n private field: GenericGF;\n private coefficients: Uint8ClampedArray;\n\n constructor(field: GenericGF, coefficients: Uint8ClampedArray) {\n if (coefficients.length === 0) {\n throw new Error(\"No coefficients.\");\n }\n this.field = field;\n const coefficientsLength = coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n let firstNonZero = 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = field.zero.coefficients;\n } else {\n this.coefficients = new Uint8ClampedArray(coefficientsLength - firstNonZero);\n for (let i = 0; i < this.coefficients.length; i++) {\n this.coefficients[i] = coefficients[firstNonZero + i];\n }\n }\n } else {\n this.coefficients = coefficients;\n }\n }\n\n public degree() {\n return this.coefficients.length - 1;\n }\n\n public isZero() {\n return this.coefficients[0] === 0;\n }\n\n public getCoefficient(degree: number) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n }\n\n public addOrSubtract(other: GenericGFPoly) {\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n\n let smallerCoefficients = this.coefficients;\n let largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n [smallerCoefficients, largerCoefficients] = [largerCoefficients, smallerCoefficients];\n }\n const sumDiff = new Uint8ClampedArray(largerCoefficients.length);\n const lengthDiff = largerCoefficients.length - smallerCoefficients.length;\n for (let i = 0; i < lengthDiff; i++) {\n sumDiff[i] = largerCoefficients[i];\n }\n\n for (let i = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = addOrSubtractGF(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n\n return new GenericGFPoly(this.field, sumDiff);\n }\n\n public multiply(scalar: number) {\n if (scalar === 0) {\n return this.field.zero;\n }\n if (scalar === 1) {\n return this;\n }\n const size = this.coefficients.length;\n const product = new Uint8ClampedArray(size);\n for (let i = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], scalar);\n }\n\n return new GenericGFPoly(this.field, product);\n }\n\n public multiplyPoly(other: GenericGFPoly): GenericGFPoly {\n if (this.isZero() || other.isZero()) {\n return this.field.zero;\n }\n const aCoefficients = this.coefficients;\n const aLength = aCoefficients.length;\n const bCoefficients = other.coefficients;\n const bLength = bCoefficients.length;\n const product = new Uint8ClampedArray(aLength + bLength - 1);\n for (let i = 0; i < aLength; i++) {\n const aCoeff = aCoefficients[i];\n for (let j = 0; j < bLength; j++) {\n product[i + j] = addOrSubtractGF(product[i + j],\n this.field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new GenericGFPoly(this.field, product);\n }\n\n public multiplyByMonomial(degree: number, coefficient: number) {\n if (degree < 0) {\n throw new Error(\"Invalid degree less than 0\");\n }\n if (coefficient === 0) {\n return this.field.zero;\n }\n const size = this.coefficients.length;\n const product = new Uint8ClampedArray(size + degree);\n for (let i = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], coefficient);\n }\n return new GenericGFPoly(this.field, product);\n }\n\n public evaluateAt(a: number) {\n let result = 0;\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n const size = this.coefficients.length;\n if (a === 1) {\n // Just the sum of the coefficients\n this.coefficients.forEach((coefficient) => {\n result = addOrSubtractGF(result, coefficient);\n });\n return result;\n }\n result = this.coefficients[0];\n for (let i = 1; i < size; i++) {\n result = addOrSubtractGF(this.field.multiply(a, result), this.coefficients[i]);\n }\n return result;\n }\n}\n", "import GenericGFPoly from \"./GenericGFPoly\";\n\nexport function addOrSubtractGF(a: number, b: number) {\n return a ^ b; // tslint:disable-line:no-bitwise\n}\n\nexport default class GenericGF {\n public primitive: number;\n public size: number;\n public generatorBase: number;\n public zero: GenericGFPoly;\n public one: GenericGFPoly;\n\n private expTable: number[];\n private logTable: number[];\n\n constructor(primitive: number, size: number, genBase: number) {\n this.primitive = primitive;\n this.size = size;\n this.generatorBase = genBase;\n this.expTable = new Array(this.size);\n this.logTable = new Array(this.size);\n\n let x = 1;\n for (let i = 0; i < this.size; i++) {\n this.expTable[i] = x;\n x = x * 2;\n if (x >= this.size) {\n x = (x ^ this.primitive) & (this.size - 1); // tslint:disable-line:no-bitwise\n }\n }\n\n for (let i = 0; i < this.size - 1; i++) {\n this.logTable[this.expTable[i]] = i;\n }\n this.zero = new GenericGFPoly(this, Uint8ClampedArray.from([0]));\n this.one = new GenericGFPoly(this, Uint8ClampedArray.from([1]));\n }\n\n public multiply(a: number, b: number) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.size - 1)];\n }\n\n public inverse(a: number) {\n if (a === 0) {\n throw new Error(\"Can't invert 0\");\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n }\n\n public buildMonomial(degree: number, coefficient: number): GenericGFPoly {\n if (degree < 0) {\n throw new Error(\"Invalid monomial degree less than 0\");\n }\n if (coefficient === 0) {\n return this.zero;\n }\n const coefficients = new Uint8ClampedArray(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly(this, coefficients);\n }\n\n public log(a: number) {\n if (a === 0) {\n throw new Error(\"Can't take log(0)\");\n }\n return this.logTable[a];\n }\n\n public exp(a: number) {\n return this.expTable[a];\n }\n}\n", "import GenericGF, { addOrSubtractGF } from \"./GenericGF\";\nimport GenericGFPoly from \"./GenericGFPoly\";\n\nfunction runEuclideanAlgorithm(field: GenericGF, a: GenericGFPoly, b: GenericGFPoly, R: number): GenericGFPoly[] {\n // Assume a's degree is >= b's\n if (a.degree() < b.degree()) {\n [a, b] = [b, a];\n }\n\n let rLast = a;\n let r = b;\n let tLast = field.zero;\n let t = field.one;\n\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.degree() >= R / 2) {\n const rLastLast = rLast;\n const tLastLast = tLast;\n rLast = r;\n tLast = t;\n\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Euclidean algorithm already terminated?\n return null;\n }\n r = rLastLast;\n let q = field.zero;\n const denominatorLeadingTerm = rLast.getCoefficient(rLast.degree());\n const dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.degree() >= rLast.degree() && !r.isZero()) {\n const degreeDiff = r.degree() - rLast.degree();\n const scale = field.multiply(r.getCoefficient(r.degree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n\n t = q.multiplyPoly(tLast).addOrSubtract(tLastLast);\n\n if (r.degree() >= rLast.degree()) {\n return null;\n }\n }\n\n const sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n return null;\n }\n\n const inverse = field.inverse(sigmaTildeAtZero);\n return [t.multiply(inverse), r.multiply(inverse)];\n}\n\nfunction findErrorLocations(field: GenericGF, errorLocator: GenericGFPoly): number[] {\n // This is a direct application of Chien's search\n const numErrors = errorLocator.degree();\n if (numErrors === 1) {\n return [errorLocator.getCoefficient(1)];\n }\n const result: number[] = new Array(numErrors);\n let errorCount = 0;\n for (let i = 1; i < field.size && errorCount < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[errorCount] = field.inverse(i);\n errorCount++;\n }\n }\n if (errorCount !== numErrors) {\n return null;\n }\n return result;\n}\n\nfunction findErrorMagnitudes(field: GenericGF, errorEvaluator: GenericGFPoly, errorLocations: number[]): number[] {\n // This is directly applying Forney's Formula\n const s = errorLocations.length;\n const result: number[] = new Array(s);\n for (let i = 0; i < s; i++) {\n const xiInverse = field.inverse(errorLocations[i]);\n let denominator = 1;\n for (let j = 0; j < s; j++) {\n if (i !== j) {\n denominator = field.multiply(denominator, addOrSubtractGF(1, field.multiply(errorLocations[j], xiInverse)));\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse), field.inverse(denominator));\n if (field.generatorBase !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n}\n\nexport function decode(bytes: number[], twoS: number) {\n const outputBytes = new Uint8ClampedArray(bytes.length);\n outputBytes.set(bytes);\n\n const field = new GenericGF(0x011D, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n const poly = new GenericGFPoly(field, outputBytes);\n\n const syndromeCoefficients = new Uint8ClampedArray(twoS);\n let error = false;\n for (let s = 0; s < twoS; s++) {\n const evaluation = poly.evaluateAt(field.exp(s + field.generatorBase));\n syndromeCoefficients[syndromeCoefficients.length - 1 - s] = evaluation;\n if (evaluation !== 0) {\n error = true;\n }\n }\n if (!error) {\n return outputBytes;\n }\n\n const syndrome = new GenericGFPoly(field, syndromeCoefficients);\n\n const sigmaOmega = runEuclideanAlgorithm(field, field.buildMonomial(twoS, 1), syndrome, twoS);\n if (sigmaOmega === null) {\n return null;\n }\n\n const errorLocations = findErrorLocations(field, sigmaOmega[0]);\n if (errorLocations == null) {\n return null;\n }\n\n const errorMagnitudes = findErrorMagnitudes(field, sigmaOmega[1], errorLocations);\n for (let i = 0; i < errorLocations.length; i++) {\n const position = outputBytes.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n return null;\n }\n outputBytes[position] = addOrSubtractGF(outputBytes[position], errorMagnitudes[i]);\n }\n\n return outputBytes;\n}\n", "export interface Version {\n infoBits: number;\n versionNumber: number;\n alignmentPatternCenters: number[];\n errorCorrectionLevels: Array<{\n ecCodewordsPerBlock: number;\n ecBlocks: Array<{\n numBlocks: number;\n dataCodewordsPerBlock: number;\n }>\n }>;\n}\n\nexport const VERSIONS: Version[] = [\n {\n infoBits: null,\n versionNumber: 1,\n alignmentPatternCenters: [],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 7,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 19 }],\n },\n {\n ecCodewordsPerBlock: 10,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],\n },\n {\n ecCodewordsPerBlock: 13,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 13 }],\n },\n {\n ecCodewordsPerBlock: 17,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 9 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 2,\n alignmentPatternCenters: [6, 18],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 10,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 34 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 28 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 22 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 3,\n alignmentPatternCenters: [6, 22],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 15,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 55 }],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 44 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 17 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 13 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 4,\n alignmentPatternCenters: [6, 26],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 80 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 32 }],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 24 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 9 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 5,\n alignmentPatternCenters: [6, 30],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 108 }],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 43 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n { numBlocks: 2, dataCodewordsPerBlock: 16 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 11 },\n { numBlocks: 2, dataCodewordsPerBlock: 12 },\n ],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 6,\n alignmentPatternCenters: [6, 34],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 68 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 27 }],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 19 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 15 }],\n },\n ],\n },\n {\n infoBits: 0x07C94,\n versionNumber: 7,\n alignmentPatternCenters: [6, 22, 38],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 78 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 31 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 4, dataCodewordsPerBlock: 15 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 13 },\n { numBlocks: 1, dataCodewordsPerBlock: 14 },\n ],\n },\n ],\n },\n {\n infoBits: 0x085BC,\n versionNumber: 8,\n alignmentPatternCenters: [6, 24, 42],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 97 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 38 },\n { numBlocks: 2, dataCodewordsPerBlock: 39 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 18 },\n { numBlocks: 2, dataCodewordsPerBlock: 19 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 14 },\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x09A99,\n versionNumber: 9,\n alignmentPatternCenters: [6, 26, 46],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 116 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 36 },\n { numBlocks: 2, dataCodewordsPerBlock: 37 },\n ],\n },\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 16 },\n { numBlocks: 4, dataCodewordsPerBlock: 17 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 12 },\n { numBlocks: 4, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0A4D3,\n versionNumber: 10,\n alignmentPatternCenters: [6, 28, 50],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 68 },\n { numBlocks: 2, dataCodewordsPerBlock: 69 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 43 },\n { numBlocks: 1, dataCodewordsPerBlock: 44 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 19 },\n { numBlocks: 2, dataCodewordsPerBlock: 20 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 15 },\n { numBlocks: 2, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0BBF6,\n versionNumber: 11,\n alignmentPatternCenters: [6, 30, 54],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 81 }],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 50 },\n { numBlocks: 4, dataCodewordsPerBlock: 51 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 22 },\n { numBlocks: 4, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 12 },\n { numBlocks: 8, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0C762,\n versionNumber: 12,\n alignmentPatternCenters: [6, 32, 58],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 92 },\n { numBlocks: 2, dataCodewordsPerBlock: 93 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 36 },\n { numBlocks: 2, dataCodewordsPerBlock: 37 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 20 },\n { numBlocks: 6, dataCodewordsPerBlock: 21 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 14 },\n { numBlocks: 4, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0D847,\n versionNumber: 13,\n alignmentPatternCenters: [6, 34, 62],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 107 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 37 },\n { numBlocks: 1, dataCodewordsPerBlock: 38 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 20 },\n { numBlocks: 4, dataCodewordsPerBlock: 21 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 11 },\n { numBlocks: 4, dataCodewordsPerBlock: 12 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0E60D,\n versionNumber: 14,\n alignmentPatternCenters: [6, 26, 46, 66],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 115 },\n { numBlocks: 1, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 40 },\n { numBlocks: 5, dataCodewordsPerBlock: 41 },\n ],\n },\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 16 },\n { numBlocks: 5, dataCodewordsPerBlock: 17 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 12 },\n { numBlocks: 5, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0F928,\n versionNumber: 15,\n alignmentPatternCenters: [6, 26, 48, 70],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 87 },\n { numBlocks: 1, dataCodewordsPerBlock: 88 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 41 },\n { numBlocks: 5, dataCodewordsPerBlock: 42 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 24 },\n { numBlocks: 7, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 12 },\n { numBlocks: 7, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x10B78,\n versionNumber: 16,\n alignmentPatternCenters: [6, 26, 50, 74],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 98 },\n { numBlocks: 1, dataCodewordsPerBlock: 99 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 45 },\n { numBlocks: 3, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 19 },\n { numBlocks: 2, dataCodewordsPerBlock: 20 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 15 },\n { numBlocks: 13, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1145D,\n versionNumber: 17,\n alignmentPatternCenters: [6, 30, 54, 78],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 107 },\n { numBlocks: 5, dataCodewordsPerBlock: 108 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 46 },\n { numBlocks: 1, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 22 },\n { numBlocks: 15, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 17, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x12A17,\n versionNumber: 18,\n alignmentPatternCenters: [6, 30, 56, 82],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 120 },\n { numBlocks: 1, dataCodewordsPerBlock: 121 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 9, dataCodewordsPerBlock: 43 },\n { numBlocks: 4, dataCodewordsPerBlock: 44 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 22 },\n { numBlocks: 1, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x13532,\n versionNumber: 19,\n alignmentPatternCenters: [6, 30, 58, 86],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 113 },\n { numBlocks: 4, dataCodewordsPerBlock: 114 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 44 },\n { numBlocks: 11, dataCodewordsPerBlock: 45 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 21 },\n { numBlocks: 4, dataCodewordsPerBlock: 22 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 9, dataCodewordsPerBlock: 13 },\n { numBlocks: 16, dataCodewordsPerBlock: 14 },\n ],\n },\n ],\n },\n {\n infoBits: 0x149A6,\n versionNumber: 20,\n alignmentPatternCenters: [6, 34, 62, 90],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 107 },\n { numBlocks: 5, dataCodewordsPerBlock: 108 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 41 },\n { numBlocks: 13, dataCodewordsPerBlock: 42 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 24 },\n { numBlocks: 5, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 15 },\n { numBlocks: 10, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x15683,\n versionNumber: 21,\n alignmentPatternCenters: [6, 28, 50, 72, 94],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 116 },\n { numBlocks: 4, dataCodewordsPerBlock: 117 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 42 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 22 },\n { numBlocks: 6, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 16 },\n { numBlocks: 6, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x168C9,\n versionNumber: 22,\n alignmentPatternCenters: [6, 26, 50, 74, 98],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 111 },\n { numBlocks: 7, dataCodewordsPerBlock: 112 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 46 }],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 24 },\n { numBlocks: 16, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 34, dataCodewordsPerBlock: 13 }],\n },\n ],\n },\n {\n infoBits: 0x177EC,\n versionNumber: 23,\n alignmentPatternCenters: [6, 30, 54, 74, 102],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 121 },\n { numBlocks: 5, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 47 },\n { numBlocks: 14, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 16, dataCodewordsPerBlock: 15 },\n { numBlocks: 14, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x18EC4,\n versionNumber: 24,\n alignmentPatternCenters: [6, 28, 54, 80, 106],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 117 },\n { numBlocks: 4, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 45 },\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 24 },\n { numBlocks: 16, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 30, dataCodewordsPerBlock: 16 },\n { numBlocks: 2, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x191E1,\n versionNumber: 25,\n alignmentPatternCenters: [6, 32, 58, 84, 110],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 106 },\n { numBlocks: 4, dataCodewordsPerBlock: 107 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 47 },\n { numBlocks: 13, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 24 },\n { numBlocks: 22, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 15 },\n { numBlocks: 13, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1AFAB,\n versionNumber: 26,\n alignmentPatternCenters: [6, 30, 58, 86, 114],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 114 },\n { numBlocks: 2, dataCodewordsPerBlock: 115 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 46 },\n { numBlocks: 4, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 28, dataCodewordsPerBlock: 22 },\n { numBlocks: 6, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 33, dataCodewordsPerBlock: 16 },\n { numBlocks: 4, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1B08E,\n versionNumber: 27,\n alignmentPatternCenters: [6, 34, 62, 90, 118],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 122 },\n { numBlocks: 4, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 45 },\n { numBlocks: 3, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 23 },\n { numBlocks: 26, dataCodewordsPerBlock: 24 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 15 },\n { numBlocks: 28, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1CC1A,\n versionNumber: 28,\n alignmentPatternCenters: [6, 26, 50, 74, 98, 122],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 117 },\n { numBlocks: 10, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 45 },\n { numBlocks: 23, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 24 },\n { numBlocks: 31, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 15 },\n { numBlocks: 31, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1D33F,\n versionNumber: 29,\n alignmentPatternCenters: [6, 30, 54, 78, 102, 126],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 116 },\n { numBlocks: 7, dataCodewordsPerBlock: 117 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 21, dataCodewordsPerBlock: 45 },\n { numBlocks: 7, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 23 },\n { numBlocks: 37, dataCodewordsPerBlock: 24 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n { numBlocks: 26, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1ED75,\n versionNumber: 30,\n alignmentPatternCenters: [6, 26, 52, 78, 104, 130],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 115 },\n { numBlocks: 10, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 47 },\n { numBlocks: 10, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 24 },\n { numBlocks: 25, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 23, dataCodewordsPerBlock: 15 },\n { numBlocks: 25, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1F250,\n versionNumber: 31,\n alignmentPatternCenters: [6, 30, 56, 82, 108, 134],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 115 },\n { numBlocks: 3, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 46 },\n { numBlocks: 29, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 42, dataCodewordsPerBlock: 24 },\n { numBlocks: 1, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 23, dataCodewordsPerBlock: 15 },\n { numBlocks: 28, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x209D5,\n versionNumber: 32,\n alignmentPatternCenters: [6, 34, 60, 86, 112, 138],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 115 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 46 },\n { numBlocks: 23, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 24 },\n { numBlocks: 35, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n { numBlocks: 35, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x216F0,\n versionNumber: 33,\n alignmentPatternCenters: [6, 30, 58, 86, 114, 142],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 115 },\n { numBlocks: 1, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n { numBlocks: 21, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 29, dataCodewordsPerBlock: 24 },\n { numBlocks: 19, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 15 },\n { numBlocks: 46, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x228BA,\n versionNumber: 34,\n alignmentPatternCenters: [6, 34, 62, 90, 118, 146],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 115 },\n { numBlocks: 6, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n { numBlocks: 23, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 44, dataCodewordsPerBlock: 24 },\n { numBlocks: 7, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 59, dataCodewordsPerBlock: 16 },\n { numBlocks: 1, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x2379F,\n versionNumber: 35,\n alignmentPatternCenters: [6, 30, 54, 78, 102, 126, 150],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 121 },\n { numBlocks: 7, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 47 },\n { numBlocks: 26, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 39, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 15 },\n { numBlocks: 41, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x24B0B,\n versionNumber: 36,\n alignmentPatternCenters: [ 6, 24, 50, 76, 102, 128, 154 ],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 121 },\n { numBlocks: 14, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 47 },\n { numBlocks: 34, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 46, dataCodewordsPerBlock: 24 },\n { numBlocks: 10, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n { numBlocks: 64, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x2542E,\n versionNumber: 37,\n alignmentPatternCenters: [ 6, 28, 54, 80, 106, 132, 158 ],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 122 },\n { numBlocks: 4, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 29, dataCodewordsPerBlock: 46 },\n { numBlocks: 14, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 49, dataCodewordsPerBlock: 24 },\n { numBlocks: 10, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 24, dataCodewordsPerBlock: 15 },\n { numBlocks: 46, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x26A64,\n versionNumber: 38,\n alignmentPatternCenters: [ 6, 32, 58, 84, 110, 136, 162 ],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 122 },\n { numBlocks: 18, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 46 },\n { numBlocks: 32, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 48, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 42, dataCodewordsPerBlock: 15 },\n { numBlocks: 32, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x27541,\n versionNumber: 39,\n alignmentPatternCenters: [ 6, 26, 54, 82, 110, 138, 166 ],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 20, dataCodewordsPerBlock: 117 },\n { numBlocks: 4, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 40, dataCodewordsPerBlock: 47 },\n { numBlocks: 7, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 43, dataCodewordsPerBlock: 24 },\n { numBlocks: 22, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 15 },\n { numBlocks: 67, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x28C69,\n versionNumber: 40,\n alignmentPatternCenters: [ 6, 30, 58, 86, 114, 142, 170 ],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 118 },\n { numBlocks: 6, dataCodewordsPerBlock: 119 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 18, dataCodewordsPerBlock: 47 },\n { numBlocks: 31, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 34, dataCodewordsPerBlock: 24 },\n { numBlocks: 34, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 20, dataCodewordsPerBlock: 15 },\n { numBlocks: 61, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n];\n", "import { BitMatrix } from \"../BitMatrix\";\nimport { Point } from \"../Point\";\nimport { decode as decodeData, DecodedQR } from \"./decodeData\";\nimport { decode as rsDecode } from \"./reedsolomon\";\nimport { Version, VERSIONS } from \"./version\";\n\n// tslint:disable:no-bitwise\nfunction numBitsDiffering(x: number, y: number) {\n let z = x ^ y;\n let bitCount = 0;\n while (z) {\n bitCount++;\n z &= z - 1;\n }\n return bitCount;\n}\n\nfunction pushBit(bit: any, byte: number) {\n return (byte << 1) | bit;\n}\n// tslint:enable:no-bitwise\n\nconst FORMAT_INFO_TABLE = [\n { bits: 0x5412, formatInfo: { errorCorrectionLevel: 1, dataMask: 0 } },\n { bits: 0x5125, formatInfo: { errorCorrectionLevel: 1, dataMask: 1 } },\n { bits: 0x5E7C, formatInfo: { errorCorrectionLevel: 1, dataMask: 2 } },\n { bits: 0x5B4B, formatInfo: { errorCorrectionLevel: 1, dataMask: 3 } },\n { bits: 0x45F9, formatInfo: { errorCorrectionLevel: 1, dataMask: 4 } },\n { bits: 0x40CE, formatInfo: { errorCorrectionLevel: 1, dataMask: 5 } },\n { bits: 0x4F97, formatInfo: { errorCorrectionLevel: 1, dataMask: 6 } },\n { bits: 0x4AA0, formatInfo: { errorCorrectionLevel: 1, dataMask: 7 } },\n { bits: 0x77C4, formatInfo: { errorCorrectionLevel: 0, dataMask: 0 } },\n { bits: 0x72F3, formatInfo: { errorCorrectionLevel: 0, dataMask: 1 } },\n { bits: 0x7DAA, formatInfo: { errorCorrectionLevel: 0, dataMask: 2 } },\n { bits: 0x789D, formatInfo: { errorCorrectionLevel: 0, dataMask: 3 } },\n { bits: 0x662F, formatInfo: { errorCorrectionLevel: 0, dataMask: 4 } },\n { bits: 0x6318, formatInfo: { errorCorrectionLevel: 0, dataMask: 5 } },\n { bits: 0x6C41, formatInfo: { errorCorrectionLevel: 0, dataMask: 6 } },\n { bits: 0x6976, formatInfo: { errorCorrectionLevel: 0, dataMask: 7 } },\n { bits: 0x1689, formatInfo: { errorCorrectionLevel: 3, dataMask: 0 } },\n { bits: 0x13BE, formatInfo: { errorCorrectionLevel: 3, dataMask: 1 } },\n { bits: 0x1CE7, formatInfo: { errorCorrectionLevel: 3, dataMask: 2 } },\n { bits: 0x19D0, formatInfo: { errorCorrectionLevel: 3, dataMask: 3 } },\n { bits: 0x0762, formatInfo: { errorCorrectionLevel: 3, dataMask: 4 } },\n { bits: 0x0255, formatInfo: { errorCorrectionLevel: 3, dataMask: 5 } },\n { bits: 0x0D0C, formatInfo: { errorCorrectionLevel: 3, dataMask: 6 } },\n { bits: 0x083B, formatInfo: { errorCorrectionLevel: 3, dataMask: 7 } },\n { bits: 0x355F, formatInfo: { errorCorrectionLevel: 2, dataMask: 0 } },\n { bits: 0x3068, formatInfo: { errorCorrectionLevel: 2, dataMask: 1 } },\n { bits: 0x3F31, formatInfo: { errorCorrectionLevel: 2, dataMask: 2 } },\n { bits: 0x3A06, formatInfo: { errorCorrectionLevel: 2, dataMask: 3 } },\n { bits: 0x24B4, formatInfo: { errorCorrectionLevel: 2, dataMask: 4 } },\n { bits: 0x2183, formatInfo: { errorCorrectionLevel: 2, dataMask: 5 } },\n { bits: 0x2EDA, formatInfo: { errorCorrectionLevel: 2, dataMask: 6 } },\n { bits: 0x2BED, formatInfo: { errorCorrectionLevel: 2, dataMask: 7 } },\n];\n\nconst DATA_MASKS = [\n (p: Point) => ((p.y + p.x) % 2) === 0,\n (p: Point) => (p.y % 2) === 0,\n (p: Point) => p.x % 3 === 0,\n (p: Point) => (p.y + p.x) % 3 === 0,\n (p: Point) => (Math.floor(p.y / 2) + Math.floor(p.x / 3)) % 2 === 0,\n (p: Point) => ((p.x * p.y) % 2) + ((p.x * p.y) % 3) === 0,\n (p: Point) => ((((p.y * p.x) % 2) + (p.y * p.x) % 3) % 2) === 0,\n (p: Point) => ((((p.y + p.x) % 2) + (p.y * p.x) % 3) % 2) === 0,\n];\n\ninterface FormatInformation {\n errorCorrectionLevel: number;\n dataMask: number;\n}\n\nfunction buildFunctionPatternMask(version: Version): BitMatrix {\n const dimension = 17 + 4 * version.versionNumber;\n const matrix = BitMatrix.createEmpty(dimension, dimension);\n\n matrix.setRegion(0, 0, 9, 9, true); // Top left finder pattern + separator + format\n matrix.setRegion(dimension - 8, 0, 8, 9, true); // Top right finder pattern + separator + format\n matrix.setRegion(0, dimension - 8, 9, 8, true); // Bottom left finder pattern + separator + format\n\n // Alignment patterns\n for (const x of version.alignmentPatternCenters) {\n for (const y of version.alignmentPatternCenters) {\n if (!(x === 6 && y === 6 || x === 6 && y === dimension - 7 || x === dimension - 7 && y === 6)) {\n matrix.setRegion(x - 2, y - 2, 5, 5, true);\n }\n }\n }\n\n matrix.setRegion(6, 9, 1, dimension - 17, true); // Vertical timing pattern\n matrix.setRegion(9, 6, dimension - 17, 1, true); // Horizontal timing pattern\n\n if (version.versionNumber > 6) {\n matrix.setRegion(dimension - 11, 0, 3, 6, true); // Version info, top right\n matrix.setRegion(0, dimension - 11, 6, 3, true); // Version info, bottom left\n }\n\n return matrix;\n}\n\nfunction readCodewords(matrix: BitMatrix, version: Version, formatInfo: FormatInformation) {\n const dataMask = DATA_MASKS[formatInfo.dataMask];\n const dimension = matrix.height;\n\n const functionPatternMask = buildFunctionPatternMask(version);\n\n const codewords: number[] = [];\n let currentByte = 0;\n let bitsRead = 0;\n\n // Read columns in pairs, from right to left\n let readingUp = true;\n for (let columnIndex = dimension - 1; columnIndex > 0; columnIndex -= 2) {\n if (columnIndex === 6) { // Skip whole column with vertical alignment pattern;\n columnIndex--;\n }\n for (let i = 0; i < dimension; i++) {\n const y = readingUp ? dimension - 1 - i : i;\n for (let columnOffset = 0; columnOffset < 2; columnOffset++) {\n const x = columnIndex - columnOffset;\n if (!functionPatternMask.get(x, y)) {\n bitsRead++;\n let bit = matrix.get(x, y);\n if (dataMask({y, x})) {\n bit = !bit;\n }\n currentByte = pushBit(bit, currentByte);\n if (bitsRead === 8) { // Whole bytes\n codewords.push(currentByte);\n bitsRead = 0;\n currentByte = 0;\n }\n }\n }\n }\n readingUp = !readingUp;\n }\n return codewords;\n}\n\nfunction readVersion(matrix: BitMatrix): Version {\n const dimension = matrix.height;\n\n const provisionalVersion = Math.floor((dimension - 17) / 4);\n if (provisionalVersion <= 6) { // 6 and under dont have version info in the QR code\n return VERSIONS[provisionalVersion - 1];\n }\n\n let topRightVersionBits = 0;\n for (let y = 5; y >= 0; y--) {\n for (let x = dimension - 9; x >= dimension - 11; x--) {\n topRightVersionBits = pushBit(matrix.get(x, y), topRightVersionBits);\n }\n }\n\n let bottomLeftVersionBits = 0;\n for (let x = 5; x >= 0; x--) {\n for (let y = dimension - 9; y >= dimension - 11; y--) {\n bottomLeftVersionBits = pushBit(matrix.get(x, y), bottomLeftVersionBits);\n }\n }\n\n let bestDifference = Infinity;\n let bestVersion: Version;\n for (const version of VERSIONS) {\n if (version.infoBits === topRightVersionBits || version.infoBits === bottomLeftVersionBits) {\n return version;\n }\n\n let difference = numBitsDiffering(topRightVersionBits, version.infoBits);\n if (difference < bestDifference) {\n bestVersion = version;\n bestDifference = difference;\n }\n\n difference = numBitsDiffering(bottomLeftVersionBits, version.infoBits);\n if (difference < bestDifference) {\n bestVersion = version;\n bestDifference = difference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return bestVersion;\n }\n}\n\nfunction readFormatInformation(matrix: BitMatrix) {\n let topLeftFormatInfoBits = 0;\n for (let x = 0; x <= 8; x++) {\n if (x !== 6) { // Skip timing pattern bit\n topLeftFormatInfoBits = pushBit(matrix.get(x, 8), topLeftFormatInfoBits);\n }\n }\n for (let y = 7; y >= 0; y--) {\n if (y !== 6) { // Skip timing pattern bit\n topLeftFormatInfoBits = pushBit(matrix.get(8, y), topLeftFormatInfoBits);\n }\n }\n\n const dimension = matrix.height;\n let topRightBottomRightFormatInfoBits = 0;\n for (let y = dimension - 1; y >= dimension - 7; y--) { // bottom left\n topRightBottomRightFormatInfoBits = pushBit(matrix.get(8, y), topRightBottomRightFormatInfoBits);\n }\n for (let x = dimension - 8; x < dimension; x++) { // top right\n topRightBottomRightFormatInfoBits = pushBit(matrix.get(x, 8), topRightBottomRightFormatInfoBits);\n }\n\n let bestDifference = Infinity;\n let bestFormatInfo = null;\n for (const {bits, formatInfo} of FORMAT_INFO_TABLE) {\n if (bits === topLeftFormatInfoBits || bits === topRightBottomRightFormatInfoBits) {\n return formatInfo;\n }\n let difference = numBitsDiffering(topLeftFormatInfoBits, bits);\n if (difference < bestDifference) {\n bestFormatInfo = formatInfo;\n bestDifference = difference;\n }\n if (topLeftFormatInfoBits !== topRightBottomRightFormatInfoBits) { // also try the other option\n difference = numBitsDiffering(topRightBottomRightFormatInfoBits, bits);\n if (difference < bestDifference) {\n bestFormatInfo = formatInfo;\n bestDifference = difference;\n }\n }\n }\n // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits differing means we found a match\n if (bestDifference <= 3) {\n return bestFormatInfo;\n }\n return null;\n}\n\nfunction getDataBlocks(codewords: number[], version: Version, ecLevel: number) {\n const ecInfo = version.errorCorrectionLevels[ecLevel];\n const dataBlocks: Array<{\n numDataCodewords: number;\n codewords: number[];\n }> = [];\n\n let totalCodewords = 0;\n ecInfo.ecBlocks.forEach(block => {\n for (let i = 0; i < block.numBlocks; i++) {\n dataBlocks.push({ numDataCodewords: block.dataCodewordsPerBlock, codewords: [] });\n totalCodewords += block.dataCodewordsPerBlock + ecInfo.ecCodewordsPerBlock;\n }\n });\n\n // In some cases the QR code will be malformed enough that we pull off more or less than we should.\n // If we pull off less there's nothing we can do.\n // If we pull off more we can safely truncate\n if (codewords.length < totalCodewords) {\n return null;\n }\n codewords = codewords.slice(0, totalCodewords);\n\n const shortBlockSize = ecInfo.ecBlocks[0].dataCodewordsPerBlock;\n // Pull codewords to fill the blocks up to the minimum size\n for (let i = 0; i < shortBlockSize; i++) {\n for (const dataBlock of dataBlocks) {\n dataBlock.codewords.push(codewords.shift());\n }\n }\n\n // If there are any large blocks, pull codewords to fill the last element of those\n if (ecInfo.ecBlocks.length > 1) {\n const smallBlockCount = ecInfo.ecBlocks[0].numBlocks;\n const largeBlockCount = ecInfo.ecBlocks[1].numBlocks;\n for (let i = 0; i < largeBlockCount; i++) {\n dataBlocks[smallBlockCount + i].codewords.push(codewords.shift());\n }\n }\n\n // Add the rest of the codewords to the blocks. These are the error correction codewords.\n while (codewords.length > 0) {\n for (const dataBlock of dataBlocks) {\n dataBlock.codewords.push(codewords.shift());\n }\n }\n\n return dataBlocks;\n}\n\nfunction decodeMatrix(matrix: BitMatrix) {\n const version = readVersion(matrix);\n if (!version) {\n return null;\n }\n\n const formatInfo = readFormatInformation(matrix);\n if (!formatInfo) {\n return null;\n }\n\n const codewords = readCodewords(matrix, version, formatInfo);\n const dataBlocks = getDataBlocks(codewords, version, formatInfo.errorCorrectionLevel);\n if (!dataBlocks) {\n return null;\n }\n\n // Count total number of data bytes\n const totalBytes = dataBlocks.reduce((a, b) => a + b.numDataCodewords, 0);\n const resultBytes = new Uint8ClampedArray(totalBytes);\n\n let resultIndex = 0;\n for (const dataBlock of dataBlocks) {\n const correctedBytes = rsDecode(dataBlock.codewords, dataBlock.codewords.length - dataBlock.numDataCodewords);\n if (!correctedBytes) {\n return null;\n }\n for (let i = 0; i < dataBlock.numDataCodewords; i++) {\n resultBytes[resultIndex++] = correctedBytes[i];\n }\n }\n\n try {\n return decodeData(resultBytes, version.versionNumber);\n } catch {\n return null;\n }\n}\n\nexport function decode(matrix: BitMatrix): DecodedQR {\n if (matrix == null) {\n return null;\n }\n const result = decodeMatrix(matrix);\n if (result) {\n return result;\n }\n // Decoding didn't work, try mirroring the QR across the topLeft -> bottomRight line.\n for (let x = 0; x < matrix.width; x++) {\n for (let y = x + 1; y < matrix.height; y++) {\n if (matrix.get(x, y) !== matrix.get(y, x)) {\n matrix.set(x, y, !matrix.get(x, y));\n matrix.set(y, x, !matrix.get(y, x));\n }\n }\n }\n return decodeMatrix(matrix);\n}\n", "import {BitMatrix} from \"../BitMatrix\";\nimport {Point, QRLocation} from \"../locator\";\n\ninterface PerspectiveTransform {\n a11: number;\n a21: number;\n a31: number;\n a12: number;\n a22: number;\n a32: number;\n a13: number;\n a23: number;\n a33: number;\n}\n\nfunction squareToQuadrilateral(p1: Point, p2: Point, p3: Point, p4: Point): PerspectiveTransform {\n const dx3 = p1.x - p2.x + p3.x - p4.x;\n const dy3 = p1.y - p2.y + p3.y - p4.y;\n if (dx3 === 0 && dy3 === 0) { // Affine\n return {\n a11: p2.x - p1.x,\n a12: p2.y - p1.y,\n a13: 0,\n a21: p3.x - p2.x,\n a22: p3.y - p2.y,\n a23: 0,\n a31: p1.x,\n a32: p1.y,\n a33: 1,\n };\n } else {\n const dx1 = p2.x - p3.x;\n const dx2 = p4.x - p3.x;\n const dy1 = p2.y - p3.y;\n const dy2 = p4.y - p3.y;\n const denominator = dx1 * dy2 - dx2 * dy1;\n const a13 = (dx3 * dy2 - dx2 * dy3) / denominator;\n const a23 = (dx1 * dy3 - dx3 * dy1) / denominator;\n return {\n a11: p2.x - p1.x + a13 * p2.x,\n a12: p2.y - p1.y + a13 * p2.y,\n a13,\n a21: p4.x - p1.x + a23 * p4.x,\n a22: p4.y - p1.y + a23 * p4.y,\n a23,\n a31: p1.x,\n a32: p1.y,\n a33: 1,\n };\n }\n}\n\nfunction quadrilateralToSquare(p1: Point, p2: Point, p3: Point, p4: Point): PerspectiveTransform {\n // Here, the adjoint serves as the inverse:\n const sToQ = squareToQuadrilateral(p1, p2, p3, p4);\n return {\n a11: sToQ.a22 * sToQ.a33 - sToQ.a23 * sToQ.a32,\n a12: sToQ.a13 * sToQ.a32 - sToQ.a12 * sToQ.a33,\n a13: sToQ.a12 * sToQ.a23 - sToQ.a13 * sToQ.a22,\n a21: sToQ.a23 * sToQ.a31 - sToQ.a21 * sToQ.a33,\n a22: sToQ.a11 * sToQ.a33 - sToQ.a13 * sToQ.a31,\n a23: sToQ.a13 * sToQ.a21 - sToQ.a11 * sToQ.a23,\n a31: sToQ.a21 * sToQ.a32 - sToQ.a22 * sToQ.a31,\n a32: sToQ.a12 * sToQ.a31 - sToQ.a11 * sToQ.a32,\n a33: sToQ.a11 * sToQ.a22 - sToQ.a12 * sToQ.a21,\n };\n}\n\nfunction times(a: PerspectiveTransform, b: PerspectiveTransform): PerspectiveTransform {\n return {\n a11: a.a11 * b.a11 + a.a21 * b.a12 + a.a31 * b.a13,\n a12: a.a12 * b.a11 + a.a22 * b.a12 + a.a32 * b.a13,\n a13: a.a13 * b.a11 + a.a23 * b.a12 + a.a33 * b.a13,\n a21: a.a11 * b.a21 + a.a21 * b.a22 + a.a31 * b.a23,\n a22: a.a12 * b.a21 + a.a22 * b.a22 + a.a32 * b.a23,\n a23: a.a13 * b.a21 + a.a23 * b.a22 + a.a33 * b.a23,\n a31: a.a11 * b.a31 + a.a21 * b.a32 + a.a31 * b.a33,\n a32: a.a12 * b.a31 + a.a22 * b.a32 + a.a32 * b.a33,\n a33: a.a13 * b.a31 + a.a23 * b.a32 + a.a33 * b.a33,\n };\n}\n\nexport function extract(image: BitMatrix, location: QRLocation) {\n const qToS = quadrilateralToSquare(\n {x: 3.5, y: 3.5},\n {x: location.dimension - 3.5, y: 3.5},\n {x: location.dimension - 6.5, y: location.dimension - 6.5},\n {x: 3.5, y: location.dimension - 3.5},\n );\n const sToQ = squareToQuadrilateral(location.topLeft, location.topRight, location.alignmentPattern, location.bottomLeft);\n const transform = times(sToQ, qToS);\n\n const matrix = BitMatrix.createEmpty(location.dimension, location.dimension);\n const mappingFunction = (x: number, y: number) => {\n const denominator = transform.a13 * x + transform.a23 * y + transform.a33;\n return {\n x: (transform.a11 * x + transform.a21 * y + transform.a31) / denominator,\n y: (transform.a12 * x + transform.a22 * y + transform.a32) / denominator,\n };\n };\n\n for (let y = 0; y < location.dimension; y++) {\n for (let x = 0; x < location.dimension; x++) {\n const xValue = x + 0.5;\n const yValue = y + 0.5;\n const sourcePixel = mappingFunction(xValue, yValue);\n matrix.set(x, y, image.get(Math.floor(sourcePixel.x), Math.floor(sourcePixel.y)));\n }\n }\n\n return {\n matrix,\n mappingFunction,\n };\n}\n", "import { BitMatrix } from \"../BitMatrix\";\n\nconst MAX_FINDERPATTERNS_TO_SEARCH = 5;\nconst MIN_QUAD_RATIO = 0.5;\nconst MAX_QUAD_RATIO = 1.5;\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface QRLocation {\n topRight: Point;\n bottomLeft: Point;\n topLeft: Point;\n alignmentPattern: Point;\n dimension: number;\n}\n\nconst distance = (a: Point, b: Point) => Math.sqrt((b.x - a.x) ** 2 + (b.y - a.y) ** 2);\n\nfunction sum(values: number[]) {\n return values.reduce((a, b) => a + b);\n}\n\n// Takes three finder patterns and organizes them into topLeft, topRight, etc\nfunction reorderFinderPatterns(pattern1: Point, pattern2: Point, pattern3: Point) {\n // Find distances between pattern centers\n const oneTwoDistance = distance(pattern1, pattern2);\n const twoThreeDistance = distance(pattern2, pattern3);\n const oneThreeDistance = distance(pattern1, pattern3);\n\n let bottomLeft: Point;\n let topLeft: Point;\n let topRight: Point;\n\n // Assume one closest to other two is B; A and C will just be guesses at first\n if (twoThreeDistance >= oneTwoDistance && twoThreeDistance >= oneThreeDistance) {\n [bottomLeft, topLeft, topRight] = [pattern2, pattern1, pattern3];\n } else if (oneThreeDistance >= twoThreeDistance && oneThreeDistance >= oneTwoDistance) {\n [bottomLeft, topLeft, topRight] = [pattern1, pattern2, pattern3];\n } else {\n [bottomLeft, topLeft, topRight] = [pattern1, pattern3, pattern2];\n }\n\n // Use cross product to figure out whether bottomLeft (A) and topRight (C) are correct or flipped in relation to topLeft (B)\n // This asks whether BC x BA has a positive z component, which is the arrangement we want. If it's negative, then\n // we've got it flipped around and should swap topRight and bottomLeft.\n if (((topRight.x - topLeft.x) * (bottomLeft.y - topLeft.y)) - ((topRight.y - topLeft.y) * (bottomLeft.x - topLeft.x)) < 0) {\n [bottomLeft, topRight] = [topRight, bottomLeft];\n }\n\n return { bottomLeft, topLeft, topRight };\n}\n\n// Computes the dimension (number of modules on a side) of the QR Code based on the position of the finder patterns\nfunction computeDimension(topLeft: Point, topRight: Point, bottomLeft: Point, matrix: BitMatrix) {\n const moduleSize = (\n sum(countBlackWhiteRun(topLeft, bottomLeft, matrix, 5)) / 7 + // Divide by 7 since the ratio is 1:1:3:1:1\n sum(countBlackWhiteRun(topLeft, topRight, matrix, 5)) / 7 +\n sum(countBlackWhiteRun(bottomLeft, topLeft, matrix, 5)) / 7 +\n sum(countBlackWhiteRun(topRight, topLeft, matrix, 5)) / 7\n ) / 4;\n\n if (moduleSize < 1) {\n throw new Error(\"Invalid module size\");\n }\n\n const topDimension = Math.round(distance(topLeft, topRight) / moduleSize);\n const sideDimension = Math.round(distance(topLeft, bottomLeft) / moduleSize);\n let dimension = Math.floor((topDimension + sideDimension) / 2) + 7;\n switch (dimension % 4) {\n case 0:\n dimension++;\n break;\n case 2:\n dimension--;\n break;\n }\n return { dimension, moduleSize };\n}\n\n// Takes an origin point and an end point and counts the sizes of the black white run from the origin towards the end point.\n// Returns an array of elements, representing the pixel size of the black white run.\n// Uses a variant of http://en.wikipedia.org/wiki/Bresenham's_line_algorithm\nfunction countBlackWhiteRunTowardsPoint(origin: Point, end: Point, matrix: BitMatrix, length: number) {\n const switchPoints: Point[] = [{x: Math.floor(origin.x), y: Math.floor(origin.y)}];\n const steep = Math.abs(end.y - origin.y) > Math.abs(end.x - origin.x);\n\n let fromX: number;\n let fromY: number;\n let toX: number;\n let toY: number;\n if (steep) {\n fromX = Math.floor(origin.y);\n fromY = Math.floor(origin.x);\n toX = Math.floor(end.y);\n toY = Math.floor(end.x);\n } else {\n fromX = Math.floor(origin.x);\n fromY = Math.floor(origin.y);\n toX = Math.floor(end.x);\n toY = Math.floor(end.y);\n }\n\n const dx = Math.abs(toX - fromX);\n const dy = Math.abs(toY - fromY);\n let error = Math.floor(-dx / 2);\n const xStep = fromX < toX ? 1 : -1;\n const yStep = fromY < toY ? 1 : -1;\n\n let currentPixel = true;\n // Loop up until x == toX, but not beyond\n for (let x = fromX, y = fromY; x !== toX + xStep; x += xStep) {\n // Does current pixel mean we have moved white to black or vice versa?\n // Scanning black in state 0,2 and white in state 1, so if we find the wrong\n // color, advance to next state or end if we are in state 2 already\n const realX = steep ? y : x;\n const realY = steep ? x : y;\n if (matrix.get(realX, realY) !== currentPixel) {\n currentPixel = !currentPixel;\n switchPoints.push({x: realX, y: realY});\n if (switchPoints.length === length + 1) {\n break;\n }\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += yStep;\n error -= dx;\n }\n }\n const distances: number[] = [];\n for (let i = 0; i < length; i++) {\n if (switchPoints[i] && switchPoints[i + 1]) {\n distances.push(distance(switchPoints[i], switchPoints[i + 1]));\n } else {\n distances.push(0);\n }\n }\n return distances;\n}\n\n// Takes an origin point and an end point and counts the sizes of the black white run in the origin point\n// along the line that intersects with the end point. Returns an array of elements, representing the pixel sizes\n// of the black white run. Takes a length which represents the number of switches from black to white to look for.\nfunction countBlackWhiteRun(origin: Point, end: Point, matrix: BitMatrix, length: number) {\n const rise = end.y - origin.y;\n const run = end.x - origin.x;\n\n const towardsEnd = countBlackWhiteRunTowardsPoint(origin, end, matrix, Math.ceil(length / 2));\n const awayFromEnd = countBlackWhiteRunTowardsPoint(origin, {x: origin.x - run, y: origin.y - rise}, matrix, Math.ceil(length / 2));\n\n const middleValue = towardsEnd.shift() + awayFromEnd.shift() - 1; // Substract one so we don't double count a pixel\n return awayFromEnd.concat(middleValue).concat(...towardsEnd);\n}\n\n// Takes in a black white run and an array of expected ratios. Returns the average size of the run as well as the \"error\" -\n// that is the amount the run diverges from the expected ratio\nfunction scoreBlackWhiteRun(sequence: number[], ratios: number[]) {\n const averageSize = sum(sequence) / sum(ratios);\n let error = 0;\n ratios.forEach((ratio, i) => {\n error += (sequence[i] - ratio * averageSize) ** 2;\n });\n\n return { averageSize, error };\n}\n\n// Takes an X,Y point and an array of sizes and scores the point against those ratios.\n// For example for a finder pattern takes the ratio list of 1:1:3:1:1 and checks horizontal, vertical and diagonal ratios\n// against that.\nfunction scorePattern(point: Point, ratios: number[], matrix: BitMatrix) {\n try {\n const horizontalRun = countBlackWhiteRun(point, {x: -1, y: point.y}, matrix, ratios.length);\n const verticalRun = countBlackWhiteRun(point, {x: point.x, y: -1}, matrix, ratios.length);\n\n const topLeftPoint = {\n x: Math.max(0, point.x - point.y) - 1,\n y: Math.max(0, point.y - point.x) - 1,\n };\n const topLeftBottomRightRun = countBlackWhiteRun(point, topLeftPoint, matrix, ratios.length);\n\n const bottomLeftPoint = {\n x: Math.min(matrix.width, point.x + point.y) + 1,\n y: Math.min(matrix.height, point.y + point.x) + 1,\n };\n const bottomLeftTopRightRun = countBlackWhiteRun(point, bottomLeftPoint, matrix, ratios.length);\n\n const horzError = scoreBlackWhiteRun(horizontalRun, ratios);\n const vertError = scoreBlackWhiteRun(verticalRun, ratios);\n const diagDownError = scoreBlackWhiteRun(topLeftBottomRightRun, ratios);\n const diagUpError = scoreBlackWhiteRun(bottomLeftTopRightRun, ratios);\n\n const ratioError = Math.sqrt(horzError.error * horzError.error +\n vertError.error * vertError.error +\n diagDownError.error * diagDownError.error +\n diagUpError.error * diagUpError.error);\n\n const avgSize = (horzError.averageSize + vertError.averageSize + diagDownError.averageSize + diagUpError.averageSize) / 4;\n\n const sizeError = ((horzError.averageSize - avgSize) ** 2 +\n (vertError.averageSize - avgSize) ** 2 +\n (diagDownError.averageSize - avgSize) ** 2 +\n (diagUpError.averageSize - avgSize) ** 2) / avgSize;\n return ratioError + sizeError;\n } catch {\n return Infinity;\n }\n}\n\nfunction recenterLocation(matrix: BitMatrix, p: Point): Point {\n let leftX = Math.round(p.x);\n while (matrix.get(leftX, Math.round(p.y))) {\n leftX--;\n }\n let rightX = Math.round(p.x);\n while (matrix.get(rightX, Math.round(p.y))) {\n rightX++;\n }\n const x = (leftX + rightX) / 2;\n\n let topY = Math.round(p.y);\n while (matrix.get(Math.round(x), topY)) {\n topY--;\n }\n let bottomY = Math.round(p.y);\n while (matrix.get(Math.round(x), bottomY)) {\n bottomY++;\n }\n const y = (topY + bottomY) / 2;\n\n return { x, y };\n}\n\ninterface Quad {\n top: {\n startX: number;\n endX: number;\n y: number;\n };\n bottom: {\n startX: number;\n endX: number;\n y: number;\n };\n}\n\nexport function locate(matrix: BitMatrix): QRLocation[] {\n const finderPatternQuads: Quad[] = [];\n let activeFinderPatternQuads: Quad[] = [];\n const alignmentPatternQuads: Quad[] = [];\n let activeAlignmentPatternQuads: Quad[] = [];\n\n for (let y = 0; y <= matrix.height; y++) {\n let length = 0;\n let lastBit = false;\n let scans = [0, 0, 0, 0, 0];\n\n for (let x = -1; x <= matrix.width; x++) {\n const v = matrix.get(x, y);\n if (v === lastBit) {\n length++;\n } else {\n scans = [scans[1], scans[2], scans[3], scans[4], length];\n length = 1;\n lastBit = v;\n\n // Do the last 5 color changes ~ match the expected ratio for a finder pattern? 1:1:3:1:1 of b:w:b:w:b\n const averageFinderPatternBlocksize = sum(scans) / 7;\n const validFinderPattern =\n Math.abs(scans[0] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[1] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[2] - 3 * averageFinderPatternBlocksize) < 3 * averageFinderPatternBlocksize &&\n Math.abs(scans[3] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[4] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n !v; // And make sure the current pixel is white since finder patterns are bordered in white\n\n // Do the last 3 color changes ~ match the expected ratio for an alignment pattern? 1:1:1 of w:b:w\n const averageAlignmentPatternBlocksize = sum(scans.slice(-3)) / 3;\n const validAlignmentPattern =\n Math.abs(scans[2] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n Math.abs(scans[3] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n Math.abs(scans[4] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n v; // Is the current pixel black since alignment patterns are bordered in black\n\n if (validFinderPattern) {\n // Compute the start and end x values of the large center black square\n const endX = x - scans[3] - scans[4];\n const startX = endX - scans[2];\n\n const line = { startX, endX, y };\n // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with\n // that line as the starting point.\n const matchingQuads = activeFinderPatternQuads.filter(q =>\n (startX >= q.bottom.startX && startX <= q.bottom.endX) ||\n (endX >= q.bottom.startX && startX <= q.bottom.endX) ||\n (startX <= q.bottom.startX && endX >= q.bottom.endX && (\n (scans[2] / (q.bottom.endX - q.bottom.startX)) < MAX_QUAD_RATIO &&\n (scans[2] / (q.bottom.endX - q.bottom.startX)) > MIN_QUAD_RATIO\n )),\n );\n if (matchingQuads.length > 0) {\n matchingQuads[0].bottom = line;\n } else {\n activeFinderPatternQuads.push({ top: line, bottom: line });\n }\n }\n if (validAlignmentPattern) {\n // Compute the start and end x values of the center black square\n const endX = x - scans[4];\n const startX = endX - scans[3];\n\n const line = { startX, y, endX };\n // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with\n // that line as the starting point.\n const matchingQuads = activeAlignmentPatternQuads.filter(q =>\n (startX >= q.bottom.startX && startX <= q.bottom.endX) ||\n (endX >= q.bottom.startX && startX <= q.bottom.endX) ||\n (startX <= q.bottom.startX && endX >= q.bottom.endX && (\n (scans[2] / (q.bottom.endX - q.bottom.startX)) < MAX_QUAD_RATIO &&\n (scans[2] / (q.bottom.endX - q.bottom.startX)) > MIN_QUAD_RATIO\n )),\n );\n if (matchingQuads.length > 0) {\n matchingQuads[0].bottom = line;\n } else {\n activeAlignmentPatternQuads.push({ top: line, bottom: line });\n }\n }\n }\n }\n finderPatternQuads.push(...activeFinderPatternQuads.filter(q => q.bottom.y !== y && q.bottom.y - q.top.y >= 2));\n activeFinderPatternQuads = activeFinderPatternQuads.filter(q => q.bottom.y === y);\n\n alignmentPatternQuads.push(...activeAlignmentPatternQuads.filter(q => q.bottom.y !== y));\n activeAlignmentPatternQuads = activeAlignmentPatternQuads.filter(q => q.bottom.y === y);\n\n }\n\n finderPatternQuads.push(...activeFinderPatternQuads.filter(q => q.bottom.y - q.top.y >= 2));\n alignmentPatternQuads.push(...activeAlignmentPatternQuads);\n\n // Refactored from cozmo/jsQR to (hopefully) circumvent an issue in Safari 13+ on both Mac and iOS (also including\n // iOS Chrome and other Safari iOS derivatives). Safari was very occasionally and apparently not deterministically\n // throwing a \"RangeError: Array size is not a small enough positive integer.\" exception seemingly within the second\n // .map of the original code (here the second for-loop). This second .map contained a nested .map call over the same\n // array instance which was the chained result from previous calls to .map, .filter and .sort which potentially caused\n // this bug in Safari?\n // Also see https://github.com/cozmo/jsQR/issues/157 and https://bugs.webkit.org/show_bug.cgi?id=211619#c3\n const scoredFinderPatternPositions: Array = [];\n for (const quad of finderPatternQuads) {\n if (quad.bottom.y - quad.top.y < 2) {\n // All quads must be at least 2px tall since the center square is larger than a block\n continue;\n }\n\n // calculate quad center\n const x = (quad.top.startX + quad.top.endX + quad.bottom.startX + quad.bottom.endX) / 4;\n const y = (quad.top.y + quad.bottom.y + 1) / 2;\n if (!matrix.get(Math.round(x), Math.round(y))) {\n continue;\n }\n\n const lengths = [quad.top.endX - quad.top.startX, quad.bottom.endX - quad.bottom.startX, quad.bottom.y - quad.top.y + 1];\n const size = sum(lengths) / lengths.length;\n // Initial scoring of finder pattern quads by looking at their ratios, not taking into account position\n const score = scorePattern({x: Math.round(x), y: Math.round(y)}, [1, 1, 3, 1, 1], matrix);\n scoredFinderPatternPositions.push({ score, x, y, size });\n }\n if (scoredFinderPatternPositions.length < 3) {\n // A QR code has 3 finder patterns, therefore we need at least 3 candidates.\n return null;\n }\n scoredFinderPatternPositions.sort((a, b) => a.score - b.score);\n\n // Now take the top finder pattern options and try to find 2 other options with a similar size.\n const finderPatternGroups: Array<{ points: [Point, Point, Point], score: number }> = [];\n for (let i = 0; i < Math.min(scoredFinderPatternPositions.length, MAX_FINDERPATTERNS_TO_SEARCH); ++i) {\n const point = scoredFinderPatternPositions[i];\n const otherPoints: typeof scoredFinderPatternPositions = [];\n\n for (const otherPoint of scoredFinderPatternPositions) {\n if (otherPoint === point) {\n continue;\n }\n otherPoints.push({\n ...otherPoint,\n score: otherPoint.score + ((otherPoint.size - point.size) ** 2) / point.size, // score similarity of sizes\n });\n }\n otherPoints.sort((a, b) => a.score - b.score);\n\n finderPatternGroups.push({\n points: [point, otherPoints[0], otherPoints[1]], // note that otherPoints.length >= 2 as scoredFinderPatternPositions.length >= 3\n score: point.score + otherPoints[0].score + otherPoints[1].score, // total combined score of the three points in the group\n });\n }\n finderPatternGroups.sort((a, b) => a.score - b.score);\n const bestFinderPatternGroup = finderPatternGroups[0];\n\n const { topRight, topLeft, bottomLeft } = reorderFinderPatterns(...bestFinderPatternGroup.points);\n const alignment = findAlignmentPattern(matrix, alignmentPatternQuads, topRight, topLeft, bottomLeft);\n const result: QRLocation[] = [];\n if (alignment) {\n result.push({\n alignmentPattern: { x: alignment.alignmentPattern.x, y: alignment.alignmentPattern.y },\n bottomLeft: {x: bottomLeft.x, y: bottomLeft.y },\n dimension: alignment.dimension,\n topLeft: {x: topLeft.x, y: topLeft.y },\n topRight: {x: topRight.x, y: topRight.y },\n });\n }\n\n // We normally use the center of the quads as the location of the tracking points, which is optimal for most cases and will account\n // for a skew in the image. However, In some cases, a slight skew might not be real and instead be caused by image compression\n // errors and/or low resolution. For those cases, we'd be better off centering the point exactly in the middle of the black area. We\n // compute and return the location data for the naively centered points as it is little additional work and allows for multiple\n // attempts at decoding harder images.\n const midTopRight = recenterLocation(matrix, topRight);\n const midTopLeft = recenterLocation(matrix, topLeft);\n const midBottomLeft = recenterLocation(matrix, bottomLeft);\n const centeredAlignment = findAlignmentPattern(matrix, alignmentPatternQuads, midTopRight, midTopLeft, midBottomLeft);\n if (centeredAlignment) {\n result.push({\n alignmentPattern: { x: centeredAlignment.alignmentPattern.x, y: centeredAlignment.alignmentPattern.y },\n bottomLeft: { x: midBottomLeft.x, y: midBottomLeft. y },\n topLeft: { x: midTopLeft.x, y: midTopLeft. y },\n topRight: { x: midTopRight.x, y: midTopRight. y },\n dimension: centeredAlignment.dimension,\n });\n }\n\n if (result.length === 0) {\n return null;\n }\n\n return result;\n}\n\nfunction findAlignmentPattern(matrix: BitMatrix, alignmentPatternQuads: Quad[], topRight: Point, topLeft: Point, bottomLeft: Point) {\n // Now that we've found the three finder patterns we can determine the blockSize and the size of the QR code.\n // We'll use these to help find the alignment pattern but also later when we do the extraction.\n let dimension: number;\n let moduleSize: number;\n try {\n ({ dimension, moduleSize } = computeDimension(topLeft, topRight, bottomLeft, matrix));\n } catch (e) {\n return null;\n }\n\n // Now find the alignment pattern\n const bottomRightFinderPattern = { // Best guess at where a bottomRight finder pattern would be\n x: topRight.x - topLeft.x + bottomLeft.x,\n y: topRight.y - topLeft.y + bottomLeft.y,\n };\n const modulesBetweenFinderPatterns = ((distance(topLeft, bottomLeft) + distance(topLeft, topRight)) / 2 / moduleSize);\n const correctionToTopLeft = 1 - (3 / modulesBetweenFinderPatterns);\n const expectedAlignmentPattern = {\n x: topLeft.x + correctionToTopLeft * (bottomRightFinderPattern.x - topLeft.x),\n y: topLeft.y + correctionToTopLeft * (bottomRightFinderPattern.y - topLeft.y),\n };\n\n const alignmentPatterns = alignmentPatternQuads\n .map(q => {\n const x = (q.top.startX + q.top.endX + q.bottom.startX + q.bottom.endX) / 4;\n const y = (q.top.y + q.bottom.y + 1) / 2;\n if (!matrix.get(Math.floor(x), Math.floor(y))) {\n return;\n }\n\n const sizeScore = scorePattern({x: Math.floor(x), y: Math.floor(y)}, [1, 1, 1], matrix);\n const score = sizeScore + distance({x, y}, expectedAlignmentPattern);\n return { x, y, score };\n })\n .filter(v => !!v)\n .sort((a, b) => a.score - b.score);\n\n // If there are less than 15 modules between finder patterns it's a version 1 QR code and as such has no alignmemnt pattern\n // so we can only use our best guess.\n const alignmentPattern = modulesBetweenFinderPatterns >= 15 && alignmentPatterns.length ? alignmentPatterns[0] : expectedAlignmentPattern;\n\n return { alignmentPattern, dimension };\n}\n", "import {binarize} from \"./binarizer\";\nimport {BitMatrix} from \"./BitMatrix\";\nimport {Chunks} from \"./decoder/decodeData\";\nimport {decode} from \"./decoder/decoder\";\nimport { Version } from \"./decoder/version\";\nimport {extract} from \"./extractor\";\nimport {locate, Point} from \"./locator\";\n\nexport interface QRCode {\n binaryData: number[];\n data: string;\n chunks: Chunks;\n version: number;\n location: {\n topRightCorner: Point;\n topLeftCorner: Point;\n bottomRightCorner: Point;\n bottomLeftCorner: Point;\n\n topRightFinderPattern: Point;\n topLeftFinderPattern: Point;\n bottomLeftFinderPattern: Point;\n\n bottomRightAlignmentPattern?: Point;\n };\n matrix: BitMatrix;\n}\n\nfunction scan(matrix: BitMatrix): QRCode | null {\n const locations = locate(matrix);\n if (!locations) {\n return null;\n }\n\n for (const location of locations) {\n const extracted = extract(matrix, location);\n const decoded = decode(extracted.matrix);\n if (decoded) {\n return {\n binaryData: decoded.bytes,\n data: decoded.text,\n chunks: decoded.chunks,\n version: decoded.version,\n location: {\n topRightCorner: extracted.mappingFunction(location.dimension, 0),\n topLeftCorner: extracted.mappingFunction(0, 0),\n bottomRightCorner: extracted.mappingFunction(location.dimension, location.dimension),\n bottomLeftCorner: extracted.mappingFunction(0, location.dimension),\n\n topRightFinderPattern: location.topRight,\n topLeftFinderPattern: location.topLeft,\n bottomLeftFinderPattern: location.bottomLeft,\n\n bottomRightAlignmentPattern: location.alignmentPattern,\n },\n matrix: extracted.matrix,\n };\n }\n }\n return null;\n}\n\nexport interface Options {\n inversionAttempts?: \"dontInvert\" | \"onlyInvert\" | \"attemptBoth\" | \"invertFirst\";\n greyScaleWeights?: GreyscaleWeights;\n canOverwriteImage?: boolean;\n}\n\nexport interface GreyscaleWeights {\n red: number;\n green: number;\n blue: number;\n useIntegerApproximation?: boolean;\n}\n\nconst defaultOptions: Options = {\n inversionAttempts: \"attemptBoth\",\n greyScaleWeights: {\n red: 0.2126,\n green: 0.7152,\n blue: 0.0722,\n useIntegerApproximation: false,\n },\n canOverwriteImage: true,\n};\n\nfunction mergeObject(target: any, src: any) {\n Object.keys(src).forEach(opt => { // Sad implementation of Object.assign since we target es5 not es6\n target[opt] = src[opt];\n });\n}\n\nfunction jsQR(data: Uint8ClampedArray, width: number, height: number, providedOptions: Options = {}): QRCode | null {\n const options = Object.create(null);\n mergeObject(options, defaultOptions);\n mergeObject(options, providedOptions);\n\n const tryInvertedFirst = options.inversionAttempts === \"onlyInvert\" || options.inversionAttempts === \"invertFirst\";\n const shouldInvert = options.inversionAttempts === \"attemptBoth\" || tryInvertedFirst;\n const {binarized, inverted} = binarize(data, width, height, shouldInvert, options.greyScaleWeights,\n options.canOverwriteImage);\n let result = scan(tryInvertedFirst ? inverted : binarized);\n if (!result && (options.inversionAttempts === \"attemptBoth\" || options.inversionAttempts === \"invertFirst\")) {\n result = scan(tryInvertedFirst ? binarized : inverted);\n }\n return result;\n}\n\n(jsQR as any).default = jsQR;\nexport default jsQR;\n", "import { useEffect, useRef } from \"react\";\n\nexport type UseAnimationFrameCallback = ({\n\ttotalMs,\n\tdeltaMs,\n}: {\n\ttotalMs: number;\n\tdeltaMs: number;\n}) => void;\n\nexport function useAnimationFrame(\n\tcb: UseAnimationFrameCallback,\n\tdeps?: React.DependencyList,\n): void {\n\tif (typeof performance === \"undefined\" || typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\n\tconst frame = useRef();\n\tconst last = useRef(performance.now());\n\tconst init = useRef(performance.now());\n\n\tconst animate = () => {\n\t\tconst now = performance.now();\n\t\tconst totalMs = now - init.current;\n\t\tconst deltaMs = now - last.current;\n\t\tcb({ totalMs, deltaMs });\n\t\tlast.current = now;\n\t\tframe.current = requestAnimationFrame(animate);\n\t};\n\n\tuseEffect(() => {\n\t\tframe.current = requestAnimationFrame(animate);\n\t\treturn () => cancelAnimationFrame(frame.current!);\n\t}, deps);\n}\n", "import { makeStyles } from \"@material-ui/core/styles\";\nimport { useAdapter } from \"iobroker-react/hooks\";\nimport { useEffect } from \"react\";\nimport { NotRunning } from \"../components/Messages\";\nimport { drawNetworkMap } from \"../lib/networkMap\";\nimport { useAPI } from \"../lib/useAPI\";\n\nconst useStyles = makeStyles((theme) => ({\n\tmap: {\n\t\t\"& text\": {\n\t\t\tfill: theme.palette.text.primary,\n\t\t},\n\t},\n}));\n\nexport const NetworkMap: React.FC = () => {\n\tconst { alive: adapterRunning, connected: driverReady } = useAdapter();\n\tconst api = useAPI();\n\tconst classes = useStyles();\n\n\tuseEffect(() => {\n\t\tif (adapterRunning && driverReady) {\n\t\t\tapi.getNetworkMap()\n\t\t\t\t.then((nodes) => {\n\t\t\t\t\tdrawNetworkMap(\"#map\", nodes);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t});\n\t\t}\n\t}, [adapterRunning, driverReady, api]);\n\treturn adapterRunning && driverReady ? (\n\t\t
    \n\t) : (\n\t\t\n\t);\n};\n", "export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n", "export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n", "export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n", "export var abs = Math.abs;\nexport var cos = Math.cos;\nexport var sin = Math.sin;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = pi * 2;\nexport var max = Math.max;\nexport var epsilon = 1e-12;\n", "import {max, tau} from \"./math.js\";\n\nfunction range(i, j) {\n return Array.from({length: j - i}, (_, k) => i + k);\n}\n\nfunction compareValue(compare) {\n return function(a, b) {\n return compare(\n a.source.value + a.target.value,\n b.source.value + b.target.value\n );\n };\n}\n\nexport default function() {\n return chord(false, false);\n}\n\nexport function chordTranspose() {\n return chord(false, true);\n}\n\nexport function chordDirected() {\n return chord(true, false);\n}\n\nfunction chord(directed, transpose) {\n var padAngle = 0,\n sortGroups = null,\n sortSubgroups = null,\n sortChords = null;\n\n function chord(matrix) {\n var n = matrix.length,\n groupSums = new Array(n),\n groupIndex = range(0, n),\n chords = new Array(n * n),\n groups = new Array(n),\n k = 0, dx;\n\n matrix = Float64Array.from({length: n * n}, transpose\n ? (_, i) => matrix[i % n][i / n | 0]\n : (_, i) => matrix[i / n | 0][i % n]);\n\n // Compute the scaling factor from value to angle in [0, 2pi].\n for (let i = 0; i < n; ++i) {\n let x = 0;\n for (let j = 0; j < n; ++j) x += matrix[i * n + j] + directed * matrix[j * n + i];\n k += groupSums[i] = x;\n }\n k = max(0, tau - padAngle * n) / k;\n dx = k ? padAngle : tau / n;\n\n // Compute the angles for each group and constituent chord.\n {\n let x = 0;\n if (sortGroups) groupIndex.sort((a, b) => sortGroups(groupSums[a], groupSums[b]));\n for (const i of groupIndex) {\n const x0 = x;\n if (directed) {\n const subgroupIndex = range(~n + 1, n).filter(j => j < 0 ? matrix[~j * n + i] : matrix[i * n + j]);\n if (sortSubgroups) subgroupIndex.sort((a, b) => sortSubgroups(a < 0 ? -matrix[~a * n + i] : matrix[i * n + a], b < 0 ? -matrix[~b * n + i] : matrix[i * n + b]));\n for (const j of subgroupIndex) {\n if (j < 0) {\n const chord = chords[~j * n + i] || (chords[~j * n + i] = {source: null, target: null});\n chord.target = {index: i, startAngle: x, endAngle: x += matrix[~j * n + i] * k, value: matrix[~j * n + i]};\n } else {\n const chord = chords[i * n + j] || (chords[i * n + j] = {source: null, target: null});\n chord.source = {index: i, startAngle: x, endAngle: x += matrix[i * n + j] * k, value: matrix[i * n + j]};\n }\n }\n groups[i] = {index: i, startAngle: x0, endAngle: x, value: groupSums[i]};\n } else {\n const subgroupIndex = range(0, n).filter(j => matrix[i * n + j] || matrix[j * n + i]);\n if (sortSubgroups) subgroupIndex.sort((a, b) => sortSubgroups(matrix[i * n + a], matrix[i * n + b]));\n for (const j of subgroupIndex) {\n let chord;\n if (i < j) {\n chord = chords[i * n + j] || (chords[i * n + j] = {source: null, target: null});\n chord.source = {index: i, startAngle: x, endAngle: x += matrix[i * n + j] * k, value: matrix[i * n + j]};\n } else {\n chord = chords[j * n + i] || (chords[j * n + i] = {source: null, target: null});\n chord.target = {index: i, startAngle: x, endAngle: x += matrix[i * n + j] * k, value: matrix[i * n + j]};\n if (i === j) chord.source = chord.target;\n }\n if (chord.source && chord.target && chord.source.value < chord.target.value) {\n const source = chord.source;\n chord.source = chord.target;\n chord.target = source;\n }\n }\n groups[i] = {index: i, startAngle: x0, endAngle: x, value: groupSums[i]};\n }\n x += dx;\n }\n }\n\n // Remove empty chords.\n chords = Object.values(chords);\n chords.groups = groups;\n return sortChords ? chords.sort(sortChords) : chords;\n }\n\n chord.padAngle = function(_) {\n return arguments.length ? (padAngle = max(0, _), chord) : padAngle;\n };\n\n chord.sortGroups = function(_) {\n return arguments.length ? (sortGroups = _, chord) : sortGroups;\n };\n\n chord.sortSubgroups = function(_) {\n return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;\n };\n\n chord.sortChords = function(_) {\n return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;\n };\n\n return chord;\n}\n", "const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We\u2019re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n", "export var slice = Array.prototype.slice;\n", "export default function(x) {\n return function() {\n return x;\n };\n}\n", "import {path} from \"d3-path\";\nimport {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport {abs, cos, epsilon, halfPi, sin} from \"./math.js\";\n\nfunction defaultSource(d) {\n return d.source;\n}\n\nfunction defaultTarget(d) {\n return d.target;\n}\n\nfunction defaultRadius(d) {\n return d.radius;\n}\n\nfunction defaultStartAngle(d) {\n return d.startAngle;\n}\n\nfunction defaultEndAngle(d) {\n return d.endAngle;\n}\n\nfunction defaultPadAngle() {\n return 0;\n}\n\nfunction defaultArrowheadRadius() {\n return 10;\n}\n\nfunction ribbon(headRadius) {\n var source = defaultSource,\n target = defaultTarget,\n sourceRadius = defaultRadius,\n targetRadius = defaultRadius,\n startAngle = defaultStartAngle,\n endAngle = defaultEndAngle,\n padAngle = defaultPadAngle,\n context = null;\n\n function ribbon() {\n var buffer,\n s = source.apply(this, arguments),\n t = target.apply(this, arguments),\n ap = padAngle.apply(this, arguments) / 2,\n argv = slice.call(arguments),\n sr = +sourceRadius.apply(this, (argv[0] = s, argv)),\n sa0 = startAngle.apply(this, argv) - halfPi,\n sa1 = endAngle.apply(this, argv) - halfPi,\n tr = +targetRadius.apply(this, (argv[0] = t, argv)),\n ta0 = startAngle.apply(this, argv) - halfPi,\n ta1 = endAngle.apply(this, argv) - halfPi;\n\n if (!context) context = buffer = path();\n\n if (ap > epsilon) {\n if (abs(sa1 - sa0) > ap * 2 + epsilon) sa1 > sa0 ? (sa0 += ap, sa1 -= ap) : (sa0 -= ap, sa1 += ap);\n else sa0 = sa1 = (sa0 + sa1) / 2;\n if (abs(ta1 - ta0) > ap * 2 + epsilon) ta1 > ta0 ? (ta0 += ap, ta1 -= ap) : (ta0 -= ap, ta1 += ap);\n else ta0 = ta1 = (ta0 + ta1) / 2;\n }\n\n context.moveTo(sr * cos(sa0), sr * sin(sa0));\n context.arc(0, 0, sr, sa0, sa1);\n if (sa0 !== ta0 || sa1 !== ta1) {\n if (headRadius) {\n var hr = +headRadius.apply(this, arguments), tr2 = tr - hr, ta2 = (ta0 + ta1) / 2;\n context.quadraticCurveTo(0, 0, tr2 * cos(ta0), tr2 * sin(ta0));\n context.lineTo(tr * cos(ta2), tr * sin(ta2));\n context.lineTo(tr2 * cos(ta1), tr2 * sin(ta1));\n } else {\n context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));\n context.arc(0, 0, tr, ta0, ta1);\n }\n }\n context.quadraticCurveTo(0, 0, sr * cos(sa0), sr * sin(sa0));\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n if (headRadius) ribbon.headRadius = function(_) {\n return arguments.length ? (headRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : headRadius;\n };\n\n ribbon.radius = function(_) {\n return arguments.length ? (sourceRadius = targetRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : sourceRadius;\n };\n\n ribbon.sourceRadius = function(_) {\n return arguments.length ? (sourceRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : sourceRadius;\n };\n\n ribbon.targetRadius = function(_) {\n return arguments.length ? (targetRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : targetRadius;\n };\n\n ribbon.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : startAngle;\n };\n\n ribbon.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : endAngle;\n };\n\n ribbon.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : padAngle;\n };\n\n ribbon.source = function(_) {\n return arguments.length ? (source = _, ribbon) : source;\n };\n\n ribbon.target = function(_) {\n return arguments.length ? (target = _, ribbon) : target;\n };\n\n ribbon.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;\n };\n\n return ribbon;\n}\n\nexport default function() {\n return ribbon();\n}\n\nexport function ribbonArrow() {\n return ribbon(defaultArrowheadRadius);\n}\n", "export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n", "import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n", "export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n", "import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n", "export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n", "import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n", "export default x => () => x;\n", "import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n", "import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n", "export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n", "import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default scheme => interpolateRgbBasis(scheme[scheme.length - 1]);\n", "import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n", "export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n", "import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n", "import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n", "function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n", "import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n", "// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don\u2019t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n", "function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n", "import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n", "export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n", "import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n", "import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n", "import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n", "export default function(update) {\n return new Array(update.length);\n}\n", "import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n", "export default function(x) {\n return function() {\n return x;\n };\n}\n", "import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don\u2019t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn\u2019t worried about \u201Clive\u201D collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don\u2019t; we\u2019d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n", "import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n", "export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n", "import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n", "export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n", "import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n", "export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n", "export default function() {\n return Array.from(this);\n}\n", "export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n", "export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n", "export default function() {\n return !this.node();\n}\n", "export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n", "import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n", "export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n", "import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n", "function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n", "function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n", "function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n", "function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n", "function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n", "function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n", "import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n", "import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n", "function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n", "function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n", "export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n", "function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n", "import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n", "export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n", "import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n", "import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n", "export default function(x) {\n return function constant() {\n return x;\n };\n}\n", "export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n", "import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 \u2265 r0, da1 \u2265 da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector\u2019s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it\u2019s a circular sector?\n // Or perhaps it\u2019s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector\u2019s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n", "// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\n\n// Based on https://bl.ocks.org/JulienAssouline/2847e100ac7d4d3981b0f49111e185fe\nimport { ascending, range } from \"d3-array\";\nimport { chord as d3chord, ribbon } from \"d3-chord\";\nimport { scaleOrdinal } from \"d3-scale\";\nimport { schemeSpectral } from \"d3-scale-chromatic\";\nimport { select } from \"d3-selection\";\nimport { arc } from \"d3-shape\";\n\nexport function drawNetworkMap(selector: string, nodes: NodeInfo[]): void {\n\tconst matrix = new Array(nodes.length)\n\t\t.fill(0)\n\t\t.map(() => new Array(nodes.length).fill(0));\n\tfunction addLink(from, to) {\n\t\t// Avoid crashing when a node has an outdated neighbor table\n\t\tif (from == undefined || to == undefined) return;\n\t\tmatrix[from][to] = matrix[to][from] = 1;\n\t}\n\n\t// Maps the node ID to index in the matrix\n\tconst nodeIndizes = new Map();\n\tfor (let i = 0; i < nodes.length; i++) {\n\t\tnodeIndizes.set(nodes[i].id, i);\n\t}\n\n\tfor (const node of nodes) {\n\t\tfor (const neighborId of node.neighbors) {\n\t\t\taddLink(nodeIndizes.get(node.id), nodeIndizes.get(neighborId));\n\t\t}\n\t}\n\n\t// Scale the flows for equal sized nodes\n\tconst sum = (arr) => arr.reduce((acc, cur) => acc + cur, 0);\n\tlet maxSum = Math.max(...matrix.map(sum));\n\tif (maxSum === 0) maxSum = 1;\n\n\t// Remember which nodes are not connected\n\tconst disconnected = new Set();\n\tfor (let i = 0; i < matrix.length; i++) {\n\t\tconst row = matrix[i];\n\t\tconst rowSum = sum(row);\n\t\tif (rowSum === 0) {\n\t\t\trow[i] = 1 / maxSum;\n\t\t\tdisconnected.add(nodes[i].id);\n\t\t} else {\n\t\t\tmatrix[i] = row.map((val) => val / maxSum);\n\t\t}\n\t}\n\t// Make Node 1 larger\n\tconst node1Factor = 1.5;\n\tconst row0Sum = sum(matrix[0]);\n\tmatrix[0] = matrix[0].map((val) => (val * node1Factor) / row0Sum);\n\tconst matrixSum = sum(matrix.map(sum));\n\t// row0Sum = node1Factor\n\n\t// chart dimensions\n\tconst width = 600;\n\tconst height = 600;\n\tconst outerRadius = Math.min(width, height) * 0.5 - 150;\n\tconst innerRadius = outerRadius - 20;\n\tconst gap = Math.min(0.15, Math.PI / 2 / nodes.length);\n\n\t// We rotate by one group so node 1 is at the top\n\t// The first group has the double size, so we add one fake group in the calculation\n\tconst remainder = 2 * Math.PI - nodes.length * gap;\n\tconst firstNodeRotation = 0.5 * remainder * (node1Factor / matrixSum);\n\n\tconst svg = select(selector)\n\t\t.append(\"svg\")\n\t\t// Responsive SVG needs these 2 attributes and no width and height attr.\n\t\t.attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n\t\t.attr(\"viewBox\", `${-width / 2} ${-height / 2} ${width} ${height}`)\n\t\t.append(\"g\")\n\t\t.attr(\n\t\t\t\"transform\",\n\t\t\t`rotate(-${(firstNodeRotation * (180 / Math.PI)).toFixed(2)})`,\n\t\t);\n\n\tconst chord = d3chord()\n\t\t.padAngle(gap)\n\t\t.sortChords(ascending)\n\t\t.sortSubgroups(() => 1)(matrix);\n\n\tconst arcs = arc().innerRadius(innerRadius).outerRadius(outerRadius);\n\n\tconst ribbonGenerator = ribbon().radius(innerRadius);\n\tconst colorScale = scaleOrdinal()\n\t\t// @ts-expect-error This does work\n\t\t.domain(range(nodes.length - 1))\n\t\t.range(schemeSpectral[Math.max(3, Math.min(11, nodes.length))]);\n\n\t// creating the fill gradient\n\tfunction getGradID(d) {\n\t\treturn \"linkGrad-\" + d.source.index + \"-\" + d.target.index;\n\t}\n\n\tconst grads = svg\n\t\t.append(\"defs\")\n\t\t.selectAll(\"linearGradient\")\n\t\t.data(chord)\n\t\t.enter()\n\t\t.append(\"linearGradient\")\n\t\t.attr(\"id\", getGradID)\n\t\t.attr(\"gradientUnits\", \"userSpaceOnUse\")\n\t\t.attr(\"x1\", function (d, _i) {\n\t\t\treturn (\n\t\t\t\tinnerRadius *\n\t\t\t\tMath.cos(\n\t\t\t\t\t(d.source.endAngle - d.source.startAngle) / 2 +\n\t\t\t\t\t\td.source.startAngle -\n\t\t\t\t\t\tMath.PI / 2,\n\t\t\t\t)\n\t\t\t);\n\t\t})\n\t\t.attr(\"y1\", function (d, _i) {\n\t\t\treturn (\n\t\t\t\tinnerRadius *\n\t\t\t\tMath.sin(\n\t\t\t\t\t(d.source.endAngle - d.source.startAngle) / 2 +\n\t\t\t\t\t\td.source.startAngle -\n\t\t\t\t\t\tMath.PI / 2,\n\t\t\t\t)\n\t\t\t);\n\t\t})\n\t\t.attr(\"x2\", function (d, _i) {\n\t\t\treturn (\n\t\t\t\tinnerRadius *\n\t\t\t\tMath.cos(\n\t\t\t\t\t(d.target.endAngle - d.target.startAngle) / 2 +\n\t\t\t\t\t\td.target.startAngle -\n\t\t\t\t\t\tMath.PI / 2,\n\t\t\t\t)\n\t\t\t);\n\t\t})\n\t\t.attr(\"y2\", function (d, _i) {\n\t\t\treturn (\n\t\t\t\tinnerRadius *\n\t\t\t\tMath.sin(\n\t\t\t\t\t(d.target.endAngle - d.target.startAngle) / 2 +\n\t\t\t\t\t\td.target.startAngle -\n\t\t\t\t\t\tMath.PI / 2,\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t// set the starting color (at 0%)\n\n\tgrads\n\t\t.append(\"stop\")\n\t\t.attr(\"offset\", \"0%\")\n\t\t.attr(\"stop-color\", (d) => colorScale(d.source.index));\n\n\t//set the ending color (at 100%)\n\tgrads\n\t\t.append(\"stop\")\n\t\t.attr(\"offset\", \"100%\")\n\t\t.attr(\"stop-color\", (d) => colorScale(d.target.index));\n\n\t// add the groups on the inner part of the circle\n\tconst node = svg\n\t\t.selectAll(\"g\")\n\t\t.data(chord.groups)\n\t\t.enter()\n\t\t.append(\"g\")\n\t\t.attr(\"class\", \"node\");\n\n\t// Create the node arcs\n\tnode.append(\"path\")\n\t\t.style(\"fill\", (d) => colorScale(d.index))\n\t\t.attr(\"d\", arcs);\n\n\t// Create the labels\n\tnode.append(\"text\")\n\t\t.each((d) => (d.angle = (d.startAngle + d.endAngle) / 2))\n\t\t// .attr(\"dy\", \"-0.25em\")\n\t\t.attr(\n\t\t\t\"class\",\n\t\t\t(_d, i) =>\n\t\t\t\t`node-id${\n\t\t\t\t\tdisconnected.has(nodes[i].id) ? \" disconnected\" : \"\"\n\t\t\t\t}`,\n\t\t)\n\t\t.attr(\"text-anchor\", (d) =>\n\t\t\td.angle - firstNodeRotation > Math.PI ? \"end\" : null,\n\t\t)\n\t\t.attr(\"dominant-baseline\", \"middle\")\n\t\t.attr(\"transform\", (d) => {\n\t\t\treturn (\n\t\t\t\t\"rotate(\" +\n\t\t\t\t((d.angle * 180) / Math.PI - 90) +\n\t\t\t\t\")\" +\n\t\t\t\t\"translate(\" +\n\t\t\t\t(outerRadius + 10) +\n\t\t\t\t\")\" +\n\t\t\t\t(d.angle - firstNodeRotation > Math.PI ? \"rotate(180)\" : \"\")\n\t\t\t);\n\t\t})\n\t\t.text((_d, i) => `Node ${nodes[i].id}`);\n\t//\n\t// node.append(\"text\")\n\t// \t.each(d => d.angle = (d.startAngle + d.endAngle) / 2)\n\t// \t.attr(\"dy\", \"0.6em\")\n\t// \t.attr(\"class\", \"node-name\")\n\t// \t.attr(\"text-anchor\", d => d.angle > Math.PI ? \"end\" : null)\n\t// \t.attr(\"transform\", d => {\n\t// \t\treturn \"rotate(\" + (d.angle * 180 / Math.PI - 90) + \")\"\n\t// \t\t\t+ \"translate(\" + (outerRadius + 10) + \")\"\n\t// \t\t\t+ (d.angle > Math.PI ? \"rotate(180)\" : \"\");\n\t// \t})\n\t// \t.text((d, i) => names[i % names.length]);\n\n\t// Add the links between groups\n\tsvg.datum(chord)\n\t\t.append(\"g\")\n\t\t.selectAll(\"path\")\n\t\t.data((d) =>\n\t\t\td.filter(\n\t\t\t\t(c) =>\n\t\t\t\t\tc.source.index !== c.target.index &&\n\t\t\t\t\tc.source.value > 0 &&\n\t\t\t\t\tc.target.value > 0,\n\t\t\t),\n\t\t)\n\t\t.enter()\n\t\t.append(\"path\")\n\t\t.attr(\n\t\t\t\"class\",\n\t\t\t(d) => `chord chord-${d.source.index} chord-${d.target.index}`,\n\t\t)\n\t\t.style(\"fill\", (d) => `url(#${getGradID(d)})`)\n\t\t.attr(\"d\", ribbonGenerator);\n}\n", "import { useConnection, useGlobals } from \"iobroker-react/hooks\";\nimport { createContext, useEffect, useState } from \"react\";\nimport { Device, useAPI } from \"./useAPI\";\nexport interface DevicesContextData {\n\tdevices: Record;\n\tupdateDevices(): Promise;\n}\n\nexport const DevicesContext = createContext({\n\tdevices: {},\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tasync updateDevices() {},\n});\n\nconst deviceIdRegex = /Node_(\\d+)$/;\nconst deviceReadyRegex = /Node_(\\d+)\\.ready$/;\nconst deviceStatusRegex = /Node_(\\d+)\\.status$/;\n\nexport function useDevices(): readonly [\n\tRecord | undefined,\n\t() => Promise,\n] {\n\tconst connection = useConnection();\n\tconst [devices, setDevices] = useState>();\n\tconst { namespace } = useGlobals();\n\tconst api = useAPI();\n\n\tconst onObjectChange: ioBroker.ObjectChangeHandler = async (id, obj) => {\n\t\tif (!id.startsWith(namespace) || !deviceIdRegex.test(id)) return;\n\t\tif (obj) {\n\t\t\t// New or changed device object\n\t\t\tif (obj.type === \"device\" && typeof obj.native.id === \"number\") {\n\t\t\t\tconst nodeId = obj.native.id;\n\t\t\t\tconst device: Device = {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: obj,\n\t\t\t\t\tstatus: await api.getNodeStatus(nodeId),\n\t\t\t\t\tready: await api.getNodeReady(nodeId),\n\t\t\t\t};\n\t\t\t\tif (device.ready) {\n\t\t\t\t\tawait api.updateEndpointsAndAssociations(nodeId, device);\n\t\t\t\t}\n\t\t\t\tsetDevices((devices) => ({ ...devices, [nodeId]: device }));\n\t\t\t}\n\t\t} else {\n\t\t\tconst nodeId = parseInt(deviceIdRegex.exec(id)![1], 10);\n\t\t\tsetDevices((devices) => {\n\t\t\t\tconst newDevices = { ...devices };\n\t\t\t\tdelete newDevices[nodeId];\n\t\t\t\treturn newDevices;\n\t\t\t});\n\t\t}\n\t};\n\n\tconst updateAssociations = async (nodeId: number) => {\n\t\tconst device = {} as Device;\n\t\tawait api.updateEndpointsAndAssociations(nodeId, device);\n\t\tsetDevices((devices) => {\n\t\t\tconst updatedDevice = devices?.[nodeId];\n\t\t\tif (updatedDevice) {\n\t\t\t\tupdatedDevice.endpoints = device.endpoints;\n\t\t\t\treturn {\n\t\t\t\t\t...devices,\n\t\t\t\t\t[nodeId]: updatedDevice,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn devices;\n\t\t\t}\n\t\t});\n\t};\n\n\tconst onStateChange: ioBroker.StateChangeHandler = async (id, state) => {\n\t\tif (!id.startsWith(namespace)) return;\n\t\tif (!state || !state.ack) return;\n\n\t\tif (id.match(deviceStatusRegex)) {\n\t\t\t// A device's status was changed\n\t\t\tconst nodeId = parseInt(deviceStatusRegex.exec(id)![1], 10);\n\t\t\tsetDevices((devices) => {\n\t\t\t\tconst updatedDevice = devices?.[nodeId];\n\t\t\t\tif (updatedDevice) {\n\t\t\t\t\tupdatedDevice.status = state.val as any;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...devices,\n\t\t\t\t\t\t[nodeId]: updatedDevice,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn devices;\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (id.match(deviceReadyRegex)) {\n\t\t\t// A device's ready state was changed\n\t\t\tconst nodeId = parseInt(deviceReadyRegex.exec(id)![1], 10);\n\t\t\tsetDevices((devices) => {\n\t\t\t\tconst updatedDevice = devices?.[nodeId];\n\t\t\t\tif (updatedDevice) {\n\t\t\t\t\tupdatedDevice.ready = state.val as any;\n\t\t\t\t\t// schedule an update of the associations\n\t\t\t\t\tif (updatedDevice.ready)\n\t\t\t\t\t\tsetTimeout(() => void updateAssociations(nodeId), 0);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...devices,\n\t\t\t\t\t\t[nodeId]: updatedDevice,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn devices;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tasync function updateDevices(): Promise {\n\t\tsetDevices(\n\t\t\tawait api.loadDevices({\n\t\t\t\tstatus: true,\n\t\t\t\tassociations: true,\n\t\t\t\tready: true,\n\t\t\t}),\n\t\t);\n\t}\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\t// Load devices initially\n\t\t\tawait updateDevices();\n\n\t\t\t// And update them on changes - these patterns are a bit broad, but we're going to reuse them anyways\n\t\t\tconnection.subscribeObject(`${namespace}.Node_*`, onObjectChange);\n\t\t\tconnection.subscribeState(`${namespace}.Node_*`, onStateChange);\n\t\t})();\n\n\t\t// componentWillUnmount\n\t\treturn () => {\n\t\t\tconnection.unsubscribeObject(`${namespace}.Node_*`, onObjectChange);\n\t\t\tconnection.unsubscribeState(`${namespace}.Node_*`, onStateChange);\n\t\t};\n\t}, []);\n\n\treturn [devices, updateDevices] as const;\n}\n", "import CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport { GroupRow } from \"../components/GroupRow\";\nimport type { Device } from \"../lib/useAPI\";\nimport { nameFromGroupObject, useGroups } from \"../lib/useGroups\";\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\twidth: \"100%\",\n\t\tmarginTop: theme.spacing(2),\n\t},\n\tcontainer: {\n\t\toverflowY: \"auto\",\n\t},\n\tempty: {\n\t\ttextAlign: \"center\",\n\t\tfontStyle: \"italic\",\n\t},\n}));\n\nexport interface GroupsProps {\n\tdevices: Record | undefined;\n}\n\nexport const Groups: React.FC = (props) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\tconst { groups, saveGroup, deleteGroup } = useGroups();\n\n\tif (!props.devices || !groups) return ;\n\n\tconst selectableNodes = Object.values(props.devices).filter((device) => {\n\t\tconst { isControllerNode, secure } = device.value.native;\n\t\treturn !isControllerNode && !secure;\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{_(\"no multicast S0\")}\n\t\t\t\t
    \n\t\t\t\t{_(\"no multicast S2\")}\n\t\t\t
    \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{_(\"Group name\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{_(\"Nodes\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{Object.entries(groups).map(([id, group]) => (\n\t\t\t\t\t\t\t\t deleteGroup(group)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{/* Empty row to add new associations */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\n\t);\n};\n", "import Button from \"@material-ui/core/Button\";\nimport ButtonGroup from \"@material-ui/core/ButtonGroup\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Typography from \"@material-ui/core/Typography\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport CheckBoxIcon from \"@material-ui/icons/CheckBox\";\nimport CheckBoxOutlineBlankIcon from \"@material-ui/icons/CheckBoxOutlineBlank\";\nimport DeleteForeverIcon from \"@material-ui/icons/DeleteForever\";\nimport RestoreIcon from \"@material-ui/icons/Restore\";\nimport SaveIcon from \"@material-ui/icons/Save\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport { padStart } from \"alcalzone-shared/strings\";\nimport clsx from \"clsx\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport React, { useEffect, useState } from \"react\";\nimport { getErrorMessage } from \"../../../src/lib/shared\";\nimport { arrayEquals } from \"../lib/tools\";\nimport type { Device } from \"../lib/useAPI\";\n\nconst icon = ;\nconst checkedIcon = ;\n\nexport interface GroupRowProps {\n\tobjectId?: string;\n\tname: string | undefined;\n\tnodeIds: number[] | undefined;\n\n\tselectableNodes: Device[];\n\n\t// Will be called when the group should be saved\n\tsave(name: string, nodeIds: number[], oldName?: string): Promise;\n\t// Will be called when the group should be deleted\n\tdelete?(): Promise;\n}\n\nconst useStyles = makeStyles((theme) => ({\n\tinput: {\n\t\twidth: \"100%\",\n\t\tmargin: 0,\n\t},\n\tcell: {\n\t\tpadding: theme.spacing(1, 2),\n\t},\n\tcellWithId: {\n\t\tpaddingTop: 0,\n\t},\n\tidCell: {\n\t\tcolor: theme.palette.text.hint,\n\t\tpadding: theme.spacing(1, 2, 0, 2),\n\t\tborder: 0,\n\t},\n}));\n\nexport const GroupRow: React.FC = (props) => {\n\tconst { translate: _ } = useI18n();\n\n\tconst [name, setName] = useState(props.name ?? \"\");\n\tconst [nodeIds, setNodeIds] = useState(props.nodeIds ?? []);\n\n\tconst [isValid, setValid] = useState(false);\n\tconst [hasChanges, setHasChanges] = useState(false);\n\tconst [isBusy, setBusy] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetHasChanges(\n\t\t\t(name !== \"\" && name !== props.name) ||\n\t\t\t\t!arrayEquals(nodeIds, props.nodeIds ?? []),\n\t\t);\n\t\t// TODO: Check if the group exists already\n\t\tsetValid(!!name && nodeIds.length > 1);\n\t}, [name, props.name, nodeIds, props.nodeIds]);\n\n\tconst nodesOptions = props.selectableNodes.map((device) => ({\n\t\tvalue: device.value.native.id,\n\t\tlabel: `${_(\"Node\")} ${padStart(\n\t\t\tdevice.value.native.id.toString(),\n\t\t\t3,\n\t\t\t\"0\",\n\t\t)}`,\n\t}));\n\tconst selectedNodes = nodesOptions.filter((o) => nodeIds.includes(o.value));\n\n\tconst isNewGroup = props.name == undefined && props.nodeIds == undefined;\n\n\tasync function saveGroup() {\n\t\ttry {\n\t\t\tsetBusy(true);\n\t\t\tawait props.save(name!, nodeIds.sort(), props.objectId);\n\t\t\tif (isNewGroup) resetGroup();\n\t\t} catch (e) {\n\t\t\talert(_(`The group could not be saved!`));\n\t\t\tconsole.error(\n\t\t\t\t`The group could not be saved! Reason: ${getErrorMessage(e)}`,\n\t\t\t);\n\t\t\tresetGroup();\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t}\n\n\tfunction resetGroup() {\n\t\tsetName(props.name ?? \"\");\n\t\tsetNodeIds(props.nodeIds ?? []);\n\t}\n\n\tasync function deleteGroup() {\n\t\tif (!props.delete) return;\n\t\ttry {\n\t\t\tsetBusy(true);\n\t\t\tawait props.delete();\n\t\t} catch (e) {\n\t\t\talert(_(`The group could not be deleted!`));\n\t\t\tconsole.error(\n\t\t\t\t`The group could not be deleted! Reason: ${getErrorMessage(e)}`,\n\t\t\t);\n\t\t\tresetGroup();\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t}\n\n\tconst classes = useStyles();\n\n\tconst cellClassName = clsx(\n\t\tclasses.cell,\n\t\t!!props.objectId ? classes.cellWithId : undefined,\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{!!props.objectId && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tID: {props.objectId}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setName(e.target.value)}\n\t\t\t\t\t>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t option.label}\n\t\t\t\t\t\tvalue={selectedNodes}\n\t\t\t\t\t\tonChange={(e, value) =>\n\t\t\t\t\t\t\tsetNodeIds(value.map((v) => v.value))\n\t\t\t\t\t\t}\n\t\t\t\t\t\trenderOption={(option, { selected }) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trenderInput={(params) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t saveGroup()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{isNewGroup ? : }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t resetGroup()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{!isNewGroup && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t deleteGroup()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n", "export function arrayEquals(arr1: any[], arr2: any[]): boolean {\n\tif (arr1.length !== arr2.length) return false;\n\treturn arr1.every((item, index) => item === arr2[index]);\n}\n", "import { isArray } from \"alcalzone-shared/typeguards\";\nimport { useConnection, useGlobals } from \"iobroker-react/hooks\";\nimport { useCallback, useEffect, useState } from \"react\";\n\nexport type GroupObject = ioBroker.DeviceObject & {\n\tnative: ioBroker.DeviceObject[\"native\"] & {\n\t\tnodeIds: number[];\n\t};\n};\n\nconst groupIdRegex = /\\.Group_([^\\.]+)$/;\n\nfunction isGroupObject(obj: ioBroker.Object): obj is GroupObject {\n\tif (obj.type !== \"device\") return false;\n\tif (!isArray(obj.native.nodeIds)) return false;\n\treturn obj.native.nodeIds.every((n) => typeof n === \"number\");\n}\n\nfunction sanitizeName(name: string): string {\n\treturn name.replace(/[ .:,;\u00B5<>|!\"\u00A7$%&\\\\/()=?#+'~*]+/gi, \"_\");\n}\n\nexport function nameFromGroupObject(obj: GroupObject): string {\n\tif (typeof obj.common.name === \"string\" && !!obj.common.name) {\n\t\treturn obj.common.name;\n\t} else {\n\t\treturn obj._id.match(groupIdRegex)![1];\n\t}\n}\n\nexport function useGroups(): Readonly<{\n\t// id -> object\n\tgroups: Record | undefined;\n\tsaveGroup: (\n\t\tname: string,\n\t\tnodeIds: number[],\n\t\tobjectId?: string,\n\t) => Promise;\n\tdeleteGroup: (obj: GroupObject) => Promise;\n}> {\n\tconst connection = useConnection();\n\tconst [groups, setGroups] = useState>();\n\tconst { namespace } = useGlobals();\n\n\tconst onObjectChange: ioBroker.ObjectChangeHandler = async (id, obj) => {\n\t\tif (!id.startsWith(namespace) || !groupIdRegex.test(id)) return;\n\t\tif (obj) {\n\t\t\t// New or changed group object\n\t\t\tif (isGroupObject(obj)) {\n\t\t\t\tsetGroups((groups) => ({ ...groups, [id]: obj }));\n\t\t\t}\n\t\t} else {\n\t\t\tsetGroups((groups) => {\n\t\t\t\tconst newGroups = { ...groups };\n\t\t\t\tdelete newGroups[id];\n\t\t\t\treturn newGroups;\n\t\t\t});\n\t\t}\n\t};\n\n\tasync function loadGroups(): Promise {\n\t\tconst groupObjects = await connection.getObjectView(\n\t\t\t`${namespace}.Group_`,\n\t\t\t`${namespace}.Group_\\u9999`,\n\t\t\t\"device\",\n\t\t);\n\t\tconst groups: Record = {};\n\t\tfor (const [id, obj] of Object.entries(groupObjects)) {\n\t\t\tif (\n\t\t\t\t!id.startsWith(namespace) ||\n\t\t\t\t!groupIdRegex.test(id) ||\n\t\t\t\t!isGroupObject(obj)\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tgroups[id] = obj;\n\t\t}\n\n\t\tsetGroups(groups);\n\t}\n\n\tconst saveGroup = useCallback(\n\t\tasync (\n\t\t\tname: string,\n\t\t\tnodeIds: number[],\n\t\t\tobjectId?: string,\n\t\t): Promise => {\n\t\t\t// Reuse the old name for the ID when renaming a group\n\t\t\tconst id = objectId ?? `${namespace}.Group_${sanitizeName(name)}`;\n\t\t\tawait connection.setObject(id, {\n\t\t\t\ttype: \"device\",\n\t\t\t\tcommon: { name },\n\t\t\t\tnative: { multicast: true, nodeIds },\n\t\t\t});\n\t\t},\n\t\t[namespace, connection],\n\t);\n\n\tconst deleteGroup = useCallback(\n\t\tasync (obj: GroupObject): Promise => {\n\t\t\tawait connection.delObject(obj._id);\n\t\t},\n\t\t[connection],\n\t);\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\t// Load groups initially\n\t\t\tawait loadGroups();\n\n\t\t\t// And update them on changes - these patterns are a bit broad, but we're going to reuse them anyways\n\t\t\tconnection.subscribeObject(`${namespace}.Group_*`, onObjectChange);\n\t\t})();\n\n\t\t// componentWillUnmount\n\t\treturn () => {\n\t\t\tconnection.unsubscribeObject(\n\t\t\t\t`${namespace}.Group_*`,\n\t\t\t\tonObjectChange,\n\t\t\t);\n\t\t};\n\t}, []);\n\n\treturn { groups, saveGroup, deleteGroup } as const;\n}\n", "import Button from \"@material-ui/core/Button\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Typography from \"@material-ui/core/Typography\";\nimport AddAPhotoIcon from \"@material-ui/icons/AddAPhoto\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport type { SecurityClass } from \"@zwave-js/core\";\nimport { useAdapter, useDialogs, useI18n } from \"iobroker-react/hooks\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport {\n\tProvisioningEntryStatus,\n\tSmartStartProvisioningEntry,\n} from \"zwave-js/safe\";\nimport { Message, NotRunning } from \"../components/Messages\";\nimport { QRScanner } from \"../components/QRScanner\";\nimport { SmartStartTableRow } from \"../components/SmartStartTableRow\";\nimport { Device, useAPI } from \"../lib/useAPI\";\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\twidth: \"100%\",\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"column nowrap\",\n\t\tgap: theme.spacing(2),\n\t},\n\tcontainer: {\n\t\toverflowY: \"auto\",\n\t},\n\tscannerDialogContent: {\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"column nowrap\",\n\t\talignItems: \"center\",\n\t\tgap: theme.spacing(1),\n\t},\n}));\n\nexport interface SmartStartProps {\n\tdevices: Record | undefined;\n}\n\nexport const SmartStart: React.FC = (props) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\tconst api = useAPI();\n\tconst { showModal } = useDialogs();\n\tconst { alive: adapterRunning, connected: driverReady } = useAdapter();\n\n\t// Check for SmartStart support\n\tconst [supportsSmartStart, setSupportsSmartStart] =\n\t\tuseState(false);\n\tuseEffect(() => {\n\t\tif (driverReady) api.supportsSmartStart().then(setSupportsSmartStart);\n\t}, [driverReady, api]);\n\n\tconst [entries, setEntries] = useState();\n\n\tconst updateEntries = useCallback(async () => {\n\t\tconst entries = await api.getProvisioningEntries();\n\t\tentries.sort((a, b) => {\n\t\t\tconst nodeIdA = a.nodeId || 999999;\n\t\t\tconst nodeIdB = b.nodeId || 999999;\n\t\t\tconst result = nodeIdA - nodeIdB;\n\t\t\tif (result) return result;\n\t\t\treturn a.dsk.localeCompare(b.dsk);\n\t\t});\n\t\tsetEntries(entries);\n\t}, [api, setEntries]);\n\n\t// Update entries initially and when the devices change\n\tuseEffect(() => {\n\t\tupdateEntries();\n\t}, [api, props.devices]);\n\n\tconst provisionNode = useCallback(\n\t\tasync (\n\t\t\tstatus: ProvisioningEntryStatus,\n\t\t\tdsk: string,\n\t\t\tsecurityClasses: SecurityClass[],\n\t\t\tadditionalData?: Record,\n\t\t) => {\n\t\t\tawait api.provisionSmartStartNode(\n\t\t\t\tstatus,\n\t\t\t\tdsk,\n\t\t\t\tsecurityClasses,\n\t\t\t\tadditionalData,\n\t\t\t);\n\t\t\tawait updateEntries();\n\t\t},\n\t\t[api, updateEntries],\n\t);\n\n\tconst unprovisionNode = useCallback(\n\t\tasync (dsk: string) => {\n\t\t\tconst result = await showModal(\n\t\t\t\t_(\"Unprovision node?\"),\n\t\t\t\t_(\n\t\t\t\t\t\"Do you really want to remove this node from the provisioning list?\",\n\t\t\t\t),\n\t\t\t);\n\t\t\tif (!result) return;\n\n\t\t\tawait api.unprovisionSmartStartNode(dsk);\n\t\t\tawait updateEntries();\n\t\t},\n\t\t[api, updateEntries],\n\t);\n\n\tconst reprovisionNode = useCallback(\n\t\tasync (\n\t\t\tstatus: ProvisioningEntryStatus,\n\t\t\toldDsk: string,\n\t\t\tnewDsk: string,\n\t\t\tsecurityClasses: SecurityClass[],\n\t\t\tadditionalData?: Record,\n\t\t) => {\n\t\t\tif (oldDsk !== newDsk) {\n\t\t\t\tawait api.unprovisionSmartStartNode(oldDsk);\n\t\t\t}\n\t\t\tawait api.provisionSmartStartNode(\n\t\t\t\tstatus,\n\t\t\t\tnewDsk,\n\t\t\t\tsecurityClasses,\n\t\t\t\tadditionalData,\n\t\t\t);\n\t\t\tawait updateEntries();\n\t\t},\n\t\t[api, updateEntries],\n\t);\n\n\tconst [scannerNotification, setScannerNotification] = useState<{\n\t\tmessage: string;\n\t\tseverity: \"success\" | \"info\" | \"warning\" | \"error\";\n\t}>();\n\tconst [lastScanned, setLastScanned] = useState();\n\tconst [showQRCodeScanner, setShowQRCodeScanner] = useState(false);\n\tconst closeQRCodeScanner = () => {\n\t\tsetShowQRCodeScanner(false);\n\t\tsetTimeout(() => setScannerNotification(undefined), 250);\n\t};\n\tconst handleQRScan = async (code: string) => {\n\t\ttry {\n\t\t\tconst result = await api.scanQRCode(code, false);\n\t\t\tif (result.type === \"none\") {\n\t\t\t\tsetScannerNotification({\n\t\t\t\t\tmessage: _(\"This is not a valid Z-Wave QR code\"),\n\t\t\t\t\tseverity: \"error\",\n\t\t\t\t});\n\t\t\t} else if (result.type === \"SmartStart\") {\n\t\t\t\tconst { dsk, securityClasses, ...rest } = result;\n\t\t\t\tawait provisionNode(\n\t\t\t\t\tProvisioningEntryStatus.Active,\n\t\t\t\t\tdsk,\n\t\t\t\t\tsecurityClasses,\n\t\t\t\t\trest,\n\t\t\t\t);\n\t\t\t\tsetLastScanned(dsk);\n\t\t\t\tsetScannerNotification({\n\t\t\t\t\tmessage: _(\"Node successfully added to provisioning list\"),\n\t\t\t\t\tseverity: \"success\",\n\t\t\t\t});\n\t\t\t} else if (result.type === \"S2\") {\n\t\t\t\tsetScannerNotification({\n\t\t\t\t\tmessage: _(\n\t\t\t\t\t\t\"This is not a SmartStart QR code. Use the devices tab to include this node.\",\n\t\t\t\t\t),\n\t\t\t\t\tseverity: \"warning\",\n\t\t\t\t});\n\t\t\t} else if (result.type === \"included\") {\n\t\t\t\tsetScannerNotification({\n\t\t\t\t\tmessage: _(\n\t\t\t\t\t\t\"The device is already included as Node %s\",\n\t\t\t\t\t\tresult.nodeId.toString(),\n\t\t\t\t\t),\n\t\t\t\t\tseverity: \"info\",\n\t\t\t\t});\n\t\t\t} else if (result.type === \"provisioned\") {\n\t\t\t\t// Avoid false positives when we just added this node\n\t\t\t\tif (result.dsk === lastScanned) return;\n\n\t\t\t\tsetScannerNotification({\n\t\t\t\t\tmessage: _(\n\t\t\t\t\t\t\"This node is already on the SmartStart provisioning list\",\n\t\t\t\t\t),\n\t\t\t\t\tseverity: \"info\",\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// ignore\n\t\t}\n\t};\n\n\tif (!adapterRunning || !driverReady) return ;\n\tif (!entries || !props.devices) return ;\n\tif (!supportsSmartStart) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{_(\"The controller does not support SmartStart!\")}\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{_(\n\t\t\t\t\t\"Define here which SmartStart capable nodes should be part of the network by entering their DSK and granting security classes.\",\n\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t{_(\n\t\t\t\t\t\"When a node announces itself, it will automatically be included within 10 minutes.\",\n\t\t\t\t)}\n\t\t\t
    \n\n\t\t\t\n\t\t\t\t{_(\n\t\t\t\t\t\"Removing or disabling an entry does not automatically exclude the node.\",\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{/* QR Code scanner */}\n\t\t\t
    \n\t\t\t\t} // TODO: This should use MUI v5's QR code icon\n\t\t\t\t\tonClick={() => setShowQRCodeScanner(true)}\n\t\t\t\t>\n\t\t\t\t\t{_(\"Scan QR Code\")}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{_(\"Scan QR Code\")}\n\t\t\t\t\t\n\t\t\t\t\t\t{scannerNotification && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{scannerNotification.message}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{_(\"Close\")}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t#\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{_(\"Enabled\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{_(\"DSK\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{_(\"Security classes\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{entries.map((entry) => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tnodeId,\n\t\t\t\t\t\t\t\t\tdsk,\n\t\t\t\t\t\t\t\t\tsecurityClasses,\n\t\t\t\t\t\t\t\t\t...additionalData\n\t\t\t\t\t\t\t\t} = entry;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\treprovisionNode(\n\t\t\t\t\t\t\t\t\t\t\t\tstatus,\n\t\t\t\t\t\t\t\t\t\t\t\tentry.dsk,\n\t\t\t\t\t\t\t\t\t\t\t\tdsk,\n\t\t\t\t\t\t\t\t\t\t\t\tsecClasses,\n\t\t\t\t\t\t\t\t\t\t\t\tadditional,\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tunprovision={() =>\n\t\t\t\t\t\t\t\t\t\t\tunprovisionNode(entry.dsk)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t{/* Empty row to add new entries */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n", "import Button from \"@material-ui/core/Button\";\nimport ButtonGroup from \"@material-ui/core/ButtonGroup\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Typography from \"@material-ui/core/Typography\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport DeleteForeverIcon from \"@material-ui/icons/DeleteForever\";\nimport RestoreIcon from \"@material-ui/icons/Restore\";\nimport SaveIcon from \"@material-ui/icons/Save\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport { isValidDSK, SecurityClass } from \"@zwave-js/core/safe\";\nimport clsx from \"clsx\";\nimport { useI18n } from \"iobroker-react/hooks\";\nimport { useEffect, useState } from \"react\";\nimport { ProvisioningEntryStatus } from \"zwave-js/safe\";\nimport { getErrorMessage } from \"../../../src/lib/shared\";\nimport { arrayEquals } from \"../lib/tools\";\n\nconst useStyles = makeStyles((theme) => ({\n\tcell: {\n\t\tpadding: theme.spacing(1, 2),\n\t},\n\twithAdditionalData: {\n\t\t\"& td\": {\n\t\t\tpaddingTop: 0,\n\t\t},\n\t},\n\tadditionalData: {\n\t\t\"& td\": {\n\t\t\tcolor: theme.palette.text.hint,\n\t\t\tborderBottom: 0,\n\t\t\tpaddingBottom: 0,\n\t\t},\n\t},\n\tidCell: {\n\t\ttextAlign: \"center\",\n\t},\n\tinput: {\n\t\twidth: \"100%\",\n\t\tmargin: 0,\n\t},\n\tsecurityClassToggle: {\n\t\tlineHeight: 1.1,\n\t},\n}));\n\nexport interface SmartStartTableRowProps {\n\tnodeId: number | undefined;\n\tstatus: ProvisioningEntryStatus | undefined;\n\tdsk: string | undefined;\n\tsecurityClasses: SecurityClass[];\n\tadditionalData?: Record;\n\n\t// Will be called when the entry should be saved\n\tprovision(\n\t\tstatus: ProvisioningEntryStatus,\n\t\tdsk: string,\n\t\tsecurityClasses: SecurityClass[],\n\t\tadditionalData?: Record,\n\t): Promise;\n\t// Will be called when the entry should be deleted\n\tunprovision?(): Promise;\n}\n\nexport const SmartStartTableRow: React.FC = (\n\tprops,\n) => {\n\tconst classes = useStyles();\n\tconst { translate: _ } = useI18n();\n\n\tconst [status, setStatus] = useState(\n\t\tprops.status ?? ProvisioningEntryStatus.Active,\n\t);\n\tconst [dsk, setDsk] = useState(props.dsk ?? \"\");\n\tconst [securityClasses, setSecurityClasses] = useState(\n\t\tprops.securityClasses,\n\t);\n\n\tconst [isValid, setValid] = useState(false);\n\tconst [hasChanges, setHasChanges] = useState(false);\n\tconst [isBusy, setBusy] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetHasChanges(\n\t\t\tstatus !== (props.status ?? ProvisioningEntryStatus.Active) ||\n\t\t\t\t(dsk !== \"\" && dsk !== props.dsk) ||\n\t\t\t\t!arrayEquals(securityClasses, props.securityClasses),\n\t\t);\n\t\tsetValid(isValidDSK(dsk) && securityClasses.length > 0);\n\t}, [\n\t\tstatus,\n\t\tprops.status,\n\t\tdsk,\n\t\tprops.dsk,\n\t\tsecurityClasses,\n\t\tprops.securityClasses,\n\t]);\n\n\tconst handleDSKChange = (e: React.ChangeEvent) => {\n\t\tlet dsk = e.target.value.replace(/[^0-9]/g, \"\");\n\t\tif (dsk.length > 40) dsk = dsk.substr(0, 40);\n\t\t// Format as chunks of 5 digits\n\t\tlet result = \"\";\n\t\tfor (let chunk = 1; chunk <= 8; chunk++) {\n\t\t\tif (dsk.length > chunk * 5) {\n\t\t\t\tresult += dsk.substr((chunk - 1) * 5, 5) + \"-\";\n\t\t\t} else {\n\t\t\t\tresult += dsk.substr((chunk - 1) * 5);\n\t\t\t}\n\t\t}\n\t\tsetDsk(result);\n\t};\n\n\tconst selectSecurity = (\n\t\tevent: React.MouseEvent,\n\t\tsecClasses: SecurityClass[],\n\t) => {\n\t\tsetSecurityClasses(secClasses);\n\t};\n\n\tconst isNewEntry = props.dsk == undefined;\n\tconst isIncluded = props.nodeId != undefined;\n\n\tconst resetEntry = () => {\n\t\tsetStatus(props.status ?? ProvisioningEntryStatus.Active);\n\t\tsetDsk(props.dsk ?? \"\");\n\t\tsetSecurityClasses(props.securityClasses);\n\t};\n\n\tconst unprovision = async () => {\n\t\tif (!props.unprovision) return;\n\t\ttry {\n\t\t\tsetBusy(true);\n\t\t\tawait props.unprovision();\n\t\t} catch (e) {\n\t\t\talert(_(`The node could not be unprovisioned!`));\n\t\t\tconsole.error(\n\t\t\t\t`The node could not be unprovisioned! Reason: ${getErrorMessage(\n\t\t\t\t\te,\n\t\t\t\t)}`,\n\t\t\t);\n\t\t\tresetEntry();\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t};\n\n\tconst provision = async () => {\n\t\ttry {\n\t\t\tsetBusy(true);\n\t\t\tawait props.provision(\n\t\t\t\tstatus,\n\t\t\t\tdsk,\n\t\t\t\tsecurityClasses,\n\t\t\t\tprops.additionalData,\n\t\t\t);\n\t\t\tif (isNewEntry) resetEntry();\n\t\t} catch (e) {\n\t\t\talert(_(`The node could not be provisioned!`));\n\t\t\tconsole.error(\n\t\t\t\t`The node could not be provisioned! Reason: ${getErrorMessage(\n\t\t\t\t\te,\n\t\t\t\t)}`,\n\t\t\t);\n\t\t\tresetEntry();\n\t\t} finally {\n\t\t\tsetBusy(false);\n\t\t}\n\t};\n\n\t// Display the node information where known\n\tlet additionalData: string | undefined;\n\tif (props.additionalData) {\n\t\tif (props.additionalData.manufacturer) {\n\t\t\tadditionalData = props.additionalData.manufacturer;\n\t\t}\n\t\tif (props.additionalData.label) {\n\t\t\tif (additionalData) additionalData += \" \";\n\t\t\tadditionalData += props.additionalData.label;\n\t\t}\n\t\tif (props.additionalData.description) {\n\t\t\tif (additionalData) additionalData += \" - \";\n\t\t\tadditionalData += props.additionalData.description;\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!!additionalData && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{additionalData}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{props.nodeId ?? \"\"}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{!isNewEntry && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsetStatus(\n\t\t\t\t\t\t\t\t\tchecked\n\t\t\t\t\t\t\t\t\t\t? ProvisioningEntryStatus.Active\n\t\t\t\t\t\t\t\t\t\t: ProvisioningEntryStatus.Inactive,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{isIncluded ? (\n\t\t\t\t\t\t{dsk}\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tS2 AC\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tS2 Auth\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tS2 Unauth\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tS0 Legacy\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{isNewEntry ? : }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{!isNewEntry && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t unprovision()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n"], - "mappings": "u4BAAA,IAAAA,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,6MACL,CAAC,EAAG,eAAe,EAEnBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,kOACL,CAAC,EAAG,SAAS,EAEbH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,+RACL,CAAC,EAAG,eAAe,EAEnBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,kNACL,CAAC,EAAG,kBAAkB,EAEtBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,gXACL,CAAC,EAAG,SAAS,EAEbH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,gcACL,CAAC,EAAG,cAAc,EAElBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,mBACL,CAAC,EAAG,QAAQ,EAEZH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,qCACL,CAAC,EAAG,MAAM,EAEVH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,yDACL,CAAC,EAAG,mBAAmB,EAEvBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,gDACL,CAAC,EAAG,iBAAiB,EAErBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,2yBACL,CAAC,EAAG,UAAU,EAEdH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,uRACL,CAAC,EAAG,aAAa,EAEjBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,kQACL,CAAC,EAAG,cAAc,EAElBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,wOACL,CAAC,EAAG,WAAW,EAEfH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,oDACL,CAAC,EAAG,MAAM,EAEVH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,yKACL,CAAC,EAAG,cAAc,EAElBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,iJACL,CAAC,EAAG,MAAM,EAEVH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,yFACL,CAAC,EAAG,eAAe,EAEnBH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,mMACL,CAAC,EAAG,QAAQ,EAEZH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,yEACL,CAAC,EAAG,WAAW,EAEfH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAcA,GAAM,SAAU,KAAmBA,GAAM,cAAc,SAAU,CAC5I,GAAI,KACJ,GAAI,KACJ,EAAG,KACL,CAAC,EAAgBA,GAAM,cAAc,OAAQ,CAC3C,EAAG,2JACL,CAAC,CAAC,EAAG,aAAa,EAElBH,GAAQ,QAAUK,KCvBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,uGACL,CAAC,EAAG,UAAU,EAEdH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,qIACL,CAAC,EAAG,UAAU,EAEdH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,4FACL,CAAC,EAAG,sBAAsB,EAE1BH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cAEA,IAAIC,GAAyB,KAEzBC,GAA0B,KAE9B,OAAO,eAAeF,GAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,GAAQ,QAAU,OAElB,IAAIG,GAAQD,GAAwB,GAAgB,EAEhDE,GAAiBH,GAAuB,IAAgC,EAExEI,IAfJ,EAemBD,GAAe,SAAuBD,GAAM,cAAc,OAAQ,CACnF,EAAG,0PACL,CAAC,EAAG,WAAW,EAEfH,GAAQ,QAAUK,KCnBlB,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,2GCD5D,SAAgBC,GAAgB,EAAYC,EAAsB,CACjE,OAAI,aAAa,MACTA,GAAgB,EAAE,MAAQ,EAAE,MAAQ,EAAE,QACvC,OAAO,CAAC,CAChB,CAJAC,GAAA,gBAAAF,0ICGA,SAAgBG,GAAMC,EAAwB,CAC7C,OAAO,SAAUC,EAAwB,CACxC,QAAWC,KAAYF,EACtBG,GAAWF,EAAaC,CAAQ,CAElC,CACD,CANAE,GAAA,MAAAL,GAQA,SAAgBI,GACfE,EACAC,EACAC,EAA8B,GAAK,OAGnC,IAAMC,EAAkC,CAACF,CAAK,EAC9C,OAAa,CACZ,IAAMG,EAAUD,EAAiB,GAC3BE,EAAO,OAAO,eAAeD,CAAO,EAC1C,GAAIC,GAAA,MAAAA,EAAM,UACTF,EAAiB,QAAQE,CAAI,MAE7B,OAGF,QAAWC,KAAQH,EAClB,QAAWI,KAAQ,OAAO,oBAAoBD,EAAK,SAAS,GAEvDJ,GAAsBK,IAAS,gBAClC,OAAO,eACNP,EAAO,UACPO,GACAC,EAAA,OAAO,yBAAyBF,EAAK,UAAWC,CAAI,IAApD,KAAAC,EACC,OAAO,OAAO,IAAI,CAAC,CAKzB,CA7BAT,GAAA,WAAAD,GAqCA,SAAgBW,MACZC,EAA4B,CAE/B,GAAM,CAACC,KAAUC,CAAM,EAAIF,EACrBG,EAAM,cAAoBF,CAAK,GACrC,QAAWN,KAAQO,EAClBd,GAAWe,EAAKR,CAAI,EAErB,OAAOQ,CACR,CATAd,GAAA,MAAAU,GAYA,SAAgBK,GACfC,EACAV,EAAO,CAEP,KAAOU,GAAa,CACnB,GAAIA,IAAgBV,EAAM,MAAO,GACjCU,EAAc,OAAO,eAAeA,CAAW,EAEhD,MAAO,EACR,CATAhB,GAAA,cAAAe,yGC5DA,IAAAE,GAAA,KAEaC,GAAb,KAAyB,CACxB,YACCC,EACAC,EAA+B,CAE/B,GAQO,KAAA,KAAO,IAAI,IARdD,GAAA,MAAAA,EAAS,OACZ,OAAW,CAACE,EAAKC,CAAK,IAAKH,EAC1B,KAAK,IAAIE,EAAKC,CAAK,EAGrB,KAAK,gBAAkBF,CACxB,CAKO,IAAIC,EAAS,CACnB,OAAO,KAAK,KAAK,IAAI,KAAK,YAAYA,CAAG,CAAC,CAC3C,CAEO,IAAIA,EAAS,CACnB,OAAO,KAAK,KAAK,IAAI,KAAK,YAAYA,CAAG,CAAC,CAC3C,CAEO,IAAIA,EAAWC,EAAa,CAClC,KAAK,KAAK,IAAI,KAAK,YAAYD,CAAG,EAAGC,CAAK,CAC3C,CAEO,OAAOD,EAAS,CACtB,OAAO,KAAK,KAAK,OAAO,KAAK,YAAYA,CAAG,CAAC,CAC9C,CAEO,OAAK,CACX,KAAK,KAAK,MAAK,CAChB,CAEA,IAAW,MAAI,CACd,OAAO,KAAK,KAAK,IAClB,CAEO,QACNE,EAAyD,CAEzD,KAAK,KAAK,QAAQ,CAACD,EAAOE,IAAe,CACxCD,EAAWD,EAAO,KAAK,MAAME,CAAW,EAAG,IAAI,CAChD,CAAC,CACF,CAEO,SAAO,CACb,IAAMC,EAAM,KAAK,KACjB,OAAQ,WAAS,CAChB,IAAMC,EAAWD,EAAI,QAAO,EACxBE,EAAQD,EAAS,KAAI,EACzB,KAAO,CAACC,EAAM,MAEb,KAAM,CADS,KAAK,MAAMA,EAAM,MAAM,EAAE,EACzBA,EAAM,MAAM,EAAE,EAC7BA,EAAQD,EAAS,KAAI,CAEvB,EAAE,CACH,CAEO,CAAC,OAAO,WAAS,CACvB,OAAO,KAAK,QAAO,CACpB,CAEO,MAAI,CACV,IAAMD,EAAM,KAAK,KACjB,OAAQ,WAAS,CAChB,IAAMG,EAAQH,EAAI,QAAO,EACrBJ,EAAMO,EAAM,KAAI,EACpB,KAAO,CAACP,EAAI,MAEX,MADe,KAAK,MAAMA,EAAI,MAAM,EAAE,EAEtCA,EAAMO,EAAM,KAAI,CAElB,EAAE,CACH,CAEO,QAAM,CACZ,OAAO,KAAK,KAAK,OAAM,CACxB,CAEQ,YAAYP,EAAS,CAC5B,IAAMQ,EAAY,CAAE,GAAGR,CAAG,EAC1B,GAAI,KAAK,gBACR,OAAW,CAACS,EAAUC,CAAG,IAAK,OAAO,QACpC,KAAK,eAAe,EAEdD,KAAYD,IAAYA,EAAUC,GAAmBC,GAG7D,IAAMC,KAAOf,GAAA,kBACZA,GAAA,SAAQY,CAAS,EACf,OAAO,CAAC,CAAC,CAAEP,CAAK,IAAMA,GAAS,IAAS,EACxC,KAAK,CAAC,CAACW,CAAI,EAAG,CAACC,CAAI,IACnBD,EAAOC,EAAO,EAAID,EAAOC,EAAO,GAAK,CAAC,CACtC,EAEH,OAAO,KAAK,UAAUF,CAAI,CAC3B,GAnGDG,GAAA,aAAAjB,2NCFA,IAAAkB,GAAA,KAGA,SAAgBC,GAAOC,EAAW,CACjC,IAAMC,EAAYD,EAAI,QAAQ,IAAI,EAClC,OAAIC,IAAc,GAAWD,EACtBA,EAAI,OAAO,EAAGC,CAAS,CAC/B,CAJAC,GAAA,OAAAH,GAaA,SAAgBI,GACfC,EACAC,EAAqB,GAAK,CAE1B,GAAID,GAAO,KAAM,MAAO,YACxB,IAAIE,EAAMF,EAAI,SAAS,EAAE,EACzB,OAAIC,IAAWC,EAAMA,EAAI,YAAW,GAChCA,EAAI,OAAS,IAAM,IAAGA,EAAM,IAAMA,GAC/B,KAAOA,CACf,CATAJ,GAAA,QAAAC,GAeA,SAAgBI,GAASC,EAAmB,CAC3C,OAAAA,EAAK,OAAOA,GAAO,SAAWA,EAAG,SAAS,EAAE,EAAIA,EACzC,QAAOV,GAAA,UAASU,EAAI,EAAG,GAAG,EAAE,YAAW,CAC/C,CAHAN,GAAA,SAAAK,GAKA,SAAgBE,GAAUC,EAAcC,EAAkB,EAAC,CAC1D,OAAO,KAAK,UAAUD,EAAK,KAAMC,CAAK,CACvC,CAFAT,GAAA,UAAAO,GAWA,SAAgBG,GAAWC,EAAgBR,EAAqB,GAAK,CACpE,GAAIQ,EAAO,SAAW,EAAG,MAAO,UAChC,IAAIP,EAAMO,EAAO,SAAS,KAAK,EAC/B,OAAIR,IAAWC,EAAMA,EAAI,YAAW,GAC7B,KAAOA,CACf,CALAJ,GAAA,WAAAU,GAOA,SAAgBE,GAAiBC,EAAY,CAC5C,MAAO,qBAAqB,KAAKA,CAAI,CACtC,CAFAb,GAAA,iBAAAY,GAIA,SAAgBE,GAA6BD,EAAY,CACxD,OAAAA,EAAOA,EAAK,QAAQ,YAAa,EAAE,EAAE,QAAQ,WAAY,EAAE,EACpDD,GAAiBC,CAAI,CAC7B,CAHAb,GAAA,6BAAAc,GAKA,SAAgBC,GAAeC,EAAWC,EAAS,CAClD,OAAID,EAAIC,EAAU,EACdA,EAAID,EAAU,GACX,CACR,CAJAhB,GAAA,eAAAe,8GCtDA,SAAgBG,GACfC,EAAoC,CAEpC,IAAMC,EAAM,IAAI,IAChB,OAAAA,EAAI,WAAa,SAA2BC,EAAM,CACjD,GAAI,CAAC,KAAK,IAAIA,CAAG,EAChB,GAAI,OAAOF,GAAqB,WAC/BA,EAAiBE,CAAG,MAEpB,OAAM,IAAI,MACT,oCAAoC,OAAOA,CAAG,GAAG,EAIpD,OAAO,KAAK,IAAIA,CAAG,CACpB,EAAE,KAAKD,CAAG,EACHA,CACR,CAjBAE,GAAA,kBAAAJ,KCTA,IAAAK,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,sBAAwB,OAChC,SAASC,IAAwB,CAC7B,IAAIC,EACAC,EACEC,EAAU,IAAI,QAAQ,CAACC,EAASC,IAAW,CAC7CJ,EAAMG,EACNF,EAAMG,CACV,CAAC,EACD,OAAAF,EAAQ,QAAUF,EAClBE,EAAQ,OAASD,EACVC,CACX,CACAJ,GAAQ,sBAAwBC,6GCdhC,IAAAM,GAAA,KAMaC,GAAb,KAA6B,CAG5B,YACCC,EACgBC,EACCC,EAA8B,mDAAkD,CADjF,KAAA,UAAAD,EACC,KAAA,oBAAAC,EAcV,KAAA,MAAiB,GAZxB,KAAK,WAAUJ,GAAA,uBAAqB,EACpC,KAAK,QAAU,WAAW,IAAM,KAAK,OAAM,EAAIE,CAAS,EAIxD,IAAMG,EAAM,CAAE,QAAS,EAAE,EACzB,MAAM,kBAAkBA,EAAKJ,EAAgB,EAC7C,KAAK,MAASI,EAAY,MAAM,QAAQ,gBAAiB,EAAE,CAC5D,CASO,QAAQC,EAAe,CACzB,KAAK,QAEL,KAAK,SACR,aAAa,KAAK,OAAO,EAE1B,KAAK,QAAQ,QAAQA,CAAM,EAC5B,CAEQ,QAAM,CACb,GAAI,KAAK,MAAO,OAEZ,KAAK,SACR,aAAa,KAAK,OAAO,EAE1B,IAAMC,EAAM,IAAI,MAAM,KAAK,mBAAmB,EAC9CA,EAAI,MAAQ,KAAK,MACjB,KAAK,QAAQ,OAAOA,CAAG,CACxB,CAGA,KACCC,EAGAC,EAAuE,CAEvE,OAAO,KAAK,QAAQ,KAAKD,EAAaC,CAAU,CACjD,GArDDC,GAAA,iBAAAT,KCNA,IAAAU,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,8QCD5D,IAAAC,GAAA,KACAC,GAAA,KAGA,SAAgBC,GAAUC,EAAM,CAC/B,OAAO,OAAO,KAAKA,CAAG,CACvB,CAFAC,GAAA,OAAAF,GAKA,SAAgBG,GACfF,EACAG,EAAkB,CAElB,IAAMC,EAAM,CAAA,EACZ,QAAWC,KAAOF,EACbE,KAAOL,IAAKI,EAAIC,GAAOL,EAAIK,IAEhC,OAAOD,CACR,CATAH,GAAA,KAAAC,GAuBA,SAAgBI,GACfC,EACAC,EAAY,CAEZ,SAASC,EAAUT,EAA0BU,EAAiB,CAE7D,GAAI,CAACA,EAAQ,OAAQ,OAAOV,EAE5B,GAAI,IAACH,GAAA,UAASG,CAAG,GAAK,IAACH,GAAA,SAAQG,CAAG,EAAG,OAErC,IAAMW,EAAWD,EAAQ,MAAK,EAC9B,OAAOD,EAAUT,EAAIW,GAAWD,CAAO,CACxC,CACA,OAAOD,EAAUF,EAAQC,EAAK,MAAM,GAAG,CAAC,CACzC,CAdAP,GAAA,SAAAK,GAiBA,SAAgBM,GACfC,EACAC,EAAwD,CAGxD,OADeD,EAAM,IAAIC,CAAU,EACrB,OAAO,CAACC,EAAKC,IAAQ,CAAC,GAAGD,EAAK,GAAGC,CAAG,EAAG,CAAA,CAAS,CAC/D,CANAf,GAAA,QAAAW,GAeA,SAAgBK,GAAkBC,EAAsBC,EAAa,CACpE,OAAQD,EAAoBC,IAAU,eAAYrB,GAAA,SAAQqB,CAAK,IAChE,CAFAlB,GAAA,kBAAAgB,GAKA,SAAgBG,GAAUC,EAAaC,EAAS,CAC/C,OAAO,OAAO,KAAKD,EAAI,MAAMC,CAAC,CAAC,CAChC,CAFArB,GAAA,UAAAmB,GAQA,SAAgBG,GACfC,EACAC,EACAC,EAAoB,GAAK,CAEzB,IAAIC,EAAW,EACXC,EACJ,MAAO,IAAIC,IAAW,CACrB,IAAMC,EAAM,KAAK,IAAG,EACpB,GAAIA,GAAOH,EAAWF,EAErBE,EAAWG,EACXN,EAAG,GAAGK,CAAI,UACAH,EAAU,CAChBE,GAAS,aAAaA,CAAO,EACjC,IAAMG,EAAQJ,EAAWF,EAAaK,EACtCF,EAAU,WAAW,IAAK,CACzBD,EAAWG,EACXN,EAAG,GAAGK,CAAI,CACX,EAAGE,CAAK,EAEV,CACD,CAtBA9B,GAAA,SAAAsB,GA2BA,SAAgBS,GACfC,EACAC,EACAC,EAAmB,CAEnBF,EAASA,GAAU,CAAA,EACnB,OAAW,CAAC5B,EAAKc,CAAK,IAAK,OAAO,QAAQe,CAAM,EAC3C7B,KAAO4B,EACNd,IAAU,OAETgB,GAAW,OAAOF,EAAO5B,GACnB,OAAOc,GAAU,SAE3Bc,EAAO5B,GAAO2B,GAAUC,EAAO5B,GAAMc,EAAOgB,CAAS,GAC3CA,GAAa,OAAOF,EAAO5B,IAAS,eAE9C4B,EAAO5B,GAAOc,GAELA,IAAU,SACpBc,EAAO5B,GAAOc,GAGhB,OAAOc,CACR,CAvBAhC,GAAA,UAAA+B,GA4BA,SAAgBI,GAAaF,EAAS,CACrC,MAAIrC,GAAA,SAAQqC,CAAM,EACjB,OAAOA,EAAO,IAAKG,GAAMD,GAAUC,CAAC,CAAC,EAC/B,MAAIxC,GAAA,UAASqC,CAAM,EAAG,CAC5B,IAAMD,EAAc,CAAA,EACpB,OAAW,CAAC5B,EAAKc,CAAK,IAAK,OAAO,QAAQe,CAAM,EAC/CD,EAAO5B,GAAO+B,GAAUjB,CAAK,EAE9B,OAAOc,MAEP,QAAOC,CAET,CAZAjC,GAAA,UAAAmC,GAeA,SAAgBE,GAAWC,EAAe,CACzC,OAAIA,EAAQ,MAAM,GAAG,EAAE,SAAW,EAAUA,EACrCA,EAAU,IAClB,CAHAtC,GAAA,WAAAqC,GASO,eAAeE,GACrBC,EACAC,EACAC,EAA2D,CAE3D,IAAIC,EAAMH,EACNI,EAAMH,EACV,KAAOE,EAAMC,GAAK,CACjB,IAAMC,EAAMF,EAAM,KAAK,OAAOC,EAAMD,EAAM,GAAK,CAAC,EAEjC,MAAMD,EAASG,CAAG,EAEhCF,EAAME,EAEND,EAAMC,EAAM,EAId,GAAI,EAAAF,IAAQH,GAGP,CADW,MAAME,EAASC,CAAG,GAGlC,OAAOA,CACR,CAxBA3C,GAAA,qBAAAuC,GA8BO,eAAeO,GACrBN,EACAC,EACAC,EAA2D,CAE3D,QAASK,EAAMP,EAAUO,GAAON,EAAUM,IAEzC,GADe,MAAML,EAASK,CAAG,GAWhC,GAAIA,IAAQN,EAEX,OAAOA,MAZI,CAEZ,GAAIM,IAAQP,EAEX,MAGA,OAAOO,EAAM,EASjB,CAvBA/C,GAAA,qBAAA8C,GAyBA,SAAgBE,GAAIC,EAAgB,CACnC,OAAOA,EAAO,OAAO,CAACnC,EAAKC,IAAQD,EAAMC,EAAK,CAAC,CAChD,CAFAf,GAAA,IAAAgD,kHC/MA,SAAgBE,GAAsBC,EAAgB,CACrD,IAAMC,EAAO,KACZA,EAAI,MAASA,EAAI,MAAQ,EAAKD,EAC1BC,EAAI,QAAU,IAAGA,EAAI,MAAQ,GAC1BA,EAAI,OAQZ,OAAAA,EAAI,MAAQ,EACLA,CACR,CAdAC,GAAA,sBAAAH,2hBCFAI,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,EACA,IAAAC,GAAA,KAAS,OAAA,eAAAD,GAAA,eAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,YAAY,CAAA,CAAA,EAErBF,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,yOCXA,IAAAE,GAAA,KAMYC,GAAZ,SAAYA,EAAc,CAEzBA,EAAAA,EAAA,gBAAA,KAAA,eACAA,EAAAA,EAAA,iBAAA,KAAA,gBACAA,EAAAA,EAAA,cAAA,IAAA,aACAA,EAAAA,EAAA,cAAA,IAAA,aACAA,EAAAA,EAAA,qBAAA,KAAA,oBACAA,EAAAA,EAAA,0BAAA,IAAA,yBACAA,EAAAA,EAAA,sBAAA,IAAA,qBACAA,EAAAA,EAAA,YAAA,KAAA,cACAA,EAAAA,EAAA,qCAAA,KAAA,oCACAA,EAAAA,EAAA,iCAAA,IAAA,gCACAA,EAAAA,EAAA,eAAA,KAAA,iBACAA,EAAAA,EAAA,8BAAA,KAAA,6BACAA,EAAAA,EAAA,oBAAA,KAAA,mBACAA,EAAAA,EAAA,MAAA,IAAA,QACAA,EAAAA,EAAA,4BAAA,IAAA,2BACAA,EAAAA,EAAA,yBAAA,IAAA,wBACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,iBAAA,IAAA,gBACAA,EAAAA,EAAA,iBAAA,IAAA,gBACAA,EAAAA,EAAA,wBAAA,IAAA,uBACAA,EAAAA,EAAA,4BAAA,IAAA,2BACAA,EAAAA,EAAA,iBAAA,IAAA,gBACAA,EAAAA,EAAA,MAAA,KAAA,QACAA,EAAAA,EAAA,gBAAA,IAAA,eACAA,EAAAA,EAAA,cAAA,KAAA,gBACAA,EAAAA,EAAA,0BAAA,IAAA,yBACAA,EAAAA,EAAA,wBAAA,IAAA,uBACAA,EAAAA,EAAA,qCAAA,IAAA,oCACAA,EAAAA,EAAA,+BAAA,IAAA,8BACAA,EAAAA,EAAA,wBAAA,IAAA,uBACAA,EAAAA,EAAA,aAAA,IAAA,YACAA,EAAAA,EAAA,qBAAA,IAAA,oBACAA,EAAAA,EAAA,qBAAA,KAAA,oBACAA,EAAAA,EAAA,iBAAA,KAAA,gBACAA,EAAAA,EAAA,6BAAA,KAAA,4BACAA,EAAAA,EAAA,oBAAA,KAAA,mBACAA,EAAAA,EAAA,uBAAA,KAAA,sBACAA,EAAAA,EAAA,iBAAA,KAAA,gBACAA,EAAAA,EAAA,KAAA,KAAA,OACAA,EAAAA,EAAA,cAAA,IAAA,aACAA,EAAAA,EAAA,eAAA,IAAA,cACAA,EAAAA,EAAA,yBAAA,KAAA,wBACAA,EAAAA,EAAA,oCAAA,KAAA,mCACAA,EAAAA,EAAA,6BAAA,KAAA,4BACAA,EAAAA,EAAA,wBAAA,KAAA,uBACAA,EAAAA,EAAA,UAAA,KAAA,YACAA,EAAAA,EAAA,kBAAA,IAAA,iBACAA,EAAAA,EAAA,oBAAA,KAAA,mBACAA,EAAAA,EAAA,eAAA,KAAA,cACAA,EAAAA,EAAA,WAAA,KAAA,aACAA,EAAAA,EAAA,SAAA,KAAA,WACAA,EAAAA,EAAA,KAAA,KAAA,OACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,4BAAA,KAAA,2BACAA,EAAAA,EAAA,yBAAA,KAAA,wBACAA,EAAAA,EAAA,wBAAA,KAAA,uBACAA,EAAAA,EAAA,MAAA,IAAA,QACAA,EAAAA,EAAA,6BAAA,IAAA,4BACAA,EAAAA,EAAA,uBAAA,IAAA,sBACAA,EAAAA,EAAA,kCAAA,IAAA,iCACAA,EAAAA,EAAA,oCAAA,IAAA,mCACAA,EAAAA,EAAA,iBAAA,IAAA,gBACAA,EAAAA,EAAA,6BAAA,KAAA,4BACAA,EAAAA,EAAA,iBAAA,KAAA,gBACAA,EAAAA,EAAA,qBAAA,IAAA,oBACAA,EAAAA,EAAA,qBAAA,IAAA,oBACAA,EAAAA,EAAA,4BAAA,IAAA,2BACAA,EAAAA,EAAA,iCAAA,IAAA,gCACAA,EAAAA,EAAA,gCAAA,IAAA,+BACAA,EAAAA,EAAA,mDAAA,KAAA,kDACAA,EAAAA,EAAA,8BAAA,IAAA,6BACAA,EAAAA,EAAA,4BAAA,IAAA,2BACAA,EAAAA,EAAA,gBAAA,GAAA,eACAA,EAAAA,EAAA,4BAAA,KAAA,2BACAA,EAAAA,EAAA,qBAAA,KAAA,oBACAA,EAAAA,EAAA,aAAA,KAAA,eACAA,EAAAA,EAAA,WAAA,KAAA,aACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,4BAAA,IAAA,2BACAA,EAAAA,EAAA,YAAA,KAAA,cACAA,EAAAA,EAAA,WAAA,KAAA,aACAA,EAAAA,EAAA,eAAA,IAAA,cACAA,EAAAA,EAAA,4BAAA,IAAA,2BACAA,EAAAA,EAAA,sBAAA,IAAA,qBACAA,EAAAA,EAAA,iCAAA,KAAA,gCACAA,EAAAA,EAAA,oCAAA,KAAA,mCACAA,EAAAA,EAAA,oBAAA,IAAA,mBACAA,EAAAA,EAAA,gCAAA,IAAA,+BACAA,EAAAA,EAAA,kCAAA,IAAA,iCACAA,EAAAA,EAAA,SAAA,IAAA,WACAA,EAAAA,EAAA,uBAAA,IAAA,sBACAA,EAAAA,EAAA,qBAAA,KAAA,oBACAA,EAAAA,EAAA,oBAAA,KAAA,mBACAA,EAAAA,EAAA,SAAA,KAAA,WACAA,EAAAA,EAAA,cAAA,KAAA,aACAA,EAAAA,EAAA,iBAAA,OAAA,gBACAA,EAAAA,EAAA,wBAAA,KAAA,uBACAA,EAAAA,EAAA,qBAAA,KAAA,oBACAA,EAAAA,EAAA,gBAAA,KAAA,eACAA,EAAAA,EAAA,YAAA,KAAA,cACAA,EAAAA,EAAA,8BAAA,IAAA,6BACAA,EAAAA,EAAA,wBAAA,IAAA,uBACAA,EAAAA,EAAA,uBAAA,IAAA,sBACAA,EAAAA,EAAA,wBAAA,IAAA,uBACAA,EAAAA,EAAA,mBAAA,IAAA,kBACAA,EAAAA,EAAA,8BAAA,IAAA,6BACAA,EAAAA,EAAA,sBAAA,IAAA,qBACAA,EAAAA,EAAA,uBAAA,IAAA,sBACAA,EAAAA,EAAA,KAAA,KAAA,OACAA,EAAAA,EAAA,mBAAA,KAAA,kBACAA,EAAAA,EAAA,qBAAA,IAAA,oBACAA,EAAAA,EAAA,aAAA,IAAA,YACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,WAAA,KAAA,UACAA,EAAAA,EAAA,mBAAA,KAAA,kBACAA,EAAAA,EAAA,QAAA,IAAA,OACAA,EAAAA,EAAA,gBAAA,IAAA,eACAA,EAAAA,EAAA,gBAAA,IAAA,eACAA,EAAAA,EAAA,4BAAA,KAAA,2BACAA,EAAAA,EAAA,WAAA,IAAA,UACAA,EAAAA,EAAA,eAAA,IAAA,cACAA,EAAAA,EAAA,oBAAA,IAAA,mBAEAA,EAAAA,EAAA,mBAAA,GAAA,iBACD,GA9HYA,EAAAC,GAAA,iBAAAA,GAAA,eAAc,CAAA,EAAA,EAgI1B,SAAgBC,GAAUC,EAAU,CACnC,SAAOJ,GAAA,mBAAkBC,EAAgBG,CAAE,CAC5C,CAFAF,GAAA,UAAAC,GAOaD,GAAA,OAAoC,OAAO,OACvD,OAAO,KAAKD,CAAc,EACxB,OAAQI,GAAQ,QAAQ,KAAKA,CAAG,CAAC,EACjC,IAAKA,GAAQ,SAASA,CAAG,CAAC,EAC1B,OAAQA,GAAQA,GAAO,GAAKA,IAAQJ,EAAe,kBAAkB,CAAC,EAO5DC,GAAA,YAAyC,CACrDD,EAAe,oBACfA,EAAe,iBACfA,EAAe,gBACfA,EAAe,aACfA,EAAe,qBACfA,EAAe,qBACfA,EAAe,gBACfA,EAAe,uBACfA,EAAe,mBACfA,EAAe,oBAMHC,GAAA,UAAuC,CACnDD,EAAe,gBACfA,EAAe,QACfA,EAAe,iBACfA,EAAe,qBACfA,EAAe,MACfA,EAAe,qBACfA,EAAe,aACfA,EAAe,gBAOHC,GAAA,eAA4C,CACxDD,EAAe,gBACfA,EAAe,iBACfA,EAAe,cACfA,EAAe,cACfA,EAAe,oBACfA,EAAe,MACfA,EAAe,4BACfA,EAAe,yBACfA,EAAe,iBACfA,EAAe,iBACfA,EAAe,wBACfA,EAAe,4BACfA,EAAe,iBACfA,EAAe,MACfA,EAAe,gBACfA,EAAe,cACfA,EAAe,0BACfA,EAAe,qCACfA,EAAe,+BACfA,EAAe,aACfA,EAAe,qBACfA,EAAe,qBACfA,EAAe,iBACfA,EAAe,oBACfA,EAAe,uBACfA,EAAe,cACfA,EAAe,eACfA,EAAe,yBACfA,EAAe,oCACfA,EAAe,6BACfA,EAAe,eACfA,EAAe,WACfA,EAAe,SACfA,EAAe,KACfA,EAAe,4BACfA,EAAe,MACfA,EAAe,6BACfA,EAAe,uBACfA,EAAe,kCACfA,EAAe,oCACfA,EAAe,qBACfA,EAAe,qBACfA,EAAe,4BACfA,EAAe,aACfA,EAAe,WACfA,EAAe,4BACfA,EAAe,YACfA,EAAe,WACfA,EAAe,eACfA,EAAe,4BACfA,EAAe,sBACfA,EAAe,oBACfA,EAAe,gCACfA,EAAe,kCACfA,EAAe,SACfA,EAAe,uBACfA,EAAe,qBACfA,EAAe,oBACfA,EAAe,wBACfA,EAAe,qBACfA,EAAe,gBACfA,EAAe,8BACfA,EAAe,wBACfA,EAAe,uBACfA,EAAe,wBACfA,EAAe,mBACfA,EAAe,8BACfA,EAAe,sBACfA,EAAe,uBACfA,EAAe,aACfA,EAAe,oBAMHC,GAAA,iBAA8C,CAC1DD,EAAe,wBACfA,EAAe,iBACfA,EAAe,iBACfA,EAAe,SACfA,EAAe,cACfA,EAAe,sBAMHC,GAAA,cAA2C,CACvDD,EAAe,0BACfA,EAAe,sBACfA,EAAe,YACfA,EAAe,qCACfA,EAAe,iCAEfA,EAAe,wBACfA,EAAe,6BACfA,EAAe,iBACfA,EAAe,KACfA,EAAe,UACfA,EAAe,kBACfA,EAAe,yBACfA,EAAe,6BACfA,EAAe,4BACfA,EAAe,iCACfA,EAAe,oCACfA,EAAe,KACfA,EAAe,mBACfA,EAAe,QACfA,EAAe,WACfA,EAAe,4BACfA,EAAe,qBAMHC,GAAA,kBAA+C,OAAO,OAClEA,GAAA,OAAO,OAAQE,GAAO,CAACF,GAAA,eAAe,SAASE,CAAE,CAAC,CAAC,qHC9SpD,IAAYE,IAAZ,SAAYA,EAAyB,CACpCA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,IAAA,IAAA,MACAA,EAAAA,EAAA,gBAAA,IAAA,iBAED,GARYA,GAAAC,GAAA,4BAAAA,GAAA,0BAAyB,CAAA,EAAA,6GCArC,IAAYC,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,qBAAA,GAAA,oBACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,kBAAA,GAAA,iBACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,iBAAA,GAAA,gBACAA,EAAAA,EAAA,qBAAA,GAAA,oBACAA,EAAAA,EAAA,qBAAA,GAAA,oBACAA,EAAAA,EAAA,OAAA,GAAA,MACAA,EAAAA,EAAA,aAAA,IAAA,YACAA,EAAAA,EAAA,aAAA,IAAA,WACD,GAbYA,GAAAC,GAAA,oBAAAA,GAAA,kBAAiB,CAAA,EAAA,6MCA7B,IAAAC,GAAA,KAKYC,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,uBAAA,GAAA,yBACAA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,sBAAA,GAAA,wBAGAA,EAAAA,EAAA,4BAAA,GAAA,8BACAA,EAAAA,EAAA,8BAAA,GAAA,gCAGAA,EAAAA,EAAA,cAAA,KAAA,gBACAA,EAAAA,EAAA,aAAA,KAAA,eACAA,EAAAA,EAAA,iBAAA,KAAA,mBACAA,EAAAA,EAAA,gBAAA,KAAA,kBACAA,EAAAA,EAAA,2BAAA,KAAA,6BACAA,EAAAA,EAAA,oBAAA,KAAA,sBACAA,EAAAA,EAAA,kBAAA,KAAA,oBACAA,EAAAA,EAAA,oBAAA,KAAA,sBACAA,EAAAA,EAAA,sBAAA,KAAA,wBAEAA,EAAAA,EAAA,kBAAA,KAAA,oBACAA,EAAAA,EAAA,sBAAA,KAAA,wBACAA,EAAAA,EAAA,uBAAA,KAAA,yBAGAA,EAAAA,EAAA,mBAAA,KAAA,qBAEAA,EAAAA,EAAA,uBAAA,KAAA,yBACAA,EAAAA,EAAA,0BAAA,KAAA,4BACAA,EAAAA,EAAA,uBAAA,KAAA,yBACAA,EAAAA,EAAA,uBAAA,KAAA,yBACAA,EAAAA,EAAA,2BAAA,KAAA,6BACAA,EAAAA,EAAA,2BAAA,KAAA,6BAGAA,EAAAA,EAAA,wBAAA,KAAA,0BAGAA,EAAAA,EAAA,8BAAA,KAAA,gCAGAA,EAAAA,EAAA,wBAAA,KAAA,0BAEAA,EAAAA,EAAA,4BAAA,KAAA,8BAEAA,EAAAA,EAAA,uBAAA,KAAA,yBAEAA,EAAAA,EAAA,qCAAA,KAAA,uCAGAA,EAAAA,EAAA,0BAAA,KAAA,4BAGAA,EAAAA,EAAA,wBAAA,KAAA,0BAGAA,EAAAA,EAAA,mCAAA,KAAA,qCAEAA,EAAAA,EAAA,6BAAA,KAAA,+BAEAA,EAAAA,EAAA,qCAAA,KAAA,uCAGAA,EAAAA,EAAA,iBAAA,KAAA,mBAEAA,EAAAA,EAAA,gBAAA,KAAA,kBAEAA,EAAAA,EAAA,mBAAA,KAAA,qBAEAA,EAAAA,EAAA,kBAAA,KAAA,oBAEAA,EAAAA,EAAA,YAAA,KAAA,cAEAA,EAAAA,EAAA,WAAA,KAAA,aACAA,EAAAA,EAAA,YAAA,KAAA,cACAA,EAAAA,EAAA,gBAAA,KAAA,kBACAA,EAAAA,EAAA,kBAAA,KAAA,oBACAA,EAAAA,EAAA,SAAA,KAAA,WAEAA,EAAAA,EAAA,+BAAA,KAAA,iCACAA,EAAAA,EAAA,WAAA,KAAA,aACAA,EAAAA,EAAA,iBAAA,KAAA,mBAEAA,EAAAA,EAAA,eAAA,KAAA,iBACAA,EAAAA,EAAA,gBAAA,KAAA,kBAEAA,EAAAA,EAAA,sBAAA,KAAA,wBAGAA,EAAAA,EAAA,4BAAA,KAAA,8BAEAA,EAAAA,EAAA,qCAAA,KAAA,uCAEAA,EAAAA,EAAA,4BAAA,KAAA,8BAKAA,EAAAA,EAAA,wBAAA,KAAA,0BAEAA,EAAAA,EAAA,wBAAA,KAAA,0BAEAA,EAAAA,EAAA,yBAAA,KAAA,2BAEAA,EAAAA,EAAA,yBAAA,KAAA,2BAQAA,EAAAA,EAAA,qCAAA,KAAA,uCAIAA,EAAAA,EAAA,yCAAA,MAAA,2CAIAA,EAAAA,EAAA,gDAAA,MAAA,kDAKAA,EAAAA,EAAA,4BAAA,MAAA,8BAMAA,EAAAA,EAAA,2CAAA,MAAA,6CAKAA,EAAAA,EAAA,2BAAA,MAAA,6BAEAA,EAAAA,EAAA,yBAAA,MAAA,2BAGAA,EAAAA,EAAA,mBAAA,MAAA,qBAEAA,EAAAA,EAAA,mBAAA,MAAA,qBAEAA,EAAAA,EAAA,2BAAA,MAAA,6BAEAA,EAAAA,EAAA,sBAAA,MAAA,wBAEAA,EAAAA,EAAA,6BAAA,MAAA,+BAEAA,EAAAA,EAAA,yBAAA,MAAA,2BAEAA,EAAAA,EAAA,0BAAA,MAAA,4BAGAA,EAAAA,EAAA,sBAAA,MAAA,wBAEAA,EAAAA,EAAA,+BAAA,MAAA,iCAEAA,EAAAA,EAAA,gCAAA,MAAA,kCAEAA,EAAAA,EAAA,+BAAA,MAAA,iCAEAA,EAAAA,EAAA,+BAAA,MAAA,iCAEAA,EAAAA,EAAA,yBAAA,MAAA,2BAGAA,EAAAA,EAAA,sBAAA,MAAA,wBAEAA,EAAAA,EAAA,4BAAA,MAAA,8BAGAA,EAAAA,EAAA,iCAAA,MAAA,kCACD,GA/KYA,GAAAC,GAAA,kBAAAA,GAAA,gBAAe,CAAA,EAAA,EAiL3B,SAAgBC,GAAeC,EAAqB,CACnD,MAAO,QAAKJ,GAAA,UAASI,EAAK,SAAQ,EAAI,EAAG,GAAG,GAC7C,CAFAF,GAAA,eAAAC,GAIA,SAASE,GAAkBC,EAAiBF,EAAqB,CAChE,IAAMG,EAAS,KAAKJ,GAAeC,CAAI,KACvC,OAAKE,EAAQ,SAASC,CAAM,IAAGD,GAAWC,GACnCD,CACR,CAKA,IAAaE,GAAb,cAAgC,KAAK,CACpC,YACiBF,EACAF,EAEAK,EAEAC,EAA0B,CAE1C,MAAK,EAPW,KAAA,QAAAJ,EACA,KAAA,KAAAF,EAEA,KAAA,QAAAK,EAEA,KAAA,kBAAAC,EAKhB,KAAK,QAAUL,GAAkBC,EAASF,CAAI,EAG9C,OAAO,eAAe,KAAMI,GAAW,SAAS,EAChD,OAAO,eAAe,IAAI,EAAE,KAAO,aAG/B,OAAOE,GAAsB,WAChC,KAAK,MAAQ,eAAe,KAAK;EAAYA,IAE/C,GAtBDR,GAAA,WAAAM,GAyBA,SAAgBG,GAAa,EAAU,CACtC,OAAO,aAAa,OAAS,OAAO,eAAe,CAAC,EAAE,OAAS,YAChE,CAFAT,GAAA,aAAAS,GAIA,SAAgBC,GAAoB,EAAU,CAS7C,OACCD,GAAa,CAAC,IACb,EAAE,OAASV,GAAgB,oBAC3B,EAAE,OAASA,GAAgB,2BAC3B,EAAE,OAASA,GAAgB,wBAC3B,EAAE,OAASA,GAAgB,wBAC3B,EAAE,OAASA,GAAgB,wBAC3B,EAAE,OAASA,GAAgB,yBAE9B,CAlBAC,GAAA,oBAAAU,GA0BA,SAAgBC,GAAwB,EAAU,CACjD,GAAI,CAACF,GAAa,CAAC,EAAG,MAAO,GAC7B,OAAQ,EAAE,WACJV,GAAgB,mCAChBA,GAAgB,uBACpB,MAAO,GAET,MAAO,EACR,CARAC,GAAA,wBAAAW,+NC1PA,IAAAC,GAAA,KAGA,SAAgBC,GAAmBC,EAAgB,CAClD,OAAOA,EAAO,MAAM,CAACC,EAAGC,EAAGC,IAASD,IAAM,EAAI,GAAOD,EAAI,IAAME,EAAID,EAAI,EAAG,CAC3E,CAFAE,GAAA,mBAAAL,GAKA,SAAgBM,GAAkBC,EAAsB,CACvD,IAAMC,EAAM,CAAA,EACZ,OAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQH,CAAG,EACxCG,IAAU,SAAWF,EAAIC,GAAOC,GAErC,OAAOF,CACR,CANAH,GAAA,eAAAC,GA0BA,SAASK,GACRC,KACGC,EAAqB,CAExB,GAAI,CAACA,EAAW,MAAM,OAAO,EAC5B,MAAM,IAAId,GAAA,WACT,kCACAA,GAAA,gBAAgB,4BAChBa,CAAM,CAGT,CAGaP,GAAA,gBAAkBM,GAAwB,KACtD,OACA,MAAS,EAEVN,GAAA,gBAAgB,WAAcO,GAC7BD,GAAwB,KAAK,OAAWC,CAAM,EAC/CP,GAAA,gBAAgB,KAAQO,GACvBP,GAAA,gBAAgB,WAAWO,CAAM,EAAE,EAAK,EAazC,SAAgBE,GAA0BC,EAAY,CACrD,IAAIZ,EAAI,EACR,KAAOY,EAAO,IAAM,IACnBA,KAAU,EACNA,IAAS,IACbZ,IAED,OAAOA,CACR,CARAE,GAAA,0BAAAS,GAqBA,SAAgBE,GAAgBD,EAAY,CAC3CA,EAAOA,IAASD,GAA0BC,CAAI,EAC9C,IAAIZ,EAAI,EACR,KAAOY,EAAO,GACbA,KAAU,EACVZ,IAED,OAAOA,CACR,CARAE,GAAA,gBAAAW,GAqBA,SAAgBC,GACfF,EACAG,EAAiB,CAEjB,GAAIH,IAAS,EAAG,MAAO,CAAC,EAAG,CAAC,EAC5B,IAAMI,EAAeH,GAAgBD,CAAI,EACnCK,EAAMF,GAAYC,GAAgB,EAAI,EAAI,EAAE,IAAMA,EAAe,IACjEE,EACLH,GAAYC,GAAgB,EACzB,GAAKA,EAAe,EACpB,IAAMA,EAAe,GAAK,EAC9B,MAAO,CAACC,EAAKC,CAAG,CACjB,CAZAhB,GAAA,wBAAAY,ucC9GA,IAAAK,GAAA,KACAC,GAAA,KACAC,GAAA,KAQA,SAAgBC,GACfC,EAAW,CAEX,SAAAH,GAAA,iBAAgBG,EAAI,QAAU,CAAC,EACxB,CACN,mBAAoBA,EAAI,GACxB,oBAAqBA,EAAI,GACzB,aAAcC,GAAYD,EAAI,MAAM,CAAC,CAAC,EAAE,aAE1C,CATAE,EAAA,gCAAAH,GAgBA,SAAgBI,GAAuBH,EAAW,CACjD,IAAMI,EAASJ,EAAI,GACbK,EAAkBL,EAAI,GAC5B,SAAAH,GAAA,iBAAgBG,EAAI,QAAU,EAAIK,CAAe,EAC1C,CACN,OAAAD,EACA,iBAAkBJ,EAAI,GACtB,GAAGD,GAAgCC,EAAI,MAAM,EAAG,EAAIK,CAAe,CAAC,EAEtE,CATAH,EAAA,uBAAAC,GAWA,SAAgBG,GAAwBN,EAAsB,CAC7D,IAAMO,EAASC,GAAaR,EAAI,aAAc,CAAA,CAAE,EAChD,OAAO,OAAO,OAAO,CACpB,OAAO,KAAK,CACXA,EAAI,OACJ,EAAIO,EAAO,OACXP,EAAI,iBACJA,EAAI,mBACJA,EAAI,oBACJ,EACDO,EACA,CACF,CAZAL,EAAA,wBAAAI,GAcA,SAAgBG,GAAeC,EAAoB,CAClD,OAAOA,GAAQ,GAChB,CAFAR,EAAA,eAAAO,GAQA,SAAgBE,GACfC,EACAC,EAAiB,EAAC,CAElB,IAAMC,EAAaL,GAAeG,EAAQC,EAAO,EAEjD,SADAhB,GAAA,iBAAgBe,EAAQ,QAAUC,GAAUC,EAAa,EAAI,EAAE,EAC3DA,EACI,CAAE,KAAMF,EAAQ,aAAaC,CAAM,EAAG,UAAW,CAAC,EAElD,CAAE,KAAMD,EAAQ,UAAUC,CAAM,EAAG,UAAW,CAAC,CAExD,CAXAX,EAAA,UAAAS,GAiBA,SAAgBI,GACfL,EACAE,EACAC,EAAiB,EAAC,CAElB,OAAIJ,GAAeC,CAAI,GACtBE,EAAQ,cAAcF,EAAMG,CAAM,EAC3B,IAEPD,EAAQ,WAAWF,EAAMG,CAAM,EACxB,EAET,CAZAX,EAAA,WAAAa,GAcA,SAAgBd,GAAYW,EAAe,CAI1C,IAAMI,EAAM,CACX,aAAc,CAAA,EACd,cAAe,CAAA,GAEZH,EAAS,EACTI,EAAc,GAClB,KAAOJ,EAASD,EAAQ,QAAQ,CAE/B,GAAM,CAAE,KAAMM,EAAI,UAAAC,CAAS,EAAKR,GAAUC,EAASC,CAAM,EAIzD,GAHAA,GAAUM,EAGND,IAAOpB,GAAA,eAAe,wBAAyB,CAClDmB,EAAc,GACd,UAEAA,EAAcD,EAAI,cAAgBA,EAAI,cAAc,KAAKE,CAAE,EAE7D,OAAOF,CACR,CAvBAd,EAAA,YAAAD,GAyBA,SAAgBO,GACfY,EACAC,EAAwC,CAExC,IAAMC,KACL1B,GAAA,KAAIwB,EAAa,IAAKF,GAAQT,GAAeS,CAAE,EAAI,EAAI,CAAE,CAAC,GACzDG,EAAc,OAAS,EAAI,EAAI,MAChCzB,GAAA,KAAIyB,EAAc,IAAKH,GAAQT,GAAeS,CAAE,EAAI,EAAI,CAAE,CAAC,EAEtDF,EAAM,OAAO,YAAYM,CAAY,EACvCT,EAAS,EACb,QAAWK,KAAME,EAChBP,GAAUE,GAAWG,EAAIF,EAAKH,CAAM,EAErC,GAAIQ,EAAc,OAAS,EAAG,CAC7BL,EAAIH,KAAYf,GAAA,eAAe,wBAC/B,QAAWoB,KAAMG,EAChBR,GAAUE,GAAWG,EAAIF,EAAKH,CAAM,EAItC,OAAOG,CACR,CAtBAd,EAAA,aAAAM,GAwBA,IAAYe,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,OAAA,GAAA,MACAA,EAAAA,EAAA,eAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,aACD,GALYA,GAAArB,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EAW3B,IAAYsB,IAAZ,SAAYA,EAAQ,CACnBA,EAAAA,EAAA,WAAA,GAAA,aAEAA,EAAAA,EAAA,oBAAA,GAAA,mBACAA,EAAAA,EAAA,YAAA,GAAA,UACD,GALYA,GAAAtB,EAAA,WAAAA,EAAA,SAAQ,CAAA,EAAA,EAsCpB,SAAgBuB,GACfC,EACAb,EAAc,IAEdhB,GAAA,iBAAgB6B,EAAO,QAAUb,EAAS,CAAC,EAE3C,IAAMc,EAAc,CAAC,EAAED,EAAOb,GAAU,KAClCe,EAAY,CAAC,EAAEF,EAAOb,GAAU,IAEhCgB,EAAiC,CAAA,EACjCC,EAAWJ,EAAOb,GAAU,GAC5BkB,EAAiBL,EAAOb,EAAS,GAAK,EACxCiB,EAAW,IACdD,EAAmB,KAAK,GAAK,EAE1BC,EAAW,GACdD,EAAmB,KAAK,IAAI,EAEzBE,EAAiB,GACpBF,EAAmB,KAAK,GAAM,EAE3BA,EAAmB,SAAW,GACjCA,EAAmB,KAAK,IAAI,EAG7B,IAAMG,EAAkBN,EAAOb,GAAU,EAEnCoB,EAAaP,EAAOb,EAAS,GAC7BqB,EAAwB,CAAC,EAAED,EAAa,KAC1CE,EACJ,OAAQF,EAAa,QACf,IACJE,EAAsB,SACtB,UACI,IACJA,EAAsB,QACtB,cAEAA,EAAsB,GAExB,IAAMC,EAAkB,CAAC,EAAEH,EAAa,IAEpCI,EACJ,OAAQJ,EAAa,QACf,GACJI,EAAWb,GAAS,YACpB,UACI,WAEJa,EAAWb,GAAS,WACpB,MAGF,IAAMc,EAAyB,CAAC,EAAEL,EAAa,GACzCM,EAAmB,CAAC,EAAEN,EAAa,GAEzC,MAAO,CACN,YAAAN,EACA,oBAAAQ,EACA,UAAAP,EACA,mBAAAC,EACA,gBAAAG,EACA,sBAAAE,EACA,SAAAG,EACA,iBAAAE,EACA,gBAAAH,EACA,uBAAAE,EAEF,CApEApC,EAAA,sBAAAuB,GAsEA,SAAgBe,GAAuBC,EAAsB,CAC5D,IAAMzB,EAAM,OAAO,MAAM,EAAG,CAAC,EAE7B,OAAIyB,EAAK,cAAazB,EAAI,IAAM,KAC5ByB,EAAK,YAAWzB,EAAI,IAAM,IAC1ByB,EAAK,mBAAmB,SAAS,GAAK,IAAGzB,EAAI,IAAM,IACnDyB,EAAK,mBAAmB,SAAS,IAAI,IAAGzB,EAAI,IAAM,GAClDyB,EAAK,mBAAmB,SAAS,GAAM,IAAGzB,EAAI,IAAM,GACxDA,EAAI,IAAMyB,EAAK,gBAAkB,EAG7BA,EAAK,wBAAuBzB,EAAI,IAAM,KACtCyB,EAAK,sBAAwB,SAAUzB,EAAI,IAAM,GAC5CyB,EAAK,sBAAwB,UAASzB,EAAI,IAAM,IAErDyB,EAAK,kBAAiBzB,EAAI,IAAM,IAChCyB,EAAK,mBAAkBzB,EAAI,IAAM,GACjCyB,EAAK,WAAajB,GAAS,YAAaR,EAAI,IAAM,EACjDA,EAAI,IAAM,EAEXyB,EAAK,yBAAwBzB,EAAI,IAAM,GAEpCA,CACR,CAvBAd,EAAA,uBAAAsC,GAyBA,SAAgBE,GAAoChB,EAAc,IAIjE7B,GAAA,iBAAgB6B,EAAO,QAAU,CAAC,EAClC,IAAMiB,EAAelB,GAAsBC,EAAQ,CAAC,EAChDb,EAAS,EACP+B,EAAQlB,EAAOb,KACfgC,EAAUnB,EAAOb,KACnBiC,EAAW,EACf,OAAIH,EAAa,4BAChB9C,GAAA,iBAAgB6B,EAAO,QAAUb,EAAS,CAAC,EAC3CiC,EAAWpB,EAAOb,MAEZ,CACN,KAAM,CACL,GAAG8B,EACH,iBAAkBC,EAClB,mBAAoBC,EACpB,oBAAqBC,GAEtB,UAAWjC,EAEb,CAvBAX,EAAA,oCAAAwC,GAyBA,SAAgBK,GACfN,EAAoC,CAEpC,OAAO,OAAO,OAAO,CACpBD,GAAuB,CAAE,GAAGC,EAAM,uBAAwB,EAAI,CAAE,EAChE,OAAO,KAAK,CACXA,EAAK,iBACLA,EAAK,mBACLA,EAAK,oBACL,EACD,CACF,CAXAvC,EAAA,qCAAA6C,GAaA,SAAgBC,GACftB,EAAc,CAEd,GAAM,CAAE,KAAAe,EAAM,UAAW5B,CAAM,EAC9B6B,GAAoChB,CAAM,EACrCN,EAAenB,GAAYyB,EAAO,MAAMb,CAAM,CAAC,EAAE,aAEvD,MAAO,CACN,GAAG4B,EACH,aAAArB,EAEF,CAXAlB,EAAA,0BAAA8C,GAaA,SAAgBC,GAA2BR,EAA0B,CACpE,OAAO,OAAO,OAAO,CACpBM,GAAqCN,CAAI,EACzCjC,GAAaiC,EAAK,aAAc,CAAA,CAAE,EAClC,CACF,CALAvC,EAAA,2BAAA+C,wOC9UA,IAAAC,GAAA,KAEYC,IAAZ,SAAYA,EAAS,CACpBA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GAHYA,GAAAC,GAAA,YAAAA,GAAA,UAAS,CAAA,EAAA,EAKrB,IAAYC,IAAZ,SAAYA,EAAa,CACxBA,EAAAA,EAAA,OAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,MACAA,EAAAA,EAAA,QAAA,GAAA,MACD,GAJYA,GAAAD,GAAA,gBAAAA,GAAA,cAAa,CAAA,EAAA,EAMzB,IAAYE,IAAZ,SAAYA,EAAgB,CAC3BA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GALYA,GAAAF,GAAA,mBAAAA,GAAA,iBAAgB,CAAA,EAAA,EAO5B,SAAgBG,GAAyBC,EAAsB,CAC9D,OAAQA,QACFF,GAAiB,UACrB,MAAO,0BACHA,GAAiB,UACrB,MAAO,yBACHA,GAAiB,WACrB,MAAO,0BACHA,GAAiB,eACrB,MAAO,gCAET,MAAO,eAAYJ,GAAA,SAAQM,CAAI,IAChC,CAZAJ,GAAA,yBAAAG,GAeA,IAAYE,IAAZ,SAAYA,EAAqB,CAChCA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GANYA,GAAAL,GAAA,wBAAAA,GAAA,sBAAqB,CAAA,EAAA,EAQpBA,GAAA,qBAAuB,EAEpC,IAAYM,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,YACAA,EAAAA,EAAA,iBAAA,GAAA,eACD,GAJYA,GAAAN,GAAA,eAAAA,GAAA,aAAY,CAAA,EAAA,oGC7CxB,IAAYO,IAAZ,SAAYA,EAAQ,CACnBA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,yBAAA,GAAA,wBACAA,EAAAA,EAAA,aAAA,GAAA,YACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,oBAAA,GAAA,mBACAA,EAAAA,EAAA,MAAA,IAAA,QACAA,EAAAA,EAAA,MAAA,IAAA,QACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,gBAAA,KAAA,cACD,GAdYA,GAAAC,GAAA,WAAAA,GAAA,SAAQ,CAAA,EAAA,ICApB,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,0GCA5D,IAAYC,IAAZ,SAAYA,EAAc,CAEzBA,EAAAA,EAAA,KAAA,GAAA,OAEAA,EAAAA,EAAA,aAAA,GAAA,eAEAA,EAAAA,EAAA,SAAA,GAAA,WAOAA,EAAAA,EAAA,eAAA,GAAA,iBAOAA,EAAAA,EAAA,gBAAA,GAAA,kBAGAA,EAAAA,EAAA,SAAA,GAAA,UACD,GAxBYA,GAAAC,GAAA,iBAAAA,GAAA,eAAc,CAAA,EAAA,sGCD1B,IAAYC,IAAZ,SAAYA,EAAU,CACrBA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,MAAA,GAAA,OACD,GANYA,GAAAC,GAAA,aAAAA,GAAA,WAAU,CAAA,EAAA,0VCAtB,IAAAC,GAAA,KAMYC,IAAZ,SAAYA,EAAe,CAI1BA,EAAAA,EAAA,MAAA,GAAA,QAEAA,EAAAA,EAAA,WAAA,GAAA,aAGAA,EAAAA,EAAA,oBAAA,GAAA,sBAGAA,EAAAA,EAAA,YAAA,GAAA,cAEAA,EAAAA,EAAA,KAAA,GAAA,OAGAA,EAAAA,EAAA,OAAA,GAAA,SAEAA,EAAAA,EAAA,OAAA,GAAA,SAGAA,EAAAA,EAAA,UAAA,GAAA,YAGAA,EAAAA,EAAA,KAAA,GAAA,MACD,GA1BYA,GAAAC,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EA4B3B,SAAgBC,GAAkBC,EAAY,CAC7C,OAAO,OAAOA,GAAQ,UAAYA,KAAOH,EAC1C,CAFAC,EAAA,kBAAAC,GAMA,IAAYE,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,OAAA,GAAA,SAEAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,UAAA,GAAA,YAEAA,EAAAA,EAAA,QAAA,IAAA,UACAA,EAAAA,EAAA,QAAA,IAAA,UAEAA,EAAAA,EAAA,QAAA,IAAA,UACAA,EAAAA,EAAA,cAAA,IAAA,eACD,GAZYA,GAAAH,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EAc3B,IAAYI,IAAZ,SAAYA,EAAc,CACzBA,EAAAA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,QAAA,GAAA,SACD,GANYA,GAAAJ,EAAA,iBAAAA,EAAA,eAAc,CAAA,EAAA,EAW1B,IAAYK,IAAZ,SAAYA,EAAS,CACpBA,EAAAA,EAAA,aAAA,KAAA,eACAA,EAAAA,EAAA,kBAAA,KAAA,oBACAA,EAAAA,EAAA,iBAAA,KAAA,kBACD,GAJYA,GAAAL,EAAA,YAAAA,EAAA,UAAS,CAAA,EAAA,EAMrB,SAAgBM,GAAYC,EAAU,CACrC,OAAOA,GAAQF,GAAU,gBAC1B,CAFAL,EAAA,YAAAM,GAOA,SAAgBE,GAAaD,EAAU,CACtC,OAAQA,QACFF,GAAU,aACd,MAAO,WACHA,GAAU,kBACd,MAAO,0BACHA,GAAU,iBACd,MAAO,6BAEP,MAAO,GAAGE,QAEb,CAXAP,EAAA,aAAAQ,GAsFA,IAAYC,IAAZ,SAAYA,EAAkB,CAC7BA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,YAAA,GAAA,cAEAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,MAAA,GAAA,OACD,GANYA,GAAAT,EAAA,qBAAAA,EAAA,mBAAkB,CAAA,EAAA,EA0C9B,IAAYU,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,QAAA,KAAA,SACD,GALYA,GAAAV,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAsB7B,SAAgBW,GAAoBC,EAAY,CAC/C,SACCd,GAAA,UAASc,CAAG,GACZ,WAAYA,GACZ,OAAOF,GAAkBE,EAAI,SAAmB,QAElD,CANAZ,EAAA,oBAAAW,GAQA,SAAgBE,GACfC,EAAe,CAIf,OACCH,GAAoBG,CAAM,IACzBA,EAAO,SAAWJ,GAAkB,SACpCI,EAAO,SAAWJ,GAAkB,QAEvC,CAVAV,EAAA,2BAAAa,GAYA,SAAgBE,GACfD,EAAe,CAIf,OACCH,GAAoBG,CAAM,IACzBA,EAAO,SAAWJ,GAAkB,MACpCI,EAAO,SAAWJ,GAAkB,UAEvC,CAVAV,EAAA,wBAAAe,GAYA,SAAgBC,GACfF,EAAqC,CAMrC,MAAO,CAACA,GAAUD,GAA2BC,CAAM,CACpD,CARAd,EAAA,0BAAAgB,irBCnQaC,GAAA,UAAY,IAGZA,GAAA,kBAAoB,IAGpBA,GAAA,YAAcA,GAAA,UAGdA,GAAA,mBAAqBA,GAAA,UAAY,EAGjCA,GAAA,aAAe,EAGfA,GAAA,cAAgB,EAE7B,IAAAC,GAAA,KAAS,OAAA,eAAAD,GAAA,iBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,cAAc,CAAA,CAAA,EACvB,IAAAC,GAAA,KAAS,OAAA,eAAAF,GAAA,aAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAE,GAAA,UAAU,CAAA,CAAA,EACnBC,GAAA,KAAAH,EAAA,EAEaA,GAAA,2BAA6B,yTCtB1C,IAAAI,GAAA,KAMaC,GAAA,qBAAuB,eACvBA,GAAA,sBAAwB,IAAI,OACxCA,GAAA,qBAAqB,OAAS,CAAC,EAEnBA,GAAA,iBAAmB,IAAI,OAAO,IAAI,KAAI,EAAG,YAAW,EAAG,OAAS,CAAC,EAEjEA,GAAA,eAAiB,IAAI,OAAO,CAAC,EAK1C,SAAgBC,GAAmBC,EAAwB,CAC1D,OAAOA,IAAc,UAClB,QACAA,IAAc,WACd,QACA,IACJ,CANAF,GAAA,mBAAAC,GAQaD,GAAA,mBAAqB,EACrBA,GAAA,uBAAyB,IAAI,OAAOA,GAAA,kBAAkB,EAMtDA,GAAA,UAAY,GAEZA,GAAA,iBAAmB,GAwChC,SAAgBG,GAAWC,EAAc,CACxC,MAAO,WAAUL,GAAA,UAASK,EAAO,SAAQ,EAAI,EAAG,GAAG,CACpD,CAFAJ,GAAA,WAAAG,GAsBA,SAAgBE,GAAiBC,EAAc,CAC9C,GAAI,EAACA,EACL,OAAOA,EACL,MAAM,GAAG,EACT,IAAKC,GAAM,SAASA,CAAC,CAAC,EACtB,OAAQA,GAAM,CAAC,OAAO,MAAMA,CAAC,CAAC,CACjC,CANAP,GAAA,iBAAAK,gLChGA,IAAAG,GAAA,KACAC,GAAA,KAEA,SAAgBC,GAAWC,EAAW,CACrC,MAAO,qBAAqB,KAAKA,CAAG,CACrC,CAFAC,GAAA,WAAAF,GAIA,SAAgBG,GAAYF,EAAW,CACtC,GAAIA,EAAI,SAAW,GAClB,MAAM,IAAIF,GAAA,WACT,oCAAoCE,EAAI,SACxCF,GAAA,gBAAgB,gBAAgB,EAGlC,IAAIK,EAAM,GACV,QAASC,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACxBA,EAAI,IAAGD,GAAO,KAClBA,MAAON,GAAA,UAASG,EAAI,aAAaI,CAAC,EAAE,SAAS,EAAE,EAAG,EAAG,GAAG,EAEzD,OAAOD,CACR,CAbAF,GAAA,YAAAC,GAeA,SAAgBG,GAAcL,EAAW,CACxC,GAAI,CAACD,GAAWC,CAAG,EAClB,MAAM,IAAIF,GAAA,WACT,gFACAA,GAAA,gBAAgB,gBAAgB,EAIlC,IAAMK,EAAM,OAAO,YAAY,EAAE,EAC3BG,EAAQN,EAAI,MAAM,GAAG,EAC3B,QAASI,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC3B,IAAMG,EAAe,SAASD,EAAMF,GAAI,EAAE,EAC1CD,EAAI,cAAcI,EAAcH,EAAI,CAAC,EAEtC,OAAOD,CACR,CAfAF,GAAA,cAAAI,GAiBA,SAAgBG,GAAiBR,EAAW,CAK3C,IAAMG,EAAM,OAAO,YAAY,CAAC,EAChC,OAAAH,EAAI,KAAKG,EAAK,EAAG,EAAG,EAAE,EACtBA,EAAI,IAAM,IACVA,EAAI,IAAM,IACHA,CACR,CAVAF,GAAA,iBAAAO,GAYA,SAAgBC,GAAkBT,EAAW,CAI5C,IAAMG,EAAM,OAAO,YAAY,CAAC,EAChC,OAAAH,EAAI,KAAKG,EAAK,EAAG,GAAI,EAAE,EACvBA,EAAI,IAAM,GACVA,EAAI,IAAM,EACHA,CACR,CATAF,GAAA,kBAAAQ,gLCjDA,IAAYC,IAAZ,SAAYA,EAAa,CAIxBA,EAAAA,EAAA,UAAA,IAAA,YAKAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,UAAA,GAAA,WACD,GAdYA,GAAAC,GAAA,gBAAAA,GAAA,cAAa,CAAA,EAAA,EAsBzB,SAAgBC,GACfC,EAAmC,CAEnC,OACCA,GAAY,MACZA,GAAYH,GAAc,oBAC1BG,GAAYH,GAAc,gBAE5B,CARAC,GAAA,kBAAAC,GAWaD,GAAA,mBAAqB,CACjCD,GAAc,iBACdA,GAAc,iBACdA,GAAc,mBACdA,GAAc,WAUf,SAAgBI,GACfC,EAAgC,CAEhC,QAAWC,KAAOL,GAAA,mBACjB,GAAII,EAAgB,SAASC,CAAG,EAAG,OAAOA,EAE3C,OAAON,GAAc,IACtB,CAPAC,GAAA,wBAAAG,6GCpCA,SAAgBG,GACfC,EACAC,EAAmC,CAAA,EAAE,CAErC,GAAM,CAAE,eAAAC,EAAgB,UAAAC,EAAW,QAAAC,CAAO,EAAKH,EAE/C,SAASI,EAAkBC,EAAM,CAChC,OAAOA,EAAE,YAAY,IAAI,EAAE,KAAK,YAAY,EAC5C,OAAOA,EAAE,IAAI,EAAE,WAAU,CAC1B,CAEA,SAASC,EAAYD,EAAM,CAC1BD,EAAkBC,CAAC,EACfJ,GAAkB,MACrB,OAAOI,EAAE,OAAO,EAAE,QAAQJ,CAAc,EACrCC,GAAa,MAAW,OAAOG,EAAE,IAAI,EAAE,KAAKH,CAAS,EACrDC,GAAW,MAAW,OAAOE,EAAE,OAAO,EAAE,KAAKF,CAAO,CACzD,CACA,SAASI,GAAI,CAEZ,MAAM,IAAI,MAAM,+CAA+C,CAChE,CAEA,GAAI,OAAOR,GAAmB,WAAY,CACzC,GAAI,CAEH,IAAMS,EAAST,EAAc,EAC7B,GAAIS,aAAkB,QACrB,OAAOA,EAAO,KACbD,EACAD,CAAW,QAGLD,EAAP,CACD,OAAO,KAAKC,EAAYD,CAAC,EAE1BE,EAAI,OAGJD,EAAYP,CAAc,CAG5B,CA1CAU,GAAA,iBAAAX,wGCZA,SAAgBY,GAAYC,EAAcC,EAAqB,KAAM,CACpE,IAAIC,EAAMD,EACJE,EAAO,KAEb,QAASC,EAAI,EAAGA,EAAIJ,EAAK,OAAQI,IAChC,QAASC,EAAU,IAAMA,IAAY,EAAGA,IAAY,EAAG,CACtD,IAAMC,EAAU,CAAC,EAAEN,EAAKI,GAAKC,IAAa,CAAC,EAAEH,EAAM,OACnDA,IAAQ,EAEJI,IAASJ,GAAOC,GAGtB,OAAOD,EAAM,KACd,CAbAK,GAAA,YAAAR,yHCDA,IAAaS,GAAb,KAAsB,CACrB,YAAmBC,EAAUC,EAAgC,CAAA,EAAE,CAC9D,KAAK,MAAQD,EACb,KAAK,MAAQ,IAAI,IAAIC,CAAK,CAC3B,GAJDC,GAAA,UAAAH,GAgBA,SAAgBI,GAAmBC,EAAqB,CACvD,IAAMC,EAAW,CAAA,EACjB,KAAOD,EAAM,QAAQ,CAEpB,IAAME,EAA2BF,EAAM,OACrCG,GAASA,EAAK,MAAM,OAAS,CAAC,EAEhC,GAAI,CAACD,EAAyB,OAC7B,MAAM,IAAI,MAAM,+BAA+B,EAGhD,IAAME,EAAWF,EAAyB,IAAKC,GAASA,EAAK,KAAK,EAClEF,EAAI,KAAK,GAAGG,CAAQ,EACpBJ,EAAQA,EAAM,OAAQG,GAASA,EAAK,MAAM,KAAO,CAAC,EAElD,QAAWA,KAAQH,EAClB,QAAWK,KAAWH,EACrBC,EAAK,MAAM,OAAOE,CAAO,EAI5B,OAAOJ,CACR,CAtBAH,GAAA,gBAAAC,KChBA,IAAAO,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,ICD5D,IAAAC,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5DA,GAAQ,QAAUA,GAAQ,MAAQ,OAElC,SAASC,GAAMC,EAAOC,EAAKC,EAAK,CAI5B,OAHID,EAAMC,IACN,CAACD,EAAKC,CAAG,EAAI,CAACA,EAAKD,CAAG,GAEtBD,EAAQC,EACDA,EACPD,EAAQE,EACDA,EACJF,CACX,CACAF,GAAQ,MAAQC,GAChB,SAASI,GAAQH,EAAOI,EAAQ,CAC5B,IAAMC,EAAM,KAAK,IAAI,GAAID,CAAM,EAC/B,OAAO,KAAK,MAAMJ,EAAQK,CAAG,EAAIA,CACrC,CACAP,GAAQ,QAAUK,qGClBlB,IAAAG,GAAA,KACAC,GAAA,KAIMC,GACL,4EAGYC,GAAb,KAAqB,CACpB,YAAmBC,EAAsBC,EAAkB,CAC1D,OADwC,KAAA,KAAAA,EAChCA,OACF,UAEAD,IAAU,IAAG,KAAK,KAAO,WAC7B,UACI,cACA,UACJA,EAAQ,EACR,MAEF,KAAK,MAAQA,CACd,CAGA,IAAW,OAAK,CACf,OAAO,KAAK,MACb,CACA,IAAW,MAAME,EAAS,CACzB,KAAK,UAASN,GAAA,OAAMM,EAAG,EAAG,GAAG,CAC9B,CAGO,OAAO,YAAYC,EAAgB,CAEzC,GADIA,GAAW,MACXA,IAAY,IAAM,OACtB,GAAIA,IAAY,IAAM,OAAO,IAAIJ,GAAS,EAAG,SAAS,EACtD,IAAMK,EAAY,CAAC,EAAED,EAAU,KACzBH,GAASG,EAAU,MAAgBC,EAAY,EAAI,GACzD,OAAO,IAAIL,GAASC,EAAOI,EAAY,UAAY,SAAS,CAC7D,CAGO,OAAO,SAASD,EAAgB,CACtC,GAAIA,GAAW,KAAW,OAC1B,GAAIA,IAAY,IAAM,OAAO,IAAIJ,GAAS,EAAG,SAAS,EACtD,IAAMK,EAAY,CAAC,EAAED,EAAU,KACzBH,GAASG,EAAU,MAAgBC,EAAY,EAAI,GACzD,OAAO,IAAIL,GAASC,EAAOI,EAAY,UAAY,SAAS,CAC7D,CAMO,OAAO,YAAYC,EAAY,CACrC,GAAI,CAACA,EAAK,OAAQ,OAElB,GAAIA,IAAS,UAAW,OAAO,IAAIN,GAAS,EAAG,SAAS,EAIxD,IAAMO,EAAQR,GAAoB,KAAKO,CAAI,EAC3C,GAAI,CAACC,EAAO,OACZ,GAAM,CAAE,SAAAC,EAAU,WAAAC,EAAY,WAAAC,CAAU,EAAKH,EAAM,OAC7CI,EAAQH,EAAW,SAASA,CAAQ,EAAI,EACxCI,EAAUH,EAAa,SAASA,CAAU,EAAI,EAC9CI,EAAUH,EAAa,SAASA,CAAU,EAAI,EAEpD,GAAIC,GAEH,GAAIA,EAAQ,GAAKC,GAAW,IAC3B,OAAO,IAAIZ,GAAS,GAAKW,EAAQC,EAAS,SAAS,MAE9C,QAAIA,EAAU,GAAKC,EAAU,IAG5B,IAAIb,GAASY,EAAU,KAAK,MAAMC,EAAU,EAAE,EAAG,SAAS,EAE1D,IAAIb,GAASY,EAAU,GAAKC,EAAS,SAAS,CAEvD,CAQO,OAAO,KAAKC,EAAyB,CAC3C,OAAIA,aAAiBd,GACbc,EACGA,EACHd,GAAS,YAAYc,CAAK,EAEjC,MAEF,CAGO,cAAY,CAClB,GAAI,KAAK,OAAS,UAAW,MAAO,KACpC,GAAI,KAAK,OAAS,UACjB,MAAM,IAAIhB,GAAA,WACT,+CACAA,GAAA,gBAAgB,UAAU,EAE5B,IAAMO,EAAY,KAAK,OAAS,UAC5BD,EAAUC,EAAY,IAAc,EACxC,OAAAD,GAAY,KAAK,QAAUC,EAAY,EAAI,GAAM,IAC1CD,CACR,CAGO,iBAAe,CACrB,GAAI,KAAK,OAAS,UAAW,MAAO,KACpC,IAAMC,EAAY,KAAK,OAAS,UAC5BD,EAAUC,EAAY,IAAc,EACxC,OAAAD,GAAY,KAAK,QAAUC,EAAY,EAAI,GAAM,IAC1CD,CACR,CAEO,QAAM,CACZ,OAAI,KAAK,OAAS,WAAa,KAAK,OAAS,UACrC,KAAK,KACN,CACN,MAAO,KAAK,MACZ,KAAM,KAAK,KAEb,CAEO,gBAAc,CACpB,OAAQ,KAAK,UACP,UACJ,OAAO,KAAK,OAAS,QACjB,UACJ,OAAO,KAAK,OAAS,IAGxB,CAEO,UAAQ,CACd,IAAIW,EAAM,GACV,OAAQ,KAAK,UACP,UACJ,OAAI,KAAK,OAAS,KACjBA,GAAO,GAAG,KAAK,MAAM,KAAK,OAAS,EAAE,MAEtCA,GAAO,GAAG,KAAK,OAAS,MACjBA,MACH,UACJ,OAAI,KAAK,OAAS,KACjBA,GAAO,GAAG,KAAK,MAAM,KAAK,OAAS,EAAE,MAEtCA,GAAO,GAAG,KAAK,OAAS,MACjBA,UAEP,OAAO,KAAK,KAEf,GAtJDC,GAAA,SAAAhB,yICTA,IAAAiB,GAAA,KACAC,GAAA,KACAC,GAAA,KAiBMC,GAAmB,WAGzB,SAAgBC,GAAoBC,EAAc,CACjD,GAAIA,aAAiB,IAEpB,MAAO,CACN,MAAGL,GAAA,eACF,CAAC,GAAGK,EAAM,QAAO,CAAE,EAAE,IAAI,CAAC,CAACC,EAAGC,CAAC,IAAM,CACpCD,EACAF,GAAoBG,CAAC,EACrB,CAAC,EAEH,CAACJ,IAAmB,OAEf,GAAIE,aAAiBH,GAAA,SAAU,CACrC,IAAMM,EAAcH,EAAM,OAAM,EAChC,MAAO,CACN,GAAI,OAAOG,GAAgB,SACxB,CAAE,KAAMA,CAAW,EACnBA,EACH,CAACL,IAAmB,gBAEf,IAAI,OAAO,SAASE,CAAK,EAC/B,MAAO,CACN,CAACF,IAAmB,SACpB,KAAME,EAAM,SAAS,KAAK,GAErB,GACN,OAAOA,GAAU,UACjB,OAAOA,GAAU,UACjB,OAAOA,GAAU,cACjBJ,GAAA,UAASI,CAAK,MACdJ,GAAA,SAAQI,CAAK,EAEb,OAAOA,EAET,CAlCAI,GAAA,oBAAAL,GAqCA,SAAgBM,GAAsBL,EAAsB,OAC3D,MAAIJ,GAAA,UAASI,CAAK,EAAG,CACpB,IAAMM,EAAeN,EACpBF,IAGD,GAAIQ,IAAgB,MAAO,CAC1B,GAAM,EAAGR,IAAmBS,KAAMC,CAAI,EAAKR,EAI3C,OAAO,IAAI,IACV,OAAO,QAAQQ,CAAI,EAEjB,IAAI,CAAC,CAACP,EAAGC,CAAC,IAAM,CAAC,QAAQ,KAAKD,CAAC,EAAI,SAASA,EAAG,EAAE,EAAIA,EAAGC,CAAC,CAAC,EAE1D,IAAI,CAAC,CAACD,EAAGC,CAAC,IAAM,CAACD,EAAGI,GAAsBH,CAAC,CAAC,CAAC,CAAC,MAE3C,IAAII,IAAgB,WAC1B,OAAO,IAAIT,GAAA,UAASY,EAAAT,EAAM,QAAN,KAAAS,EAAe,EAAGT,EAAM,IAAI,EAC1C,GAAIM,IAAgB,SAC1B,OAAO,OAAO,KAAKN,EAAM,KAAM,KAAK,GAGtC,OAAOA,CACR,CAzBAI,GAAA,sBAAAC,2GChDA,IAAaK,GAAb,KAA2B,CAC1B,YACkBC,EACAC,EAAgC,CADhC,KAAA,MAAAD,EACA,KAAA,UAAAC,EAEjB,KAAK,IAAM,IAAI,IACf,OAAW,CAACC,EAAKC,CAAK,IAAK,KAAK,MAAM,QAAO,EAC5C,GAAID,EAAI,WAAW,KAAK,UAAU,MAAM,EAAG,CAC1C,IAAME,EAASF,EAAI,UAAU,KAAK,UAAU,OAAO,MAAM,EACnDG,EAAY,KAAK,UAAU,mBAAmBD,CAAM,EACtDC,IAAc,QACjB,KAAK,IAAI,IAAIA,EAAWF,CAAK,EAMhC,KAAK,QAAU,KAAK,IAAI,QAAQ,KAAK,KAAK,GAAG,EAC7C,KAAK,IAAM,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,EACrC,KAAK,IAAM,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,EACrC,KAAK,QAAU,KAAK,IAAI,QAAQ,KAAK,KAAK,GAAG,EAC7C,KAAK,KAAO,KAAK,IAAI,KAAK,KAAK,KAAK,GAAG,EACvC,KAAK,OAAS,KAAK,IAAI,OAAO,KAAK,KAAK,GAAG,EAC3C,KAAK,OAAO,UAAY,KAAK,IAAI,OAAO,UAAU,KAAK,KAAK,GAAG,CAChE,CAGQ,cAAcD,EAAM,CAC3B,OAAO,KAAK,UAAU,OAAS,KAAK,UAAU,iBAAiBA,CAAG,CACnE,CAEA,OAAK,CACJ,QAAWA,KAAO,KAAK,IAAI,KAAI,EAC9B,KAAK,MAAM,OAAO,KAAK,cAAcA,CAAG,CAAC,EAE1C,KAAK,IAAI,MAAK,CACf,CAEA,OAAOA,EAAM,CACZ,IAAMI,EAAM,KAAK,IAAI,OAAOJ,CAAG,EAC/B,OAAII,GAAK,KAAK,MAAM,OAAO,KAAK,cAAcJ,CAAG,CAAC,EAC3CI,CACR,CAEA,IAAIJ,EAAQC,EAAQ,CACnB,YAAK,IAAI,IAAID,EAAKC,CAAK,EACvB,KAAK,MAAM,IAAI,KAAK,cAAcD,CAAG,EAAGC,CAAK,EACtC,IACR,CAEA,IAAI,MAAI,CACP,OAAO,KAAK,IAAI,IACjB,CAEA,IAAK,OAAO,cAAY,CACvB,MAAO,KACR,GAxDDI,GAAA,eAAAR,mYCZA,IAAAS,GAAA,KACAC,GAAA,KAWaC,EAAA,cAAgB,UAChBA,EAAA,eAAiB,UAG9B,SAAgBC,GACfC,EACAC,EAA2B,GAAI,CAE/B,OAAOD,IAAQ,IACZC,EACCH,EAAA,eACA,OACDI,GAAaF,CAAG,CACpB,CATAF,EAAA,kBAAAC,GAYA,SAAgBG,GAAaF,EAAW,CACvC,OAAOA,IAAQ,EAAI,GAAQA,IAAQ,IAAO,GAAO,MAClD,CAFAF,EAAA,aAAAI,GAKA,SAAgBC,GAAcH,EAAY,CACzC,OAAOA,EAAM,IAAO,CACrB,CAFAF,EAAA,cAAAK,GAKA,SAAgBC,GAAmBJ,EAAmB,CACrD,OAAOA,IAAQ,UAAY,IAAOA,EAAM,IAAO,CAChD,CAFAF,EAAA,mBAAAM,GAKA,SAAgBC,GAAiBL,EAAW,CAC3C,OAAOA,IAAQ,IAAOF,EAAA,cAAgBQ,GAAYN,CAAG,CACtD,CAFAF,EAAA,iBAAAO,GAKA,SAAgBC,GAAYN,EAAW,CACtC,OAAOA,GAAO,GAAKA,EAAMA,IAAQ,IAAO,GAAK,MAC9C,CAFAF,EAAA,YAAAQ,GAiCA,SAAgBC,GACfC,EACAC,EAAsB,GAAK,IAM3BZ,GAAA,iBAAgBW,EAAQ,QAAU,CAAC,EACnC,IAAME,GAAaF,EAAQ,GAAK,OAAkB,EAC5CG,GAASH,EAAQ,GAAK,MAAkB,EACxCI,EAAOJ,EAAQ,GAAK,EAC1B,OAAIC,GAAcG,IAAS,MAC1Bf,GAAA,iBAAgBa,IAAc,EAAGC,IAAU,CAAC,EACrC,CAAE,UAAW,CAAC,OAErBd,GAAA,iBAAgBe,GAAQ,EAAGA,GAAQ,EAAGJ,EAAQ,QAAU,EAAII,CAAI,EAEzD,CAAE,MADKJ,EAAQ,UAAU,EAAGI,CAAI,EAAI,KAAK,IAAI,GAAIF,CAAS,EACjD,MAAAC,EAAO,UAAW,EAAIC,CAAI,EAE5C,CApBAd,EAAA,oBAAAS,GAsBA,SAASM,GAAaC,EAAW,CAChC,GAAI,CAAC,OAAO,SAASA,CAAG,EAAG,MAAO,GAClC,IAAIC,EAAI,EACJC,EAAI,EACR,KAAO,KAAK,MAAMF,EAAMC,CAAC,EAAIA,IAAMD,GAClCC,GAAK,GACLC,IAED,OAAOA,CACR,CAGalB,EAAA,cAAgB,OAAO,OAAO,CAC1C,MAAO,OAAO,OAAO,CAAE,IAAK,EAAG,IAAK,GAAI,CAAE,EAC1C,OAAQ,OAAO,OAAO,CAAE,IAAK,EAAG,IAAK,KAAM,CAAE,EAC7C,OAAQ,OAAO,OAAO,CAAE,IAAK,EAAG,IAAK,QAAQ,CAAE,EAC/C,OAAQ,OAAO,OAAO,CAAE,IAAK,EAAG,IAAK,UAAU,CAAE,EACjD,KAAM,OAAO,OAAO,CAAE,IAAK,KAAO,IAAK,GAAI,CAAE,EAC7C,MAAO,OAAO,OAAO,CAAE,IAAK,OAAS,IAAK,KAAM,CAAE,EAClD,MAAO,OAAO,OAAO,CAAE,IAAK,SAAW,IAAK,OAAQ,CAAE,EACtD,MAAO,OAAO,OAAO,CAAE,IAAK,YAAa,IAAK,UAAU,CAAE,EAC1D,EAED,SAAgBmB,GACfC,EACAC,EAAe,CAEf,GAAIA,EAAQ,CACX,GAAID,GAASpB,EAAA,cAAc,KAAK,KAAOoB,GAASpB,EAAA,cAAc,KAAK,IAClE,MAAO,GACH,GACJoB,GAASpB,EAAA,cAAc,MAAM,KAC7BoB,GAASpB,EAAA,cAAc,MAAM,IAE7B,MAAO,GACH,GACJoB,GAASpB,EAAA,cAAc,MAAM,KAC7BoB,GAASpB,EAAA,cAAc,MAAM,IAE7B,MAAO,WACEoB,GAAS,EAAG,CACtB,GAAIA,GAASpB,EAAA,cAAc,MAAM,IAAK,MAAO,GAC7C,GAAIoB,GAASpB,EAAA,cAAc,OAAO,IAAK,MAAO,GAC9C,GAAIoB,GAASpB,EAAA,cAAc,OAAO,IAAK,MAAO,GAGhD,CAvBAA,EAAA,kBAAAmB,GAyBA,SAAgBG,GACfR,EACAO,EAAe,CAEf,OAAQrB,EAAA,cAAsB,GAAGqB,EAAS,GAAK,SAASP,EAAO,IAChE,CALAd,EAAA,iBAAAsB,GAWA,SAAgBC,GACfH,EACAP,EACAW,EAGI,CAAA,EAAE,OAEN,IAAMZ,GAAYa,EAAAD,EAAS,YAAT,KAAAC,EAAsB,KAAK,IAAIV,GAAaK,CAAK,EAAG,CAAC,EACvEA,EAAQ,KAAK,MAAMA,EAAQ,KAAK,IAAI,GAAIR,CAAS,CAAC,EAClD,IAAIE,EAA2BK,GAAkBC,EAAO,EAAI,EAC5D,GAAIN,GAAQ,KACX,MAAM,IAAIhB,GAAA,WACT,2BAA2BsB,2DAC3BtB,GAAA,gBAAgB,UAAU,EAEjB0B,EAAS,MAAQ,MAAaA,EAAS,KAAOV,IACxDA,EAAOU,EAAS,MAEjB,IAAME,EAAM,OAAO,YAAY,EAAIZ,CAAI,EACvC,OAAAY,EAAI,IACDd,EAAY,IAAU,GAAOC,EAAQ,IAAS,EAAMC,EAAO,EAC9DY,EAAI,WAAWN,EAAO,EAAGN,CAAI,EACtBY,CACR,CAxBA1B,EAAA,qBAAAuB,GA2BA,SAAgBI,GAAaC,EAAcC,EAAqB,EAAC,CAChE,IAAMC,EAAUF,EAAK,OAAS,EAExBF,EAAgB,CAAA,EACtB,QAASK,EAAQ,EAAGA,GAASD,EAASC,IAAS,CAC9C,IAAMC,EAAWD,EAAQ,IAAO,EAC1BE,GAAUF,EAAQ,GAAK,GACxBH,EAAKI,GAAY,GAAKC,KAAa,GACvCP,EAAI,KAAKK,EAAQF,EAAa,CAAC,EAEjC,OAAOH,CACR,CAXA1B,EAAA,aAAA2B,GAcA,SAAgBO,GACfC,EACAC,EACAP,EAAqB,EAAC,CAEtB,IAAMQ,EAAW,KAAK,MAAMD,EAAWP,EAAa,GAAK,CAAC,EACpDH,EAAM,OAAO,MAAMW,EAAU,CAAC,EACpC,QAASnC,EAAM2B,EAAY3B,GAAOkC,EAAUlC,IAAO,CAClD,GAAIiC,EAAO,QAAQjC,CAAG,IAAM,GAAI,SAChC,IAAM8B,EAAW9B,EAAM2B,IAAgB,EACjCI,GAAU/B,EAAM2B,GAAc,EACpCH,EAAIM,IAAY,GAAKC,EAEtB,OAAOP,CACR,CAdA1B,EAAA,cAAAkC,GA6BA,SAAgBI,GACflB,EACAmB,EACAlB,EAAe,CAEf,IAAMmB,KAAQzC,GAAA,2BAA0BwC,CAAO,EACzCE,KAAQ1C,GAAA,iBAAgBwC,CAAO,EACjCb,GAAON,EAAQmB,KAAaC,EAEhC,OAAInB,GAAU,CAAC,EAAEK,EAAO,IAAMe,EAAQ,MAErCf,EAAM,EAAE,CAACA,EAAOa,IAAYC,IAEtBd,CACR,CAdA1B,EAAA,aAAAsC,GA8BA,SAAgBI,GACfC,EACAC,EACAL,EAAe,CAKf,OAFEI,EAAY,CAACJ,EACZK,MAAgB7C,GAAA,2BAA0BwC,CAAO,EAAKA,KAC1C,CAChB,CATAvC,EAAA,cAAA0C,qLCtQA,IAAAG,GAAA,KAEAC,GAAA,KAEMC,GAAiB,QAGvB,SAAgBC,GACfC,EAAc,CAEd,OAAO,OAAO,KAAKA,CAAW,EAC5B,OAAQC,GAAQH,GAAe,KAAKG,CAAG,CAAC,EACxC,IAAKA,GAAQ,SAASA,EAAK,EAAE,CAAC,CACjC,CANAC,GAAA,qBAAAH,GASA,SAAgBI,GACfH,EACAI,EAA0B,CAE1B,IAAMC,EAA8B,CAAA,EAChCD,GAAU,OAAWA,EAASL,GAAqBC,CAAW,GAClE,QAAWM,KAASF,EACnBC,EAAIC,MAASV,GAAA,mBAAkBI,EAAaM,CAAK,EAElD,OAAOD,CACR,CAVAH,GAAA,2BAAAC,GA0DA,IAAMI,GACL,IAEkBC,GACVA,EAGHC,GAAYF,GAAM,EAkBlBG,GAAgBH,GAAM,EAQtBI,GAAgBJ,GAAM,EAYtBK,GAAeL,GAAM,EAUrBM,GAAeN,GAAM,EAOrBO,GAAiBP,GAAM,EAKjBQ,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,SAAA,GAAA,UACD,GALYA,GAAAb,GAAA,oBAAAA,GAAA,kBAAiB,CAAA,EAAA,EA8C7B,IAAMc,GAAWP,GAAU,CAC1B,KAAM,MACN,SAAU,GACV,UAAW,GACF,EAEJQ,GAAY,CACjB,UAAW,IAGNC,GAAa,CAClB,SAAU,IAILC,GAAMV,GAAU,CACrB,GAAGO,GACM,EAGJI,GAAWX,GAAU,CAC1B,GAAGO,GACH,GAAGC,GACM,EAGJI,GAAYZ,GAAU,CAC3B,GAAGO,GACH,GAAGE,GACM,EAGJI,GAAUX,GAAc,CAC7B,GAAGK,GACH,KAAM,UACG,EAGJO,GAAkBZ,GAAc,CACrC,GAAGW,GACH,GAAGL,GACM,EAGJO,GAAmBb,GAAc,CACtC,GAAGW,GACH,GAAGJ,GACM,EAGJO,GAASf,GAAc,CAC5B,GAAGM,GACH,KAAM,SACG,EAGJU,GAAiBhB,GAAc,CACpC,GAAGe,GACH,GAAGR,GACM,EAGJU,GAAkBjB,GAAc,CACrC,GAAGe,GACH,GAAGP,GACM,EAGJU,GAAQlB,GAAc,CAC3B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,MACR,EAGJgC,GAAgBnB,GAAc,CACnC,GAAGkB,GACH,GAAGX,GACM,EAGJa,GAAiBpB,GAAc,CACpC,GAAGkB,GACH,GAAGV,GACM,EAGJa,GAASrB,GAAc,CAC5B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,OACR,EAGJmC,GAAiBtB,GAAc,CACpC,GAAGqB,GACH,GAAGd,GACM,EAGJgB,GAAkBvB,GAAc,CACrC,GAAGqB,GACH,GAAGb,GACM,EAGJgB,GAASxB,GAAc,CAC5B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,OACR,EAGJsC,GAAiBzB,GAAc,CACpC,GAAGwB,GACH,GAAGjB,GACM,EAGJmB,GAAkB1B,GAAc,CACrC,GAAGwB,GACH,GAAGhB,GACM,EAGJmB,GAAS3B,GAAc,CAC5B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,OACR,EAGJyC,GAAiB5B,GAAc,CACpC,GAAG2B,GACH,GAAGpB,GACM,EAGJsB,GAAkB7B,GAAc,CACrC,GAAG2B,GACH,GAAGnB,GACM,EAGJsB,GAAO9B,GAAc,CAC1B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,KACR,EAGJ4C,GAAe/B,GAAc,CAClC,GAAG8B,GACH,GAAGvB,GACM,EAGJyB,GAAgBhC,GAAc,CACnC,GAAG8B,GACH,GAAGtB,GACM,EAGJyB,GAAQjC,GAAc,CAC3B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,MACR,EAGJ+C,GAAgBlC,GAAc,CACnC,GAAGiC,GACH,GAAG1B,GACM,EAGJ4B,GAAiBnC,GAAc,CACpC,GAAGiC,GACH,GAAGzB,GACM,EAGJ4B,GAAQpC,GAAc,CAC3B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,MACR,EAGJkD,GAAgBrC,GAAc,CACnC,GAAGoC,GACH,GAAG7B,GACM,EAGJ+B,GAAiBtC,GAAc,CACpC,GAAGoC,GACH,GAAG5B,GACM,EAGJ+B,GAAQvC,GAAc,CAC3B,GAAGM,GACH,KAAM,SACN,GAAGnB,GAAA,cAAc,MACR,EAGJqD,GAAgBxC,GAAc,CACnC,GAAGuC,GACH,GAAGhC,GACM,EAGJkC,GAAiBzC,GAAc,CACpC,GAAGuC,GACH,GAAG/B,GACM,EAGJkC,GAASxC,GAAa,CAC3B,GAAGI,GACH,KAAM,SACG,EAGJqC,GAAiBzC,GAAa,CACnC,GAAGwC,GACH,GAAGnC,GACM,EAGJqC,GAAkB1C,GAAa,CACpC,GAAGwC,GACH,GAAGlC,GACM,EAGJqC,GAAQ3C,GAAa,CAC1B,GAAGwC,GACH,KAAM,QACG,EAGJI,GAAgB5C,GAAa,CAClC,GAAG2C,GACH,GAAGtC,GACM,EAGJwC,GAAiB7C,GAAa,CACnC,GAAG2C,GACH,GAAGrC,GACM,EAKJwC,GAAQhD,GAAc,CAC3B,GAAGkB,GACH,IAAK,GACI,EAGJ+B,GAAgBjD,GAAc,CACnC,GAAGgD,GACH,GAAGzC,GACM,EAGJ2C,GAAiBlD,GAAc,CACpC,GAAGgD,GACH,GAAGxC,GACM,EAGJ2C,GAAY/C,GAAe,CAChC,GAAGE,GACH,KAAM,WACG,EAGJ8C,GAAmBhD,GAAe,CACvC,GAAG+C,GACH,GAAG5C,GACM,EAGJ8C,GAAoBjD,GAAe,CACxC,GAAG+C,GACH,GAAG3C,GACM,EAGJ8C,GAAUnD,GAAa,CAC5B,GAAGG,GACH,KAAM,SACG,EAGJiD,GAAiBpD,GAAa,CACnC,GAAGmD,GACH,GAAG/C,GACM,EAGJiD,GAAkBrD,GAAa,CACpC,GAAGmD,GACH,GAAG9C,GACH,EAGYhB,GAAA,cAAgB,CAE5B,IAAK,OAAO,OAAOiB,EAAG,EAEtB,SAAU,OAAO,OAAOC,EAAQ,EAEhC,UAAW,OAAO,OAAOC,EAAS,EAGlC,OAAQ,OAAO,OAAOI,EAAM,EAE5B,eAAgB,OAAO,OAAOC,EAAc,EAE5C,gBAAiB,OAAO,OAAOC,EAAe,EAG9C,MAAO,OAAO,OAAOC,EAAK,EAE1B,OAAQ,OAAO,OAAOG,EAAM,EAE5B,OAAQ,OAAO,OAAOG,EAAM,EAE5B,OAAQ,OAAO,OAAOG,EAAM,EAE5B,KAAM,OAAO,OAAOG,EAAI,EAExB,MAAO,OAAO,OAAOG,EAAK,EAE1B,MAAO,OAAO,OAAOG,EAAK,EAE1B,MAAO,OAAO,OAAOG,EAAK,EAG1B,cAAe,OAAO,OAAOpB,EAAa,EAE1C,eAAgB,OAAO,OAAOG,EAAc,EAE5C,eAAgB,OAAO,OAAOG,EAAc,EAE5C,eAAgB,OAAO,OAAOG,EAAc,EAE5C,aAAc,OAAO,OAAOG,EAAY,EAExC,cAAe,OAAO,OAAOG,EAAa,EAE1C,cAAe,OAAO,OAAOG,EAAa,EAE1C,cAAe,OAAO,OAAOG,EAAa,EAG1C,eAAgB,OAAO,OAAOpB,EAAc,EAE5C,gBAAiB,OAAO,OAAOG,EAAe,EAE9C,gBAAiB,OAAO,OAAOG,EAAe,EAE9C,gBAAiB,OAAO,OAAOG,EAAe,EAE9C,cAAe,OAAO,OAAOG,EAAa,EAE1C,eAAgB,OAAO,OAAOG,EAAc,EAE5C,eAAgB,OAAO,OAAOG,EAAc,EAE5C,eAAgB,OAAO,OAAOG,EAAc,EAG5C,MAAO,OAAO,OAAOO,EAAK,EAE1B,cAAe,OAAO,OAAOC,EAAa,EAE1C,eAAgB,OAAO,OAAOC,EAAc,EAG5C,QAAS,OAAO,OAAOtC,EAAO,EAE9B,gBAAiB,OAAO,OAAOC,EAAe,EAE9C,iBAAkB,OAAO,OAAOC,EAAgB,EAGhD,OAAQ,OAAO,OAAO4B,EAAM,EAE5B,eAAgB,OAAO,OAAOC,EAAc,EAE5C,gBAAiB,OAAO,OAAOC,EAAe,EAG9C,MAAO,OAAO,OAAOC,EAAK,EAE1B,cAAe,OAAO,OAAOC,EAAa,EAE1C,eAAgB,OAAO,OAAOC,EAAc,EAG5C,SAAU,OAAO,OAAOI,EAAS,EAEjC,iBAAkB,OAAO,OAAOC,EAAgB,EAEhD,kBAAmB,OAAO,OAAOC,EAAiB,EAGlD,OAAQ,OAAO,OAAOC,EAAO,EAE7B,eAAgB,OAAO,OAAOC,EAAc,EAE5C,gBAAiB,OAAO,OAAOC,EAAe,oGC5lB/C,IAAAC,GAAA,KAKaC,GAAb,KAAoB,CACnB,YAAmBC,EAAsBC,EAAiB,CAEzD,OAFwC,KAAA,KAAAA,EACpCD,IAAU,IAAG,KAAK,KAAO,QACrBC,OACF,WACA,WACJD,EAAQ,EACR,MAEF,KAAK,MAAQA,CACd,CAGA,IAAW,OAAK,CACf,OAAO,KAAK,MACb,CACA,IAAW,MAAME,EAAS,CACzB,KAAK,UAASJ,GAAA,OAAMI,EAAG,EAAG,KAAK,OAAS,UAAY,GAAK,GAAG,CAC7D,CAKO,OAAO,MAAMC,EAAgB,CACnC,GAAIA,GAAW,KAAW,OAC1B,GAAIA,IAAY,IAAM,OAAO,IAAIJ,GAAQ,EAAG,UAAU,EACtD,IAAMK,EAAY,CAAC,EAAED,EAAU,IACzBH,GAASG,EAAU,KAAgBC,EAAY,EAAI,GACzD,OAAO,IAAIL,GAAQC,EAAOI,EAAY,UAAY,SAAS,CAC5D,CAGO,WAAS,CACf,OAAI,KAAK,OAAS,WAAmB,IACjC,KAAK,OAAS,OAAe,GAEf,KAAK,OAAS,UACZ,GAAc,GAAM,KAAK,OAAS,EACvD,CAEO,QAAM,CACZ,OAAI,KAAK,OAAS,QAAU,KAAK,OAAS,WAAmB,KAAK,KAC3D,CACN,MAAO,KAAK,MACZ,KAAM,KAAK,KAEb,CAEO,gBAAc,CACpB,OAAQ,KAAK,UACP,OACJ,MAAO,OACH,UACJ,OAAO,KAAK,OAAS,QACjB,UACJ,OAAO,KAAK,OAAS,QACjB,WACJ,OAAO,OAAO,kBAEjB,CAEO,UAAQ,CACd,OAAQ,KAAK,UACP,UACJ,MAAO,aAAa,KAAK,SACxB,KAAK,QAAU,EAAI,SAAW,iBAE3B,UACJ,MAAO,aAAa,KAAK,SACxB,KAAK,QAAU,EAAI,SAAW,qBAG/B,MAAO,aAAa,KAAK,QAE5B,GA1EDC,GAAA,QAAAN,KCNA,IAAAO,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,6fCC5DC,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,EACAD,GAAA,KAAAC,CAAA,8HCzBA,IAAYC,IAAZ,SAAYA,EAAY,CAEvBA,EAAAA,EAAA,WAAA,GAAA,YACD,GAHYA,GAAAC,GAAA,eAAAA,GAAA,aAAY,CAAA,EAAA,EAKXA,GAAA,mBAAuD,CACnE,CAACD,GAAa,YAAa,qLCA5B,IAAYE,IAAZ,SAAYA,EAAiB,CAQ5BA,EAAAA,EAAA,QAAA,GAAA,UAOAA,EAAAA,EAAA,WAAA,GAAA,aAOAA,EAAAA,EAAA,SAAA,GAAA,WAQAA,EAAAA,EAAA,YAAA,GAAA,cAMAA,EAAAA,EAAA,YAAA,GAAA,aACD,GArCYA,GAAAC,GAAA,oBAAAA,GAAA,kBAAiB,CAAA,EAAA,EAuC7B,IAAYC,IAAZ,SAAYA,EAAiB,CAE5BA,EAAAA,EAAA,YAAA,GAAA,cAEAA,EAAAA,EAAA,yBAAA,GAAA,2BAEAA,EAAAA,EAAA,YAAA,GAAA,aACD,GAPYA,GAAAD,GAAA,oBAAAA,GAAA,kBAAiB,CAAA,EAAA,EA4H7B,IAAYE,IAAZ,SAAYA,EAAuB,CAClCA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,SAAA,GAAA,UACD,GAHYA,GAAAF,GAAA,0BAAAA,GAAA,wBAAuB,CAAA,EAAA,EAqCnC,IAAYG,IAAZ,SAAYA,EAAc,CAEzBA,EAAAA,EAAA,KAAA,GAAA,OAEAA,EAAAA,EAAA,UAAA,GAAA,YAEAA,EAAAA,EAAA,UAAA,GAAA,YAEAA,EAAAA,EAAA,KAAA,GAAA,OAEAA,EAAAA,EAAA,WAAA,GAAA,YACD,GAXYA,GAAAH,GAAA,iBAAAA,GAAA,eAAc,CAAA,EAAA,ICjN1B,IAAAI,GAAAC,EAAAC,IAAA,cACA,OAAO,eAAeA,GAAS,aAAc,CAAE,MAAO,EAAK,CAAC,slBCD5D,IAAAC,GAAA,KACC,OAAA,eAAAC,GAAA,cAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,WAAW,CAAA,CAAA,EACX,OAAA,eAAAC,GAAA,mBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,gBAAgB,CAAA,CAAA,EAChB,OAAA,eAAAC,GAAA,WAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,QAAQ,CAAA,CAAA,EAER,OAAA,eAAAC,GAAA,YAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,SAAS,CAAA,CAAA,EAIV,IAAAE,GAAA,KAAS,OAAA,eAAAD,GAAA,eAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,YAAY,CAAA,CAAA,EACrBC,GAAA,KAAAF,EAAA,EACA,IAAAG,GAAA,4HCXA,IAAAC,GAAA,KAAS,OAAA,eAAAC,GAAA,aAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,UAAU,CAAA,CAAA,EAAE,OAAA,eAAAC,GAAA,kBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,eAAe,CAAA,CAAA,uGCMpC,IAAAE,GAAA,KAGaC,GAAb,KAAwB,CACvB,YACCC,EACAC,EACAC,EACAC,EAAgB,CAEhB,KAAK,MAAQH,EAAc,uBAAuBC,CAAK,EACvD,KAAK,QAAUD,EAAc,yBAAyBE,CAAO,EAC7D,KAAK,SAAWF,EAAc,0BAC7BE,EACAC,CAAQ,EAIT,KAAK,uBAAyB,KAAK,SAAS,aAC5C,KAAK,wBAA0B,KAAK,SAAS,aAC9C,CAOA,IAAW,uBAAqB,CAC/B,OAAO,KAAK,sBACb,CAGA,IAAW,wBAAsB,CAChC,OAAO,KAAK,uBACb,CAEO,QAAM,CACZ,MAAO,CACN,MAAO,KAAK,MAAM,MAClB,QAAS,KAAK,QAAQ,MACtB,SAAU,KAAK,SAAS,MACxB,sBAAuB,KAAK,uBAAuB,IACjDC,GAAON,GAAA,eAAeM,EAAG,EAE3B,oBAAqB,KAAK,wBAAwB,IAChDA,GAAON,GAAA,eAAeM,EAAG,EAG7B,GA7CDC,GAAA,YAAAN,yHCmMA,IAAAO,GAAA,KAAS,OAAA,eAAAC,GAAA,iBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,cAAc,CAAA,CAAA,EAAE,OAAA,eAAAC,GAAA,aAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,UAAU,CAAA,CAAA,gnBC5MnC,IAAAE,GAAA,KAGC,OAAA,eAAAC,GAAA,WAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,QAAQ,CAAA,CAAA,EACR,OAAA,eAAAC,GAAA,oBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,iBAAiB,CAAA,CAAA,EACjB,OAAA,eAAAC,GAAA,cAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,WAAW,CAAA,CAAA,EACX,OAAA,eAAAC,GAAA,mBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,gBAAgB,CAAA,CAAA,EAChB,OAAA,eAAAC,GAAA,kBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,eAAe,CAAA,CAAA,EAEhB,IAAAE,GAAA,KAAS,OAAA,eAAAD,GAAA,cAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,WAAW,CAAA,CAAA,EAMpBC,GAAA,KAAAF,EAAA,ukFCdA,IAAAG,GAAA,KAUYC,IAAZ,SAAYA,EAAkB,CAC7BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GALYA,GAAAC,EAAA,qBAAAA,EAAA,mBAAkB,CAAA,EAAA,EAQ9B,IAAYC,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,mBAAA,GAAA,kBACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,cAAA,GAAA,aACAA,EAAAA,EAAA,IAAA,KAAA,KACD,GARYA,GAAAD,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EAkB3B,IAAYE,IAAZ,SAAYA,EAAkB,CAC7BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,sBAAA,GAAA,wBACAA,EAAAA,EAAA,yBAAA,GAAA,0BAcD,GApBYA,GAAAF,EAAA,qBAAAA,EAAA,mBAAkB,CAAA,EAAA,EAuB9B,IAAYG,IAAZ,SAAYA,EAA2B,CACtCA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,kBAAA,GAAA,mBACD,GAPYA,GAAAH,EAAA,8BAAAA,EAAA,4BAA2B,CAAA,EAAA,EAWvC,IAAYI,IAAZ,SAAYA,EAA2B,CACtCA,EAAAA,EAAA,gBAAA,GAAA,eACAA,EAAAA,EAAA,qBAAA,GAAA,oBAEAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBACAA,EAAAA,EAAA,mBAAA,MAAA,kBAEAA,EAAAA,EAAA,2BAAA,OAAA,0BACAA,EAAAA,EAAA,2BAAA,OAAA,0BACAA,EAAAA,EAAA,uBAAA,OAAA,sBACAA,EAAAA,EAAA,iBAAA,OAAA,gBACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,qBAAA,OAAA,oBACAA,EAAAA,EAAA,gCAAA,OAAA,+BACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,2BAAA,OAAA,0BACAA,EAAAA,EAAA,qBAAA,OAAA,oBACAA,EAAAA,EAAA,qBAAA,OAAA,oBACAA,EAAAA,EAAA,sBAAA,OAAA,qBACAA,EAAAA,EAAA,kBAAA,OAAA,iBACAA,EAAAA,EAAA,mBAAA,OAAA,kBACAA,EAAAA,EAAA,mBAAA,OAAA,kBACAA,EAAAA,EAAA,sCAAA,OAAA,qCACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,yBAAA,OAAA,wBACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,6BAAA,OAAA,4BACAA,EAAAA,EAAA,4BAAA,OAAA,2BACAA,EAAAA,EAAA,6BAAA,OAAA,4BACAA,EAAAA,EAAA,6BAAA,OAAA,4BACAA,EAAAA,EAAA,uBAAA,OAAA,sBACAA,EAAAA,EAAA,kCAAA,OAAA,iCACAA,EAAAA,EAAA,mCAAA,OAAA,kCACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,qBAAA,OAAA,oBACAA,EAAAA,EAAA,gBAAA,OAAA,eACAA,EAAAA,EAAA,8BAAA,OAAA,6BACAA,EAAAA,EAAA,kCAAA,OAAA,iCACAA,EAAAA,EAAA,qCAAA,OAAA,oCACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,iCAAA,OAAA,gCACAA,EAAAA,EAAA,2CAAA,OAAA,0CACAA,EAAAA,EAAA,sCAAA,OAAA,qCACAA,EAAAA,EAAA,yBAAA,OAAA,wBACAA,EAAAA,EAAA,2BAAA,OAAA,0BACAA,EAAAA,EAAA,yBAAA,OAAA,wBACAA,EAAAA,EAAA,sBAAA,OAAA,qBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,uBAAA,OAAA,sBACAA,EAAAA,EAAA,oBAAA,OAAA,mBACAA,EAAAA,EAAA,qBAAA,OAAA,oBACAA,EAAAA,EAAA,kCAAA,OAAA,iCACAA,EAAAA,EAAA,sCAAA,OAAA,qCACAA,EAAAA,EAAA,iCAAA,OAAA,gCACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,yBAAA,OAAA,wBACAA,EAAAA,EAAA,sBAAA,OAAA,qBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,8BAAA,OAAA,6BACAA,EAAAA,EAAA,iCAAA,OAAA,gCACAA,EAAAA,EAAA,4BAAA,OAAA,2BACAA,EAAAA,EAAA,qCAAA,OAAA,oCACAA,EAAAA,EAAA,oCAAA,OAAA,mCACAA,EAAAA,EAAA,gDAAA,OAAA,+CACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,gCAAA,OAAA,+BACAA,EAAAA,EAAA,yBAAA,OAAA,wBACAA,EAAAA,EAAA,+CAAA,OAAA,8CACAA,EAAAA,EAAA,kCAAA,OAAA,iCACAA,EAAAA,EAAA,4BAAA,OAAA,2BACAA,EAAAA,EAAA,uCAAA,OAAA,sCACAA,EAAAA,EAAA,kCAAA,OAAA,iCACAA,EAAAA,EAAA,kCAAA,OAAA,iCACAA,EAAAA,EAAA,sCAAA,OAAA,qCACAA,EAAAA,EAAA,uCAAA,OAAA,sCACAA,EAAAA,EAAA,mCAAA,OAAA,kCACAA,EAAAA,EAAA,sCAAA,OAAA,qCACAA,EAAAA,EAAA,4BAAA,OAAA,2BACAA,EAAAA,EAAA,8BAAA,OAAA,6BACAA,EAAAA,EAAA,+BAAA,OAAA,8BAEAA,EAAAA,EAAA,6BAAA,OAAA,4BACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,2BAAA,OAAA,0BACAA,EAAAA,EAAA,4BAAA,OAAA,2BACAA,EAAAA,EAAA,6BAAA,OAAA,4BACAA,EAAAA,EAAA,gCAAA,OAAA,+BACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,kCAAA,OAAA,iCACAA,EAAAA,EAAA,wBAAA,OAAA,uBACAA,EAAAA,EAAA,iCAAA,OAAA,gCACAA,EAAAA,EAAA,uBAAA,OAAA,sBACAA,EAAAA,EAAA,2BAAA,OAAA,0BACAA,EAAAA,EAAA,6BAAA,OAAA,4BACAA,EAAAA,EAAA,uBAAA,OAAA,sBACAA,EAAAA,EAAA,6BAAA,OAAA,4BACAA,EAAAA,EAAA,+BAAA,OAAA,8BACAA,EAAAA,EAAA,4BAAA,OAAA,2BACAA,EAAAA,EAAA,2BAAA,OAAA,0BACAA,EAAAA,EAAA,8BAAA,OAAA,6BACAA,EAAAA,EAAA,8BAAA,OAAA,6BACAA,EAAAA,EAAA,0CAAA,OAAA,yCACAA,EAAAA,EAAA,iCAAA,OAAA,gCAEAA,EAAAA,EAAA,mBAAA,OAAA,kBACAA,EAAAA,EAAA,cAAA,OAAA,aACAA,EAAAA,EAAA,gBAAA,OAAA,eACAA,EAAAA,EAAA,kBAAA,OAAA,iBACAA,EAAAA,EAAA,kBAAA,OAAA,iBAEAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,yBACAA,EAAAA,EAAA,0BAAA,OAAA,wBACD,GAnLYA,GAAAJ,EAAA,8BAAAA,EAAA,4BAA2B,CAAA,EAAA,EAsMvC,IAAYK,IAAZ,SAAYA,EAAsB,CACjCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,yBAAA,GAAA,2BACAA,EAAAA,EAAA,4BAAA,GAAA,8BACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,qBAAA,GAAA,sBACD,GATYA,GAAAL,EAAA,yBAAAA,EAAA,uBAAsB,CAAA,EAAA,EAYlC,IAAYM,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,KAAA,KAAA,MACD,GANYA,GAAAN,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EASxB,IAAYO,IAAZ,SAAYA,EAAa,CACxBA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAHYA,GAAAP,EAAA,gBAAAA,EAAA,cAAa,CAAA,EAAA,EAMzB,IAAYQ,IAAZ,SAAYA,EAAc,CACzBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,GAAA,KAAA,IACD,GAHYA,GAAAR,EAAA,iBAAAA,EAAA,eAAc,CAAA,EAAA,EAM1B,IAAYS,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAAT,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EAOxB,IAAYU,IAAZ,SAAYA,EAAqB,CAChCA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,YAAA,GAAA,aACD,GAJYA,GAAAV,EAAA,wBAAAA,EAAA,sBAAqB,CAAA,EAAA,EAOjC,IAAYW,IAAZ,SAAYA,EAAwB,CACnCA,EAAAA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,IAAA,GAAA,KACD,GAJYA,GAAAX,EAAA,2BAAAA,EAAA,yBAAwB,CAAA,EAAA,EAOpC,IAAYY,IAAZ,SAAYA,EAAc,CACzBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,aAAA,GAAA,cACD,GALYA,GAAAZ,EAAA,iBAAAA,EAAA,eAAc,CAAA,EAAA,EAQ1B,IAAYa,IAAZ,SAAYA,EAAmB,CAC9BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GALYA,GAAAb,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAQ/B,IAAYc,IAAZ,SAAYA,EAAgB,CAC3BA,EAAAA,EAAA,mBAAA,GAAA,kBACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,eAAA,IAAA,cACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,OAAA,IAAA,SACAA,EAAAA,EAAA,eAAA,IAAA,cACAA,EAAAA,EAAA,IAAA,KAAA,KACD,GAfYA,GAAAd,EAAA,mBAAAA,EAAA,iBAAgB,CAAA,EAAA,EAyB5B,IAAYe,IAAZ,SAAYA,EAAmB,CAC9BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAAf,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAO/B,IAAYgB,IAAZ,SAAYA,EAAmB,CAC9BA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,oBAAA,GAAA,qBACD,GAPYA,GAAAhB,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAU/B,IAAYiB,IAAZ,SAAYA,EAAgB,CAC3BA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,aAAA,GAAA,cACD,GARYA,GAAAjB,EAAA,mBAAAA,EAAA,iBAAgB,CAAA,EAAA,EAW5B,IAAYkB,IAAZ,SAAYA,EAA6B,CACxCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GATYA,GAAAlB,EAAA,gCAAAA,EAAA,8BAA6B,CAAA,EAAA,EAYzC,IAAYmB,IAAZ,SAAYA,EAAoB,CAC/BA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,UAAA,GAAA,WACD,GAJYA,GAAAnB,EAAA,uBAAAA,EAAA,qBAAoB,CAAA,EAAA,EAOhC,IAAYoB,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAApB,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EAOxB,IAAYqB,IAAZ,SAAYA,EAAO,CAClBA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GATYA,GAAArB,EAAA,UAAAA,EAAA,QAAO,CAAA,EAAA,EAYnB,IAAYsB,IAAZ,SAAYA,EAAkB,CAC7BA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GARYA,GAAAtB,EAAA,qBAAAA,EAAA,mBAAkB,CAAA,EAAA,EAW9B,IAAYuB,IAAZ,SAAYA,EAAc,CACzBA,EAAAA,EAAA,cAAA,GAAA,aACAA,EAAAA,EAAA,cAAA,GAAA,aACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,MAAA,GAAA,OACD,GAVYA,GAAAvB,EAAA,iBAAAA,EAAA,eAAc,CAAA,EAAA,EAabA,EAAA,kBAAoB,CAChC,UAAWuB,GAAe,cAC1B,UAAWA,GAAe,cAC1B,IAAKA,GAAe,IACpB,MAAOA,GAAe,MACtB,KAAMA,GAAe,KACrB,MAAOA,GAAe,MACtB,KAAMA,GAAe,KACrB,OAAQA,GAAe,OACvB,MAAOA,GAAe,OAavB,IAAYC,IAAZ,SAAYA,EAAoB,CAC/BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,QAAA,IAAA,UACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,QAAA,IAAA,UACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,aAAA,GAAA,cACD,GAdYA,GAAAxB,EAAA,uBAAAA,EAAA,qBAAoB,CAAA,EAAA,EAoBhC,IAAYyB,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,qBAAA,GAAA,sBACD,GAFYA,GAAAzB,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EAKxB,IAAY0B,IAAZ,SAAYA,EAAyB,CACpCA,EAAAA,EAAA,aAAA,GAAA,cACD,GAFYA,GAAA1B,EAAA,4BAAAA,EAAA,0BAAyB,CAAA,EAAA,EAKrC,IAAY2B,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,mBAAA,GAAA,oBACD,GATYA,GAAA3B,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EAY3B,IAAY4B,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,gBAAA,IAAA,kBACAA,EAAAA,EAAA,2BAAA,IAAA,6BACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,4BAAA,IAAA,8BACAA,EAAAA,EAAA,QAAA,KAAA,UACAA,EAAAA,EAAA,QAAA,KAAA,SACD,GATYA,GAAA5B,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EAYxB,IAAY6B,IAAZ,SAAYA,EAAqB,CAChCA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,MAAA,GAAA,OACD,GAHYA,GAAA7B,EAAA,wBAAAA,EAAA,sBAAqB,CAAA,EAAA,EASjC,IAAY8B,IAAZ,SAAYA,EAAsB,CACjCA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,OAAA,IAAA,SACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,aAAA,IAAA,eACAA,EAAAA,EAAA,SAAA,IAAA,WACAA,EAAAA,EAAA,UAAA,IAAA,YACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,OAAA,IAAA,SACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,OAAA,IAAA,QACD,GA3BYA,GAAA9B,EAAA,yBAAAA,EAAA,uBAAsB,CAAA,EAAA,EA6BrBA,EAAA,4BAGT,CACH,CAAC8B,GAAuB,SAAU,UAClC,CAACA,GAAuB,YAAa,cACrC,CAACA,GAAuB,OAAQ,QAChC,CAACA,GAAuB,WAAY,aACpC,CAACA,GAAuB,QAAS,UACjC,CAACA,GAAuB,SAAU,OAClC,CAACA,GAAuB,SAAU,OAClC,CAACA,GAAuB,WAAY,YACpC,CAACA,GAAuB,MAAO,aAC/B,CAACA,GAAuB,MAAO,aAC/B,CAACA,GAAuB,MAAO,aAC/B,CAACA,GAAuB,MAAO,aAC/B,CAACA,GAAuB,MAAO,aAC/B,CAACA,GAAuB,MAAO,aAC/B,CAACA,GAAuB,MAAO,OAC/B,CAACA,GAAuB,MAAO,OAC/B,CAACA,GAAuB,MAAO,OAC/B,CAACA,GAAuB,QAAS,SACjC,CAACA,GAAuB,YAAa,cACrC,CAACA,GAAuB,cAAe,gBACvC,CAACA,GAAuB,UAAW,YACnC,CAACA,GAAuB,WAAY,aACpC,CAACA,GAAuB,MAAO,OAC/B,CAACA,GAAuB,QAAS,SACjC,CAACA,GAAuB,MAAO,OAC/B,CAACA,GAAuB,QAAS,UAIlC,IAAYC,IAAZ,SAAYA,EAAsB,CACjCA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,uBAAA,GAAA,yBACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,aAAA,GAAA,cACD,GALYA,GAAA/B,EAAA,yBAAAA,EAAA,uBAAsB,CAAA,EAAA,EAQlC,IAAYgC,IAAZ,SAAYA,EAAwB,CACnCA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,sBAAA,GAAA,wBACAA,EAAAA,EAAA,wBAAA,GAAA,0BACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,SAAA,IAAA,WACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,eAAA,IAAA,iBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,aAAA,IAAA,eACAA,EAAAA,EAAA,4BAAA,IAAA,8BACAA,EAAAA,EAAA,8BAAA,IAAA,gCACAA,EAAAA,EAAA,kBAAA,IAAA,oBACAA,EAAAA,EAAA,YAAA,IAAA,cACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,YAAA,IAAA,cACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,gBAAA,IAAA,kBACAA,EAAAA,EAAA,oBAAA,IAAA,sBACAA,EAAAA,EAAA,kBAAA,IAAA,oBACAA,EAAAA,EAAA,gBAAA,IAAA,kBACAA,EAAAA,EAAA,UAAA,IAAA,YACAA,EAAAA,EAAA,qBAAA,IAAA,uBACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,QAAA,IAAA,SACD,GAjCYA,GAAAhC,EAAA,2BAAAA,EAAA,yBAAwB,CAAA,EAAA,EA6CpC,IAAYiC,IAAZ,SAAYA,EAA2B,CACtCA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GAHYA,GAAAjC,EAAA,8BAAAA,EAAA,4BAA2B,CAAA,EAAA,EAMvC,IAAYkC,IAAZ,SAAYA,EAAmB,CAC9BA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,oBAAA,GAAA,qBACD,GATYA,GAAAlC,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAY/B,IAAYmC,IAAZ,SAAYA,EAAqB,CAChCA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,IAAA,GAAA,KACD,GALYA,GAAAnC,EAAA,wBAAAA,EAAA,sBAAqB,CAAA,EAAA,EAQjC,IAAYoC,IAAZ,SAAYA,EAA6B,CACxCA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,cAAA,IAAA,eACD,GAZYA,GAAApC,EAAA,gCAAAA,EAAA,8BAA6B,CAAA,EAAA,EAezC,IAAYqC,IAAZ,SAAYA,EAA2B,CACtCA,EAAAA,EAAA,sCAAA,GAAA,wCACAA,EAAAA,EAAA,6BAAA,GAAA,+BACAA,EAAAA,EAAA,2BAAA,GAAA,6BACAA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,6BAAA,GAAA,+BACAA,EAAAA,EAAA,gCAAA,GAAA,kCACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,GAAA,KAAA,IACD,GATYA,GAAArC,EAAA,8BAAAA,EAAA,4BAA2B,CAAA,EAAA,EAYvC,IAAYsC,IAAZ,SAAYA,EAAoB,CAG/BA,EAAAA,EAAA,cAAA,IAAA,gBAEAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,yBAAA,GAAA,2BACAA,EAAAA,EAAA,4BAAA,GAAA,8BACAA,EAAAA,EAAA,wBAAA,GAAA,0BACAA,EAAAA,EAAA,4BAAA,GAAA,8BACAA,EAAAA,EAAA,+BAAA,GAAA,iCACAA,EAAAA,EAAA,0BAAA,GAAA,4BACAA,EAAAA,EAAA,yBAAA,GAAA,2BACAA,EAAAA,EAAA,6BAAA,GAAA,+BAGAA,EAAAA,EAAA,wBAAA,KAAA,0BACAA,EAAAA,EAAA,aAAA,KAAA,eACAA,EAAAA,EAAA,kBAAA,KAAA,mBACD,GAnBYA,GAAAtC,EAAA,uBAAAA,EAAA,qBAAoB,CAAA,EAAA,EAsBhC,IAAYuC,IAAZ,SAAYA,EAA8B,CACzCA,EAAAA,EAAA,sBAAA,GAAA,wBACAA,EAAAA,EAAA,uBAAA,GAAA,yBACAA,EAAAA,EAAA,GAAA,KAAA,IACD,GAJYA,GAAAvC,EAAA,iCAAAA,EAAA,+BAA8B,CAAA,EAAA,EAO1C,IAAYwC,IAAZ,SAAYA,EAAsB,CACjCA,EAAAA,EAAA,sCAAA,GAAA,wCACAA,EAAAA,EAAA,6BAAA,GAAA,+BACAA,EAAAA,EAAA,2BAAA,GAAA,6BACAA,EAAAA,EAAA,sBAAA,GAAA,wBACAA,EAAAA,EAAA,6BAAA,GAAA,+BACAA,EAAAA,EAAA,GAAA,KAAA,IACD,GAPYA,GAAAxC,EAAA,yBAAAA,EAAA,uBAAsB,CAAA,EAAA,EA2BlC,IAAYyC,IAAZ,SAAYA,EAAW,CACtBA,EAAAA,EAAA,KAAA,GAAA,MACD,GAFYA,GAAAzC,EAAA,cAAAA,EAAA,YAAW,CAAA,EAAA,EAKvB,IAAY0C,IAAZ,SAAYA,EAA0B,CACrCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GANYA,GAAA1C,EAAA,6BAAAA,EAAA,2BAA0B,CAAA,EAAA,EAStC,IAAY2C,IAAZ,SAAYA,EAAmB,CAC9BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,eAAA,GAAA,cACAA,EAAAA,EAAA,KAAA,GAAA,MACD,GALYA,GAAA3C,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAQ/B,IAAY4C,IAAZ,SAAYA,EAAoC,CAC/CA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAHYA,GAAA5C,EAAA,uCAAAA,EAAA,qCAAoC,CAAA,EAAA,EAMhD,IAAY6C,IAAZ,SAAYA,EAA6B,CACxCA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,kBAAA,GAAA,gBACD,GAJYA,GAAA7C,EAAA,gCAAAA,EAAA,8BAA6B,CAAA,EAAA,EAOzC,IAAY8C,IAAZ,SAAYA,EAA8B,CACzCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,mBAAA,GAAA,oBACD,GAVYA,GAAA9C,EAAA,iCAAAA,EAAA,+BAA8B,CAAA,EAAA,EAa1C,IAAY+C,IAAZ,SAAYA,EAA2B,CACtCA,EAAAA,EAAA,OAAA,GAAA,MACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,iBAAA,GAAA,gBACAA,EAAAA,EAAA,KAAA,GAAA,MACD,GALYA,GAAA/C,EAAA,8BAAAA,EAAA,4BAA2B,CAAA,EAAA,EA6BvC,IAAYgD,IAAZ,SAAYA,EAAgB,CAC3BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GANYA,GAAAhD,EAAA,mBAAAA,EAAA,iBAAgB,CAAA,EAAA,EAkB5B,IAAYiD,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,eAAA,IAAA,iBACAA,EAAAA,EAAA,eAAA,IAAA,iBACAA,EAAAA,EAAA,kBAAA,IAAA,oBACAA,EAAAA,EAAA,SAAA,IAAA,WACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,cAAA,IAAA,eACD,GAnBYA,GAAAjD,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAsB7B,IAAYkD,IAAZ,SAAYA,EAAwB,CACnCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,KAAA,GAAA,MACD,GAHYA,GAAAlD,EAAA,2BAAAA,EAAA,yBAAwB,CAAA,EAAA,EAMpC,IAAYmD,IAAZ,SAAYA,EAAS,CACpBA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,YAAA,GAAA,aACD,GAHYA,GAAAnD,EAAA,YAAAA,EAAA,UAAS,CAAA,EAAA,EAerB,IAAYoD,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAApD,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EAO3B,IAAYqD,IAAZ,SAAYA,EAAW,CACtBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAArD,EAAA,cAAAA,EAAA,YAAW,CAAA,EAAA,EAOvB,IAAYsD,IAAZ,SAAYA,EAA2B,CACtCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,qBAAA,GAAA,sBACD,GALYA,GAAAtD,EAAA,8BAAAA,EAAA,4BAA2B,CAAA,EAAA,EAQvC,IAAYuD,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,aAAA,GAAA,cACD,GAJYA,GAAAvD,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EAOxB,IAAYwD,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,MAAA,GAAA,OACD,GANYA,GAAAxD,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EASxB,IAAYyD,IAAZ,SAAYA,EAAQ,CACnBA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,SAAA,GAAA,UACD,GAJYA,GAAAzD,EAAA,WAAAA,EAAA,SAAQ,CAAA,EAAA,EAgBpB,IAAY0D,IAAZ,SAAYA,EAA8B,CACzCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,sBAAA,GAAA,wBACAA,EAAAA,EAAA,yBAAA,GAAA,0BACD,GAPYA,GAAA1D,EAAA,iCAAAA,EAAA,+BAA8B,CAAA,EAAA,EAsB1C,IAAY2D,IAAZ,SAAYA,EAAmB,CAE9BA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,uBAAA,GAAA,yBAGAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,aAAA,IAAA,eACAA,EAAAA,EAAA,mBAAA,IAAA,qBACAA,EAAAA,EAAA,qBAAA,IAAA,uBACAA,EAAAA,EAAA,qBAAA,IAAA,uBACAA,EAAAA,EAAA,wBAAA,IAAA,yBACD,GAhBYA,GAAA3D,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAmB/B,IAAY4D,IAAZ,SAAYA,EAAmB,CAC9BA,EAAAA,EAAA,qBAAA,GAAA,sBACD,GAFYA,GAAA5D,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAK/B,IAAY6D,IAAZ,SAAYA,EAAuB,CAClCA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,sBAAA,GAAA,wBACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,qBAAA,GAAA,sBACD,GAPYA,GAAA7D,EAAA,0BAAAA,EAAA,wBAAuB,CAAA,EAAA,EAwBnC,IAAY8D,IAAZ,SAAYA,EAAuB,CAClCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GARYA,GAAA9D,EAAA,0BAAAA,EAAA,wBAAuB,CAAA,EAAA,EAWnC,IAAY+D,IAAZ,SAAYA,EAAoB,CAC/BA,EAAAA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,KAAA,GAAA,MAED,GAJYA,GAAA/D,EAAA,uBAAAA,EAAA,qBAAoB,CAAA,EAAA,EAOhC,IAAYgE,IAAZ,SAAYA,EAAU,CACrBA,EAAAA,EAAA,iBAAA,GAAA,gBACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,WAAA,GAAA,UACAA,EAAAA,EAAA,cAAA,GAAA,aACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,cAAA,GAAA,aACAA,EAAAA,EAAA,mBAAA,GAAA,kBACAA,EAAAA,EAAA,aAAA,GAAA,WACD,GATYA,GAAAhE,EAAA,aAAAA,EAAA,WAAU,CAAA,EAAA,EAmBtB,IAAYiE,IAAZ,SAAYA,EAA4B,CACvCA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GAPYA,GAAAjE,EAAA,+BAAAA,EAAA,6BAA4B,CAAA,EAAA,EAUxC,IAAYkE,IAAZ,SAAYA,EAAmB,CAC9BA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GARYA,GAAAlE,EAAA,sBAAAA,EAAA,oBAAmB,CAAA,EAAA,EAkB/B,IAAYmE,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GAPYA,GAAAnE,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAU7B,IAAYoE,IAAZ,SAAYA,EAAU,CACrBA,EAAAA,EAAA,gBAAA,GAAA,eACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,QACD,GAXYA,GAAApE,EAAA,aAAAA,EAAA,WAAU,CAAA,EAAA,EActB,IAAYqE,IAAZ,SAAYA,EAAoB,CAC/BA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,eAAA,GAAA,aACD,GAJYA,GAAArE,EAAA,uBAAAA,EAAA,qBAAoB,CAAA,EAAA,EAOhC,IAAYsE,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,uBAAA,GAAA,yBACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,cAAA,IAAA,eACD,GAZYA,GAAAtE,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAe7B,IAAYuE,IAAZ,SAAYA,EAAoB,CAC/BA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,oBAAA,GAAA,qBACD,GAJYA,GAAAvE,EAAA,uBAAAA,EAAA,qBAAoB,CAAA,EAAA,EAOhC,IAAYwE,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,WAAA,GAAA,YACD,GAJYA,GAAAxE,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAO7B,IAAYyE,IAAZ,SAAYA,EAAsB,CACjCA,EAAAA,EAAA,IAAA,GAAA,KACD,GAFYA,GAAAzE,EAAA,yBAAAA,EAAA,uBAAsB,CAAA,EAAA,EAKlC,IAAY0E,IAAZ,SAAYA,EAAiC,CAC5CA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAA1E,EAAA,oCAAAA,EAAA,kCAAiC,CAAA,EAAA,EAO7C,IAAY2E,IAAZ,SAAYA,EAAmC,CAC9CA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAA3E,EAAA,sCAAAA,EAAA,oCAAmC,CAAA,EAAA,EAO/C,IAAY4E,IAAZ,SAAYA,EAAgB,CAC3BA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,YAAA,IAAA,cACAA,EAAAA,EAAA,qBAAA,IAAA,uBACAA,EAAAA,EAAA,wBAAA,IAAA,yBACD,GAfYA,GAAA5E,EAAA,mBAAAA,EAAA,iBAAgB,CAAA,EAAA,EAkB5B,IAAY6E,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,wBAAA,GAAA,0BACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,SAAA,IAAA,WACAA,EAAAA,EAAA,YAAA,KAAA,cACAA,EAAAA,EAAA,qBAAA,KAAA,uBACAA,EAAAA,EAAA,6BAAA,KAAA,8BACD,GAZYA,GAAA7E,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EAe3B,IAAY8E,IAAZ,SAAYA,EAAkB,CAC7BA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,IAAA,gBACD,GAXYA,GAAA9E,EAAA,qBAAAA,EAAA,mBAAkB,CAAA,EAAA,EAc9B,IAAY+E,IAAZ,SAAYA,EAAM,CACjBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,QAAA,KAAA,SACD,GAHYA,GAAA/E,EAAA,SAAAA,EAAA,OAAM,CAAA,EAAA,EAMlB,IAAYgF,IAAZ,SAAYA,EAAkB,CAC7BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAHYA,GAAAhF,EAAA,qBAAAA,EAAA,mBAAkB,CAAA,EAAA,EAM9B,IAAYiF,IAAZ,SAAYA,EAAwB,CACnCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GANYA,GAAAjF,EAAA,2BAAAA,EAAA,yBAAwB,CAAA,EAAA,EASpC,IAAYkF,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,YAAA,GAAA,WACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,aAAA,GAAA,YACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,eAAA,GAAA,cACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,wBAAA,GAAA,uBACAA,EAAAA,EAAA,kBAAA,GAAA,iBACAA,EAAAA,EAAA,eAAA,GAAA,cACAA,EAAAA,EAAA,MAAA,IAAA,QACAA,EAAAA,EAAA,wBAAA,IAAA,sBACD,GAbYA,GAAAlF,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAgB7B,IAAYmF,IAAZ,SAAYA,EAAyB,CACpCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAHYA,GAAAnF,EAAA,4BAAAA,EAAA,0BAAyB,CAAA,EAAA,EAMrC,IAAYoF,IAAZ,SAAYA,EAAkB,CAC7BA,EAAAA,EAAA,cAAA,GAAA,aACAA,EAAAA,EAAA,yBAAA,GAAA,wBACAA,EAAAA,EAAA,gBAAA,GAAA,eACAA,EAAAA,EAAA,kBAAA,GAAA,iBACAA,EAAAA,EAAA,oBAAA,GAAA,mBACAA,EAAAA,EAAA,6BAAA,GAAA,4BACAA,EAAAA,EAAA,iCAAA,GAAA,gCACAA,EAAAA,EAAA,8BAAA,GAAA,6BACAA,EAAAA,EAAA,0BAAA,GAAA,wBACD,GAVYA,GAAApF,EAAA,qBAAAA,EAAA,mBAAkB,CAAA,EAAA,EAa9B,IAAYqF,IAAZ,SAAYA,EAAqB,CAChCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,iBACD,GANYA,GAAArF,EAAA,wBAAAA,EAAA,sBAAqB,CAAA,EAAA,EASjC,IAAYsF,IAAZ,SAAYA,EAAc,CACzBA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,eAAA,GAAA,cACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,mBAAA,IAAA,kBACAA,EAAAA,EAAA,eAAA,IAAA,cACAA,EAAAA,EAAA,eAAA,IAAA,cACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,cAAA,IAAA,aACAA,EAAAA,EAAA,yBAAA,IAAA,uBACD,GAjBYA,GAAAtF,EAAA,iBAAAA,EAAA,eAAc,CAAA,EAAA,EAoB1B,IAAYuF,IAAZ,SAAYA,EAA+B,CAC1CA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QAMD,GARYA,GAAAvF,EAAA,kCAAAA,EAAA,gCAA+B,CAAA,EAAA,EAW3C,IAAYwF,IAAZ,SAAYA,EAAwB,CACnCA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,YAAA,GAAA,WACAA,EAAAA,EAAA,gBAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,eACAA,EAAAA,EAAA,mBAAA,GAAA,kBACAA,EAAAA,EAAA,eAAA,GAAA,cACAA,EAAAA,EAAA,qBAAA,GAAA,oBACAA,EAAAA,EAAA,qBAAA,GAAA,oBACAA,EAAAA,EAAA,sBAAA,IAAA,qBACAA,EAAAA,EAAA,sBAAA,IAAA,oBACD,GAbYA,GAAAxF,EAAA,2BAAAA,EAAA,yBAAwB,CAAA,EAAA,EAgBpC,IAAYyF,IAAZ,SAAYA,EAAwB,CACnCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAAzF,EAAA,2BAAAA,EAAA,yBAAwB,CAAA,EAAA,EAYpC,IAAY0F,IAAZ,SAAYA,EAAW,CACtBA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,UAAA,GAAA,WACD,GAJYA,GAAA1F,EAAA,cAAAA,EAAA,YAAW,CAAA,EAAA,EAuBvB,IAAY2F,IAAZ,SAAYA,EAAyB,CACpCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,mBAAA,IAAA,oBACD,GARYA,GAAA3F,EAAA,4BAAAA,EAAA,0BAAyB,CAAA,EAAA,EAWrC,IAAY4F,IAAZ,SAAYA,EAAsB,CACjCA,EAAAA,EAAA,OAAA,GAAA,MACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,UACAA,EAAAA,EAAA,aAAA,GAAA,YACAA,EAAAA,EAAA,mBAAA,IAAA,kBACAA,EAAAA,EAAA,uBAAA,IAAA,sBACAA,EAAAA,EAAA,uBAAA,IAAA,sBACAA,EAAAA,EAAA,gBAAA,IAAA,eACAA,EAAAA,EAAA,gBAAA,IAAA,eACAA,EAAAA,EAAA,cAAA,IAAA,YACD,GAbYA,GAAA5F,EAAA,yBAAAA,EAAA,uBAAsB,CAAA,EAAA,EAqClC,IAAY6F,IAAZ,SAAYA,EAAW,CACtBA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,iBAAA,GAAA,kBACD,GARYA,GAAA7F,EAAA,cAAAA,EAAA,YAAW,CAAA,EAAA,EAWvB,IAAY8F,IAAZ,SAAYA,EAAqB,CAChCA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAJYA,GAAA9F,EAAA,wBAAAA,EAAA,sBAAqB,CAAA,EAAA,EAOjC,IAAY+F,IAAZ,SAAYA,EAAuB,CAClCA,EAAAA,EAAA,aAAA,KAAA,eACAA,EAAAA,EAAA,gBAAA,KAAA,kBACAA,EAAAA,EAAA,eAAA,KAAA,iBACAA,EAAAA,EAAA,YAAA,KAAA,cACAA,EAAAA,EAAA,kBAAA,KAAA,mBACD,GANYA,GAAA/F,EAAA,0BAAAA,EAAA,wBAAuB,CAAA,EAAA,EASnC,IAAYgG,IAAZ,SAAYA,EAAe,CAC1BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,SAEAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,oBAAA,IAAA,sBACAA,EAAAA,EAAA,oBAAA,IAAA,sBACAA,EAAAA,EAAA,uBAAA,IAAA,yBACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,cAAA,IAAA,gBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,oBAAA,IAAA,sBACAA,EAAAA,EAAA,uBAAA,IAAA,wBACD,GApBYA,GAAAhG,EAAA,kBAAAA,EAAA,gBAAe,CAAA,EAAA,EAuB3B,IAAYiG,IAAZ,SAAYA,EAAY,CACvBA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,mBAAA,KAAA,oBACD,GAPYA,GAAAjG,EAAA,eAAAA,EAAA,aAAY,CAAA,EAAA,EAUxB,IAAYkG,IAAZ,SAAYA,EAAU,CACrBA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,UAAA,GAAA,WACD,GALYA,GAAAlG,EAAA,aAAAA,EAAA,WAAU,CAAA,EAAA,EAQtB,IAAYmG,IAAZ,SAAYA,EAAc,CACzBA,EAAAA,EAAA,IAAA,IAAA,MACAA,EAAAA,EAAA,OAAA,IAAA,SACAA,EAAAA,EAAA,gBAAA,IAAA,kBACAA,EAAAA,EAAA,mBAAA,IAAA,qBACAA,EAAAA,EAAA,gBAAA,IAAA,kBACAA,EAAAA,EAAA,mBAAA,IAAA,qBACAA,EAAAA,EAAA,iBAAA,IAAA,mBACAA,EAAAA,EAAA,oBAAA,IAAA,qBACD,GATYA,GAAAnG,EAAA,iBAAAA,EAAA,eAAc,CAAA,EAAA,EAY1B,IAAYoG,IAAZ,SAAYA,EAAa,CACxBA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,YAAA,GAAA,cACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,kBAAA,GAAA,oBACAA,EAAAA,EAAA,wBAAA,GAAA,0BACAA,EAAAA,EAAA,2BAAA,IAAA,4BACD,GARYA,GAAApG,EAAA,gBAAAA,EAAA,cAAa,CAAA,EAAA,EAWzB,IAAYqG,IAAZ,SAAYA,EAAgB,CAC3BA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,OAAA,GAAA,QACD,GAHYA,GAAArG,EAAA,mBAAAA,EAAA,iBAAgB,CAAA,EAAA,EAM5B,IAAYsG,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,wBAAA,GAAA,0BACAA,EAAAA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,mBAAA,GAAA,qBACAA,EAAAA,EAAA,4BAAA,GAAA,8BACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,uBAAA,GAAA,yBACAA,EAAAA,EAAA,uBAAA,GAAA,yBACAA,EAAAA,EAAA,kBAAA,GAAA,mBACD,GAVYA,GAAAtG,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAa7B,IAAYuG,IAAZ,SAAYA,EAAiB,CAC5BA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,UAAA,GAAA,WACD,GAHYA,GAAAvG,EAAA,oBAAAA,EAAA,kBAAiB,CAAA,EAAA,EAM7B,IAAYwG,IAAZ,SAAYA,EAAoB,CAC/BA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,4BAAA,GAAA,8BACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,iBAAA,GAAA,mBACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,gBAAA,GAAA,kBACAA,EAAAA,EAAA,qBAAA,GAAA,uBACAA,EAAAA,EAAA,wBAAA,GAAA,0BACAA,EAAAA,EAAA,yBAAA,IAAA,2BACAA,EAAAA,EAAA,YAAA,IAAA,cACAA,EAAAA,EAAA,kBAAA,IAAA,oBACAA,EAAAA,EAAA,kBAAA,IAAA,oBACAA,EAAAA,EAAA,mBAAA,IAAA,qBACAA,EAAAA,EAAA,qCAAA,IAAA,uCACAA,EAAAA,EAAA,+BAAA,IAAA,iCACAA,EAAAA,EAAA,UAAA,IAAA,YACAA,EAAAA,EAAA,OAAA,IAAA,SACAA,EAAAA,EAAA,UAAA,IAAA,YACAA,EAAAA,EAAA,qBAAA,IAAA,uBACAA,EAAAA,EAAA,mBAAA,IAAA,qBACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,SAAA,IAAA,WACAA,EAAAA,EAAA,eAAA,IAAA,iBACAA,EAAAA,EAAA,YAAA,IAAA,cACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,gBAAA,IAAA,kBACAA,EAAAA,EAAA,WAAA,IAAA,aACAA,EAAAA,EAAA,eAAA,IAAA,iBACAA,EAAAA,EAAA,0BAAA,IAAA,4BACAA,EAAAA,EAAA,6BAAA,IAAA,+BACAA,EAAAA,EAAA,kCAAA,IAAA,oCACAA,EAAAA,EAAA,gBAAA,IAAA,kBACAA,EAAAA,EAAA,2BAAA,IAAA,4BACD,GApCYA,GAAAxG,EAAA,uBAAAA,EAAA,qBAAoB,CAAA,EAAA,EAsChC,IAAYyG,IAAZ,SAAYA,EAAU,CACrBA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,UAAA,GAAA,SACAA,EAAAA,EAAA,SAAA,GAAA,OACD,GAJYA,GAAAzG,EAAA,aAAAA,EAAA,WAAU,CAAA,EAAA,EAMtB,SAAgB0G,GAAiBC,EAAY,CAC5C,OAAOA,IAAU,SAAW,EAAIA,IAAU,QAAU,EAAI,CACzD,CAFA3G,EAAA,iBAAA0G,GAIA,SAAgBE,GAAiBD,EAAiB,CACjD,OAAOA,IAAU,EAAI,SAAWA,IAAU,EAAI,QAAU,EACzD,CAFA3G,EAAA,iBAAA4G,GAIA,SAAgBC,GAAuBC,EAAkB,CACxD,OAAOA,IAAa,IACjBhH,GAAA,cAAc,QACdgH,IAAa,IACbhH,GAAA,cAAc,OACdA,GAAA,cAAc,MAClB,CANAE,EAAA,uBAAA6G,GAQA,SAAgBE,GAAuBC,EAAkB,CACxD,OAAOA,IAAQlH,GAAA,cAAc,QAC1B,IACAkH,IAAQlH,GAAA,cAAc,OACtB,IACA,IACJ,CANAE,EAAA,uBAAA+G,GAQA,SAAgBE,GAAgBN,EAAa,CAC5C,OAAOA,GAASF,GAAW,SAAWE,EAAQ,CAC/C,CAFA3G,EAAA,gBAAAiH,GAIA,IAAYC,IAAZ,SAAYA,EAAqB,CAChCA,EAAAA,EAAA,OAAA,GAAA,SACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,cAAA,GAAA,gBACAA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,eAAA,GAAA,iBACAA,EAAAA,EAAA,eAAA,GAAA,gBACD,GARYA,GAAAlH,EAAA,wBAAAA,EAAA,sBAAqB,CAAA,EAAA,mgBC7jDjCmH,GAAA,KAAAC,EAAA,sRCFA,IAAAC,GAAA,KACAC,GAAA,KACAC,GAAA,KAQaC,GAAA,0BAA4B,GAEzC,SAAgBC,GAAwBC,EAAc,CACrD,OAAOA,GAAU,GACd,UACAA,GAAU,EACV,OACAA,GAAU,EACV,aACAA,GAAU,EACV,MACA,MACJ,CAVAF,GAAA,wBAAAC,GAYA,SAAgBE,GACfC,EACAC,EACAC,EAAiC,CA6BjC,MA3BY,CACX,iBAAWP,GAAA,UACVK,EAAM,SAAQ,EACd,KAAK,MAAM,KAAK,MAAMC,CAAS,EAAI,CAAC,EACpC,GAAG,eACWC,EAAO,WAAWL,GAChCK,EAAO,MAAM,KAEd,2CAAsCA,EAAO,mBAAmBN,GAAA,4BAChE,sCAAsCM,EAAO,QAAQ,QAAQ,CAAC,OAC9DA,EAAO,cAAgB,KACpB,sCAAsCA,EAAO,eAC7C,GACHA,EAAO,WAAa,KACjB,sCAAsCA,EAAO,gBAC7C,GACHA,EAAO,uBAAyB,KAC7B,2CAAsCA,EAAO,yBAAyBN,GAAA,4CACtEM,EAAO,eAAiB,KACxB,yCAAsCR,GAAA,mBACtCD,GAAA,WACAS,EAAO,aAAa,IAEpB,IAEF,OAAQC,GAAS,CAAC,CAACA,CAAI,EACvB,KAAK;CAAI,CAEZ,CAjCAP,GAAA,+BAAAG,GAmCA,SAAgBK,GACfC,EAAmC,CAEnC,MAAO;4BACoBA,EAAQ,WAAWR,GAC7CQ,EAAQ,MAAM;4BAGdA,EAAQ,QAAQA,EAAQ,QAAQ,OAAS,GAAG;;;EAI5CA,EAAQ,QACR,IAAI,CAACC,EAAGC,IACRR,GAA+BQ,EAAI,EAAGF,EAAQ,QAAQ,OAAQC,CAAC,CAAC,EAEhE,KAAK;;CAAO,IAAI,KAAI,CACtB,CAjBAV,GAAA,iCAAAQ,GAmBA,SAAgBI,GACfC,EACAC,EACAV,EACAC,EACAC,EAA8B,CA6B9B,MA3BY,CACX,iBAAWP,GAAA,UACVK,EAAM,SAAQ,EACd,KAAK,MAAM,KAAK,MAAMC,CAAS,EAAI,CAAC,EACpC,GAAG,eACWC,EAAO,WAAWL,GAChCK,EAAO,MAAM,KAEdA,EAAO,qBAAuB,KAC3B,kBAAkBO,YAAkBC,WAAsBR,EAAO,uBAAuBN,GAAA,4BACxFM,EAAO,qBAAuB,KAC9B,UAAUO,oCAA4Cf,GAAA,mBACtDD,GAAA,WACAS,EAAO,mBAAmB,IAE1B,GACHA,EAAO,qBAAuB,KAC3B,kBAAkBQ,YAAkBD,WAAsBP,EAAO,uBAAuBN,GAAA,4BACxFM,EAAO,qBAAuB,KAC9B,UAAUQ,oCAA4ChB,GAAA,mBACtDD,GAAA,WACAS,EAAO,mBAAmB,IAE1B,IAEF,OAAQC,GAAS,CAAC,CAACA,CAAI,EACvB,KAAK;CAAI,CAEZ,CAnCAP,GAAA,4BAAAY,GAqCA,SAAgBG,GACfF,EACAC,EACAL,EAAgC,CAEhC,MAAO;4BACoBA,EAAQ,WAAWR,GAC7CQ,EAAQ,MAAM;4BAGdA,EAAQ,QAAQA,EAAQ,QAAQ,OAAS,GAAG;;;EAI5CA,EAAQ,QACR,IAAI,CAACC,EAAGC,IACRC,GACCC,EACAC,EACAH,EAAI,EACJF,EAAQ,QAAQ,OAChBC,CAAC,CACD,EAED,KAAK;;CAAO,IAAI,KAAI,CACtB,CAzBAV,GAAA,8BAAAe,2aCnHA,IAAAC,GAAA,KAGC,OAAA,eAAAC,EAAA,mBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,gBAAgB,CAAA,CAAA,EAChB,OAAA,eAAAC,EAAA,2BAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,wBAAwB,CAAA,CAAA,EACxB,OAAA,eAAAC,EAAA,YAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,SAAS,CAAA,CAAA,EACT,OAAA,eAAAC,EAAA,eAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,YAAY,CAAA,CAAA,EACZ,OAAA,eAAAC,EAAA,kBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,eAAe,CAAA,CAAA,EACf,OAAA,eAAAC,EAAA,wBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,qBAAqB,CAAA,CAAA,EACrB,OAAA,eAAAC,EAAA,eAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,YAAY,CAAA,CAAA,EAEb,IAAAE,GAAA,KACC,OAAA,eAAAD,EAAA,aAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,UAAU,CAAA,CAAA,EACV,OAAA,eAAAD,EAAA,WAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,QAAQ,CAAA,CAAA,EACR,OAAA,eAAAD,EAAA,oBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,iBAAiB,CAAA,CAAA,EACjB,OAAA,eAAAD,EAAA,UAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAC,GAAA,OAAO,CAAA,CAAA,EAER,IAAAC,GAAA,KACC,OAAA,eAAAF,EAAA,iCAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAE,GAAA,8BAA8B,CAAA,CAAA,EAC9B,OAAA,eAAAF,EAAA,mCAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAE,GAAA,gCAAgC,CAAA,CAAA,EAChC,OAAA,eAAAF,EAAA,8BAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAE,GAAA,2BAA2B,CAAA,CAAA,EAC3B,OAAA,eAAAF,EAAA,gCAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAE,GAAA,6BAA6B,CAAA,CAAA,EAC7B,OAAA,eAAAF,EAAA,0BAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAE,GAAA,uBAAuB,CAAA,CAAA,qHClBxB,IAAAC,GAAA,KAAS,OAAA,eAAAC,GAAA,WAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,QAAQ,CAAA,CAAA,EAAE,OAAA,eAAAC,GAAA,gBAAA,CAAA,WAAA,GAAA,IAAA,UAAA,CAAA,OAAAD,GAAA,aAAa,CAAA,CAAA,mgBCFhCE,GAAA,KAAAC,EAAA,EAEAD,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,EACAD,GAAA,KAAAC,EAAA,ICHA,IAAAC,GAAqB,QC2BE,IAAAC,GAAA,OAtBjBC,GAAYC,EAAYC,IAAY,CACzC,SAAU,CACT,KAAM,EACN,SAAU,WACV,QAAS,CACR,MAAO,OACP,OAAQ,MACT,CACD,CACD,EAAE,EAEWC,GAAqCC,GAAU,CAC3D,GAAM,CAAE,SAAAC,EAAU,MAAAC,EAAO,MAAAC,KAAUC,CAAM,EAAIJ,EACvCK,EAAUT,GAAU,EAE1B,SACC,QAAC,OACA,UAAWS,EAAQ,SACnB,KAAK,WACL,OAAQH,IAAUC,EACjB,GAAGC,EAEH,SAAAF,IAAUC,MAAS,QAACG,GAAA,CAAI,EAAG,EAAI,SAAAL,EAAS,EAC1C,CAEF,EClCA,IAAAM,GAA6B,QCA7B,IAAAC,GAAkB,QAOlB,IAAAC,GAAuB,QACvBC,GAAyB,QAEzB,IAAAC,GAAwB,OCVxB,IAAAC,GAAmB,QAKnB,IAAAC,GAAoB,QACpBC,GAAoB,QACpBC,GAA8B,QAC9BC,GAAwB,QACxBC,GAAqB,QAErBC,GAAyB,QCXzB,IAAAC,GAAqB,QACrBC,GAA0B,QAC1BC,GAAoC,QACpCC,GAAuB,mVAcVC,GAAqCC,GAAS,CAC1D,GAAM,CACL,QAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,YAAAC,CAAW,EAERJ,EADAK,EAAUC,GACVN,EANE,CAAA,UAAA,iBAAA,mBAAA,aAAA,CAML,EAEKO,EAAuB,EADV,CAAC,CAACN,GAAWA,EAAQ,SACI,CAAC,CAACE,EAE1CK,EACJ,OAAIP,GAAO,MAAPA,EAAS,SAAQO,EAAQN,GAG5B,iBAAC,GAAAO,QAAM,OAAA,OAAA,CACN,MAAOD,GAAK,KAALA,EAAS,GAChB,aAAY,GACZ,MAAO,iBAAC,GAAAE,QAAa,CAAC,WAAY,CAAC,CAAA,EACnC,OAAO,OAAO,EACVL,CAAU,EAEd,iBAAC,GAAAM,QAAQ,CAAC,MAAM,GAAG,SAAQ,EAAA,EACzBP,GAAW,KAAXA,EAAe,EAAE,EAElBH,GACAA,EAAQ,QACRA,EAAQ,IAAI,CAAC,CAAE,MAAAO,EAAO,MAAAI,CAAK,IAC1B,iBAAC,GAAAD,QAAQ,CAAC,IAAKH,EAAO,MAAOA,CAAK,EAChCI,CAAK,CAEP,EACDL,GACA,iBAAC,GAAAI,QAAQ,CAAC,IAAI,UAAU,MAAM,UAAU,SAAQ,EAAA,EAC9CR,CAAgB,CAElB,CAGJ,ED1CA,IAAAU,GAA6C,OAsLzC,IAAAC,GAAA,OAzJEC,GAAYC,EAAYC,IAAY,CACzC,SAAU,CACT,MAAO,MACR,CACD,EAAE,EAEIC,GAAYC,GAAOC,CAAY,EAAE,CAAC,CAAE,MAAAC,CAAM,KAAO,CACtD,QAASA,EAAM,QAAQ,CAAC,CACzB,EAAE,EAEWC,GAAiDC,GAAU,CACvE,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3B,CAACC,EAAgBC,CAAiB,KAAI,aAASJ,EAAM,cAAc,EACnE,CAACK,EAAOC,CAAQ,KAAI,aAASN,EAAM,KAAK,EACxC,CAACO,EAAQC,CAAS,KAAI,aAASR,EAAM,MAAM,EAC3C,CAACS,EAAUC,CAAW,KAAI,aAASV,EAAM,QAAQ,EAEjD,CAACW,EAASC,CAAQ,KAAI,aAAS,EAAK,EACpC,CAACC,EAAYC,CAAa,KAAI,aAAS,EAAK,EAC5C,CAACC,EAAQC,CAAO,KAAI,aAAS,EAAK,EAElCC,EACJd,GAAkB,MAAaH,EAAM,OAAO,IAAIG,CAAc,GAAM,CAAC,KAEvE,cAAU,IAAM,CApEjB,IAAAe,EAqEEJ,EACCX,IAAmBH,EAAM,gBACxBK,IAAUL,EAAM,OAChBO,IAAWP,EAAM,QACjBS,IAAaT,EAAM,QACrB,EACA,IAAMmB,EAAc,CAAC,CAACF,EAAO,KAAMG,IAAMA,GAAE,QAAUf,CAAK,EACpDgB,EAAOrB,EAAM,MAAM,KAAMsB,IAAMA,GAAE,SAAWf,CAAM,EAClDgB,GAAkBL,EAAAG,GAAA,YAAAA,EAAM,kBAAN,KAAAH,EAAyB,CAAC,EAClDN,EACCO,GACC,CAAC,CAACE,IACDZ,GAAY,MACZA,IAAa,GACbc,EAAgB,SAASd,CAAQ,EACpC,CACD,EAAG,CAACJ,EAAOY,EAAQV,EAAQE,CAAQ,CAAC,EAEpC,IAAMe,EAAeP,EAAO,IAAI,CAAC,CAAE,MAAAZ,EAAO,MAAAoB,CAAM,KAAO,CACtD,MAAOpB,EACP,MAAO,GAAGJ,EAAE,OAAO,KAAKI,MAAUoB,GACnC,EAAE,EAEIC,EAAe1B,EAAM,MAAM,IAAI,CAAC,CAAE,OAAAO,CAAO,KAAO,CACrD,MAAOA,EACP,MAAO,GAAGN,EAAE,MAAM,QAAK,aAASM,EAAO,SAAS,EAAG,EAAG,GAAG,GAC1D,EAAE,EAGIoB,KAAwB,YAAQ,IAAM,CAC3C,IAAMC,EAAuC,CAC5C,CAAE,MAAO,EAAG,MAAO3B,EAAE,aAAa,CAAE,CACrC,EACA,QAAW4B,KAAM7B,EAAM,UAElB6B,IAAO,GACXD,EAAmB,KAAK,CACvB,MAAOC,EACP,MAAO,GAAG5B,EAAE,UAAU,KAAK4B,GAC5B,CAAC,EAEF,OAAOD,CACR,EAAG,CAAC5B,EAAM,SAAS,CAAC,EAGd8B,KAAwB,YAAQ,IAAM,CAlH7C,IAAAZ,EAAAa,EAAAC,GAmHE,IAAMT,GACLQ,GAAAb,EAAAlB,EAAM,MAAM,KAAMsB,IAAMA,GAAE,SAAWf,CAAM,IAA3C,YAAAW,EAA8C,kBAA9C,KAAAa,EAAiE,CAAC,EAMnE,GAJKR,EAAgB,SAAS,CAAC,GAAGA,EAAgB,QAAQ,CAAC,EACzB,CAAC,GAACS,GAAAf,EAAO,KACzCG,IAAMA,GAAE,QAAUf,CACpB,IAFoC,MAAA2B,GAEjC,cAGI,CACN,IAAMJ,GAAuC,CAC5C,CAAE,MAAO,OAAQ,MAAO3B,EAAE,aAAa,CAAE,CAC1C,EACA,QAAW4B,MAAMN,EAChBK,GAAmB,KAAK,CACvB,MAAOC,GACP,MACCA,KAAO,EACJ5B,EAAE,eAAe,EACjB,GAAGA,EAAE,UAAU,KAAK4B,IACzB,CAAC,EAEF,OAAOD,EACR,KAfC,OAAO,CAAC,CAgBV,EAAG,CAAC5B,EAAM,MAAOiB,EAAQZ,EAAOE,CAAM,CAAC,EAEjC0B,EACLjC,EAAM,gBAAkB,MACxBA,EAAM,OAAS,MACfA,EAAM,QAAU,MAChBA,EAAM,UAAY,KAEnB,eAAekC,GAAkB,CAChC,GAAI,CACHlB,EAAQ,EAAI,EACZ,MAAMhB,EAAM,KAAKG,EAAgBE,EAAQE,EAASE,CAAQ,EACtDwB,GAAkBE,EAAiB,CACxC,OAASC,EAAP,CACD,MAAMnC,EAAE,qCAAqC,CAAC,EAC9C,QAAQ,MACP,+CAA+CoC,GAC9CD,CACD,GACD,EACAD,EAAiB,CAClB,QAAE,CACDnB,EAAQ,EAAK,CACd,CACD,CACA,SAASmB,GAAmB,CAC3B/B,EAAkBJ,EAAM,cAAc,EACtCM,EAASN,EAAM,KAAK,EACpBQ,EAAUR,EAAM,MAAM,EACtBU,EAAYV,EAAM,QAAQ,CAC3B,CACA,eAAesC,GAAoB,CAClC,GAAI,EAACtC,EAAM,OACX,GAAI,CACHgB,EAAQ,EAAI,EACZ,MAAMhB,EAAM,OAAO,CACpB,OAASoC,EAAP,CACD,MAAMnC,EAAE,uCAAuC,CAAC,EAChD,QAAQ,MACP,iDAAiDoC,GAChDD,CACD,GACD,EACAD,EAAiB,CAClB,QAAE,CACDnB,EAAQ,EAAK,CACd,CACD,CAEA,IAAMuB,EAAetB,EAAO,KAAMG,GAAMA,EAAE,QAAUf,CAAK,EACnDmC,EAA+BvB,EAAO,KAAMG,GAAMA,EAAE,YAAY,EAEhEqB,EAAUjD,GAAU,EAE1B,SACC,SAACkD,GAAA,CACA,qBAAC/C,GAAA,CACA,oBAACgD,GAAA,CACA,UAAWF,EAAQ,SACnB,QAASd,EACT,eAAgBxB,GAAA,KAAAA,EAAkB,GAClC,YAAaF,EAAE,qBAAqB,EACpC,SAAWmC,GAAM,CAChBhC,EAAkBgC,EAAE,OAAO,KAAe,CAC3C,EACD,EACD,KACA,QAACzC,GAAA,CACA,oBAACgD,GAAA,CACA,UAAWF,EAAQ,SACnB,QAASjB,EACT,eAAgBnB,EAChB,YAAaJ,EAAE,kBAAkB,EACjC,SAAWmC,GAAM,CAChB9B,EAAS8B,EAAE,OAAO,KAAe,CAClC,EACD,EACD,KACA,QAACzC,GAAA,CACA,oBAACgD,GAAA,CACA,UAAWF,EAAQ,SACnB,QAASf,EACT,eAAgBnB,EAChB,YAAaN,EAAE,iBAAiB,EAChC,SAAWmC,GAAM,CAChB5B,EAAU4B,EAAE,OAAO,KAAe,CACnC,EACD,EACD,EACCpC,EAAM,yBACN,QAACL,GAAA,CACC,UAAA4C,GAAA,YAAAA,EAAc,eACdC,MACC,QAACG,GAAA,CACA,UAAWF,EAAQ,SACnB,QAASX,EACT,eAAgBrB,GAAA,KAAAA,EAAY,OAC5B,YAAaR,EAAE,qBAAqB,EACpC,SAAWmC,GAAM,CAChB,IAAMQ,EAAQR,EAAE,OAAO,MACvB1B,EACCkC,IAAU,OACP,OACCA,CACL,CACD,EACD,EAEH,KAED,QAACjD,GAAA,CACA,qBAACkD,GAAA,CACA,QAAQ,YACR,MAAM,UACN,MAAO,CAAE,KAAM,UAAW,EAE1B,qBAAC,GAAAC,QAAA,CAAQ,MAAO7C,EAAE,kBAAkB,EACnC,oBAAC,GAAA8C,QAAA,CACA,SAAUhC,GAAU,CAACJ,GAAW,CAACE,EACjC,QAAS,IAAMqB,EAAgB,EAE9B,SAAAD,KAAmB,QAAC,GAAAe,QAAA,EAAQ,KAAK,QAAC,GAAAC,QAAA,EAAS,EAC7C,EACD,KAEA,QAAC,GAAAH,QAAA,CAAQ,MAAO7C,EAAE,cAAc,EAC/B,oBAAC,GAAA8C,QAAA,CACA,SAAUhC,GAAU,CAACF,EACrB,QAAS,IAAMsB,EAAiB,EAEhC,oBAAC,GAAAe,QAAA,EAAY,EACd,EACD,EAEC,CAACjB,MACD,QAAC,GAAAa,QAAA,CAAQ,MAAO7C,EAAE,oBAAoB,EACrC,oBAAC,GAAA8C,QAAA,CACA,SAAUhC,EACV,QAAS,IAAMuB,EAAkB,EAEjC,oBAAC,GAAAa,QAAA,EAAkB,EACpB,EACD,GAEF,EACD,GACD,CAEF,EE7RA,IAAAC,GAAoB,QACpBC,GAA8B,QAC9BC,GAAiC,QACjCC,GAAqB,QACrBC,GAAwB,QAgCnB,IAAAC,GAAA,OA5BCC,GAAYC,EAAYC,IAAY,CACzC,gBAAiB,CAChB,MAAOC,GAAM,IACd,EACA,iBAAkB,CACjB,MAAOC,GAAU,IAClB,EACA,eAAgB,CACf,MAAOC,GAAI,IACZ,CACD,EAAE,EAMWC,GAAqDC,GAAU,CAC3E,GAAM,CAAE,OAAAC,CAAO,EAAID,EACb,CAAE,UAAWE,CAAE,EAAIC,EAAQ,EAC3BC,EAAUX,GAAU,EAEpBY,EAAQH,EAAED,GAAA,KAAAA,EAAU,SAAS,EAEnC,OAAQA,OACF,YACA,QACJ,SACC,QAAC,GAAAK,QAAA,CAAQ,MAAOD,EACf,oBAAC,GAAAE,QAAA,CAAS,UAAWH,EAAQ,gBAAiB,EAC/C,MAEG,SACJ,SACC,QAAC,GAAAE,QAAA,CAAQ,MAAOD,EACf,oBAAC,GAAAG,QAAA,CACA,UAAWJ,EAAQ,iBACpB,EACD,MAEG,OACJ,SACC,QAAC,GAAAE,QAAA,CAAQ,MAAOD,EACf,oBAAC,GAAAI,QAAA,CAAY,UAAWL,EAAQ,eAAgB,EACjD,UAGD,SACC,QAAC,GAAAE,QAAA,CAAQ,MAAOD,EACf,oBAAC,GAAAK,QAAA,EAAkB,EACpB,EAGJ,EC9DA,IAAAC,GAAuB,QAKrB,IAAAC,GAAA,OAFWC,GAAqBC,MAEhC,QAAC,GAAAC,QAAA,CAAW,QAAQ,QAAQ,MAAO,CAAE,UAAW,QAAS,EACvD,SAAAD,EAAM,SACR,EAIWE,GAAuB,IAAM,CACzC,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EACjC,SAAO,QAACL,GAAA,CAAS,SAAAI,EAAE,mBAAmB,EAAE,CACzC,EAEaE,GAAsB,IAAM,CACxC,GAAM,CAAE,UAAWF,CAAE,EAAIC,EAAQ,EACjC,SAAO,QAACL,GAAA,CAAS,SAAAI,EAAE,oBAAoB,EAAE,CAC1C,EAEaG,GAAyB,IAAM,CAC3C,GAAM,CAAE,UAAWH,CAAE,EAAIC,EAAQ,EACjC,SAAO,QAACL,GAAA,CAAS,SAAAI,EAAE,mBAAmB,EAAE,CACzC,EJ6CI,IAAAI,GAAA,OAnDEC,GAAYC,EAAYC,IAAW,CACxC,SAAU,CACT,gBAAiBA,EAAM,QAAQ,WAAW,QAC1C,OAAQA,EAAM,QAAQ,EAAE,EACxB,aAAcA,EAAM,QAAQ,CAAC,EAC7B,aAAc,aAAaA,EAAM,QAAQ,UACzC,QAASA,EAAM,QAAQ,CAAC,CACzB,EACA,MAAO,CACN,UAAWA,EAAM,QAAQ,EAAE,CAC5B,EACA,WAAY,CACX,QAAS,CACR,cAAe,QAChB,CACD,EACA,MAAO,CACN,QAASA,EAAM,QAAQ,CAAC,EACxB,gBAAiBA,EAAM,QAAQ,WAAW,MAC1C,UAAWA,EAAM,QAAQ,CAAC,EAC1B,gBAAiB,CAChB,OAAQ,CACT,CACD,CACD,EAAE,EAMF,SAASC,GACRC,EACC,CACD,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3B,CAAE,MAAAC,EAAO,OAAAC,CAAO,EAAIJ,EAAM,OAC1BK,EAASF,EAAM,OAAO,GACtBG,EACLH,EAAM,OAAO,MAAQ,CAAEA,EAAM,OAAO,KAAgB,WAAW,MAAM,EAClEA,EAAM,OAAO,KACb,OAEEI,EAAUX,GAAU,EAE1B,SACC,SAAC,OAAI,UAAWW,EAAQ,SACvB,sBAAC,GAAAC,QAAA,CACA,QAAQ,KACR,UAAU,KACV,UAAWD,EAAQ,WAEnB,sBAAC,QACC,UAAAN,EAAE,MAAM,EAAE,OAAE,aAASI,EAAO,SAAS,EAAG,EAAG,GAAG,GAChD,EAAO,UAEP,QAACI,GAAA,CAAiB,OAAQL,EAAQ,GACnC,EACCE,MACA,QAAC,GAAAE,QAAA,CAAW,QAAQ,KAAK,UAAU,KACjC,SAAAF,EACF,GAEF,CAEF,CAEA,SAASI,GAA4BV,EAAkC,CACtE,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3B,CAAE,UAAAS,EAAW,MAAAR,CAAM,EAAIH,EAAM,OAC7BK,EAASF,EAAM,OAAO,GAGtB,CACL,gBAAAS,EACA,OAAAC,EACA,qBAAAC,EACA,gBAAAC,EACA,aAAAC,CACD,KAAI,YAAQ,IAAM,CACjB,IAAMC,EAAuC,CAAC,EAC1CF,EAAkB,GAClBD,EAAuB,GACrBD,EAAS,IAAI,IAIbD,EAA4B,CAAC,EACnC,GAAID,EAAW,CACd,OAAW,CAACO,EAAOC,CAAQ,IAAKR,EAC1BQ,EAAS,mBAGbL,MAAyB,OAAO,OAC/BK,EAAS,iBACV,EAAE,KAAMC,GAAM,CAAC,CAACA,EAAE,YAAY,GAC9BP,EAAO,IACNK,EACA,OAAO,QAAQC,EAAS,iBAAiB,EAAE,IAC1C,CAAC,CAACE,EAAOC,CAAG,KAAO,CAClB,MAAO,SAASD,CAAK,EACrB,GAAGC,CACJ,EACD,CACD,GAbAT,EAAO,IAAIK,EAAO,CAAC,CAAC,EAgBjBC,EAAS,eACZF,EAAY,KACX,GAAG,OAAO,QAAQE,EAAS,YAAY,EACrC,IAAI,CAAC,CAACE,EAAOE,CAAM,IACnBA,EAAO,IAAKH,IAAO,CAClB,eAAgBF,EAChB,MAAO,SAASG,CAAK,EACrB,GAAGD,CACJ,EAAE,CACH,EACC,OAAO,CAACI,EAAKC,IAAQ,CAAC,GAAGD,EAAK,GAAGC,CAAG,EAAG,CAAC,CAAC,EACzC,KAAK,CAACC,EAAIC,IAAO,CAxIzB,IAAAC,EAAAC,EAyIQ,OACCH,EAAG,MAAQC,EAAG,OACdD,EAAG,OAASC,EAAG,UACdC,EAAAF,EAAG,WAAH,KAAAE,EAAe,MAAOC,EAAAF,EAAG,WAAH,KAAAE,EAAe,GAExC,CAAC,CACH,EACAd,MACC,OAAO,KAAKI,EAAS,YAAY,EAAE,OAAS,IAG3CL,GAAsBF,EAAgB,KAAK,CAAC,EAChDA,EAAgB,KAAK,GAAGD,EAAU,KAAK,CAAC,CACzC,CACA,MAAO,CACN,gBAAAC,EACA,OAAAC,EACA,qBAAAC,EACA,gBAAAC,EACA,aAAcE,CACf,CACD,EAAG,CAACN,CAAS,CAAC,EAERJ,EAAUX,GAAU,EAE1B,SACC,SAACkC,GAAA,CAAM,UAAWvB,EAAQ,MACzB,qBAACwB,GAAA,CACA,qBAACC,GAAA,CACA,qBAACC,EAAA,CAAW,SAAAhC,EAAE,iBAAiB,EAAE,KACjC,QAACgC,EAAA,CAAW,SAAAhC,EAAE,OAAO,EAAE,KACvB,QAACgC,EAAA,CAAW,SAAAhC,EAAE,aAAa,EAAE,EAC5Ba,MACA,QAACmB,EAAA,CAAW,SAAAhC,EAAE,iBAAiB,EAAE,KAElC,QAACgC,EAAA,CAAU,gBAAM,GAClB,EACD,KACA,SAACC,GAAA,CACC,UAAAnB,EACAC,EAAa,IAAKmB,GAAO,CAjL9B,IAAAP,EAAAC,EAAAO,EAkLM,iBAACC,GAAA,CAMA,UAAWzB,GAAA,KAAAA,EAAmB,CAAC,EAC/B,OAAQC,EACR,MAAOb,EAAM,MAAM,OACjBsC,GAAMA,EAAE,SAAWjC,CACrB,EACA,gBAAgB+B,EAAAD,EAAM,iBAAN,KAAAC,EAAwB,EACxC,MAAOD,EAAM,MACb,OAAQA,EAAM,OACd,SAAUA,EAAM,SAChB,qBAAsBrB,EACtB,KAAM,CACLyB,EACAlB,EACAmB,EACArB,IAEOnB,EAAM,gBAAgBK,EAAQ8B,EAAO,CAC3C,eAAAI,EACA,MAAAlB,EACA,OAAQmB,EACR,SAAArB,CACD,CAAC,EAEF,OAAQ,IACAnB,EAAM,kBAAkBK,EAAQ8B,CAAK,GA7BxC,OAAO9B,KACXuB,EAAAO,EAAM,iBAAN,KAAAP,EAAwB,QACnBO,EAAM,SAASA,EAAM,WAC1BN,EAAAM,EAAM,WAAN,KAAAN,EAAkB,IA4BpB,EACA,KAED,sBAAE,KAGH,QAACQ,GAAA,CACA,UAAWzB,GAAA,KAAAA,EAAmB,CAAC,EAC/B,OAAQC,EACR,MAAOb,EAAM,MAAM,OAAQsC,GAAMA,EAAE,SAAWjC,CAAM,EACpD,eAAgB,OAChB,MAAO,OACP,OAAQ,OACR,qBAAsBS,EACtB,KAAM,CAACyB,EAAgBlB,EAAOmB,EAAcrB,IACpCnB,EAAM,gBAAgBK,EAAQ,OAAW,CAC/C,eAAAkC,EACA,MAAAlB,EACA,OAAQmB,EACR,SAAArB,CACD,CAAC,EAEH,GACD,GACD,CAEF,CAmBO,IAAMsB,GACZzC,GACI,CACJ,GAAM,CAAE,MAAA0C,EAAO,UAAA/B,CAAU,EAAIX,EAAM,OAE7B2C,EACL,CAAC,CAAChC,GACF,CAAC,GAAGA,EAAU,OAAO,CAAC,EAAE,KAAMiC,GAAM,CAAC,CAACA,EAAE,iBAAiB,EAEpDrC,EAAUX,GAAU,EAE1B,OAAI8C,GAAS,CAACC,KAEN,sBAAE,KAIT,SAAC,GAAAE,QAAA,CAAM,UAAWtC,EAAQ,MAAO,UAAW,EAC3C,qBAACR,GAAA,CAA6B,OAAQC,EAAM,OAAQ,EACnD0C,KACA,QAAChC,GAAA,CAA6B,GAAGV,EAAO,KAExC,QAAC8C,GAAA,EAAa,GAEhB,CAEF,EDvO6C,IAAAC,GAAA,OAtChCC,GAA6CC,GAAU,CACnE,GAAM,CAAE,MAAOC,EAAgB,UAAWC,CAAY,EAAIC,GAAW,EAC/DC,EAAMC,GAAO,EACb,CAAE,QAAAC,EAAS,cAAAC,CAAc,EAAIP,EAEnC,eAAeQ,EACdC,EACAC,EACAC,EACgB,CACZD,GAAM,MAAME,EAAkBH,EAAQC,CAAI,EAC9C,MAAMN,EAAI,eAAeK,EAAQE,CAAO,EAGxC,MAAMJ,EAAc,CACrB,CAEA,eAAeK,EACdH,EACAI,EACgB,CAChB,MAAMT,EAAI,kBAAkBK,EAAQI,CAAW,EAG/C,MAAMN,EAAc,CACrB,CAEA,IAAMO,EAAiBR,EACpB,OAAO,OAAOA,CAAO,EAAE,OAAO,OAAO,EACrC,CAAC,EACES,EAAQD,EAAe,IAAK,IAAO,CACxC,OAAQ,EAAE,MAAM,OAAO,GACvB,gBAAiB,EAAE,MAAM,OAAO,eACjC,EAAE,EACIE,EAAuBF,EAAe,OAC1C,GAAM,CAAC,EAAE,MAAM,OAAO,gBACxB,EAEA,MAAI,CAACb,GAAkB,CAACC,KAAoB,QAACe,GAAA,EAAW,EACnDX,EACAU,EAAqB,UAGzB,qBACE,SAAAA,EAAqB,IAAI,CAACE,EAAQC,OAClC,QAACC,GAAA,CAEA,OAAQF,EACR,MAAOH,EACP,gBAAiBP,EACjB,kBAAmBI,GAJdO,CAKN,CACA,EACF,KAbwC,QAACE,GAAA,EAAU,KAD/B,QAAC,GAAAC,QAAA,EAAiB,CAgBxC,EMnEA,IAAAC,GAA6B,QAQ7B,IAAAC,GAAiD,OCRjD,IAAAC,GAAmB,QAEnB,IAAAC,GAAqB,QACrBC,GAA6B,QAC7BC,GAAsB,QACtBC,GAAiB,QAwCf,IAAAC,GAAA,OArBF,IAAMC,GAAYC,EAAYC,IAAkB,CAC/C,KAAM,CACL,QAAS,OACT,cAAe,MACf,IAAKA,EAAM,QAAQ,CAAC,CACrB,EACA,UAAW,CACV,WAAYA,EAAM,QAAQ,MAAM,KAChC,UAAW,CACV,WAAYA,EAAM,QAAQ,MAAM,IACjC,CACD,CACD,EAAE,EAEWC,GACZC,GACI,CACJ,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3BC,EAAUP,GAAU,EAE1B,SACC,SAAC,OAAI,UAAWO,EAAQ,KACvB,qBAAC,GAAAC,QAAA,CACA,QAAQ,YACR,MACCJ,EAAM,QAAU,EACb,YACA,UAEJ,aAAW,QAAC,GAAAK,QAAA,EAAS,EACrB,SACCL,EAAM,QAAU,GAChBA,EAAM,QAAU,EAEjB,QAASA,EAAM,eAEd,SAAAA,EAAM,QAAU,EACdC,EAAE,gBAAgB,EAClBA,EAAE,kBAAkB,EACxB,KACA,QAAC,GAAAG,QAAA,CACA,QAAQ,YACR,MACCJ,EAAM,QAAU,EACb,YACA,UAEJ,aAAW,QAAC,GAAAM,QAAA,EAAU,EACtB,SACCN,EAAM,QAAU,GAChBA,EAAM,QAAU,EAEjB,QAASA,EAAM,eAEd,SAAAA,EAAM,QAAU,EACdC,EAAE,gBAAgB,EAClBA,EAAE,kBAAkB,EACxB,KACA,QAAC,GAAAG,QAAA,CACA,QAAQ,YACR,MAAO,UACP,aAAW,GAAAG,SACVP,EAAM,QAAU,GACfG,EAAQ,SACV,EACA,aAAW,QAAC,GAAAK,QAAA,EAAiB,EAC7B,SACCR,EAAM,QAAU,GAChBA,EAAM,QAAU,EAEjB,QACCA,EAAM,QAAU,EACbA,EAAM,YACNA,EAAM,cAGT,SAAAA,EAAM,QAAU,EACdC,EAAE,cAAc,EAChBA,EAAE,gBAAgB,EACtB,GACD,CAEF,EC1GA,IAAAQ,GAAkB,QCClB,IAAAC,GAAuB,QAIvB,IAAAC,GAAoB,QACpBC,GAAqB,QACrBC,GAAkC,QAClCC,GAAgC,QAEhC,IAAAC,GAAoC,OCTpC,IAAAC,GAAmB,QAEnB,IAAAC,GAA8B,QAC9BC,GAAyB,QACzBC,GAAiC,QACjCC,GAA4B,QAQ5B,IAAAC,GAAsC,OCdtC,IAAAC,GAAmB,QACnBC,GAAmB,QACnBC,GAA0B,QAC1BC,GAA0B,QAC1BC,GAAwB,QAExB,IAAAC,GAAuB,QAGvB,IAAAC,GAAkC,OAsC/BC,GAAA,OA3BGC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,QAAS,OACT,SAAU,SACV,SAAU,IACV,IAAKA,EAAM,QAAQ,CAAC,CACrB,CACD,EAAE,EAEWC,GACZC,GACI,CACJ,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3BC,EAAUP,GAAU,EAEpB,CAACQ,EAAQC,CAAS,KAAI,aAAmBL,EAAM,MAAM,EAErDM,KAAU,YAAQ,IAChB,OAAO,QAAQN,EAAM,OAAO,EAAE,IAAI,CAAC,CAACO,EAAKC,CAAK,KAAO,CAC3D,MAAOD,EACP,MAAOC,CACR,EAAE,EACA,CAACR,EAAM,OAAO,CAAC,EAElB,SACC,SAAC,GAAAS,QAAA,CAAO,KAAMT,EAAM,KAAM,QAASA,EAAM,SAAU,SAAU,GAC5D,qBAAC,GAAAU,QAAA,CAAY,GAAG,qBACd,SAAAT,EAAE,eAAe,EACnB,KACA,SAAC,GAAAU,QAAA,CAAc,UAAWR,EAAQ,KACjC,qBAAC,GAAAS,QAAA,CAAW,QAAQ,QAClB,SAAAX,EACA,uFACD,EACD,KACA,QAACY,GAAA,CACA,eAAgBT,EAChB,QAASE,EACT,SAAWQ,GACVT,EAAU,SAASS,EAAM,OAAO,KAAe,CAAC,EAElD,KACA,QAAC,GAAAF,QAAA,CAAW,QAAQ,QAClB,SAAAX,EACA,6DACD,EACD,GACD,KACA,SAAC,GAAAc,QAAA,CACA,qBAAC,GAAAC,QAAA,CACA,SAAUhB,EAAM,SAAWI,EAC3B,QAAS,IAAMJ,EAAM,UAAUI,CAAM,EACrC,MAAM,UAEL,SAAAH,EAAE,IAAI,EACR,KACA,QAAC,GAAAe,QAAA,CAAO,QAAShB,EAAM,SAAU,MAAM,UACrC,SAAAC,EAAE,QAAQ,EACZ,GACD,GACD,CAEF,EDqCE,IAAAgB,GAAA,OApGIC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,QAASA,EAAM,QAAQ,EAAG,CAAC,EAC3B,QAAS,OACT,oBAAqB,0BACrB,WAAY,SACZ,UAAWA,EAAM,QAAQ,CAAC,EAC1B,OAAQA,EAAM,QAAQ,CAAC,CACxB,EACA,UAAW,CACV,WAAYA,EAAM,QAAQ,MAAM,KAChC,UAAW,CACV,WAAYA,EAAM,QAAQ,MAAM,IACjC,CACD,CACD,EAAE,EAOWC,GAAuDC,GAAU,CA1C9E,IAAAC,EA2CC,GAAM,CAAE,OAAAC,EAAQ,QAAAC,CAAQ,EAAIH,EACtB,CAAE,UAAAI,CAAU,EAAIC,GAAW,EAC3BC,EAAMC,GAAO,EACb,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3B,CAAE,UAAAC,EAAW,iBAAAC,CAAiB,EAAIC,GAAW,EAG7C,CAACC,EAAuBC,CAAwB,KAAI,aAAS,EAAK,EAClE,CAACC,CAAc,EAAIC,GAAkB,GAAGZ,kBAA2B,CACxE,UAAW,EACZ,CAAC,EACK,CAACa,CAAQ,EAAIC,GAA2B,CAC7C,GAAI,GAAGd,iBACR,CAAC,EACKe,KAAc,gBAClBC,GAAqB,CACjBlB,IACJC,EAAQ,EAAI,EACZG,EAAI,YAAYc,CAAM,EAAE,QAAQ,IAAMjB,EAAQ,EAAK,CAAC,EACrD,EACA,CAACG,EAAKJ,EAAQC,CAAO,CACtB,EAGMkB,KAAY,gBAAY,IAAM,CAC/BnB,IACJC,EAAQ,EAAI,EACZG,EAAI,UAAU,EAAE,QAAQ,IAAMH,EAAQ,EAAK,CAAC,EAC7C,EAAG,CAACG,EAAKJ,EAAQC,CAAO,CAAC,EAEnBmB,KAAa,gBAAY,SAAY,CAC1C,GAAI,CAAApB,EAEJ,GAAI,CAKH,GAAI,CAJW,MAAMQ,EACpBF,EAAE,mBAAmB,EACrBA,EAAE,uBAAuB,CAC1B,EACa,OACbL,EAAQ,EAAI,EACZ,MAAMG,EAAI,WAAW,EACrB,WAAW,IAAM,CAChBH,EAAQ,EAAK,CACd,EAAG,GAAI,CACR,OAASoB,EAAP,CACDZ,EAAiBa,GAAgBD,CAAC,EAAG,OAAO,EAC5C,MACD,CACD,EAAG,CAACjB,EAAKJ,EAAQQ,EAAWC,CAAgB,CAAC,EAEvCc,KAAY,gBAAY,SAAY,CACzC,GAAI,CAAAvB,EAEJ,GAAI,CAKH,GAAI,CAJW,MAAMQ,EACpBF,EAAE,gBAAgB,EAClBA,EAAE,yBAAyB,CAC5B,EACa,OAEbL,EAAQ,EAAI,EACZ,MAAMG,EAAI,UAAU,EACpBH,EAAQ,EAAK,EAEb,MAAMO,EACLF,EAAE,0BAA0B,EAC5BA,EAAE,+BAA+B,CAClC,CACD,OAASe,EAAP,CACDZ,EAAiBa,GAAgBD,CAAC,EAAG,OAAO,EAC5C,MACD,CACD,EAAG,CAACjB,EAAKJ,EAAQQ,EAAWC,CAAgB,CAAC,EAEvCe,EAAU9B,GAAU,EAE1B,SACC,SAAC,OAAI,UAAW8B,EAAQ,KACvB,qBAAC,GAAAC,QAAA,CACA,SAAUzB,EACV,QAAQ,YACR,MAAM,UACN,QAASmB,EACT,aAAW,QAAC,GAAAO,QAAA,EAAqB,EAEhC,SAAApB,EAAE,YAAY,EAChB,KACA,QAACqB,GAAA,CAAW,QAAQ,QAClB,SAAArB,EAAE,4CAA4C,EAChD,KAEA,QAAC,GAAAmB,QAAA,CACA,SAAUzB,EACV,QAAQ,YACR,MAAM,UACN,QAASoB,EACT,aAAW,QAAC,GAAAQ,QAAA,EAAgB,EAE3B,SAAAtB,EAAE,kBAAkB,EACtB,KACA,QAACqB,GAAA,CAAW,QAAQ,QAClB,SAAArB,EACA,yHACD,EACD,KAEA,QAAC,GAAAmB,QAAA,CACA,SAAUzB,GAAUe,GAAY,KAChC,QAAQ,YACR,MAAM,UACN,QAAS,IAAMH,EAAyB,EAAI,EAC5C,aAAW,QAAC,GAAAiB,QAAA,EAAa,EAExB,SAAAvB,EAAE,eAAe,EACnB,KACA,QAACqB,GAAA,CAAW,QAAQ,QAClB,SAAArB,EACA,+DACD,EACD,KAEA,QAAC,GAAAmB,QAAA,CACA,UAAWD,EAAQ,UACnB,SAAUxB,EACV,QAAQ,YACR,QAASuB,EACT,aAAW,QAAC,GAAAO,QAAA,EAAkB,EAE7B,SAAAxB,EAAE,eAAe,EACnB,KACA,QAACqB,GAAA,CAAW,QAAQ,QAClB,SAAArB,EACA,uKACD,EACD,EAGCO,GAAkBE,GAAY,SAC9B,QAACgB,GAAA,CACA,KAAMpB,EACN,SAAU,IAAMC,EAAyB,EAAK,EAC9C,UAAYM,GAAW,CACtBD,EAAYC,CAAM,EAClBN,EAAyB,EAAK,CAC/B,EACA,OAAQG,EACR,SAAUhB,EAAAc,EAAuB,OAAO,SAA9B,KAAAd,EAAwC,CAAC,EACpD,GAEF,CAEF,EEhMA,IAAAiC,GAAoB,QACpBC,GAAqB,QACrBC,GAA6B,QAC7BC,GAAiB,QAwCdC,GAAA,OAtCGC,GAAYC,EAAYC,IAAY,CACzC,KAAM,CACL,QAAS,OACT,oBAAqB,kBACrB,iBAAkB,MACnB,EACA,aAAc,CACb,SAAU,OACV,MAAOC,GAAK,IACb,EACA,iBAAkB,CACjB,MAAOC,GAAM,IACd,EACA,iBAAkB,CACjB,MAAOC,GAAK,IACb,EACA,mBAAoB,CACnB,MAAOC,GAAW,IACnB,EACA,UAAW,CACV,MAAOC,GAAM,IACd,CACD,EAAE,EASIC,GAAuDC,GAAU,CACtE,IAAMC,EAAUV,GAAU,EAEpBW,EAAOF,EAAM,QAAU,GAAAG,QAAW,GAAAC,QAExC,OAAOJ,EAAM,aACZ,QAAC,GAAAK,QAAA,CAAQ,MAAO,GAAGL,EAAM,UAAUA,EAAM,QAAU,SAAM,WACxD,oBAACE,EAAA,CACA,aAAW,GAAAI,SACVL,EAAQ,aACRD,EAAM,SAAWC,EAAQD,EAAM,UAChC,EACD,EACD,KAEA,QAAC,SAAK,CAER,EAMMO,GAAsB,CAC3B,CAAC,mBAAoB,mBAAmB,EACxC,CAAC,mBAAoB,kBAAkB,EACvC,CAAC,qBAAsB,oBAAoB,EAC3C,CAAC,YAAa,WAAW,CAC1B,EAEaC,GACZR,GACI,CACJ,IAAMC,EAAUV,GAAU,EACpB,CAAE,gBAAAkB,CAAgB,EAAIT,EAE5B,SACC,QAAC,OAAI,UAAWC,EAAQ,KACtB,SAAAM,GAAoB,IAAI,CAAC,CAACG,EAAWC,CAAK,OAC1C,QAACZ,GAAA,CAEA,MAAOY,EACP,UAAWD,EACX,UAAWA,KAAaD,EACxB,QAASA,EAAgBC,KAAe,IAJnCA,CAKN,CACA,EACF,CAEF,ECrFA,IAAAE,GAAiB,QACjBC,GAAoC,OCFpC,IAAAC,GAAsC,QACtCC,GAAiB,QAiCf,IAAAC,EAAA,OA7BIC,GAAYC,EAAYC,IAAW,CACxC,QAAS,CACR,OAAQ,aAAaA,EAAM,QAAQ,UACnC,gBAAiBA,EAAM,QAAQ,OAAO,MACtC,UAAWA,EAAM,QAAQ,GACzB,MAAO,sBACP,SAAU,EACX,EACA,MAAO,CACN,YAAa,CACZ,OAAQ,aAAaA,EAAM,QAAQ,UACnC,gBAAiBA,EAAM,QAAQ,OAAO,MACtC,UAAW,YACZ,CACD,EACA,KAAM,CACL,QAAS,OACT,oBAAqB,YACrB,QAASA,EAAM,QAAQ,EAAG,CAAC,CAC5B,EACA,IAAK,CACJ,MAAOA,EAAM,QAAQ,MAAM,KAC3B,WAAY,MACb,CACD,EAAE,EAEIC,GAAiDC,GAAU,CAChE,IAAMC,EAAUL,GAAU,EAC1B,SACC,OAAC,GAAAM,QAAA,CACA,MAAK,GACL,QAAS,CACR,QAASD,EAAQ,QACjB,MAAOA,EAAQ,KAChB,EACC,GAAGD,EACL,CAEF,EAOaG,GACZH,GACI,CArDL,IAAAI,EAsDC,IAAMH,EAAUL,GAAU,EACpB,CAAE,UAAWS,CAAE,EAAIC,EAAQ,EAE3BC,GAAIH,EAAAJ,EAAM,aAAN,KAAAI,EAAoB,CAC7B,WAAY,EACZ,WAAY,EACZ,kBAAmB,EACnB,kBAAmB,EACnB,gBAAiB,CAClB,EAEA,SACC,OAACL,GAAA,CACA,SACC,QAAC,OAAI,UAAWE,EAAQ,KACvB,qBAAC,KAAG,UAAAI,EAAE,MAAM,EAAE,KAAC,KACf,QAAC,QACC,UAAAE,EAAE,WACFA,EAAE,kBAAoB,MACtB,oBACE,iBACD,QAAC,QAAK,UAAWN,EAAQ,IAAK,cAC3BM,EAAE,kBAAkB,IAAEF,EAAE,SAAS,EAAE,KACtC,GACD,GAEF,KAEA,QAAC,KAAG,UAAAA,EAAE,UAAU,EAAE,KAAC,KACnB,QAAC,QACC,UAAAE,EAAE,WACFA,EAAE,kBAAoB,MACtB,oBACE,iBACD,QAAC,QAAK,UAAWN,EAAQ,IAAK,cAC3BM,EAAE,kBAAkB,IAAEF,EAAE,SAAS,EAAE,KACtC,GACD,GAEF,KAEA,QAAC,KAAG,UAAAA,EAAE,UAAU,EAAE,KAAC,KACnB,OAAC,QACA,aAAW,GAAAG,SACVD,EAAE,gBAAkB,EAAIN,EAAQ,IAAM,MACvC,EAEC,SAAAM,EAAE,gBACJ,GACD,EAGA,SAAAP,EAAM,SACR,CAEF,EAOaS,GAERT,GAAU,CAtHf,IAAAI,EAuHC,IAAMH,EAAUL,GAAU,EACpB,CAAE,UAAWS,CAAE,EAAIC,EAAQ,EAE3BC,GAAIH,EAAAJ,EAAM,aAAN,KAAAI,EAAoB,CAC7B,IAAK,EACL,IAAK,EACL,kBAAmB,EACnB,kBAAmB,EACnB,WAAY,EACZ,WAAY,EACZ,WAAY,EACZ,gBAAiB,EACjB,gBAAiB,CAClB,EAEA,SACC,OAACL,GAAA,CACA,SACC,QAAC,OAAI,UAAWE,EAAQ,KACvB,qBAAC,KAAG,UAAAI,EAAE,MAAM,EAAE,KAAC,KACf,QAAC,QACC,UAAAE,EAAE,WACFA,EAAE,kBAAoB,MACtB,oBACE,iBACD,QAAC,QAAK,UAAWN,EAAQ,IAAK,cAC3BM,EAAE,kBAAkB,IAAEF,EAAE,SAAS,EAAE,KACtC,GACD,GAEF,KAEA,QAAC,KAAG,UAAAA,EAAE,UAAU,EAAE,KAAC,KACnB,QAAC,QACC,UAAAE,EAAE,WACFA,EAAE,kBAAoB,MACtB,oBACE,iBACD,QAAC,QAAK,UAAWN,EAAQ,IAAK,cAC3BM,EAAE,kBAAkB,IAAEF,EAAE,SAAS,EAAE,KACtC,GACD,GAEF,KAEA,QAAC,KAAG,UAAAA,EAAE,UAAU,EAAE,KAAC,KACnB,QAAC,OAAI,qBACC,OAAC,QAAK,UAAWJ,EAAQ,IAAM,SAAAM,EAAE,WAAW,KACjD,OAAC,OAAG,EAAE,OACD,OACL,OAAC,QAAK,UAAWN,EAAQ,IAAM,SAAAM,EAAE,gBAAgB,KACjD,OAAC,OAAG,EAAE,MACF,OACJ,OAAC,QAAK,UAAWN,EAAQ,IAAM,SAAAM,EAAE,gBAAgB,GAClD,KAEA,QAAC,KAAG,UAAAF,EAAE,YAAY,EAAE,KAAC,KACrB,OAAC,QAAM,SAAAE,EAAE,IAAI,KAEb,QAAC,KAAG,UAAAF,EAAE,SAAS,EAAE,KAAC,KAClB,OAAC,QAAK,UAAWJ,EAAQ,IAAM,SAAAM,EAAE,IAAI,GACtC,EAGA,SAAAP,EAAM,SACR,CAEF,ED3HG,IAAAU,GAAA,OAnDGC,GAAYC,EAAYC,IAAY,CACzC,KAAM,CAAC,EACP,MAAO,CACN,WAAY,0CACb,EACA,OAAQ,CACP,WAAY,OACb,EACA,MAAO,CACN,KAAMC,GAAI,KACV,OAAQ;AAAA,0BACgBA,GAAI;AAAA,yBACLA,GAAI;AAAA;AAAA,IAG3B,mBAAoB,OACrB,EACA,OAAQ,CACP,KAAMC,GAAM,KACZ,OAAQ;AAAA,0BACgBA,GAAM;AAAA,yBACPA,GAAM;AAAA;AAAA,IAG7B,mBAAoB,OACrB,CACD,EAAE,EAYIC,GAA0CC,GAAU,CACzD,IAAMC,EAAUP,GAAU,EAC1B,SACC,QAAC,OACA,aAAW,GAAAQ,SACV,kBACAD,EAAQ,MACRD,EAAM,QAAUC,EAAQD,EAAM,OAC/B,EACA,UAAU,QACV,QAAQ,YACR,cAAY,OAEZ,oBAAC,QAAK,EAAE,iCAAiC,EAC1C,CAEF,EAEMG,GAA4CH,GAAU,CAC3D,IAAMC,EAAUP,GAAU,EAC1B,SACC,QAAC,OACA,aAAW,GAAAQ,SACV,kBACAD,EAAQ,MACRA,EAAQ,OACRD,EAAM,QAAUC,EAAQD,EAAM,OAC/B,EACA,UAAU,QACV,QAAQ,YACR,cAAY,OAEZ,oBAAC,QAAK,EAAE,2CAA2C,EACpD,CAEF,EAEaI,GAERJ,GAAU,CACd,GAAM,CAACK,EAAWC,CAAY,KAAI,aAAqC,EACjE,CAACC,EAAUC,CAAW,KAAI,aAAiB,EAC3C,CAACC,EAAUC,CAAW,KAAI,aAAiB,EAqEjD,SAnEA,cAAU,IAAM,CACf,GAAIL,GAAa,MAAaL,EAAM,YAAc,KACjD,GAAIA,EAAM,OAAS,aAAc,CAChC,IAAMW,EAAON,EACPO,EAAMZ,EAAM,WAIjBW,EAAK,IAAMC,EAAI,KACfD,EAAK,kBAAoBC,EAAI,mBAC7BD,EAAK,WAAaC,EAAI,YACtBD,EAAK,gBAAkBC,EAAI,iBAC3BD,EAAK,gBAAkBC,EAAI,gBAG3BJ,EAAY,OAAO,EACTG,EAAK,WAAaC,EAAI,YAEhCJ,EAAY,QAAQ,EAIjBG,EAAK,kBAAoBC,EAAI,kBAEhCF,EAAY,OAAO,EACTC,EAAK,WAAaC,EAAI,YAEhCF,EAAY,QAAQ,CAEtB,KAAO,CACN,IAAMC,EAAON,EACPO,EAAMZ,EAAM,WAIjBW,EAAK,kBAAoBC,EAAI,mBAC7BD,EAAK,gBAAkBC,EAAI,gBAG3BJ,EAAY,OAAO,EACTG,EAAK,WAAaC,EAAI,YAEhCJ,EAAY,QAAQ,EAIjBG,EAAK,kBAAoBC,EAAI,kBAEhCF,EAAY,OAAO,EACTC,EAAK,WAAaC,EAAI,YAEhCF,EAAY,QAAQ,CAEtB,CAEDJ,EAAaN,EAAM,UAAU,CAC9B,EAAG,CAACA,EAAM,WAAYQ,EAAaE,EAAaL,CAAS,CAAC,KAG1D,cAAU,IAAM,CACf,IAAMQ,EAAU,WAAW,IAAM,CAChCL,EAAY,MAAS,EACrBE,EAAY,MAAS,CACtB,EAAG,GAAG,EACN,MAAO,IAAM,aAAaG,CAAO,CAClC,EAAG,CAACL,EAAaE,EAAaV,EAAM,UAAU,CAAC,EAE3CA,EAAM,OAAS,gBAEjB,QAACc,GAAA,CAA4B,WAAYd,EAAM,WAC9C,qBAAC,QACA,qBAACD,GAAA,CAAQ,OAAQQ,EAAU,KAC3B,QAACJ,GAAA,CAAU,OAAQM,EAAU,GAC9B,EACD,KAIA,QAACM,GAAA,CAAsB,WAAYf,EAAM,WACxC,qBAAC,QACA,qBAACD,GAAA,CAAQ,OAAQQ,EAAU,KAC3B,QAACJ,GAAA,CAAU,OAAQM,EAAU,GAC9B,EACD,CAGH,EElLA,IAAAO,GAAoB,QACpBC,GAA0B,QAC1BC,GAAqB,QACrBC,GAA6B,QAC7BC,GAAqB,QA6ChB,IAAAC,GAAA,OA1CCC,GAAYC,EAAYC,IAAY,CACzC,gBAAiB,CAChB,MAAOC,GAAK,KACZ,UAAW,sCACX,kBAAmB,UACpB,EACA,eAAgB,CACf,MAAOC,GAAI,IACZ,EACA,gBAAiB,CAChB,MAAOC,GAAO,IACf,EACA,aAAc,CACb,MAAOC,GAAM,IACd,EAEA,sBAAuB,CACtB,KAAM,CACL,UAAW,cACZ,EACA,MAAO,CACN,UAAW,iBACX,kBAAmB,MACpB,EACA,QAAS,CACR,UAAW,cACZ,CACD,CACD,EAAE,EAMWC,GAAiDC,GAAU,CACvE,GAAM,CAAE,OAAAC,CAAO,EAAID,EACb,CAAE,UAAWE,CAAE,EAAIC,EAAQ,EAC3BC,EAAUZ,GAAU,EAC1B,OAAQS,OACF,OACJ,SACC,QAAC,GAAAI,QAAA,CAAQ,MAAOH,EAAE,MAAM,EACvB,oBAAC,GAAAI,QAAA,CAAS,UAAWF,EAAQ,aAAc,EAC5C,MAEG,UACJ,SACC,QAAC,GAAAC,QAAA,CAAQ,MAAOH,EAAE,SAAS,EAC1B,oBAAC,GAAAK,QAAA,CAAS,UAAWH,EAAQ,gBAAiB,EAC/C,MAEG,SACJ,SACC,QAAC,GAAAC,QAAA,CAAQ,MAAOH,EAAE,QAAQ,EACzB,oBAAC,GAAAM,QAAA,CAAiB,UAAWJ,EAAQ,eAAgB,EACtD,MAEG,UACJ,SACC,QAAC,GAAAC,QAAA,CAAQ,MAAOH,EAAE,SAAS,EAC1B,oBAAC,GAAAO,QAAA,CAAc,UAAWL,EAAQ,gBAAiB,EACpD,EAGH,MAAM,IAAI,MAAM,qBAAqB,CACtC,EC1EA,IAAAM,GAAmB,QAInB,IAAAC,GAAoB,QACpBC,GAAuB,QACvBC,GAAsB,QACtBC,GAA8B,QAC9BC,GAAuB,QACvBC,GAAwB,QACxBC,GAA4B,QAC5BC,GAA0B,QAC1BC,GAAiB,QAEjB,IAAAC,GAA4C,OAkO7B,IAAAC,EAAA,OA/MTC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,QAASA,EAAM,QAAQ,EAAG,CAAC,EAC3B,QAAS,OACT,oBAAqB,0BACrB,WAAY,SACZ,UAAWA,EAAM,QAAQ,CAAC,EAC1B,OAAQA,EAAM,QAAQ,CAAC,CACxB,EACA,eAAgB,CACf,WAAY,aACZ,QAAS,OACT,SAAU,aACV,eAAgB,gBAChB,WAAY,SACZ,UAAWA,EAAM,QAAQ,CAAC,CAC3B,EACA,sBAAuB,CACtB,WAAY,YACb,EACA,QAAS,CACR,MAAOA,EAAM,QAAQ,QAAQ,IAC9B,EACA,UAAW,CACV,WAAYA,EAAM,QAAQ,MAAM,KAChC,UAAW,CACV,WAAYA,EAAM,QAAQ,MAAM,IACjC,CACD,CACD,EAAE,EAEWC,GAA2CC,GAAU,CACjE,GAAM,CAACC,EAAYC,CAAa,KAAI,aAAqB,EACnD,CAACC,EAAsBC,CAAuB,KAAI,aAAS,EAAK,EAChE,CAACC,EAAsBC,CAAuB,KACnD,aAAiC,EAC5B,CAACC,EAASC,CAAU,KAAI,aAAiB,EAEzCC,KAAQ,WAAyB,EAEjCC,EAAMC,GAAO,EACb,CAAE,OAAAC,EAAQ,OAAAC,EAAQ,QAAAC,EAAS,uBAAAC,CAAuB,EAAIf,EACtD,CAAE,UAAWgB,CAAE,EAAIC,EAAQ,EAE3B,CAAE,iBAAAC,EAAkB,UAAAC,CAAU,EAAIC,GAAW,EAK7CC,EAAerB,EAAM,SAAW,SAAWA,EAAM,SAAW,QAElE,eAAesB,GAAa,CAK3B,GAAI,EAJW,MAAMH,EACpBH,EAAE,cAAc,EAChBA,EAAE,0DAA0D,CAC7D,EAGA,CAAAF,EAAQ,EAAI,EACZ,GAAI,CACH,MAAMJ,EAAI,iBAAiBE,CAAM,CAClC,OAASW,EAAP,CACD,MAAMA,CAAC,CACR,QAAE,CACDT,EAAQ,EAAK,CACd,EACD,CAEA,eAAeU,GAAc,CACb,MAAML,EACpBH,EAAE,eAAe,EACjBA,EAAE,0CAA0C,CAC7C,GACYhB,EAAM,kBAAkB,CACrC,CAEA,eAAeyB,GAAc,CAC5BX,EAAQ,EAAI,EACZ,GAAI,CACH,MAAMJ,EAAI,gBAAgBE,CAAM,CACjC,OAASW,EAAP,CACD,MAAMA,CAAC,CACR,QAAE,CACDT,EAAQ,EAAK,CACd,CACD,CAEA,IAAMY,EAAe,IAAM,CAxH5B,IAAAC,GAyHEA,EAAAlB,EAAM,UAAN,MAAAkB,EAAe,OAChB,EACMC,EAAiB,MAAOL,GAA2C,CA3H1E,IAAAI,EA4HE,IAAIA,EAAAJ,EAAE,OAAO,QAAT,MAAAI,EAAgB,OAAQ,CAC3B,IAAME,EAAON,EAAE,OAAO,MAAM,GACtBO,EAAO,IAAI,WAAW,MAAMD,EAAK,YAAY,CAAC,EACpD3B,EAAc,CACb,KAAM2B,EAAK,KACX,KAAAC,CACD,CAAC,CACF,CACD,EACA,eAAeC,GAAsB,CACpC,GAAIhB,IAA0Bd,GAAA,YAAAA,EAAY,MAAM,CAC/Ca,EAAQ,EAAI,EACZ,GAAI,CACHV,EAAwB,EAAI,EAC5BE,EAAwB,CACvB,KAAM,WACN,cAAe,EACf,eAAgB,CACjB,CAAC,EACD,MAAMI,EAAI,oBACTE,EACAX,EAAW,KACX,MAAM,KAAKA,EAAW,IAAI,CAC3B,CACD,OAASsB,EAAP,CACDnB,EAAwB,EAAK,EAC7B,MAAMmB,CAAC,CACR,QAAE,CACDT,EAAQ,EAAK,EACbN,EAAW,MAAS,CACrB,CACD,CACD,CAEA,eAAewB,GAAsB,CACpClB,EAAQ,EAAI,EACZ,GAAI,CACH,MAAMJ,EAAI,oBAAoBE,CAAM,CACrC,OAASW,EAAP,CACD,MAAMA,CAAC,CACR,QAAE,CACDT,EAAQ,EAAK,EACbV,EAAwB,EAAK,CAC9B,CACD,CAEA6B,GAASC,GAAY,CACpB,GAAIA,EAAQ,OAAS,iBAAkB,CACtC,IAAMC,EAAWD,EAAQ,SAGzB,GAFA5B,EAAwB6B,CAAQ,EAE5BA,EAAS,OAAS,OAAQ,CAC7B,IAAMC,EACLD,EAAS,QAAW,IACrB,GAAI,CAACC,EACJlB,EAAiBF,EAAE,wBAAwB,EAAG,OAAO,EACrDR,EAAW,MAAS,MACd,CACN,IAAID,EAAUS,EAAE,4BAA4B,EACxCoB,IACCD,EAAS,SACZ5B,GACC,IACAS,EAAE,2BAA2B,EAAE,QAC9B,MACAmB,EAAS,SAAS,SAAS,CAC5B,EAED5B,GAAW,IAAMS,EAAE,8BAA8B,EAElDT,GAAW,IAAMS,EAAE,yBAAyB,GAE7CR,EAAWD,CAAO,CACnB,CACAL,EAAc,MAAS,EACvBE,EAAwB,EAAK,EAC7B,WAAW,IAAM,CAChBE,EAAwB,MAAS,CAClC,EAAG,GAAK,CACT,MAECF,EAAwB,EAAI,CAE9B,CACD,CAAC,EAED,IAAMiC,GACLhC,GAAA,YAAAA,EAAsB,QAAS,YAC/B,OAAOA,EAAqB,gBAAmB,UAC/C,OAAOA,EAAqB,eAAkB,SAC3C,KAAK,MACJA,EAAqB,cACrBA,EAAqB,eACrB,GACD,EAAI,IACJ,OAAO,OAGX,cAAU,IAAM,EACXA,GAAA,YAAAA,EAAsB,QAAS,SAC/BL,EAAM,SAAW,UAAYG,EAChCK,EAAWQ,EAAE,gBAAgB,CAAC,EAE9BR,EAAW,MAAS,EAEtB,EAAG,CAACR,EAAM,OAAQG,EAAsBE,CAAoB,CAAC,EAE7D,IAAMiC,EAAU1C,GAAU,EAE1B,SACC,QAAC,OAAI,UAAW0C,EAAQ,KAEvB,oBAAC,GAAAC,QAAA,CACA,SAAU1B,EACV,QAAQ,YACR,MAAM,UACN,aAAW,OAAC,GAAA2B,QAAA,EAAgB,EAC5B,QAAS,IAAMf,EAAY,EAC3B,UAAS,GAER,SAAAT,EAAE,mBAAmB,EACvB,KACA,OAAC,GAAAyB,QAAA,CAAW,QAAQ,QAClB,SAAAzB,EACA,uHACD,EACD,KAGA,OAAC,GAAA0B,QAAA,CAAQ,MAAOrB,EAAe,GAAKL,EAAE,2BAA2B,EAChE,mBAAC,QAEA,mBAAC,GAAAuB,QAAA,CACA,SAAU,CAAClB,GAAgBR,EAC3B,QAAQ,YACR,UAAWyB,EAAQ,UACnB,QAAShB,EACT,aAAW,OAAC,GAAAqB,QAAA,EAAkB,EAC9B,UAAS,GAER,SAAA3B,EAAE,oBAAoB,EACxB,EACD,EACD,KACA,QAAC,GAAAyB,QAAA,CAAW,QAAQ,QAClB,UAAAzB,EAAE,oCAAoC,KACvC,OAAC,OAAG,KACJ,OAAC,QAAK,UAAWsB,EAAQ,QACvB,SAAAtB,EACA,8DACD,EACD,GACD,KAGA,OAAC,GAAA0B,QAAA,CAAQ,MAAOrB,EAAe,GAAKL,EAAE,2BAA2B,EAChE,mBAAC,QAEA,mBAAC,GAAAuB,QAAA,CACA,SAAU,CAAClB,GAAgBR,EAC3B,QAAQ,YACR,UAAWyB,EAAQ,UACnB,QAASd,EACT,aAAW,OAAC,GAAAoB,QAAA,EAAc,EAC1B,UAAS,GAER,SAAA5B,EAAE,qBAAqB,EACzB,EACD,EACD,KACA,QAAC,GAAAyB,QAAA,CAAW,QAAQ,QAClB,UAAAzB,EACA,8DACD,KACA,OAAC,OAAG,KACJ,OAAC,QAAK,UAAWsB,EAAQ,QACvB,SAAAtB,EACA,mEACD,EACD,GACD,EAECD,MACA,oBACC,qBAAC,OAAI,UAAWuB,EAAQ,eACvB,oBAAC,GAAAC,QAAA,CACA,SAAUpC,GAAwBU,EAClC,QAAQ,YACR,MAAM,UACN,QAAS,IAAMa,EAAa,EAC5B,MAAO,CAAE,KAAM,UAAW,EAC1B,aAAW,OAAC,GAAAmB,QAAA,EAAW,EAEtB,SAAA7B,EAAE,iBAAiB,EACrB,KACA,OAAC,SACA,KAAK,OACL,OAAM,GACN,GAAG,eACH,OAAO,0CACP,IAAM8B,GAAQ,CACTA,IAAKrC,EAAM,QAAUqC,EAC1B,EACA,SAAUlB,EACX,EACCzB,KACA,oBACC,oBAAC,OACA,UAAU,WACV,MAAO,CACN,OAAQ,QACR,KAAM,UACP,EAEC,gBAAO,MAAMkC,CAAqB,KAClC,OAACU,GAAA,EAAe,KAEhB,OAACA,GAAA,CACA,QAAQ,cACR,MAAOV,EACR,EAEF,EACC,CAAC,OAAO,MAAMA,CAAqB,MACnC,QAAC,OACA,MAAO,CACN,WAAY,SACZ,YAAa,KACd,EAEC,UAAAA,EAAsB,eACtB,OACA,CACC,sBAAuB,EACvB,sBAAuB,CACxB,CACD,EACC,MACF,GAEF,KAEA,OAAC,QACA,MAAO,CACN,KAAM,WACN,UAAW,SACX,QAAS,QACT,UAAW,WACZ,EAEC,SAAApC,EACE,GAAGA,EAAW,SAASA,EAAW,KAAK,oBACvCe,EAAE,kBAAkB,EACxB,KAED,QAACgC,GAAA,CACA,QAAQ,YACR,MAAM,UACN,MAAO,CAAE,KAAM,UAAW,EAE1B,oBAAC,GAAAN,QAAA,CAAQ,MAAO1B,EAAE,uBAAuB,EACxC,mBAAC,GAAAuB,QAAA,CACA,SACCpC,GACAU,GACA,EAACZ,GAAA,MAAAA,EAAY,MAEd,QAAS,IAAM8B,EAAoB,EAEnC,mBAAC,GAAAkB,QAAA,EAAY,EACd,EACD,KAEA,OAAC,GAAAP,QAAA,CAAQ,MAAO1B,EAAE,uBAAuB,EACxC,mBAAC,GAAAuB,QAAA,CACA,SAAU,CAACpC,GAAwBU,EACnC,QAAS,IAAMmB,EAAoB,EAEnC,mBAAC,GAAAkB,QAAA,EAAU,EACZ,EACD,GACD,GACD,EACC3C,KACA,OAAC,OAAI,UAAW+B,EAAQ,sBACtB,SAAA/B,EACF,KAEA,OAAC,OACA,aAAW,GAAA4C,SACVb,EAAQ,sBACRA,EAAQ,OACT,EAEC,SAAAtB,EAAE,yBAAyB,EAC7B,GAEF,GAEF,CAEF,EPjVI,IAAAoC,EAAA,OA3DEC,GAAYC,EAAYC,IAAW,CACxC,QAAS,CACR,QAAS,CACR,OAAQ,CACT,CACD,EACA,eAAgB,CACf,SAAU,OACV,OAAQ,MACR,MAAOA,EAAM,QAAQ,KAAK,SAC3B,EACA,OAAQ,CACP,QAAS,OACT,SAAU,aAEV,WAAY,QACb,EACA,aAAc,CACb,cAAe,EACf,WAAY,EACZ,WAAYA,EAAM,QAAQ,WAAW,OACtC,CACD,EAAE,EAEWC,GAAiDC,GAAU,CArDxE,IAAAC,EAAAC,EAAAC,EAAAC,EAsDC,GAAM,CAAE,WAAAC,EAAY,OAAAC,CAAO,EAAIN,EAEzB,CAAE,MAAAO,EAAO,OAAAC,CAAO,EAAIF,EACpBG,EAASF,EAAM,OAAO,GACtBG,EAAyB,CAAC,CAACH,EAAM,OAAO,uBACxC,CAAE,OAAAI,EAAQ,gBAAAC,EAAiB,iBAAAC,CAAiB,EAAIN,EAAM,OAEtD,CAACO,EAAMC,CAAO,KAAI,aAASF,CAAgB,EAC3CG,EAAUpB,GAAU,EACpB,CAAE,UAAWqB,CAAE,EAAIC,EAAQ,EAE3B,CAAE,UAAAC,CAAU,EAAIC,GAAW,EAC3B,CAACC,CAAqB,EAAIC,GAAyB,CACxD,GAAIT,EACD,GAAGM,oBACH,GAAGA,KAAaI,GAAgBd,CAAM,mBAC1C,CAAC,EACK,CAACe,EAAYC,CAAa,KAAI,aAElC,EACF,uBAAU,IAAM,CACf,GAAIJ,EACH,GAAI,CACH,IAAMK,EAAS,KAAK,MAAML,CAAqB,EAC/CI,EAAcC,CAAM,CACrB,OAASC,EAAP,CACD,QAAQ,MAAMA,CAAC,CAChB,CAEF,EAAG,CAACN,CAAqB,CAAC,KAGzB,oBACC,qBAACO,GAAA,CAAS,MAAK,GAAC,UAAWZ,EAAQ,QAClC,qBAACa,EAAA,CAAU,UAAWb,EAAQ,OAC7B,oBAAC,GAAAc,QAAA,CACA,aAAW,aACX,KAAK,QACL,QAAS,IAAMf,EAAQ,CAACD,CAAI,EAE3B,SAAAA,KACA,OAAC,GAAAiB,QAAA,EAAoB,KAErB,OAAC,GAAAC,QAAA,EAAsB,EAEzB,KAEA,OAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAAI,SAAAvB,EAAO,GAC9C,KACA,OAACoB,EAAA,CAAW,SAAAtB,EAAM,OAAO,KAAK,KAC9B,OAACsB,EAAA,CACE,UAAAzB,GAAAD,GAAAF,EAAAM,EAAM,OAAe,OAArB,YAAAN,EAA2B,WAA3B,KAAAE,GACAD,EAAAK,EAAM,OAAe,OAArB,YAAAL,EAA2B,UAD3B,KAAAE,EAEDa,EAAE,SAAS,EACb,KACA,OAACY,EAAA,CACC,SAAAlB,GAAUC,MACV,OAACqB,GAAA,CAAmB,gBAAiBrB,EAAiB,EAExD,KACA,OAACiB,EAAA,CACC,SAAAhB,KACA,OAAC,GAAAqB,QAAA,CAAQ,MAAOjB,EAAE,iBAAiB,EAClC,mBAAC,GAAAkB,QAAA,EAAS,EACX,KAEA,oBAEC,oBAACC,GAAA,CAAiB,OAAQ5B,EAAQ,EAEjC,CAAC,CAACH,MACF,oBACE,iBACD,OAACgC,GAAA,CAAe,OAAQrC,EAAM,WAAY,GAC3C,GAEF,EAEF,KACA,OAAC6B,EAAA,CACA,mBAACS,GAAA,CACA,KAAMzB,EAAmB,aAAe,OACxC,WAAYW,EACb,EACD,GACD,KACA,OAACI,GAAA,CACA,mBAACC,EAAA,CAAU,QAAS,EAAG,UAAWb,EAAQ,aACzC,mBAACuB,GAAA,CAAS,GAAIzB,EAAM,QAAQ,OAAO,cAAa,GAC9C,SAAAD,KACA,OAAC2B,GAAA,CACA,OAAQxC,EAAM,OACd,QAASA,EAAM,QAChB,KAEA,OAACyC,GAAA,CACA,OAAQhC,EACR,OAAQD,EACR,OAAQR,EAAM,OACd,QAASA,EAAM,QACf,uBAAwBU,EACxB,kBAAmBV,EAAM,kBAC1B,EAEF,EACD,EACD,GACD,CAEF,EDpHM,IAAA0C,GAAA,OAlCAC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,MAAO,OACP,UAAWA,EAAM,QAAQ,CAAC,CAC3B,EACA,UAAW,CACV,UAAW,MACZ,EACA,MAAO,CACN,UAAW,SACX,UAAW,QACZ,CACD,EAAE,EAWWC,GAA2CC,GAAU,CACjE,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3BC,EAAUP,GAAU,EACpB,CAAE,QAAAQ,EAAS,eAAAC,EAAgB,oBAAAC,CAAoB,EAAIN,EAEzD,SACC,QAAC,GAAAO,QAAA,CAAM,UAAWJ,EAAQ,KAAM,UAAW,EAC1C,oBAACK,GAAA,CAAe,UAAWL,EAAQ,UAClC,qBAACM,GAAA,CACA,qBAACC,GAAA,CACA,qBAACC,GAAA,CACA,qBAACC,EAAA,CAAU,MAAM,QAAQ,aAAC,KAC1B,QAACA,EAAA,CAAW,SAAAX,EAAE,MAAM,EAAE,KACtB,QAACW,EAAA,CAAW,SAAAX,EAAE,MAAM,EAAE,KACtB,QAACW,EAAA,CAAW,SAAAX,EAAE,UAAU,EAAE,KAC1B,QAACW,EAAA,CAAW,SAAAX,EAAE,QAAQ,EAAE,KACxB,QAACW,EAAA,CAAW,SAAAX,EAAE,YAAY,EAAE,GAC7B,EACD,KACA,QAACY,GAAA,CACC,SAAAT,EAAQ,OACRA,EAAQ,IAAKU,GAAW,CACvB,IAAMC,EAASD,EAAO,MAAM,OAAO,GACnC,SACC,QAACE,GAAA,CAEA,OAAQhB,EAAM,OACd,QAASA,EAAM,QACf,OAAQc,EACR,WACCT,EACGC,EAAoBS,GACpB,OAEJ,kBAAmB,IAClBf,EAAM,kBAAkBe,CAAM,GAV1B,UAAUA,GAYhB,CAEF,CAAC,KAED,QAACJ,GAAA,CACA,oBAACC,EAAA,CACA,QAAS,EACT,UAAWT,EAAQ,MAElB,SAAAF,EAAE,oBAAoB,EACxB,EACD,EAEF,GACD,EACD,EACD,CAEF,ES3FA,IAAAgB,GAAmB,QACnBC,GAAqB,QACrBC,GAA6B,QAE7B,IAAAC,GAAmB,QACnBC,GAA0B,QAC1BC,GAA0B,QAC1BC,GAAwB,QACxBC,GAA6B,QAE7B,IAAAC,GAAsB,QACtBC,GAAuB,QACvBC,GAA4B,QAC5BC,GAAwB,QCZxB,IAAAC,GAAuB,OAEvB,IAAAC,GAAiB,QAEjB,IAAAC,GAAkB,QCNlB,IAAAC,GAAuB,OACvBC,GAA8B,QAKvBC,MAAQ,kBAAkC,iBAAc,OAAQ,CACrE,EAAG,2OACL,CAAC,EAAG,iBAAiB,ECRrB,IAAAC,GAAuB,OACvBC,GAA8B,QAKvBC,MAAQ,kBAAkC,iBAAc,OAAQ,CACrE,EAAG,kFACL,CAAC,EAAG,uBAAuB,ECR3B,IAAAC,GAAuB,OACvBC,GAA8B,QAKvBC,MAAQ,kBAAkC,iBAAc,OAAQ,CACrE,EAAG,yKACL,CAAC,EAAG,cAAc,ECRlB,IAAAC,GAAuB,OACvBC,GAA8B,QAKvBC,MAAQ,kBAAkC,iBAAc,OAAQ,CACrE,EAAG,2MACL,CAAC,EAAG,cAAc,EJIlB,IAAAC,GAAuB,QACvBC,GAA2B,QAChBC,GAAS,SAAgBC,EAAO,CACzC,IAAIC,EAAWD,EAAM,QAAQ,OAAS,QAAUE,GAASC,GACrDC,EAAqBJ,EAAM,QAAQ,OAAS,QAAUG,GAAUD,GACpE,MAAO,CAEL,KAAMG,GAAS,CAAC,EAAGL,EAAM,WAAW,MAAO,CACzC,aAAcA,EAAM,MAAM,aAC1B,gBAAiB,cACjB,QAAS,OACT,QAAS,UACX,CAAC,EAGD,gBAAiB,CACf,MAAOC,EAASD,EAAM,QAAQ,QAAQ,KAAM,EAAG,EAC/C,gBAAiBI,EAAmBJ,EAAM,QAAQ,QAAQ,KAAM,EAAG,EACnE,UAAW,CACT,MAAOA,EAAM,QAAQ,QAAQ,IAC/B,CACF,EAGA,aAAc,CACZ,MAAOC,EAASD,EAAM,QAAQ,KAAK,KAAM,EAAG,EAC5C,gBAAiBI,EAAmBJ,EAAM,QAAQ,KAAK,KAAM,EAAG,EAChE,UAAW,CACT,MAAOA,EAAM,QAAQ,KAAK,IAC5B,CACF,EAGA,gBAAiB,CACf,MAAOC,EAASD,EAAM,QAAQ,QAAQ,KAAM,EAAG,EAC/C,gBAAiBI,EAAmBJ,EAAM,QAAQ,QAAQ,KAAM,EAAG,EACnE,UAAW,CACT,MAAOA,EAAM,QAAQ,QAAQ,IAC/B,CACF,EAGA,cAAe,CACb,MAAOC,EAASD,EAAM,QAAQ,MAAM,KAAM,EAAG,EAC7C,gBAAiBI,EAAmBJ,EAAM,QAAQ,MAAM,KAAM,EAAG,EACjE,UAAW,CACT,MAAOA,EAAM,QAAQ,MAAM,IAC7B,CACF,EAGA,gBAAiB,CACf,MAAOC,EAASD,EAAM,QAAQ,QAAQ,KAAM,EAAG,EAC/C,OAAQ,aAAa,OAAOA,EAAM,QAAQ,QAAQ,IAAI,EACtD,UAAW,CACT,MAAOA,EAAM,QAAQ,QAAQ,IAC/B,CACF,EAGA,aAAc,CACZ,MAAOC,EAASD,EAAM,QAAQ,KAAK,KAAM,EAAG,EAC5C,OAAQ,aAAa,OAAOA,EAAM,QAAQ,KAAK,IAAI,EACnD,UAAW,CACT,MAAOA,EAAM,QAAQ,KAAK,IAC5B,CACF,EAGA,gBAAiB,CACf,MAAOC,EAASD,EAAM,QAAQ,QAAQ,KAAM,EAAG,EAC/C,OAAQ,aAAa,OAAOA,EAAM,QAAQ,QAAQ,IAAI,EACtD,UAAW,CACT,MAAOA,EAAM,QAAQ,QAAQ,IAC/B,CACF,EAGA,cAAe,CACb,MAAOC,EAASD,EAAM,QAAQ,MAAM,KAAM,EAAG,EAC7C,OAAQ,aAAa,OAAOA,EAAM,QAAQ,MAAM,IAAI,EACpD,UAAW,CACT,MAAOA,EAAM,QAAQ,MAAM,IAC7B,CACF,EAGA,cAAe,CACb,MAAO,OACP,WAAYA,EAAM,WAAW,iBAC7B,gBAAiBA,EAAM,QAAQ,QAAQ,IACzC,EAGA,WAAY,CACV,MAAO,OACP,WAAYA,EAAM,WAAW,iBAC7B,gBAAiBA,EAAM,QAAQ,KAAK,IACtC,EAGA,cAAe,CACb,MAAO,OACP,WAAYA,EAAM,WAAW,iBAC7B,gBAAiBA,EAAM,QAAQ,QAAQ,IACzC,EAGA,YAAa,CACX,MAAO,OACP,WAAYA,EAAM,WAAW,iBAC7B,gBAAiBA,EAAM,QAAQ,MAAM,IACvC,EAGA,KAAM,CACJ,YAAa,GACb,QAAS,QACT,QAAS,OACT,SAAU,GACV,QAAS,EACX,EAGA,QAAS,CACP,QAAS,OACX,EAGA,OAAQ,CACN,QAAS,OACT,WAAY,SACZ,WAAY,OACZ,YAAa,GACb,YAAa,EACf,CACF,CACF,EACIM,GAAqB,CACvB,QAA4B,iBAAcC,GAAqB,CAC7D,SAAU,SACZ,CAAC,EACD,QAA4B,iBAAcC,GAA2B,CACnE,SAAU,SACZ,CAAC,EACD,MAA0B,iBAAcC,GAAkB,CACxD,SAAU,SACZ,CAAC,EACD,KAAyB,iBAAcC,GAAkB,CACvD,SAAU,SACZ,CAAC,CACH,EAEIC,GAA0B,iBAAcC,GAAW,CACrD,SAAU,OACZ,CAAC,EAEGC,GAA2B,cAAW,SAAeC,EAAOC,EAAK,CACnE,IAAIC,EAASF,EAAM,OACfG,EAAWH,EAAM,SACjBI,EAAUJ,EAAM,QAChBK,EAAYL,EAAM,UAClBM,EAAmBN,EAAM,UACzBO,EAAYD,IAAqB,OAAS,QAAUA,EACpDE,EAAQR,EAAM,MACdS,EAAOT,EAAM,KACbU,EAAqBV,EAAM,YAC3BW,EAAcD,IAAuB,OAASlB,GAAqBkB,EACnEE,EAAUZ,EAAM,QAChBa,EAAcb,EAAM,KACpBc,EAAOD,IAAgB,OAAS,QAAUA,EAC1CE,EAAkBf,EAAM,SACxBgB,EAAWD,IAAoB,OAAS,UAAYA,EACpDE,EAAiBjB,EAAM,QACvBkB,EAAUD,IAAmB,OAAS,WAAaA,EACnDE,EAAQC,GAAyBpB,EAAO,CAAC,SAAU,WAAY,UAAW,YAAa,YAAa,QAAS,OAAQ,cAAe,UAAW,OAAQ,WAAY,SAAS,CAAC,EAEjL,OAA0B,iBAAc,GAAAqB,QAAO9B,GAAS,CACtD,KAAMuB,EACN,OAAQ,GACR,UAAW,EACX,aAAW,GAAAQ,SAAKlB,EAAQ,KAAMA,EAAQ,GAAG,OAAOc,CAAO,EAAE,UAAO,eAAWV,GAASQ,CAAQ,CAAC,GAAIX,CAAS,EAC1G,IAAKJ,CACP,EAAGkB,CAAK,EAAGV,IAAS,GAA2B,iBAAc,MAAO,CAClE,UAAWL,EAAQ,IACrB,EAAGK,GAAQE,EAAYK,IAAaxB,GAAmBwB,EAAS,EAAI,KAAyB,iBAAc,MAAO,CAChH,UAAWZ,EAAQ,OACrB,EAAGD,CAAQ,EAAGD,GAAU,KAA0B,iBAAc,MAAO,CACrE,UAAWE,EAAQ,MACrB,EAAGF,CAAM,EAAI,KAAMA,GAAU,MAAQU,EAA6B,iBAAc,MAAO,CACrF,UAAWR,EAAQ,MACrB,EAAsB,iBAAc,GAAAmB,QAAY,CAC9C,KAAM,QACN,aAAchB,EACd,MAAOA,EACP,MAAO,UACP,QAASK,CACX,EAAGf,EAAI,CAAC,EAAI,IAAI,CAClB,CAAC,EAkFM2B,GAAQC,GAAWxC,GAAQ,CAChC,KAAM,UACR,CAAC,EAAEc,EAAK,EDtRR,IAAA2B,GAAiB,QAEjB,IAAAC,GAA+C,OMjB/C,IAAAC,GAAuB,QACvBC,GAA4B,QAC5BC,GAAyB,QCAzB,IAAAC,GAAuB,OAEvB,IAAAC,GAAiB,QAEjB,IAAAC,GAAuB,QACvBC,GAA2B,QAChBC,GAAS,SAAgBC,EAAO,CACzC,MAAO,CAEL,KAAMC,GAAS,CAAC,EAAGD,EAAM,WAAW,OAAQ,CAC1C,UAAW,aACX,aAAcA,EAAM,MAAM,aAC1B,QAAS,GACT,OAAQ,aAAa,OAAOE,GAAMF,EAAM,QAAQ,OAAO,OAAQ,GAAI,CAAC,EACpE,MAAOE,GAAMF,EAAM,QAAQ,OAAO,OAAQ,GAAI,EAC9C,aAAc,CACZ,MAAOA,EAAM,QAAQ,OAAO,OAC5B,gBAAiBE,GAAMF,EAAM,QAAQ,OAAO,OAAQ,GAAI,EACxD,UAAW,CACT,gBAAiBE,GAAMF,EAAM,QAAQ,OAAO,OAAQ,GAAI,CAC1D,EACA,QAAS,CACP,WAAY,EACZ,WAAY,CACd,CACF,EACA,aAAc,CACZ,MAAOE,GAAMF,EAAM,QAAQ,OAAO,SAAU,GAAI,CAClD,EACA,UAAW,CACT,eAAgB,OAEhB,gBAAiBE,GAAMF,EAAM,QAAQ,KAAK,QAAS,GAAI,EACvD,uBAAwB,CACtB,gBAAiB,aACnB,EACA,aAAc,CACZ,gBAAiB,aACnB,CACF,CACF,CAAC,EAGD,SAAU,CAAC,EAGX,SAAU,CAAC,EAGX,MAAO,CACL,MAAO,OAEP,QAAS,UACT,WAAY,UACZ,eAAgB,SAClB,EAGA,UAAW,CACT,QAAS,EACT,SAAUA,EAAM,WAAW,QAAQ,EAAE,CACvC,EAGA,UAAW,CACT,QAAS,GACT,SAAUA,EAAM,WAAW,QAAQ,EAAE,CACvC,CACF,CACF,EACIG,GAAkC,cAAW,SAAsBC,EAAOC,EAAK,CACjF,IAAIC,EAAWF,EAAM,SACjBG,EAAUH,EAAM,QAChBI,EAAYJ,EAAM,UAClBK,EAAkBL,EAAM,SACxBM,EAAWD,IAAoB,OAAS,GAAQA,EAChDE,EAAwBP,EAAM,mBAC9BQ,EAAqBD,IAA0B,OAAS,GAAQA,EAChEE,EAAWT,EAAM,SACjBU,EAAUV,EAAM,QAChBW,EAAWX,EAAM,SACjBY,EAAcZ,EAAM,KACpBa,EAAOD,IAAgB,OAAS,SAAWA,EAC3CE,EAAQd,EAAM,MACde,EAAQC,GAAyBhB,EAAO,CAAC,WAAY,UAAW,YAAa,WAAY,qBAAsB,WAAY,UAAW,WAAY,OAAQ,OAAO,CAAC,EAElKiB,EAAe,SAAsBC,EAAO,CAC1CR,IACFA,EAAQQ,EAAOJ,CAAK,EAEhBI,EAAM,mBAAmB,IAK3BT,GACFA,EAASS,EAAOJ,CAAK,CAEzB,EAEA,OAA0B,iBAAc,GAAAK,QAAYtB,GAAS,CAC3D,aAAW,GAAAuB,SAAKjB,EAAQ,KAAMC,EAAWE,GAAYH,EAAQ,SAAUQ,GAAYR,EAAQ,SAAUU,IAAS,UAAYV,EAAQ,OAAO,UAAO,eAAWU,CAAI,CAAC,EAAE,EAClK,SAAUP,EACV,YAAa,CAACE,EACd,IAAKP,EACL,QAASgB,EACT,SAAUR,EACV,MAAOK,EACP,eAAgBH,CAClB,EAAGI,CAAK,EAAsB,iBAAc,OAAQ,CAClD,UAAWZ,EAAQ,KACrB,EAAGD,CAAQ,CAAC,CACd,CAAC,EA2DMmB,GAAQC,GAAW3B,GAAQ,CAChC,KAAM,iBACR,CAAC,EAAEI,EAAY,EC9Kf,IAAAwB,GAAuB,OACvBC,GAA2B,QAE3B,IAAAC,GAAiB,QCHF,SAARC,GAAiCC,EAAOC,EAAW,CACxD,OAAIA,IAAc,QAAaD,IAAU,OAChC,GAGL,MAAM,QAAQC,CAAS,EAClBA,EAAU,QAAQD,CAAK,GAAK,EAG9BA,IAAUC,CACnB,CDJA,IAAAC,GAA2B,QAChBC,GAAS,SAAgBC,EAAO,CACzC,MAAO,CAEL,KAAM,CACJ,QAAS,cACT,aAAcA,EAAM,MAAM,YAC5B,EAGA,SAAU,CACR,cAAe,QACjB,EAGA,QAAS,CAAC,EAGV,kBAAmB,CACjB,sBAAuB,CACrB,WAAY,GACZ,WAAY,wBACZ,oBAAqB,EACrB,uBAAwB,CAC1B,EACA,qBAAsB,CACpB,qBAAsB,EACtB,wBAAyB,CAC3B,CACF,EAGA,gBAAiB,CACf,sBAAuB,CACrB,UAAW,GACX,UAAW,wBACX,oBAAqB,EACrB,qBAAsB,CACxB,EACA,qBAAsB,CACpB,uBAAwB,EACxB,wBAAyB,CAC3B,CACF,CACF,CACF,EACIC,GAAuC,cAAW,SAAsBC,EAAOC,EAAK,CACtF,IAAIC,EAAWF,EAAM,SACjBG,EAAUH,EAAM,QAChBI,EAAYJ,EAAM,UAClBK,EAAmBL,EAAM,UACzBM,EAAYD,IAAqB,OAAS,GAAQA,EAClDE,EAAWP,EAAM,SACjBQ,EAAqBR,EAAM,YAC3BS,EAAcD,IAAuB,OAAS,aAAeA,EAC7DE,EAAcV,EAAM,KACpBW,EAAOD,IAAgB,OAAS,SAAWA,EAC3CE,EAAQZ,EAAM,MACda,EAAQC,GAAyBd,EAAO,CAAC,WAAY,UAAW,YAAa,YAAa,WAAY,cAAe,OAAQ,OAAO,CAAC,EAErIe,EAAe,SAAsBC,EAAOC,EAAa,CAC3D,GAAI,EAACV,EAIL,KAAIW,EAAQN,GAASA,EAAM,QAAQK,CAAW,EAC1CE,EAEAP,GAASM,GAAS,GACpBC,EAAWP,EAAM,MAAM,EACvBO,EAAS,OAAOD,EAAO,CAAC,GAExBC,EAAWP,EAAQA,EAAM,OAAOK,CAAW,EAAI,CAACA,CAAW,EAG7DV,EAASS,EAAOG,CAAQ,EAC1B,EAEIC,EAAwB,SAA+BJ,EAAOC,EAAa,CACzE,CAACV,GAILA,EAASS,EAAOJ,IAAUK,EAAc,KAAOA,CAAW,CAC5D,EAEA,OAA0B,iBAAc,MAAOI,GAAS,CACtD,KAAM,QACN,aAAW,GAAAC,SAAKnB,EAAQ,KAAMC,EAAWK,IAAgB,YAAcN,EAAQ,QAAQ,EACvF,IAAKF,CACP,EAAGY,CAAK,EAAS,YAAS,IAAIX,EAAU,SAAUqB,EAAO,CACvD,OAAyB,kBAAeA,CAAK,EAUnB,gBAAaA,EAAO,CAC5C,aAAW,GAAAD,SAAKnB,EAAQ,QAASA,EAAQ,UAAU,UAAO,eAAWM,CAAW,CAAC,GAAIc,EAAM,MAAM,SAAS,EAC1G,SAAUjB,EAAYc,EAAwBL,EAC9C,SAAUQ,EAAM,MAAM,WAAa,OAAYC,GAAgBD,EAAM,MAAM,MAAOX,CAAK,EAAIW,EAAM,MAAM,SACvG,KAAMA,EAAM,MAAM,MAAQZ,CAC5B,CAAC,EAdQ,IAeX,CAAC,CAAC,CACJ,CAAC,EAwDMc,GAAQC,GAAW7B,GAAQ,CAChC,KAAM,sBACR,CAAC,EAAEE,EAAiB,EFxKpB,IAAA4B,GAAiB,YINJC,QAAS,CASpB,YAAYC,EAAyBC,EAAa,CAChD,KAAK,MAAQA,EACb,KAAK,OAASD,EAAK,OAASC,EAC5B,KAAK,KAAOD,EAXP,OAAO,YAAYC,EAAeC,EAAc,CACrD,OAAO,IAAIH,GAAU,IAAI,kBAAkBE,EAAQC,CAAM,EAAGD,CAAK,EAa5D,IAAIE,EAAWC,EAAS,CAC7B,OAAID,EAAI,GAAKA,GAAK,KAAK,OAASC,EAAI,GAAKA,GAAK,KAAK,OAC1C,GAEF,CAAC,CAAC,KAAK,KAAKA,EAAI,KAAK,MAAQD,GAG/B,IAAIA,EAAWC,EAAWC,EAAU,CACzC,KAAK,KAAKD,EAAI,KAAK,MAAQD,GAAKE,EAAI,EAAI,EAGnC,UAAUC,EAAcC,EAAaN,EAAeC,EAAgBG,EAAU,CACnF,QAASD,EAAIG,EAAKH,EAAIG,EAAML,EAAQE,IAClC,QAASD,EAAIG,EAAMH,EAAIG,EAAOL,EAAOE,IACnC,KAAK,IAAIA,EAAGC,EAAG,CAAC,CAACC,CAAC,IC1BpBG,GAAc,EACdC,GAAoB,GAE1B,SAASC,GAAWC,EAAeC,EAAaC,EAAW,CACzD,OAAOF,EAAQC,EAAMA,EAAMD,EAAQE,EAAMA,EAAMF,CACjD,CAGA,IAAMG,GAAN,KAAY,CAGV,YAAYb,EAAeC,EAAgBa,EAA0B,CACnE,KAAK,MAAQd,EACb,IAAMe,EAAaf,EAAQC,EAC3B,GAAIa,GAAUA,EAAO,SAAWC,EAC9B,MAAM,IAAI,MAAM,mBAAmB,EAErC,KAAK,KAAOD,GAAU,IAAI,kBAAkBC,CAAU,EAEjD,IAAIb,EAAWC,EAAS,CAC7B,OAAO,KAAK,KAAKA,EAAI,KAAK,MAAQD,GAE7B,IAAIA,EAAWC,EAAWO,EAAa,CAC5C,KAAK,KAAKP,EAAI,KAAK,MAAQD,GAAKQ,aAIpBM,GAASjB,EAAyBC,EAAeC,EAAgBgB,EACxDC,EAAoCC,EAA0B,CACrF,IAAMC,EAAapB,EAAQC,EAC3B,GAAIF,EAAK,SAAWqB,EAAa,EAC/B,MAAM,IAAI,MAAM,qCAAqC,EAGvD,IAAIC,EAAe,EAEfC,EACAH,IACFG,EAAkB,IAAI,kBAAkBvB,EAAK,OAAQsB,EAAcD,CAAU,EAC7EC,GAAgBD,GAElB,IAAMG,EAAkB,IAAIV,GAAOb,EAAOC,EAAQqB,CAAe,EACjE,GAAIJ,EAAiB,wBACnB,QAASf,EAAI,EAAGA,EAAIF,EAAQE,IAC1B,QAASD,EAAI,EAAGA,EAAIF,EAAOE,IAAK,CAC9B,IAAMsB,GAAiBrB,EAAIH,EAAQE,GAAK,EAClCuB,EAAI1B,EAAKyB,GACTE,EAAI3B,EAAKyB,EAAgB,GACzBG,EAAI5B,EAAKyB,EAAgB,GAC/BD,EAAgB,IAAIrB,EAAGC,EAEpBe,EAAiB,IAAMO,EAAIP,EAAiB,MAAQQ,EAAIR,EAAiB,KAAOS,EAAI,KAAQ,CAAC,MAIpG,SAASxB,EAAI,EAAGA,EAAIF,EAAQE,IAC1B,QAASD,EAAI,EAAGA,EAAIF,EAAOE,IAAK,CAC9B,IAAMsB,GAAiBrB,EAAIH,EAAQE,GAAK,EAClCuB,EAAI1B,EAAKyB,GACTE,EAAI3B,EAAKyB,EAAgB,GACzBG,EAAI5B,EAAKyB,EAAgB,GAC/BD,EAAgB,IAAIrB,EAAGC,EACrBe,EAAiB,IAAMO,EAAIP,EAAiB,MAAQQ,EAAIR,EAAiB,KAAOS,CAAC,EAIzF,IAAMC,EAAwB,KAAK,KAAK5B,EAAQO,EAAW,EACrDsB,EAAsB,KAAK,KAAK5B,EAASM,EAAW,EACpDuB,EAAmBF,EAAwBC,EAE7CE,EACAZ,IACFY,EAAoB,IAAI,kBAAkBhC,EAAK,OAAQsB,EAAcS,CAAgB,EACrFT,GAAgBS,GAElB,IAAME,EAAc,IAAInB,GAAOe,EAAuBC,EAAqBE,CAAiB,EAC5F,QAASE,EAAiB,EAAGA,EAAiBJ,EAAqBI,IACjE,QAASC,EAAoB,EAAGA,EAAoBN,EAAuBM,IAAqB,CAC9F,IAAIvB,EAAM,IACNC,EAAM,EACV,QAAST,EAAI,EAAGA,EAAII,GAAaJ,IAC/B,QAASD,EAAI,EAAGA,EAAIK,GAAaL,IAAK,CACpC,IAAMiC,EACJZ,EAAgB,IAAIW,EAAoB3B,GAAcL,EAAG+B,EAAiB1B,GAAcJ,CAAC,EAC3FQ,EAAM,KAAK,IAAIA,EAAKwB,CAAa,EACjCvB,EAAM,KAAK,IAAIA,EAAKuB,CAAa,EAOrC,IAAIC,GAAWzB,EAAMC,GAAO,EAK5B,GADAwB,EAAU,KAAK,IAAI,IAAKA,EADN,IACyB,EACvCxB,EAAMD,GAAOH,KAMf4B,EAAUzB,EAAM,EAEZsB,EAAiB,GAAKC,EAAoB,GAAG,CAQ/C,IAAMG,GACJL,EAAY,IAAIE,EAAmBD,EAAiB,CAAC,EACpD,EAAID,EAAY,IAAIE,EAAoB,EAAGD,CAAc,EAC1DD,EAAY,IAAIE,EAAoB,EAAGD,EAAiB,CAAC,GACvD,EACAtB,EAAM0B,IACRD,EAAUC,GAIhBL,EAAY,IAAIE,EAAmBD,EAAgBG,CAAO,EAI9D,IAAIE,EACJ,GAAInB,EAAmB,CACrB,IAAMoB,EAAkB,IAAI,kBAAkBxC,EAAK,OAAQsB,EAAcD,CAAU,EACnFC,GAAgBD,EAChBkB,EAAY,IAAIxC,GAAUyC,EAAiBvC,CAAK,OAEhDsC,EAAYxC,GAAU,YAAYE,EAAOC,CAAM,EAGjD,IAAIuC,EAAsB,KAC1B,GAAIvB,EACF,GAAIE,EAAmB,CACrB,IAAMsB,EAAiB,IAAI,kBAAkB1C,EAAK,OAAQsB,EAAcD,CAAU,EAClFoB,EAAW,IAAI1C,GAAU2C,EAAgBzC,CAAK,OAE9CwC,EAAW1C,GAAU,YAAYE,EAAOC,CAAM,EAIlD,QAASgC,EAAiB,EAAGA,EAAiBJ,EAAqBI,IACjE,QAASC,EAAoB,EAAGA,EAAoBN,EAAuBM,IAAqB,CAC9F,IAAM7B,EAAOI,GAAWyB,EAAmB,EAAGN,EAAwB,CAAC,EACjEtB,EAAMG,GAAWwB,EAAgB,EAAGJ,EAAsB,CAAC,EAC7Da,EAAM,EACV,QAASC,EAAU,GAAIA,GAAW,EAAGA,IACnC,QAASC,EAAU,GAAIA,GAAW,EAAGA,IACnCF,GAAOV,EAAY,IAAI3B,EAAOsC,EAASrC,EAAMsC,CAAO,EAGxD,IAAMC,EAAYH,EAAM,GACxB,QAASC,EAAU,EAAGA,EAAUpC,GAAaoC,IAC3C,QAASC,EAAU,EAAGA,EAAUrC,GAAaqC,IAAW,CACtD,IAAM1C,EAAIgC,EAAoB3B,GAAcoC,EACtCxC,EAAI8B,EAAiB1B,GAAcqC,EACnCE,EAAMvB,EAAgB,IAAIrB,EAAGC,CAAC,EACpCmC,EAAU,IAAIpC,EAAGC,EAAG2C,GAAOD,CAAS,EAChC5B,GACFuB,EAAS,IAAItC,EAAGC,EAAG,EAAE2C,GAAOD,EAAU,GAMhD,OAAI5B,EACK,CAAE,UAAAqB,EAAW,SAAAE,CAAQ,EAEvB,CAAE,UAAAF,CAAS,CACpB,KC/KaS,QAAS,CAKpB,YAAYC,EAAwB,CAH5B,KAAA,WAAqB,EACrB,KAAA,UAAoB,EAG1B,KAAK,MAAQA,EAGR,SAASC,EAAe,CAC7B,GAAIA,EAAU,GAAKA,EAAU,IAAMA,EAAU,KAAK,UAAS,EACzD,MAAM,IAAI,MAAM,eAAiBA,EAAQ,SAAQ,EAAK,OAAO,EAG/D,IAAIC,EAAS,EAEb,GAAI,KAAK,UAAY,EAAG,CACtB,IAAMC,EAAW,EAAI,KAAK,UACpBC,EAASH,EAAUE,EAAWF,EAAUE,EACxCE,EAAgBF,EAAWC,EAC3BE,EAAQ,KAAS,EAAIF,GAAYC,EACvCH,GAAU,KAAK,MAAM,KAAK,YAAcI,IAASD,EACjDJ,GAAWG,EACX,KAAK,WAAaA,EACd,KAAK,YAAc,IACrB,KAAK,UAAY,EACjB,KAAK,cAKT,GAAIH,EAAU,EAAG,CACf,KAAOA,GAAW,GAChBC,EAAUA,GAAU,EAAM,KAAK,MAAM,KAAK,YAAc,IACxD,KAAK,aACLD,GAAW,EAIb,GAAIA,EAAU,EAAG,CACf,IAAMI,EAAgB,EAAIJ,EACpBK,EAAQ,KAAQD,GAAkBA,EACxCH,EAAUA,GAAUD,GAAa,KAAK,MAAM,KAAK,YAAcK,IAASD,EACxE,KAAK,WAAaJ,GAGtB,OAAOC,EAGF,WAAS,CACd,MAAO,IAAK,KAAK,MAAM,OAAS,KAAK,YAAc,KAAK,YClBhDK,IAAZ,SAAYA,EAAI,CACdA,EAAA,QAAA,UACAA,EAAA,aAAA,eACAA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,IAAA,MACAA,EAAA,iBAAA,kBACF,GAPYA,KAAAA,GAAI,CAAA,EAAA,EAShB,IAAKC,IAAL,SAAKA,EAAQ,CACXA,EAAAA,EAAA,WAAA,GAAA,aACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,aAAA,GAAA,eACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,iBAAA,GAAA,kBAGF,GAVKA,KAAAA,GAAQ,CAAA,EAAA,EAYb,SAASC,GAAcC,EAAmBC,EAAY,CACpD,IAAMX,EAAkB,CAAA,EACpBY,EAAO,GAELC,EAAqB,CAAC,GAAI,GAAI,EAAE,EAAEF,GACpCG,EAASJ,EAAO,SAASG,CAAkB,EAE/C,KAAOC,GAAU,GAAG,CAClB,IAAMC,EAAML,EAAO,SAAS,EAAE,EAC9B,GAAIK,GAAO,IACT,MAAM,IAAI,MAAM,iCAAiC,EAGnD,IAAMC,EAAI,KAAK,MAAMD,EAAM,GAAG,EACxBpC,EAAI,KAAK,MAAMoC,EAAM,EAAE,EAAI,GAC3BE,EAAIF,EAAM,GAEhBf,EAAM,KAAK,GAAKgB,EAAG,GAAKrC,EAAG,GAAKsC,CAAC,EACjCL,GAAQI,EAAE,SAAQ,EAAKrC,EAAE,SAAQ,EAAKsC,EAAE,SAAQ,EAChDH,GAAU,EAIZ,GAAIA,IAAW,EAAG,CAChB,IAAMC,EAAML,EAAO,SAAS,CAAC,EAC7B,GAAIK,GAAO,IACT,MAAM,IAAI,MAAM,gCAAgC,EAGlD,IAAMC,EAAI,KAAK,MAAMD,EAAM,EAAE,EACvBpC,EAAIoC,EAAM,GAEhBf,EAAM,KAAK,GAAKgB,EAAG,GAAKrC,CAAC,EACzBiC,GAAQI,EAAE,SAAQ,EAAKrC,EAAE,SAAQ,UACxBmC,IAAW,EAAG,CACvB,IAAMC,EAAML,EAAO,SAAS,CAAC,EAC7B,GAAIK,GAAO,GACT,MAAM,IAAI,MAAM,+BAA+B,EAGjDf,EAAM,KAAK,GAAKe,CAAG,EACnBH,GAAQG,EAAI,SAAQ,EAGtB,MAAO,CAAE,MAAAf,EAAO,KAAAY,CAAI,CACtB,CAEA,IAAMM,GAA6B,CACjC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAG1C,SAASC,GAAmBT,EAAmBC,EAAY,CACzD,IAAMX,EAAkB,CAAA,EACpBY,EAAO,GAELC,EAAqB,CAAC,EAAG,GAAI,EAAE,EAAEF,GACnCG,EAASJ,EAAO,SAASG,CAAkB,EAC/C,KAAOC,GAAU,GAAG,CAClB,IAAM1D,EAAIsD,EAAO,SAAS,EAAE,EAEtBM,EAAI,KAAK,MAAM5D,EAAI,EAAE,EACrBuB,EAAIvB,EAAI,GAEd4C,EAAM,KAAKkB,GAA2BF,GAAG,WAAW,CAAC,EAAGE,GAA2BvC,GAAG,WAAW,CAAC,CAAC,EACnGiC,GAAQM,GAA2BF,GAAKE,GAA2BvC,GACnEmC,GAAU,EAGZ,GAAIA,IAAW,EAAG,CAChB,IAAM,EAAIJ,EAAO,SAAS,CAAC,EAC3BV,EAAM,KAAKkB,GAA2B,GAAG,WAAW,CAAC,CAAC,EACtDN,GAAQM,GAA2B,GAGrC,MAAO,CAAE,MAAAlB,EAAO,KAAAY,CAAI,CACtB,CAEA,SAASQ,GAAWV,EAAmBC,EAAY,CACjD,IAAMX,EAAkB,CAAA,EACpBY,EAAO,GAELC,EAAqB,CAAC,EAAG,GAAI,EAAE,EAAEF,GACjCG,EAASJ,EAAO,SAASG,CAAkB,EACjD,QAASQ,EAAI,EAAGA,EAAIP,EAAQO,IAAK,CAC/B,IAAM1C,EAAI+B,EAAO,SAAS,CAAC,EAC3BV,EAAM,KAAKrB,CAAC,EAEd,GAAI,CACFiC,GAAQ,mBAAmBZ,EAAM,IAAIrB,GAAK,KAAK,IAAMA,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,QAC3F2C,EAAA,EAIF,MAAO,CAAE,MAAAtB,EAAO,KAAAY,CAAI,CACtB,CAEA,SAASW,GAAYb,EAAmBC,EAAY,CAClD,IAAMX,EAAkB,CAAA,EAElBa,EAAqB,CAAC,EAAG,GAAI,EAAE,EAAEF,GACjCG,EAASJ,EAAO,SAASG,CAAkB,EACjD,QAASQ,EAAI,EAAGA,EAAIP,EAAQO,IAAK,CAC/B,IAAMG,EAAId,EAAO,SAAS,EAAE,EAExB,EAAK,KAAK,MAAMc,EAAI,GAAI,GAAK,EAAMA,EAAI,IACvC,EAAI,KACN,GAAK,MAEL,GAAK,MAGPxB,EAAM,KAAK,GAAK,EAAG,EAAI,GAAI,EAG7B,IAAMY,EAAO,IAAI,YAAY,WAAW,EAAE,OAAO,WAAW,KAAKZ,CAAK,CAAC,EACvE,MAAO,CAAE,MAAAA,EAAO,KAAAY,CAAI,CACtB,UAEgBa,GAAO1E,EAAyB2E,EAAe,CAC7D,IAAMhB,EAAS,IAAIX,GAAUhD,CAAI,EAG3B4D,EAAOe,GAAW,EAAI,EAAIA,GAAW,GAAK,EAAI,EAE9CxB,EAAoB,CACxB,KAAM,GACN,MAAO,CAAA,EACP,OAAQ,CAAA,EACR,QAAAwB,GAGF,KAAOhB,EAAO,UAAS,GAAM,GAAG,CAC9B,IAAMiB,EAAOjB,EAAO,SAAS,CAAC,EAC9B,GAAIiB,IAASnB,GAAS,WACpB,OAAON,EACF,GAAIyB,IAASnB,GAAS,IACvBE,EAAO,SAAS,CAAC,IAAM,EACzBR,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,IACX,iBAAkBG,EAAO,SAAS,CAAC,EACpC,EACQA,EAAO,SAAS,CAAC,IAAM,EAChCR,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,IACX,iBAAkBG,EAAO,SAAS,EAAE,EACrC,EACQA,EAAO,SAAS,CAAC,IAAM,EAChCR,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,IACX,iBAAkBG,EAAO,SAAS,EAAE,EACrC,EAGDR,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,IACX,iBAAkB,GACnB,UAEMoB,IAASnB,GAAS,QAAS,CACpC,IAAMoB,EAAgBnB,GAAcC,EAAQC,CAAI,EAChDT,EAAO,MAAQ0B,EAAc,KAC7B1B,EAAO,MAAM,KAAK,GAAG0B,EAAc,KAAK,EACxC1B,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,QACX,KAAMqB,EAAc,KACrB,UACQD,IAASnB,GAAS,aAAc,CACzC,IAAMqB,EAAqBV,GAAmBT,EAAQC,CAAI,EAC1DT,EAAO,MAAQ2B,EAAmB,KAClC3B,EAAO,MAAM,KAAK,GAAG2B,EAAmB,KAAK,EAC7C3B,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,aACX,KAAMsB,EAAmB,KAC1B,UACQF,IAASnB,GAAS,KAAM,CACjC,IAAMsB,EAAaV,GAAWV,EAAQC,CAAI,EAC1CT,EAAO,MAAQ4B,EAAW,KAC1B5B,EAAO,MAAM,KAAK,GAAG4B,EAAW,KAAK,EACrC5B,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,KACX,MAAOuB,EAAW,MAClB,KAAMA,EAAW,KAClB,UACQH,IAASnB,GAAS,MAAO,CAClC,IAAMuB,EAAcR,GAAYb,EAAQC,CAAI,EAC5CT,EAAO,MAAQ6B,EAAY,KAC3B7B,EAAO,MAAM,KAAK,GAAG6B,EAAY,KAAK,EACtC7B,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,MACX,MAAOwB,EAAY,MACnB,KAAMA,EAAY,KACnB,OACQJ,IAASnB,GAAS,kBAC3BN,EAAO,OAAO,KAAK,CACjB,KAAMK,GAAK,iBACX,gBAAiBG,EAAO,SAAS,CAAC,EAClC,cAAeA,EAAO,SAAS,CAAC,EAChC,OAAQA,EAAO,SAAS,CAAC,EAC1B,EAKL,GAAIA,EAAO,UAAS,IAAO,GAAKA,EAAO,SAASA,EAAO,UAAS,CAAE,IAAM,EACtE,OAAOR,CAEX,KCvQqB8B,QAAa,CAIhC,YAAYC,EAAkBC,EAA+B,CAC3D,GAAIA,EAAa,SAAW,EAC1B,MAAM,IAAI,MAAM,kBAAkB,EAEpC,KAAK,MAAQD,EACb,IAAME,EAAqBD,EAAa,OACxC,GAAIC,EAAqB,GAAKD,EAAa,KAAO,EAAG,CAEnD,IAAIE,EAAe,EACnB,KAAOA,EAAeD,GAAsBD,EAAaE,KAAkB,GACzEA,IAEF,GAAIA,IAAiBD,EACnB,KAAK,aAAeF,EAAM,KAAK,iBAC1B,CACL,KAAK,aAAe,IAAI,kBAAkBE,EAAqBC,CAAY,EAC3E,QAAS,EAAI,EAAG,EAAI,KAAK,aAAa,OAAQ,IAC5C,KAAK,aAAa,GAAKF,EAAaE,EAAe,SAIvD,KAAK,aAAeF,EAIjB,QAAM,CACX,OAAO,KAAK,aAAa,OAAS,EAG7B,QAAM,CACX,OAAO,KAAK,aAAa,KAAO,EAG3B,eAAeG,EAAc,CAClC,OAAO,KAAK,aAAa,KAAK,aAAa,OAAS,EAAIA,GAGnD,cAAcC,EAAoB,CACvC,GAAI,KAAK,OAAM,EACb,OAAOA,EAET,GAAIA,EAAM,OAAM,EACd,OAAO,KAGT,IAAIC,EAAsB,KAAK,aAC3BC,EAAqBF,EAAM,aAC3BC,EAAoB,OAASC,EAAmB,SAClD,CAACD,EAAqBC,CAAkB,EAAI,CAACA,EAAoBD,CAAmB,GAEtF,IAAME,EAAU,IAAI,kBAAkBD,EAAmB,MAAM,EACzDE,EAAaF,EAAmB,OAASD,EAAoB,OACnE,QAASlB,EAAI,EAAGA,EAAIqB,EAAYrB,IAC9BoB,EAAQpB,GAAKmB,EAAmBnB,GAGlC,QAASA,EAAIqB,EAAYrB,EAAImB,EAAmB,OAAQnB,IACtDoB,EAAQpB,GAAKsB,GAAgBJ,EAAoBlB,EAAIqB,GAAaF,EAAmBnB,EAAE,EAGzF,OAAO,IAAIW,GAAc,KAAK,MAAOS,CAAO,EAGvC,SAASG,EAAc,CAC5B,GAAIA,IAAW,EACb,OAAO,KAAK,MAAM,KAEpB,GAAIA,IAAW,EACb,OAAO,KAET,IAAMjC,EAAO,KAAK,aAAa,OACzBkC,EAAU,IAAI,kBAAkBlC,CAAI,EAC1C,QAASU,EAAI,EAAGA,EAAIV,EAAMU,IACxBwB,EAAQxB,GAAK,KAAK,MAAM,SAAS,KAAK,aAAaA,GAAIuB,CAAM,EAG/D,OAAO,IAAIZ,GAAc,KAAK,MAAOa,CAAO,EAGvC,aAAaP,EAAoB,CACtC,GAAI,KAAK,OAAM,GAAMA,EAAM,OAAM,EAC/B,OAAO,KAAK,MAAM,KAEpB,IAAMQ,EAAgB,KAAK,aACrBC,EAAUD,EAAc,OACxBE,EAAgBV,EAAM,aACtBW,EAAUD,EAAc,OACxBH,EAAU,IAAI,kBAAkBE,EAAUE,EAAU,CAAC,EAC3D,QAAS5B,EAAI,EAAGA,EAAI0B,EAAS1B,IAAK,CAChC,IAAM6B,EAASJ,EAAczB,GAC7B,QAAS8B,EAAI,EAAGA,EAAIF,EAASE,IAC3BN,EAAQxB,EAAI8B,GAAKR,GAAgBE,EAAQxB,EAAI8B,GAC3C,KAAK,MAAM,SAASD,EAAQF,EAAcG,EAAE,CAAC,EAGnD,OAAO,IAAInB,GAAc,KAAK,MAAOa,CAAO,EAGvC,mBAAmBR,EAAgBe,EAAmB,CAC3D,GAAIf,EAAS,EACX,MAAM,IAAI,MAAM,4BAA4B,EAE9C,GAAIe,IAAgB,EAClB,OAAO,KAAK,MAAM,KAEpB,IAAMzC,EAAO,KAAK,aAAa,OACzBkC,EAAU,IAAI,kBAAkBlC,EAAO0B,CAAM,EACnD,QAAS,EAAI,EAAG,EAAI1B,EAAM,IACxBkC,EAAQ,GAAK,KAAK,MAAM,SAAS,KAAK,aAAa,GAAIO,CAAW,EAEpE,OAAO,IAAIpB,GAAc,KAAK,MAAOa,CAAO,EAGvC,WAAW7B,EAAS,CACzB,IAAId,EAAS,EACb,GAAIc,IAAM,EAER,OAAO,KAAK,eAAe,CAAC,EAE9B,IAAML,EAAO,KAAK,aAAa,OAC/B,GAAIK,IAAM,EAER,YAAK,aAAa,QAASoC,GAAW,CACpClD,EAASyC,GAAgBzC,EAAQkD,CAAW,EAC7C,EACMlD,EAETA,EAAS,KAAK,aAAa,GAC3B,QAASmB,EAAI,EAAGA,EAAIV,EAAMU,IACxBnB,EAASyC,GAAgB,KAAK,MAAM,SAAS3B,EAAGd,CAAM,EAAG,KAAK,aAAamB,EAAE,EAE/E,OAAOnB,aCvIKyC,GAAgB3B,EAAWrC,EAAS,CAClD,OAAOqC,EAAIrC,CACb,KAEqB0E,QAAS,CAU5B,YAAYC,EAAmB3C,EAAc4C,EAAe,CAC1D,KAAK,UAAYD,EACjB,KAAK,KAAO3C,EACZ,KAAK,cAAgB4C,EACrB,KAAK,SAAW,IAAI,MAAM,KAAK,IAAI,EACnC,KAAK,SAAW,IAAI,MAAM,KAAK,IAAI,EAEnC,IAAIrG,EAAI,EACR,QAAS,EAAI,EAAG,EAAI,KAAK,KAAM,IAC7B,KAAK,SAAS,GAAKA,EACnBA,EAAIA,EAAI,EACJA,GAAK,KAAK,OACZA,GAAKA,EAAI,KAAK,WAAc,KAAK,KAAO,GAI5C,QAAS,EAAI,EAAG,EAAI,KAAK,KAAO,EAAG,IACjC,KAAK,SAAS,KAAK,SAAS,IAAM,EAEpC,KAAK,KAAO,IAAI8E,GAAc,KAAM,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/D,KAAK,IAAM,IAAIA,GAAc,KAAM,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,EAGzD,SAAShB,EAAWrC,EAAS,CAClC,OAAIqC,IAAM,GAAKrC,IAAM,EACZ,EAEF,KAAK,UAAU,KAAK,SAASqC,GAAK,KAAK,SAASrC,KAAO,KAAK,KAAO,IAGrE,QAAQqC,EAAS,CACtB,GAAIA,IAAM,EACR,MAAM,IAAI,MAAM,gBAAgB,EAElC,OAAO,KAAK,SAAS,KAAK,KAAO,KAAK,SAASA,GAAK,GAG/C,cAAcqB,EAAgBe,EAAmB,CACtD,GAAIf,EAAS,EACX,MAAM,IAAI,MAAM,qCAAqC,EAEvD,GAAIe,IAAgB,EAClB,OAAO,KAAK,KAEd,IAAMlB,EAAe,IAAI,kBAAkBG,EAAS,CAAC,EACrD,OAAAH,EAAa,GAAKkB,EACX,IAAIpB,GAAc,KAAME,CAAY,EAGtC,IAAIlB,EAAS,CAClB,GAAIA,IAAM,EACR,MAAM,IAAI,MAAM,mBAAmB,EAErC,OAAO,KAAK,SAASA,GAGhB,IAAIA,EAAS,CAClB,OAAO,KAAK,SAASA,KCtEzB,SAASwC,GAAsBvB,EAAkBjB,EAAkBrC,EAAkB8E,EAAS,CAExFzC,EAAE,OAAM,EAAKrC,EAAE,OAAM,IACvB,CAACqC,EAAGrC,CAAC,EAAI,CAACA,EAAGqC,CAAC,GAGhB,IAAI0C,EAAQ1C,EACRvC,EAAIE,EACJgF,EAAQ1B,EAAM,KACd2B,EAAI3B,EAAM,IAGd,KAAOxD,EAAE,OAAM,GAAMgF,EAAI,GAAG,CAC1B,IAAMI,EAAYH,EACZI,EAAYH,EAKlB,GAJAD,EAAQjF,EACRkF,EAAQC,EAGJF,EAAM,OAAM,EAEd,OAAO,KAETjF,EAAIoF,EACJ,IAAIE,EAAI9B,EAAM,KACR+B,EAAyBN,EAAM,eAAeA,EAAM,OAAM,CAAE,EAC5DO,EAAahC,EAAM,QAAQ+B,CAAsB,EACvD,KAAOvF,EAAE,OAAM,GAAMiF,EAAM,OAAM,GAAM,CAACjF,EAAE,OAAM,GAAI,CAClD,IAAMyF,EAAazF,EAAE,OAAM,EAAKiF,EAAM,OAAM,EACtCS,EAAQlC,EAAM,SAASxD,EAAE,eAAeA,EAAE,OAAM,CAAE,EAAGwF,CAAU,EACrEF,EAAIA,EAAE,cAAc9B,EAAM,cAAciC,EAAYC,CAAK,CAAC,EAC1D1F,EAAIA,EAAE,cAAciF,EAAM,mBAAmBQ,EAAYC,CAAK,CAAC,EAKjE,GAFAP,EAAIG,EAAE,aAAaJ,CAAK,EAAE,cAAcG,CAAS,EAE7CrF,EAAE,OAAM,GAAMiF,EAAM,OAAM,EAC5B,OAAO,KAIX,IAAMU,EAAmBR,EAAE,eAAe,CAAC,EAC3C,GAAIQ,IAAqB,EACvB,OAAO,KAGT,IAAMC,EAAUpC,EAAM,QAAQmC,CAAgB,EAC9C,MAAO,CAACR,EAAE,SAASS,CAAO,EAAG5F,EAAE,SAAS4F,CAAO,CAAC,CAClD,CAEA,SAASC,GAAmBrC,EAAkBsC,EAA2B,CAEvE,IAAMC,EAAYD,EAAa,OAAM,EACrC,GAAIC,IAAc,EAChB,MAAO,CAACD,EAAa,eAAe,CAAC,CAAC,EAExC,IAAMrE,EAAmB,IAAI,MAAMsE,CAAS,EACxCC,EAAa,EACjB,QAAS,EAAI,EAAG,EAAIxC,EAAM,MAAQwC,EAAaD,EAAW,IACpDD,EAAa,WAAW,CAAC,IAAM,IACjCrE,EAAOuE,GAAcxC,EAAM,QAAQ,CAAC,EACpCwC,KAGJ,OAAIA,IAAeD,EACV,KAEFtE,CACT,CAEA,SAASwE,GAAoBzC,EAAkB0C,EAA+BC,EAAwB,CAEpG,IAAMC,EAAID,EAAe,OACnB1E,EAAmB,IAAI,MAAM2E,CAAC,EACpC,QAAS,EAAI,EAAG,EAAIA,EAAG,IAAK,CAC1B,IAAMC,EAAY7C,EAAM,QAAQ2C,EAAe,EAAE,EAC7CG,EAAc,EAClB,QAAS5B,EAAI,EAAGA,EAAI0B,EAAG1B,IACjB,IAAMA,IACR4B,EAAc9C,EAAM,SAAS8C,EAAapC,GAAgB,EAAGV,EAAM,SAAS2C,EAAezB,GAAI2B,CAAS,CAAC,CAAC,GAG9G5E,EAAO,GAAK+B,EAAM,SAAS0C,EAAe,WAAWG,CAAS,EAAG7C,EAAM,QAAQ8C,CAAW,CAAC,EACvF9C,EAAM,gBAAkB,IAC1B/B,EAAO,GAAK+B,EAAM,SAAS/B,EAAO,GAAI4E,CAAS,GAGnD,OAAO5E,CACT,UAEgBuB,GAAOzB,EAAiBgF,EAAY,CAClD,IAAMC,EAAc,IAAI,kBAAkBjF,EAAM,MAAM,EACtDiF,EAAY,IAAIjF,CAAK,EAErB,IAAMiC,EAAQ,IAAIoB,GAAU,IAAQ,IAAK,CAAC,EACpC6B,EAAO,IAAIlD,GAAcC,EAAOgD,CAAW,EAE3CE,EAAuB,IAAI,kBAAkBH,CAAI,EACnDI,EAAQ,GACZ,QAASP,EAAI,EAAGA,EAAIG,EAAMH,IAAK,CAC7B,IAAMQ,EAAaH,EAAK,WAAWjD,EAAM,IAAI4C,EAAI5C,EAAM,aAAa,CAAC,EACrEkD,EAAqBA,EAAqB,OAAS,EAAIN,GAAKQ,EACxDA,IAAe,IACjBD,EAAQ,IAGZ,GAAI,CAACA,EACH,OAAOH,EAGT,IAAMK,EAAW,IAAItD,GAAcC,EAAOkD,CAAoB,EAExDI,EAAa/B,GAAsBvB,EAAOA,EAAM,cAAc+C,EAAM,CAAC,EAAGM,EAAUN,CAAI,EAC5F,GAAIO,IAAe,KACjB,OAAO,KAGT,IAAMX,EAAiBN,GAAmBrC,EAAOsD,EAAW,EAAE,EAC9D,GAAIX,GAAkB,KACpB,OAAO,KAGT,IAAMY,EAAkBd,GAAoBzC,EAAOsD,EAAW,GAAIX,CAAc,EAChF,QAASvD,EAAI,EAAGA,EAAIuD,EAAe,OAAQvD,IAAK,CAC9C,IAAMoE,EAAWR,EAAY,OAAS,EAAIhD,EAAM,IAAI2C,EAAevD,EAAE,EACrE,GAAIoE,EAAW,EACb,OAAO,KAETR,EAAYQ,GAAY9C,GAAgBsC,EAAYQ,GAAWD,EAAgBnE,EAAE,EAGnF,OAAO4D,CACT,CC1HO,IAAMS,GAAsB,CACjC,CACE,SAAU,KACV,cAAe,EACf,wBAAyB,CAAA,EACzB,sBAAuB,CACrB,CACE,oBAAqB,EACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,CAAC,CAAE,KAI3D,CACE,SAAU,KACV,cAAe,EACf,wBAAyB,CAAC,EAAG,EAAE,EAC/B,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,KAI5D,CACE,SAAU,KACV,cAAe,EACf,wBAAyB,CAAC,EAAG,EAAE,EAC/B,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,KAI5D,CACE,SAAU,KACV,cAAe,EACf,wBAAyB,CAAC,EAAG,EAAE,EAC/B,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,CAAC,CAAE,KAI3D,CACE,SAAU,KACV,cAAe,EACf,wBAAyB,CAAC,EAAG,EAAE,EAC/B,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,GAAG,CAAE,GAEzD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,KACV,cAAe,EACf,wBAAyB,CAAC,EAAG,EAAE,EAC/B,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,KAI5D,CACE,SAAU,MACV,cAAe,EACf,wBAAyB,CAAC,EAAG,GAAI,EAAE,EACnC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,EACf,wBAAyB,CAAC,EAAG,GAAI,EAAE,EACnC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,EACf,wBAAyB,CAAC,EAAG,GAAI,EAAE,EACnC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,GAAG,CAAE,GAEzD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,EAAE,EACnC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,EAAE,EACnC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,EAAE,CAAE,GAExD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,EAAE,EACnC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,EAAE,EACnC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,EAAG,sBAAuB,GAAG,CAAE,GAEzD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,EAAE,EACvC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,EAAE,EACvC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,EAAE,EACvC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,EAAE,EACvC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,EAAE,EACvC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,EAAE,EACvC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,EAAE,EACvC,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,EAAE,EAC3C,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,GAAI,sBAAuB,EAAE,CAAE,GAEzD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,EAAE,EAC3C,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,GAAI,sBAAuB,EAAE,CAAE,GAEzD,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,GAAI,sBAAuB,EAAE,CAAE,KAI7D,CACE,SAAU,MACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAG,EAC5C,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAG,EAC5C,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAG,EAC5C,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAG,EAC5C,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAG,EAC5C,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,GAAG,EAChD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,GAAI,sBAAuB,GAAG,IAG/C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAG,EACjD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAG,EACjD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,GAAI,sBAAuB,GAAG,IAG/C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAG,EACjD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAG,EACjD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CAAC,CAAE,UAAW,GAAI,sBAAuB,GAAG,CAAE,GAE1D,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAG,EACjD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAG,EACjD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,MAKjD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,GAAG,EACtD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAE,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,GAAG,EACvD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,GAAI,sBAAuB,GAAG,IAG/C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,EAAE,EACzC,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAE,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,GAAG,EACvD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAE,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,GAAG,EACvD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,EAAG,sBAAuB,GAAG,EAC1C,CAAE,UAAW,GAAI,sBAAuB,GAAG,IAG/C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAE,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,GAAG,EACvD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,EAAG,sBAAuB,EAAE,IAG7C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,MAKlD,CACE,SAAU,OACV,cAAe,GACf,wBAAyB,CAAE,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,GAAG,EACvD,sBAAuB,CACrB,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,GAAG,EAC3C,CAAE,UAAW,EAAG,sBAAuB,GAAG,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,IAG9C,CACE,oBAAqB,GACrB,SAAU,CACR,CAAE,UAAW,GAAI,sBAAuB,EAAE,EAC1C,CAAE,UAAW,GAAI,sBAAuB,EAAE,OC1xCpD,SAASC,GAAiBzI,EAAWC,EAAS,CAC5C,IAAIyI,EAAI1I,EAAIC,EACR0I,EAAW,EACf,KAAOD,GACLC,IACAD,GAAKA,EAAI,EAEX,OAAOC,CACT,CAEA,SAASC,GAAQC,EAAUC,EAAY,CACrC,OAAQA,GAAQ,EAAKD,CACvB,CAGA,IAAME,GAAoB,CACxB,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,IAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,KAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,EACpE,CAAE,KAAM,MAAQ,WAAY,CAAE,qBAAsB,EAAG,SAAU,CAAC,CAAE,GAGhEC,GAAa,CAChBC,IAAeA,EAAE,EAAIA,EAAE,GAAK,IAAO,EACnCA,GAAcA,EAAE,EAAI,IAAO,EAC3BA,GAAaA,EAAE,EAAI,IAAM,EACzBA,IAAcA,EAAE,EAAIA,EAAE,GAAK,IAAM,EACjCA,IAAc,KAAK,MAAMA,EAAE,EAAI,CAAC,EAAI,KAAK,MAAMA,EAAE,EAAI,CAAC,GAAK,IAAM,EACjEA,GAAeA,EAAE,EAAIA,EAAE,EAAK,EAAOA,EAAE,EAAIA,EAAE,EAAK,IAAO,EACvDA,IAAiBA,EAAE,EAAIA,EAAE,EAAK,EAAMA,EAAE,EAAIA,EAAE,EAAK,GAAK,IAAO,EAC7DA,KAAiBA,EAAE,EAAIA,EAAE,GAAK,EAAMA,EAAE,EAAIA,EAAE,EAAK,GAAK,IAAO,GAQhE,SAASC,GAAyB1E,EAAgB,CAChD,IAAM2E,EAAY,GAAK,EAAI3E,EAAQ,cAC7B4E,EAASxJ,GAAU,YAAYuJ,EAAWA,CAAS,EAEzDC,EAAO,UAAU,EAAG,EAAG,EAAG,EAAG,EAAI,EACjCA,EAAO,UAAUD,EAAY,EAAG,EAAG,EAAG,EAAG,EAAI,EAC7CC,EAAO,UAAU,EAAGD,EAAY,EAAG,EAAG,EAAG,EAAI,EAG7C,QAAWnJ,KAAKwE,EAAQ,wBACtB,QAAWvE,KAAKuE,EAAQ,wBAChBxE,IAAM,GAAKC,IAAM,GAAKD,IAAM,GAAKC,IAAMkJ,EAAY,GAAKnJ,IAAMmJ,EAAY,GAAKlJ,IAAM,GACzFmJ,EAAO,UAAUpJ,EAAI,EAAGC,EAAI,EAAG,EAAG,EAAG,EAAI,EAK/C,OAAAmJ,EAAO,UAAU,EAAG,EAAG,EAAGD,EAAY,GAAI,EAAI,EAC9CC,EAAO,UAAU,EAAG,EAAGD,EAAY,GAAI,EAAG,EAAI,EAE1C3E,EAAQ,cAAgB,IAC1B4E,EAAO,UAAUD,EAAY,GAAI,EAAG,EAAG,EAAG,EAAI,EAC9CC,EAAO,UAAU,EAAGD,EAAY,GAAI,EAAG,EAAG,EAAI,GAGzCC,CACT,CAEA,SAASC,GAAcD,EAAmB5E,EAAkB8E,EAA6B,CACvF,IAAMC,EAAWP,GAAWM,EAAW,UACjCH,EAAYC,EAAO,OAEnBI,EAAsBN,GAAyB1E,CAAO,EAEtDiF,EAAsB,CAAA,EACxBC,EAAc,EACdC,EAAW,EAGXC,EAAY,GAChB,QAASC,EAAcV,EAAY,EAAGU,EAAc,EAAGA,GAAe,EAAG,CACnEA,IAAgB,GAClBA,IAEF,QAAS1F,EAAI,EAAGA,EAAIgF,EAAWhF,IAAK,CAClC,IAAMlE,EAAI2J,EAAYT,EAAY,EAAIhF,EAAIA,EAC1C,QAAS2F,EAAe,EAAGA,EAAe,EAAGA,IAAgB,CAC3D,IAAM,EAAID,EAAcC,EACxB,GAAI,CAACN,EAAoB,IAAI,EAAGvJ,CAAC,EAAG,CAClC0J,IACA,IAAId,EAAMO,EAAO,IAAI,EAAGnJ,CAAC,EACrBsJ,EAAS,CAAC,EAAAtJ,EAAG,CAAC,CAAC,IACjB4I,EAAM,CAACA,GAETa,EAAcd,GAAQC,EAAKa,CAAW,EAClCC,IAAa,IACfF,EAAU,KAAKC,CAAW,EAC1BC,EAAW,EACXD,EAAc,KAKtBE,EAAY,CAACA,EAEf,OAAOH,CACT,CAEA,SAASM,GAAYX,EAAiB,CACpC,IAAMD,EAAYC,EAAO,OAEnBY,EAAqB,KAAK,OAAOb,EAAY,IAAM,CAAC,EAC1D,GAAIa,GAAsB,EACxB,OAAOxB,GAASwB,EAAqB,GAGvC,IAAIC,EAAsB,EAC1B,QAAShK,EAAI,EAAGA,GAAK,EAAGA,IACtB,QAASD,EAAImJ,EAAY,EAAGnJ,GAAKmJ,EAAY,GAAInJ,IAC/CiK,EAAsBrB,GAAQQ,EAAO,IAAIpJ,EAAGC,CAAC,EAAGgK,CAAmB,EAIvE,IAAIC,EAAwB,EAC5B,QAASlK,EAAI,EAAGA,GAAK,EAAGA,IACtB,QAASC,EAAIkJ,EAAY,EAAGlJ,GAAKkJ,EAAY,GAAIlJ,IAC/CiK,EAAwBtB,GAAQQ,EAAO,IAAIpJ,EAAGC,CAAC,EAAGiK,CAAqB,EAI3E,IAAIC,EAAiB,IACjBC,EACJ,QAAW5F,KAAWgE,GAAU,CAC9B,GAAIhE,EAAQ,WAAayF,GAAuBzF,EAAQ,WAAa0F,EACnE,OAAO1F,EAGT,IAAI6F,EAAa5B,GAAiBwB,EAAqBzF,EAAQ,QAAQ,EACnE6F,EAAaF,IACfC,EAAc5F,EACd2F,EAAiBE,GAGnBA,EAAa5B,GAAiByB,EAAuB1F,EAAQ,QAAQ,EACjE6F,EAAaF,IACfC,EAAc5F,EACd2F,EAAiBE,GAKrB,GAAIF,GAAkB,EACpB,OAAOC,CAEX,CAEA,SAASE,GAAsBlB,EAAiB,CAC9C,IAAImB,EAAwB,EAC5B,QAASvK,EAAI,EAAGA,GAAK,EAAGA,IAClBA,IAAM,IACRuK,EAAwB3B,GAAQQ,EAAO,IAAIpJ,EAAG,CAAC,EAAGuK,CAAqB,GAG3E,QAAStK,EAAI,EAAGA,GAAK,EAAGA,IAClBA,IAAM,IACRsK,EAAwB3B,GAAQQ,EAAO,IAAI,EAAGnJ,CAAC,EAAGsK,CAAqB,GAI3E,IAAMpB,EAAYC,EAAO,OACrBoB,EAAoC,EACxC,QAASvK,EAAIkJ,EAAY,EAAGlJ,GAAKkJ,EAAY,EAAGlJ,IAC9CuK,EAAoC5B,GAAQQ,EAAO,IAAI,EAAGnJ,CAAC,EAAGuK,CAAiC,EAEjG,QAASxK,EAAImJ,EAAY,EAAGnJ,EAAImJ,EAAWnJ,IACzCwK,EAAoC5B,GAAQQ,EAAO,IAAIpJ,EAAG,CAAC,EAAGwK,CAAiC,EAGjG,IAAIL,EAAiB,IACjBM,EAAiB,KACrB,OAAW,CAAC,KAAAC,EAAM,WAAApB,CAAU,IAAKP,GAAmB,CAClD,GAAI2B,IAASH,GAAyBG,IAASF,EAC7C,OAAOlB,EAET,IAAIe,EAAa5B,GAAiB8B,EAAuBG,CAAI,EACzDL,EAAaF,IACfM,EAAiBnB,EACjBa,EAAiBE,GAEfE,IAA0BC,IAC5BH,EAAa5B,GAAiB+B,EAAmCE,CAAI,EACjEL,EAAaF,IACfM,EAAiBnB,EACjBa,EAAiBE,IAKvB,OAAIF,GAAkB,EACbM,EAEF,IACT,CAEA,SAASE,GAAclB,EAAqBjF,EAAkBoG,EAAe,CAC3E,IAAMC,EAASrG,EAAQ,sBAAsBoG,GACvCE,EAGD,CAAA,EAEDC,EAAiB,EAWrB,GAVAF,EAAO,SAAS,QAAQG,GAAK,CAC3B,QAAS7G,EAAI,EAAGA,EAAI6G,EAAM,UAAW7G,IACnC2G,EAAW,KAAK,CAAE,iBAAkBE,EAAM,sBAAuB,UAAW,CAAA,CAAE,CAAE,EAChFD,GAAkBC,EAAM,sBAAwBH,EAAO,oBAE1D,EAKGpB,EAAU,OAASsB,EACrB,OAAO,KAETtB,EAAYA,EAAU,MAAM,EAAGsB,CAAc,EAE7C,IAAME,EAAiBJ,EAAO,SAAS,GAAG,sBAE1C,QAAS1G,EAAI,EAAGA,EAAI8G,EAAgB9G,IAClC,QAAW+G,KAAaJ,EACtBI,EAAU,UAAU,KAAKzB,EAAU,MAAK,CAAE,EAK9C,GAAIoB,EAAO,SAAS,OAAS,EAAG,CAC9B,IAAMM,EAAkBN,EAAO,SAAS,GAAG,UACrCO,EAAkBP,EAAO,SAAS,GAAG,UAC3C,QAAS1G,EAAI,EAAGA,EAAIiH,EAAiBjH,IACnC2G,EAAWK,EAAkBhH,GAAG,UAAU,KAAKsF,EAAU,MAAK,CAAE,EAKpE,KAAOA,EAAU,OAAS,GACxB,QAAWyB,KAAaJ,EACtBI,EAAU,UAAU,KAAKzB,EAAU,MAAK,CAAE,EAI9C,OAAOqB,CACT,CAEA,SAASO,GAAajC,EAAiB,CACrC,IAAM5E,EAAUuF,GAAYX,CAAM,EAClC,GAAI,CAAC5E,EACH,OAAO,KAGT,IAAM8E,EAAagB,GAAsBlB,CAAM,EAC/C,GAAI,CAACE,EACH,OAAO,KAGT,IAAMG,EAAYJ,GAAcD,EAAQ5E,EAAS8E,CAAU,EACrDwB,EAAaH,GAAclB,EAAWjF,EAAS8E,EAAW,oBAAoB,EACpF,GAAI,CAACwB,EACH,OAAO,KAIT,IAAMQ,EAAaR,EAAW,OAAO,CAAChH,EAAGrC,IAAMqC,EAAIrC,EAAE,iBAAkB,CAAC,EAClE8J,EAAc,IAAI,kBAAkBD,CAAU,EAEhDE,EAAc,EAClB,QAAWN,KAAaJ,EAAY,CAClC,IAAMW,EAAiBC,GAASR,EAAU,UAAWA,EAAU,UAAU,OAASA,EAAU,gBAAgB,EAC5G,GAAI,CAACO,EACH,OAAO,KAET,QAAStH,EAAI,EAAGA,EAAI+G,EAAU,iBAAkB/G,IAC9CoH,EAAYC,KAAiBC,EAAetH,GAIhD,GAAI,CACF,OAAOwH,GAAWJ,EAAa/G,EAAQ,aAAa,QACpDJ,EAAA,CACA,OAAO,KAEX,UAEgBG,GAAO6E,EAAiB,CACtC,GAAIA,GAAU,KACZ,OAAO,KAET,IAAMpG,EAASqI,GAAajC,CAAM,EAClC,GAAIpG,EACF,OAAOA,EAGT,QAAShD,EAAI,EAAGA,EAAIoJ,EAAO,MAAOpJ,IAChC,QAASC,EAAID,EAAI,EAAGC,EAAImJ,EAAO,OAAQnJ,IACjCmJ,EAAO,IAAIpJ,EAAGC,CAAC,IAAMmJ,EAAO,IAAInJ,EAAGD,CAAC,IACtCoJ,EAAO,IAAIpJ,EAAGC,EAAG,CAACmJ,EAAO,IAAIpJ,EAAGC,CAAC,CAAC,EAClCmJ,EAAO,IAAInJ,EAAGD,EAAG,CAACoJ,EAAO,IAAInJ,EAAGD,CAAC,CAAC,GAIxC,OAAOqL,GAAajC,CAAM,CAC5B,CCzUA,SAASwC,GAAsBC,EAAWC,EAAWC,EAAWC,EAAS,CACvE,IAAMC,EAAMJ,EAAG,EAAIC,EAAG,EAAIC,EAAG,EAAIC,EAAG,EAC9BE,EAAML,EAAG,EAAIC,EAAG,EAAIC,EAAG,EAAIC,EAAG,EACpC,GAAIC,IAAQ,GAAKC,IAAQ,EACvB,MAAO,CACL,IAAKJ,EAAG,EAAID,EAAG,EACf,IAAKC,EAAG,EAAID,EAAG,EACf,IAAK,EACL,IAAKE,EAAG,EAAID,EAAG,EACf,IAAKC,EAAG,EAAID,EAAG,EACf,IAAK,EACL,IAAKD,EAAG,EACR,IAAKA,EAAG,EACR,IAAK,GAEF,CACL,IAAMM,EAAML,EAAG,EAAIC,EAAG,EAChBK,EAAMJ,EAAG,EAAID,EAAG,EAChBM,EAAMP,EAAG,EAAIC,EAAG,EAChBO,EAAMN,EAAG,EAAID,EAAG,EAChBlE,EAAcsE,EAAMG,EAAMF,EAAMC,EAChCE,GAAON,EAAMK,EAAMF,EAAMF,GAAOrE,EAChC2E,GAAOL,EAAMD,EAAMD,EAAMI,GAAOxE,EACtC,MAAO,CACL,IAAKiE,EAAG,EAAID,EAAG,EAAIU,EAAMT,EAAG,EAC5B,IAAKA,EAAG,EAAID,EAAG,EAAIU,EAAMT,EAAG,EAC5B,IAAAS,EACA,IAAKP,EAAG,EAAIH,EAAG,EAAIW,EAAMR,EAAG,EAC5B,IAAKA,EAAG,EAAIH,EAAG,EAAIW,EAAMR,EAAG,EAC5B,IAAAQ,EACA,IAAKX,EAAG,EACR,IAAKA,EAAG,EACR,IAAK,GAGX,CAEA,SAASY,GAAsBZ,EAAWC,EAAWC,EAAWC,EAAS,CAEvE,IAAMU,EAAOd,GAAsBC,EAAIC,EAAIC,EAAIC,CAAE,EACjD,MAAO,CACL,IAAKU,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAC3C,IAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAAMA,EAAK,IAE/C,CAEA,SAASC,GAAM7I,EAAyBrC,EAAuB,CAC7D,MAAO,CACL,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAC/C,IAAKqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAAMqC,EAAE,IAAMrC,EAAE,IAEnD,UAEgBmL,GAAQC,EAAkBC,EAAoB,CAC5D,IAAMC,EAAON,GACX,CAAC,EAAG,IAAK,EAAG,GAAG,EACf,CAAC,EAAGK,EAAS,UAAY,IAAK,EAAG,GAAG,EACpC,CAAC,EAAGA,EAAS,UAAY,IAAK,EAAGA,EAAS,UAAY,GAAG,EACzD,CAAC,EAAG,IAAK,EAAGA,EAAS,UAAY,GAAG,CAAC,EAEjCJ,EAAOd,GAAsBkB,EAAS,QAASA,EAAS,SAAUA,EAAS,iBAAkBA,EAAS,UAAU,EAChHE,EAAYL,GAAMD,EAAMK,CAAI,EAE5B3D,EAASxJ,GAAU,YAAYkN,EAAS,UAAWA,EAAS,SAAS,EACrEG,EAAkB,CAACjN,EAAWC,IAAS,CAC3C,IAAM4H,EAAcmF,EAAU,IAAMhN,EAAIgN,EAAU,IAAM/M,EAAI+M,EAAU,IACtE,MAAO,CACL,GAAIA,EAAU,IAAMhN,EAAIgN,EAAU,IAAM/M,EAAI+M,EAAU,KAAOnF,EAC7D,GAAImF,EAAU,IAAMhN,EAAIgN,EAAU,IAAM/M,EAAI+M,EAAU,KAAOnF,IAIjE,QAAS5H,EAAI,EAAGA,EAAI6M,EAAS,UAAW7M,IACtC,QAASD,EAAI,EAAGA,EAAI8M,EAAS,UAAW9M,IAAK,CAC3C,IAAMkN,EAASlN,EAAI,GACbmN,EAASlN,EAAI,GACbmN,EAAcH,EAAgBC,EAAQC,CAAM,EAClD/D,EAAO,IAAIpJ,EAAGC,EAAG4M,EAAM,IAAI,KAAK,MAAMO,EAAY,CAAC,EAAG,KAAK,MAAMA,EAAY,CAAC,CAAC,CAAC,EAIpF,MAAO,CACL,OAAAhE,EACA,gBAAA6D,EAEJ,CChHA,IAAMI,GAA+B,EAC/BC,GAAiB,GACjBC,GAAiB,IAejBC,GAAW,CAAC1J,EAAUrC,IAAa,KAAK,KAAK,KAAA,IAACA,EAAE,EAAIqC,EAAE,EAAM,CAAC,EAAG,KAAA,IAACrC,EAAE,EAAIqC,EAAE,EAAM,CAAC,CAAA,EAEtF,SAAStB,GAAIiL,EAAgB,CAC3B,OAAOA,EAAO,OAAO,CAAC3J,EAAGrC,IAAMqC,EAAIrC,CAAC,CACtC,CAGA,SAASiM,GAAsBC,EAAiBC,EAAiBC,EAAe,CAE9E,IAAMC,EAAiBN,GAASG,EAAUC,CAAQ,EAC5CG,EAAmBP,GAASI,EAAUC,CAAQ,EAC9CG,EAAmBR,GAASG,EAAUE,CAAQ,EAEhDI,EACAC,EACAC,EAGJ,OAAIJ,GAAoBD,GAAkBC,GAAoBC,EAC5D,CAACC,EAAYC,EAASC,CAAQ,EAAI,CAACP,EAAUD,EAAUE,CAAQ,EACtDG,GAAoBD,GAAoBC,GAAoBF,EACrE,CAACG,EAAYC,EAASC,CAAQ,EAAI,CAACR,EAAUC,EAAUC,CAAQ,EAE/D,CAACI,EAAYC,EAASC,CAAQ,EAAI,CAACR,EAAUE,EAAUD,CAAQ,GAM3DO,EAAS,EAAID,EAAQ,IAAMD,EAAW,EAAIC,EAAQ,IAAQC,EAAS,EAAID,EAAQ,IAAMD,EAAW,EAAIC,EAAQ,GAAM,IACtH,CAACD,EAAYE,CAAQ,EAAI,CAACA,EAAUF,CAAU,GAGzC,CAAE,WAAAA,EAAY,QAAAC,EAAS,SAAAC,CAAQ,CACxC,CAGA,SAASC,GAAiBF,EAAgBC,EAAiBF,EAAmB7E,EAAiB,CAC7F,IAAMiF,GACJ7L,GAAI8L,GAAmBJ,EAASD,EAAY7E,EAAQ,CAAC,CAAC,EAAI,EAC1D5G,GAAI8L,GAAmBJ,EAASC,EAAU/E,EAAQ,CAAC,CAAC,EAAI,EACxD5G,GAAI8L,GAAmBL,EAAYC,EAAS9E,EAAQ,CAAC,CAAC,EAAI,EAC1D5G,GAAI8L,GAAmBH,EAAUD,EAAS9E,EAAQ,CAAC,CAAC,EAAI,GACtD,EAEJ,GAAIiF,EAAa,EACf,MAAM,IAAI,MAAM,qBAAqB,EAGvC,IAAME,EAAe,KAAK,MAAMf,GAASU,EAASC,CAAQ,EAAIE,CAAU,EAClEG,EAAgB,KAAK,MAAMhB,GAASU,EAASD,CAAU,EAAII,CAAU,EACvElF,EAAY,KAAK,OAAOoF,EAAeC,GAAiB,CAAC,EAAI,EACjE,OAAQrF,EAAY,OACb,GACHA,IACA,UACG,GACHA,IACA,MAEJ,MAAO,CAAE,UAAAA,EAAW,WAAAkF,CAAU,CAChC,CAKA,SAASI,GAA+BC,EAAeC,EAAYvF,EAAmBxF,EAAc,CAClG,IAAMgL,EAAwB,CAAC,CAAC,EAAG,KAAK,MAAMF,EAAO,CAAC,EAAG,EAAG,KAAK,MAAMA,EAAO,CAAC,CAAC,CAAC,EAC3EG,EAAQ,KAAK,IAAIF,EAAI,EAAID,EAAO,CAAC,EAAI,KAAK,IAAIC,EAAI,EAAID,EAAO,CAAC,EAEhEI,EACAC,EACAC,EACAC,EACAJ,GACFC,EAAQ,KAAK,MAAMJ,EAAO,CAAC,EAC3BK,EAAQ,KAAK,MAAML,EAAO,CAAC,EAC3BM,EAAM,KAAK,MAAML,EAAI,CAAC,EACtBM,EAAM,KAAK,MAAMN,EAAI,CAAC,IAEtBG,EAAQ,KAAK,MAAMJ,EAAO,CAAC,EAC3BK,EAAQ,KAAK,MAAML,EAAO,CAAC,EAC3BM,EAAM,KAAK,MAAML,EAAI,CAAC,EACtBM,EAAM,KAAK,MAAMN,EAAI,CAAC,GAGxB,IAAMO,EAAK,KAAK,IAAIF,EAAMF,CAAK,EACzBK,EAAK,KAAK,IAAIF,EAAMF,CAAK,EAC3B7G,EAAQ,KAAK,MAAM,CAACgH,EAAK,CAAC,EACxBE,EAAQN,EAAQE,EAAM,EAAI,GAC1BK,EAAQN,EAAQE,EAAM,EAAI,GAE5BK,EAAe,GAEnB,QAAStP,EAAI8O,EAAO7O,EAAI8O,EAAO/O,IAAMgP,EAAMI,EAAOpP,GAAKoP,EAAO,CAI5D,IAAMG,EAAQV,EAAQ5O,EAAID,EACpBwP,EAAQX,EAAQ7O,EAAIC,EAC1B,GAAImJ,EAAO,IAAImG,EAAOC,CAAK,IAAMF,IAC/BA,EAAe,CAACA,EAChBV,EAAa,KAAK,CAAC,EAAGW,EAAO,EAAGC,CAAK,CAAC,EAClCZ,EAAa,SAAWhL,EAAS,GACnC,MAIJ,GADAsE,GAASiH,EACLjH,EAAQ,EAAG,CACb,GAAIjI,IAAMgP,EACR,MAEFhP,GAAKoP,EACLnH,GAASgH,GAGb,IAAMO,EAAsB,CAAA,EAC5B,QAAStL,EAAI,EAAGA,EAAIP,EAAQO,IACtByK,EAAazK,IAAMyK,EAAazK,EAAI,GACtCsL,EAAU,KAAKjC,GAASoB,EAAazK,GAAIyK,EAAazK,EAAI,EAAE,CAAC,EAE7DsL,EAAU,KAAK,CAAC,EAGpB,OAAOA,CACT,CAKA,SAASnB,GAAmBI,EAAeC,EAAYvF,EAAmBxF,EAAc,CACtF,IAAM8L,EAAOf,EAAI,EAAID,EAAO,EACtBiB,EAAMhB,EAAI,EAAID,EAAO,EAErBkB,EAAanB,GAA+BC,EAAQC,EAAKvF,EAAQ,KAAK,KAAKxF,EAAS,CAAC,CAAC,EACtFiM,EAAcpB,GAA+BC,EAAQ,CAAC,EAAGA,EAAO,EAAIiB,EAAK,EAAGjB,EAAO,EAAIgB,CAAI,EAAGtG,EAAQ,KAAK,KAAKxF,EAAS,CAAC,CAAC,EAE3HkM,EAAcF,EAAW,MAAK,EAAKC,EAAY,MAAK,EAAK,EAC/D,OAAOA,EAAY,OAAOC,CAAW,EAAE,OAAO,GAAGF,CAAU,CAC7D,CAIA,SAASG,GAAmBC,EAAoBC,EAAgB,CAC9D,IAAMC,EAAc1N,GAAIwN,CAAQ,EAAIxN,GAAIyN,CAAM,EAC1C/H,EAAQ,EACZ,OAAA+H,EAAO,QAAQ,CAACE,EAAO,IAAC,CACtBjI,GAAS,KAAA,IAAC8H,EAAS,GAAKG,EAAQD,EAAgB,CAAC,EAClD,EAEM,CAAE,YAAAA,EAAa,MAAAhI,CAAK,CAC7B,CAKA,SAASkI,GAAaC,EAAcJ,EAAkB7G,EAAiB,CACrE,GAAI,CACF,IAAMkH,EAAgBhC,GAAmB+B,EAAO,CAAC,EAAG,GAAI,EAAGA,EAAM,CAAC,EAAGjH,EAAQ6G,EAAO,MAAM,EACpFM,EAAcjC,GAAmB+B,EAAO,CAAC,EAAGA,EAAM,EAAG,EAAG,EAAE,EAAGjH,EAAQ6G,EAAO,MAAM,EAElFO,EAAe,CACnB,EAAG,KAAK,IAAI,EAAGH,EAAM,EAAIA,EAAM,CAAC,EAAI,EACpC,EAAG,KAAK,IAAI,EAAGA,EAAM,EAAIA,EAAM,CAAC,EAAI,GAEhCI,EAAwBnC,GAAmB+B,EAAOG,EAAcpH,EAAQ6G,EAAO,MAAM,EAErFS,EAAkB,CACtB,EAAG,KAAK,IAAItH,EAAO,MAAOiH,EAAM,EAAIA,EAAM,CAAC,EAAI,EAC/C,EAAG,KAAK,IAAIjH,EAAO,OAAQiH,EAAM,EAAIA,EAAM,CAAC,EAAI,GAE5CM,EAAwBrC,GAAmB+B,EAAOK,EAAiBtH,EAAQ6G,EAAO,MAAM,EAExFW,EAAYb,GAAmBO,EAAeL,CAAM,EACpDY,EAAYd,GAAmBQ,EAAaN,CAAM,EAClDa,EAAgBf,GAAmBU,EAAuBR,CAAM,EAChEc,EAAchB,GAAmBY,EAAuBV,CAAM,EAE9De,EAAa,KAAK,KAAKJ,EAAU,MAAQA,EAAU,MACvDC,EAAU,MAAQA,EAAU,MAC5BC,EAAc,MAAQA,EAAc,MACpCC,EAAY,MAAQA,EAAY,KAAK,EAEjCE,GAAWL,EAAU,YAAcC,EAAU,YAAcC,EAAc,YAAcC,EAAY,aAAe,EAElHG,GAAa,KAAA,IAACN,EAAU,YAAcK,EAAY,CAAC,EACvD,KAAA,IAACJ,EAAU,YAAcI,EAAY,CAAC,EACtC,KAAA,IAACH,EAAc,YAAcG,EAAY,CAAC,EAC1C,KAAA,IAACF,EAAY,YAAcE,EAAY,CAAC,GAAIA,EAC9C,OAAOD,EAAaE,QACpB9M,EAAA,CACA,MAAO,KAEX,CAEA,SAAS+M,GAAiB/H,EAAmBH,EAAQ,CACnD,IAAImI,EAAQ,KAAK,MAAMnI,EAAE,CAAC,EAC1B,KAAOG,EAAO,IAAIgI,EAAO,KAAK,MAAMnI,EAAE,CAAC,CAAC,GACtCmI,IAEF,IAAIC,EAAS,KAAK,MAAMpI,EAAE,CAAC,EAC3B,KAAOG,EAAO,IAAIiI,EAAQ,KAAK,MAAMpI,EAAE,CAAC,CAAC,GACvCoI,IAEF,IAAMrR,GAAKoR,EAAQC,GAAU,EAEzBC,EAAO,KAAK,MAAMrI,EAAE,CAAC,EACzB,KAAOG,EAAO,IAAI,KAAK,MAAMpJ,CAAC,EAAGsR,CAAI,GACnCA,IAEF,IAAIC,EAAU,KAAK,MAAMtI,EAAE,CAAC,EAC5B,KAAOG,EAAO,IAAI,KAAK,MAAMpJ,CAAC,EAAGuR,CAAO,GACtCA,IAEF,IAAMtR,GAAKqR,EAAOC,GAAW,EAE7B,MAAO,CAAE,EAAAvR,EAAG,EAAAC,CAAC,CACf,UAegBuR,GAAOpI,EAAiB,CACtC,IAAMqI,EAA6B,CAAA,EAC/BC,EAAmC,CAAA,EACjCC,EAAgC,CAAA,EAClCC,EAAsC,CAAA,EAE1C,QAAS3R,EAAI,EAAGA,GAAKmJ,EAAO,OAAQnJ,IAAK,CACvC,IAAI2D,EAAS,EACTiO,EAAU,GACVC,EAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,EAE1B,QAAS9R,EAAI,GAAIA,GAAKoJ,EAAO,MAAOpJ,IAAK,CACvC,IAAME,EAAIkJ,EAAO,IAAIpJ,EAAGC,CAAC,EACzB,GAAIC,IAAM2R,EACRjO,QACK,CACLkO,EAAQ,CAACA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIlO,CAAM,EACvDA,EAAS,EACTiO,EAAU3R,EAGV,IAAM6R,EAAgCvP,GAAIsP,CAAK,EAAI,EAC7CE,EACJ,KAAK,IAAIF,EAAM,GAAKC,CAA6B,EAAIA,GACrD,KAAK,IAAID,EAAM,GAAKC,CAA6B,EAAIA,GACrD,KAAK,IAAID,EAAM,GAAK,EAAIC,CAA6B,EAAI,EAAIA,GAC7D,KAAK,IAAID,EAAM,GAAKC,CAA6B,EAAIA,GACrD,KAAK,IAAID,EAAM,GAAKC,CAA6B,EAAIA,GACrD,CAAC7R,EAGG+R,EAAmCzP,GAAIsP,EAAM,MAAM,EAAE,CAAC,EAAI,EAC1DI,EACJ,KAAK,IAAIJ,EAAM,GAAKG,CAAgC,EAAIA,GACxD,KAAK,IAAIH,EAAM,GAAKG,CAAgC,EAAIA,GACxD,KAAK,IAAIH,EAAM,GAAKG,CAAgC,EAAIA,GACxD/R,EAEF,GAAI8R,EAAoB,CAEtB,IAAMG,EAAOnS,EAAI8R,EAAM,GAAKA,EAAM,GAC5BM,EAASD,EAAOL,EAAM,GAEtBO,EAAO,CAAE,OAAAD,EAAQ,KAAAD,EAAM,EAAAlS,CAAC,EAGxBqS,EAAgBZ,EAAyB,OAAO7K,GACnDuL,GAAUvL,EAAE,OAAO,QAAUuL,GAAUvL,EAAE,OAAO,MAChDsL,GAAQtL,EAAE,OAAO,QAAUuL,GAAUvL,EAAE,OAAO,MAC9CuL,GAAUvL,EAAE,OAAO,QAAUsL,GAAQtL,EAAE,OAAO,MAC5CiL,EAAM,IAAMjL,EAAE,OAAO,KAAOA,EAAE,OAAO,QAAW0G,IAChDuE,EAAM,IAAMjL,EAAE,OAAO,KAAOA,EAAE,OAAO,QAAWyG,EACjD,EAEAgF,EAAc,OAAS,EACzBA,EAAc,GAAG,OAASD,EAE1BX,EAAyB,KAAK,CAAE,IAAKW,EAAM,OAAQA,CAAI,CAAE,EAG7D,GAAIH,EAAuB,CAEzB,IAAMC,EAAOnS,EAAI8R,EAAM,GACjBM,EAASD,EAAOL,EAAM,GAEtBO,EAAO,CAAE,OAAAD,EAAQ,EAAAnS,EAAG,KAAAkS,CAAI,EAGxBG,EAAgBV,EAA4B,OAAO/K,GACtDuL,GAAUvL,EAAE,OAAO,QAAUuL,GAAUvL,EAAE,OAAO,MAChDsL,GAAQtL,EAAE,OAAO,QAAUuL,GAAUvL,EAAE,OAAO,MAC9CuL,GAAUvL,EAAE,OAAO,QAAUsL,GAAQtL,EAAE,OAAO,MAC5CiL,EAAM,IAAMjL,EAAE,OAAO,KAAOA,EAAE,OAAO,QAAW0G,IAChDuE,EAAM,IAAMjL,EAAE,OAAO,KAAOA,EAAE,OAAO,QAAWyG,EACjD,EAEAgF,EAAc,OAAS,EACzBA,EAAc,GAAG,OAASD,EAE1BT,EAA4B,KAAK,CAAE,IAAKS,EAAM,OAAQA,CAAI,CAAE,IAKpEZ,EAAmB,KAAK,GAAGC,EAAyB,OAAO7K,GAAKA,EAAE,OAAO,IAAM5G,GAAK4G,EAAE,OAAO,EAAIA,EAAE,IAAI,GAAK,CAAC,CAAC,EAC9G6K,EAA2BA,EAAyB,OAAO7K,GAAKA,EAAE,OAAO,IAAM5G,CAAC,EAEhF0R,EAAsB,KAAK,GAAGC,EAA4B,OAAO/K,GAAKA,EAAE,OAAO,IAAM5G,CAAC,CAAC,EACvF2R,EAA8BA,EAA4B,OAAO/K,GAAKA,EAAE,OAAO,IAAM5G,CAAC,EAIxFwR,EAAmB,KAAK,GAAGC,EAAyB,OAAO7K,GAAKA,EAAE,OAAO,EAAIA,EAAE,IAAI,GAAK,CAAC,CAAC,EAC1F8K,EAAsB,KAAK,GAAGC,CAA2B,EASzD,IAAMW,EAA+E,CAAA,EACrF,QAAWC,KAAQf,EAAoB,CACrC,GAAIe,EAAK,OAAO,EAAIA,EAAK,IAAI,EAAI,EAE/B,SAIF,IAAMxS,GAAKwS,EAAK,IAAI,OAASA,EAAK,IAAI,KAAOA,EAAK,OAAO,OAASA,EAAK,OAAO,MAAQ,EAChFvS,GAAKuS,EAAK,IAAI,EAAIA,EAAK,OAAO,EAAI,GAAK,EAC7C,GAAI,CAACpJ,EAAO,IAAI,KAAK,MAAMpJ,CAAC,EAAG,KAAK,MAAMC,CAAC,CAAC,EAC1C,SAGF,IAAMwS,EAAU,CAACD,EAAK,IAAI,KAAOA,EAAK,IAAI,OAAQA,EAAK,OAAO,KAAOA,EAAK,OAAO,OAAQA,EAAK,OAAO,EAAIA,EAAK,IAAI,EAAI,CAAC,EACjH/O,EAAOjB,GAAIiQ,CAAO,EAAIA,EAAQ,OAE9BC,EAAQtC,GAAa,CAAC,EAAG,KAAK,MAAMpQ,CAAC,EAAG,EAAG,KAAK,MAAMC,CAAC,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,EAAGmJ,CAAM,EACxFmJ,EAA6B,KAAK,CAAE,MAAAG,EAAO,EAAA1S,EAAG,EAAAC,EAAG,KAAAwD,CAAI,CAAE,EAEzD,GAAI8O,EAA6B,OAAS,EAExC,OAAO,KAETA,EAA6B,KAAK,CAACzO,EAAGrC,IAAMqC,EAAE,MAAQrC,EAAE,KAAK,EAG7D,IAAMkR,EAA+E,CAAA,EACrF,QAASxO,EAAI,EAAGA,EAAI,KAAK,IAAIoO,EAA6B,OAAQlF,EAA4B,EAAG,EAAElJ,EAAG,CACpG,IAAMkM,EAAQkC,EAA6BpO,GACrCyO,EAAmD,CAAA,EAEzD,QAAWC,KAAcN,EACnBM,IAAexC,GAGnBuC,EAAY,KAAI,OAAA,OAAA,OAAA,OAAA,CAAA,EACXC,CAAU,EAAA,CACb,MAAOA,EAAW,MAAS,KAAA,IAACA,EAAW,KAAOxC,EAAM,KAAS,CAAC,EAAIA,EAAM,IAAI,CAAA,CAAA,EAGhFuC,EAAY,KAAK,CAAC9O,EAAGrC,IAAMqC,EAAE,MAAQrC,EAAE,KAAK,EAE5CkR,EAAoB,KAAK,CACvB,OAAQ,CAACtC,EAAOuC,EAAY,GAAIA,EAAY,EAAE,EAC9C,MAAOvC,EAAM,MAAQuC,EAAY,GAAG,MAAQA,EAAY,GAAG,MAC5D,EAEHD,EAAoB,KAAK,CAAC7O,EAAGrC,IAAMqC,EAAE,MAAQrC,EAAE,KAAK,EACpD,IAAMqR,EAAyBH,EAAoB,GAE7C,CAAE,SAAAxE,EAAU,QAAAD,EAAS,WAAAD,CAAU,EAAKP,GAAsB,GAAGoF,EAAuB,MAAM,EAC1FC,EAAYC,GAAqB5J,EAAQuI,EAAuBxD,EAAUD,EAASD,CAAU,EAC7FjL,EAAuB,CAAA,EACzB+P,GACF/P,EAAO,KAAK,CACV,iBAAkB,CAAE,EAAG+P,EAAU,iBAAiB,EAAG,EAAGA,EAAU,iBAAiB,CAAC,EACpF,WAAY,CAAC,EAAG9E,EAAW,EAAG,EAAGA,EAAW,CAAC,EAC7C,UAAW8E,EAAU,UACrB,QAAS,CAAC,EAAG7E,EAAQ,EAAG,EAAGA,EAAQ,CAAC,EACpC,SAAU,CAAC,EAAGC,EAAS,EAAG,EAAGA,EAAS,CAAC,EACxC,EAQH,IAAM8E,EAAc9B,GAAiB/H,EAAQ+E,CAAQ,EAC/C+E,EAAa/B,GAAiB/H,EAAQ8E,CAAO,EAC7CiF,EAAgBhC,GAAiB/H,EAAQ6E,CAAU,EACnDmF,EAAoBJ,GAAqB5J,EAAQuI,EAAuBsB,EAAaC,EAAYC,CAAa,EAWpH,OAVIC,GACFpQ,EAAO,KAAK,CACV,iBAAkB,CAAE,EAAGoQ,EAAkB,iBAAiB,EAAG,EAAGA,EAAkB,iBAAiB,CAAC,EACpG,WAAY,CAAE,EAAGD,EAAc,EAAG,EAAGA,EAAe,CAAC,EACrD,QAAS,CAAE,EAAGD,EAAW,EAAG,EAAGA,EAAY,CAAC,EAC5C,SAAU,CAAE,EAAGD,EAAY,EAAG,EAAGA,EAAa,CAAC,EAC/C,UAAWG,EAAkB,UAC9B,EAGCpQ,EAAO,SAAW,EACb,KAGFA,CACT,CAEA,SAASgQ,GAAqB5J,EAAmBuI,EAA+BxD,EAAiBD,EAAgBD,EAAiB,CAGhI,IAAI9E,EACAkF,EACJ,GAAI,EACD,CAAE,UAAAlF,EAAW,WAAAkF,CAAU,EAAKD,GAAiBF,EAASC,EAAUF,EAAY7E,CAAM,SAC5EiK,EAAP,CACA,OAAO,KAIT,IAAMC,EAA2B,CAC/B,EAAGnF,EAAS,EAAID,EAAQ,EAAID,EAAW,EACvC,EAAGE,EAAS,EAAID,EAAQ,EAAID,EAAW,GAEnCsF,GAAiC/F,GAASU,EAASD,CAAU,EAAIT,GAASU,EAASC,CAAQ,GAAK,EAAIE,EACpGmF,EAAsB,EAAK,EAAID,EAC/BE,EAA2B,CAC/B,EAAGvF,EAAQ,EAAIsF,GAAuBF,EAAyB,EAAIpF,EAAQ,GAC3E,EAAGA,EAAQ,EAAIsF,GAAuBF,EAAyB,EAAIpF,EAAQ,IAGvEwF,EAAoB/B,EACvB,IAAI9K,GAAC,CACJ,IAAM,GAAKA,EAAE,IAAI,OAASA,EAAE,IAAI,KAAOA,EAAE,OAAO,OAASA,EAAE,OAAO,MAAQ,EACpE5G,GAAK4G,EAAE,IAAI,EAAIA,EAAE,OAAO,EAAI,GAAK,EACvC,GAAI,CAACuC,EAAO,IAAI,KAAK,MAAM,CAAC,EAAG,KAAK,MAAMnJ,CAAC,CAAC,EAC1C,OAIF,IAAMyS,EADYtC,GAAa,CAAC,EAAG,KAAK,MAAM,CAAC,EAAG,EAAG,KAAK,MAAMnQ,CAAC,CAAC,EAAG,CAAC,EAAG,EAAG,CAAC,EAAGmJ,CAAM,EAC5DoE,GAAS,CAAC,EAAG,EAAAvN,CAAC,EAAGwT,CAAwB,EACnE,MAAO,CAAE,EAAG,EAAAxT,EAAG,MAAAyS,CAAK,EACrB,EACA,OAAOxS,GAAK,CAAC,CAACA,CAAC,EACf,KAAK,CAAC4D,EAAGrC,IAAMqC,EAAE,MAAQrC,EAAE,KAAK,EAMnC,MAAO,CAAE,iBAFgB8R,GAAgC,IAAMG,EAAkB,OAASA,EAAkB,GAAKD,EAEtF,UAAAtK,CAAS,CACtC,CC1cA,SAASwK,GAAKvK,EAAiB,CAC7B,IAAMwK,EAAYpC,GAAOpI,CAAM,EAC/B,GAAI,CAACwK,EACH,OAAO,KAGT,QAAW9G,KAAY8G,EAAW,CAChC,IAAMC,EAAYjH,GAAQxD,EAAQ0D,CAAQ,EACpCgH,EAAUvP,GAAOsP,EAAU,MAAM,EACvC,GAAIC,EACF,MAAO,CACL,WAAYA,EAAQ,MACpB,KAAMA,EAAQ,KACd,OAAQA,EAAQ,OAChB,QAASA,EAAQ,QACjB,SAAU,CACR,eAAgBD,EAAU,gBAAgB/G,EAAS,UAAW,CAAC,EAC/D,cAAe+G,EAAU,gBAAgB,EAAG,CAAC,EAC7C,kBAAmBA,EAAU,gBAAgB/G,EAAS,UAAWA,EAAS,SAAS,EACnF,iBAAkB+G,EAAU,gBAAgB,EAAG/G,EAAS,SAAS,EAEjE,sBAAuBA,EAAS,SAChC,qBAAsBA,EAAS,QAC/B,wBAAyBA,EAAS,WAElC,4BAA6BA,EAAS,kBAExC,OAAQ+G,EAAU,QAIxB,OAAO,IACT,CAeA,IAAME,GAA0B,CAC9B,kBAAmB,cACnB,iBAAkB,CAChB,IAAK,MACL,MAAO,MACP,KAAM,MACN,wBAAyB,IAE3B,kBAAmB,IAGrB,SAASC,GAAYC,EAAaC,EAAQ,CACxC,OAAO,KAAKA,CAAG,EAAE,QAAQC,GAAG,CAC1BF,EAAOE,GAAOD,EAAIC,GACnB,CACH,CAEA,SAASC,GAAKvU,EAAyBC,EAAeC,EAAgBsU,EAA2B,CAAA,EAAE,CACjG,IAAMC,EAAU,OAAO,OAAO,IAAI,EAClCN,GAAYM,EAASP,EAAc,EACnCC,GAAYM,EAASD,CAAe,EAEpC,IAAME,EAAmBD,EAAQ,oBAAsB,cAAgBA,EAAQ,oBAAsB,cAC/FE,EAAeF,EAAQ,oBAAsB,eAAiBC,EAC9D,CAAC,UAAAnS,EAAW,SAAAE,CAAQ,EAAIxB,GAASjB,EAAMC,EAAOC,EAAQyU,EAAcF,EAAQ,iBAC9EA,EAAQ,iBAAiB,EACzBtR,EAAS2Q,GAAKY,EAAmBjS,EAAWF,CAAS,EACzD,MAAI,CAACY,IAAWsR,EAAQ,oBAAsB,eAAiBA,EAAQ,oBAAsB,iBAC3FtR,EAAS2Q,GAAKY,EAAmBnS,EAAYE,CAAQ,GAEhDU,CACT,CAECoR,GAAa,QAAUA,GfnGxB,IAAAK,EAAyD,OgBTzD,IAAAC,GAAkC,OAU3B,SAASC,GACfC,EACAC,EACO,CACP,GAAI,OAAO,aAAgB,aAAe,OAAO,QAAW,YAC3D,OAGD,IAAMC,KAAQ,WAAe,EACvBC,KAAO,WAAO,YAAY,IAAI,CAAC,EAC/BC,KAAO,WAAO,YAAY,IAAI,CAAC,EAE/BC,EAAU,IAAM,CACrB,IAAMC,EAAM,YAAY,IAAI,EACtBC,EAAUD,EAAMF,EAAK,QACrBI,EAAUF,EAAMH,EAAK,QAC3BH,EAAG,CAAE,QAAAO,EAAS,QAAAC,CAAQ,CAAC,EACvBL,EAAK,QAAUG,EACfJ,EAAM,QAAU,sBAAsBG,CAAO,CAC9C,KAEA,cAAU,KACTH,EAAM,QAAU,sBAAsBG,CAAO,EACtC,IAAM,qBAAqBH,EAAM,OAAQ,GAC9CD,CAAI,CACR,ChBqPE,IAAAQ,GAAA,OA5QIC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,MAAO,OAEP,QAAS,cACT,oBAAqB,WACrB,iBAAkB,YAClB,QAASA,EAAM,QAAQ,CAAC,EACxB,WAAY,QACb,EACA,UAAW,CACV,KAAM,EACN,MAAO,IACP,OAAQ,IACR,QAAS,OACT,SAAU,SACV,OAAQ,UACR,QAAS,CACR,MAAO,IACP,OAAQ,IACR,QAAS,EACT,WAAY,CACb,EACA,QAAS,CACR,SAAU,MACX,CACD,EACA,QAAS,CACR,OAAQ,aAAaA,EAAM,QAAQ,UACnC,YAAa,SACb,aAAc,KACf,EACA,SAAU,CACT,OAAQ,aACT,EACA,MAAO,CACN,UAAW,SACX,UAAW,SACX,WAAY,QACZ,OAAQ,MACT,CACD,EAAE,EAOF,SAASC,GACRC,EACAC,EACAC,EACAC,EACAC,EACAC,EACC,CACDL,EAAI,UAAU,EACd,IAAMM,EAAK,CACV,EAAGL,EAAE,GAAKC,EAAE,EAAID,EAAE,IAAM,EAAIG,GAC5B,EAAGH,EAAE,GAAKC,EAAE,EAAID,EAAE,IAAM,EAAIG,EAC7B,EACMG,EAAK,CACV,EAAGJ,EAAE,GAAKD,EAAE,EAAIC,EAAE,IAAM,EAAIC,GAC5B,EAAGD,EAAE,GAAKD,EAAE,EAAIC,EAAE,IAAM,EAAIC,EAC7B,EAEAJ,EAAI,OAAOM,EAAG,EAAGA,EAAG,CAAC,EACrBN,EAAI,OAAOE,EAAE,EAAGA,EAAE,CAAC,EACnBF,EAAI,OAAOO,EAAG,EAAGA,EAAG,CAAC,EACrBP,EAAI,UAAY,EAChBA,EAAI,YAAcK,EAClBL,EAAI,OAAO,CACZ,CAMO,IAAMQ,GAAiDC,GAAU,CACvE,GAAM,CAAE,kBAAmBC,EAAgB,GAAI,EAAID,EAE7CE,EAAUf,GAAU,EACpB,CAAE,UAAWgB,CAAE,EAAIC,EAAQ,EAE3B,CAACC,EAAQC,CAAS,KAAI,YAAS,EAAK,EACpC,CAACC,EAAQC,CAAS,KAAI,YAAS,EAAK,EACpCC,KAAQ,UAAyB,EAEjCC,KAAmB,UAA0B,IAAI,EACjDC,KAAoB,UAAiC,EACrDC,KAAqB,UAA0B,IAAI,EACnDC,KAAsB,UAAiC,EAEvD,CAACC,EAAIC,CAAK,KAAI,YAAiB,EACrC,sBAAU,IAAM,CACXD,GAAId,EAAM,SAASc,CAAE,CAC1B,EAAG,CAACA,CAAE,CAAC,KAEP,aAAU,IAAM,CA9GjB,IAAAjB,EA+GM,CAACa,EAAiB,UACtBC,EAAkB,SACjBd,EAAAa,EAAiB,QAAQ,WAAW,IAAI,IAAxC,KAAAb,EAA6C,OAC/C,EAAG,CAACa,EAAiB,OAAO,CAAC,KAE7B,aAAU,IAAM,CApHjB,IAAAb,EAqHM,CAACe,EAAmB,UACxBC,EAAoB,SACnBhB,EAAAe,EAAmB,QAAQ,WAAW,IAAI,IAA1C,KAAAf,EAA+C,OACjD,EAAG,CAACe,EAAmB,OAAO,CAAC,EAE/BI,GAAkB,IAAM,CACvB,GACC,CAACX,GACD,CAACI,EAAM,SACP,CAACC,EAAiB,SAClB,CAACC,EAAkB,SACnB,CAACC,EAAmB,SACpB,CAACC,EAAoB,QAErB,OAGD,IAAMI,EAAIR,EAAM,QACVS,EAAKR,EAAiB,QACtBS,EAAOR,EAAkB,QACzBS,EAAKR,EAAmB,QACxBS,EAAOR,EAAoB,QAEjC,GAAII,EAAE,aAAeA,EAAE,iBAAkB,CAExC,IAAMtB,EAAO,KAAK,IAAIsB,EAAE,WAAYA,EAAE,WAAW,EAC3CK,EAAQrB,EAAgBN,EAC9BuB,EAAG,OAASvB,EACZuB,EAAG,MAAQvB,EAEX,GAAM,CAAC4B,EAAKC,CAAG,EAAI,EACjBP,EAAE,WAAatB,GAAQ,GACvBsB,EAAE,YAActB,GAAQ,CAC1B,EACAwB,EAAK,UAAUF,EAAGM,EAAKC,EAAK7B,EAAMA,EAAM,EAAG,EAAGuB,EAAG,MAAOA,EAAG,MAAM,EAGjEC,EAAK,UAAU,EACfA,EAAK,UAAY,yBACjBA,EAAK,MACHxB,EAAOM,GAAiB,GACxBN,EAAOM,GAAiB,EACzBA,EACAA,CACD,EACAkB,EAAK,KAAK,EAEV,IAAMM,EAAiB,CACtB,CACC,GAAI9B,EAAOM,GAAiB,EAC5B,GAAIN,EAAOM,GAAiB,CAC7B,EACA,CACC,GAAIN,EAAOM,GAAiB,EAC5B,GAAIN,EAAOM,GAAiB,CAC7B,EACA,CACC,GAAIN,EAAOM,GAAiB,EAC5B,GAAIN,EAAOM,GAAiB,CAC7B,EACA,CACC,GAAIN,EAAOM,GAAiB,EAC5B,GAAIN,EAAOM,GAAiB,CAC7B,CACD,EACA,QAASyB,EAAI,EAAGA,EAAID,EAAe,OAAQC,IAAK,CAC/C,IAAMjC,EAAIgC,EAAeC,GACnBlC,EACLiC,GACEC,EAAI,EAAID,EAAe,QAAUA,EAAe,QAE7C/B,GAAI+B,GAAgBC,EAAI,GAAKD,EAAe,QAClDnC,GAAW6B,EAAM3B,EAAGC,EAAGC,GAAG,GAAK,uBAAuB,CACvD,CAGA0B,EAAG,OAASzB,EACZyB,EAAG,MAAQzB,EACX,GAAM,CAACgC,EAAKC,CAAG,EAAI,EACjBX,EAAE,WAAahB,GAAiB,GAChCgB,EAAE,YAAchB,GAAiB,CACnC,EACAoB,EAAK,UACJJ,EACAU,EACAC,EACA3B,EACAA,EACA,EACA,EACAmB,EAAG,MACHA,EAAG,MACJ,EAEA,IAAMS,EAAYR,EAAK,aAAa,EAAG,EAAGD,EAAG,MAAOA,EAAG,MAAM,EACvDU,EAAOC,GACZF,EAAU,KACVA,EAAU,MACVA,EAAU,OACV,CACC,kBAAmB,YACpB,CACD,EACA,GAAIC,EAAM,CACTf,EAAMe,EAAK,IAAI,EACf,IAAME,EAAU,CACfF,EAAK,SAAS,cACdA,EAAK,SAAS,eACdA,EAAK,SAAS,kBACdA,EAAK,SAAS,gBACf,EAAE,IAAKG,IAAO,CACb,EAAGA,EAAE,EAAIX,GAAS3B,EAAOM,GAAiB,EAC1C,EAAGgC,EAAE,EAAIX,GAAS3B,EAAOM,GAAiB,CAC3C,EAAE,EACF,QAASyB,EAAI,EAAGA,EAAIM,EAAQ,OAAQN,IAAK,CACxC,IAAMjC,EAAIuC,EAAQN,GACZlC,GACLwC,GAASN,EAAI,EAAIM,EAAQ,QAAUA,EAAQ,QACtCtC,GAAIsC,GAASN,EAAI,GAAKM,EAAQ,QACpC1C,GAAW6B,EAAM3B,GAAGC,EAAGC,GAAG,GAAK,OAAO,CACvC,CACD,MACCqB,EAAM,MAAS,CAEjB,CACD,EAAG,CACFV,EACAf,GACAmB,EAAM,QACNC,EAAiB,QACjBC,EAAkB,QAClBC,EAAmB,QACnBC,EAAoB,QACpBZ,CACD,CAAC,KAED,aAAU,IAAM,CACfQ,EAAM,QAAU,SAAS,cAAc,OAAO,EAC9C,IAAIyB,EAEJ,OAAC,SAAY,CACZ,GAAI,CACHA,EAAS,MAAM,UAAU,aAEvB,aAAa,CAAE,MAAO,CAAE,WAAY,aAAc,CAAE,CAAC,CACxD,OAAQC,EAAN,CACD3B,EAAU,EAAI,EACd,MACD,CACI,CAACC,EAAM,UACXA,EAAM,QAAQ,UAAYyB,EAC1BzB,EAAM,QAAQ,aAAa,cAAe,MAAM,EAChDA,EAAM,QAAQ,KAAK,EACnBH,EAAU,EAAI,EACf,GAAG,EAEI,IAAM,CACZ4B,GAAA,MAAAA,EAAQ,YAAY,QAASE,GAAUA,EAAM,KAAK,GAClD3B,EAAM,QAAU,MACjB,CACD,EAAG,CAAC,CAAC,KAGJ,SAAC,OAAI,UAAWP,EAAQ,UACvB,qBAAC,GAAAmC,QAAA,CAAW,QAAQ,QAAQ,UAAWnC,EAAQ,MAC7C,SAASC,EAATI,EAAW,wBAA6B,mBAAN,EACpC,KACA,QAAC,UAAO,IAAKG,EAAkB,KAC/B,QAAC,UAAO,OAAM,GAAC,IAAKE,EAAoB,GACzC,CAEF,EAIa0B,GAAiDtC,GAAU,CACvE,IAAME,EAAUf,GAAU,EACpB,CAAE,UAAWgB,CAAE,EAAIC,EAAQ,EAE3BmC,KAAe,UAAyB,IAAI,EAC5CC,KAAW,UAAyB,IAAI,EAExCC,KAAmB,eAAY,IAAM,CA3S5C,IAAA5C,GA4SEA,EAAA0C,EAAa,UAAb,MAAA1C,EAAsB,OACvB,EAAG,CAAC0C,EAAa,OAAO,CAAC,EAEnB,CAACG,EAASC,CAAU,KAAI,YAAiB,EACzCC,KAAmB,eACvBT,GAA2C,CAjT9C,IAAAtC,EAkTG,IAAMgD,GAAOhD,EAAAsC,EAAE,OAAO,QAAT,YAAAtC,EAAiB,GAC1B,CAACgD,GACLF,EAAW,IAAI,gBAAgBE,CAAI,CAAC,CACrC,EACA,CAACF,CAAU,CACZ,EACM,CAACpC,EAAQC,CAAS,KAAI,YAAS,EAAK,EAEpC,CAACsC,EAAWC,CAAY,KAAI,YAAgC,MAAM,EAElEC,KAAiB,eACrBb,GAAuC,CA7T1C,IAAAtC,EAgUG,GAFAsC,EAAE,eAAe,IAEbtC,EAAAsC,EAAE,aAAa,QAAf,YAAAtC,EAAsB,UAAW,EAAG,CACvC,IAAMoD,EAAOd,EAAE,aAAa,MAAM,GAClC,GAAIc,EAAK,OAAS,QAAUA,EAAK,KAAK,WAAW,QAAQ,EAAG,CAC3Dd,EAAE,aAAa,WAAa,OAC5BY,EAAa,IAAI,EACjB,MACD,CACD,CACAZ,EAAE,aAAa,WAAa,OAC5BY,EAAa,KAAK,CACnB,EACA,CAACA,CAAY,CACd,EACMG,KAAkB,eACtBf,GAAuC,CACvCA,EAAE,eAAe,EACjBY,EAAa,MAAM,CACpB,EACA,CAACA,CAAY,CACd,EACMI,KAAa,eACjBhB,GAAuC,CAEvC,GADAA,EAAE,eAAe,EACbW,IAAc,KAAM,OACxBC,EAAa,MAAM,EAEnB,IAAMK,EAAS,IAAI,WACnBA,EAAO,UAAY,IAAM,CACxBT,EAAWS,EAAO,MAAgB,CACnC,EACAA,EAAO,cAAcjB,EAAE,aAAa,MAAO,EAAE,CAC9C,EACA,CAACW,EAAWN,EAAS,OAAO,CAC7B,EAEM9B,KAAmB,UAA0B,IAAI,EACjDC,KAAoB,UAAiC,EACrDC,KAAqB,UAA0B,IAAI,EACnDC,KAAsB,UAAiC,EAEvD,CAACC,EAAIC,CAAK,KAAI,YAAiB,KACrC,aAAU,IAAM,CACXD,GAAId,EAAM,SAASc,CAAE,CAC1B,EAAG,CAACA,CAAE,CAAC,KAEP,aAAU,IAAM,CA7WjB,IAAAjB,EA8WM,CAACa,EAAiB,UACtBC,EAAkB,SACjBd,EAAAa,EAAiB,QAAQ,WAAW,IAAI,IAAxC,KAAAb,EAA6C,OAC/C,EAAG,CAACa,EAAiB,OAAO,CAAC,KAE7B,aAAU,IAAM,CAnXjB,IAAAb,EAoXM,CAACe,EAAmB,UACxBC,EAAoB,SACnBhB,EAAAe,EAAmB,QAAQ,WAAW,IAAI,IAA1C,KAAAf,EAA+C,OACjD,EAAG,CAACe,EAAmB,OAAO,CAAC,EAE/B,IAAMyC,KAAkB,eAAY,IAAM,CACzC,GACC,CAACb,EAAS,SACV,CAAC9B,EAAiB,SAClB,CAACC,EAAkB,SACnB,CAACC,EAAmB,SACpB,CAACC,EAAoB,QAErB,OAGDL,EAAU,EAAK,EAEf,IAAMU,EAAKR,EAAiB,QACtBS,EAAOR,EAAkB,QACzBS,EAAKR,EAAmB,QACxBS,EAAOR,EAAoB,QAGjCK,EAAG,MAAQsB,EAAS,QAAQ,MAC5BtB,EAAG,OAASsB,EAAS,QAAQ,OAC7BrB,EAAK,UAAUqB,EAAS,QAAS,EAAG,EAAGtB,EAAG,MAAOA,EAAG,MAAM,EAG1DE,EAAG,MAAQF,EAAG,MAAQ,EACtBE,EAAG,OAASF,EAAG,OAAS,EACxBG,EAAK,UAAUmB,EAAS,QAAS,EAAG,EAAGpB,EAAG,MAAOA,EAAG,MAAM,EAE1D,IAAME,EAAQJ,EAAG,MAAQE,EAAG,MAEtBS,EAAYR,EAAK,aAAa,EAAG,EAAGD,EAAG,MAAOA,EAAG,MAAM,EAC7D,WAAW,IAAM,CAChB,IAAMU,EAAOC,GACZF,EAAU,KACVA,EAAU,MACVA,EAAU,OACV,CACC,kBAAmB,YACpB,CACD,EACA,GAAIC,EAAM,CACTf,EAAMe,EAAK,IAAI,EACf,IAAME,EAAU,CACfF,EAAK,SAAS,cACdA,EAAK,SAAS,eACdA,EAAK,SAAS,kBACdA,EAAK,SAAS,gBACf,EAAE,IAAKG,KAAO,CACb,EAAGA,GAAE,EAAIX,EACT,EAAGW,GAAE,EAAIX,CACV,EAAE,EACF,QAASI,GAAI,EAAGA,GAAIM,EAAQ,OAAQN,KAAK,CACxC,IAAMjC,GAAIuC,EAAQN,IACZlC,GACLwC,GAASN,GAAI,EAAIM,EAAQ,QAAUA,EAAQ,QACtCtC,GAAIsC,GAASN,GAAI,GAAKM,EAAQ,QACpC1C,GAAW6B,EAAM3B,GAAGC,GAAGC,GAAG,GAAK,OAAO,CACvC,CACD,MACCqB,EAAM,MAAS,CAEjB,EAAG,CAAC,CACL,EAAG,CACFL,EAAiB,QACjBC,EAAkB,QAClB6B,EAAS,QACThC,CACD,CAAC,EAEK8C,KAAmB,eAAY,IAAM,CAC1C9C,EAAU,EAAI,CACf,EAAG,CAACA,CAAS,CAAC,EAEd,SACC,SAAC,OACA,aAAW,GAAA+C,SACVrD,EAAQ,UACR4C,IAAc,KACX5C,EAAQ,QACR4C,IAAc,MACd5C,EAAQ,SACR,MACJ,EACA,QAASuC,EACT,kBAAmBO,EACnB,YAAaE,EACb,cAAeC,EAEf,qBAAC,GAAAd,QAAA,CAAW,QAAQ,QAAQ,UAAWnC,EAAQ,MAC7C,SAAAK,EACAJ,EAAE,2BAA2B,KAE7B,sBACE,UAAAA,EAAE,yCAAyC,KAC5C,QAAC,OAAG,EACHA,EAAE,4BAA4B,GAChC,EAEF,EACCuC,MACA,QAAC,OACA,IAAKF,EACL,IAAKE,EACL,OAAQW,EACR,QAASC,EACV,KAED,QAAC,SACA,KAAK,OACL,OAAO,UACP,OAAM,GACN,IAAKf,EACL,SAAUK,EACX,KACA,QAAC,UAAO,IAAKlC,EAAkB,KAC/B,QAAC,UAAO,OAAM,GAAC,IAAKE,EAAoB,GACzC,CAEF,EAMa4C,GAAuCxD,GAAU,CAC7D,IAAME,EAAUf,GAAU,EACpB,CAAE,UAAWgB,CAAE,EAAIC,EAAQ,EAE3B,CAACqD,EAAMC,CAAO,KAAI,YAA4B,OAAO,EAErDC,EAAe,CACpBC,EACAC,IACI,CACAA,GAASH,EAAQG,CAAO,CAC7B,EAEA,SACC,SAAC,OAAI,UAAW3D,EAAQ,KACvB,sBAAC,GAAAmC,QAAA,CAAW,QAAQ,QAClB,UAAAlC,EAAE,uBAAuB,EAAE,KAC7B,KACA,SAAC2D,GAAA,CAAkB,MAAOL,EAAM,UAAS,GAAC,SAAUE,EACnD,qBAACI,GAAA,CAAa,MAAM,QACnB,oBAAC,GAAAC,QAAA,EAAa,EACf,KACA,QAACD,GAAA,CAAa,MAAM,QACnB,oBAAC,GAAAE,QAAA,EAAgB,EAClB,GACD,KACA,QAAC,OAAI,MAAO,CAAE,WAAY,YAAa,EACrC,SAAAR,IAAS,WACT,QAAC1D,GAAA,CAAgB,GAAGC,EAAO,KAE3B,QAACsC,GAAA,CAAgB,GAAGtC,EAAO,EAE7B,GACD,CAEF,ENnXE,IAAAkE,EAAA,OA/IIC,GAAYC,EAAYC,IAAW,CACxC,aAAc,CAEd,EACA,qBAAsB,CACrB,UAAWA,EAAM,QAAQ,CAAC,CAC3B,EACA,aAAc,CACb,UAAWA,EAAM,QAAQ,CAAC,EAC1B,QAAS,OACT,oBAAqB,aACrB,QAASA,EAAM,QAAQ,CAAC,EACxB,WAAY,QACb,EACA,aAAc,CACb,GAAGA,EAAM,WAAW,KACrB,EACA,eAAgB,CACf,QAAS,OACT,SAAU,gBACV,IAAKA,EAAM,QAAQ,CAAC,EACpB,SAAU,OACX,EACA,gBAAiB,CAChB,QAAS,OACT,oBAAqB,yBACrB,QAASA,EAAM,QAAQ,CAAC,EACxB,WAAY,SAEZ,SAAU,QACX,EACA,UAAW,CACV,QAAS,OACT,SAAU,gBACV,IAAKA,EAAM,QAAQ,CAAC,EACpB,SAAU,OACX,EACA,cAAe,CACd,UAAWA,EAAM,QAAQ,EAAE,EAC3B,aAAcA,EAAM,QAAQ,CAAC,CAC9B,EACA,SAAU,CACT,UAAWA,EAAM,QAAQ,CAAC,CAC3B,EACA,gBAAiB,CAChB,SAAU,OACX,EACA,gBAAiB,CAChB,UAAWA,EAAM,QAAQ,CAAC,EAC1B,QAAS,OACT,MAAO,OACP,oBAAqB,yBACrB,QAASA,EAAM,QAAQ,CAAC,EACxB,WAAY,SACZ,UAAW,QACZ,EACA,WAAY,CACX,QAAS,OACT,oBAAqB,WACrB,iBAAkB,iBAClB,WAAY,QACb,EACA,WAAY,CACX,YAAaA,EAAM,QAAQ,CAAC,EAC5B,SAAU,OACV,QAAS,aACT,WAAY,CACb,EACA,aAAc,CACb,MAAOC,GAAM,IACd,EACA,sBAAuB,CACtB,MAAOC,GAAO,IACf,CACD,EAAE,EAsCF,IAAMC,GAEDC,GAAU,CACd,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3BC,EAAUC,GAAU,EAEpB,CAACC,EAAeC,CAAgB,KAAI,aAAS,EAAK,EAElDC,EACHN,EAD4BI,EAE5B,kFAGA,uFAFA,EAMG,CAAE,UAAAG,CAAU,EAAIC,GAAW,EAC3B,CAACC,CAAW,EAAIC,GAAkB,kBAAkBH,IAAa,CACtE,UAAW,EACZ,CAAC,EACKI,EAAWF,GAAA,YAAAA,EAAa,OAExBG,EACLD,IACC,CAACA,EAAS,eACV,CAACA,EAAS,6BACV,CAACA,EAAS,6BACV,CAACA,EAAS,+BAEZ,SACC,oBACC,qBAAC,GAAAE,QAAA,CAAc,UAAWX,EAAQ,aACjC,oBAAC,GAAAY,QAAA,CAAW,QAAQ,QAClB,SAAAd,EAAE,oDAAoD,EACxD,KACA,QAAC,MACA,UAAWE,EAAQ,aACnB,MAAO,CAAE,UAAW,OAAQ,EAE5B,qBAAC,MACA,oBAAC,KAAE,uBAAW,EAAI,WAAUF,EAAE,iBAAiB,EAAG,OAClD,OAAC,KAAG,SAAAA,EAAE,eAAe,EAAE,GACxB,KACA,QAAC,MACA,oBAAC,KAAE,uBAAW,EAAI,UAAS,IAC1BA,EAAE,2CAA2C,EAAG,OACjD,OAAC,KAAG,SAAAA,EAAE,2BAA2B,EAAE,GACpC,KACA,OAAC,MAAI,SAAAA,EAAE,eAAe,EAAE,GACzB,EAECY,MACA,OAACG,GAAA,CAAM,SAAS,UACd,SAAAf,EACA,kGACD,EACD,KAGD,QAAC,GAAAc,QAAA,CACA,QAAQ,QACR,UAAWZ,EAAQ,qBAElB,UAAAF,EAAE,qCAAqC,EAAE,KAC3C,KACA,QAAC,OAAI,UAAWE,EAAQ,aACvB,qBAAC,OACA,MAAO,CACN,QAAS,EACT,QAAS,OACT,SAAU,QACX,EAEA,oBAAC,GAAAc,QAAA,CACA,QAAQ,YACR,MAAM,UACN,QAAS,IACRjB,EAAM,eACL,EACAK,CACD,EAGA,SAAAJ,EAAE,kBAAkB,EACtB,KACA,OAAC,GAAAiB,QAAA,CACA,MAAOjB,EAAE,8BAA8B,EACvC,WACC,OAAC,GAAAkB,QAAA,CACA,QAASd,EACT,SAAU,CAACe,EAAOC,IACjBf,EAAiBe,CAAO,EAE1B,EAEF,GACD,KACA,QAAC,GAAAN,QAAA,CACA,QAAQ,UACR,MAAO,CAAE,UAAW,YAAa,EAEhC,UAAAR,KACD,OAAC,OAAG,EACHN,EAAE,iDAAiD,GACrD,KAEA,OAAC,GAAAgB,QAAA,CACA,QAAQ,YACR,MAAM,YACN,MAAO,CAAE,QAAS,CAAE,EACpB,QAAS,IACRjB,EAAM,eAAe,EAAwB,EAG7C,SAAAC,EAAE,cAAc,EAClB,KAEA,OAAC,GAAAgB,QAAA,CACA,QAAQ,YACR,MAAM,YACN,MAAO,CAAE,QAAS,CAAE,EACpB,QAAS,IACRjB,EAAM,eAAe,CAA6B,EAGlD,SAAAC,EAAE,aAAa,EACjB,KACA,OAAC,GAAAc,QAAA,CAAW,MAAO,CAAE,QAAS,CAAE,EAAG,QAAQ,UACzC,SAAAd,EACA,sIACD,EACD,KAEA,OAAC,GAAAgB,QAAA,CACA,QAAQ,YACR,MAAM,UACN,MAAO,CAAE,QAAS,CAAE,EACpB,QAAS,IACRjB,EAAM,eAAe,CAA0B,EAG/C,SAAAC,EAAE,eAAe,EACnB,GACD,GACD,KACA,OAAC,GAAAqB,QAAA,CACA,mBAAC,GAAAL,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,SACf,MAAM,UAEL,SAAAC,EAAE,QAAQ,EACZ,EACD,GACD,CAEF,EAcMsB,GAEDvB,GAAU,CACd,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3BC,EAAUC,GAAU,EAE1B,SACC,oBACC,qBAAC,GAAAU,QAAA,CAAc,UAAWX,EAAQ,aACjC,qBAAC,GAAAY,QAAA,CACA,QAAQ,QACR,UAAWZ,EAAQ,qBAElB,UAAAF,EAAE,sCAAsC,EAAE,KAC5C,KACA,QAAC,OAAI,UAAWE,EAAQ,aACvB,oBAAC,GAAAc,QAAA,CACA,QAAQ,YACR,MAAM,UACN,MAAO,CAAE,QAAS,CAAE,EACpB,QAAS,IACRjB,EAAM,eAAe,CAA6B,EAGlD,SAAAC,EAAE,aAAa,EACjB,KACA,QAAC,GAAAc,QAAA,CACA,QAAQ,UACR,MAAO,CAAE,UAAW,YAAa,EAEhC,UAAAd,EAAE,iBAAiB,KACpB,OAAC,OAAG,EACHA,EAAE,eAAe,GACnB,KAEA,OAAC,GAAAgB,QAAA,CACA,QAAQ,YACR,MAAM,YACN,MAAO,CAAE,QAAS,CAAE,EACpB,SAAQ,GACR,QAAS,IACRjB,EAAM,eAAe,CAA6B,EAGlD,SAAAC,EAAE,aAAa,EACjB,KACA,QAAC,GAAAc,QAAA,CAAW,QAAQ,UAClB,UAAAd,EAAE,2CAA2C,KAC9C,OAAC,OAAG,EACHA,EAAE,2BAA2B,GAC/B,KAEA,OAAC,GAAAgB,QAAA,CACA,QAAQ,YACR,MAAM,UACN,MAAO,CAAE,QAAS,CAAE,EACpB,QAAS,IACRjB,EAAM,eAAe,CAA0B,EAG/C,SAAAC,EAAE,eAAe,EACnB,GACD,GACD,KACA,OAAC,GAAAqB,QAAA,CACA,mBAAC,GAAAL,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,SACf,MAAM,UAEL,SAAAC,EAAE,QAAQ,EACZ,EACD,GACD,CAEF,EASMuB,GAAiDxB,GAAU,CAChE,IAAMG,EAAUC,GAAU,EACpB,CAAE,UAAWH,CAAE,EAAIC,EAAQ,EAE3B,CAACuB,EAAMC,CAAO,KAAI,aAAS,EAAK,EAChCC,KAAa,gBACjBC,GAAiB,CACbH,IACJC,EAAQ,EAAI,EAEZ,WAAW,IAAM,CAChB1B,EAAM,OAAO4B,CAAI,CAClB,EAAG,GAAG,EACP,EACA,CAACH,EAAMC,EAAS1B,EAAM,MAAM,CAC7B,EAEA,SACC,oBACC,oBAAC,GAAAc,QAAA,CAAc,UAAWX,EAAQ,eACjC,mBAAC0B,GAAA,CAAU,SAAUF,EAAY,EAClC,KACA,OAAC,GAAAL,QAAA,CACC,SAAAtB,EAAM,aACN,OAAC,GAAAiB,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,SACf,MAAM,UAEL,SAAAC,EAAE,QAAQ,EACZ,EAEF,GACD,CAEF,EASM6B,GAA+C9B,GAAU,CAC9D,IAAMG,EAAUC,GAAU,EACpB,CAAE,UAAWH,CAAE,EAAIC,EAAQ,EAEjC,SACC,oBACC,qBAAC,GAAAY,QAAA,CAAc,UAAWX,EAAQ,gBACjC,oBAAC,GAAA4B,QAAA,CAAiB,KAAM,GAAI,KAC5B,OAAC,GAAAhB,QAAA,CAAW,QAAQ,QAAS,SAAAf,EAAM,QAAQ,GAC5C,KACA,OAAC,GAAAsB,QAAA,CACC,SAAAtB,EAAM,aACN,OAAC,GAAAiB,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,SACf,MAAM,UAEL,SAAAC,EAAE,QAAQ,EACZ,EAEF,GACD,CAEF,EAUM+B,GACLhC,GACI,CACJ,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3BC,EAAUC,GAAU,EAEpB6B,EAAUjC,EAAM,QAChBkC,EAAyBD,EAAQ,gBAAgB,SAAS,CAAC,EAC3DE,EAAyBF,EAAQ,gBAAgB,SAAS,CAAC,EAC3DG,EAA2BH,EAAQ,gBAAgB,SAAS,CAAC,EAC7DI,EAAkBJ,EAAQ,gBAAgB,SAAS,CAAC,EACpDK,EAAaL,EAAQ,eAErB,CAACM,EAAsBC,CAAuB,KAAI,aACvDN,CACD,EACM,CAACO,EAAsBC,CAAuB,KAAI,aACvDP,CACD,EACM,CAACQ,EAAwBC,CAAyB,KAAI,aAC3DR,CACD,EACM,CAACS,EAAeC,CAAgB,KAAI,aAAST,CAAe,EAC5D,CAACU,EAAUC,CAAW,KAAI,aAASV,CAAU,EAG7CW,EAAW,IAAM,CACtB,IAAMC,EAAqD,CAAC,EACxDX,GAAsBW,EAAgB,KAAK,CAAC,EAC5CT,GAAsBS,EAAgB,KAAK,CAAC,EAC5CP,GAAwBO,EAAgB,KAAK,CAAC,EAC9CL,GAAeK,EAAgB,KAAK,CAAC,EAEzC,IAAMC,EAAwB,CAC7B,gBAAAD,EACA,eAAgBH,CACjB,EACA/C,EAAM,qBAAqBmD,CAAK,CACjC,EAEA,SACC,oBACC,qBAAC,GAAArC,QAAA,CAAc,UAAWX,EAAQ,UACjC,oBAAC,GAAAY,QAAA,CAAW,QAAQ,QAClB,SAAAd,EACA,iFACD,EACD,KACA,OAAC,GAAAc,QAAA,CAAW,QAAQ,UAAU,UAAWZ,EAAQ,cAC/C,SAAAF,EACA,oEACD,EACD,KAEA,OAAC,GAAAiB,QAAA,CACA,SACC,oBACC,qBAAC,KAAE,8BAED,CAACgB,MACD,oBAAE,eAAGjC,EAAE,eAAe,EAAE,KAAC,GAE3B,KACA,OAAC,OAAG,KACJ,QAAC,GAAAc,QAAA,CAAW,QAAQ,UAClB,UAAAd,EAAE,UAAU,EAAE,IAAEA,EAAE,0BAA0B,EAAE,SAEhD,GACD,EAED,SAAU,CAACiC,EACX,WACC,OAAC,GAAAf,QAAA,CACA,QAASoB,EACT,SAAU,CAACnB,EAAOC,IACjBmB,EAAwBnB,CAAO,EAEjC,EAEF,KACA,OAAC,GAAAH,QAAA,CACA,SACC,oBACC,qBAAC,KAAE,6BAED,CAACiB,MACD,oBAAE,eAAGlC,EAAE,eAAe,EAAE,KAAC,GAE3B,KACA,OAAC,OAAG,KACJ,QAAC,GAAAc,QAAA,CAAW,QAAQ,UAClB,UAAAd,EAAE,UAAU,EAAG,IACfA,EAAE,qCAAqC,EAAE,SAC3C,GACD,EAED,SAAU,CAACkC,EACX,WACC,OAAC,GAAAhB,QAAA,CACA,QAASsB,EACT,SAAU,CAACrB,EAAOC,IACjBqB,EAAwBrB,CAAO,EAEjC,EAEF,KACA,OAAC,GAAAH,QAAA,CACA,SACC,oBACC,qBAAC,KAAE,+BAED,CAACkB,MACD,oBAAE,eAAGnC,EAAE,eAAe,EAAE,KAAC,GAE3B,KACA,OAAC,OAAG,KACJ,OAAC,GAAAc,QAAA,CAAW,QAAQ,UAClB,SAAAd,EACA,qFACD,EACD,GACD,EAED,SAAU,CAACmC,EACX,WACC,OAAC,GAAAjB,QAAA,CACA,QAASwB,EACT,SAAU,CAACvB,EAAOC,IACjBuB,EAA0BvB,CAAO,EAEnC,EAEF,KACA,OAAC,GAAAH,QAAA,CACA,SACC,oBACC,qBAAC,KAAE,sBAED,CAACmB,MACD,oBAAE,eAAGpC,EAAE,eAAe,EAAE,KAAC,GAE3B,KACA,OAAC,OAAG,KACJ,QAAC,GAAAc,QAAA,CAAW,QAAQ,UAClB,UAAAd,EAAE,UAAU,EAAG,IACfA,EAAE,sCAAsC,GAC1C,GACD,EAED,SAAU,CAACoC,EACX,WACC,OAAC,GAAAlB,QAAA,CACA,QAAS0B,EACT,SAAU,CAACzB,EAAOC,IACjByB,EAAiBzB,CAAO,EAE1B,EAEF,KACA,OAAC,GAAAH,QAAA,CACA,UAAWf,EAAQ,SACnB,SACC,oBACC,qBAAC,KAAE,uCAED,CAACmC,MAAc,oBAAE,eAAGrC,EAAE,eAAe,EAAE,KAAC,GAC1C,KACA,OAAC,OAAG,KACJ,OAAC,GAAAc,QAAA,CAAW,QAAQ,UAClB,SAAAd,EACA,0GACD,EACD,GACD,EAED,SAAU,CAACqC,EACX,WACC,OAAC,GAAAnB,QAAA,CACA,QAAS4B,EACT,SAAU,CAAC3B,EAAOC,IAAY2B,EAAY3B,CAAO,EAClD,EAEF,GACD,KACA,QAAC,GAAAC,QAAA,CACA,oBAAC,GAAAL,QAAA,CAAO,QAAQ,YAAY,QAASgC,EAAU,MAAM,UACnD,SAAAhD,EAAE,IAAI,EACR,KACA,OAAC,GAAAgB,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,SACf,MAAM,UAEL,SAAAC,EAAE,QAAQ,EACZ,GACD,GACD,CAEF,EAUMmD,GAAmDpD,GAAU,CAClE,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3B,CAACmD,EAAKC,CAAM,KAAI,aAAS,EAAE,EAC3B,CAACC,EAAOC,CAAQ,KAAI,aAAS,EAAK,EAElCC,EAAgBrC,GAA+C,CACpE,IAAMiC,EAAMjC,EAAM,OAAO,MAAM,QAAQ,UAAW,EAAE,EACpDkC,EAAOD,CAAG,EACVG,EAAS,EAAK,CACf,EAEME,EAAa,IAAM,CACpBL,EAAI,SAAW,GAAGG,EAAS,EAAI,CACpC,EAEMP,EAAW,IAAM,CAClBI,EAAI,SAAW,GAAGrD,EAAM,OAAOqD,CAAG,CACvC,EAEMlD,EAAUC,GAAU,EAC1B,SACC,oBACC,qBAAC,GAAAU,QAAA,CAAc,UAAWX,EAAQ,gBACjC,oBAAC,GAAAY,QAAA,CACA,QAAQ,QACR,UAAWZ,EAAQ,qBAElB,SAAAF,EACA,sJACD,EACD,KACA,QAAC,OAAI,UAAWE,EAAQ,gBACvB,oBAAC,GAAAwD,QAAA,CACA,UAAW,GACX,QAAQ,WACR,OAAO,QACP,WAAY,CACX,UAAW,EACX,MAAO,CAAE,UAAW,QAAS,CAC9B,EACA,MAAON,EACP,MAAO,CAAC,CAACE,EACT,SAAUE,EACV,OAAQC,EACR,UAAYE,GAAM,CACbA,EAAE,MAAQ,SAASX,EAAS,EAC5BW,EAAE,MAAQ,UAAU5D,EAAM,SAAS,CACxC,EACA,KACD,OAAC,GAAAe,QAAA,CAAW,QAAQ,QAAS,SAAAf,EAAM,IAAI,KACvC,OAAC,GAAAe,QAAA,CAAW,QAAQ,UAAU,eAAG,KACjC,OAAC,GAAAA,QAAA,CAAW,QAAQ,UAAU,eAAG,GAClC,GACD,KACA,QAAC,GAAAO,QAAA,CACA,oBAAC,GAAAL,QAAA,CACA,SAAUoC,EAAI,SAAW,EACzB,QAASJ,EACT,MAAM,UAEL,SAAAhD,EAAE,IAAI,EACR,KACA,OAAC,GAAAgB,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,SACf,MAAM,UAEL,SAAAC,EAAE,QAAQ,EACZ,GACD,GACD,CAEF,EAWM4D,GAAyC7D,GAAU,CAtvBzD,IAAA8D,EAuvBC,GAAM,CAAE,UAAW7D,CAAE,EAAIC,EAAQ,EAC3BC,EAAUC,GAAU,EAEpB2D,EAAO/D,EAAM,YAAc,GAAAgE,QAAc,GAAAC,QACzCC,EAAUlE,EAAM,YACnBC,EAAE,gCAAiCD,EAAM,OAAO,SAAS,CAAC,EAC1DC,EAAE,kCAAmCD,EAAM,OAAO,SAAS,CAAC,EACzDmE,EAAWnE,EAAM,YACpBC,EACA,mFACA,EACAA,EAAE,sBAAsB6D,EAAA9D,EAAM,gBAAN,KAAA8D,EAAuB7D,EAAE,MAAM,CAAC,EAErDmE,EAAWnE,EAChB,wEACD,EAEA,SACC,oBACC,qBAAC,GAAAa,QAAA,CAAc,UAAWX,EAAQ,WACjC,oBAAC4D,EAAA,CACA,aAAW,GAAAM,SACVlE,EAAQ,WACRH,EAAM,YACHG,EAAQ,sBACRA,EAAQ,YACZ,EACD,KACA,OAAC,GAAAY,QAAA,CACA,QAAQ,QACR,MAAO,CAAE,WAAY,OAAQ,SAAU,MAAO,EAE7C,SAAAmD,EACF,KACA,OAAC,GAAAnD,QAAA,CAAW,QAAQ,QAAS,SAAAoD,EAAS,KACtC,OAAC,GAAApD,QAAA,CAAW,QAAQ,QAAS,SAAAqD,EAAS,GACvC,KACA,OAAC,GAAA9C,QAAA,CACA,mBAAC,GAAAL,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,OACf,MAAM,UAEL,SAAAC,EAAE,IAAI,EACR,EACD,GACD,CAEF,EASMqE,GAA2DtE,GAAU,CAC1E,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3BC,EAAUC,GAAU,EAE1B,SACC,oBACC,qBAAC,GAAAU,QAAA,CAAc,UAAWX,EAAQ,WACjC,oBAAC,GAAA8D,QAAA,CACA,aAAW,GAAAI,SAAKlE,EAAQ,WAAYA,EAAQ,YAAY,EACzD,KACA,OAAC,GAAAY,QAAA,CAAW,QAAQ,QAClB,SAAAd,EACA,wCACAD,EAAM,OAAO,SAAS,CACvB,EACD,GACD,KACA,OAAC,GAAAsB,QAAA,CACA,mBAAC,GAAAL,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,OACf,MAAM,UAEL,SAAAC,EAAE,IAAI,EACR,EACD,GACD,CAEF,EAWMsE,GAAuDvE,GAAU,CACtE,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3BC,EAAUC,GAAU,EAEpB2D,EAAO/D,EAAM,QAAU,GAAAiE,QAAkB,GAAAD,QAE/C,SACC,oBACC,qBAAC,GAAAlD,QAAA,CAAc,UAAWX,EAAQ,WACjC,oBAAC4D,EAAA,CACA,aAAW,GAAAM,SACVlE,EAAQ,WACRH,EAAM,QACHG,EAAQ,aACRA,EAAQ,qBACZ,EACD,KACA,OAAC,GAAAY,QAAA,CACA,QAAQ,QACR,MAAO,CAAE,WAAY,OAAQ,SAAU,MAAO,EAE7C,SAAAf,EAAM,MACR,KACA,OAAC,GAAAe,QAAA,CAAW,QAAQ,QAAS,SAAAf,EAAM,QAAQ,GAC5C,KACA,OAAC,GAAAsB,QAAA,CACA,mBAAC,GAAAL,QAAA,CACA,QAAQ,YACR,QAASjB,EAAM,OACf,MAAM,UAEL,SAAAC,EAAE,IAAI,EACR,EACD,GACD,CAEF,EA4BauE,GAERxE,GAAU,CACd,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3BuE,KAAU,YAAQ,IAAM,CAC7B,OAAQzE,EAAM,UACR,GACJ,SACC,OAACD,GAAA,CACA,eAAgBC,EAAM,eACtB,SAAUA,EAAM,SACjB,MAEG,GACJ,SACC,OAACuB,GAAA,CACA,eAAgBvB,EAAM,eACtB,SAAUA,EAAM,SACjB,MAEG,GACJ,SACC,OAACwB,GAAA,CACA,OAAQxB,EAAM,OACd,SAAUA,EAAM,SACjB,MAEG,GACJ,SACC,OAAC8B,GAAA,CACA,QAAS7B,EAAE,qCAAqC,EAChD,SAAUD,EAAM,SACjB,MAEG,GACJ,SACC,OAAC8B,GAAA,CACA,QAAS7B,EAAE,qCAAqC,EAChD,SAAUD,EAAM,SACjB,MAEG,GACJ,SACC,OAACgC,GAAA,CACA,qBAAsBhC,EAAM,qBAC5B,QAASA,EAAM,QACf,SAAUA,EAAM,SACjB,MAEG,GACJ,SACC,OAACoD,GAAA,CACA,IAAKpD,EAAM,IACX,SAAUA,EAAM,SAChB,OAAQA,EAAM,OACf,MAEG,GACJ,SACC,OAAC6D,GAAA,CACA,OAAQ7D,EAAM,OACd,YAAaA,EAAM,YACnB,cAAeA,EAAM,cACrB,OAAQA,EAAM,OACf,MAEG,GACJ,SACC,OAACsE,GAAA,CACA,OAAQtE,EAAM,OACd,OAAQA,EAAM,OACf,MAEG,IACJ,SACC,OAACuE,GAAA,CACA,MAAOvE,EAAM,MACb,QAASA,EAAM,QACf,QAASA,EAAM,QACf,OAAQA,EAAM,OACf,MAEG,GACJ,SACC,OAAC8B,GAAA,CACA,QAAS7B,EACR,qDACD,EACD,EAGJ,EAAG,CAACD,EAAM,IAAI,CAAC,EAET0E,KAAQ,YAAQ,IAAM,CAC3B,OAAQ1E,EAAM,UACR,OACA,OACA,OACA,OACA,OACA,OACA,GACJ,OAAOC,EAAE,gBAAgB,MAErB,GACJ,OAAOA,EAAE,gBAAgB,MAErB,OACA,GACJ,OAAOA,EAAE,gBAAgB,EAE5B,EAAG,CAACD,EAAM,IAAI,CAAC,EACf,SACC,QAAC,GAAA2E,QAAA,CACA,KAAM3E,EAAM,OACZ,QAASA,EAAM,SACf,kBAAgB,qBAChB,mBAAiB,2BACjB,SAAU,GAEV,oBAAC,GAAA4E,QAAA,CAAY,GAAG,qBAAsB,SAAAF,EAAM,EAC3CD,GACF,CAEF,EXxzBS,IAAAI,GAAA,OA3LIC,GAAmCC,GAAU,CACzD,GAAM,CAAE,QAAAC,CAAQ,EAAID,EACd,CAAE,MAAOE,EAAgB,UAAWC,CAAY,EAAIC,GAAW,EAC/D,CAAE,UAAAC,CAAU,EAAIC,GAAW,EAC3B,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAC3BC,EAAMC,GAAO,EACb,CAAE,iBAAAC,CAAiB,EAAIC,GAAW,EAClC,CAACC,EAAQC,CAAO,KAAI,aAAS,EAAK,EAElC,CAACC,CAAS,EAAIC,GAA0B,CAC7C,GAAI,GAAGX,mBACP,aAAc,EACf,CAAC,EACK,CAACY,EAAW,CAAEC,CAAY,EAAIF,GAA0B,CAC7D,GAAI,GAAGX,mBACP,aAAc,EACf,CAAC,EACK,CAACc,CAAc,EAAIH,GAA0B,CAClD,GAAI,GAAGX,wBACP,aAAc,EACf,CAAC,EAEK,CAACe,EAAqBC,CAAsB,KAAI,aAEpD,CAAC,CAAC,EAEE,CAACC,EAAiBC,CAAkB,KACzC,aAAmC,EAC9B,CAACC,EAA6BC,CAA8B,KACjE,aAAS,EAAK,EAETC,KAAS,gBACbC,GAAyB,CAjE5B,IAAAC,EAmEOD,EAAQ,OAAS,aACpBJ,EAAmBI,EAAQ,MAAM,EAE7BA,EAAQ,OAAO,OAAS,QAC3BF,EAA+B,EAAI,GAE1BE,EAAQ,OAAS,YAC3BN,GAAuBO,EAAAD,EAAQ,OAAO,WAAf,KAAAC,EAA2B,CAAC,CAAC,EAChDD,EAAQ,OAAO,OAAS,QACtBhB,EACJJ,EAAE,qCAAqC,EACvC,SACD,EAGH,EACA,CAACgB,EAAoBF,EAAwBV,CAAgB,CAC9D,EACAkB,GAAQH,CAAM,EAGd,GAAM,CAACI,EAAsBC,CAAuB,KAAI,aAAS,EAAK,KACtE,cAAU,KACL7B,GAAkBC,GAAe,CAAC2B,IACrCC,EAAwB,EAAI,EACvBtB,EAAI,oBAAoB,GAEvB,IAAM,CACRqB,IACHC,EAAwB,EAAK,EACxBtB,EAAI,sBAAsB,EAEjC,GACE,CAACP,EAAgBC,EAAa2B,CAAoB,CAAC,EAEtD,eAAeE,GAAc,CAC5B,GAAI,CAACb,EAEJ,GAAI,CACHE,EAAuB,CAAC,CAAC,EACzB,MAAMZ,EAAI,oBAAoB,CAC/B,OAASwB,EAAP,CACDtB,EAAiBuB,GAAgBD,CAAC,EAAG,OAAO,EAC5C,MACD,CAEF,CAEA,IAAME,EAA2B,CAAC,EAClC,GAAIlC,EACH,QAAWmC,KAAU,OAAO,KAAKnC,CAAO,EAAG,CAC1C,IAAMoC,EAASpC,EAAQmC,GACnBC,GAAQF,EAAe,KAAKE,CAAM,CACvC,CAGD,eAAeC,EAAkBF,EAAgB,CAChDb,EAAmB,CAClB,KAAM,4BACN,OAAAa,CACD,CAAC,EACDX,EAA+B,EAAI,CACpC,CAEA,IAAMc,KAAc,gBAAY,IAAM,CACrCd,EAA+B,EAAK,EAEpC,WAAW,IAAM,CAChBF,EAAmB,MAAS,CAC7B,EAAG,GAAG,CACP,EAAG,CAACE,EAAgCF,CAAkB,CAAC,EAGjDiB,GAAiC,IAEvB,CACf,GAAIvB,EACH,MAAO,CACN,OACA,SAAU,IAAM,CACfQ,EAA+B,EAAK,EAEpC,WAAW,IAAM,CAChBP,EAAa,EAAK,CACnB,EAAG,GAAG,CACP,CACD,EACM,GAAI,CAACI,GAAmB,CAACP,EAC/B,MAAO,CACN,OACA,SAAU,IAAMU,EAA+B,EAAK,EACpD,eAAgB,MAAOgB,EAAUC,IAAkB,CAClD,GAAID,IAAa,GAA0B,CAC1ClB,EAAmB,CAAE,KAAM,YAAa,CAAC,EACzC,MACD,CAEA,GAAI,CACH,MAAMd,EAAI,eACTgC,EACAC,CACD,EACAnB,EAAmB,CAClB,KAAM,kBACP,CAAC,CACF,OAAQU,GAAN,CACDtB,EACCJ,EAAE,2BAA2B,EAC7B,OACD,CACD,CACD,CACD,EACM,IAAIe,GAAA,YAAAA,EAAiB,QAAS,4BACpC,MAAO,CACN,OACA,SAAUiB,EACV,eAAgB,MAAOE,GAAa,CACnC,GAAI,CACH,MAAMhC,EAAI,kBACTa,EAAgB,OAChBmB,CACD,EACAlB,EAAmB,CAClB,KAAM,kBACP,CAAC,CACF,OAAQU,EAAN,CACDtB,EACCJ,EAAE,oCAAoC,EACtC,OACD,CACD,CACD,CACD,EACM,IAAIe,GAAA,YAAAA,EAAiB,QAAS,aACpC,MAAO,CACN,OACA,OAAQ,MAAOqB,GAAS,CACvBpB,EAAmB,CAAE,KAAM,MAAO,CAAC,EACnC,GAAI,CACH,IAAMqB,EAAS,MAAMnC,EAAI,WAAWkC,EAAM,EAAI,EAC1CC,EAAO,OAAS,QACnBjC,EACCJ,EAAE,oCAAoC,EACtC,SACD,EACAgB,EAAmB,CAAE,KAAM,YAAa,CAAC,GAC/BqB,EAAO,OAAS,aAC1BrB,EAAmB,CAClB,KAAM,gBACN,QAAS,GACT,MAAOhB,EAAE,yBAAyB,EAClC,WACC,sBACE,UAAAA,EACA,4DACD,KACA,QAAC,OAAG,EACHA,EACA,6DACD,GACD,CAEF,CAAC,EACSqC,EAAO,OAAS,KAC1BrB,EAAmB,CAClB,KAAM,kBACP,CAAC,EACSqB,EAAO,OAAS,WAC1BrB,EAAmB,CAClB,KAAM,gBACN,QAAS,GACT,MAAOhB,EAAE,kBAAkB,EAC3B,QAASA,EACR,4CACAqC,EAAO,OAAO,SAAS,CACxB,CACD,CAAC,EACSA,EAAO,OAAS,eAC1BrB,EAAmB,CAClB,KAAM,gBACN,QAAS,GACT,MAAOhB,EAAE,qBAAqB,EAC9B,QAASA,EACR,0DACD,CACD,CAAC,CAEH,OAAS0B,EAAP,CACDM,EAAY,EACZ5B,EAAiBJ,EAAE,wBAAwB,EAAG,OAAO,CACtD,CACD,EACA,SAAUgC,CACX,EACM,GACN,CAACjB,GACDA,EAAgB,OAAS,mBAEzB,MAAO,CACN,OACA,SAAU,IAAM,CACfG,EAA+B,EAAK,EAEpC,WAAW,IAAM,CAChBhB,EAAI,cAAc,EAClBc,EAAmB,MAAS,CAC7B,EAAG,GAAG,CACP,CACD,EACM,GAAID,EAAgB,OAAS,OACnC,MAAO,CACN,OACA,SAAU,IAAM,CAEhB,CACD,EACM,GAAIA,EAAgB,OAAS,cACnC,MAAO,CACN,OACA,IAAKA,EAAgB,IACrB,OAASuB,GAAQ,CAChBpC,EAAI,YAAYoC,CAAG,CACpB,EACA,SAAU,IAAM,CACfpC,EAAI,YAAY,EAAK,CACtB,CACD,EACM,GAAIa,EAAgB,OAAS,uBACnC,MAAO,CACN,OACA,QAASA,EAAgB,QACzB,qBAAuBwB,GAAU,CAChCrC,EAAI,qBAAqBqC,CAAK,CAC/B,EACA,SAAU,IAAM,CACfrC,EAAI,qBAAqB,EAAK,CAC/B,CACD,EACM,GAAIa,EAAgB,OAAS,OACnC,MAAO,CACN,OACA,OAAQA,EAAgB,OACxB,YAAaA,EAAgB,YAC7B,cAAeA,EAAgB,cAC/B,OAAQiB,EACR,SAAUA,CACX,EACM,GAAIjB,EAAgB,OAAS,gBACnC,MAAO,CACN,OACA,OAAQA,EAAgB,OACxB,OAAQiB,EACR,SAAUA,CACX,EACM,GAAIjB,EAAgB,OAAS,gBACnC,MAAO,CACN,QACA,QAASA,EAAgB,QACzB,QAASA,EAAgB,QACzB,MAAOA,EAAgB,MACvB,OAAQiB,EACR,SAAUA,CACX,CAEF,GAAG,EAEGQ,EACLhC,GACC,CAAC,CAACO,GACF,CAACL,GACDK,EAAgB,OAAS,gBACrB0B,EACL/B,GACC,CAAC,CAACK,GACF,CAACP,GACDO,EAAgB,OAAS,QACzBA,EAAgB,OAAS,gBAE3B,MAAI,CAACpB,GAAkB,CAACC,KAAoB,QAAC8C,GAAA,EAAW,EACnDhD,KAGJ,sBAEC,qBAACiD,GAAA,CACA,MACCrC,IAEGkC,IAEAC,IAEA7B,MAIJ,eAAgB,IAAMM,EAA+B,EAAI,EACzD,eAAgB,SAAY,CAC3B,MAAMP,EAAa,EAAI,EACvBO,EAA+B,EAAI,CACpC,EACA,YAAaO,EACb,cAAe,IAAMvB,EAAI,mBAAmB,EAC7C,KAEA,QAAC0C,GAAA,CACA,OAAQtC,GAAUM,EAClB,QAASL,EACT,QAASqB,EACT,eAAgBhB,EAChB,oBAAqBC,EACrB,kBAAmBkB,EACpB,EAGCE,MACA,QAACY,GAAA,CACA,OAAQ5B,EACP,GAAGgB,EACL,GAEF,KA1CoB,QAAC,GAAAa,QAAA,EAAiB,CA4CxC,EkCrYA,IAAAC,GAA0B,OCFX,SAARC,GAA2BC,EAAGC,EAAG,CACtC,OAAOD,GAAK,MAAQC,GAAK,KAAO,IAAMD,EAAIC,EAAI,GAAKD,EAAIC,EAAI,EAAID,GAAKC,EAAI,EAAI,GAC9E,CCFO,IAAMC,GAAN,cAAwB,GAAI,CACjC,YAAYC,EAASC,EAAMC,GAAO,CAGhC,GAFA,MAAM,EACN,OAAO,iBAAiB,KAAM,CAAC,QAAS,CAAC,MAAO,IAAI,GAAK,EAAG,KAAM,CAAC,MAAOD,CAAG,CAAC,CAAC,EAC3ED,GAAW,KAAM,OAAW,CAACC,EAAKE,CAAK,IAAKH,EAAS,KAAK,IAAIC,EAAKE,CAAK,CAC9E,CACA,IAAIF,EAAK,CACP,OAAO,MAAM,IAAIG,GAAW,KAAMH,CAAG,CAAC,CACxC,CACA,IAAIA,EAAK,CACP,OAAO,MAAM,IAAIG,GAAW,KAAMH,CAAG,CAAC,CACxC,CACA,IAAIA,EAAKE,EAAO,CACd,OAAO,MAAM,IAAIE,GAAW,KAAMJ,CAAG,EAAGE,CAAK,CAC/C,CACA,OAAOF,EAAK,CACV,OAAO,MAAM,OAAOK,GAAc,KAAML,CAAG,CAAC,CAC9C,CACF,EAmBA,SAASM,GAAW,CAAC,QAAAC,EAAS,KAAAC,CAAI,EAAGC,EAAO,CAC1C,IAAMC,EAAMF,EAAKC,CAAK,EACtB,OAAOF,EAAQ,IAAIG,CAAG,EAAIH,EAAQ,IAAIG,CAAG,EAAID,CAC/C,CAEA,SAASE,GAAW,CAAC,QAAAJ,EAAS,KAAAC,CAAI,EAAGC,EAAO,CAC1C,IAAMC,EAAMF,EAAKC,CAAK,EACtB,OAAIF,EAAQ,IAAIG,CAAG,EAAUH,EAAQ,IAAIG,CAAG,GAC5CH,EAAQ,IAAIG,EAAKD,CAAK,EACfA,EACT,CAEA,SAASG,GAAc,CAAC,QAAAL,EAAS,KAAAC,CAAI,EAAGC,EAAO,CAC7C,IAAMC,EAAMF,EAAKC,CAAK,EACtB,OAAIF,EAAQ,IAAIG,CAAG,IACjBD,EAAQF,EAAQ,IAAIG,CAAG,EACvBH,EAAQ,OAAOG,CAAG,GAEbD,CACT,CAEA,SAASI,GAAMJ,EAAO,CACpB,OAAOA,IAAU,MAAQ,OAAOA,GAAU,SAAWA,EAAM,QAAQ,EAAIA,CACzE,CC5De,SAARK,GAAuBC,EAAOC,EAAMC,EAAM,CAC/CF,EAAQ,CAACA,EAAOC,EAAO,CAACA,EAAMC,GAAQC,EAAI,UAAU,QAAU,GAAKF,EAAOD,EAAOA,EAAQ,EAAG,GAAKG,EAAI,EAAI,EAAI,CAACD,EAM9G,QAJIE,EAAI,GACJD,EAAI,KAAK,IAAI,EAAG,KAAK,MAAMF,EAAOD,GAASE,CAAI,CAAC,EAAI,EACpDH,EAAQ,IAAI,MAAMI,CAAC,EAEhB,EAAEC,EAAID,GACXJ,EAAMK,GAAKJ,EAAQI,EAAIF,EAGzB,OAAOH,CACT,CCZO,IAAIM,GAAM,KAAK,IACXC,GAAM,KAAK,IACXC,GAAM,KAAK,IACXC,GAAK,KAAK,GACVC,GAASD,GAAK,EACdE,GAAMF,GAAK,EACXG,GAAM,KAAK,IACXC,GAAU,MCLrB,SAASC,GAAMC,EAAGC,EAAG,CACnB,OAAO,MAAM,KAAK,CAAC,OAAQA,EAAID,CAAC,EAAG,CAACE,EAAGC,IAAMH,EAAIG,CAAC,CACpD,CAEA,SAASC,GAAaC,EAAS,CAC7B,OAAO,SAASC,EAAGC,EAAG,CACpB,OAAOF,EACLC,EAAE,OAAO,MAAQA,EAAE,OAAO,MAC1BC,EAAE,OAAO,MAAQA,EAAE,OAAO,KAC5B,CACF,CACF,CAEe,SAARC,IAAmB,CACxB,OAAOC,GAAM,GAAO,EAAK,CAC3B,CAUA,SAASC,GAAMC,EAAUC,EAAW,CAClC,IAAIC,EAAW,EACXC,EAAa,KACbC,EAAgB,KAChBC,EAAa,KAEjB,SAASN,EAAMO,EAAQ,CACrB,IAAIC,EAAID,EAAO,OACXE,EAAY,IAAI,MAAMD,CAAC,EACvBE,EAAaC,GAAM,EAAGH,CAAC,EACvBI,EAAS,IAAI,MAAMJ,EAAIA,CAAC,EACxBK,EAAS,IAAI,MAAML,CAAC,EACpBM,EAAI,EAAGC,EAEXR,EAAS,aAAa,KAAK,CAAC,OAAQC,EAAIA,CAAC,EAAGN,EACtC,CAACc,EAAGC,IAAMV,EAAOU,EAAIT,GAAGS,EAAIT,EAAI,GAChC,CAACQ,EAAGC,IAAMV,EAAOU,EAAIT,EAAI,GAAGS,EAAIT,EAAE,EAGxC,QAASS,EAAI,EAAGA,EAAIT,EAAG,EAAES,EAAG,CAC1B,IAAIC,EAAI,EACR,QAASC,EAAI,EAAGA,EAAIX,EAAG,EAAEW,EAAGD,GAAKX,EAAOU,EAAIT,EAAIW,GAAKlB,EAAWM,EAAOY,EAAIX,EAAIS,GAC/EH,GAAKL,EAAUQ,GAAKC,CACtB,CACAJ,EAAIM,GAAI,EAAGC,GAAMlB,EAAWK,CAAC,EAAIM,EACjCC,EAAKD,EAAIX,EAAWkB,GAAMb,EAG1B,CACE,IAAIU,EAAI,EACJd,GAAYM,EAAW,KAAK,CAACY,EAAGC,IAAMnB,EAAWK,EAAUa,GAAIb,EAAUc,EAAE,CAAC,EAChF,QAAWN,KAAKP,EAAY,CAC1B,IAAMc,EAAKN,EACX,GAAIjB,EAAU,CACZ,IAAMwB,EAAgBd,GAAM,CAACH,EAAI,EAAGA,CAAC,EAAE,OAAOW,GAAKA,EAAI,EAAIZ,EAAO,CAACY,EAAIX,EAAIS,GAAKV,EAAOU,EAAIT,EAAIW,EAAE,EAC7Fd,GAAeoB,EAAc,KAAK,CAACH,EAAGC,IAAMlB,EAAciB,EAAI,EAAI,CAACf,EAAO,CAACe,EAAId,EAAIS,GAAKV,EAAOU,EAAIT,EAAIc,GAAIC,EAAI,EAAI,CAAChB,EAAO,CAACgB,EAAIf,EAAIS,GAAKV,EAAOU,EAAIT,EAAIe,EAAE,CAAC,EAC/J,QAAWJ,KAAKM,EACd,GAAIN,EAAI,EAAG,CACT,IAAMnB,EAAQY,EAAO,CAACO,EAAIX,EAAIS,KAAOL,EAAO,CAACO,EAAIX,EAAIS,GAAK,CAAC,OAAQ,KAAM,OAAQ,IAAI,GACrFjB,EAAM,OAAS,CAAC,MAAOiB,EAAG,WAAYC,EAAG,SAAUA,GAAKX,EAAO,CAACY,EAAIX,EAAIS,GAAKH,EAAG,MAAOP,EAAO,CAACY,EAAIX,EAAIS,EAAE,CAC3G,KAAO,CACL,IAAMjB,EAAQY,EAAOK,EAAIT,EAAIW,KAAOP,EAAOK,EAAIT,EAAIW,GAAK,CAAC,OAAQ,KAAM,OAAQ,IAAI,GACnFnB,EAAM,OAAS,CAAC,MAAOiB,EAAG,WAAYC,EAAG,SAAUA,GAAKX,EAAOU,EAAIT,EAAIW,GAAKL,EAAG,MAAOP,EAAOU,EAAIT,EAAIW,EAAE,CACzG,CAEFN,EAAOI,GAAK,CAAC,MAAOA,EAAG,WAAYO,EAAI,SAAUN,EAAG,MAAOT,EAAUQ,EAAE,CACzE,KAAO,CACL,IAAMQ,EAAgBd,GAAM,EAAGH,CAAC,EAAE,OAAOW,GAAKZ,EAAOU,EAAIT,EAAIW,IAAMZ,EAAOY,EAAIX,EAAIS,EAAE,EAChFZ,GAAeoB,EAAc,KAAK,CAACH,EAAGC,IAAMlB,EAAcE,EAAOU,EAAIT,EAAIc,GAAIf,EAAOU,EAAIT,EAAIe,EAAE,CAAC,EACnG,QAAWJ,KAAKM,EAAe,CAC7B,IAAIzB,EASJ,GARIiB,EAAIE,GACNnB,EAAQY,EAAOK,EAAIT,EAAIW,KAAOP,EAAOK,EAAIT,EAAIW,GAAK,CAAC,OAAQ,KAAM,OAAQ,IAAI,GAC7EnB,EAAM,OAAS,CAAC,MAAOiB,EAAG,WAAYC,EAAG,SAAUA,GAAKX,EAAOU,EAAIT,EAAIW,GAAKL,EAAG,MAAOP,EAAOU,EAAIT,EAAIW,EAAE,IAEvGnB,EAAQY,EAAOO,EAAIX,EAAIS,KAAOL,EAAOO,EAAIX,EAAIS,GAAK,CAAC,OAAQ,KAAM,OAAQ,IAAI,GAC7EjB,EAAM,OAAS,CAAC,MAAOiB,EAAG,WAAYC,EAAG,SAAUA,GAAKX,EAAOU,EAAIT,EAAIW,GAAKL,EAAG,MAAOP,EAAOU,EAAIT,EAAIW,EAAE,EACnGF,IAAME,IAAGnB,EAAM,OAASA,EAAM,SAEhCA,EAAM,QAAUA,EAAM,QAAUA,EAAM,OAAO,MAAQA,EAAM,OAAO,MAAO,CAC3E,IAAM0B,EAAS1B,EAAM,OACrBA,EAAM,OAASA,EAAM,OACrBA,EAAM,OAAS0B,CACjB,CACF,CACAb,EAAOI,GAAK,CAAC,MAAOA,EAAG,WAAYO,EAAI,SAAUN,EAAG,MAAOT,EAAUQ,EAAE,CACzE,CACAC,GAAKH,CACP,CACF,CAGA,OAAAH,EAAS,OAAO,OAAOA,CAAM,EAC7BA,EAAO,OAASC,EACTP,EAAaM,EAAO,KAAKN,CAAU,EAAIM,CAChD,CAEA,OAAAZ,EAAM,SAAW,SAASgB,EAAG,CAC3B,OAAO,UAAU,QAAUb,EAAWiB,GAAI,EAAGJ,CAAC,EAAGhB,GAASG,CAC5D,EAEAH,EAAM,WAAa,SAASgB,EAAG,CAC7B,OAAO,UAAU,QAAUZ,EAAaY,EAAGhB,GAASI,CACtD,EAEAJ,EAAM,cAAgB,SAASgB,EAAG,CAChC,OAAO,UAAU,QAAUX,EAAgBW,EAAGhB,GAASK,CACzD,EAEAL,EAAM,WAAa,SAASgB,EAAG,CAC7B,OAAO,UAAU,QAAUA,GAAK,KAAOV,EAAa,MAAQA,EAAaqB,GAAaX,CAAC,GAAG,EAAIA,EAAGhB,GAASM,GAAcA,EAAW,CACrI,EAEON,CACT,CCzHA,IAAM4B,GAAK,KAAK,GACZC,GAAM,EAAID,GACVE,GAAU,KACVC,GAAaF,GAAMC,GAEvB,SAASE,IAAO,CACd,KAAK,IAAM,KAAK,IAChB,KAAK,IAAM,KAAK,IAAM,KACtB,KAAK,EAAI,EACX,CAEA,SAASC,IAAO,CACd,OAAO,IAAID,EACb,CAEAA,GAAK,UAAYC,GAAK,UAAY,CAChC,YAAaD,GACb,OAAQ,SAASE,EAAGC,EAAG,CACrB,KAAK,GAAK,KAAO,KAAK,IAAM,KAAK,IAAM,CAACD,GAAK,KAAO,KAAK,IAAM,KAAK,IAAM,CAACC,EAC7E,EACA,UAAW,UAAW,CAChB,KAAK,MAAQ,OACf,KAAK,IAAM,KAAK,IAAK,KAAK,IAAM,KAAK,IACrC,KAAK,GAAK,IAEd,EACA,OAAQ,SAASD,EAAGC,EAAG,CACrB,KAAK,GAAK,KAAO,KAAK,IAAM,CAACD,GAAK,KAAO,KAAK,IAAM,CAACC,EACvD,EACA,iBAAkB,SAASC,EAAIC,EAAIH,EAAGC,EAAG,CACvC,KAAK,GAAK,KAAO,CAACC,EAAM,KAAO,CAACC,EAAM,KAAO,KAAK,IAAM,CAACH,GAAK,KAAO,KAAK,IAAM,CAACC,EACnF,EACA,cAAe,SAASC,EAAIC,EAAIC,EAAIC,EAAIL,EAAGC,EAAG,CAC5C,KAAK,GAAK,KAAO,CAACC,EAAM,KAAO,CAACC,EAAM,KAAO,CAACC,EAAM,KAAO,CAACC,EAAM,KAAO,KAAK,IAAM,CAACL,GAAK,KAAO,KAAK,IAAM,CAACC,EAC/G,EACA,MAAO,SAASC,EAAIC,EAAIC,EAAIC,EAAIC,EAAG,CACjCJ,EAAK,CAACA,EAAIC,EAAK,CAACA,EAAIC,EAAK,CAACA,EAAIC,EAAK,CAACA,EAAIC,EAAI,CAACA,EAC7C,IAAIC,EAAK,KAAK,IACVC,EAAK,KAAK,IACVC,EAAML,EAAKF,EACXQ,EAAML,EAAKF,EACXQ,EAAMJ,EAAKL,EACXU,EAAMJ,EAAKL,EACXU,EAAQF,EAAMA,EAAMC,EAAMA,EAG9B,GAAIN,EAAI,EAAG,MAAM,IAAI,MAAM,oBAAsBA,CAAC,EAGlD,GAAI,KAAK,MAAQ,KACf,KAAK,GAAK,KAAO,KAAK,IAAMJ,GAAM,KAAO,KAAK,IAAMC,WAI3CU,EAAQjB,GAKd,GAAI,EAAE,KAAK,IAAIgB,EAAMH,EAAMC,EAAMC,CAAG,EAAIf,KAAY,CAACU,EACxD,KAAK,GAAK,KAAO,KAAK,IAAMJ,GAAM,KAAO,KAAK,IAAMC,OAIjD,CACH,IAAIW,EAAMV,EAAKG,EACXQ,EAAMV,EAAKG,EACXQ,EAAQP,EAAMA,EAAMC,EAAMA,EAC1BO,EAAQH,EAAMA,EAAMC,EAAMA,EAC1BG,EAAM,KAAK,KAAKF,CAAK,EACrBG,EAAM,KAAK,KAAKN,CAAK,EACrBO,EAAId,EAAI,KAAK,KAAKZ,GAAK,KAAK,MAAMsB,EAAQH,EAAQI,IAAU,EAAIC,EAAMC,EAAI,GAAK,CAAC,EAChFE,EAAMD,EAAID,EACVG,EAAMF,EAAIF,EAGV,KAAK,IAAIG,EAAM,CAAC,EAAIzB,KACtB,KAAK,GAAK,KAAOM,EAAKmB,EAAMV,GAAO,KAAOR,EAAKkB,EAAMT,IAGvD,KAAK,GAAK,IAAMN,EAAI,IAAMA,EAAI,SAAW,EAAEM,EAAME,EAAMH,EAAMI,GAAQ,KAAO,KAAK,IAAMb,EAAKoB,EAAMb,GAAO,KAAO,KAAK,IAAMN,EAAKmB,EAAMZ,EACxI,CACF,EACA,IAAK,SAASV,EAAGC,EAAG,EAAGsB,EAAIC,EAAIC,EAAK,CAClCzB,EAAI,CAACA,EAAGC,EAAI,CAACA,EAAG,EAAI,CAAC,EAAGwB,EAAM,CAAC,CAACA,EAChC,IAAIC,EAAK,EAAI,KAAK,IAAIH,CAAE,EACpBI,EAAK,EAAI,KAAK,IAAIJ,CAAE,EACpBhB,EAAKP,EAAI0B,EACTlB,EAAKP,EAAI0B,EACTC,EAAK,EAAIH,EACTI,EAAKJ,EAAMF,EAAKC,EAAKA,EAAKD,EAG9B,GAAI,EAAI,EAAG,MAAM,IAAI,MAAM,oBAAsB,CAAC,EAG9C,KAAK,MAAQ,KACf,KAAK,GAAK,IAAMhB,EAAK,IAAMC,GAIpB,KAAK,IAAI,KAAK,IAAMD,CAAE,EAAIX,IAAW,KAAK,IAAI,KAAK,IAAMY,CAAE,EAAIZ,MACtE,KAAK,GAAK,IAAMW,EAAK,IAAMC,GAIxB,IAGDqB,EAAK,IAAGA,EAAKA,EAAKlC,GAAMA,IAGxBkC,EAAKhC,GACP,KAAK,GAAK,IAAM,EAAI,IAAM,EAAI,QAAU+B,EAAK,KAAO5B,EAAI0B,GAAM,KAAOzB,EAAI0B,GAAM,IAAM,EAAI,IAAM,EAAI,QAAUC,EAAK,KAAO,KAAK,IAAMrB,GAAM,KAAO,KAAK,IAAMC,GAIrJqB,EAAKjC,KACZ,KAAK,GAAK,IAAM,EAAI,IAAM,EAAI,OAAS,EAAEiC,GAAMnC,IAAO,IAAMkC,EAAK,KAAO,KAAK,IAAM5B,EAAI,EAAI,KAAK,IAAIwB,CAAE,GAAK,KAAO,KAAK,IAAMvB,EAAI,EAAI,KAAK,IAAIuB,CAAE,IAEpJ,EACA,KAAM,SAASxB,EAAGC,EAAG6B,EAAGC,EAAG,CACzB,KAAK,GAAK,KAAO,KAAK,IAAM,KAAK,IAAM,CAAC/B,GAAK,KAAO,KAAK,IAAM,KAAK,IAAM,CAACC,GAAK,KAAO,CAAC6B,EAAK,KAAO,CAACC,EAAK,IAAO,CAACD,EAAK,GACzH,EACA,SAAU,UAAW,CACnB,OAAO,KAAK,CACd,CACF,EAEA,IAAOE,GAAQjC,GCjIR,IAAIkC,GAAQ,MAAM,UAAU,MCApB,SAARC,GAAiBC,EAAG,CACzB,OAAO,UAAW,CAChB,OAAOA,CACT,CACF,CCCA,SAASC,GAAcC,EAAG,CACxB,OAAOA,EAAE,MACX,CAEA,SAASC,GAAcD,EAAG,CACxB,OAAOA,EAAE,MACX,CAEA,SAASE,GAAcF,EAAG,CACxB,OAAOA,EAAE,MACX,CAEA,SAASG,GAAkBH,EAAG,CAC5B,OAAOA,EAAE,UACX,CAEA,SAASI,GAAgBJ,EAAG,CAC1B,OAAOA,EAAE,QACX,CAEA,SAASK,IAAkB,CACzB,MAAO,EACT,CAMA,SAASC,GAAOC,EAAY,CAC1B,IAAIC,EAASC,GACTC,EAASC,GACTC,EAAeC,GACfC,EAAeD,GACfE,EAAaC,GACbC,EAAWC,GACXC,EAAWC,GACXC,EAAU,KAEd,SAASf,GAAS,CAChB,IAAIgB,EACAC,EAAIf,EAAO,MAAM,KAAM,SAAS,EAChCgB,EAAId,EAAO,MAAM,KAAM,SAAS,EAChCe,EAAKN,EAAS,MAAM,KAAM,SAAS,EAAI,EACvCO,EAAOC,GAAM,KAAK,SAAS,EAC3BC,EAAK,CAAChB,EAAa,MAAM,MAAOc,EAAK,GAAKH,EAAGG,EAAK,EAClDG,EAAMd,EAAW,MAAM,KAAMW,CAAI,EAAII,GACrCC,EAAMd,EAAS,MAAM,KAAMS,CAAI,EAAII,GACnCE,EAAK,CAAClB,EAAa,MAAM,MAAOY,EAAK,GAAKF,EAAGE,EAAK,EAClDO,EAAMlB,EAAW,MAAM,KAAMW,CAAI,EAAII,GACrCI,EAAMjB,EAAS,MAAM,KAAMS,CAAI,EAAII,GAavC,GAXKT,IAASA,EAAUC,EAASa,GAAK,GAElCV,EAAKW,KACHC,GAAIN,EAAMF,CAAG,EAAIJ,EAAK,EAAIW,GAASL,EAAMF,GAAOA,GAAOJ,EAAIM,GAAON,IAAOI,GAAOJ,EAAIM,GAAON,GAC1FI,EAAME,GAAOF,EAAME,GAAO,EAC3BM,GAAIH,EAAMD,CAAG,EAAIR,EAAK,EAAIW,GAASF,EAAMD,GAAOA,GAAOR,EAAIS,GAAOT,IAAOQ,GAAOR,EAAIS,GAAOT,GAC1FQ,EAAMC,GAAOD,EAAMC,GAAO,GAGjCb,EAAQ,OAAOO,EAAKU,GAAIT,CAAG,EAAGD,EAAKW,GAAIV,CAAG,CAAC,EAC3CR,EAAQ,IAAI,EAAG,EAAGO,EAAIC,EAAKE,CAAG,EAC1BF,IAAQI,GAAOF,IAAQG,EACzB,GAAI3B,EAAY,CACd,IAAIiC,EAAK,CAACjC,EAAW,MAAM,KAAM,SAAS,EAAGkC,EAAMT,EAAKQ,EAAIE,GAAOT,EAAMC,GAAO,EAChFb,EAAQ,iBAAiB,EAAG,EAAGoB,EAAMH,GAAIL,CAAG,EAAGQ,EAAMF,GAAIN,CAAG,CAAC,EAC7DZ,EAAQ,OAAOW,EAAKM,GAAII,CAAG,EAAGV,EAAKO,GAAIG,CAAG,CAAC,EAC3CrB,EAAQ,OAAOoB,EAAMH,GAAIJ,CAAG,EAAGO,EAAMF,GAAIL,CAAG,CAAC,CAC/C,MACEb,EAAQ,iBAAiB,EAAG,EAAGW,EAAKM,GAAIL,CAAG,EAAGD,EAAKO,GAAIN,CAAG,CAAC,EAC3DZ,EAAQ,IAAI,EAAG,EAAGW,EAAIC,EAAKC,CAAG,EAMlC,GAHAb,EAAQ,iBAAiB,EAAG,EAAGO,EAAKU,GAAIT,CAAG,EAAGD,EAAKW,GAAIV,CAAG,CAAC,EAC3DR,EAAQ,UAAU,EAEdC,EAAQ,OAAOD,EAAU,KAAMC,EAAS,IAAM,IACpD,CAEA,OAAIf,IAAYD,EAAO,WAAa,SAASqC,EAAG,CAC9C,OAAO,UAAU,QAAUpC,EAAa,OAAOoC,GAAM,WAAaA,EAAIC,GAAS,CAACD,CAAC,EAAGrC,GAAUC,CAChG,GAEAD,EAAO,OAAS,SAASqC,EAAG,CAC1B,OAAO,UAAU,QAAU/B,EAAeE,EAAe,OAAO6B,GAAM,WAAaA,EAAIC,GAAS,CAACD,CAAC,EAAGrC,GAAUM,CACjH,EAEAN,EAAO,aAAe,SAASqC,EAAG,CAChC,OAAO,UAAU,QAAU/B,EAAe,OAAO+B,GAAM,WAAaA,EAAIC,GAAS,CAACD,CAAC,EAAGrC,GAAUM,CAClG,EAEAN,EAAO,aAAe,SAASqC,EAAG,CAChC,OAAO,UAAU,QAAU7B,EAAe,OAAO6B,GAAM,WAAaA,EAAIC,GAAS,CAACD,CAAC,EAAGrC,GAAUQ,CAClG,EAEAR,EAAO,WAAa,SAASqC,EAAG,CAC9B,OAAO,UAAU,QAAU5B,EAAa,OAAO4B,GAAM,WAAaA,EAAIC,GAAS,CAACD,CAAC,EAAGrC,GAAUS,CAChG,EAEAT,EAAO,SAAW,SAASqC,EAAG,CAC5B,OAAO,UAAU,QAAU1B,EAAW,OAAO0B,GAAM,WAAaA,EAAIC,GAAS,CAACD,CAAC,EAAGrC,GAAUW,CAC9F,EAEAX,EAAO,SAAW,SAASqC,EAAG,CAC5B,OAAO,UAAU,QAAUxB,EAAW,OAAOwB,GAAM,WAAaA,EAAIC,GAAS,CAACD,CAAC,EAAGrC,GAAUa,CAC9F,EAEAb,EAAO,OAAS,SAASqC,EAAG,CAC1B,OAAO,UAAU,QAAUnC,EAASmC,EAAGrC,GAAUE,CACnD,EAEAF,EAAO,OAAS,SAASqC,EAAG,CAC1B,OAAO,UAAU,QAAUjC,EAASiC,EAAGrC,GAAUI,CACnD,EAEAJ,EAAO,QAAU,SAASqC,EAAG,CAC3B,OAAO,UAAU,QAAWtB,EAAUsB,GAAK,KAAO,KAAOA,EAAIrC,GAAUe,CACzE,EAEOf,CACT,CAEe,SAARuC,IAAmB,CACxB,OAAOvC,GAAO,CAChB,CCjIO,SAASwC,GAAUC,EAAQC,EAAO,CACvC,OAAQ,UAAU,YACX,GAAG,UACH,GAAG,KAAK,MAAMD,CAAM,EAAG,cACnB,KAAK,MAAMC,CAAK,EAAE,OAAOD,CAAM,EAAG,MAE7C,OAAO,IACT,CCJO,IAAME,GAAW,OAAO,UAAU,EAE1B,SAARC,IAA2B,CAChC,IAAIC,EAAQ,IAAIC,GACZC,EAAS,CAAC,EACVC,EAAQ,CAAC,EACTC,EAAUN,GAEd,SAASO,EAAMC,EAAG,CAChB,IAAIC,EAAIP,EAAM,IAAIM,CAAC,EACnB,GAAIC,IAAM,OAAW,CACnB,GAAIH,IAAYN,GAAU,OAAOM,EACjCJ,EAAM,IAAIM,EAAGC,EAAIL,EAAO,KAAKI,CAAC,EAAI,CAAC,CACrC,CACA,OAAOH,EAAMI,EAAIJ,EAAM,OACzB,CAEA,OAAAE,EAAM,OAAS,SAASG,EAAG,CACzB,GAAI,CAAC,UAAU,OAAQ,OAAON,EAAO,MAAM,EAC3CA,EAAS,CAAC,EAAGF,EAAQ,IAAIC,GACzB,QAAWQ,KAASD,EACdR,EAAM,IAAIS,CAAK,GACnBT,EAAM,IAAIS,EAAOP,EAAO,KAAKO,CAAK,EAAI,CAAC,EAEzC,OAAOJ,CACT,EAEAA,EAAM,MAAQ,SAASG,EAAG,CACxB,OAAO,UAAU,QAAUL,EAAQ,MAAM,KAAKK,CAAC,EAAGH,GAASF,EAAM,MAAM,CACzE,EAEAE,EAAM,QAAU,SAASG,EAAG,CAC1B,OAAO,UAAU,QAAUJ,EAAUI,EAAGH,GAASD,CACnD,EAEAC,EAAM,KAAO,UAAW,CACtB,OAAON,GAAQG,EAAQC,CAAK,EAAE,QAAQC,CAAO,CAC/C,EAEAM,GAAU,MAAML,EAAO,SAAS,EAEzBA,CACT,CC7Ce,SAARM,GAAiBC,EAAaC,EAASC,EAAW,CACvDF,EAAY,UAAYC,EAAQ,UAAYC,EAC5CA,EAAU,YAAcF,CAC1B,CAEO,SAASG,GAAOC,EAAQC,EAAY,CACzC,IAAIH,EAAY,OAAO,OAAOE,EAAO,SAAS,EAC9C,QAASE,KAAOD,EAAYH,EAAUI,GAAOD,EAAWC,GACxD,OAAOJ,CACT,CCPO,SAASK,IAAQ,CAAC,CAElB,IAAIC,GAAS,GACTC,GAAW,EAAID,GAEtBE,GAAM,sBACNC,GAAM,oDACNC,GAAM,qDACNC,GAAQ,qBACRC,GAAe,IAAI,OAAO,UAAUJ,MAAOA,MAAOA,QAAS,EAC3DK,GAAe,IAAI,OAAO,UAAUH,MAAOA,MAAOA,QAAS,EAC3DI,GAAgB,IAAI,OAAO,WAAWN,MAAOA,MAAOA,MAAOC,QAAS,EACpEM,GAAgB,IAAI,OAAO,WAAWL,MAAOA,MAAOA,MAAOD,QAAS,EACpEO,GAAe,IAAI,OAAO,UAAUP,MAAOC,MAAOA,QAAS,EAC3DO,GAAgB,IAAI,OAAO,WAAWR,MAAOC,MAAOA,MAAOD,QAAS,EAEpES,GAAQ,CACV,UAAW,SACX,aAAc,SACd,KAAM,MACN,WAAY,QACZ,MAAO,SACP,MAAO,SACP,OAAQ,SACR,MAAO,EACP,eAAgB,SAChB,KAAM,IACN,WAAY,QACZ,MAAO,SACP,UAAW,SACX,UAAW,QACX,WAAY,QACZ,UAAW,SACX,MAAO,SACP,eAAgB,QAChB,SAAU,SACV,QAAS,SACT,KAAM,MACN,SAAU,IACV,SAAU,MACV,cAAe,SACf,SAAU,SACV,UAAW,MACX,SAAU,SACV,UAAW,SACX,YAAa,QACb,eAAgB,QAChB,WAAY,SACZ,WAAY,SACZ,QAAS,QACT,WAAY,SACZ,aAAc,QACd,cAAe,QACf,cAAe,QACf,cAAe,QACf,cAAe,MACf,WAAY,QACZ,SAAU,SACV,YAAa,MACb,QAAS,QACT,QAAS,QACT,WAAY,QACZ,UAAW,SACX,YAAa,SACb,YAAa,QACb,QAAS,SACT,UAAW,SACX,WAAY,SACZ,KAAM,SACN,UAAW,SACX,KAAM,QACN,MAAO,MACP,YAAa,SACb,KAAM,QACN,SAAU,SACV,QAAS,SACT,UAAW,SACX,OAAQ,QACR,MAAO,SACP,MAAO,SACP,SAAU,SACV,cAAe,SACf,UAAW,QACX,aAAc,SACd,UAAW,SACX,WAAY,SACZ,UAAW,SACX,qBAAsB,SACtB,UAAW,SACX,WAAY,QACZ,UAAW,SACX,UAAW,SACX,YAAa,SACb,cAAe,QACf,aAAc,QACd,eAAgB,QAChB,eAAgB,QAChB,eAAgB,SAChB,YAAa,SACb,KAAM,MACN,UAAW,QACX,MAAO,SACP,QAAS,SACT,OAAQ,QACR,iBAAkB,QAClB,WAAY,IACZ,aAAc,SACd,aAAc,QACd,eAAgB,QAChB,gBAAiB,QACjB,kBAAmB,MACnB,gBAAiB,QACjB,gBAAiB,SACjB,aAAc,QACd,UAAW,SACX,UAAW,SACX,SAAU,SACV,YAAa,SACb,KAAM,IACN,QAAS,SACT,MAAO,QACP,UAAW,QACX,OAAQ,SACR,UAAW,SACX,OAAQ,SACR,cAAe,SACf,UAAW,SACX,cAAe,SACf,cAAe,SACf,WAAY,SACZ,UAAW,SACX,KAAM,SACN,KAAM,SACN,KAAM,SACN,WAAY,SACZ,OAAQ,QACR,cAAe,QACf,IAAK,SACL,UAAW,SACX,UAAW,QACX,YAAa,QACb,OAAQ,SACR,WAAY,SACZ,SAAU,QACV,SAAU,SACV,OAAQ,SACR,OAAQ,SACR,QAAS,QACT,UAAW,QACX,UAAW,QACX,UAAW,QACX,KAAM,SACN,YAAa,MACb,UAAW,QACX,IAAK,SACL,KAAM,MACN,QAAS,SACT,OAAQ,SACR,UAAW,QACX,OAAQ,SACR,MAAO,SACP,MAAO,SACP,WAAY,SACZ,OAAQ,SACR,YAAa,QACf,EAEAC,GAAOd,GAAOe,GAAO,CACnB,KAAKC,EAAU,CACb,OAAO,OAAO,OAAO,IAAI,KAAK,YAAa,KAAMA,CAAQ,CAC3D,EACA,aAAc,CACZ,OAAO,KAAK,IAAI,EAAE,YAAY,CAChC,EACA,IAAKC,GACL,UAAWA,GACX,WAAYC,GACZ,UAAWC,GACX,UAAWC,GACX,SAAUA,EACZ,CAAC,EAED,SAASH,IAAkB,CACzB,OAAO,KAAK,IAAI,EAAE,UAAU,CAC9B,CAEA,SAASC,IAAmB,CAC1B,OAAO,KAAK,IAAI,EAAE,WAAW,CAC/B,CAEA,SAASC,IAAkB,CACzB,OAAOE,GAAW,IAAI,EAAE,UAAU,CACpC,CAEA,SAASD,IAAkB,CACzB,OAAO,KAAK,IAAI,EAAE,UAAU,CAC9B,CAEe,SAARL,GAAuBO,EAAQ,CACpC,IAAIC,EAAGC,EACP,OAAAF,GAAUA,EAAS,IAAI,KAAK,EAAE,YAAY,GAClCC,EAAIjB,GAAM,KAAKgB,CAAM,IAAME,EAAID,EAAE,GAAG,OAAQA,EAAI,SAASA,EAAE,GAAI,EAAE,EAAGC,IAAM,EAAIC,GAAKF,CAAC,EACtFC,IAAM,EAAI,IAAIE,GAAKH,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAQA,EAAI,KAASA,EAAI,KAAQ,EAAMA,EAAI,GAAM,CAAC,EAChHC,IAAM,EAAIG,GAAKJ,GAAK,GAAK,IAAMA,GAAK,GAAK,IAAMA,GAAK,EAAI,KAAOA,EAAI,KAAQ,GAAI,EAC/EC,IAAM,EAAIG,GAAMJ,GAAK,GAAK,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAQA,EAAI,MAAUA,EAAI,KAAQ,EAAMA,EAAI,IAAQ,GAAI,EACtJ,OACCA,EAAIhB,GAAa,KAAKe,CAAM,GAAK,IAAII,GAAIH,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,CAAC,GAC5DA,EAAIf,GAAa,KAAKc,CAAM,GAAK,IAAII,GAAIH,EAAE,GAAK,IAAM,IAAKA,EAAE,GAAK,IAAM,IAAKA,EAAE,GAAK,IAAM,IAAK,CAAC,GAChGA,EAAId,GAAc,KAAKa,CAAM,GAAKK,GAAKJ,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,EAAE,GAC7DA,EAAIb,GAAc,KAAKY,CAAM,GAAKK,GAAKJ,EAAE,GAAK,IAAM,IAAKA,EAAE,GAAK,IAAM,IAAKA,EAAE,GAAK,IAAM,IAAKA,EAAE,EAAE,GACjGA,EAAIZ,GAAa,KAAKW,CAAM,GAAKM,GAAKL,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAK,CAAC,GACrEA,EAAIX,GAAc,KAAKU,CAAM,GAAKM,GAAKL,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAKA,EAAE,EAAE,EAC1EV,GAAM,eAAeS,CAAM,EAAIG,GAAKZ,GAAMS,EAAO,EACjDA,IAAW,cAAgB,IAAII,GAAI,IAAK,IAAK,IAAK,CAAC,EACnD,IACR,CAEA,SAASD,GAAKI,EAAG,CACf,OAAO,IAAIH,GAAIG,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAMA,EAAI,IAAM,CAAC,CAC3D,CAEA,SAASF,GAAKG,EAAGC,EAAGC,EAAGC,EAAG,CACxB,OAAIA,GAAK,IAAGH,EAAIC,EAAIC,EAAI,KACjB,IAAIN,GAAII,EAAGC,EAAGC,EAAGC,CAAC,CAC3B,CAEO,SAASC,GAAWC,EAAG,CAE5B,OADMA,aAAanC,KAAQmC,EAAIpB,GAAMoB,CAAC,GACjCA,GACLA,EAAIA,EAAE,IAAI,EACH,IAAIT,GAAIS,EAAE,EAAGA,EAAE,EAAGA,EAAE,EAAGA,EAAE,OAAO,GAFxB,IAAIT,EAGrB,CAEO,SAASU,GAAIN,EAAGC,EAAGC,EAAGK,EAAS,CACpC,OAAO,UAAU,SAAW,EAAIH,GAAWJ,CAAC,EAAI,IAAIJ,GAAII,EAAGC,EAAGC,EAAGK,GAAW,KAAO,EAAIA,CAAO,CAChG,CAEO,SAASX,GAAII,EAAGC,EAAGC,EAAGK,EAAS,CACpC,KAAK,EAAI,CAACP,EACV,KAAK,EAAI,CAACC,EACV,KAAK,EAAI,CAACC,EACV,KAAK,QAAU,CAACK,CAClB,CAEAvB,GAAOY,GAAKU,GAAKE,GAAOtC,GAAO,CAC7B,SAASuC,EAAG,CACV,OAAAA,EAAIA,GAAK,KAAOrC,GAAW,KAAK,IAAIA,GAAUqC,CAAC,EACxC,IAAIb,GAAI,KAAK,EAAIa,EAAG,KAAK,EAAIA,EAAG,KAAK,EAAIA,EAAG,KAAK,OAAO,CACjE,EACA,OAAOA,EAAG,CACR,OAAAA,EAAIA,GAAK,KAAOtC,GAAS,KAAK,IAAIA,GAAQsC,CAAC,EACpC,IAAIb,GAAI,KAAK,EAAIa,EAAG,KAAK,EAAIA,EAAG,KAAK,EAAIA,EAAG,KAAK,OAAO,CACjE,EACA,KAAM,CACJ,OAAO,IACT,EACA,OAAQ,CACN,OAAO,IAAIb,GAAIc,GAAO,KAAK,CAAC,EAAGA,GAAO,KAAK,CAAC,EAAGA,GAAO,KAAK,CAAC,EAAGC,GAAO,KAAK,OAAO,CAAC,CACrF,EACA,aAAc,CACZ,MAAQ,KAAQ,KAAK,GAAK,KAAK,EAAI,OAC3B,KAAQ,KAAK,GAAK,KAAK,EAAI,OAC3B,KAAQ,KAAK,GAAK,KAAK,EAAI,OAC3B,GAAK,KAAK,SAAW,KAAK,SAAW,CAC/C,EACA,IAAKC,GACL,UAAWA,GACX,WAAYC,GACZ,UAAWC,GACX,SAAUA,EACZ,CAAC,CAAC,EAEF,SAASF,IAAgB,CACvB,MAAO,IAAIG,GAAI,KAAK,CAAC,IAAIA,GAAI,KAAK,CAAC,IAAIA,GAAI,KAAK,CAAC,GACnD,CAEA,SAASF,IAAiB,CACxB,MAAO,IAAIE,GAAI,KAAK,CAAC,IAAIA,GAAI,KAAK,CAAC,IAAIA,GAAI,KAAK,CAAC,IAAIA,IAAK,MAAM,KAAK,OAAO,EAAI,EAAI,KAAK,SAAW,GAAG,GACzG,CAEA,SAASD,IAAgB,CACvB,IAAMX,EAAIQ,GAAO,KAAK,OAAO,EAC7B,MAAO,GAAGR,IAAM,EAAI,OAAS,UAAUO,GAAO,KAAK,CAAC,MAAMA,GAAO,KAAK,CAAC,MAAMA,GAAO,KAAK,CAAC,IAAIP,IAAM,EAAI,IAAM,KAAKA,MACrH,CAEA,SAASQ,GAAOJ,EAAS,CACvB,OAAO,MAAMA,CAAO,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,EAAGA,CAAO,CAAC,CAC9D,CAEA,SAASG,GAAOM,EAAO,CACrB,OAAO,KAAK,IAAI,EAAG,KAAK,IAAI,IAAK,KAAK,MAAMA,CAAK,GAAK,CAAC,CAAC,CAC1D,CAEA,SAASD,GAAIC,EAAO,CAClB,OAAAA,EAAQN,GAAOM,CAAK,GACZA,EAAQ,GAAK,IAAM,IAAMA,EAAM,SAAS,EAAE,CACpD,CAEA,SAASlB,GAAKmB,EAAGC,EAAGxB,EAAGS,EAAG,CACxB,OAAIA,GAAK,EAAGc,EAAIC,EAAIxB,EAAI,IACfA,GAAK,GAAKA,GAAK,EAAGuB,EAAIC,EAAI,IAC1BA,GAAK,IAAGD,EAAI,KACd,IAAIE,GAAIF,EAAGC,EAAGxB,EAAGS,CAAC,CAC3B,CAEO,SAASZ,GAAWc,EAAG,CAC5B,GAAIA,aAAac,GAAK,OAAO,IAAIA,GAAId,EAAE,EAAGA,EAAE,EAAGA,EAAE,EAAGA,EAAE,OAAO,EAE7D,GADMA,aAAanC,KAAQmC,EAAIpB,GAAMoB,CAAC,GAClC,CAACA,EAAG,OAAO,IAAIc,GACnB,GAAId,aAAac,GAAK,OAAOd,EAC7BA,EAAIA,EAAE,IAAI,EACV,IAAIL,EAAIK,EAAE,EAAI,IACVJ,EAAII,EAAE,EAAI,IACVH,EAAIG,EAAE,EAAI,IACVe,EAAM,KAAK,IAAIpB,EAAGC,EAAGC,CAAC,EACtBmB,EAAM,KAAK,IAAIrB,EAAGC,EAAGC,CAAC,EACtBe,EAAI,IACJ,EAAII,EAAMD,EACV1B,GAAK2B,EAAMD,GAAO,EACtB,OAAI,GACEpB,IAAMqB,EAAKJ,GAAKhB,EAAIC,GAAK,GAAKD,EAAIC,GAAK,EAClCD,IAAMoB,EAAKJ,GAAKf,EAAIF,GAAK,EAAI,EACjCiB,GAAKjB,EAAIC,GAAK,EAAI,EACvB,GAAKP,EAAI,GAAM2B,EAAMD,EAAM,EAAIC,EAAMD,EACrCH,GAAK,IAEL,EAAIvB,EAAI,GAAKA,EAAI,EAAI,EAAIuB,EAEpB,IAAIE,GAAIF,EAAG,EAAGvB,EAAGW,EAAE,OAAO,CACnC,CAEO,SAASiB,GAAIL,EAAGC,EAAGxB,EAAGa,EAAS,CACpC,OAAO,UAAU,SAAW,EAAIhB,GAAW0B,CAAC,EAAI,IAAIE,GAAIF,EAAGC,EAAGxB,EAAGa,GAAW,KAAO,EAAIA,CAAO,CAChG,CAEA,SAASY,GAAIF,EAAGC,EAAGxB,EAAGa,EAAS,CAC7B,KAAK,EAAI,CAACU,EACV,KAAK,EAAI,CAACC,EACV,KAAK,EAAI,CAACxB,EACV,KAAK,QAAU,CAACa,CAClB,CAEAvB,GAAOmC,GAAKG,GAAKd,GAAOtC,GAAO,CAC7B,SAASuC,EAAG,CACV,OAAAA,EAAIA,GAAK,KAAOrC,GAAW,KAAK,IAAIA,GAAUqC,CAAC,EACxC,IAAIU,GAAI,KAAK,EAAG,KAAK,EAAG,KAAK,EAAIV,EAAG,KAAK,OAAO,CACzD,EACA,OAAOA,EAAG,CACR,OAAAA,EAAIA,GAAK,KAAOtC,GAAS,KAAK,IAAIA,GAAQsC,CAAC,EACpC,IAAIU,GAAI,KAAK,EAAG,KAAK,EAAG,KAAK,EAAIV,EAAG,KAAK,OAAO,CACzD,EACA,KAAM,CACJ,IAAIQ,EAAI,KAAK,EAAI,KAAO,KAAK,EAAI,GAAK,IAClCC,EAAI,MAAMD,CAAC,GAAK,MAAM,KAAK,CAAC,EAAI,EAAI,KAAK,EACzCvB,EAAI,KAAK,EACT6B,EAAK7B,GAAKA,EAAI,GAAMA,EAAI,EAAIA,GAAKwB,EACjCM,EAAK,EAAI9B,EAAI6B,EACjB,OAAO,IAAI3B,GACT6B,GAAQR,GAAK,IAAMA,EAAI,IAAMA,EAAI,IAAKO,EAAID,CAAE,EAC5CE,GAAQR,EAAGO,EAAID,CAAE,EACjBE,GAAQR,EAAI,IAAMA,EAAI,IAAMA,EAAI,IAAKO,EAAID,CAAE,EAC3C,KAAK,OACP,CACF,EACA,OAAQ,CACN,OAAO,IAAIJ,GAAIO,GAAO,KAAK,CAAC,EAAGC,GAAO,KAAK,CAAC,EAAGA,GAAO,KAAK,CAAC,EAAGhB,GAAO,KAAK,OAAO,CAAC,CACrF,EACA,aAAc,CACZ,OAAQ,GAAK,KAAK,GAAK,KAAK,GAAK,GAAK,MAAM,KAAK,CAAC,IAC1C,GAAK,KAAK,GAAK,KAAK,GAAK,GACzB,GAAK,KAAK,SAAW,KAAK,SAAW,CAC/C,EACA,WAAY,CACV,IAAMR,EAAIQ,GAAO,KAAK,OAAO,EAC7B,MAAO,GAAGR,IAAM,EAAI,OAAS,UAAUuB,GAAO,KAAK,CAAC,MAAMC,GAAO,KAAK,CAAC,EAAI,SAASA,GAAO,KAAK,CAAC,EAAI,OAAOxB,IAAM,EAAI,IAAM,KAAKA,MACnI,CACF,CAAC,CAAC,EAEF,SAASuB,GAAOV,EAAO,CACrB,OAAAA,GAASA,GAAS,GAAK,IAChBA,EAAQ,EAAIA,EAAQ,IAAMA,CACnC,CAEA,SAASW,GAAOX,EAAO,CACrB,OAAO,KAAK,IAAI,EAAG,KAAK,IAAI,EAAGA,GAAS,CAAC,CAAC,CAC5C,CAGA,SAASS,GAAQR,EAAGO,EAAID,EAAI,CAC1B,OAAQN,EAAI,GAAKO,GAAMD,EAAKC,GAAMP,EAAI,GAChCA,EAAI,IAAMM,EACVN,EAAI,IAAMO,GAAMD,EAAKC,IAAO,IAAMP,GAAK,GACvCO,GAAM,GACd,CC3YO,SAASI,GAAMC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI,CACxC,IAAIC,EAAKL,EAAKA,EAAIM,EAAKD,EAAKL,EAC5B,QAAS,EAAI,EAAIA,EAAK,EAAIK,EAAKC,GAAML,GAC9B,EAAI,EAAII,EAAK,EAAIC,GAAMJ,GACvB,EAAI,EAAIF,EAAK,EAAIK,EAAK,EAAIC,GAAMH,EACjCG,EAAKF,GAAM,CACnB,CAEe,SAARG,GAAiBC,EAAQ,CAC9B,IAAIC,EAAID,EAAO,OAAS,EACxB,OAAO,SAASE,EAAG,CACjB,IAAIC,EAAID,GAAK,EAAKA,EAAI,EAAKA,GAAK,GAAKA,EAAI,EAAGD,EAAI,GAAK,KAAK,MAAMC,EAAID,CAAC,EACjEP,EAAKM,EAAOG,GACZR,EAAKK,EAAOG,EAAI,GAChBV,EAAKU,EAAI,EAAIH,EAAOG,EAAI,GAAK,EAAIT,EAAKC,EACtCC,EAAKO,EAAIF,EAAI,EAAID,EAAOG,EAAI,GAAK,EAAIR,EAAKD,EAC9C,OAAOH,IAAOW,EAAIC,EAAIF,GAAKA,EAAGR,EAAIC,EAAIC,EAAIC,CAAE,CAC9C,CACF,CChBe,SAARQ,GAAiBC,EAAQ,CAC9B,IAAIC,EAAID,EAAO,OACf,OAAO,SAASE,EAAG,CACjB,IAAIC,EAAI,KAAK,QAAQD,GAAK,GAAK,EAAI,EAAEA,EAAIA,GAAKD,CAAC,EAC3CG,EAAKJ,GAAQG,EAAIF,EAAI,GAAKA,GAC1BI,EAAKL,EAAOG,EAAIF,GAChBK,EAAKN,GAAQG,EAAI,GAAKF,GACtBM,EAAKP,GAAQG,EAAI,GAAKF,GAC1B,OAAOO,IAAON,EAAIC,EAAIF,GAAKA,EAAGG,EAAIC,EAAIC,EAAIC,CAAE,CAC9C,CACF,CCZA,IAAOE,GAAQC,GAAK,IAAMA,ECE1B,SAASC,GAAOC,EAAGC,EAAG,CACpB,OAAO,SAASC,EAAG,CACjB,OAAOF,EAAIE,EAAID,CACjB,CACF,CAEA,SAASE,GAAYH,EAAGI,EAAGC,EAAG,CAC5B,OAAOL,EAAI,KAAK,IAAIA,EAAGK,CAAC,EAAGD,EAAI,KAAK,IAAIA,EAAGC,CAAC,EAAIL,EAAGK,EAAI,EAAIA,EAAG,SAASH,EAAG,CACxE,OAAO,KAAK,IAAIF,EAAIE,EAAIE,EAAGC,CAAC,CAC9B,CACF,CAOO,SAASC,GAAMC,EAAG,CACvB,OAAQA,EAAI,CAACA,IAAO,EAAIC,GAAU,SAASC,EAAGC,EAAG,CAC/C,OAAOA,EAAID,EAAIE,GAAYF,EAAGC,EAAGH,CAAC,EAAIK,GAAS,MAAMH,CAAC,EAAIC,EAAID,CAAC,CACjE,CACF,CAEe,SAARD,GAAyBC,EAAGC,EAAG,CACpC,IAAIG,EAAIH,EAAID,EACZ,OAAOI,EAAIC,GAAOL,EAAGI,CAAC,EAAID,GAAS,MAAMH,CAAC,EAAIC,EAAID,CAAC,CACrD,CCvBA,IAAOM,GAAS,SAASC,EAASC,EAAG,CACnC,IAAIC,EAAQC,GAAMF,CAAC,EAEnB,SAASG,EAAIC,EAAOC,EAAK,CACvB,IAAIC,EAAIL,GAAOG,EAAQD,GAASC,CAAK,GAAG,GAAIC,EAAMF,GAASE,CAAG,GAAG,CAAC,EAC9DE,EAAIN,EAAMG,EAAM,EAAGC,EAAI,CAAC,EACxBG,EAAIP,EAAMG,EAAM,EAAGC,EAAI,CAAC,EACxBI,EAAUC,GAAQN,EAAM,QAASC,EAAI,OAAO,EAChD,OAAO,SAASM,EAAG,CACjB,OAAAP,EAAM,EAAIE,EAAEK,CAAC,EACbP,EAAM,EAAIG,EAAEI,CAAC,EACbP,EAAM,EAAII,EAAEG,CAAC,EACbP,EAAM,QAAUK,EAAQE,CAAC,EAClBP,EAAQ,EACjB,CACF,CAEA,OAAAD,EAAI,MAAQJ,EAELI,CACT,EAAG,CAAC,EAEJ,SAASS,GAAUC,EAAQ,CACzB,OAAO,SAASC,EAAQ,CACtB,IAAIC,EAAID,EAAO,OACXR,EAAI,IAAI,MAAMS,CAAC,EACfR,EAAI,IAAI,MAAMQ,CAAC,EACfP,EAAI,IAAI,MAAMO,CAAC,EACfC,EAAGf,EACP,IAAKe,EAAI,EAAGA,EAAID,EAAG,EAAEC,EACnBf,EAAQE,GAASW,EAAOE,EAAE,EAC1BV,EAAEU,GAAKf,EAAM,GAAK,EAClBM,EAAES,GAAKf,EAAM,GAAK,EAClBO,EAAEQ,GAAKf,EAAM,GAAK,EAEpB,OAAAK,EAAIO,EAAOP,CAAC,EACZC,EAAIM,EAAON,CAAC,EACZC,EAAIK,EAAOL,CAAC,EACZP,EAAM,QAAU,EACT,SAASU,EAAG,CACjB,OAAAV,EAAM,EAAIK,EAAEK,CAAC,EACbV,EAAM,EAAIM,EAAEI,CAAC,EACbV,EAAM,EAAIO,EAAEG,CAAC,EACNV,EAAQ,EACjB,CACF,CACF,CAEO,IAAIgB,GAAWL,GAAUM,EAAK,EAC1BC,GAAiBP,GAAUQ,EAAW,ECtDlC,SAARC,GAAiBC,EAAW,CAEjC,QADIC,EAAID,EAAU,OAAS,EAAI,EAAGE,EAAS,IAAI,MAAMD,CAAC,EAAGE,EAAI,EACtDA,EAAIF,GAAGC,EAAOC,GAAK,IAAMH,EAAU,MAAMG,EAAI,EAAG,EAAEA,EAAI,CAAC,EAC9D,OAAOD,CACT,CCFA,IAAOE,GAAQC,GAAUC,GAAoBD,EAAOA,EAAO,OAAS,EAAE,ECC/D,IAAIE,GAAS,IAAI,MAAM,CAAC,EAAE,OAC/B,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,yDACA,+DACA,oEACF,EAAE,IAAIC,EAAM,EAELC,GAAQC,GAAKH,EAAM,ECfnB,IAAII,GAAQ,+BAEZC,GAAQ,CACb,IAAK,6BACL,MAAOD,GACP,MAAO,+BACP,IAAK,uCACL,MAAO,+BACT,ECNe,SAARE,GAAiBC,EAAM,CAC5B,IAAIC,EAASD,GAAQ,GAAIE,EAAID,EAAO,QAAQ,GAAG,EAC/C,OAAIC,GAAK,IAAMD,EAASD,EAAK,MAAM,EAAGE,CAAC,KAAO,UAASF,EAAOA,EAAK,MAAME,EAAI,CAAC,GACvEC,GAAW,eAAeF,CAAM,EAAI,CAAC,MAAOE,GAAWF,GAAS,MAAOD,CAAI,EAAIA,CACxF,CCHA,SAASI,GAAeC,EAAM,CAC5B,OAAO,UAAW,CAChB,IAAIC,EAAW,KAAK,cAChBC,EAAM,KAAK,aACf,OAAOA,IAAQC,IAASF,EAAS,gBAAgB,eAAiBE,GAC5DF,EAAS,cAAcD,CAAI,EAC3BC,EAAS,gBAAgBC,EAAKF,CAAI,CAC1C,CACF,CAEA,SAASI,GAAaC,EAAU,CAC9B,OAAO,UAAW,CAChB,OAAO,KAAK,cAAc,gBAAgBA,EAAS,MAAOA,EAAS,KAAK,CAC1E,CACF,CAEe,SAARC,GAAiBN,EAAM,CAC5B,IAAIK,EAAWE,GAAUP,CAAI,EAC7B,OAAQK,EAAS,MACXD,GACAL,IAAgBM,CAAQ,CAChC,CCxBA,SAASG,IAAO,CAAC,CAEF,SAARC,GAAiBC,EAAU,CAChC,OAAOA,GAAY,KAAOF,GAAO,UAAW,CAC1C,OAAO,KAAK,cAAcE,CAAQ,CACpC,CACF,CCHe,SAARC,GAAiBC,EAAQ,CAC1B,OAAOA,GAAW,aAAYA,EAASC,GAASD,CAAM,GAE1D,QAASE,EAAS,KAAK,QAASC,EAAID,EAAO,OAAQE,EAAY,IAAI,MAAMD,CAAC,EAAGE,EAAI,EAAGA,EAAIF,EAAG,EAAEE,EAC3F,QAASC,EAAQJ,EAAOG,GAAIE,EAAID,EAAM,OAAQE,EAAWJ,EAAUC,GAAK,IAAI,MAAME,CAAC,EAAGE,EAAMC,EAASC,EAAI,EAAGA,EAAIJ,EAAG,EAAEI,GAC9GF,EAAOH,EAAMK,MAAQD,EAAUV,EAAO,KAAKS,EAAMA,EAAK,SAAUE,EAAGL,CAAK,KACvE,aAAcG,IAAMC,EAAQ,SAAWD,EAAK,UAChDD,EAASG,GAAKD,GAKpB,OAAO,IAAIE,GAAUR,EAAW,KAAK,QAAQ,CAC/C,CCVe,SAARS,GAAuBC,EAAG,CAC/B,OAAOA,GAAK,KAAO,CAAC,EAAI,MAAM,QAAQA,CAAC,EAAIA,EAAI,MAAM,KAAKA,CAAC,CAC7D,CCRA,SAASC,IAAQ,CACf,MAAO,CAAC,CACV,CAEe,SAARC,GAAiBC,EAAU,CAChC,OAAOA,GAAY,KAAOF,GAAQ,UAAW,CAC3C,OAAO,KAAK,iBAAiBE,CAAQ,CACvC,CACF,CCJA,SAASC,GAASC,EAAQ,CACxB,OAAO,UAAW,CAChB,OAAOC,GAAMD,EAAO,MAAM,KAAM,SAAS,CAAC,CAC5C,CACF,CAEe,SAARE,GAAiBF,EAAQ,CAC1B,OAAOA,GAAW,WAAYA,EAASD,GAASC,CAAM,EACrDA,EAASG,GAAYH,CAAM,EAEhC,QAASI,EAAS,KAAK,QAASC,EAAID,EAAO,OAAQE,EAAY,CAAC,EAAGC,EAAU,CAAC,EAAGC,EAAI,EAAGA,EAAIH,EAAG,EAAEG,EAC/F,QAASC,EAAQL,EAAOI,GAAIE,EAAID,EAAM,OAAQE,EAAMC,EAAI,EAAGA,EAAIF,EAAG,EAAEE,GAC9DD,EAAOF,EAAMG,MACfN,EAAU,KAAKN,EAAO,KAAKW,EAAMA,EAAK,SAAUC,EAAGH,CAAK,CAAC,EACzDF,EAAQ,KAAKI,CAAI,GAKvB,OAAO,IAAIE,GAAUP,EAAWC,CAAO,CACzC,CCxBe,SAARO,GAAiBC,EAAU,CAChC,OAAO,UAAW,CAChB,OAAO,KAAK,QAAQA,CAAQ,CAC9B,CACF,CAEO,SAASC,GAAaD,EAAU,CACrC,OAAO,SAASE,EAAM,CACpB,OAAOA,EAAK,QAAQF,CAAQ,CAC9B,CACF,CCRA,IAAIG,GAAO,MAAM,UAAU,KAE3B,SAASC,GAAUC,EAAO,CACxB,OAAO,UAAW,CAChB,OAAOF,GAAK,KAAK,KAAK,SAAUE,CAAK,CACvC,CACF,CAEA,SAASC,IAAa,CACpB,OAAO,KAAK,iBACd,CAEe,SAARC,GAAiBF,EAAO,CAC7B,OAAO,KAAK,OAAOA,GAAS,KAAOC,GAC7BF,GAAU,OAAOC,GAAU,WAAaA,EAAQG,GAAaH,CAAK,CAAC,CAAC,CAC5E,CCfA,IAAII,GAAS,MAAM,UAAU,OAE7B,SAASC,IAAW,CAClB,OAAO,MAAM,KAAK,KAAK,QAAQ,CACjC,CAEA,SAASC,GAAeC,EAAO,CAC7B,OAAO,UAAW,CAChB,OAAOH,GAAO,KAAK,KAAK,SAAUG,CAAK,CACzC,CACF,CAEe,SAARC,GAAiBD,EAAO,CAC7B,OAAO,KAAK,UAAUA,GAAS,KAAOF,GAChCC,GAAe,OAAOC,GAAU,WAAaA,EAAQE,GAAaF,CAAK,CAAC,CAAC,CACjF,CCde,SAARG,GAAiBC,EAAO,CACzB,OAAOA,GAAU,aAAYA,EAAQC,GAAQD,CAAK,GAEtD,QAASE,EAAS,KAAK,QAASC,EAAID,EAAO,OAAQE,EAAY,IAAI,MAAMD,CAAC,EAAGE,EAAI,EAAGA,EAAIF,EAAG,EAAEE,EAC3F,QAASC,EAAQJ,EAAOG,GAAIE,EAAID,EAAM,OAAQE,EAAWJ,EAAUC,GAAK,CAAC,EAAGI,EAAMC,EAAI,EAAGA,EAAIH,EAAG,EAAEG,GAC3FD,EAAOH,EAAMI,KAAOV,EAAM,KAAKS,EAAMA,EAAK,SAAUC,EAAGJ,CAAK,GAC/DE,EAAS,KAAKC,CAAI,EAKxB,OAAO,IAAIE,GAAUP,EAAW,KAAK,QAAQ,CAC/C,CCfe,SAARQ,GAAiBC,EAAQ,CAC9B,OAAO,IAAI,MAAMA,EAAO,MAAM,CAChC,CCCe,SAARC,IAAmB,CACxB,OAAO,IAAIC,GAAU,KAAK,QAAU,KAAK,QAAQ,IAAIC,EAAM,EAAG,KAAK,QAAQ,CAC7E,CAEO,SAASC,GAAUC,EAAQC,EAAO,CACvC,KAAK,cAAgBD,EAAO,cAC5B,KAAK,aAAeA,EAAO,aAC3B,KAAK,MAAQ,KACb,KAAK,QAAUA,EACf,KAAK,SAAWC,CAClB,CAEAF,GAAU,UAAY,CACpB,YAAaA,GACb,YAAa,SAASG,EAAO,CAAE,OAAO,KAAK,QAAQ,aAAaA,EAAO,KAAK,KAAK,CAAG,EACpF,aAAc,SAASA,EAAOC,EAAM,CAAE,OAAO,KAAK,QAAQ,aAAaD,EAAOC,CAAI,CAAG,EACrF,cAAe,SAASC,EAAU,CAAE,OAAO,KAAK,QAAQ,cAAcA,CAAQ,CAAG,EACjF,iBAAkB,SAASA,EAAU,CAAE,OAAO,KAAK,QAAQ,iBAAiBA,CAAQ,CAAG,CACzF,ECrBe,SAARC,GAAiBC,EAAG,CACzB,OAAO,UAAW,CAChB,OAAOA,CACT,CACF,CCAA,SAASC,GAAUC,EAAQC,EAAOC,EAAOC,EAAQC,EAAMC,EAAM,CAS3D,QARIC,EAAI,EACJC,EACAC,EAAcP,EAAM,OACpBQ,EAAaJ,EAAK,OAKfC,EAAIG,EAAY,EAAEH,GACnBC,EAAON,EAAMK,KACfC,EAAK,SAAWF,EAAKC,GACrBH,EAAOG,GAAKC,GAEZL,EAAMI,GAAK,IAAII,GAAUV,EAAQK,EAAKC,EAAE,EAK5C,KAAOA,EAAIE,EAAa,EAAEF,GACpBC,EAAON,EAAMK,MACfF,EAAKE,GAAKC,EAGhB,CAEA,SAASI,GAAQX,EAAQC,EAAOC,EAAOC,EAAQC,EAAMC,EAAMO,EAAK,CAC9D,IAAIN,EACAC,EACAM,EAAiB,IAAI,IACrBL,EAAcP,EAAM,OACpBQ,EAAaJ,EAAK,OAClBS,EAAY,IAAI,MAAMN,CAAW,EACjCO,EAIJ,IAAKT,EAAI,EAAGA,EAAIE,EAAa,EAAEF,GACzBC,EAAON,EAAMK,MACfQ,EAAUR,GAAKS,EAAWH,EAAI,KAAKL,EAAMA,EAAK,SAAUD,EAAGL,CAAK,EAAI,GAChEY,EAAe,IAAIE,CAAQ,EAC7BX,EAAKE,GAAKC,EAEVM,EAAe,IAAIE,EAAUR,CAAI,GAQvC,IAAKD,EAAI,EAAGA,EAAIG,EAAY,EAAEH,EAC5BS,EAAWH,EAAI,KAAKZ,EAAQK,EAAKC,GAAIA,EAAGD,CAAI,EAAI,IAC5CE,EAAOM,EAAe,IAAIE,CAAQ,IACpCZ,EAAOG,GAAKC,EACZA,EAAK,SAAWF,EAAKC,GACrBO,EAAe,OAAOE,CAAQ,GAE9Bb,EAAMI,GAAK,IAAII,GAAUV,EAAQK,EAAKC,EAAE,EAK5C,IAAKA,EAAI,EAAGA,EAAIE,EAAa,EAAEF,GACxBC,EAAON,EAAMK,KAAQO,EAAe,IAAIC,EAAUR,EAAE,IAAMC,IAC7DH,EAAKE,GAAKC,EAGhB,CAEA,SAASS,GAAMT,EAAM,CACnB,OAAOA,EAAK,QACd,CAEe,SAARU,GAAiBC,EAAON,EAAK,CAClC,GAAI,CAAC,UAAU,OAAQ,OAAO,MAAM,KAAK,KAAMI,EAAK,EAEpD,IAAIG,EAAOP,EAAMD,GAAUZ,GACvBqB,EAAU,KAAK,SACfC,EAAS,KAAK,QAEd,OAAOH,GAAU,aAAYA,EAAQI,GAASJ,CAAK,GAEvD,QAASK,EAAIF,EAAO,OAAQlB,EAAS,IAAI,MAAMoB,CAAC,EAAGrB,EAAQ,IAAI,MAAMqB,CAAC,EAAGnB,EAAO,IAAI,MAAMmB,CAAC,EAAGC,EAAI,EAAGA,EAAID,EAAG,EAAEC,EAAG,CAC/G,IAAIxB,EAASoB,EAAQI,GACjBvB,EAAQoB,EAAOG,GACfhB,EAAcP,EAAM,OACpBI,EAAOoB,GAAUP,EAAM,KAAKlB,EAAQA,GAAUA,EAAO,SAAUwB,EAAGJ,CAAO,CAAC,EAC1EX,EAAaJ,EAAK,OAClBqB,EAAaxB,EAAMsB,GAAK,IAAI,MAAMf,CAAU,EAC5CkB,EAAcxB,EAAOqB,GAAK,IAAI,MAAMf,CAAU,EAC9CmB,EAAYxB,EAAKoB,GAAK,IAAI,MAAMhB,CAAW,EAE/CW,EAAKnB,EAAQC,EAAOyB,EAAYC,EAAaC,EAAWvB,EAAMO,CAAG,EAKjE,QAASiB,EAAK,EAAGC,EAAK,EAAGC,EAAUC,EAAMH,EAAKpB,EAAY,EAAEoB,EAC1D,GAAIE,EAAWL,EAAWG,GAAK,CAE7B,IADIA,GAAMC,IAAIA,EAAKD,EAAK,GACjB,EAAEG,EAAOL,EAAYG,KAAQ,EAAEA,EAAKrB,GAAW,CACtDsB,EAAS,MAAQC,GAAQ,IAC3B,CAEJ,CAEA,OAAA7B,EAAS,IAAI8B,GAAU9B,EAAQiB,CAAO,EACtCjB,EAAO,OAASD,EAChBC,EAAO,MAAQC,EACRD,CACT,CAQA,SAASsB,GAAUpB,EAAM,CACvB,OAAO,OAAOA,GAAS,UAAY,WAAYA,EAC3CA,EACA,MAAM,KAAKA,CAAI,CACrB,CC5He,SAAR6B,IAAmB,CACxB,OAAO,IAAIC,GAAU,KAAK,OAAS,KAAK,QAAQ,IAAIC,EAAM,EAAG,KAAK,QAAQ,CAC5E,CCLe,SAARC,GAAiBC,EAASC,EAAUC,EAAQ,CACjD,IAAIC,EAAQ,KAAK,MAAM,EAAGC,EAAS,KAAMC,EAAO,KAAK,KAAK,EAC1D,OAAI,OAAOL,GAAY,YACrBG,EAAQH,EAAQG,CAAK,EACjBA,IAAOA,EAAQA,EAAM,UAAU,IAEnCA,EAAQA,EAAM,OAAOH,EAAU,EAAE,EAE/BC,GAAY,OACdG,EAASH,EAASG,CAAM,EACpBA,IAAQA,EAASA,EAAO,UAAU,IAEpCF,GAAU,KAAMG,EAAK,OAAO,EAAQH,EAAOG,CAAI,EAC5CF,GAASC,EAASD,EAAM,MAAMC,CAAM,EAAE,MAAM,EAAIA,CACzD,CCZe,SAARE,GAAiBC,EAAS,CAG/B,QAFIC,EAAYD,EAAQ,UAAYA,EAAQ,UAAU,EAAIA,EAEjDE,EAAU,KAAK,QAASC,EAAUF,EAAU,QAASG,EAAKF,EAAQ,OAAQG,EAAKF,EAAQ,OAAQG,EAAI,KAAK,IAAIF,EAAIC,CAAE,EAAGE,EAAS,IAAI,MAAMH,CAAE,EAAGI,EAAI,EAAGA,EAAIF,EAAG,EAAEE,EACpK,QAASC,EAASP,EAAQM,GAAIE,EAASP,EAAQK,GAAIG,EAAIF,EAAO,OAAQG,EAAQL,EAAOC,GAAK,IAAI,MAAMG,CAAC,EAAGE,EAAMC,EAAI,EAAGA,EAAIH,EAAG,EAAEG,GACxHD,EAAOJ,EAAOK,IAAMJ,EAAOI,MAC7BF,EAAME,GAAKD,GAKjB,KAAOL,EAAIJ,EAAI,EAAEI,EACfD,EAAOC,GAAKN,EAAQM,GAGtB,OAAO,IAAIO,GAAUR,EAAQ,KAAK,QAAQ,CAC5C,CClBe,SAARS,IAAmB,CAExB,QAASC,EAAS,KAAK,QAASC,EAAI,GAAIC,EAAIF,EAAO,OAAQ,EAAEC,EAAIC,GAC/D,QAASC,EAAQH,EAAOC,GAAIG,EAAID,EAAM,OAAS,EAAGE,EAAOF,EAAMC,GAAIE,EAAM,EAAEF,GAAK,IAC1EE,EAAOH,EAAMC,MACXC,GAAQC,EAAK,wBAAwBD,CAAI,EAAI,GAAGA,EAAK,WAAW,aAAaC,EAAMD,CAAI,EAC3FA,EAAOC,GAKb,OAAO,IACT,CCVe,SAARC,GAAiBC,EAAS,CAC1BA,IAASA,EAAUC,IAExB,SAASC,EAAYC,EAAGC,EAAG,CACzB,OAAOD,GAAKC,EAAIJ,EAAQG,EAAE,SAAUC,EAAE,QAAQ,EAAI,CAACD,EAAI,CAACC,CAC1D,CAEA,QAASC,EAAS,KAAK,QAASC,EAAID,EAAO,OAAQE,EAAa,IAAI,MAAMD,CAAC,EAAGE,EAAI,EAAGA,EAAIF,EAAG,EAAEE,EAAG,CAC/F,QAASC,EAAQJ,EAAOG,GAAIE,EAAID,EAAM,OAAQE,EAAYJ,EAAWC,GAAK,IAAI,MAAME,CAAC,EAAGE,EAAMC,EAAI,EAAGA,EAAIH,EAAG,EAAEG,GACxGD,EAAOH,EAAMI,MACfF,EAAUE,GAAKD,GAGnBD,EAAU,KAAKT,CAAW,CAC5B,CAEA,OAAO,IAAIY,GAAUP,EAAY,KAAK,QAAQ,EAAE,MAAM,CACxD,CAEA,SAASN,GAAUE,EAAGC,EAAG,CACvB,OAAOD,EAAIC,EAAI,GAAKD,EAAIC,EAAI,EAAID,GAAKC,EAAI,EAAI,GAC/C,CCvBe,SAARW,IAAmB,CACxB,IAAIC,EAAW,UAAU,GACzB,iBAAU,GAAK,KACfA,EAAS,MAAM,KAAM,SAAS,EACvB,IACT,CCLe,SAARC,IAAmB,CACxB,OAAO,MAAM,KAAK,IAAI,CACxB,CCFe,SAARC,IAAmB,CAExB,QAASC,EAAS,KAAK,QAASC,EAAI,EAAGC,EAAIF,EAAO,OAAQC,EAAIC,EAAG,EAAED,EACjE,QAASE,EAAQH,EAAOC,GAAIG,EAAI,EAAGC,EAAIF,EAAM,OAAQC,EAAIC,EAAG,EAAED,EAAG,CAC/D,IAAIE,EAAOH,EAAMC,GACjB,GAAIE,EAAM,OAAOA,CACnB,CAGF,OAAO,IACT,CCVe,SAARC,IAAmB,CACxB,IAAIC,EAAO,EACX,QAAWC,KAAQ,KAAM,EAAED,EAC3B,OAAOA,CACT,CCJe,SAARE,IAAmB,CACxB,MAAO,CAAC,KAAK,KAAK,CACpB,CCFe,SAARC,GAAiBC,EAAU,CAEhC,QAASC,EAAS,KAAK,QAASC,EAAI,EAAGC,EAAIF,EAAO,OAAQC,EAAIC,EAAG,EAAED,EACjE,QAASE,EAAQH,EAAOC,GAAI,EAAI,EAAGG,EAAID,EAAM,OAAQE,EAAM,EAAID,EAAG,EAAE,GAC9DC,EAAOF,EAAM,KAAIJ,EAAS,KAAKM,EAAMA,EAAK,SAAU,EAAGF,CAAK,EAIpE,OAAO,IACT,CCPA,SAASG,GAAWC,EAAM,CACxB,OAAO,UAAW,CAChB,KAAK,gBAAgBA,CAAI,CAC3B,CACF,CAEA,SAASC,GAAaC,EAAU,CAC9B,OAAO,UAAW,CAChB,KAAK,kBAAkBA,EAAS,MAAOA,EAAS,KAAK,CACvD,CACF,CAEA,SAASC,GAAaH,EAAMI,EAAO,CACjC,OAAO,UAAW,CAChB,KAAK,aAAaJ,EAAMI,CAAK,CAC/B,CACF,CAEA,SAASC,GAAeH,EAAUE,EAAO,CACvC,OAAO,UAAW,CAChB,KAAK,eAAeF,EAAS,MAAOA,EAAS,MAAOE,CAAK,CAC3D,CACF,CAEA,SAASE,GAAaN,EAAMI,EAAO,CACjC,OAAO,UAAW,CAChB,IAAIG,EAAIH,EAAM,MAAM,KAAM,SAAS,EAC/BG,GAAK,KAAM,KAAK,gBAAgBP,CAAI,EACnC,KAAK,aAAaA,EAAMO,CAAC,CAChC,CACF,CAEA,SAASC,GAAeN,EAAUE,EAAO,CACvC,OAAO,UAAW,CAChB,IAAIG,EAAIH,EAAM,MAAM,KAAM,SAAS,EAC/BG,GAAK,KAAM,KAAK,kBAAkBL,EAAS,MAAOA,EAAS,KAAK,EAC/D,KAAK,eAAeA,EAAS,MAAOA,EAAS,MAAOK,CAAC,CAC5D,CACF,CAEe,SAARE,GAAiBT,EAAMI,EAAO,CACnC,IAAIF,EAAWQ,GAAUV,CAAI,EAE7B,GAAI,UAAU,OAAS,EAAG,CACxB,IAAIW,EAAO,KAAK,KAAK,EACrB,OAAOT,EAAS,MACVS,EAAK,eAAeT,EAAS,MAAOA,EAAS,KAAK,EAClDS,EAAK,aAAaT,CAAQ,CAClC,CAEA,OAAO,KAAK,MAAME,GAAS,KACpBF,EAAS,MAAQD,GAAeF,GAAe,OAAOK,GAAU,WAChEF,EAAS,MAAQM,GAAiBF,GAClCJ,EAAS,MAAQG,GAAiBF,IAAgBD,EAAUE,CAAK,CAAC,CAC3E,CCxDe,SAARQ,GAAiBC,EAAM,CAC5B,OAAQA,EAAK,eAAiBA,EAAK,cAAc,aACzCA,EAAK,UAAYA,GAClBA,EAAK,WACd,CCFA,SAASC,GAAYC,EAAM,CACzB,OAAO,UAAW,CAChB,KAAK,MAAM,eAAeA,CAAI,CAChC,CACF,CAEA,SAASC,GAAcD,EAAME,EAAOC,EAAU,CAC5C,OAAO,UAAW,CAChB,KAAK,MAAM,YAAYH,EAAME,EAAOC,CAAQ,CAC9C,CACF,CAEA,SAASC,GAAcJ,EAAME,EAAOC,EAAU,CAC5C,OAAO,UAAW,CAChB,IAAIE,EAAIH,EAAM,MAAM,KAAM,SAAS,EAC/BG,GAAK,KAAM,KAAK,MAAM,eAAeL,CAAI,EACxC,KAAK,MAAM,YAAYA,EAAMK,EAAGF,CAAQ,CAC/C,CACF,CAEe,SAARG,GAAiBN,EAAME,EAAOC,EAAU,CAC7C,OAAO,UAAU,OAAS,EACpB,KAAK,MAAMD,GAAS,KACdH,GAAc,OAAOG,GAAU,WAC/BE,GACAH,IAAeD,EAAME,EAAOC,GAAY,KAAO,GAAKA,CAAQ,CAAC,EACnEI,GAAW,KAAK,KAAK,EAAGP,CAAI,CACpC,CAEO,SAASO,GAAWC,EAAMR,EAAM,CACrC,OAAOQ,EAAK,MAAM,iBAAiBR,CAAI,GAChCS,GAAYD,CAAI,EAAE,iBAAiBA,EAAM,IAAI,EAAE,iBAAiBR,CAAI,CAC7E,CClCA,SAASU,GAAeC,EAAM,CAC5B,OAAO,UAAW,CAChB,OAAO,KAAKA,EACd,CACF,CAEA,SAASC,GAAiBD,EAAME,EAAO,CACrC,OAAO,UAAW,CAChB,KAAKF,GAAQE,CACf,CACF,CAEA,SAASC,GAAiBH,EAAME,EAAO,CACrC,OAAO,UAAW,CAChB,IAAIE,EAAIF,EAAM,MAAM,KAAM,SAAS,EAC/BE,GAAK,KAAM,OAAO,KAAKJ,GACtB,KAAKA,GAAQI,CACpB,CACF,CAEe,SAARC,GAAiBL,EAAME,EAAO,CACnC,OAAO,UAAU,OAAS,EACpB,KAAK,MAAMA,GAAS,KAChBH,GAAiB,OAAOG,GAAU,WAClCC,GACAF,IAAkBD,EAAME,CAAK,CAAC,EAClC,KAAK,KAAK,EAAEF,EACpB,CC3BA,SAASM,GAAWC,EAAQ,CAC1B,OAAOA,EAAO,KAAK,EAAE,MAAM,OAAO,CACpC,CAEA,SAASC,GAAUC,EAAM,CACvB,OAAOA,EAAK,WAAa,IAAIC,GAAUD,CAAI,CAC7C,CAEA,SAASC,GAAUD,EAAM,CACvB,KAAK,MAAQA,EACb,KAAK,OAASH,GAAWG,EAAK,aAAa,OAAO,GAAK,EAAE,CAC3D,CAEAC,GAAU,UAAY,CACpB,IAAK,SAASC,EAAM,CAClB,IAAIC,EAAI,KAAK,OAAO,QAAQD,CAAI,EAC5BC,EAAI,IACN,KAAK,OAAO,KAAKD,CAAI,EACrB,KAAK,MAAM,aAAa,QAAS,KAAK,OAAO,KAAK,GAAG,CAAC,EAE1D,EACA,OAAQ,SAASA,EAAM,CACrB,IAAIC,EAAI,KAAK,OAAO,QAAQD,CAAI,EAC5BC,GAAK,IACP,KAAK,OAAO,OAAOA,EAAG,CAAC,EACvB,KAAK,MAAM,aAAa,QAAS,KAAK,OAAO,KAAK,GAAG,CAAC,EAE1D,EACA,SAAU,SAASD,EAAM,CACvB,OAAO,KAAK,OAAO,QAAQA,CAAI,GAAK,CACtC,CACF,EAEA,SAASE,GAAWJ,EAAMK,EAAO,CAE/B,QADIC,EAAOP,GAAUC,CAAI,EAAGG,EAAI,GAAII,EAAIF,EAAM,OACvC,EAAEF,EAAII,GAAGD,EAAK,IAAID,EAAMF,EAAE,CACnC,CAEA,SAASK,GAAcR,EAAMK,EAAO,CAElC,QADIC,EAAOP,GAAUC,CAAI,EAAGG,EAAI,GAAII,EAAIF,EAAM,OACvC,EAAEF,EAAII,GAAGD,EAAK,OAAOD,EAAMF,EAAE,CACtC,CAEA,SAASM,GAAYJ,EAAO,CAC1B,OAAO,UAAW,CAChBD,GAAW,KAAMC,CAAK,CACxB,CACF,CAEA,SAASK,GAAaL,EAAO,CAC3B,OAAO,UAAW,CAChBG,GAAc,KAAMH,CAAK,CAC3B,CACF,CAEA,SAASM,GAAgBN,EAAOO,EAAO,CACrC,OAAO,UAAW,EACfA,EAAM,MAAM,KAAM,SAAS,EAAIR,GAAaI,IAAe,KAAMH,CAAK,CACzE,CACF,CAEe,SAARQ,GAAiBX,EAAMU,EAAO,CACnC,IAAIP,EAAQR,GAAWK,EAAO,EAAE,EAEhC,GAAI,UAAU,OAAS,EAAG,CAExB,QADII,EAAOP,GAAU,KAAK,KAAK,CAAC,EAAGI,EAAI,GAAII,EAAIF,EAAM,OAC9C,EAAEF,EAAII,GAAG,GAAI,CAACD,EAAK,SAASD,EAAMF,EAAE,EAAG,MAAO,GACrD,MAAO,EACT,CAEA,OAAO,KAAK,MAAM,OAAOS,GAAU,WAC7BD,GAAkBC,EAClBH,GACAC,IAAcL,EAAOO,CAAK,CAAC,CACnC,CC1EA,SAASE,IAAa,CACpB,KAAK,YAAc,EACrB,CAEA,SAASC,GAAaC,EAAO,CAC3B,OAAO,UAAW,CAChB,KAAK,YAAcA,CACrB,CACF,CAEA,SAASC,GAAaD,EAAO,CAC3B,OAAO,UAAW,CAChB,IAAIE,EAAIF,EAAM,MAAM,KAAM,SAAS,EACnC,KAAK,YAAcE,GAAK,KAAO,GAAKA,CACtC,CACF,CAEe,SAARC,GAAiBH,EAAO,CAC7B,OAAO,UAAU,OACX,KAAK,KAAKA,GAAS,KACfF,IAAc,OAAOE,GAAU,WAC/BC,GACAF,IAAcC,CAAK,CAAC,EACxB,KAAK,KAAK,EAAE,WACpB,CCxBA,SAASI,IAAa,CACpB,KAAK,UAAY,EACnB,CAEA,SAASC,GAAaC,EAAO,CAC3B,OAAO,UAAW,CAChB,KAAK,UAAYA,CACnB,CACF,CAEA,SAASC,GAAaD,EAAO,CAC3B,OAAO,UAAW,CAChB,IAAIE,EAAIF,EAAM,MAAM,KAAM,SAAS,EACnC,KAAK,UAAYE,GAAK,KAAO,GAAKA,CACpC,CACF,CAEe,SAARC,GAAiBH,EAAO,CAC7B,OAAO,UAAU,OACX,KAAK,KAAKA,GAAS,KACfF,IAAc,OAAOE,GAAU,WAC/BC,GACAF,IAAcC,CAAK,CAAC,EACxB,KAAK,KAAK,EAAE,SACpB,CCxBA,SAASI,IAAQ,CACX,KAAK,aAAa,KAAK,WAAW,YAAY,IAAI,CACxD,CAEe,SAARC,IAAmB,CACxB,OAAO,KAAK,KAAKD,EAAK,CACxB,CCNA,SAASE,IAAQ,CACX,KAAK,iBAAiB,KAAK,WAAW,aAAa,KAAM,KAAK,WAAW,UAAU,CACzF,CAEe,SAARC,IAAmB,CACxB,OAAO,KAAK,KAAKD,EAAK,CACxB,CCJe,SAARE,GAAiBC,EAAM,CAC5B,IAAIC,EAAS,OAAOD,GAAS,WAAaA,EAAOE,GAAQF,CAAI,EAC7D,OAAO,KAAK,OAAO,UAAW,CAC5B,OAAO,KAAK,YAAYC,EAAO,MAAM,KAAM,SAAS,CAAC,CACvD,CAAC,CACH,CCJA,SAASE,IAAe,CACtB,OAAO,IACT,CAEe,SAARC,GAAiBC,EAAMC,EAAQ,CACpC,IAAIC,EAAS,OAAOF,GAAS,WAAaA,EAAOG,GAAQH,CAAI,EACzDI,EAASH,GAAU,KAAOH,GAAe,OAAOG,GAAW,WAAaA,EAASI,GAASJ,CAAM,EACpG,OAAO,KAAK,OAAO,UAAW,CAC5B,OAAO,KAAK,aAAaC,EAAO,MAAM,KAAM,SAAS,EAAGE,EAAO,MAAM,KAAM,SAAS,GAAK,IAAI,CAC/F,CAAC,CACH,CCbA,SAASE,IAAS,CAChB,IAAIC,EAAS,KAAK,WACdA,GAAQA,EAAO,YAAY,IAAI,CACrC,CAEe,SAARC,IAAmB,CACxB,OAAO,KAAK,KAAKF,EAAM,CACzB,CCPA,SAASG,IAAyB,CAChC,IAAIC,EAAQ,KAAK,UAAU,EAAK,EAAGC,EAAS,KAAK,WACjD,OAAOA,EAASA,EAAO,aAAaD,EAAO,KAAK,WAAW,EAAIA,CACjE,CAEA,SAASE,IAAsB,CAC7B,IAAIF,EAAQ,KAAK,UAAU,EAAI,EAAGC,EAAS,KAAK,WAChD,OAAOA,EAASA,EAAO,aAAaD,EAAO,KAAK,WAAW,EAAIA,CACjE,CAEe,SAARG,GAAiBC,EAAM,CAC5B,OAAO,KAAK,OAAOA,EAAOF,GAAsBH,EAAsB,CACxE,CCZe,SAARM,GAAiBC,EAAO,CAC7B,OAAO,UAAU,OACX,KAAK,SAAS,WAAYA,CAAK,EAC/B,KAAK,KAAK,EAAE,QACpB,CCJA,SAASC,GAAgBC,EAAU,CACjC,OAAO,SAASC,EAAO,CACrBD,EAAS,KAAK,KAAMC,EAAO,KAAK,QAAQ,CAC1C,CACF,CAEA,SAASC,GAAeC,EAAW,CACjC,OAAOA,EAAU,KAAK,EAAE,MAAM,OAAO,EAAE,IAAI,SAAS,EAAG,CACrD,IAAIC,EAAO,GAAIC,EAAI,EAAE,QAAQ,GAAG,EAChC,OAAIA,GAAK,IAAGD,EAAO,EAAE,MAAMC,EAAI,CAAC,EAAG,EAAI,EAAE,MAAM,EAAGA,CAAC,GAC5C,CAAC,KAAM,EAAG,KAAMD,CAAI,CAC7B,CAAC,CACH,CAEA,SAASE,GAASC,EAAU,CAC1B,OAAO,UAAW,CAChB,IAAIC,EAAK,KAAK,KACd,GAAI,EAACA,EACL,SAASC,EAAI,EAAGJ,EAAI,GAAIK,EAAIF,EAAG,OAAQG,EAAGF,EAAIC,EAAG,EAAED,EAC7CE,EAAIH,EAAGC,IAAK,CAACF,EAAS,MAAQI,EAAE,OAASJ,EAAS,OAASI,EAAE,OAASJ,EAAS,KACjF,KAAK,oBAAoBI,EAAE,KAAMA,EAAE,SAAUA,EAAE,OAAO,EAEtDH,EAAG,EAAEH,GAAKM,EAGV,EAAEN,EAAGG,EAAG,OAASH,EAChB,OAAO,KAAK,KACnB,CACF,CAEA,SAASO,GAAML,EAAUM,EAAOC,EAAS,CACvC,OAAO,UAAW,CAChB,IAAIN,EAAK,KAAK,KAAM,EAAGR,EAAWD,GAAgBc,CAAK,EACvD,GAAIL,GAAI,QAASC,EAAI,EAAGC,EAAIF,EAAG,OAAQC,EAAIC,EAAG,EAAED,EAC9C,IAAK,EAAID,EAAGC,IAAI,OAASF,EAAS,MAAQ,EAAE,OAASA,EAAS,KAAM,CAClE,KAAK,oBAAoB,EAAE,KAAM,EAAE,SAAU,EAAE,OAAO,EACtD,KAAK,iBAAiB,EAAE,KAAM,EAAE,SAAWP,EAAU,EAAE,QAAUc,CAAO,EACxE,EAAE,MAAQD,EACV,MACF,EAEF,KAAK,iBAAiBN,EAAS,KAAMP,EAAUc,CAAO,EACtD,EAAI,CAAC,KAAMP,EAAS,KAAM,KAAMA,EAAS,KAAM,MAAOM,EAAO,SAAUb,EAAU,QAASc,CAAO,EAC5FN,EACAA,EAAG,KAAK,CAAC,EADL,KAAK,KAAO,CAAC,CAAC,CAEzB,CACF,CAEe,SAARO,GAAiBR,EAAUM,EAAOC,EAAS,CAChD,IAAIX,EAAYD,GAAeK,EAAW,EAAE,EAAGF,EAAGW,EAAIb,EAAU,OAAQc,EAExE,GAAI,UAAU,OAAS,EAAG,CACxB,IAAIT,EAAK,KAAK,KAAK,EAAE,KACrB,GAAIA,GAAI,QAASC,EAAI,EAAGC,EAAIF,EAAG,OAAQG,EAAGF,EAAIC,EAAG,EAAED,EACjD,IAAKJ,EAAI,EAAGM,EAAIH,EAAGC,GAAIJ,EAAIW,EAAG,EAAEX,EAC9B,IAAKY,EAAId,EAAUE,IAAI,OAASM,EAAE,MAAQM,EAAE,OAASN,EAAE,KACrD,OAAOA,EAAE,MAIf,MACF,CAGA,IADAH,EAAKK,EAAQD,GAAQN,GAChBD,EAAI,EAAGA,EAAIW,EAAG,EAAEX,EAAG,KAAK,KAAKG,EAAGL,EAAUE,GAAIQ,EAAOC,CAAO,CAAC,EAClE,OAAO,IACT,CChEA,SAASI,GAAcC,EAAMC,EAAMC,EAAQ,CACzC,IAAIC,EAASC,GAAYJ,CAAI,EACzBK,EAAQF,EAAO,YAEf,OAAOE,GAAU,WACnBA,EAAQ,IAAIA,EAAMJ,EAAMC,CAAM,GAE9BG,EAAQF,EAAO,SAAS,YAAY,OAAO,EACvCD,GAAQG,EAAM,UAAUJ,EAAMC,EAAO,QAASA,EAAO,UAAU,EAAGG,EAAM,OAASH,EAAO,QACvFG,EAAM,UAAUJ,EAAM,GAAO,EAAK,GAGzCD,EAAK,cAAcK,CAAK,CAC1B,CAEA,SAASC,GAAiBL,EAAMC,EAAQ,CACtC,OAAO,UAAW,CAChB,OAAOH,GAAc,KAAME,EAAMC,CAAM,CACzC,CACF,CAEA,SAASK,GAAiBN,EAAMC,EAAQ,CACtC,OAAO,UAAW,CAChB,OAAOH,GAAc,KAAME,EAAMC,EAAO,MAAM,KAAM,SAAS,CAAC,CAChE,CACF,CAEe,SAARM,GAAiBP,EAAMC,EAAQ,CACpC,OAAO,KAAK,MAAM,OAAOA,GAAW,WAC9BK,GACAD,IAAkBL,EAAMC,CAAM,CAAC,CACvC,CCjCe,SAARO,IAAoB,CACzB,QAASC,EAAS,KAAK,QAASC,EAAI,EAAGC,EAAIF,EAAO,OAAQC,EAAIC,EAAG,EAAED,EACjE,QAASE,EAAQH,EAAOC,GAAIG,EAAI,EAAGC,EAAIF,EAAM,OAAQG,EAAMF,EAAIC,EAAG,EAAED,GAC9DE,EAAOH,EAAMC,MAAI,MAAME,EAGjC,CC6BO,IAAIC,GAAO,CAAC,IAAI,EAEhB,SAASC,GAAUC,EAAQC,EAAS,CACzC,KAAK,QAAUD,EACf,KAAK,SAAWC,CAClB,CAEA,SAASC,IAAY,CACnB,OAAO,IAAIH,GAAU,CAAC,CAAC,SAAS,eAAe,CAAC,EAAGD,EAAI,CACzD,CAEA,SAASK,IAAsB,CAC7B,OAAO,IACT,CAEAJ,GAAU,UAAYG,GAAU,UAAY,CAC1C,YAAaH,GACb,OAAQK,GACR,UAAWC,GACX,YAAaC,GACb,eAAgBC,GAChB,OAAQC,GACR,KAAMC,GACN,MAAOC,GACP,KAAMC,GACN,KAAMC,GACN,MAAOC,GACP,UAAWV,GACX,MAAOW,GACP,KAAMC,GACN,KAAMC,GACN,MAAOC,GACP,KAAMC,GACN,KAAMC,GACN,MAAOC,GACP,KAAMC,GACN,KAAMC,GACN,MAAOC,GACP,SAAUC,GACV,QAASC,GACT,KAAMC,GACN,KAAMC,GACN,MAAOC,GACP,MAAOC,GACP,OAAQC,GACR,OAAQC,GACR,OAAQC,GACR,MAAOC,GACP,MAAOC,GACP,GAAIC,GACJ,SAAUC,GACV,CAAC,OAAO,UAAWC,EACrB,ECrFe,SAARC,GAAiBC,EAAU,CAChC,OAAO,OAAOA,GAAa,SACrB,IAAIC,GAAU,CAAC,CAAC,SAAS,cAAcD,CAAQ,CAAC,CAAC,EAAG,CAAC,SAAS,eAAe,CAAC,EAC9E,IAAIC,GAAU,CAAC,CAACD,CAAQ,CAAC,EAAGE,EAAI,CACxC,CCNe,SAARC,GAAiBC,EAAG,CACzB,OAAO,UAAoB,CACzB,OAAOA,CACT,CACF,CCJO,IAAMC,GAAM,KAAK,IACXC,GAAQ,KAAK,MACbC,GAAM,KAAK,IACXC,GAAM,KAAK,IACXC,GAAM,KAAK,IACXC,GAAM,KAAK,IACXC,GAAO,KAAK,KAEZC,GAAU,MACVC,GAAK,KAAK,GACVC,GAASD,GAAK,EACdE,GAAM,EAAIF,GAEhB,SAASG,GAAKC,EAAG,CACtB,OAAOA,EAAI,EAAI,EAAIA,EAAI,GAAKJ,GAAK,KAAK,KAAKI,CAAC,CAC9C,CAEO,SAASC,GAAKD,EAAG,CACtB,OAAOA,GAAK,EAAIH,GAASG,GAAK,GAAK,CAACH,GAAS,KAAK,KAAKG,CAAC,CAC1D,CCfA,SAASE,GAAeC,EAAG,CACzB,OAAOA,EAAE,WACX,CAEA,SAASC,GAAeD,EAAG,CACzB,OAAOA,EAAE,WACX,CAEA,SAASE,GAAcF,EAAG,CACxB,OAAOA,EAAE,UACX,CAEA,SAASG,GAAYH,EAAG,CACtB,OAAOA,EAAE,QACX,CAEA,SAASI,GAAYJ,EAAG,CACtB,OAAOA,GAAKA,EAAE,QAChB,CAEA,SAASK,GAAUC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI,CACjD,IAAIC,EAAMN,EAAKF,EAAIS,EAAMN,EAAKF,EAC1BS,EAAMJ,EAAKF,EAAIO,EAAMJ,EAAKF,EAC1BO,EAAID,EAAMH,EAAME,EAAMD,EAC1B,GAAI,EAAAG,EAAIA,EAAIC,IACZ,OAAAD,GAAKF,GAAOT,EAAKI,GAAMM,GAAOX,EAAKI,IAAOQ,EACnC,CAACZ,EAAKY,EAAIJ,EAAKP,EAAKW,EAAIH,CAAG,CACpC,CAIA,SAASK,GAAed,EAAIC,EAAIC,EAAIC,EAAIY,EAAIC,EAAIC,EAAI,CAClD,IAAIC,EAAMlB,EAAKE,EACXiB,EAAMlB,EAAKE,EACXiB,GAAMH,EAAKD,EAAK,CAACA,GAAMK,GAAKH,EAAMA,EAAMC,EAAMA,CAAG,EACjDG,EAAKF,EAAKD,EACVI,EAAK,CAACH,EAAKF,EACXM,EAAMxB,EAAKsB,EACXG,EAAMxB,EAAKsB,EACXf,EAAMN,EAAKoB,EACXb,EAAMN,EAAKoB,EACXG,GAAOF,EAAMhB,GAAO,EACpBmB,GAAOF,EAAMhB,GAAO,EACpBmB,EAAKpB,EAAMgB,EACXK,EAAKpB,EAAMgB,EACXK,EAAKF,EAAKA,EAAKC,EAAKA,EACpBE,EAAIhB,EAAKC,EACTgB,EAAIR,EAAMf,EAAMD,EAAMiB,EACtB/B,GAAKmC,EAAK,EAAI,GAAK,GAAKR,GAAKY,GAAI,EAAGF,EAAIA,EAAID,EAAKE,EAAIA,CAAC,CAAC,EACvDE,GAAOF,EAAIH,EAAKD,EAAKlC,GAAKoC,EAC1BK,GAAO,CAACH,EAAIJ,EAAKC,EAAKnC,GAAKoC,EAC3BM,GAAOJ,EAAIH,EAAKD,EAAKlC,GAAKoC,EAC1BO,GAAO,CAACL,EAAIJ,EAAKC,EAAKnC,GAAKoC,EAC3BQ,EAAMJ,EAAMR,EACZa,EAAMJ,EAAMR,EACZa,EAAMJ,EAAMV,EACZe,EAAMJ,EAAMV,EAIhB,OAAIW,EAAMA,EAAMC,EAAMA,EAAMC,EAAMA,EAAMC,EAAMA,IAAKP,EAAME,EAAKD,EAAME,GAE7D,CACL,GAAIH,EACJ,GAAIC,EACJ,IAAK,CAACb,EACN,IAAK,CAACC,EACN,IAAKW,GAAOnB,EAAKgB,EAAI,GACrB,IAAKI,GAAOpB,EAAKgB,EAAI,EACvB,CACF,CAEe,SAARW,IAAmB,CACxB,IAAIC,EAAclD,GACdmD,EAAcjD,GACdkD,EAAeC,GAAS,CAAC,EACzBC,EAAY,KACZC,EAAapD,GACbqD,EAAWpD,GACXqD,EAAWpD,GACXqD,EAAU,KAEd,SAASC,GAAM,CACb,IAAIC,EACAtB,EACAuB,EAAK,CAACX,EAAY,MAAM,KAAM,SAAS,EACvC5B,EAAK,CAAC6B,EAAY,MAAM,KAAM,SAAS,EACvCW,EAAKP,EAAW,MAAM,KAAM,SAAS,EAAIQ,GACzCC,EAAKR,EAAS,MAAM,KAAM,SAAS,EAAIO,GACvCE,EAAKC,GAAIF,EAAKF,CAAE,EAChBtC,EAAKwC,EAAKF,EAQd,GANKJ,IAASA,EAAUE,EAASO,GAAK,GAGlC7C,EAAKuC,IAAIvB,EAAIhB,EAAIA,EAAKuC,EAAIA,EAAKvB,GAG/B,EAAEhB,EAAKF,IAAUsC,EAAQ,OAAO,EAAG,CAAC,UAG/BO,EAAKG,GAAMhD,GAClBsC,EAAQ,OAAOpC,EAAK+C,GAAIP,CAAE,EAAGxC,EAAKgD,GAAIR,CAAE,CAAC,EACzCJ,EAAQ,IAAI,EAAG,EAAGpC,EAAIwC,EAAIE,EAAI,CAACxC,CAAE,EAC7BqC,EAAKzC,KACPsC,EAAQ,OAAOG,EAAKQ,GAAIL,CAAE,EAAGH,EAAKS,GAAIN,CAAE,CAAC,EACzCN,EAAQ,IAAI,EAAG,EAAGG,EAAIG,EAAIF,EAAItC,CAAE,OAK/B,CACH,IAAI+C,EAAMT,EACNU,EAAMR,EACNS,EAAMX,EACNY,EAAMV,EACNW,EAAMV,EACNW,EAAMX,EACNY,EAAKpB,EAAS,MAAM,KAAM,SAAS,EAAI,EACvCqB,EAAMD,EAAKzD,KAAakC,EAAY,CAACA,EAAU,MAAM,KAAM,SAAS,EAAI1B,GAAKiC,EAAKA,EAAKvC,EAAKA,CAAE,GAC9FC,EAAKwD,GAAIb,GAAI5C,EAAKuC,CAAE,EAAI,EAAG,CAACT,EAAa,MAAM,KAAM,SAAS,CAAC,EAC/D4B,EAAMzD,EACN0D,EAAM1D,EACN2D,EACAC,EAGJ,GAAIL,EAAK1D,GAAS,CAChB,IAAIgE,EAAKC,GAAKP,EAAKjB,EAAKS,GAAIO,CAAE,CAAC,EAC3BS,EAAKD,GAAKP,EAAKxD,EAAKgD,GAAIO,CAAE,CAAC,GAC1BF,GAAOS,EAAK,GAAKhE,IAASgE,GAAO5D,EAAK,EAAI,GAAKiD,GAAOW,EAAIV,GAAOU,IACjET,EAAM,EAAGF,EAAMC,GAAOZ,EAAKE,GAAM,IACjCY,GAAOU,EAAK,GAAKlE,IAASkE,GAAO9D,EAAK,EAAI,GAAK+C,GAAOe,EAAId,GAAOc,IACjEV,EAAM,EAAGL,EAAMC,GAAOV,EAAKE,GAAM,EACxC,CAEA,IAAIvC,GAAMH,EAAK+C,GAAIE,CAAG,EAClB7C,GAAMJ,EAAKgD,GAAIC,CAAG,EAClBxD,GAAM8C,EAAKQ,GAAIK,CAAG,EAClB1D,GAAM6C,EAAKS,GAAII,CAAG,EAGtB,GAAInD,EAAKH,GAAS,CAChB,IAAIW,GAAMT,EAAK+C,GAAIG,CAAG,EAClBxC,GAAMV,EAAKgD,GAAIE,CAAG,EAClBvC,GAAM4B,EAAKQ,GAAII,CAAG,EAClBvC,GAAM2B,EAAKS,GAAIG,CAAG,EAClBc,GAGJ,GAAItB,EAAKuB,KAAOD,GAAKjF,GAAUmB,GAAKC,GAAKO,GAAKC,GAAKH,GAAKC,GAAKjB,GAAKC,EAAG,GAAI,CACvE,IAAIyE,GAAKhE,GAAM8D,GAAG,GACdG,GAAKhE,GAAM6D,GAAG,GACdI,GAAK5D,GAAMwD,GAAG,GACdK,GAAK5D,GAAMuD,GAAG,GACdM,GAAK,EAAIvB,GAAIwB,IAAML,GAAKE,GAAKD,GAAKE,KAAOhE,GAAK6D,GAAKA,GAAKC,GAAKA,EAAE,EAAI9D,GAAK+D,GAAKA,GAAKC,GAAKA,EAAE,EAAE,EAAI,CAAC,EAChGG,GAAKnE,GAAK2D,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,EAAE,EAC3CP,EAAMD,GAAIxD,GAAKsC,EAAKkC,KAAOF,GAAK,EAAE,EAClCZ,EAAMF,GAAIxD,GAAKD,EAAKyE,KAAOF,GAAK,EAAE,CACpC,CACF,CAGMjB,EAAMxD,GAGH6D,EAAM7D,IACb8D,EAAK7D,GAAeY,GAAKC,GAAKT,GAAKC,GAAKJ,EAAI2D,EAAKzD,CAAE,EACnD2D,EAAK9D,GAAeU,GAAKC,GAAKjB,GAAKC,GAAKM,EAAI2D,EAAKzD,CAAE,EAEnDkC,EAAQ,OAAOwB,EAAG,GAAKA,EAAG,IAAKA,EAAG,GAAKA,EAAG,GAAG,EAGzCD,EAAM1D,EAAImC,EAAQ,IAAIwB,EAAG,GAAIA,EAAG,GAAID,EAAKe,GAAMd,EAAG,IAAKA,EAAG,GAAG,EAAGc,GAAMb,EAAG,IAAKA,EAAG,GAAG,EAAG,CAAC3D,CAAE,GAI5FkC,EAAQ,IAAIwB,EAAG,GAAIA,EAAG,GAAID,EAAKe,GAAMd,EAAG,IAAKA,EAAG,GAAG,EAAGc,GAAMd,EAAG,IAAKA,EAAG,GAAG,EAAG,CAAC1D,CAAE,EAChFkC,EAAQ,IAAI,EAAG,EAAGpC,EAAI0E,GAAMd,EAAG,GAAKA,EAAG,IAAKA,EAAG,GAAKA,EAAG,GAAG,EAAGc,GAAMb,EAAG,GAAKA,EAAG,IAAKA,EAAG,GAAKA,EAAG,GAAG,EAAG,CAAC3D,CAAE,EACvGkC,EAAQ,IAAIyB,EAAG,GAAIA,EAAG,GAAIF,EAAKe,GAAMb,EAAG,IAAKA,EAAG,GAAG,EAAGa,GAAMb,EAAG,IAAKA,EAAG,GAAG,EAAG,CAAC3D,CAAE,KAK/EkC,EAAQ,OAAOjC,GAAKC,EAAG,EAAGgC,EAAQ,IAAI,EAAG,EAAGpC,EAAIiD,EAAKC,EAAK,CAAChD,CAAE,GArB5CkC,EAAQ,OAAOjC,GAAKC,EAAG,EAyBzC,EAAEmC,EAAKzC,KAAY,EAAEuD,EAAMvD,IAAUsC,EAAQ,OAAO3C,GAAKC,EAAG,EAGvDgE,EAAM5D,IACb8D,EAAK7D,GAAeN,GAAKC,GAAKe,GAAKC,GAAK6B,EAAI,CAACmB,EAAKxD,CAAE,EACpD2D,EAAK9D,GAAeI,GAAKC,GAAKO,GAAKC,GAAK2B,EAAI,CAACmB,EAAKxD,CAAE,EAEpDkC,EAAQ,OAAOwB,EAAG,GAAKA,EAAG,IAAKA,EAAG,GAAKA,EAAG,GAAG,EAGzCF,EAAMzD,EAAImC,EAAQ,IAAIwB,EAAG,GAAIA,EAAG,GAAIF,EAAKgB,GAAMd,EAAG,IAAKA,EAAG,GAAG,EAAGc,GAAMb,EAAG,IAAKA,EAAG,GAAG,EAAG,CAAC3D,CAAE,GAI5FkC,EAAQ,IAAIwB,EAAG,GAAIA,EAAG,GAAIF,EAAKgB,GAAMd,EAAG,IAAKA,EAAG,GAAG,EAAGc,GAAMd,EAAG,IAAKA,EAAG,GAAG,EAAG,CAAC1D,CAAE,EAChFkC,EAAQ,IAAI,EAAG,EAAGG,EAAImC,GAAMd,EAAG,GAAKA,EAAG,IAAKA,EAAG,GAAKA,EAAG,GAAG,EAAGc,GAAMb,EAAG,GAAKA,EAAG,IAAKA,EAAG,GAAKA,EAAG,GAAG,EAAG3D,CAAE,EACtGkC,EAAQ,IAAIyB,EAAG,GAAIA,EAAG,GAAIH,EAAKgB,GAAMb,EAAG,IAAKA,EAAG,GAAG,EAAGa,GAAMb,EAAG,IAAKA,EAAG,GAAG,EAAG,CAAC3D,CAAE,IAK/EkC,EAAQ,IAAI,EAAG,EAAGG,EAAIa,EAAKD,EAAKjD,CAAE,CACzC,CAIA,GAFAkC,EAAQ,UAAU,EAEdE,EAAQ,OAAOF,EAAU,KAAME,EAAS,IAAM,IACpD,CAEA,OAAAD,EAAI,SAAW,UAAW,CACxB,IAAIrB,GAAK,CAACY,EAAY,MAAM,KAAM,SAAS,GAAI,CAACC,EAAY,MAAM,KAAM,SAAS,GAAK,EAClF8C,GAAK,CAAC1C,EAAW,MAAM,KAAM,SAAS,GAAI,CAACC,EAAS,MAAM,KAAM,SAAS,GAAK,EAAIgC,GAAK,EAC3F,MAAO,CAACnB,GAAI4B,CAAC,EAAI3D,EAAGgC,GAAI2B,CAAC,EAAI3D,CAAC,CAChC,EAEAqB,EAAI,YAAc,SAASuC,EAAG,CAC5B,OAAO,UAAU,QAAUhD,EAAc,OAAOgD,GAAM,WAAaA,EAAI7C,GAAS,CAAC6C,CAAC,EAAGvC,GAAOT,CAC9F,EAEAS,EAAI,YAAc,SAASuC,EAAG,CAC5B,OAAO,UAAU,QAAU/C,EAAc,OAAO+C,GAAM,WAAaA,EAAI7C,GAAS,CAAC6C,CAAC,EAAGvC,GAAOR,CAC9F,EAEAQ,EAAI,aAAe,SAASuC,EAAG,CAC7B,OAAO,UAAU,QAAU9C,EAAe,OAAO8C,GAAM,WAAaA,EAAI7C,GAAS,CAAC6C,CAAC,EAAGvC,GAAOP,CAC/F,EAEAO,EAAI,UAAY,SAASuC,EAAG,CAC1B,OAAO,UAAU,QAAU5C,EAAY4C,GAAK,KAAO,KAAO,OAAOA,GAAM,WAAaA,EAAI7C,GAAS,CAAC6C,CAAC,EAAGvC,GAAOL,CAC/G,EAEAK,EAAI,WAAa,SAASuC,EAAG,CAC3B,OAAO,UAAU,QAAU3C,EAAa,OAAO2C,GAAM,WAAaA,EAAI7C,GAAS,CAAC6C,CAAC,EAAGvC,GAAOJ,CAC7F,EAEAI,EAAI,SAAW,SAASuC,EAAG,CACzB,OAAO,UAAU,QAAU1C,EAAW,OAAO0C,GAAM,WAAaA,EAAI7C,GAAS,CAAC6C,CAAC,EAAGvC,GAAOH,CAC3F,EAEAG,EAAI,SAAW,SAASuC,EAAG,CACzB,OAAO,UAAU,QAAUzC,EAAW,OAAOyC,GAAM,WAAaA,EAAI7C,GAAS,CAAC6C,CAAC,EAAGvC,GAAOF,CAC3F,EAEAE,EAAI,QAAU,SAASuC,EAAG,CACxB,OAAO,UAAU,QAAWxC,EAAUwC,GAAK,KAAO,KAAOA,EAAIvC,GAAOD,CACtE,EAEOC,CACT,CCzPO,SAASwC,GAAeC,EAAkBC,EAAyB,CACzE,IAAMC,EAAS,IAAI,MAAMD,EAAM,MAAM,EACnC,KAAK,CAAC,EACN,IAAI,IAAM,IAAI,MAAMA,EAAM,MAAM,EAAE,KAAK,CAAC,CAAC,EAC3C,SAASE,EAAQC,EAAMC,EAAI,CAEtBD,GAAQ,MAAaC,GAAM,OAC/BH,EAAOE,GAAMC,GAAMH,EAAOG,GAAID,GAAQ,EACvC,CAGA,IAAME,EAAc,IAAI,IACxB,QAASC,EAAI,EAAGA,EAAIN,EAAM,OAAQM,IACjCD,EAAY,IAAIL,EAAMM,GAAG,GAAIA,CAAC,EAG/B,QAAWC,KAAQP,EAClB,QAAWQ,KAAcD,EAAK,UAC7BL,EAAQG,EAAY,IAAIE,EAAK,EAAE,EAAGF,EAAY,IAAIG,CAAU,CAAC,EAK/D,IAAMC,EAAOC,GAAQA,EAAI,OAAO,CAACC,EAAKC,IAAQD,EAAMC,EAAK,CAAC,EACtDC,EAAS,KAAK,IAAI,GAAGZ,EAAO,IAAIQ,CAAG,CAAC,EACpCI,IAAW,IAAGA,EAAS,GAG3B,IAAMC,EAAe,IAAI,IACzB,QAASR,EAAI,EAAGA,EAAIL,EAAO,OAAQK,IAAK,CACvC,IAAMS,EAAMd,EAAOK,GACJG,EAAIM,CAAG,IACP,GACdA,EAAIT,GAAK,EAAIO,EACbC,EAAa,IAAId,EAAMM,GAAG,EAAE,GAE5BL,EAAOK,GAAKS,EAAI,IAAKC,GAAQA,EAAMH,CAAM,CAE3C,CAEA,IAAMI,EAAc,IACdC,EAAUT,EAAIR,EAAO,EAAE,EAC7BA,EAAO,GAAKA,EAAO,GAAG,IAAKe,GAASA,EAAMC,EAAeC,CAAO,EAChE,IAAMC,EAAYV,EAAIR,EAAO,IAAIQ,CAAG,CAAC,EAI/BW,EAAQ,IACRC,EAAS,IACTC,EAAc,KAAK,IAAIF,EAAOC,CAAM,EAAI,GAAM,IAC9CE,EAAcD,EAAc,GAC5BE,EAAM,KAAK,IAAI,IAAM,KAAK,GAAK,EAAIxB,EAAM,MAAM,EAI/CyB,EAAY,EAAI,KAAK,GAAKzB,EAAM,OAASwB,EACzCE,EAAoB,GAAMD,GAAaR,EAAcE,GAErDQ,EAAMC,GAAO7B,CAAQ,EACzB,OAAO,KAAK,EAEZ,KAAK,sBAAuB,eAAe,EAC3C,KAAK,UAAW,GAAG,CAACqB,EAAQ,KAAK,CAACC,EAAS,KAAKD,KAASC,GAAQ,EACjE,OAAO,GAAG,EACV,KACA,YACA,YAAYK,GAAqB,IAAM,KAAK,KAAK,QAAQ,CAAC,IAC3D,EAEKG,EAAQC,GAAQ,EACpB,SAASN,CAAG,EACZ,WAAWO,EAAS,EACpB,cAAc,IAAM,CAAC,EAAE9B,CAAM,EAEzB+B,EAAOC,GAAI,EAAE,YAAYV,CAAW,EAAE,YAAYD,CAAW,EAE7DY,EAAkBC,GAAO,EAAE,OAAOZ,CAAW,EAC7Ca,EAAaC,GAAa,EAE9B,OAAOC,GAAMtC,EAAM,OAAS,CAAC,CAAC,EAC9B,MAAMuC,GAAe,KAAK,IAAI,EAAG,KAAK,IAAI,GAAIvC,EAAM,MAAM,CAAC,EAAE,EAG/D,SAASwC,EAAUC,EAAG,CACrB,MAAO,YAAcA,EAAE,OAAO,MAAQ,IAAMA,EAAE,OAAO,KACtD,CAEA,IAAMC,EAAQf,EACZ,OAAO,MAAM,EACb,UAAU,gBAAgB,EAC1B,KAAKE,CAAK,EACV,MAAM,EACN,OAAO,gBAAgB,EACvB,KAAK,KAAMW,CAAS,EACpB,KAAK,gBAAiB,gBAAgB,EACtC,KAAK,KAAM,SAAUC,EAAGE,EAAI,CAC5B,OACCpB,EACA,KAAK,KACHkB,EAAE,OAAO,SAAWA,EAAE,OAAO,YAAc,EAC3CA,EAAE,OAAO,WACT,KAAK,GAAK,CACZ,CAEF,CAAC,EACA,KAAK,KAAM,SAAUA,EAAGE,EAAI,CAC5B,OACCpB,EACA,KAAK,KACHkB,EAAE,OAAO,SAAWA,EAAE,OAAO,YAAc,EAC3CA,EAAE,OAAO,WACT,KAAK,GAAK,CACZ,CAEF,CAAC,EACA,KAAK,KAAM,SAAUA,EAAGE,EAAI,CAC5B,OACCpB,EACA,KAAK,KACHkB,EAAE,OAAO,SAAWA,EAAE,OAAO,YAAc,EAC3CA,EAAE,OAAO,WACT,KAAK,GAAK,CACZ,CAEF,CAAC,EACA,KAAK,KAAM,SAAUA,EAAGE,EAAI,CAC5B,OACCpB,EACA,KAAK,KACHkB,EAAE,OAAO,SAAWA,EAAE,OAAO,YAAc,EAC3CA,EAAE,OAAO,WACT,KAAK,GAAK,CACZ,CAEF,CAAC,EAIFC,EACE,OAAO,MAAM,EACb,KAAK,SAAU,IAAI,EACnB,KAAK,aAAeD,GAAML,EAAWK,EAAE,OAAO,KAAK,CAAC,EAGtDC,EACE,OAAO,MAAM,EACb,KAAK,SAAU,MAAM,EACrB,KAAK,aAAeD,GAAML,EAAWK,EAAE,OAAO,KAAK,CAAC,EAGtD,IAAMlC,EAAOoB,EACX,UAAU,GAAG,EACb,KAAKE,EAAM,MAAM,EACjB,MAAM,EACN,OAAO,GAAG,EACV,KAAK,QAAS,MAAM,EAGtBtB,EAAK,OAAO,MAAM,EAChB,MAAM,OAASkC,GAAML,EAAWK,EAAE,KAAK,CAAC,EACxC,KAAK,IAAKT,CAAI,EAGhBzB,EAAK,OAAO,MAAM,EAChB,KAAMkC,GAAOA,EAAE,OAASA,EAAE,WAAaA,EAAE,UAAY,CAAE,EAEvD,KACA,QACA,CAACG,EAAItC,IACJ,UACCQ,EAAa,IAAId,EAAMM,GAAG,EAAE,EAAI,gBAAkB,IAErD,EACC,KAAK,cAAgBmC,GACrBA,EAAE,MAAQf,EAAoB,KAAK,GAAK,MAAQ,IACjD,EACC,KAAK,oBAAqB,QAAQ,EAClC,KAAK,YAAce,GAElB,WACEA,EAAE,MAAQ,IAAO,KAAK,GAAK,IAC7B,eAECnB,EAAc,IACf,KACCmB,EAAE,MAAQf,EAAoB,KAAK,GAAK,cAAgB,GAE1D,EACA,KAAK,CAACkB,EAAItC,IAAM,QAAQN,EAAMM,GAAG,IAAI,EAevCqB,EAAI,MAAME,CAAK,EACb,OAAO,GAAG,EACV,UAAU,MAAM,EAChB,KAAMY,GACNA,EAAE,OACAI,GACAA,EAAE,OAAO,QAAUA,EAAE,OAAO,OAC5BA,EAAE,OAAO,MAAQ,GACjBA,EAAE,OAAO,MAAQ,CACnB,CACD,EACC,MAAM,EACN,OAAO,MAAM,EACb,KACA,QACCJ,GAAM,eAAeA,EAAE,OAAO,eAAeA,EAAE,OAAO,OACxD,EACC,MAAM,OAASA,GAAM,QAAQD,EAAUC,CAAC,IAAI,EAC5C,KAAK,IAAKP,CAAe,CAC5B,CvEzME,IAAAY,GAAA,OAzBIC,GAAYC,EAAYC,IAAW,CACxC,IAAK,CACJ,SAAU,CACT,KAAMA,EAAM,QAAQ,KAAK,OAC1B,CACD,CACD,EAAE,EAEWC,GAAuB,IAAM,CACzC,GAAM,CAAE,MAAOC,EAAgB,UAAWC,CAAY,EAAIC,GAAW,EAC/DC,EAAMC,GAAO,EACbC,EAAUT,GAAU,EAE1B,uBAAU,IAAM,CACXI,GAAkBC,GACrBE,EAAI,cAAc,EAChB,KAAMG,GAAU,CAChBC,GAAe,OAAQD,CAAK,CAC7B,CAAC,EACA,MAAOE,GAAM,CACb,QAAQ,MAAMA,CAAC,CAChB,CAAC,CAEJ,EAAG,CAACR,EAAgBC,EAAaE,CAAG,CAAC,EAC9BH,GAAkBC,KACxB,QAAC,OAAI,GAAG,MAAM,UAAWI,EAAQ,IAAK,KAEtC,QAACI,GAAA,EAAW,CAEd,E1C1BA,IAAAC,GAA+B,OAC/BC,GAA8B,QkHV9B,IAAAC,GAAmD,OAO5C,IAAMC,MAAiB,kBAAkC,CAC/D,QAAS,CAAC,EAEV,MAAM,eAAgB,CAAC,CACxB,CAAC,EAEKC,GAAgB,cAChBC,GAAmB,qBACnBC,GAAoB,sBAEnB,SAASC,IAGd,CACD,IAAMC,EAAaC,GAAc,EAC3B,CAACC,EAASC,CAAU,KAAI,aAAiC,EACzD,CAAE,UAAAC,CAAU,EAAIC,GAAW,EAC3BC,EAAMC,GAAO,EAEbC,EAA+C,MAAOC,EAAIC,IAAQ,CACvE,GAAI,GAACD,EAAG,WAAWL,CAAS,GAAK,CAACR,GAAc,KAAKa,CAAE,GACvD,GAAIC,GAEH,GAAIA,EAAI,OAAS,UAAY,OAAOA,EAAI,OAAO,IAAO,SAAU,CAC/D,IAAMC,EAASD,EAAI,OAAO,GACpBE,EAAiB,CACtB,GAAAH,EACA,MAAOC,EACP,OAAQ,MAAMJ,EAAI,cAAcK,CAAM,EACtC,MAAO,MAAML,EAAI,aAAaK,CAAM,CACrC,EACIC,EAAO,OACV,MAAMN,EAAI,+BAA+BK,EAAQC,CAAM,EAExDT,EAAYD,IAAa,CAAE,GAAGA,EAAS,CAACS,GAASC,CAAO,EAAE,CAC3D,MACM,CACN,IAAMD,EAAS,SAASf,GAAc,KAAKa,CAAE,EAAG,GAAI,EAAE,EACtDN,EAAYD,GAAY,CACvB,IAAMW,EAAa,CAAE,GAAGX,CAAQ,EAChC,cAAOW,EAAWF,GACXE,CACR,CAAC,CACF,CACD,EAEMC,EAAqB,MAAOH,GAAmB,CACpD,IAAMC,EAAS,CAAC,EAChB,MAAMN,EAAI,+BAA+BK,EAAQC,CAAM,EACvDT,EAAYD,GAAY,CACvB,IAAMa,EAAgBb,GAAA,YAAAA,EAAUS,GAChC,OAAII,GACHA,EAAc,UAAYH,EAAO,UAC1B,CACN,GAAGV,EACH,CAACS,GAASI,CACX,GAEOb,CAET,CAAC,CACF,EAEMc,EAA6C,MAAOP,EAAIQ,IAAU,CACvE,GAAI,EAACR,EAAG,WAAWL,CAAS,GACxB,GAACa,GAAS,CAACA,EAAM,MAErB,GAAIR,EAAG,MAAMX,EAAiB,EAAG,CAEhC,IAAMa,EAAS,SAASb,GAAkB,KAAKW,CAAE,EAAG,GAAI,EAAE,EAC1DN,EAAYD,GAAY,CACvB,IAAMa,EAAgBb,GAAA,YAAAA,EAAUS,GAChC,OAAII,GACHA,EAAc,OAASE,EAAM,IACtB,CACN,GAAGf,EACH,CAACS,GAASI,CACX,GAEOb,CAET,CAAC,CACF,SAAWO,EAAG,MAAMZ,EAAgB,EAAG,CAEtC,IAAMc,EAAS,SAASd,GAAiB,KAAKY,CAAE,EAAG,GAAI,EAAE,EACzDN,EAAYD,GAAY,CACvB,IAAMa,EAAgBb,GAAA,YAAAA,EAAUS,GAChC,OAAII,GACHA,EAAc,MAAQE,EAAM,IAExBF,EAAc,OACjB,WAAW,IAAM,KAAKD,EAAmBH,CAAM,EAAG,CAAC,EAC7C,CACN,GAAGT,EACH,CAACS,GAASI,CACX,GAEOb,CAET,CAAC,CACF,EACD,EAEA,eAAegB,GAA+B,CAC7Cf,EACC,MAAMG,EAAI,YAAY,CACrB,OAAQ,GACR,aAAc,GACd,MAAO,EACR,CAAC,CACF,CACD,CAEA,uBAAU,MACR,UAEA,MAAMY,EAAc,EAGpBlB,EAAW,gBAAgB,GAAGI,WAAoBI,CAAc,EAChER,EAAW,eAAe,GAAGI,WAAoBY,CAAa,IAC5D,EAGI,IAAM,CACZhB,EAAW,kBAAkB,GAAGI,WAAoBI,CAAc,EAClER,EAAW,iBAAiB,GAAGI,WAAoBY,CAAa,CACjE,GACE,CAAC,CAAC,EAEE,CAACd,EAASgB,CAAa,CAC/B,CC3IA,IAAAC,GAA6B,QAC7BC,GAAkB,QCDlB,IAAAC,GAAmB,QAEnB,IAAAC,GAAqB,QAIrB,IAAAC,GAAsB,QACtBC,GAAoB,QACpBC,GAAuB,QACvBC,GAAoB,QACpBC,GAAyB,QACzBC,GAAqC,QACrCC,GAA8B,QAC9BC,GAAwB,QACxBC,GAAqB,QAErB,IAAAC,GAAyB,QACzBC,GAAiB,QAEjB,IAAAC,GAA2C,OCnBpC,SAASC,GAAYC,EAAaC,EAAsB,CAC9D,OAAID,EAAK,SAAWC,EAAK,OAAe,GACjCD,EAAK,MAAM,CAACE,EAAMC,IAAUD,IAASD,EAAKE,EAAM,CACxD,CDqBa,IAAAC,GAAA,OAAPC,MAAO,QAAC,GAAAC,QAAA,CAAyB,SAAS,QAAQ,EAClDC,MAAc,QAAC,GAAAC,QAAA,CAAa,SAAS,QAAQ,EAe7CC,GAAYC,EAAYC,IAAW,CACxC,MAAO,CACN,MAAO,OACP,OAAQ,CACT,EACA,KAAM,CACL,QAASA,EAAM,QAAQ,EAAG,CAAC,CAC5B,EACA,WAAY,CACX,WAAY,CACb,EACA,OAAQ,CACP,MAAOA,EAAM,QAAQ,KAAK,KAC1B,QAASA,EAAM,QAAQ,EAAG,EAAG,EAAG,CAAC,EACjC,OAAQ,CACT,CACD,EAAE,EAEWC,GAAqCC,GAAU,CA1D5D,IAAAC,EAAAC,EA2DC,GAAM,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3B,CAACC,EAAMC,CAAO,KAAI,cAASL,EAAAD,EAAM,OAAN,KAAAC,EAAc,EAAE,EAC3C,CAACM,EAASC,CAAU,KAAI,cAASN,EAAAF,EAAM,UAAN,KAAAE,EAAiB,CAAC,CAAC,EAEpD,CAACO,EAASC,CAAQ,KAAI,aAAS,EAAK,EACpC,CAACC,EAAYC,CAAa,KAAI,aAAS,EAAK,EAC5C,CAACC,EAAQC,CAAO,KAAI,aAAS,EAAK,KAExC,cAAU,IAAM,CApEjB,IAAAb,EAqEEW,EACEP,IAAS,IAAMA,IAASL,EAAM,MAC9B,CAACe,GAAYR,GAASN,EAAAD,EAAM,UAAN,KAAAC,EAAiB,CAAC,CAAC,CAC3C,EAEAS,EAAS,CAAC,CAACL,GAAQE,EAAQ,OAAS,CAAC,CACtC,EAAG,CAACF,EAAML,EAAM,KAAMO,EAASP,EAAM,OAAO,CAAC,EAE7C,IAAMgB,EAAehB,EAAM,gBAAgB,IAAKiB,IAAY,CAC3D,MAAOA,EAAO,MAAM,OAAO,GAC3B,MAAO,GAAGd,EAAE,MAAM,QAAK,aACtBc,EAAO,MAAM,OAAO,GAAG,SAAS,EAChC,EACA,GACD,GACD,EAAE,EACIC,EAAgBF,EAAa,OAAQG,GAAMZ,EAAQ,SAASY,EAAE,KAAK,CAAC,EAEpEC,EAAapB,EAAM,MAAQ,MAAaA,EAAM,SAAW,KAE/D,eAAeqB,GAAY,CAC1B,GAAI,CACHP,EAAQ,EAAI,EACZ,MAAMd,EAAM,KAAKK,EAAOE,EAAQ,KAAK,EAAGP,EAAM,QAAQ,EAClDoB,GAAYE,EAAW,CAC5B,OAASC,EAAP,CACD,MAAMpB,EAAE,+BAA+B,CAAC,EACxC,QAAQ,MACP,yCAAyCqB,GAAgBD,CAAC,GAC3D,EACAD,EAAW,CACZ,QAAE,CACDR,EAAQ,EAAK,CACd,CACD,CAEA,SAASQ,GAAa,CAzGvB,IAAArB,EAAAC,EA0GEI,GAAQL,EAAAD,EAAM,OAAN,KAAAC,EAAc,EAAE,EACxBO,GAAWN,EAAAF,EAAM,UAAN,KAAAE,EAAiB,CAAC,CAAC,CAC/B,CAEA,eAAeuB,GAAc,CAC5B,GAAI,EAACzB,EAAM,OACX,GAAI,CACHc,EAAQ,EAAI,EACZ,MAAMd,EAAM,OAAO,CACpB,OAASuB,EAAP,CACD,MAAMpB,EAAE,iCAAiC,CAAC,EAC1C,QAAQ,MACP,2CAA2CqB,GAAgBD,CAAC,GAC7D,EACAD,EAAW,CACZ,QAAE,CACDR,EAAQ,EAAK,CACd,CACD,CAEA,IAAMY,EAAU9B,GAAU,EAEpB+B,KAAgB,GAAAC,SACrBF,EAAQ,KACN1B,EAAM,SAAW0B,EAAQ,WAAa,MACzC,EAEA,SACC,sBACE,WAAC,CAAC1B,EAAM,aACR,QAAC6B,GAAA,CACA,oBAACC,EAAA,CAAU,UAAWJ,EAAQ,OAAQ,QAAS,EAC9C,qBAAC,GAAAK,QAAA,CAAW,QAAQ,UAAU,iBACxB/B,EAAM,UACZ,EACD,EACD,KAED,SAAC6B,GAAA,CACA,qBAACC,EAAA,CAAU,UAAWH,EACrB,oBAAC,GAAAK,QAAA,CACA,QAAQ,WACR,OAAO,QACP,UAAWN,EAAQ,MACnB,MAAOrB,EACP,YAAaF,EAAE,kBAAkB,EACjC,SAAWoB,GAAMjB,EAAQiB,EAAE,OAAO,KAAK,EACvC,EACF,KACA,QAACO,EAAA,CAAU,UAAWH,EACrB,oBAACM,GAAA,CACA,UAAWP,EAAQ,MACnB,SAAQ,GACR,KAAK,QACL,QAASV,EACT,qBAAoB,GACpB,eAAiBkB,GAAWA,EAAO,MACnC,MAAOhB,EACP,SAAU,CAACK,EAAGY,IACb3B,EAAW2B,EAAM,IAAKC,GAAMA,EAAE,KAAK,CAAC,EAErC,aAAc,CAACF,EAAQ,CAAE,SAAAG,CAAS,OACjC,SAAC,GAAAC,QAAM,SAAN,CACA,qBAAC,GAAAC,QAAA,CACA,KAAM/C,GACN,YAAaE,GACb,MAAO,CAAE,YAAa,CAAE,EACxB,QAAS2C,EACV,EACCH,EAAO,OACT,EAED,YAAcM,MACb,QAAC,GAAAR,QAAA,CACC,GAAGQ,EAEJ,UAAWd,EAAQ,MACnB,QAAQ,WACR,YACCR,EAAc,SAAW,EACtBf,EAAE,yBAAyB,EAC3B,OAEL,EAEF,EACD,KAEA,QAAC2B,EAAA,CAAU,UAAWH,EACrB,qBAACc,GAAA,CACA,QAAQ,YACR,MAAM,UACN,MAAO,CAAE,KAAM,UAAW,EAE1B,qBAAC,GAAAC,QAAA,CAAQ,MAAOvC,EAAE,YAAY,EAC7B,oBAAC,GAAAwC,QAAA,CACA,SAAU9B,GAAU,CAACJ,GAAW,CAACE,EACjC,QAAS,IAAMU,EAAU,EAExB,SAAAD,KAAa,QAAC,GAAAwB,QAAA,EAAQ,KAAK,QAAC,GAAAC,QAAA,EAAS,EACvC,EACD,KAEA,QAAC,GAAAH,QAAA,CAAQ,MAAOvC,EAAE,cAAc,EAC/B,oBAAC,GAAAwC,QAAA,CACA,SAAU9B,GAAU,CAACF,EACrB,QAAS,IAAMW,EAAW,EAE1B,oBAAC,GAAAwB,QAAA,EAAY,EACd,EACD,EAEC,CAAC1B,MACD,QAAC,GAAAsB,QAAA,CAAQ,MAAOvC,EAAE,cAAc,EAC/B,oBAAC,GAAAwC,QAAA,CACA,SAAU9B,EACV,QAAS,IAAMY,EAAY,EAE3B,oBAAC,GAAAsB,QAAA,EAAkB,EACpB,EACD,GAEF,EACD,GACD,GACD,CAEF,EEzOA,IAAAC,GAAwB,QAExB,IAAAC,GAAiD,OAQ3CC,GAAe,oBAErB,SAASC,GAAcC,EAA0C,CAEhE,OADIA,EAAI,OAAS,UACb,IAAC,YAAQA,EAAI,OAAO,OAAO,EAAU,GAClCA,EAAI,OAAO,QAAQ,MAAOC,GAAM,OAAOA,GAAM,QAAQ,CAC7D,CAEA,SAASC,GAAaC,EAAsB,CAC3C,OAAOA,EAAK,QAAQ,mCAAoC,GAAG,CAC5D,CAEO,SAASC,GAAoBJ,EAA0B,CAC7D,OAAI,OAAOA,EAAI,OAAO,MAAS,UAAY,CAAC,CAACA,EAAI,OAAO,KAChDA,EAAI,OAAO,KAEXA,EAAI,IAAI,MAAMF,EAAY,EAAG,EAEtC,CAEO,SAASO,IASb,CACF,IAAMC,EAAaC,GAAc,EAC3B,CAACC,EAAQC,CAAS,KAAI,aAAsC,EAC5D,CAAE,UAAAC,CAAU,EAAIC,GAAW,EAE3BC,EAA+C,MAAOC,EAAIb,IAAQ,CACnE,CAACa,EAAG,WAAWH,CAAS,GAAK,CAACZ,GAAa,KAAKe,CAAE,IAClDb,EAECD,GAAcC,CAAG,GACpBS,EAAWD,IAAY,CAAE,GAAGA,EAAQ,CAACK,GAAKb,CAAI,EAAE,EAGjDS,EAAWD,GAAW,CACrB,IAAMM,EAAY,CAAE,GAAGN,CAAO,EAC9B,cAAOM,EAAUD,GACVC,CACR,CAAC,EAEH,EAEA,eAAeC,GAA4B,CAC1C,IAAMC,EAAe,MAAMV,EAAW,cACrC,GAAGI,WACH,GAAGA,iBACH,QACD,EACMF,EAAsC,CAAC,EAC7C,OAAW,CAACK,EAAIb,CAAG,IAAK,OAAO,QAAyBgB,CAAY,EAElE,CAACH,EAAG,WAAWH,CAAS,GACxB,CAACZ,GAAa,KAAKe,CAAE,GACrB,CAACd,GAAcC,CAAG,IAKnBQ,EAAOK,GAAMb,GAGdS,EAAUD,CAAM,CACjB,CAEA,IAAMS,KAAY,gBACjB,MACCd,EACAe,EACAC,IACmB,CAEnB,IAAMN,EAAKM,GAAA,KAAAA,EAAY,GAAGT,WAAmBR,GAAaC,CAAI,IAC9D,MAAMG,EAAW,UAAUO,EAAI,CAC9B,KAAM,SACN,OAAQ,CAAE,KAAAV,CAAK,EACf,OAAQ,CAAE,UAAW,GAAM,QAAAe,CAAQ,CACpC,CAAC,CACF,EACA,CAACR,EAAWJ,CAAU,CACvB,EAEMc,KAAc,gBACnB,MAAOpB,GAAoC,CAC1C,MAAMM,EAAW,UAAUN,EAAI,GAAG,CACnC,EACA,CAACM,CAAU,CACZ,EAEA,uBAAU,MACR,UAEA,MAAMS,EAAW,EAGjBT,EAAW,gBAAgB,GAAGI,YAAqBE,CAAc,IAC/D,EAGI,IAAM,CACZN,EAAW,kBACV,GAAGI,YACHE,CACD,CACD,GACE,CAAC,CAAC,EAEE,CAAE,OAAAJ,EAAQ,UAAAS,EAAW,YAAAG,CAAY,CACzC,CHvFuC,IAAAC,GAAA,OAvBjCC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,MAAO,OACP,UAAWA,EAAM,QAAQ,CAAC,CAC3B,EACA,UAAW,CACV,UAAW,MACZ,EACA,MAAO,CACN,UAAW,SACX,UAAW,QACZ,CACD,EAAE,EAMWC,GAAiCC,GAAU,CACvD,IAAMC,EAAUL,GAAU,EACpB,CAAE,UAAWM,CAAE,EAAIC,EAAQ,EAC3B,CAAE,OAAAC,EAAQ,UAAAC,EAAW,YAAAC,CAAY,EAAIC,GAAU,EAErD,GAAI,CAACP,EAAM,SAAW,CAACI,EAAQ,SAAO,QAAC,GAAAI,QAAA,EAAiB,EAExD,IAAMC,EAAkB,OAAO,OAAOT,EAAM,OAAO,EAAE,OAAQU,GAAW,CACvE,GAAM,CAAE,iBAAAC,EAAkB,OAAAC,CAAO,EAAIF,EAAO,MAAM,OAClD,MAAO,CAACC,GAAoB,CAACC,CAC9B,CAAC,EAED,SACC,sBACC,sBAACC,GAAA,CAAM,SAAS,OACd,UAAAX,EAAE,iBAAiB,KACpB,QAAC,OAAG,EACHA,EAAE,iBAAiB,GACrB,KAEA,QAAC,GAAAY,QAAA,CAAM,UAAWb,EAAQ,KAAM,UAAW,EAC1C,oBAACc,GAAA,CAAe,UAAWd,EAAQ,UAClC,qBAACe,GAAA,CAAM,MAAO,CAAE,YAAa,MAAO,EACnC,qBAACC,GAAA,CACA,qBAACC,GAAA,CACA,qBAACC,EAAA,CAAU,MAAO,CAAE,MAAO,KAAM,EAC/B,SAAAjB,EAAE,YAAY,EAChB,KACA,QAACiB,EAAA,CAAU,MAAO,CAAE,MAAO,KAAM,EAC/B,SAAAjB,EAAE,OAAO,EACX,KACA,QAACiB,EAAA,CACA,MAAO,CAAE,SAAU,OAAQ,EAC3B,GACF,EACD,KACA,SAACC,GAAA,CACC,iBAAO,QAAQhB,CAAM,EAAE,IAAI,CAAC,CAACiB,EAAIC,CAAK,OACtC,QAACC,GAAA,CACA,SAAUD,EAAM,IAEhB,KAAME,GAAoBF,CAAK,EAC/B,QAASA,EAAM,OAAO,QACtB,gBAAiBb,EACjB,KAAMJ,EACN,OAAQ,IAAMC,EAAYgB,CAAK,GAL1B,SAASD,GAMf,CACA,KAED,QAACE,GAAA,CACA,KAAM,OACN,QAAS,OACT,gBAAiBd,EACjB,KAAMJ,EACP,GACD,GACD,EACD,EACD,GACD,CAEF,EI9FA,IAAAoB,GAAmB,QACnBC,GAA6B,QAC7BC,GAAmB,QACnBC,GAA0B,QAC1BC,GAA0B,QAC1BC,GAAwB,QACxBC,GAAkB,QAQlB,IAAAC,GAAuB,QACvBC,GAA0B,QAI1B,IAAAC,GAAiD,OACjDC,GAGO,QCvBP,IAAAC,GAAmB,QAEnB,IAAAC,GAAqB,QAIrB,IAAAC,GAAsB,QACtBC,GAAoB,QACpBC,GAAuB,QACvBC,GAAoB,QACpBC,GAA8B,QAC9BC,GAAwB,QACxBC,GAAqB,QAGrB,IAAAC,GAA0C,QAC1CC,GAAiB,QAEjB,IAAAC,GAAoC,OACpCC,GAAwC,QA6KtC,IAAAC,EAAA,OAzKIC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,QAASA,EAAM,QAAQ,EAAG,CAAC,CAC5B,EACA,mBAAoB,CACnB,OAAQ,CACP,WAAY,CACb,CACD,EACA,eAAgB,CACf,OAAQ,CACP,MAAOA,EAAM,QAAQ,KAAK,KAC1B,aAAc,EACd,cAAe,CAChB,CACD,EACA,OAAQ,CACP,UAAW,QACZ,EACA,MAAO,CACN,MAAO,OACP,OAAQ,CACT,EACA,oBAAqB,CACpB,WAAY,GACb,CACD,EAAE,EAoBWC,GACZC,GACI,CAvEL,IAAAC,EAAAC,EAAAC,EAwEC,IAAMC,EAAUR,GAAU,EACpB,CAAE,UAAWS,CAAE,EAAIC,EAAQ,EAE3B,CAACC,EAAQC,CAAS,KAAI,cAC3BP,EAAAD,EAAM,SAAN,KAAAC,EAAgB,2BAAwB,MACzC,EACM,CAACQ,EAAKC,CAAM,KAAI,cAASR,EAAAF,EAAM,MAAN,KAAAE,EAAa,EAAE,EACxC,CAACS,EAAiBC,CAAkB,KAAI,aAC7CZ,EAAM,eACP,EAEM,CAACa,EAASC,CAAQ,KAAI,aAAS,EAAK,EACpC,CAACC,EAAYC,CAAa,KAAI,aAAS,EAAK,EAC5C,CAACC,EAAQC,CAAO,KAAI,aAAS,EAAK,KAExC,cAAU,IAAM,CAvFjB,IAAAjB,EAwFEe,EACCT,MAAYN,EAAAD,EAAM,SAAN,KAAAC,EAAgB,2BAAwB,SAClDQ,IAAQ,IAAMA,IAAQT,EAAM,KAC7B,CAACmB,GAAYR,EAAiBX,EAAM,eAAe,CACrD,EACAc,KAAS,eAAWL,CAAG,GAAKE,EAAgB,OAAS,CAAC,CACvD,EAAG,CACFJ,EACAP,EAAM,OACNS,EACAT,EAAM,IACNW,EACAX,EAAM,eACP,CAAC,EAED,IAAMoB,EAAmBC,GAA2C,CACnE,IAAIZ,EAAMY,EAAE,OAAO,MAAM,QAAQ,UAAW,EAAE,EAC1CZ,EAAI,OAAS,KAAIA,EAAMA,EAAI,OAAO,EAAG,EAAE,GAE3C,IAAIa,EAAS,GACb,QAASC,EAAQ,EAAGA,GAAS,EAAGA,IAC3Bd,EAAI,OAASc,EAAQ,EACxBD,GAAUb,EAAI,QAAQc,EAAQ,GAAK,EAAG,CAAC,EAAI,IAE3CD,GAAUb,EAAI,QAAQc,EAAQ,GAAK,CAAC,EAGtCb,EAAOY,CAAM,CACd,EAEME,EAAiB,CACtBC,EACAC,IACI,CACJd,EAAmBc,CAAU,CAC9B,EAEMC,EAAa3B,EAAM,KAAO,KAC1B4B,EAAa5B,EAAM,QAAU,KAE7B6B,EAAa,IAAM,CAhI1B,IAAA5B,EAAAC,EAiIEM,GAAUP,EAAAD,EAAM,SAAN,KAAAC,EAAgB,2BAAwB,MAAM,EACxDS,GAAOR,EAAAF,EAAM,MAAN,KAAAE,EAAa,EAAE,EACtBU,EAAmBZ,EAAM,eAAe,CACzC,EAEM8B,EAAc,SAAY,CAC/B,GAAI,EAAC9B,EAAM,YACX,GAAI,CACHkB,EAAQ,EAAI,EACZ,MAAMlB,EAAM,YAAY,CACzB,OAASqB,EAAP,CACD,MAAMhB,EAAE,sCAAsC,CAAC,EAC/C,QAAQ,MACP,gDAAgD0B,GAC/CV,CACD,GACD,EACAQ,EAAW,CACZ,QAAE,CACDX,EAAQ,EAAK,CACd,CACD,EAEMc,EAAY,SAAY,CAC7B,GAAI,CACHd,EAAQ,EAAI,EACZ,MAAMlB,EAAM,UACXO,EACAE,EACAE,EACAX,EAAM,cACP,EACI2B,GAAYE,EAAW,CAC5B,OAASR,EAAP,CACD,MAAMhB,EAAE,oCAAoC,CAAC,EAC7C,QAAQ,MACP,8CAA8C0B,GAC7CV,CACD,GACD,EACAQ,EAAW,CACZ,QAAE,CACDX,EAAQ,EAAK,CACd,CACD,EAGIe,EACJ,OAAIjC,EAAM,iBACLA,EAAM,eAAe,eACxBiC,EAAiBjC,EAAM,eAAe,cAEnCA,EAAM,eAAe,QACpBiC,IAAgBA,GAAkB,KACtCA,GAAkBjC,EAAM,eAAe,OAEpCA,EAAM,eAAe,cACpBiC,IAAgBA,GAAkB,OACtCA,GAAkBjC,EAAM,eAAe,iBAKxC,oBACE,WAAC,CAACiC,MACF,QAACC,GAAA,CAAS,UAAW9B,EAAQ,eAC5B,oBAAC+B,EAAA,CAAU,UAAW/B,EAAQ,KAAM,QAAS,EAAG,KAChD,OAAC+B,EAAA,CAAU,UAAW/B,EAAQ,KAAM,QAAS,EAC5C,mBAAC,GAAAgC,QAAA,CAAW,QAAQ,UAClB,SAAAH,EACF,EACD,KACA,OAACE,EAAA,CAAU,UAAW/B,EAAQ,KAAM,GACrC,KAGD,QAAC8B,GAAA,CACA,aAAW,GAAAG,SAAK,CAAC,CAACJ,GAAkB7B,EAAQ,kBAAkB,EAE9D,oBAAC+B,EAAA,CAAU,aAAW,GAAAE,SAAKjC,EAAQ,KAAMA,EAAQ,MAAM,EACrD,UAAAD,EAAAH,EAAM,SAAN,KAAAG,EAAgB,GAClB,KACA,OAACgC,EAAA,CAAU,UAAW/B,EAAQ,KAC5B,UAACuB,MACD,OAAC,GAAAW,QAAA,CACA,QAAS/B,IAAW,2BAAwB,OAC5C,SAAU,CAACkB,EAAOc,IACjB/B,EACC+B,EACG,2BAAwB,OACxB,2BAAwB,QAC5B,EAEF,EAEF,KAEA,OAACJ,EAAA,CAAU,UAAW/B,EAAQ,KAC5B,SAAAwB,KACA,OAAC,GAAAQ,QAAA,CAAW,QAAQ,QAAS,SAAA3B,EAAI,KAEjC,OAAC,GAAA+B,QAAA,CACA,QAAQ,WACR,OAAO,QACP,UAAWpC,EAAQ,MACnB,MAAOK,EACP,YACC,kDAED,SAAUQ,EACV,SAAUG,EACV,EAEH,KACA,OAACe,EAAA,CAAU,UAAW/B,EAAQ,KAC7B,oBAACqC,GAAA,CACA,MAAO9B,EACP,SAAUa,EACV,KAAK,QAEL,oBAACkB,GAAA,CACA,MAAO,iBAAc,iBACrB,MAAM,YACN,UAAWtC,EAAQ,oBACnB,SAAUwB,GAAcX,EACxB,iBAED,KACA,OAACyB,GAAA,CACA,MAAO,iBAAc,iBACrB,UAAWtC,EAAQ,oBACnB,SAAUwB,GAAcX,EACxB,mBAED,KACA,OAACyB,GAAA,CACA,MAAO,iBAAc,mBACrB,UAAWtC,EAAQ,oBACnB,SAAUwB,GAAcX,EACxB,qBAED,KACA,OAACyB,GAAA,CACA,MAAO,iBAAc,UACrB,UAAWtC,EAAQ,oBACnB,SAAUwB,GAAcX,EACxB,qBAED,GACD,EACD,KAEA,OAACkB,EAAA,CAAU,UAAW/B,EAAQ,KAC7B,oBAACuC,GAAA,CACA,QAAQ,YACR,MAAM,UACN,MAAO,CAAE,KAAM,UAAW,EAE1B,oBAAC,GAAAC,QAAA,CAAQ,MAAOvC,EAAE,gBAAgB,EACjC,mBAAC,GAAAwC,QAAA,CACA,SACC5B,GACA,CAACJ,GACD,CAACE,GACDa,EAED,QAASI,EAER,SAAAL,KAAa,OAAC,GAAAmB,QAAA,EAAQ,KAAK,OAAC,GAAAC,QAAA,EAAS,EACvC,EACD,KAEA,OAAC,GAAAH,QAAA,CAAQ,MAAOvC,EAAE,cAAc,EAC/B,mBAAC,GAAAwC,QAAA,CACA,SAAU5B,GAAU,CAACF,GAAca,EACnC,QAASC,EAET,mBAAC,GAAAmB,QAAA,EAAY,EACd,EACD,EAEC,CAACrB,MACD,OAAC,GAAAiB,QAAA,CAAQ,MAAOvC,EAAE,aAAa,EAC9B,mBAAC,GAAAwC,QAAA,CACA,SAAU5B,EACV,QAAS,IAAMa,EAAY,EAE3B,mBAAC,GAAAmB,QAAA,EAAkB,EACpB,EACD,GAEF,EACD,GACD,GACD,CAEF,ED3H6C,IAAAC,EAAA,OA7KvCC,GAAYC,EAAYC,IAAW,CACxC,KAAM,CACL,MAAO,OACP,QAAS,OACT,SAAU,gBACV,IAAKA,EAAM,QAAQ,CAAC,CACrB,EACA,UAAW,CACV,UAAW,MACZ,EACA,qBAAsB,CACrB,QAAS,OACT,SAAU,gBACV,WAAY,SACZ,IAAKA,EAAM,QAAQ,CAAC,CACrB,CACD,EAAE,EAMWC,GAAyCC,GAAU,CAC/D,IAAMC,EAAUL,GAAU,EACpB,CAAE,UAAWM,CAAE,EAAIC,EAAQ,EAC3BC,EAAMC,GAAO,EACb,CAAE,UAAAC,CAAU,EAAIC,GAAW,EAC3B,CAAE,MAAOC,EAAgB,UAAWC,CAAY,EAAIC,GAAW,EAG/D,CAACC,EAAoBC,CAAqB,KAC/C,aAAkB,EAAK,KACxB,cAAU,IAAM,CACXH,GAAaL,EAAI,mBAAmB,EAAE,KAAKQ,CAAqB,CACrE,EAAG,CAACH,EAAaL,CAAG,CAAC,EAErB,GAAM,CAACS,EAASC,CAAU,KAAI,aAAwC,EAEhEC,KAAgB,gBAAY,SAAY,CAC7C,IAAMF,EAAU,MAAMT,EAAI,uBAAuB,EACjDS,EAAQ,KAAK,CAACG,EAAGC,IAAM,CACtB,IAAMC,EAAUF,EAAE,QAAU,OACtBG,EAAUF,EAAE,QAAU,OACtBG,EAASF,EAAUC,EACzB,OAAIC,GACGJ,EAAE,IAAI,cAAcC,EAAE,GAAG,CACjC,CAAC,EACDH,EAAWD,CAAO,CACnB,EAAG,CAACT,EAAKU,CAAU,CAAC,KAGpB,cAAU,IAAM,CACfC,EAAc,CACf,EAAG,CAACX,EAAKJ,EAAM,OAAO,CAAC,EAEvB,IAAMqB,KAAgB,gBACrB,MACCC,EACAC,EACAC,EACAC,IACI,CACJ,MAAMrB,EAAI,wBACTkB,EACAC,EACAC,EACAC,CACD,EACA,MAAMV,EAAc,CACrB,EACA,CAACX,EAAKW,CAAa,CACpB,EAEMW,KAAkB,gBACvB,MAAOH,GAAgB,CAOlB,CANW,MAAMjB,EACpBJ,EAAE,mBAAmB,EACrBA,EACC,oEACD,CACD,IAGA,MAAME,EAAI,0BAA0BmB,CAAG,EACvC,MAAMR,EAAc,EACrB,EACA,CAACX,EAAKW,CAAa,CACpB,EAEMY,KAAkB,gBACvB,MACCL,EACAM,EACAC,EACAL,EACAC,IACI,CACAG,IAAWC,GACd,MAAMzB,EAAI,0BAA0BwB,CAAM,EAE3C,MAAMxB,EAAI,wBACTkB,EACAO,EACAL,EACAC,CACD,EACA,MAAMV,EAAc,CACrB,EACA,CAACX,EAAKW,CAAa,CACpB,EAEM,CAACe,EAAqBC,CAAsB,KAAI,aAGnD,EACG,CAACC,EAAaC,CAAc,KAAI,aAAiB,EACjD,CAACC,EAAmBC,CAAoB,KAAI,aAAS,EAAK,EAC1DC,EAAqB,IAAM,CAChCD,EAAqB,EAAK,EAC1B,WAAW,IAAMJ,EAAuB,MAAS,EAAG,GAAG,CACxD,EACMM,EAAe,MAAOC,GAAiB,CAC5C,GAAI,CACH,IAAMlB,EAAS,MAAMhB,EAAI,WAAWkC,EAAM,EAAK,EAC/C,GAAIlB,EAAO,OAAS,OACnBW,EAAuB,CACtB,QAAS7B,EAAE,oCAAoC,EAC/C,SAAU,OACX,CAAC,UACSkB,EAAO,OAAS,aAAc,CACxC,GAAM,CAAE,IAAAG,EAAK,gBAAAC,KAAoBe,CAAK,EAAInB,EAC1C,MAAMC,EACL,2BAAwB,OACxBE,EACAC,EACAe,CACD,EACAN,EAAeV,CAAG,EAClBQ,EAAuB,CACtB,QAAS7B,EAAE,8CAA8C,EACzD,SAAU,SACX,CAAC,CACF,SAAWkB,EAAO,OAAS,KAC1BW,EAAuB,CACtB,QAAS7B,EACR,6EACD,EACA,SAAU,SACX,CAAC,UACSkB,EAAO,OAAS,WAC1BW,EAAuB,CACtB,QAAS7B,EACR,4CACAkB,EAAO,OAAO,SAAS,CACxB,EACA,SAAU,MACX,CAAC,UACSA,EAAO,OAAS,cAAe,CAEzC,GAAIA,EAAO,MAAQY,EAAa,OAEhCD,EAAuB,CACtB,QAAS7B,EACR,0DACD,EACA,SAAU,MACX,CAAC,CACF,CACD,OAASsC,EAAP,CAEF,CACD,EAEA,MAAI,CAAChC,GAAkB,CAACC,KAAoB,OAACgC,GAAA,EAAW,EACpD,CAAC5B,GAAW,CAACb,EAAM,WAAgB,OAAC,GAAA0C,QAAA,EAAiB,EACpD/B,KASJ,QAAC,OAAI,UAAWV,EAAQ,KACvB,qBAAC,GAAA0C,QAAA,CAAW,QAAQ,QAClB,UAAAzC,EACA,+HACD,KACA,OAAC,OAAG,EACHA,EACA,oFACD,GACD,KAEA,OAAC0C,GAAA,CAAM,SAAS,OACd,SAAA1C,EACA,yEACD,EACD,KAGA,QAAC,OACA,oBAAC,GAAA2C,QAAA,CACA,QAAQ,YACR,MAAM,UACN,aAAW,OAAC,GAAAC,QAAA,EAAc,EAC1B,QAAS,IAAMX,EAAqB,EAAI,EAEvC,SAAAjC,EAAE,cAAc,EAClB,KAEA,QAAC,GAAA6C,QAAA,CACA,KAAMb,EACN,QAASE,EACT,SAAU,GAEV,oBAAC,GAAAY,QAAA,CAAa,SAAA9C,EAAE,cAAc,EAAE,KAChC,QAAC,GAAA+C,QAAA,CAAc,UAAWhD,EAAQ,qBAChC,UAAA6B,MACA,OAACc,GAAA,CAAM,SAAUd,EAAoB,SACnC,SAAAA,EAAoB,QACtB,KAED,OAACoB,GAAA,CAAU,SAAUb,EAAc,GACpC,KACA,OAAC,GAAAc,QAAA,CACA,mBAAC,GAAAN,QAAA,CACA,QAAQ,YACR,QAAST,EACT,MAAM,UAEL,SAAAlC,EAAE,OAAO,EACX,EACD,GACD,GACD,KAEA,OAAC,GAAAkD,QAAA,CAAM,UAAW,EACjB,mBAACC,GAAA,CAAe,UAAWpD,EAAQ,UAClC,oBAACqD,GAAA,CAAM,MAAO,CAAE,YAAa,MAAO,EACnC,oBAACC,GAAA,CACA,oBAACC,GAAA,CACA,oBAACC,EAAA,CACA,MAAO,CAAE,MAAO,MAAO,EACvB,MAAM,SACN,aAED,KACA,OAACA,EAAA,CAAU,MAAO,CAAE,MAAO,MAAO,EAChC,SAAAvD,EAAE,SAAS,EACb,KACA,OAACuD,EAAA,CAAU,MAAO,CAAE,SAAU,OAAQ,EACpC,SAAAvD,EAAE,KAAK,EACT,KACA,OAACuD,EAAA,CAAW,SAAAvD,EAAE,kBAAkB,EAAE,KAClC,OAACuD,EAAA,CACA,MAAO,CAAE,SAAU,OAAQ,EAC3B,GACF,EACD,KACA,QAACC,GAAA,CACC,UAAA7C,EAAQ,IAAK8C,GAAU,CACvB,GAAM,CACL,OAAAC,EACA,IAAArC,EACA,gBAAAC,KACGC,CACJ,EAAIkC,EACJ,SACC,OAACE,GAAA,CACA,OAAQF,EAAM,OACd,OAAQA,EAAM,OAEd,IAAKA,EAAM,IACX,gBAAiBA,EAAM,gBACvB,eAAgBlC,EAChB,UAAW,CACVH,EACAC,EACAuC,EACAC,IAEApC,EACCL,EACAqC,EAAM,IACNpC,EACAuC,EACAC,CACD,EAED,YAAa,IACZrC,EAAgBiC,EAAM,GAAG,GAnBrB,SAASA,EAAM,KAqBrB,CAEF,CAAC,KAED,OAACE,GAAA,CACA,OAAQ,OACR,IAAK,OACL,OAAQ,OACR,gBAAiB,CAAC,EAClB,UAAWxC,EACZ,GACD,GACD,EACD,EACD,GACD,KApIC,OAAC2C,GAAA,CACC,SAAA9D,EAAE,6CAA6C,EACjD,CAoIH,EvHjUE,IAAA+D,EAAA,OAFF,SAASC,GAAc,CAAE,MAAAC,EAAO,mBAAAC,CAAmB,EAAG,CACrD,SACC,QAAC,OAAI,KAAK,QACT,oBAAC,KAAE,iCAAqB,KACxB,OAAC,OAAK,SAAAD,EAAM,MAAM,KAClB,OAAC,UAAO,QAASC,EAAoB,qBAAS,GAC/C,CAEF,CAEA,IAAMC,GAA6B,CAClC,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,QAAS,IACV,EAEMC,MAAiB,SAAK,IAAM,CACjC,GAAM,CAACC,EAAOC,CAAQ,KAAI,aAAS,CAAC,EAC9B,CAAE,UAAWC,CAAE,EAAIC,EAAQ,EAE3BC,EAAkB,CAEvBC,EACAC,IACI,CACJL,EAASK,CAAQ,CAClB,EAEM,CAACC,EAASC,CAAa,EAAIC,GAAW,EAE5C,SACC,oBACC,oBAACC,GAAA,CAAO,SAAS,SAChB,oBAACC,GAAA,CAAK,MAAOX,EAAO,SAAUI,EAC7B,oBAACQ,GAAA,CAAI,MAAOV,EAAE,SAAS,EAAG,KAC1B,OAACU,GAAA,CAAI,MAAOV,EAAE,YAAY,EAAG,KAC7B,OAACU,GAAA,CAAI,MAAOV,EAAE,QAAQ,EAAG,KACzB,OAACU,GAAA,CAAI,MAAOV,EAAE,cAAc,EAAG,KAC/B,OAACU,GAAA,CAAI,MAAOV,EAAE,aAAa,EAAG,KAC9B,OAACU,GAAA,CAAI,MAAOV,EAAE,aAAa,EAAG,GAC/B,EACD,KACA,OAACW,GAAA,CAAS,MAAOb,EAAO,MAAO,EAC9B,mBAAC,kBAAc,kBAAmBL,GACjC,mBAACmB,GAAA,CAAQ,QAASP,EAAS,EAC5B,EACD,KACA,OAACM,GAAA,CAAS,MAAOb,EAAO,MAAO,EAC9B,mBAAC,kBAAc,kBAAmBL,GACjC,mBAACoB,GAAA,CAAW,QAASR,EAAS,EAC/B,EACD,KACA,OAACM,GAAA,CAAS,MAAOb,EAAO,MAAO,EAC9B,mBAAC,kBAAc,kBAAmBL,GACjC,mBAACqB,GAAA,CAAO,QAAST,EAAS,EAC3B,EACD,KACA,OAACM,GAAA,CAAS,MAAOb,EAAO,MAAO,EAC9B,mBAAC,kBAAc,kBAAmBL,GACjC,mBAACsB,GAAA,CACA,QAASV,EACT,cAAeC,EAChB,EACD,EACD,KACA,OAACK,GAAA,CAAS,MAAOb,EAAO,MAAO,EAC9B,mBAAC,kBAAc,kBAAmBL,GACjC,mBAACuB,GAAA,EAAU,EACZ,EACD,KACA,OAACL,GAAA,CAAS,MAAOb,EAAO,MAAO,EAC9B,mBAAC,kBAAc,kBAAmBL,GACjC,mBAACwB,GAAA,EAAW,EACb,EACD,GACD,CAEF,CAAC,EAED,GAAAC,QAAS,UACR,OAACC,GAAA,CAAY,KAAM,SAAU,aAAcvB,GAC1C,mBAACC,GAAA,EAAK,EACP,EACA,SAAS,eAAe,MAAM,CAC/B", - "names": ["require_DeleteForever", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Restore", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_DeviceUnknown", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_PowerSettingsNew", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_WifiOff", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_NetworkCheck", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Remove", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Home", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_KeyboardArrowDown", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_KeyboardArrowUp", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Language", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_RestorePage", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_NoEncryption", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Autorenew", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Done", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_ErrorOutline", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Redo", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_DeleteOutline", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Memory", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_SwapHoriz", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_PhotoCamera", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Videocam", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_CheckBox", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_CheckBoxOutlineBlank", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_AddAPhoto", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_ICommandClass", "__commonJSMin", "exports", "require_IZWaveEndpoint", "__commonJSMin", "exports", "require_IZWaveNode", "__commonJSMin", "exports", "getErrorMessage", "includeStack", "exports", "Mixin", "baseCtors", "derivedCtor", "baseCtor", "applyMixin", "exports", "target", "mixin", "includeConstructor", "inheritanceChain", "current", "base", "ctor", "prop", "_a", "AllOf", "BaseClasses", "First", "Others", "ret", "staticExtends", "constructor", "objects_1", "ObjectKeyMap", "entries", "defaultKeyProps", "key", "value", "callbackfn", "keyAsString", "map", "_entries", "entry", "_keys", "filledKey", "required", "def", "_key", "keyA", "keyB", "exports", "strings_1", "cpp2js", "str", "nullIndex", "exports", "num2hex", "val", "uppercase", "ret", "formatId", "id", "stringify", "arg", "space", "buffer2hex", "buffer", "isPrintableASCII", "text", "isPrintableASCIIWithNewlines", "compareStrings", "a", "b", "createThrowingMap", "throwKeyNotFound", "map", "key", "exports", "require_deferred_promise", "__commonJSMin", "exports", "createDeferredPromise", "res", "rej", "promise", "resolve", "reject", "deferred_promise_1", "TimedExpectation", "timeoutMs", "predicate", "timeoutErrorMessage", "tmp", "result", "err", "onfulfilled", "onrejected", "exports", "require_types", "__commonJSMin", "exports", "typeguards_1", "strings_1", "keysOf", "obj", "exports", "pick", "keys", "ret", "key", "pickDeep", "object", "path", "_pickDeep", "pathArr", "propName", "flatMap", "array", "callbackfn", "acc", "cur", "getEnumMemberName", "enumeration", "value", "skipBytes", "buf", "n", "throttle", "fn", "intervalMs", "trailing", "lastCall", "timeout", "args", "now", "delay", "mergeDeep", "target", "source", "overwrite", "cloneDeep", "i", "padVersion", "version", "discreteBinarySearch", "rangeMin", "rangeMax", "executor", "min", "max", "mid", "discreteLinearSearch", "val", "sum", "values", "createWrappingCounter", "maxValue", "ret", "exports", "__exportStar", "exports", "ObjectKeyMap_1", "safe_1", "CommandClasses", "exports", "getCCName", "cc", "key", "ControllerCapabilityFlags", "exports", "ZWaveLibraryTypes", "exports", "strings_1", "ZWaveErrorCodes", "exports", "getErrorSuffix", "code", "appendErrorSuffix", "message", "suffix", "ZWaveError", "context", "transactionSource", "isZWaveError", "isTransmissionError", "isRecoverableZWaveError", "ZWaveError_1", "isConsecutiveArray", "values", "v", "i", "arr", "exports", "stripUndefined", "obj", "ret", "key", "value", "validatePayloadInternal", "reason", "assertions", "getMinimumShiftForBitMask", "mask", "getBitMaskWidth", "getLegalRangeForBitMask", "unsigned", "bitMaskWidth", "min", "max", "safe_1", "misc_1", "CommandClasses_1", "parseApplicationNodeInformation", "nif", "parseCCList", "exports", "parseNodeUpdatePayload", "nodeId", "remainingLength", "encodeNodeUpdatePayload", "ccList", "encodeCCList", "isExtendedCCId", "ccId", "parseCCId", "payload", "offset", "isExtended", "encodeCCId", "ret", "isAfterMark", "cc", "bytesRead", "supportedCCs", "controlledCCs", "bufferLength", "ProtocolVersion", "NodeType", "parseNodeProtocolInfo", "buffer", "isListening", "isRouting", "supportedDataRates", "maxSpeed", "speedExtension", "protocolVersion", "capability", "optionalFunctionality", "isFrequentListening", "supportsBeaming", "nodeType", "hasSpecificDeviceClass", "supportsSecurity", "encodeNodeProtocolInfo", "info", "parseNodeProtocolInfoAndDeviceClass", "protocolInfo", "basic", "generic", "specific", "encodeNodeProtocolInfoAndDeviceClass", "parseNodeInformationFrame", "encodeNodeInformationFrame", "safe_1", "Protocols", "exports", "ZWaveDataRate", "ProtocolDataRate", "protocolDataRateToString", "rate", "RouteProtocolDataRate", "ProtocolType", "RFRegion", "exports", "require_ZWaveApiVersion", "__commonJSMin", "exports", "InterviewStage", "exports", "NodeStatus", "exports", "typeguards_1", "MessagePriority", "exports", "isMessagePriority", "val", "TransmitOptions", "TransmitStatus", "RssiError", "isRssiError", "rssi", "rssiToString", "EncapsulationFlags", "SupervisionStatus", "isSupervisionResult", "obj", "supervisedCommandSucceeded", "result", "supervisedCommandFailed", "isUnsupervisedOrSucceeded", "exports", "InterviewStage_1", "NodeStatus_1", "__exportStar", "strings_1", "exports", "getDirectionPrefix", "direction", "getNodeTag", "nodeId", "stringToNodeList", "nodes", "n", "strings_1", "ZWaveError_1", "isValidDSK", "dsk", "exports", "dskToString", "ret", "i", "dskFromString", "parts", "partAsNumber", "nwiHomeIdFromDSK", "authHomeIdFromDSK", "SecurityClass", "exports", "securityClassIsS2", "secClass", "getHighestSecurityClass", "securityClasses", "cls", "assertZWaveError", "valueOrFactory", "options", "messageMatches", "errorCode", "context", "_assertZWaveError", "e", "handleError", "fail", "result", "exports", "CRC16_CCITT", "data", "startValue", "crc", "poly", "i", "bitMask", "xorFlag", "exports", "GraphNode", "value", "edges", "exports", "topologicalSort", "graph", "ret", "nodesWithoutDependencies", "node", "newNodes", "visited", "require_Types", "__commonJSMin", "exports", "require_math", "__commonJSMin", "exports", "clamp", "value", "min", "max", "roundTo", "digits", "exp", "math_1", "ZWaveError_1", "durationStringRegex", "Duration", "value", "unit", "v", "payload", "isMinutes", "text", "match", "hoursStr", "minutesStr", "secondsStr", "hours", "minutes", "seconds", "input", "ret", "exports", "objects_1", "typeguards_1", "Duration_1", "SPECIAL_TYPE_KEY", "serializeCacheValue", "value", "k", "v", "valueAsJSON", "exports", "deserializeCacheValue", "specialType", "_", "rest", "_a", "CacheBackedMap", "cache", "cacheKeys", "key", "value", "suffix", "suffixKey", "ret", "exports", "ZWaveError_1", "misc_1", "exports", "parseMaybeBoolean", "val", "preserveUnknown", "parseBoolean", "encodeBoolean", "encodeMaybeBoolean", "parseMaybeNumber", "parseNumber", "parseFloatWithScale", "payload", "allowEmpty", "precision", "scale", "size", "getPrecision", "num", "e", "p", "getMinIntegerSize", "value", "signed", "getIntegerLimits", "encodeFloatWithScale", "override", "_a", "ret", "parseBitMask", "mask", "startValue", "numBits", "index", "byteNum", "bitNum", "encodeBitMask", "values", "maxValue", "numBytes", "parsePartial", "bitMask", "shift", "width", "encodePartial", "fullValue", "partialValue", "safe_1", "Primitive_1", "isIntegerRegex", "getNumericEnumValues", "enumeration", "val", "exports", "enumValuesToMetadataStates", "values", "ret", "value", "define", "definition", "defineAny", "defineNumeric", "defineBoolean", "defineString", "defineBuffer", "defineDuration", "ConfigValueFormat", "_default", "_readonly", "_writeonly", "Any", "ReadOnly", "WriteOnly", "Boolean", "ReadOnlyBoolean", "WriteOnlyBoolean", "Number", "ReadOnlyNumber", "WriteOnlyNumber", "UInt8", "ReadOnlyUInt8", "WriteOnlyUInt8", "UInt16", "ReadOnlyUInt16", "WriteOnlyUInt16", "UInt24", "ReadOnlyUInt24", "WriteOnlyUInt24", "UInt32", "ReadOnlyUInt32", "WriteOnlyUInt32", "Int8", "ReadOnlyInt8", "WriteOnlyInt8", "Int16", "ReadOnlyInt16", "WriteOnlyInt16", "Int24", "ReadOnlyInt24", "WriteOnlyInt24", "Int32", "ReadOnlyInt32", "WriteOnlyInt32", "String", "ReadOnlyString", "WriteOnlyString", "Color", "ReadOnlyColor", "WriteOnlyColor", "Level", "ReadOnlyLevel", "WriteOnlyLevel", "_Duration", "ReadOnlyDuration", "WriteOnlyDuration", "_Buffer", "ReadOnlyBuffer", "WriteOnlyBuffer", "math_1", "Timeout", "value", "unit", "v", "payload", "isMinutes", "exports", "require_Types", "__commonJSMin", "exports", "__exportStar", "exports", "ZWaveFeature", "exports", "InclusionStrategy", "exports", "ExclusionStrategy", "ProvisioningEntryStatus", "InclusionState", "require_Types", "__commonJSMin", "exports", "safe_1", "exports", "Features_1", "__exportStar", "_Types_1", "safe_1", "exports", "safe_1", "DeviceClass", "configManager", "basic", "generic", "specific", "cc", "exports", "safe_1", "exports", "safe_1", "exports", "DeviceClass_1", "__exportStar", "safe_1", "AlarmSensorCommand", "exports", "AlarmSensorType", "AssociationCommand", "AssociationGroupInfoCommand", "AssociationGroupInfoProfile", "BarrierOperatorCommand", "BarrierState", "SubsystemType", "SubsystemState", "BasicCommand", "BatteryChargingStatus", "BatteryReplacementStatus", "BatteryCommand", "BinarySensorCommand", "BinarySensorType", "BinarySwitchCommand", "CentralSceneCommand", "CentralSceneKeys", "ClimateControlScheduleCommand", "ScheduleOverrideType", "ClockCommand", "Weekday", "ColorSwitchCommand", "ColorComponent", "ConfigurationCommand", "CRC16Command", "DeviceResetLocallyCommand", "DoorLockCommand", "DoorLockMode", "DoorLockOperationType", "EntryControlEventTypes", "DoorLockLoggingCommand", "DoorLockLoggingEventType", "DoorLockLoggingRecordStatus", "EntryControlCommand", "EntryControlDataTypes", "FirmwareUpdateMetaDataCommand", "FirmwareUpdateRequestStatus", "FirmwareUpdateStatus", "FirmwareUpdateActivationStatus", "FirmwareDownloadStatus", "HailCommand", "HumidityControlModeCommand", "HumidityControlMode", "HumidityControlOperatingStateCommand", "HumidityControlOperatingState", "HumidityControlSetpointCommand", "HumidityControlSetpointType", "IndicatorCommand", "IrrigationCommand", "IrrigationSensorPolarity", "ValveType", "LanguageCommand", "LockCommand", "ManufacturerSpecificCommand", "DeviceIdType", "MeterCommand", "RateType", "MultiChannelAssociationCommand", "MultiChannelCommand", "MultiCommandCommand", "MultilevelSensorCommand", "MultilevelSwitchCommand", "LevelChangeDirection", "SwitchType", "NodeNamingAndLocationCommand", "NotificationCommand", "PowerlevelCommand", "Powerlevel", "PowerlevelTestStatus", "ProtectionCommand", "LocalProtectionState", "RFProtectionState", "SceneActivationCommand", "SceneActuatorConfigurationCommand", "SceneControllerConfigurationCommand", "Security2Command", "SecurityCommand", "SoundSwitchCommand", "ToneId", "SupervisionCommand", "ThermostatFanModeCommand", "ThermostatFanMode", "ThermostatFanStateCommand", "ThermostatFanState", "ThermostatModeCommand", "ThermostatMode", "ThermostatOperatingStateCommand", "ThermostatOperatingState", "ThermostatSetbackCommand", "SetbackType", "ThermostatSetpointCommand", "ThermostatSetpointType", "TimeCommand", "TimeParametersCommand", "TransportServiceCommand", "UserCodeCommand", "UserIDStatus", "KeypadMode", "VersionCommand", "WakeUpCommand", "ZWavePlusCommand", "ZWavePlusRoleType", "ZWavePlusNodeType", "ZWaveProtocolCommand", "WakeUpTime", "FLiRS2WakeUpTime", "value", "wakeUpTime2FLiRS", "dataRate2ZWaveDataRate", "dataRate", "ZWaveDataRate2DataRate", "zdr", "parseWakeUpTime", "NetworkTransferStatus", "__exportStar", "exports", "safe_1", "safe_2", "strings_1", "exports", "healthCheckRatingToWord", "rating", "formatLifelineHealthCheckRound", "round", "numRounds", "result", "line", "formatLifelineHealthCheckSummary", "summary", "r", "i", "formatRouteHealthCheckRound", "sourceNodeId", "targetNodeId", "formatRouteHealthCheckSummary", "safe_1", "exports", "safe_2", "HealthCheck_1", "safe_1", "exports", "__exportStar", "exports", "import_react_dom", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "TabPanel", "props", "children", "value", "index", "other", "classes", "Box_default", "import_CircularProgress", "import_Paper", "import_Typography", "import_strings", "import_react", "import_Button", "import_Tooltip", "import_Add", "import_DeleteForever", "import_Restore", "import_Save", "import_strings", "import_MenuItem", "import_OutlinedInput", "import_Select", "React", "Dropdown", "props", "options", "selectedOption", "noOptionsMessage", "placeholder", "otherProps", "__rest", "showNoOptionsMessage", "value", "Select", "OutlinedInput", "MenuItem", "label", "import_react", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "TableCell", "styled_default", "TableCell_default", "theme", "AssociationRow", "props", "_", "useI18n", "sourceEndpoint", "setSourceEndpoint", "group", "setGroup", "nodeId", "setNodeId", "endpoint", "setEndpoint", "isValid", "setValid", "hasChanges", "setHasChanges", "isBusy", "setBusy", "groups", "_a", "groupExists", "g", "node", "n", "endpointIndizes", "groupOptions", "label", "nodesOptions", "sourceEndpointOptions", "newEndpointOptions", "ep", "targetEndpointOptions", "_b", "_c", "isNewAssociation", "saveAssociation", "resetAssociation", "e", "getErrorMessage", "deleteAssociation", "currentGroup", "endpointSupportsMultiChannel", "classes", "TableRow_default", "Dropdown", "value", "ButtonGroup_default", "Tooltip", "Button", "AddIcon", "SaveIcon", "RestoreIcon", "DeleteForeverIcon", "import_Tooltip", "import_DeviceUnknown", "import_PowerSettingsNew", "import_Wifi", "import_WifiOff", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "green_default", "lightBlue_default", "red_default", "DeviceStatusIcon", "props", "status", "_", "useI18n", "classes", "title", "Tooltip", "WifiIcon", "PowerSettingsNewIcon", "WifiOffIcon", "DeviceUnknownIcon", "import_Typography", "import_jsx_runtime", "Message", "props", "Typography", "NotRunning", "_", "useI18n", "NoDevices", "NodeNotReady", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "AssociationNodeTableHeadline", "props", "_", "useI18n", "value", "status", "nodeId", "nodeName", "classes", "Typography", "DeviceStatusIcon", "AssociationNodeTableContent", "endpoints", "sourceEndpoints", "groups", "supportsMultiChannel", "hasAssociations", "associations", "definitions", "index", "endpoint", "a", "group", "def", "assocs", "acc", "cur", "a1", "a2", "_a", "_b", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "assoc", "_c", "AssociationRow", "n", "sourceEndpoint", "targetNodeId", "AssociationNodeTable", "ready", "hasSomeAssociationGroups", "e", "Paper", "NodeNotReady", "import_jsx_runtime", "Associations", "props", "adapterRunning", "driverReady", "useAdapter", "api", "useAPI", "devices", "updateDevices", "saveAssociation", "nodeId", "prev", "current", "deleteAssociation", "association", "devicesAsArray", "nodes", "nonControllerDevices", "NotRunning", "device", "index", "AssociationNodeTable", "NoDevices", "CircularProgress", "import_CircularProgress", "import_react", "import_Button", "import_Add", "import_NetworkCheck", "import_Remove", "import_clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "DeviceActionButtons", "props", "_", "useI18n", "classes", "Button", "PlusIcon", "MinusIcon", "clsx", "NetworkCheckIcon", "import_Paper", "import_IconButton", "import_Tooltip", "import_Home", "import_KeyboardArrowDown", "import_KeyboardArrowUp", "import_react", "import_Button", "import_DeleteForever", "import_Language", "import_PowerSettingsNew", "import_RestorePage", "import_react", "import_Button", "import_Dialog", "import_DialogActions", "import_DialogContent", "import_DialogTitle", "import_Typography", "import_react", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "SetRFRegionDialog", "props", "_", "useI18n", "classes", "region", "setRegion", "options", "key", "value", "Dialog", "DialogTitle", "DialogContent", "Typography", "Dropdown", "event", "DialogActions", "Button", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "ControllerActions", "props", "_a", "isBusy", "setBusy", "namespace", "useGlobals", "api", "useAPI", "_", "useI18n", "showModal", "showNotification", "useDialogs", "showSetRFRegionDialog", "setShowSetRFRegionDialog", "rfRegionObject", "useIoBrokerObject", "rfRegion", "useIoBrokerState", "setRFRegion", "region", "softReset", "clearCache", "e", "getErrorMessage", "hardReset", "classes", "Button", "PowerSettingsNewIcon", "Typography_default", "RestorePageIcon", "LanguageIcon", "DeleteForeverIcon", "SetRFRegionDialog", "import_Tooltip", "import_Lock", "import_NoEncryption", "import_clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "grey_default", "green_default", "blue_default", "deepPurple_default", "amber_default", "SecurityClassIcon", "props", "classes", "Icon", "LockIcon", "NoEncryptionIcon", "Tooltip", "clsx", "secClassDefinitions", "DeviceSecurityIcon", "securityClasses", "className", "title", "import_clsx", "import_react", "import_Tooltip", "import_clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "BaseStatisticsTooltip", "props", "classes", "Tooltip", "NodeStatisticsTooltip", "_a", "_", "useI18n", "s", "clsx", "ControllerStatisticsTooltip", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "red_default", "green_default", "ArrowUp", "props", "classes", "clsx", "ArrowDown", "DeviceStatisticsIndicator", "prevStats", "setPrevStats", "txStatus", "setTxStatus", "rxStatus", "setRxStatus", "prev", "cur", "timeout", "ControllerStatisticsTooltip", "NodeStatisticsTooltip", "import_Tooltip", "import_Autorenew", "import_Done", "import_ErrorOutline", "import_Redo", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "blue_default", "red_default", "orange_default", "green_default", "HealStatusIcon", "props", "status", "_", "useI18n", "classes", "Tooltip", "DoneIcon", "RedoIcon", "ErrorOutlineIcon", "AutoRenewIcon", "import_Button", "import_Tooltip", "import_Typography", "import_Close", "import_DeleteOutline", "import_Memory", "import_Publish", "import_RestorePage", "import_SwapHoriz", "import_clsx", "import_react", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "NodeActions", "props", "loadedFile", "setLoadedFile", "firmwareUpdateActive", "setFirmwareUpdateActive", "firmwareUpdateStatus", "setFirmwareUpdateStatus", "message", "setMessage", "input", "api", "useAPI", "nodeId", "isBusy", "setBusy", "supportsFirmwareUpdate", "_", "useI18n", "showNotification", "showModal", "useDialogs", "isNodeFailed", "removeNode", "e", "replaceNode", "refreshInfo", "loadFirmware", "_a", "selectFirmware", "file", "data", "beginFirmwareUpdate", "abortFirmwareUpdate", "usePush", "payload", "progress", "success", "updateProgressNumeric", "classes", "Button", "RestorePageIcon", "Typography", "Tooltip", "DeleteOutlineIcon", "SwapHorizIcon", "MemoryIcon", "ref", "LinearProgress_default", "ButtonGroup_default", "PublishIcon", "CloseIcon", "clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "DeviceTableRow", "props", "_a", "_b", "_c", "_d", "healStatus", "device", "value", "status", "nodeId", "supportsFirmwareUpdate", "secure", "securityClasses", "isControllerNode", "open", "setOpen", "classes", "_", "useI18n", "namespace", "useGlobals", "stringifiedStatistics", "useIoBrokerState", "computeDeviceId", "statistics", "setStatistics", "parsed", "e", "TableRow_default", "TableCell_default", "IconButton", "KeyboardArrowUpIcon", "KeyboardArrowDownIcon", "DeviceSecurityIcon", "Tooltip", "HomeIcon", "DeviceStatusIcon", "HealStatusIcon", "DeviceStatisticsIndicator", "Collapse_default", "ControllerActions", "NodeActions", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "DeviceTable", "props", "_", "useI18n", "classes", "devices", "healingNetwork", "networkHealProgress", "Paper", "TableContainer_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "device", "nodeId", "DeviceTableRow", "import_Button", "import_Checkbox", "import_CircularProgress", "import_Dialog", "import_DialogActions", "import_DialogContent", "import_DialogTitle", "import_FormControlLabel", "import_TextField", "import_Typography", "import_CheckCircle", "import_Warning", "React", "import_clsx", "import_Paper", "React", "import_utils", "SuccessOutlined_default", "React", "import_utils", "ReportProblemOutlined_default", "React", "import_utils", "ErrorOutline_default", "React", "import_utils", "InfoOutlined_default", "import_IconButton", "import_utils", "styles", "theme", "getColor", "darken", "lighten", "getBackgroundColor", "_extends", "defaultIconMapping", "SuccessOutlined_default", "ReportProblemOutlined_default", "ErrorOutline_default", "InfoOutlined_default", "_ref", "Close_default", "Alert", "props", "ref", "action", "children", "classes", "className", "_props$closeText", "closeText", "color", "icon", "_props$iconMapping", "iconMapping", "onClose", "_props$role", "role", "_props$severity", "severity", "_props$variant", "variant", "other", "_objectWithoutProperties", "Paper", "clsx", "IconButton", "Alert_default", "withStyles_default", "import_clsx", "import_react", "import_Typography", "import_PhotoCamera", "import_Videocam", "React", "import_clsx", "import_ButtonBase", "import_utils", "styles", "theme", "_extends", "alpha", "ToggleButton", "props", "ref", "children", "classes", "className", "_props$disabled", "disabled", "_props$disableFocusRi", "disableFocusRipple", "onChange", "onClick", "selected", "_props$size", "size", "value", "other", "_objectWithoutProperties", "handleChange", "event", "ButtonBase", "clsx", "ToggleButton_default", "withStyles_default", "React", "import_react_is", "import_clsx", "isValueSelected", "value", "candidate", "import_utils", "styles", "theme", "ToggleButtonGroup", "props", "ref", "children", "classes", "className", "_props$exclusive", "exclusive", "onChange", "_props$orientation", "orientation", "_props$size", "size", "value", "other", "_objectWithoutProperties", "handleChange", "event", "buttonValue", "index", "newValue", "handleExclusiveChange", "_extends", "clsx", "child", "isValueSelected", "ToggleButtonGroup_default", "withStyles_default", "import_clsx", "BitMatrix", "data", "width", "height", "x", "y", "v", "left", "top", "REGION_SIZE", "MIN_DYNAMIC_RANGE", "numBetween", "value", "min", "max", "Matrix", "buffer", "bufferSize", "binarize", "returnInverted", "greyscaleWeights", "canOverwriteImage", "pixelCount", "bufferOffset", "greyscaleBuffer", "greyscalePixels", "pixelPosition", "r", "g", "b", "horizontalRegionCount", "verticalRegionCount", "blackPointsCount", "blackPointsBuffer", "blackPoints", "verticalRegion", "hortizontalRegion", "pixelLumosity", "average", "averageNeighborBlackPoint", "binarized", "binarizedBuffer", "inverted", "invertedBuffer", "sum", "xRegion", "yRegion", "threshold", "lum", "BitStream", "bytes", "numBits", "result", "bitsLeft", "toRead", "bitsToNotRead", "mask", "Mode", "ModeByte", "decodeNumeric", "stream", "size", "text", "characterCountSize", "length", "num", "a", "c", "AlphanumericCharacterCodes", "decodeAlphanumeric", "decodeByte", "i", "_a", "decodeKanji", "k", "decode", "version", "mode", "numericResult", "alphanumericResult", "byteResult", "kanjiResult", "GenericGFPoly", "field", "coefficients", "coefficientsLength", "firstNonZero", "degree", "other", "smallerCoefficients", "largerCoefficients", "sumDiff", "lengthDiff", "addOrSubtractGF", "scalar", "product", "aCoefficients", "aLength", "bCoefficients", "bLength", "aCoeff", "j", "coefficient", "GenericGF", "primitive", "genBase", "runEuclideanAlgorithm", "R", "rLast", "tLast", "t", "rLastLast", "tLastLast", "q", "denominatorLeadingTerm", "dltInverse", "degreeDiff", "scale", "sigmaTildeAtZero", "inverse", "findErrorLocations", "errorLocator", "numErrors", "errorCount", "findErrorMagnitudes", "errorEvaluator", "errorLocations", "s", "xiInverse", "denominator", "twoS", "outputBytes", "poly", "syndromeCoefficients", "error", "evaluation", "syndrome", "sigmaOmega", "errorMagnitudes", "position", "VERSIONS", "numBitsDiffering", "z", "bitCount", "pushBit", "bit", "byte", "FORMAT_INFO_TABLE", "DATA_MASKS", "p", "buildFunctionPatternMask", "dimension", "matrix", "readCodewords", "formatInfo", "dataMask", "functionPatternMask", "codewords", "currentByte", "bitsRead", "readingUp", "columnIndex", "columnOffset", "readVersion", "provisionalVersion", "topRightVersionBits", "bottomLeftVersionBits", "bestDifference", "bestVersion", "difference", "readFormatInformation", "topLeftFormatInfoBits", "topRightBottomRightFormatInfoBits", "bestFormatInfo", "bits", "getDataBlocks", "ecLevel", "ecInfo", "dataBlocks", "totalCodewords", "block", "shortBlockSize", "dataBlock", "smallBlockCount", "largeBlockCount", "decodeMatrix", "totalBytes", "resultBytes", "resultIndex", "correctedBytes", "rsDecode", "decodeData", "squareToQuadrilateral", "p1", "p2", "p3", "p4", "dx3", "dy3", "dx1", "dx2", "dy1", "dy2", "a13", "a23", "quadrilateralToSquare", "sToQ", "times", "extract", "image", "location", "qToS", "transform", "mappingFunction", "xValue", "yValue", "sourcePixel", "MAX_FINDERPATTERNS_TO_SEARCH", "MIN_QUAD_RATIO", "MAX_QUAD_RATIO", "distance", "values", "reorderFinderPatterns", "pattern1", "pattern2", "pattern3", "oneTwoDistance", "twoThreeDistance", "oneThreeDistance", "bottomLeft", "topLeft", "topRight", "computeDimension", "moduleSize", "countBlackWhiteRun", "topDimension", "sideDimension", "countBlackWhiteRunTowardsPoint", "origin", "end", "switchPoints", "steep", "fromX", "fromY", "toX", "toY", "dx", "dy", "xStep", "yStep", "currentPixel", "realX", "realY", "distances", "rise", "run", "towardsEnd", "awayFromEnd", "middleValue", "scoreBlackWhiteRun", "sequence", "ratios", "averageSize", "ratio", "scorePattern", "point", "horizontalRun", "verticalRun", "topLeftPoint", "topLeftBottomRightRun", "bottomLeftPoint", "bottomLeftTopRightRun", "horzError", "vertError", "diagDownError", "diagUpError", "ratioError", "avgSize", "sizeError", "recenterLocation", "leftX", "rightX", "topY", "bottomY", "locate", "finderPatternQuads", "activeFinderPatternQuads", "alignmentPatternQuads", "activeAlignmentPatternQuads", "lastBit", "scans", "averageFinderPatternBlocksize", "validFinderPattern", "averageAlignmentPatternBlocksize", "validAlignmentPattern", "endX", "startX", "line", "matchingQuads", "scoredFinderPatternPositions", "quad", "lengths", "score", "finderPatternGroups", "otherPoints", "otherPoint", "bestFinderPatternGroup", "alignment", "findAlignmentPattern", "midTopRight", "midTopLeft", "midBottomLeft", "centeredAlignment", "e", "bottomRightFinderPattern", "modulesBetweenFinderPatterns", "correctionToTopLeft", "expectedAlignmentPattern", "alignmentPatterns", "scan", "locations", "extracted", "decoded", "defaultOptions", "mergeObject", "target", "src", "opt", "jsQR", "providedOptions", "options", "tryInvertedFirst", "shouldInvert", "import_react", "import_react", "useAnimationFrame", "cb", "deps", "frame", "last", "init", "animate", "now", "totalMs", "deltaMs", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "drawCorner", "ctx", "a", "b", "c", "size", "color", "_a", "_c", "QRScannerVideo", "props", "detectionArea", "classes", "_", "useI18n", "active", "setActive", "failed", "setFailed", "video", "previewCanvasRef", "previewContextRef", "detectionCanvasRef", "detectionContextRef", "qr", "setQr", "useAnimationFrame", "v", "cP", "ctxP", "cD", "ctxD", "scale", "sxP", "syP", "previewCorners", "i", "sxD", "syD", "imageData", "code", "jsQR", "corners", "p", "stream", "e", "track", "Typography", "QRScannerImage", "fileInputRef", "imageRef", "handleLabelClick", "fileURL", "setFileURL", "handleFileChange", "file", "dropState", "setDropState", "handleDragOver", "item", "handleDragLeave", "handleDrop", "reader", "handleImageLoad", "handleImageError", "clsx", "QRScanner", "mode", "setMode", "handleChange", "event", "newMode", "ToggleButtonGroup_default", "ToggleButton_default", "VideocamIcon", "PhotoCameraIcon", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "green_default", "yellow_default", "SelectInclusionStrategyStep", "props", "_", "useI18n", "classes", "useStyles", "forceSecurity", "setForceSecurity", "strategyCaptionDefault", "namespace", "useGlobals", "instanceObj", "useIoBrokerObject", "settings", "keysMissing", "DialogContent", "Typography", "Alert_default", "Button", "FormControlLabel", "Checkbox", "event", "checked", "DialogActions", "SelectReplacementStrategyStep", "ScanQRCodeStep", "busy", "setBusy", "handleScan", "code", "QRScanner", "WaitMessageStep", "CircularProgress", "GrantSecurityClassesStep", "request", "requestS2AccessControl", "requestS2Authenticated", "requestS2Unauthenticated", "requestS0Legacy", "requestCSA", "grantS2AccessControl", "setGrantS2AccessControl", "grantS2Authenticated", "setGrantS2Authenticated", "grantS2Unauthenticated", "setGrantS2Unauthenticated", "grantS0Legacy", "setGrantS0Legacy", "grantCSA", "setGrantCSA", "handleOk", "securityClasses", "grant", "ValidateDSKStep", "pin", "setPIN", "error", "setError", "handleChange", "handleBlur", "TextField", "e", "ResultStep", "_a", "Icon", "WarningIcon", "CheckCircleIcon", "caption", "message1", "message2", "clsx", "ExclusionResultStep", "ResultMessageStep", "InclusionDialog", "Content", "title", "Dialog", "DialogTitle", "import_jsx_runtime", "Devices", "props", "devices", "adapterRunning", "driverReady", "useAdapter", "namespace", "useGlobals", "_", "useI18n", "api", "useAPI", "showNotification", "useDialogs", "isBusy", "setBusy", "inclusion", "useIoBrokerState", "exclusion", "setExclusion", "healingNetwork", "networkHealProgress", "setNetworkHealProgress", "inclusionStatus", "setInclusionStatus", "showInclusionExclusionModal", "setShowInclusionExclusionModal", "onPush", "payload", "_a", "usePush", "statisticsSubscribed", "setStatisticsSubscribed", "healNetwork", "e", "getErrorMessage", "devicesAsArray", "nodeId", "device", "replaceFailedNode", "closeDialog", "inclusionExclusionDialogProps", "strategy", "forceSecurity", "code", "result", "pin", "grant", "isIncluding", "isExcluding", "NotRunning", "DeviceActionButtons", "DeviceTable", "InclusionDialog", "CircularProgress", "import_react", "ascending", "a", "b", "InternMap", "entries", "key", "keyof", "value", "intern_get", "intern_set", "intern_delete", "intern_get", "_intern", "_key", "value", "key", "intern_set", "intern_delete", "keyof", "range", "start", "stop", "step", "n", "i", "abs", "cos", "sin", "pi", "halfPi", "tau", "max", "epsilon", "range", "i", "j", "_", "k", "compareValue", "compare", "a", "b", "chord_default", "chord", "chord", "directed", "transpose", "padAngle", "sortGroups", "sortSubgroups", "sortChords", "matrix", "n", "groupSums", "groupIndex", "range", "chords", "groups", "k", "dx", "_", "i", "x", "j", "max", "tau", "a", "b", "x0", "subgroupIndex", "source", "compareValue", "pi", "tau", "epsilon", "tauEpsilon", "Path", "path", "x", "y", "x1", "y1", "x2", "y2", "r", "x0", "y0", "x21", "y21", "x01", "y01", "l01_2", "x20", "y20", "l21_2", "l20_2", "l21", "l01", "l", "t01", "t21", "a0", "a1", "ccw", "dx", "dy", "cw", "da", "w", "h", "path_default", "slice", "constant_default", "x", "defaultSource", "d", "defaultTarget", "defaultRadius", "defaultStartAngle", "defaultEndAngle", "defaultPadAngle", "ribbon", "headRadius", "source", "defaultSource", "target", "defaultTarget", "sourceRadius", "defaultRadius", "targetRadius", "startAngle", "defaultStartAngle", "endAngle", "defaultEndAngle", "padAngle", "defaultPadAngle", "context", "buffer", "s", "t", "ap", "argv", "slice", "sr", "sa0", "halfPi", "sa1", "tr", "ta0", "ta1", "path_default", "epsilon", "abs", "cos", "sin", "hr", "tr2", "ta2", "_", "constant_default", "ribbon_default", "initRange", "domain", "range", "implicit", "ordinal", "index", "InternMap", "domain", "range", "unknown", "scale", "d", "i", "_", "value", "initRange", "define_default", "constructor", "factory", "prototype", "extend", "parent", "definition", "key", "Color", "darker", "brighter", "reI", "reN", "reP", "reHex", "reRgbInteger", "reRgbPercent", "reRgbaInteger", "reRgbaPercent", "reHslPercent", "reHslaPercent", "named", "define_default", "color", "channels", "color_formatHex", "color_formatHex8", "color_formatHsl", "color_formatRgb", "hslConvert", "format", "m", "l", "rgbn", "Rgb", "rgba", "hsla", "n", "r", "g", "b", "a", "rgbConvert", "o", "rgb", "opacity", "extend", "k", "clampi", "clampa", "rgb_formatHex", "rgb_formatHex8", "rgb_formatRgb", "hex", "value", "h", "s", "Hsl", "min", "max", "hsl", "m2", "m1", "hsl2rgb", "clamph", "clampt", "basis", "t1", "v0", "v1", "v2", "v3", "t2", "t3", "basis_default", "values", "n", "t", "i", "basisClosed_default", "values", "n", "t", "i", "v0", "v1", "v2", "v3", "basis", "constant_default", "x", "linear", "a", "d", "t", "exponential", "b", "y", "gamma", "y", "nogamma", "a", "b", "exponential", "constant_default", "d", "linear", "rgb_default", "rgbGamma", "y", "color", "gamma", "rgb", "start", "end", "r", "g", "b", "opacity", "nogamma", "t", "rgbSpline", "spline", "colors", "n", "i", "rgbBasis", "basis_default", "rgbBasisClosed", "basisClosed_default", "colors_default", "specifier", "n", "colors", "i", "ramp_default", "scheme", "rgbBasis", "scheme", "colors_default", "Spectral_default", "ramp_default", "xhtml", "namespaces_default", "namespace_default", "name", "prefix", "i", "namespaces_default", "creatorInherit", "name", "document", "uri", "xhtml", "creatorFixed", "fullname", "creator_default", "namespace_default", "none", "selector_default", "selector", "select_default", "select", "selector_default", "groups", "m", "subgroups", "j", "group", "n", "subgroup", "node", "subnode", "i", "Selection", "array", "x", "empty", "selectorAll_default", "selector", "arrayAll", "select", "array", "selectAll_default", "selectorAll_default", "groups", "m", "subgroups", "parents", "j", "group", "n", "node", "i", "Selection", "matcher_default", "selector", "childMatcher", "node", "find", "childFind", "match", "childFirst", "selectChild_default", "childMatcher", "filter", "children", "childrenFilter", "match", "selectChildren_default", "childMatcher", "filter_default", "match", "matcher_default", "groups", "m", "subgroups", "j", "group", "n", "subgroup", "node", "i", "Selection", "sparse_default", "update", "enter_default", "Selection", "sparse_default", "EnterNode", "parent", "datum", "child", "next", "selector", "constant_default", "x", "bindIndex", "parent", "group", "enter", "update", "exit", "data", "i", "node", "groupLength", "dataLength", "EnterNode", "bindKey", "key", "nodeByKeyValue", "keyValues", "keyValue", "datum", "data_default", "value", "bind", "parents", "groups", "constant_default", "m", "j", "arraylike", "enterGroup", "updateGroup", "exitGroup", "i0", "i1", "previous", "next", "Selection", "exit_default", "Selection", "sparse_default", "join_default", "onenter", "onupdate", "onexit", "enter", "update", "exit", "merge_default", "context", "selection", "groups0", "groups1", "m0", "m1", "m", "merges", "j", "group0", "group1", "n", "merge", "node", "i", "Selection", "order_default", "groups", "j", "m", "group", "i", "next", "node", "sort_default", "compare", "ascending", "compareNode", "a", "b", "groups", "m", "sortgroups", "j", "group", "n", "sortgroup", "node", "i", "Selection", "call_default", "callback", "nodes_default", "node_default", "groups", "j", "m", "group", "i", "n", "node", "size_default", "size", "node", "empty_default", "each_default", "callback", "groups", "j", "m", "group", "n", "node", "attrRemove", "name", "attrRemoveNS", "fullname", "attrConstant", "value", "attrConstantNS", "attrFunction", "v", "attrFunctionNS", "attr_default", "namespace_default", "node", "window_default", "node", "styleRemove", "name", "styleConstant", "value", "priority", "styleFunction", "v", "style_default", "styleValue", "node", "window_default", "propertyRemove", "name", "propertyConstant", "value", "propertyFunction", "v", "property_default", "classArray", "string", "classList", "node", "ClassList", "name", "i", "classedAdd", "names", "list", "n", "classedRemove", "classedTrue", "classedFalse", "classedFunction", "value", "classed_default", "textRemove", "textConstant", "value", "textFunction", "v", "text_default", "htmlRemove", "htmlConstant", "value", "htmlFunction", "v", "html_default", "raise", "raise_default", "lower", "lower_default", "append_default", "name", "create", "creator_default", "constantNull", "insert_default", "name", "before", "create", "creator_default", "select", "selector_default", "remove", "parent", "remove_default", "selection_cloneShallow", "clone", "parent", "selection_cloneDeep", "clone_default", "deep", "datum_default", "value", "contextListener", "listener", "event", "parseTypenames", "typenames", "name", "i", "onRemove", "typename", "on", "j", "m", "o", "onAdd", "value", "options", "on_default", "n", "t", "dispatchEvent", "node", "type", "params", "window", "window_default", "event", "dispatchConstant", "dispatchFunction", "dispatch_default", "iterator_default", "groups", "j", "m", "group", "i", "n", "node", "root", "Selection", "groups", "parents", "selection", "selection_selection", "select_default", "selectAll_default", "selectChild_default", "selectChildren_default", "filter_default", "data_default", "enter_default", "exit_default", "join_default", "merge_default", "order_default", "sort_default", "call_default", "nodes_default", "node_default", "size_default", "empty_default", "each_default", "attr_default", "style_default", "property_default", "classed_default", "text_default", "html_default", "raise_default", "lower_default", "append_default", "insert_default", "remove_default", "clone_default", "datum_default", "on_default", "dispatch_default", "iterator_default", "select_default", "selector", "Selection", "root", "constant_default", "x", "abs", "atan2", "cos", "max", "min", "sin", "sqrt", "epsilon", "pi", "halfPi", "tau", "acos", "x", "asin", "arcInnerRadius", "d", "arcOuterRadius", "arcStartAngle", "arcEndAngle", "arcPadAngle", "intersect", "x0", "y0", "x1", "y1", "x2", "y2", "x3", "y3", "x10", "y10", "x32", "y32", "t", "epsilon", "cornerTangents", "r1", "rc", "cw", "x01", "y01", "lo", "sqrt", "ox", "oy", "x11", "y11", "x00", "y00", "dx", "dy", "d2", "r", "D", "max", "cx0", "cy0", "cx1", "cy1", "dx0", "dy0", "dx1", "dy1", "arc_default", "innerRadius", "outerRadius", "cornerRadius", "constant_default", "padRadius", "startAngle", "endAngle", "padAngle", "context", "arc", "buffer", "r0", "a0", "halfPi", "a1", "da", "abs", "path_default", "tau", "cos", "sin", "a01", "a11", "a00", "a10", "da0", "da1", "ap", "rp", "min", "rc0", "rc1", "t0", "t1", "p0", "asin", "p1", "oc", "pi", "ax", "ay", "bx", "by", "kc", "acos", "lc", "atan2", "a", "_", "drawNetworkMap", "selector", "nodes", "matrix", "addLink", "from", "to", "nodeIndizes", "i", "node", "neighborId", "sum", "arr", "acc", "cur", "maxSum", "disconnected", "row", "val", "node1Factor", "row0Sum", "matrixSum", "width", "height", "outerRadius", "innerRadius", "gap", "remainder", "firstNodeRotation", "svg", "select_default", "chord", "chord_default", "ascending", "arcs", "arc_default", "ribbonGenerator", "ribbon_default", "colorScale", "ordinal", "range", "scheme", "getGradID", "d", "grads", "_i", "_d", "c", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "NetworkMap", "adapterRunning", "driverReady", "useAdapter", "api", "useAPI", "classes", "nodes", "drawNetworkMap", "e", "NotRunning", "import_react", "import_react_error_boundary", "import_react", "DevicesContext", "deviceIdRegex", "deviceReadyRegex", "deviceStatusRegex", "useDevices", "connection", "useConnection", "devices", "setDevices", "namespace", "useGlobals", "api", "useAPI", "onObjectChange", "id", "obj", "nodeId", "device", "newDevices", "updateAssociations", "updatedDevice", "onStateChange", "state", "updateDevices", "import_CircularProgress", "import_Paper", "import_Button", "import_Checkbox", "import_TextField", "import_Tooltip", "import_Typography", "import_Add", "import_CheckBox", "import_CheckBoxOutlineBlank", "import_DeleteForever", "import_Restore", "import_Save", "import_strings", "import_clsx", "import_react", "arrayEquals", "arr1", "arr2", "item", "index", "import_jsx_runtime", "icon", "CheckBoxOutlineBlankIcon", "checkedIcon", "CheckBoxIcon", "useStyles", "makeStyles_default", "theme", "GroupRow", "props", "_a", "_b", "_", "useI18n", "name", "setName", "nodeIds", "setNodeIds", "isValid", "setValid", "hasChanges", "setHasChanges", "isBusy", "setBusy", "arrayEquals", "nodesOptions", "device", "selectedNodes", "o", "isNewGroup", "saveGroup", "resetGroup", "e", "getErrorMessage", "deleteGroup", "classes", "cellClassName", "clsx", "TableRow_default", "TableCell_default", "Typography", "TextField", "Autocomplete_default", "option", "value", "v", "selected", "React", "Checkbox", "params", "ButtonGroup_default", "Tooltip", "Button", "AddIcon", "SaveIcon", "RestoreIcon", "DeleteForeverIcon", "import_typeguards", "import_react", "groupIdRegex", "isGroupObject", "obj", "n", "sanitizeName", "name", "nameFromGroupObject", "useGroups", "connection", "useConnection", "groups", "setGroups", "namespace", "useGlobals", "onObjectChange", "id", "newGroups", "loadGroups", "groupObjects", "saveGroup", "nodeIds", "objectId", "deleteGroup", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "Groups", "props", "classes", "_", "useI18n", "groups", "saveGroup", "deleteGroup", "useGroups", "CircularProgress", "selectableNodes", "device", "isControllerNode", "secure", "Alert_default", "Paper", "TableContainer_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "id", "group", "GroupRow", "nameFromGroupObject", "import_Button", "import_CircularProgress", "import_Dialog", "import_DialogActions", "import_DialogContent", "import_DialogTitle", "import_Paper", "import_Typography", "import_AddAPhoto", "import_react", "import_safe", "import_Button", "import_Checkbox", "import_TextField", "import_Tooltip", "import_Typography", "import_Add", "import_DeleteForever", "import_Restore", "import_Save", "import_safe", "import_clsx", "import_react", "import_safe", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "SmartStartTableRow", "props", "_a", "_b", "_c", "classes", "_", "useI18n", "status", "setStatus", "dsk", "setDsk", "securityClasses", "setSecurityClasses", "isValid", "setValid", "hasChanges", "setHasChanges", "isBusy", "setBusy", "arrayEquals", "handleDSKChange", "e", "result", "chunk", "selectSecurity", "event", "secClasses", "isNewEntry", "isIncluded", "resetEntry", "unprovision", "getErrorMessage", "provision", "additionalData", "TableRow_default", "TableCell_default", "Typography", "clsx", "Checkbox", "checked", "TextField", "ToggleButtonGroup_default", "ToggleButton_default", "ButtonGroup_default", "Tooltip", "Button", "AddIcon", "SaveIcon", "RestoreIcon", "DeleteForeverIcon", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "SmartStart", "props", "classes", "_", "useI18n", "api", "useAPI", "showModal", "useDialogs", "adapterRunning", "driverReady", "useAdapter", "supportsSmartStart", "setSupportsSmartStart", "entries", "setEntries", "updateEntries", "a", "b", "nodeIdA", "nodeIdB", "result", "provisionNode", "status", "dsk", "securityClasses", "additionalData", "unprovisionNode", "reprovisionNode", "oldDsk", "newDsk", "scannerNotification", "setScannerNotification", "lastScanned", "setLastScanned", "showQRCodeScanner", "setShowQRCodeScanner", "closeQRCodeScanner", "handleQRScan", "code", "rest", "e", "NotRunning", "CircularProgress", "Typography", "Alert_default", "Button", "AddAPhotoIcon", "Dialog", "DialogTitle", "DialogContent", "QRScanner", "DialogActions", "Paper", "TableContainer_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "entry", "nodeId", "SmartStartTableRow", "secClasses", "additional", "Message", "import_jsx_runtime", "ErrorFallback", "error", "resetErrorBoundary", "translations", "Root", "value", "setValue", "_", "useI18n", "handleTabChange", "event", "newValue", "devices", "updateDevices", "useDevices", "AppBar_default", "Tabs_default", "Tab_default", "TabPanel", "Devices", "SmartStart", "Groups", "Associations", "ZWaveLogs", "NetworkMap", "ReactDOM", "IoBrokerApp"] + "mappings": "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", + "names": ["require_DeleteForever", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Restore", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_DeviceUnknown", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_PowerSettingsNew", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_WifiOff", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_NetworkCheck", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Remove", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Home", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_KeyboardArrowDown", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_KeyboardArrowUp", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Language", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_RestorePage", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_NoEncryption", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Autorenew", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Done", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_ErrorOutline", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Redo", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_DeleteOutline", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Memory", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_SwapHoriz", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_PhotoCamera", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_Videocam", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_CheckBox", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_CheckBoxOutlineBlank", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_AddAPhoto", "__commonJSMin", "exports", "_interopRequireDefault", "_interopRequireWildcard", "React", "_createSvgIcon", "_default", "require_ICommandClass", "__commonJSMin", "exports", "require_IZWaveEndpoint", "__commonJSMin", "exports", "require_IZWaveNode", "__commonJSMin", "exports", "getErrorMessage", "includeStack", "exports", "Mixin", "baseCtors", "derivedCtor", "baseCtor", "applyMixin", "exports", "target", "mixin", "includeConstructor", "inheritanceChain", "current", "base", "ctor", "prop", "_a", "AllOf", "BaseClasses", "First", "Others", "ret", "staticExtends", "constructor", "objects_1", "ObjectKeyMap", "entries", "defaultKeyProps", "key", "value", "callbackfn", "keyAsString", "map", "_entries", "entry", "_keys", "filledKey", "required", "def", "_key", "keyA", "keyB", "exports", "strings_1", "cpp2js", "str", "nullIndex", "exports", "num2hex", "val", "uppercase", "ret", "formatId", "id", "stringify", "arg", "space", "buffer2hex", "buffer", "isPrintableASCII", "text", "isPrintableASCIIWithNewlines", "compareStrings", "a", "b", "createThrowingMap", "throwKeyNotFound", "map", "key", "exports", "require_deferred_promise", "__commonJSMin", "exports", "createDeferredPromise", "res", "rej", "promise", "resolve", "reject", "deferred_promise_1", "TimedExpectation", "timeoutMs", "predicate", "timeoutErrorMessage", "tmp", "result", "err", "onfulfilled", "onrejected", "exports", "require_types", "__commonJSMin", "exports", "typeguards_1", "strings_1", "keysOf", "obj", "exports", "pick", "keys", "ret", "key", "pickDeep", "object", "path", "_pickDeep", "pathArr", "propName", "flatMap", "array", "callbackfn", "acc", "cur", "getEnumMemberName", "enumeration", "value", "skipBytes", "buf", "n", "throttle", "fn", "intervalMs", "trailing", "lastCall", "timeout", "args", "now", "delay", "mergeDeep", "target", "source", "overwrite", "cloneDeep", "i", "padVersion", "version", "discreteBinarySearch", "rangeMin", "rangeMax", "executor", "min", "max", "mid", "discreteLinearSearch", "val", "sum", "values", "createWrappingCounter", "maxValue", "randomSeed", "ret", "exports", "__exportStar", "exports", "ObjectKeyMap_1", "safe_1", "CommandClasses", "exports", "getCCName", "cc", "key", "ControllerCapabilityFlags", "exports", "ZWaveLibraryTypes", "exports", "strings_1", "ZWaveErrorCodes", "exports", "getErrorSuffix", "code", "appendErrorSuffix", "message", "suffix", "ZWaveError", "context", "transactionSource", "isZWaveError", "isTransmissionError", "isRecoverableZWaveError", "ZWaveError_1", "isConsecutiveArray", "values", "v", "i", "arr", "exports", "stripUndefined", "obj", "ret", "key", "value", "validatePayloadInternal", "reason", "assertions", "getMinimumShiftForBitMask", "mask", "getBitMaskWidth", "getLegalRangeForBitMask", "unsigned", "bitMaskWidth", "min", "max", "safe_1", "misc_1", "CommandClasses_1", "parseApplicationNodeInformation", "nif", "parseCCList", "exports", "parseNodeUpdatePayload", "nodeId", "remainingLength", "encodeNodeUpdatePayload", "ccList", "encodeCCList", "isExtendedCCId", "ccId", "parseCCId", "payload", "offset", "isExtended", "encodeCCId", "ret", "isAfterMark", "cc", "bytesRead", "supportedCCs", "controlledCCs", "bufferLength", "ProtocolVersion", "NodeType", "parseNodeProtocolInfo", "buffer", "isListening", "isRouting", "supportedDataRates", "maxSpeed", "speedExtension", "protocolVersion", "capability", "optionalFunctionality", "isFrequentListening", "supportsBeaming", "nodeType", "hasSpecificDeviceClass", "supportsSecurity", "encodeNodeProtocolInfo", "info", "parseNodeProtocolInfoAndDeviceClass", "protocolInfo", "basic", "generic", "specific", "encodeNodeProtocolInfoAndDeviceClass", "parseNodeInformationFrame", "encodeNodeInformationFrame", "safe_1", "Protocols", "exports", "ZWaveDataRate", "ProtocolDataRate", "protocolDataRateToString", "rate", "RouteProtocolDataRate", "ProtocolType", "RFRegion", "exports", "require_ZWaveApiVersion", "__commonJSMin", "exports", "InterviewStage", "exports", "NodeStatus", "exports", "typeguards_1", "MessagePriority", "exports", "isMessagePriority", "val", "TransmitOptions", "TransmitStatus", "RssiError", "isRssiError", "rssi", "rssiToString", "EncapsulationFlags", "SupervisionStatus", "isSupervisionResult", "obj", "supervisedCommandSucceeded", "result", "supervisedCommandFailed", "isUnsupervisedOrSucceeded", "exports", "InterviewStage_1", "NodeStatus_1", "__exportStar", "strings_1", "exports", "getDirectionPrefix", "direction", "getNodeTag", "nodeId", "stringToNodeList", "nodes", "n", "strings_1", "ZWaveError_1", "isValidDSK", "dsk", "exports", "dskToString", "ret", "i", "dskFromString", "parts", "partAsNumber", "nwiHomeIdFromDSK", "authHomeIdFromDSK", "SecurityClass", "exports", "securityClassIsS2", "secClass", "getHighestSecurityClass", "securityClasses", "cls", "assertZWaveError", "valueOrFactory", "options", "messageMatches", "errorCode", "context", "_assertZWaveError", "e", "handleError", "fail", "result", "exports", "CRC16_CCITT", "data", "startValue", "crc", "poly", "i", "bitMask", "xorFlag", "exports", "GraphNode", "value", "edges", "exports", "topologicalSort", "graph", "ret", "nodesWithoutDependencies", "node", "newNodes", "visited", "require_Types", "__commonJSMin", "exports", "require_math", "__commonJSMin", "exports", "clamp", "value", "min", "max", "roundTo", "digits", "exp", "math_1", "ZWaveError_1", "durationStringRegex", "Duration", "value", "unit", "v", "payload", "isMinutes", "text", "match", "hoursStr", "minutesStr", "secondsStr", "hours", "minutes", "seconds", "input", "ret", "exports", "objects_1", "typeguards_1", "Duration_1", "SPECIAL_TYPE_KEY", "serializeCacheValue", "value", "k", "v", "valueAsJSON", "exports", "deserializeCacheValue", "specialType", "_", "rest", "_a", "CacheBackedMap", "cache", "cacheKeys", "key", "value", "suffix", "suffixKey", "ret", "exports", "ZWaveError_1", "misc_1", "exports", "parseMaybeBoolean", "val", "preserveUnknown", "parseBoolean", "encodeBoolean", "encodeMaybeBoolean", "parseMaybeNumber", "parseNumber", "parseFloatWithScale", "payload", "allowEmpty", "precision", "scale", "size", "getPrecision", "num", "e", "p", "getMinIntegerSize", "value", "signed", "getIntegerLimits", "encodeFloatWithScale", "override", "_a", "ret", "parseBitMask", "mask", "startValue", "numBits", "index", "byteNum", "bitNum", "encodeBitMask", "values", "maxValue", "numBytes", "parsePartial", "bitMask", "shift", "width", "encodePartial", "fullValue", "partialValue", "safe_1", "Primitive_1", "isIntegerRegex", "getNumericEnumValues", "enumeration", "val", "exports", "enumValuesToMetadataStates", "values", "ret", "value", "define", "definition", "defineAny", "defineNumeric", "defineBoolean", "defineString", "defineBuffer", "defineDuration", "ConfigValueFormat", "_default", "_readonly", "_writeonly", "Any", "ReadOnly", "WriteOnly", "Boolean", "ReadOnlyBoolean", "WriteOnlyBoolean", "Number", "ReadOnlyNumber", "WriteOnlyNumber", "UInt8", "ReadOnlyUInt8", "WriteOnlyUInt8", "UInt16", "ReadOnlyUInt16", "WriteOnlyUInt16", "UInt24", "ReadOnlyUInt24", "WriteOnlyUInt24", "UInt32", "ReadOnlyUInt32", "WriteOnlyUInt32", "Int8", "ReadOnlyInt8", "WriteOnlyInt8", "Int16", "ReadOnlyInt16", "WriteOnlyInt16", "Int24", "ReadOnlyInt24", "WriteOnlyInt24", "Int32", "ReadOnlyInt32", "WriteOnlyInt32", "String", "ReadOnlyString", "WriteOnlyString", "Color", "ReadOnlyColor", "WriteOnlyColor", "Level", "ReadOnlyLevel", "WriteOnlyLevel", "_Duration", "ReadOnlyDuration", "WriteOnlyDuration", "_Buffer", "ReadOnlyBuffer", "WriteOnlyBuffer", "math_1", "Timeout", "value", "unit", "v", "payload", "isMinutes", "exports", "require_Types", "__commonJSMin", "exports", "__exportStar", "exports", "ZWaveFeature", "exports", "InclusionStrategy", "exports", "ExclusionStrategy", "ProvisioningEntryStatus", "InclusionState", "require_Types", "__commonJSMin", "exports", "safe_1", "exports", "Features_1", "__exportStar", "_Types_1", "safe_1", "exports", "safe_1", "DeviceClass", "configManager", "basic", "generic", "specific", "cc", "exports", "safe_1", "exports", "safe_1", "exports", "DeviceClass_1", "__exportStar", "safe_1", "AlarmSensorCommand", "exports", "AlarmSensorType", "AssociationCommand", "AssociationGroupInfoCommand", "AssociationGroupInfoProfile", "BarrierOperatorCommand", "BarrierState", "SubsystemType", "SubsystemState", "BasicCommand", "BatteryChargingStatus", "BatteryReplacementStatus", "BatteryCommand", "BinarySensorCommand", "BinarySensorType", "BinarySwitchCommand", "CentralSceneCommand", "CentralSceneKeys", "ClimateControlScheduleCommand", "ScheduleOverrideType", "ClockCommand", "Weekday", "ColorSwitchCommand", "ColorComponent", "ConfigurationCommand", "CRC16Command", "DeviceResetLocallyCommand", "DoorLockCommand", "DoorLockMode", "DoorLockOperationType", "EntryControlEventTypes", "DoorLockLoggingCommand", "DoorLockLoggingEventType", "DoorLockLoggingRecordStatus", "EntryControlCommand", "EntryControlDataTypes", "FirmwareUpdateMetaDataCommand", "FirmwareUpdateRequestStatus", "FirmwareUpdateStatus", "FirmwareUpdateActivationStatus", "FirmwareDownloadStatus", "HailCommand", "HumidityControlModeCommand", "HumidityControlMode", "HumidityControlOperatingStateCommand", "HumidityControlOperatingState", "HumidityControlSetpointCommand", "HumidityControlSetpointType", "IndicatorCommand", "IrrigationCommand", "IrrigationSensorPolarity", "ValveType", "LanguageCommand", "LockCommand", "ManufacturerSpecificCommand", "DeviceIdType", "MeterCommand", "RateType", "MultiChannelAssociationCommand", "MultiChannelCommand", "MultiCommandCommand", "MultilevelSensorCommand", "MultilevelSwitchCommand", "LevelChangeDirection", "SwitchType", "NodeNamingAndLocationCommand", "NotificationCommand", "PowerlevelCommand", "Powerlevel", "PowerlevelTestStatus", "ProtectionCommand", "LocalProtectionState", "RFProtectionState", "SceneActivationCommand", "SceneActuatorConfigurationCommand", "SceneControllerConfigurationCommand", "Security2Command", "SecurityCommand", "SoundSwitchCommand", "ToneId", "SupervisionCommand", "ThermostatFanModeCommand", "ThermostatFanMode", "ThermostatFanStateCommand", "ThermostatFanState", "ThermostatModeCommand", "ThermostatMode", "ThermostatOperatingStateCommand", "ThermostatOperatingState", "ThermostatSetbackCommand", "SetbackType", "ThermostatSetpointCommand", "ThermostatSetpointType", "TimeCommand", "TimeParametersCommand", "TransportServiceCommand", "UserCodeCommand", "UserIDStatus", "KeypadMode", "VersionCommand", "WakeUpCommand", "ZWavePlusCommand", "ZWavePlusRoleType", "ZWavePlusNodeType", "ZWaveProtocolCommand", "WakeUpTime", "FLiRS2WakeUpTime", "value", "wakeUpTime2FLiRS", "dataRate2ZWaveDataRate", "dataRate", "ZWaveDataRate2DataRate", "zdr", "parseWakeUpTime", "NetworkTransferStatus", "__exportStar", "exports", "safe_1", "safe_2", "strings_1", "exports", "healthCheckRatingToWord", "rating", "formatLifelineHealthCheckRound", "round", "numRounds", "result", "line", "formatLifelineHealthCheckSummary", "summary", "r", "i", "formatRouteHealthCheckRound", "sourceNodeId", "targetNodeId", "formatRouteHealthCheckSummary", "safe_1", "exports", "safe_2", "HealthCheck_1", "safe_1", "exports", "__exportStar", "exports", "import_react_dom", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "TabPanel", "props", "children", "value", "index", "other", "classes", "Box_default", "import_CircularProgress", "import_Paper", "import_Typography", "import_strings", "import_react", "import_Button", "import_Tooltip", "import_Add", "import_DeleteForever", "import_Restore", "import_Save", "import_strings", "import_MenuItem", "import_OutlinedInput", "import_Select", "React", "Dropdown", "props", "options", "selectedOption", "noOptionsMessage", "placeholder", "otherProps", "__rest", "showNoOptionsMessage", "value", "Select", "OutlinedInput", "MenuItem", "label", "import_react", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "TableCell", "styled_default", "TableCell_default", "theme", "AssociationRow", "props", "_", "useI18n", "sourceEndpoint", "setSourceEndpoint", "group", "setGroup", "nodeId", "setNodeId", "endpoint", "setEndpoint", "isValid", "setValid", "hasChanges", "setHasChanges", "isBusy", "setBusy", "groups", "_a", "groupExists", "g", "node", "n", "endpointIndizes", "groupOptions", "label", "nodesOptions", "sourceEndpointOptions", "newEndpointOptions", "ep", "targetEndpointOptions", "_b", "_c", "isNewAssociation", "saveAssociation", "resetAssociation", "e", "getErrorMessage", "deleteAssociation", "currentGroup", "endpointSupportsMultiChannel", "classes", "TableRow_default", "Dropdown", "value", "ButtonGroup_default", "Tooltip", "Button", "AddIcon", "SaveIcon", "RestoreIcon", "DeleteForeverIcon", "import_Tooltip", "import_DeviceUnknown", "import_PowerSettingsNew", "import_Wifi", "import_WifiOff", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "green_default", "lightBlue_default", "red_default", "DeviceStatusIcon", "props", "status", "_", "useI18n", "classes", "title", "Tooltip", "WifiIcon", "PowerSettingsNewIcon", "WifiOffIcon", "DeviceUnknownIcon", "import_Typography", "import_jsx_runtime", "Message", "props", "Typography", "NotRunning", "_", "useI18n", "NoDevices", "NodeNotReady", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "AssociationNodeTableHeadline", "props", "_", "useI18n", "value", "status", "nodeId", "nodeName", "classes", "Typography", "DeviceStatusIcon", "AssociationNodeTableContent", "endpoints", "sourceEndpoints", "groups", "supportsMultiChannel", "hasAssociations", "associations", "definitions", "index", "endpoint", "a", "group", "def", "assocs", "acc", "cur", "a1", "a2", "_a", "_b", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "assoc", "_c", "AssociationRow", "n", "sourceEndpoint", "targetNodeId", "AssociationNodeTable", "ready", "hasSomeAssociationGroups", "e", "Paper", "NodeNotReady", "import_jsx_runtime", "Associations", "props", "adapterRunning", "driverReady", "useAdapter", "api", "useAPI", "devices", "updateDevices", "saveAssociation", "nodeId", "prev", "current", "deleteAssociation", "association", "devicesAsArray", "nodes", "nonControllerDevices", "NotRunning", "device", "index", "AssociationNodeTable", "NoDevices", "CircularProgress", "import_CircularProgress", "import_react", "import_Button", "import_Add", "import_NetworkCheck", "import_Remove", "import_clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "DeviceActionButtons", "props", "_", "useI18n", "classes", "Button", "PlusIcon", "MinusIcon", "clsx", "NetworkCheckIcon", "import_Paper", "import_IconButton", "import_Tooltip", "import_Home", "import_KeyboardArrowDown", "import_KeyboardArrowUp", "import_react", "import_Button", "import_DeleteForever", "import_Language", "import_PowerSettingsNew", "import_RestorePage", "import_react", "import_Button", "import_Dialog", "import_DialogActions", "import_DialogContent", "import_DialogTitle", "import_Typography", "import_react", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "SetRFRegionDialog", "props", "_", "useI18n", "classes", "region", "setRegion", "options", "key", "value", "Dialog", "DialogTitle", "DialogContent", "Typography", "Dropdown", "event", "DialogActions", "Button", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "ControllerActions", "props", "_a", "isBusy", "setBusy", "namespace", "useGlobals", "api", "useAPI", "_", "useI18n", "showModal", "showNotification", "useDialogs", "showSetRFRegionDialog", "setShowSetRFRegionDialog", "rfRegionObject", "useIoBrokerObject", "rfRegion", "useIoBrokerState", "setRFRegion", "region", "softReset", "clearCache", "e", "getErrorMessage", "hardReset", "classes", "Button", "PowerSettingsNewIcon", "Typography_default", "RestorePageIcon", "LanguageIcon", "DeleteForeverIcon", "SetRFRegionDialog", "import_Tooltip", "import_Lock", "import_NoEncryption", "import_clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "grey_default", "green_default", "blue_default", "deepPurple_default", "amber_default", "SecurityClassIcon", "props", "classes", "Icon", "LockIcon", "NoEncryptionIcon", "Tooltip", "clsx", "secClassDefinitions", "DeviceSecurityIcon", "securityClasses", "className", "title", "import_clsx", "import_react", "import_Tooltip", "import_clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "BaseStatisticsTooltip", "props", "classes", "Tooltip", "NodeStatisticsTooltip", "_a", "_", "useI18n", "s", "clsx", "ControllerStatisticsTooltip", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "red_default", "green_default", "ArrowUp", "props", "classes", "clsx", "ArrowDown", "DeviceStatisticsIndicator", "prevStats", "setPrevStats", "txStatus", "setTxStatus", "rxStatus", "setRxStatus", "prev", "cur", "timeout", "ControllerStatisticsTooltip", "NodeStatisticsTooltip", "import_Tooltip", "import_Autorenew", "import_Done", "import_ErrorOutline", "import_Redo", "import_jsx_runtime", "useStyles", "makeStyles_default", "_theme", "blue_default", "red_default", "orange_default", "green_default", "HealStatusIcon", "props", "status", "_", "useI18n", "classes", "Tooltip", "DoneIcon", "RedoIcon", "ErrorOutlineIcon", "AutoRenewIcon", "import_Button", "import_Tooltip", "import_Typography", "import_Close", "import_DeleteOutline", "import_Memory", "import_Publish", "import_RestorePage", "import_SwapHoriz", "import_clsx", "import_react", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "NodeActions", "props", "loadedFile", "setLoadedFile", "firmwareUpdateActive", "setFirmwareUpdateActive", "firmwareUpdateStatus", "setFirmwareUpdateStatus", "message", "setMessage", "input", "api", "useAPI", "nodeId", "isBusy", "setBusy", "supportsFirmwareUpdate", "_", "useI18n", "showNotification", "showModal", "useDialogs", "isNodeFailed", "removeNode", "e", "replaceNode", "refreshInfo", "loadFirmware", "_a", "selectFirmware", "file", "data", "beginFirmwareUpdate", "abortFirmwareUpdate", "usePush", "payload", "progress", "success", "updateProgressNumeric", "classes", "Button", "RestorePageIcon", "Typography", "Tooltip", "DeleteOutlineIcon", "SwapHorizIcon", "MemoryIcon", "ref", "LinearProgress_default", "ButtonGroup_default", "PublishIcon", "CloseIcon", "clsx", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "DeviceTableRow", "props", "_a", "_b", "_c", "_d", "healStatus", "device", "value", "status", "nodeId", "supportsFirmwareUpdate", "secure", "securityClasses", "isControllerNode", "open", "setOpen", "classes", "_", "useI18n", "namespace", "useGlobals", "stringifiedStatistics", "useIoBrokerState", "computeDeviceId", "statistics", "setStatistics", "parsed", "e", "TableRow_default", "TableCell_default", "IconButton", "KeyboardArrowUpIcon", "KeyboardArrowDownIcon", "DeviceSecurityIcon", "Tooltip", "HomeIcon", "DeviceStatusIcon", "HealStatusIcon", "DeviceStatisticsIndicator", "Collapse_default", "ControllerActions", "NodeActions", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "DeviceTable", "props", "_", "useI18n", "classes", "devices", "healingNetwork", "networkHealProgress", "Paper", "TableContainer_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "device", "nodeId", "DeviceTableRow", "import_Button", "import_Checkbox", "import_CircularProgress", "import_Dialog", "import_DialogActions", "import_DialogContent", "import_DialogTitle", "import_FormControlLabel", "import_TextField", "import_Typography", "import_CheckCircle", "import_Warning", "React", "import_clsx", "import_Paper", "React", "import_utils", "SuccessOutlined_default", "React", "import_utils", "ReportProblemOutlined_default", "React", "import_utils", "ErrorOutline_default", "React", "import_utils", "InfoOutlined_default", "import_IconButton", "import_utils", "styles", "theme", "getColor", "darken", "lighten", "getBackgroundColor", "_extends", "defaultIconMapping", "SuccessOutlined_default", "ReportProblemOutlined_default", "ErrorOutline_default", "InfoOutlined_default", "_ref", "Close_default", "Alert", "props", "ref", "action", "children", "classes", "className", "_props$closeText", "closeText", "color", "icon", "_props$iconMapping", "iconMapping", "onClose", "_props$role", "role", "_props$severity", "severity", "_props$variant", "variant", "other", "_objectWithoutProperties", "Paper", "clsx", "IconButton", "Alert_default", "withStyles_default", "import_clsx", "import_react", "import_Typography", "import_PhotoCamera", "import_Videocam", "React", "import_clsx", "import_ButtonBase", "import_utils", "styles", "theme", "_extends", "alpha", "ToggleButton", "props", "ref", "children", "classes", "className", "_props$disabled", "disabled", "_props$disableFocusRi", "disableFocusRipple", "onChange", "onClick", "selected", "_props$size", "size", "value", "other", "_objectWithoutProperties", "handleChange", "event", "ButtonBase", "clsx", "ToggleButton_default", "withStyles_default", "React", "import_react_is", "import_clsx", "isValueSelected", "value", "candidate", "import_utils", "styles", "theme", "ToggleButtonGroup", "props", "ref", "children", "classes", "className", "_props$exclusive", "exclusive", "onChange", "_props$orientation", "orientation", "_props$size", "size", "value", "other", "_objectWithoutProperties", "handleChange", "event", "buttonValue", "index", "newValue", "handleExclusiveChange", "_extends", "clsx", "child", "isValueSelected", "ToggleButtonGroup_default", "withStyles_default", "import_clsx", "BitMatrix", "data", "width", "height", "x", "y", "v", "left", "top", "REGION_SIZE", "MIN_DYNAMIC_RANGE", "numBetween", "value", "min", "max", "Matrix", "buffer", "bufferSize", "binarize", "returnInverted", "greyscaleWeights", "canOverwriteImage", "pixelCount", "bufferOffset", "greyscaleBuffer", "greyscalePixels", "pixelPosition", "r", "g", "b", "horizontalRegionCount", "verticalRegionCount", "blackPointsCount", "blackPointsBuffer", "blackPoints", "verticalRegion", "hortizontalRegion", "pixelLumosity", "average", "averageNeighborBlackPoint", "binarized", "binarizedBuffer", "inverted", "invertedBuffer", "sum", "xRegion", "yRegion", "threshold", "lum", "BitStream", "bytes", "numBits", "result", "bitsLeft", "toRead", "bitsToNotRead", "mask", "Mode", "ModeByte", "decodeNumeric", "stream", "size", "text", "characterCountSize", "length", "num", "a", "c", "AlphanumericCharacterCodes", "decodeAlphanumeric", "decodeByte", "i", "_a", "decodeKanji", "k", "decode", "version", "mode", "numericResult", "alphanumericResult", "byteResult", "kanjiResult", "GenericGFPoly", "field", "coefficients", "coefficientsLength", "firstNonZero", "degree", "other", "smallerCoefficients", "largerCoefficients", "sumDiff", "lengthDiff", "addOrSubtractGF", "scalar", "product", "aCoefficients", "aLength", "bCoefficients", "bLength", "aCoeff", "j", "coefficient", "GenericGF", "primitive", "genBase", "runEuclideanAlgorithm", "R", "rLast", "tLast", "t", "rLastLast", "tLastLast", "q", "denominatorLeadingTerm", "dltInverse", "degreeDiff", "scale", "sigmaTildeAtZero", "inverse", "findErrorLocations", "errorLocator", "numErrors", "errorCount", "findErrorMagnitudes", "errorEvaluator", "errorLocations", "s", "xiInverse", "denominator", "twoS", "outputBytes", "poly", "syndromeCoefficients", "error", "evaluation", "syndrome", "sigmaOmega", "errorMagnitudes", "position", "VERSIONS", "numBitsDiffering", "z", "bitCount", "pushBit", "bit", "byte", "FORMAT_INFO_TABLE", "DATA_MASKS", "p", "buildFunctionPatternMask", "dimension", "matrix", "readCodewords", "formatInfo", "dataMask", "functionPatternMask", "codewords", "currentByte", "bitsRead", "readingUp", "columnIndex", "columnOffset", "readVersion", "provisionalVersion", "topRightVersionBits", "bottomLeftVersionBits", "bestDifference", "bestVersion", "difference", "readFormatInformation", "topLeftFormatInfoBits", "topRightBottomRightFormatInfoBits", "bestFormatInfo", "bits", "getDataBlocks", "ecLevel", "ecInfo", "dataBlocks", "totalCodewords", "block", "shortBlockSize", "dataBlock", "smallBlockCount", "largeBlockCount", "decodeMatrix", "totalBytes", "resultBytes", "resultIndex", "correctedBytes", "rsDecode", "decodeData", "squareToQuadrilateral", "p1", "p2", "p3", "p4", "dx3", "dy3", "dx1", "dx2", "dy1", "dy2", "a13", "a23", "quadrilateralToSquare", "sToQ", "times", "extract", "image", "location", "qToS", "transform", "mappingFunction", "xValue", "yValue", "sourcePixel", "MAX_FINDERPATTERNS_TO_SEARCH", "MIN_QUAD_RATIO", "MAX_QUAD_RATIO", "distance", "values", "reorderFinderPatterns", "pattern1", "pattern2", "pattern3", "oneTwoDistance", "twoThreeDistance", "oneThreeDistance", "bottomLeft", "topLeft", "topRight", "computeDimension", "moduleSize", "countBlackWhiteRun", "topDimension", "sideDimension", "countBlackWhiteRunTowardsPoint", "origin", "end", "switchPoints", "steep", "fromX", "fromY", "toX", "toY", "dx", "dy", "xStep", "yStep", "currentPixel", "realX", "realY", "distances", "rise", "run", "towardsEnd", "awayFromEnd", "middleValue", "scoreBlackWhiteRun", "sequence", "ratios", "averageSize", "ratio", "scorePattern", "point", "horizontalRun", "verticalRun", "topLeftPoint", "topLeftBottomRightRun", "bottomLeftPoint", "bottomLeftTopRightRun", "horzError", "vertError", "diagDownError", "diagUpError", "ratioError", "avgSize", "sizeError", "recenterLocation", "leftX", "rightX", "topY", "bottomY", "locate", "finderPatternQuads", "activeFinderPatternQuads", "alignmentPatternQuads", "activeAlignmentPatternQuads", "lastBit", "scans", "averageFinderPatternBlocksize", "validFinderPattern", "averageAlignmentPatternBlocksize", "validAlignmentPattern", "endX", "startX", "line", "matchingQuads", "scoredFinderPatternPositions", "quad", "lengths", "score", "finderPatternGroups", "otherPoints", "otherPoint", "bestFinderPatternGroup", "alignment", "findAlignmentPattern", "midTopRight", "midTopLeft", "midBottomLeft", "centeredAlignment", "e", "bottomRightFinderPattern", "modulesBetweenFinderPatterns", "correctionToTopLeft", "expectedAlignmentPattern", "alignmentPatterns", "scan", "locations", "extracted", "decoded", "defaultOptions", "mergeObject", "target", "src", "opt", "jsQR", "providedOptions", "options", "tryInvertedFirst", "shouldInvert", "import_react", "import_react", "useAnimationFrame", "cb", "deps", "frame", "last", "init", "animate", "now", "totalMs", "deltaMs", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "drawCorner", "ctx", "a", "b", "c", "size", "color", "_a", "_c", "QRScannerVideo", "props", "detectionArea", "classes", "_", "useI18n", "active", "setActive", "failed", "setFailed", "video", "previewCanvasRef", "previewContextRef", "detectionCanvasRef", "detectionContextRef", "qr", "setQr", "useAnimationFrame", "v", "cP", "ctxP", "cD", "ctxD", "scale", "sxP", "syP", "previewCorners", "i", "sxD", "syD", "imageData", "code", "jsQR", "corners", "p", "stream", "e", "track", "Typography", "QRScannerImage", "fileInputRef", "imageRef", "handleLabelClick", "fileURL", "setFileURL", "handleFileChange", "file", "dropState", "setDropState", "handleDragOver", "item", "handleDragLeave", "handleDrop", "reader", "handleImageLoad", "handleImageError", "clsx", "QRScanner", "mode", "setMode", "handleChange", "event", "newMode", "ToggleButtonGroup_default", "ToggleButton_default", "VideocamIcon", "PhotoCameraIcon", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "green_default", "yellow_default", "SelectInclusionStrategyStep", "props", "_", "useI18n", "classes", "useStyles", "forceSecurity", "setForceSecurity", "strategyCaptionDefault", "namespace", "useGlobals", "instanceObj", "useIoBrokerObject", "settings", "keysMissing", "DialogContent", "Typography", "Alert_default", "Button", "FormControlLabel", "Checkbox", "event", "checked", "DialogActions", "SelectReplacementStrategyStep", "ScanQRCodeStep", "busy", "setBusy", "handleScan", "code", "QRScanner", "WaitMessageStep", "CircularProgress", "GrantSecurityClassesStep", "request", "requestS2AccessControl", "requestS2Authenticated", "requestS2Unauthenticated", "requestS0Legacy", "requestCSA", "grantS2AccessControl", "setGrantS2AccessControl", "grantS2Authenticated", "setGrantS2Authenticated", "grantS2Unauthenticated", "setGrantS2Unauthenticated", "grantS0Legacy", "setGrantS0Legacy", "grantCSA", "setGrantCSA", "handleOk", "securityClasses", "grant", "ValidateDSKStep", "pin", "setPIN", "error", "setError", "handleChange", "handleBlur", "TextField", "e", "ResultStep", "_a", "Icon", "WarningIcon", "CheckCircleIcon", "caption", "message1", "message2", "clsx", "ExclusionResultStep", "ResultMessageStep", "InclusionDialog", "Content", "title", "Dialog", "DialogTitle", "import_jsx_runtime", "Devices", "props", "devices", "adapterRunning", "driverReady", "useAdapter", "namespace", "useGlobals", "_", "useI18n", "api", "useAPI", "showNotification", "useDialogs", "isBusy", "setBusy", "inclusion", "useIoBrokerState", "exclusion", "setExclusion", "healingNetwork", "networkHealProgress", "setNetworkHealProgress", "inclusionStatus", "setInclusionStatus", "showInclusionExclusionModal", "setShowInclusionExclusionModal", "onPush", "payload", "_a", "usePush", "statisticsSubscribed", "setStatisticsSubscribed", "healNetwork", "e", "getErrorMessage", "devicesAsArray", "nodeId", "device", "replaceFailedNode", "closeDialog", "inclusionExclusionDialogProps", "strategy", "forceSecurity", "code", "result", "pin", "grant", "isIncluding", "isExcluding", "NotRunning", "DeviceActionButtons", "DeviceTable", "InclusionDialog", "CircularProgress", "import_react", "ascending", "a", "b", "InternMap", "entries", "key", "keyof", "value", "intern_get", "intern_set", "intern_delete", "intern_get", "_intern", "_key", "value", "key", "intern_set", "intern_delete", "keyof", "range", "start", "stop", "step", "n", "i", "abs", "cos", "sin", "pi", "halfPi", "tau", "max", "epsilon", "range", "i", "j", "_", "k", "compareValue", "compare", "a", "b", "chord_default", "chord", "chord", "directed", "transpose", "padAngle", "sortGroups", "sortSubgroups", "sortChords", "matrix", "n", "groupSums", "groupIndex", "range", "chords", "groups", "k", "dx", "_", "i", "x", "j", "max", "tau", "a", "b", "x0", "subgroupIndex", "source", "compareValue", "pi", "tau", "epsilon", "tauEpsilon", "Path", "path", "x", "y", "x1", "y1", "x2", "y2", "r", "x0", "y0", "x21", "y21", "x01", "y01", "l01_2", "x20", "y20", "l21_2", "l20_2", "l21", "l01", "l", "t01", "t21", "a0", "a1", "ccw", "dx", "dy", "cw", "da", "w", "h", "path_default", "slice", "constant_default", "x", "defaultSource", "d", "defaultTarget", "defaultRadius", "defaultStartAngle", "defaultEndAngle", "defaultPadAngle", "ribbon", "headRadius", "source", "defaultSource", "target", "defaultTarget", "sourceRadius", "defaultRadius", "targetRadius", "startAngle", "defaultStartAngle", "endAngle", "defaultEndAngle", "padAngle", "defaultPadAngle", "context", "buffer", "s", "t", "ap", "argv", "slice", "sr", "sa0", "halfPi", "sa1", "tr", "ta0", "ta1", "path_default", "epsilon", "abs", "cos", "sin", "hr", "tr2", "ta2", "_", "constant_default", "ribbon_default", "initRange", "domain", "range", "implicit", "ordinal", "index", "InternMap", "domain", "range", "unknown", "scale", "d", "i", "_", "value", "initRange", "define_default", "constructor", "factory", "prototype", "extend", "parent", "definition", "key", "Color", "darker", "brighter", "reI", "reN", "reP", "reHex", "reRgbInteger", "reRgbPercent", "reRgbaInteger", "reRgbaPercent", "reHslPercent", "reHslaPercent", "named", "define_default", "color", "channels", "color_formatHex", "color_formatHex8", "color_formatHsl", "color_formatRgb", "hslConvert", "format", "m", "l", "rgbn", "Rgb", "rgba", "hsla", "n", "r", "g", "b", "a", "rgbConvert", "o", "rgb", "opacity", "extend", "k", "clampi", "clampa", "rgb_formatHex", "rgb_formatHex8", "rgb_formatRgb", "hex", "value", "h", "s", "Hsl", "min", "max", "hsl", "m2", "m1", "hsl2rgb", "clamph", "clampt", "basis", "t1", "v0", "v1", "v2", "v3", "t2", "t3", "basis_default", "values", "n", "t", "i", "basisClosed_default", "values", "n", "t", "i", "v0", "v1", "v2", "v3", "basis", "constant_default", "x", "linear", "a", "d", "t", "exponential", "b", "y", "gamma", "y", "nogamma", "a", "b", "exponential", "constant_default", "d", "linear", "rgb_default", "rgbGamma", "y", "color", "gamma", "rgb", "start", "end", "r", "g", "b", "opacity", "nogamma", "t", "rgbSpline", "spline", "colors", "n", "i", "rgbBasis", "basis_default", "rgbBasisClosed", "basisClosed_default", "colors_default", "specifier", "n", "colors", "i", "ramp_default", "scheme", "rgbBasis", "scheme", "colors_default", "Spectral_default", "ramp_default", "xhtml", "namespaces_default", "namespace_default", "name", "prefix", "i", "namespaces_default", "creatorInherit", "name", "document", "uri", "xhtml", "creatorFixed", "fullname", "creator_default", "namespace_default", "none", "selector_default", "selector", "select_default", "select", "selector_default", "groups", "m", "subgroups", "j", "group", "n", "subgroup", "node", "subnode", "i", "Selection", "array", "x", "empty", "selectorAll_default", "selector", "arrayAll", "select", "array", "selectAll_default", "selectorAll_default", "groups", "m", "subgroups", "parents", "j", "group", "n", "node", "i", "Selection", "matcher_default", "selector", "childMatcher", "node", "find", "childFind", "match", "childFirst", "selectChild_default", "childMatcher", "filter", "children", "childrenFilter", "match", "selectChildren_default", "childMatcher", "filter_default", "match", "matcher_default", "groups", "m", "subgroups", "j", "group", "n", "subgroup", "node", "i", "Selection", "sparse_default", "update", "enter_default", "Selection", "sparse_default", "EnterNode", "parent", "datum", "child", "next", "selector", "constant_default", "x", "bindIndex", "parent", "group", "enter", "update", "exit", "data", "i", "node", "groupLength", "dataLength", "EnterNode", "bindKey", "key", "nodeByKeyValue", "keyValues", "keyValue", "datum", "data_default", "value", "bind", "parents", "groups", "constant_default", "m", "j", "arraylike", "enterGroup", "updateGroup", "exitGroup", "i0", "i1", "previous", "next", "Selection", "exit_default", "Selection", "sparse_default", "join_default", "onenter", "onupdate", "onexit", "enter", "update", "exit", "merge_default", "context", "selection", "groups0", "groups1", "m0", "m1", "m", "merges", "j", "group0", "group1", "n", "merge", "node", "i", "Selection", "order_default", "groups", "j", "m", "group", "i", "next", "node", "sort_default", "compare", "ascending", "compareNode", "a", "b", "groups", "m", "sortgroups", "j", "group", "n", "sortgroup", "node", "i", "Selection", "call_default", "callback", "nodes_default", "node_default", "groups", "j", "m", "group", "i", "n", "node", "size_default", "size", "node", "empty_default", "each_default", "callback", "groups", "j", "m", "group", "n", "node", "attrRemove", "name", "attrRemoveNS", "fullname", "attrConstant", "value", "attrConstantNS", "attrFunction", "v", "attrFunctionNS", "attr_default", "namespace_default", "node", "window_default", "node", "styleRemove", "name", "styleConstant", "value", "priority", "styleFunction", "v", "style_default", "styleValue", "node", "window_default", "propertyRemove", "name", "propertyConstant", "value", "propertyFunction", "v", "property_default", "classArray", "string", "classList", "node", "ClassList", "name", "i", "classedAdd", "names", "list", "n", "classedRemove", "classedTrue", "classedFalse", "classedFunction", "value", "classed_default", "textRemove", "textConstant", "value", "textFunction", "v", "text_default", "htmlRemove", "htmlConstant", "value", "htmlFunction", "v", "html_default", "raise", "raise_default", "lower", "lower_default", "append_default", "name", "create", "creator_default", "constantNull", "insert_default", "name", "before", "create", "creator_default", "select", "selector_default", "remove", "parent", "remove_default", "selection_cloneShallow", "clone", "parent", "selection_cloneDeep", "clone_default", "deep", "datum_default", "value", "contextListener", "listener", "event", "parseTypenames", "typenames", "name", "i", "onRemove", "typename", "on", "j", "m", "o", "onAdd", "value", "options", "on_default", "n", "t", "dispatchEvent", "node", "type", "params", "window", "window_default", "event", "dispatchConstant", "dispatchFunction", "dispatch_default", "iterator_default", "groups", "j", "m", "group", "i", "n", "node", "root", "Selection", "groups", "parents", "selection", "selection_selection", "select_default", "selectAll_default", "selectChild_default", "selectChildren_default", "filter_default", "data_default", "enter_default", "exit_default", "join_default", "merge_default", "order_default", "sort_default", "call_default", "nodes_default", "node_default", "size_default", "empty_default", "each_default", "attr_default", "style_default", "property_default", "classed_default", "text_default", "html_default", "raise_default", "lower_default", "append_default", "insert_default", "remove_default", "clone_default", "datum_default", "on_default", "dispatch_default", "iterator_default", "select_default", "selector", "Selection", "root", "constant_default", "x", "abs", "atan2", "cos", "max", "min", "sin", "sqrt", "epsilon", "pi", "halfPi", "tau", "acos", "x", "asin", "arcInnerRadius", "d", "arcOuterRadius", "arcStartAngle", "arcEndAngle", "arcPadAngle", "intersect", "x0", "y0", "x1", "y1", "x2", "y2", "x3", "y3", "x10", "y10", "x32", "y32", "t", "epsilon", "cornerTangents", "r1", "rc", "cw", "x01", "y01", "lo", "sqrt", "ox", "oy", "x11", "y11", "x00", "y00", "dx", "dy", "d2", "r", "D", "max", "cx0", "cy0", "cx1", "cy1", "dx0", "dy0", "dx1", "dy1", "arc_default", "innerRadius", "outerRadius", "cornerRadius", "constant_default", "padRadius", "startAngle", "endAngle", "padAngle", "context", "arc", "buffer", "r0", "a0", "halfPi", "a1", "da", "abs", "path_default", "tau", "cos", "sin", "a01", "a11", "a00", "a10", "da0", "da1", "ap", "rp", "min", "rc0", "rc1", "t0", "t1", "p0", "asin", "p1", "oc", "pi", "ax", "ay", "bx", "by", "kc", "acos", "lc", "atan2", "a", "_", "drawNetworkMap", "selector", "nodes", "matrix", "addLink", "from", "to", "nodeIndizes", "i", "node", "neighborId", "sum", "arr", "acc", "cur", "maxSum", "disconnected", "row", "val", "node1Factor", "row0Sum", "matrixSum", "width", "height", "outerRadius", "innerRadius", "gap", "remainder", "firstNodeRotation", "svg", "select_default", "chord", "chord_default", "ascending", "arcs", "arc_default", "ribbonGenerator", "ribbon_default", "colorScale", "ordinal", "range", "scheme", "getGradID", "d", "grads", "_i", "_d", "c", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "NetworkMap", "adapterRunning", "driverReady", "useAdapter", "api", "useAPI", "classes", "nodes", "drawNetworkMap", "e", "NotRunning", "import_react", "import_react_error_boundary", "import_react", "DevicesContext", "deviceIdRegex", "deviceReadyRegex", "deviceStatusRegex", "useDevices", "connection", "useConnection", "devices", "setDevices", "namespace", "useGlobals", "api", "useAPI", "onObjectChange", "id", "obj", "nodeId", "device", "newDevices", "updateAssociations", "updatedDevice", "onStateChange", "state", "updateDevices", "import_CircularProgress", "import_Paper", "import_Button", "import_Checkbox", "import_TextField", "import_Tooltip", "import_Typography", "import_Add", "import_CheckBox", "import_CheckBoxOutlineBlank", "import_DeleteForever", "import_Restore", "import_Save", "import_strings", "import_clsx", "import_react", "arrayEquals", "arr1", "arr2", "item", "index", "import_jsx_runtime", "icon", "CheckBoxOutlineBlankIcon", "checkedIcon", "CheckBoxIcon", "useStyles", "makeStyles_default", "theme", "GroupRow", "props", "_a", "_b", "_", "useI18n", "name", "setName", "nodeIds", "setNodeIds", "isValid", "setValid", "hasChanges", "setHasChanges", "isBusy", "setBusy", "arrayEquals", "nodesOptions", "device", "selectedNodes", "o", "isNewGroup", "saveGroup", "resetGroup", "e", "getErrorMessage", "deleteGroup", "classes", "cellClassName", "clsx", "TableRow_default", "TableCell_default", "Typography", "TextField", "Autocomplete_default", "option", "value", "v", "selected", "React", "Checkbox", "params", "ButtonGroup_default", "Tooltip", "Button", "AddIcon", "SaveIcon", "RestoreIcon", "DeleteForeverIcon", "import_typeguards", "import_react", "groupIdRegex", "isGroupObject", "obj", "n", "sanitizeName", "name", "nameFromGroupObject", "useGroups", "connection", "useConnection", "groups", "setGroups", "namespace", "useGlobals", "onObjectChange", "id", "newGroups", "loadGroups", "groupObjects", "saveGroup", "nodeIds", "objectId", "deleteGroup", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "Groups", "props", "classes", "_", "useI18n", "groups", "saveGroup", "deleteGroup", "useGroups", "CircularProgress", "selectableNodes", "device", "isControllerNode", "secure", "Alert_default", "Paper", "TableContainer_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "id", "group", "GroupRow", "nameFromGroupObject", "import_Button", "import_CircularProgress", "import_Dialog", "import_DialogActions", "import_DialogContent", "import_DialogTitle", "import_Paper", "import_Typography", "import_AddAPhoto", "import_react", "import_safe", "import_Button", "import_Checkbox", "import_TextField", "import_Tooltip", "import_Typography", "import_Add", "import_DeleteForever", "import_Restore", "import_Save", "import_safe", "import_clsx", "import_react", "import_safe", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "SmartStartTableRow", "props", "_a", "_b", "_c", "classes", "_", "useI18n", "status", "setStatus", "dsk", "setDsk", "securityClasses", "setSecurityClasses", "isValid", "setValid", "hasChanges", "setHasChanges", "isBusy", "setBusy", "arrayEquals", "handleDSKChange", "e", "result", "chunk", "selectSecurity", "event", "secClasses", "isNewEntry", "isIncluded", "resetEntry", "unprovision", "getErrorMessage", "provision", "additionalData", "TableRow_default", "TableCell_default", "Typography", "clsx", "Checkbox", "checked", "TextField", "ToggleButtonGroup_default", "ToggleButton_default", "ButtonGroup_default", "Tooltip", "Button", "AddIcon", "SaveIcon", "RestoreIcon", "DeleteForeverIcon", "import_jsx_runtime", "useStyles", "makeStyles_default", "theme", "SmartStart", "props", "classes", "_", "useI18n", "api", "useAPI", "showModal", "useDialogs", "adapterRunning", "driverReady", "useAdapter", "supportsSmartStart", "setSupportsSmartStart", "entries", "setEntries", "updateEntries", "a", "b", "nodeIdA", "nodeIdB", "result", "provisionNode", "status", "dsk", "securityClasses", "additionalData", "unprovisionNode", "reprovisionNode", "oldDsk", "newDsk", "scannerNotification", "setScannerNotification", "lastScanned", "setLastScanned", "showQRCodeScanner", "setShowQRCodeScanner", "closeQRCodeScanner", "handleQRScan", "code", "rest", "e", "NotRunning", "CircularProgress", "Typography", "Alert_default", "Button", "AddAPhotoIcon", "Dialog", "DialogTitle", "DialogContent", "QRScanner", "DialogActions", "Paper", "TableContainer_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "entry", "nodeId", "SmartStartTableRow", "secClasses", "additional", "Message", "import_jsx_runtime", "ErrorFallback", "error", "resetErrorBoundary", "translations", "Root", "value", "setValue", "_", "useI18n", "handleTabChange", "event", "newValue", "devices", "updateDevices", "useDevices", "AppBar_default", "Tabs_default", "Tab_default", "TabPanel", "Devices", "SmartStart", "Groups", "Associations", "ZWaveLogs", "NetworkMap", "ReactDOM", "IoBrokerApp"] } diff --git a/io-package.json b/io-package.json index 3a06abdf..59a370b3 100644 --- a/io-package.json +++ b/io-package.json @@ -1,271 +1,271 @@ { - "common": { - "name": "zwave2", - "version": "3.0.1", - "news": { - "3.0.1": { - "en": "Fixed crashes related to missing or incorrectly loaded dependencies", - "de": "Abstürze im Zusammenhang mit fehlenden oder fehlerhaft geladenen Abhängigkeiten behoben", - "ru": "Исправлены сбои, связанные с отсутствующими или неправильно загруженными зависимостями", - "pt": "Falhas fixas relacionadas a falta ou dependências incorretamente carregadas", - "nl": "Vertaling:", - "fr": "Accidents fixes liés à des dépendances manquantes ou mal chargées", - "it": "Crash fissi relativi alle dipendenze mancanti o non caricate", - "es": "Fallos fijos relacionados con dependencias desaparecidas o cargadas incorrectamente", - "pl": "Zniszczone katastrofy związane z brakami lub nieprawidłowymi zależnościami", - "zh-cn": "与失踪或装有不当的依赖性有关的固定事故" - }, - "3.0.0": { - "en": "Updated `zwave-js` to `10.0.0`. This includes a ton of changes, including:\n* Dropped support for Node.js 12\n* Several improvements to secure communication, especially with Security S2\n* Changed how nodes are sent to sleep, preventing the queue from stalling when the node is already sleeping\n* Changed how `Supervision CC Reports` are sent out, preventing the queue from stalling\n* Obfuscated more sensitive data in logfiles\n* Fixed a bug where commands that should be discarded would still store their values\n* Improved the handling of incoming commands which are received out of order\n* Made it possible to disable SmartStart provisioning entries. When excluding a node, its provisioning entry will now be disabled instead of removed.\n* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", - "de": "`zwave-js` wurde auf `10.0.0` aktualisiert. Dies beinhaltet eine ganze Reihe von Änderungen, darunter:\n* Support für Node.js 12 wurde eingestellt.\n* Zahlreiche Verbesserungen bei der sicheren Kommunikation, insbesondere für Security S2\n* Geräte werden jetzt anders schlafen geschickt, um zu verhindern, dass die Warteschlange blockiert wird, wenn sie bereits schlafen.\n* `Supervision CC Reports` werden nun anders versendet, um zu verhindern, dass die Warteschlange blockiert wird.\n* Mehr sensible Daten in den Logfiles werden unkenntlich gemacht.\n* Ein Fehler wurde behoben, bei dem eingehende Kommandos, die eigentlich verworfen werden sollten, immer noch ihre Werte speichern konnten.\n* Die Verarbeitung von eingehenden Kommandos, die nicht in der richtigen Reihenfolge empfangen werden, wurde verbessert.\n* Es ist nun möglich, SmartStart-Provisioning-Einträge zu deaktivieren. Wenn ein Gerät aus dem Netzwerk entfernt wird, wird sein Provisioning-Eintrag nun deaktiviert anstatt entfernt zu werden.\n* Zahlreiche neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) für Details", - "ru": "Обновлен `zwave-js` до `10.0.0`. Это включает в себя массу изменений, в том числе:\n* Прекращена поддержка Node.js 12.\n* Несколько улучшений для безопасной связи, особенно с Security S2\n* Изменен способ перевода узлов в спящий режим, что предотвращает зависание очереди, когда узел уже находится в спящем режиме.\n* Изменен способ отправки «Отчетов о надзоре», что предотвращает зависание очереди.\n* Запутаны более конфиденциальные данные в лог-файлах\n* Исправлена ​​ошибка, из-за которой команды, которые следует отбросить, сохраняли свои значения.\n* Улучшена обработка входящих команд, полученных не по порядку\n* Сделано возможным отключить записи обеспечения SmartStart. При исключении узла его запись подготовки теперь будет отключена, а не удалена.\n* Новые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", - "pt": "Atualizado `zwave-js` para `10.0.0`. Isso inclui uma tonelada de mudanças, incluindo:\n* Suporte descartado para Node.js 12\n* Várias melhorias na comunicação segura, especialmente com o Security S2\n* Alterado como os nós são enviados para dormir, evitando que a fila pare quando o nó já estiver dormindo\n* Alterado como os `Relatórios CC de Supervisão` são enviados, evitando que a fila fique parada\n* Dados mais sensíveis ofuscados em arquivos de log\n* Corrigido um bug onde comandos que deveriam ser descartados ainda armazenavam seus valores\n* Melhorou o tratamento de comandos recebidos que são recebidos fora de ordem\n* Tornou possível desabilitar as entradas de provisionamento SmartStart. Ao excluir um nó, sua entrada de provisionamento agora será desabilitada em vez de removida.\n* Arquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", - "nl": "`zwave-js` geüpdatet naar `10.0.0`. Dit omvat een heleboel veranderingen, waaronder:\n* Geen ondersteuning meer voor Node.js 12\n* Verschillende verbeteringen aan beveiligde communicatie, vooral met Security S2\n* Gewijzigd hoe knooppunten naar de slaapstand worden gestuurd, waardoor wordt voorkomen dat de wachtrij vastloopt wanneer het knooppunt al slaapt\n* Gewijzigd hoe `Supervisie CC-rapporten` worden verzonden, waardoor de wachtrij niet vastloopt\n* Verduisterde meer gevoelige gegevens in logbestanden\n* Een bug opgelost waarbij commando's die moesten worden weggegooid nog steeds hun waarden opslaan\n* Verbeterde verwerking van inkomende commando's die niet in orde zijn\n* Mogelijk gemaakt om SmartStart-provisioning-items uit te schakelen. Bij het uitsluiten van een knooppunt, wordt het inrichtingsitem nu uitgeschakeld in plaats van verwijderd.\n* Nieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", - "fr": "Mise à jour de `zwave-js` vers `10.0.0`. Cela inclut une tonne de changements, notamment :\n* Abandon de la prise en charge de Node.js 12\n* Plusieurs améliorations pour sécuriser la communication, notamment avec Security S2\n* Modification de la façon dont les nœuds sont mis en veille, empêchant la file d'attente de se bloquer lorsque le nœud est déjà en veille\n* Modification de la manière dont les «rapports CC de supervision» sont envoyés, empêchant la file d'attente de se bloquer\n* Obfusqué des données plus sensibles dans les fichiers journaux\n* Correction d'un bug où les commandes qui devraient être ignorées stockaient toujours leurs valeurs\n* Amélioration de la gestion des commandes entrantes qui sont reçues dans le désordre\n* Rendu possible de désactiver les entrées de provisionnement SmartStart. Lors de l'exclusion d'un nœud, son entrée de provisionnement sera désormais désactivée au lieu d'être supprimée.\n* Fichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", - "it": "Aggiornato `zwave-js` a `10.0.0`. Ciò include un sacco di modifiche, tra cui:\n* Supporto interrotto per Node.js 12\n* Diversi miglioramenti per proteggere la comunicazione, in particolare con Security S2\n* Modificato il modo in cui i nodi vengono inviati in modalità di sospensione, impedendo lo stallo della coda quando il nodo è già in modalità di sospensione\n* Modificato il modo in cui vengono inviati i \"Rapporti CC di supervisione\", impedendo lo stallo della coda\n* Dati più sensibili offuscati nei file di registro\n* Risolto un bug per cui i comandi che dovevano essere scartati conservavano comunque i loro valori\n* Migliorata la gestione dei comandi in arrivo ricevuti fuori servizio\n* Reso possibile disabilitare le voci di provisioning SmartStart. Quando si esclude un nodo, la sua voce di provisioning verrà ora disabilitata anziché rimossa.\n* File di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", - "es": "Se actualizó `zwave-js` a `10.0.0`. Esto incluye una tonelada de cambios, que incluyen:\n* Soporte eliminado para Node.js 12\n* Varias mejoras en la comunicación segura, especialmente con Security S2\n* Cambió la forma en que los nodos se envían a dormir, evitando que la cola se detenga cuando el nodo ya está durmiendo\n* Se modificó la forma en que se envían los \"Informes CC de supervisión\", lo que evita que la cola se detenga\n* Datos más confidenciales ofuscados en archivos de registro\n* Se corrigió un error por el cual los comandos que deberían descartarse aún almacenarían sus valores\n* Se mejoró el manejo de los comandos entrantes que se reciben fuera de servicio\n* Hizo posible deshabilitar las entradas de aprovisionamiento de SmartStart. Al excluir un nodo, su entrada de aprovisionamiento ahora se deshabilitará en lugar de eliminarse.\n* Archivos de configuración nuevos y actualizados, consulte [Versiones de Z-Wave JS] (https://github.com/zwave-js/node-zwave-js/releases) para obtener más detalles.", - "pl": "Zaktualizowano `zwave-js` do `10.0.0`. Obejmuje to mnóstwo zmian, w tym:\n* Zrezygnowano z obsługi Node.js 12\n* Kilka ulepszeń w celu zabezpieczenia komunikacji, zwłaszcza z Security S2\n* Zmieniono sposób, w jaki węzły są wysyłane w stan uśpienia, zapobiegając zawieszaniu się kolejki, gdy węzeł już śpi\n* Zmieniono sposób wysyłania `Raportów nadzoru CC`, zapobiegając zawieszaniu się kolejki\n* Zamaskowane bardziej wrażliwe dane w plikach dziennika\n* Naprawiono błąd, w którym polecenia, które powinny zostać odrzucone, nadal przechowują swoje wartości\n* Poprawiono obsługę przychodzących poleceń, które są odbierane poza kolejnością\n* Umożliwiono wyłączenie wpisów aprowizacji SmartStart. Po wykluczeniu węzła jego wpis aprowizacji zostanie teraz wyłączony, a nie usunięty.\n* Nowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) po szczegóły", - "zh-cn": "将“zwave-js”更新为“10.0.0”。这包括大量更改,包括:\n* 放弃对 Node.js 12 的支持\n* 对安全通信的多项改进,尤其是 Security S2\n* 更改了节点被发送到睡眠的方式,防止队列在节点已经处于睡眠状态时停止\n* 更改了“监督抄送报告”的发送方式,防止队列停滞\n* 在日志文件中混淆更敏感的数据\n* 修复了应该丢弃的命令仍会存储其值的错误\n* 改进了对乱序接收的传入命令的处理\n* 可以禁用 SmartStart 配置条目。排除节点时,其配置条目现在将被禁用而不是删除。\n* 新的和更新的配置文件,详见[Z-Wave JS 版本](https://github.com/zwave-js/node-zwave-js/releases)" - }, - "2.6.0": { - "en": "Updated `zwave-js` to `9.2.2`. Notable changes include:\n* The `doorStatus/latchStatus/boltStatus` states are no longer created if unsupported by the door lock\n* Fixed an issue where some 500-series controllers would incorrectly be detected as not supporting Smart Start\n* Fixed an issue where some incoming reports would not be processed while an API command was ongoing\n* Fixed an issue where changing the color of some devices would use a random duration\n* Value changes now also get verified when the device sends an intermediate report\n* Retry the initial connection to sticks hosted via TCP\n* When the Z-Wave stick is disconnected while the adapter is running, the adapter will automatically try to reconnect again\n* Improvements to healing and Smart Start\n* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", - "de": "`zwave-js` auf Version `9.2.2` aktualisiert. Nennenswerte Änderungen:\n* Die Zustände `doorStatus/latchStatus/boltStatus` werden nicht mehr erzeugt, wenn sie nicht vom Schloss unterstützt werden.\n* Es wurde ein Problem behoben, bei dem einige Controller der 500er Serie fälschlicherweise als nicht SmartStart-fähig erkannt wurden.\n* Es wurde ein Problem behoben, bei dem einige eingehende Berichte nicht verarbeitet wurden, während ein API-Befehl ausgeführt wurde.\n* Ein Problem wurde behoben, bei dem das Ändern der Farbe bei einigen Geräten eine zufällige Dauer verwendete.\n* Wertänderungen werden nun auch verifiziert, wenn das Gerät zwischenzeitlich ein Update sendet.\n* Die initiale Verbindung zu Sticks, die über TCP gehostet werden, wird nun wiederholt\n* Wenn der Z-Wave-Stick entfernt wird, während der Adapter läuft, versucht der Adapter automatisch, die Verbindung wiederherzustellen\n* Verbesserungen bei Netzwerk-Heilung und Smart Start\n* Neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) für Details", - "ru": "Обновлен `zwave-js` до `9.2.2`. Заметные изменения включают:\n* Состояния `doorStatus/latchStatus/boltStatus` больше не создаются, если они не поддерживаются дверным замком.\n* Исправлена ошибка, из-за которой некоторые контроллеры серии 500 ошибочно определялись как не поддерживающие Smart Start.\n* Исправлена ошибка, из-за которой некоторые входящие отчеты не обрабатывались, пока выполнялась команда API.\n* Исправлена ошибка, из-за которой при изменении цвета некоторых устройств использовалась случайная продолжительность.\n* Изменения значений теперь также проверяются, когда устройство отправляет промежуточный отчет.\n* Повторите первоначальное подключение к стикам, размещенным через TCP\n* Когда флешка Z-Wave отсоединяется во время работы адаптера, адаптер автоматически попытается снова подключиться\n* Улучшения лечения и Smart Start\n* Новые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", - "pt": "Atualizado `zwave-js` para `9.2.2`. Mudanças notáveis incluem:\n* Os estados `doorStatus/latchStatus/boltStatus` não são mais criados se não forem suportados pela fechadura da porta\n* Corrigido um problema em que alguns controladores da série 500 eram detectados incorretamente como não suportando o Smart Start\n* Corrigido um problema em que alguns relatórios recebidos não eram processados enquanto um comando de API estava em andamento\n* Corrigido um problema em que alterar a cor de alguns dispositivos usaria uma duração aleatória\n* As alterações de valor agora também são verificadas quando o dispositivo envia um relatório intermediário\n* Tente novamente a conexão inicial com sticks hospedados via TCP\n* Quando o stick Z-Wave é desconectado enquanto o adaptador está em execução, o adaptador tentará se reconectar automaticamente\n* Melhorias na cura e Smart Start\n* Arquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", - "nl": "`zwave-js` geüpdatet naar `9.2.2`. Opmerkelijke veranderingen zijn onder meer:\n* De statussen `doorStatus/latchStatus/boltStatus' worden niet meer gemaakt als ze niet worden ondersteund door het deurslot\n* Probleem opgelost waarbij sommige controllers uit de 500-serie ten onrechte werden gedetecteerd als geen ondersteuning voor Smart Start\n* Probleem opgelost waarbij sommige inkomende rapporten niet werden verwerkt terwijl een API-opdracht aan de gang was\n* Probleem opgelost waarbij het veranderen van de kleur van sommige apparaten een willekeurige duur zou gebruiken\n* Waardewijzigingen worden nu ook geverifieerd wanneer het apparaat een tussentijds rapport verzendt\n* Probeer de eerste verbinding opnieuw met sticks die worden gehost via TCP\n* Wanneer de Z-Wave-stick wordt losgekoppeld terwijl de adapter actief is, probeert de adapter automatisch opnieuw verbinding te maken\n* Verbeteringen aan genezing en Smart Start\n* Nieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", - "fr": "Mise à jour de `zwave-js` vers `9.2.2`. Les changements notables incluent :\n* Les états `doorStatus/latchStatus/boltStatus` ne sont plus créés s'ils ne sont pas pris en charge par la serrure de porte\n* Correction d'un problème où certains contrôleurs de la série 500 étaient incorrectement détectés comme ne prenant pas en charge Smart Start\n* Correction d'un problème où certains rapports entrants n'étaient pas traités pendant qu'une commande API était en cours\n* Correction d'un problème où le changement de couleur de certains appareils utilisait une durée aléatoire\n* Les modifications de valeur sont désormais également vérifiées lorsque l'appareil envoie un rapport intermédiaire\n* Réessayez la connexion initiale aux clés hébergées via TCP\n* Lorsque le stick Z-Wave est déconnecté pendant que l'adaptateur fonctionne, l'adaptateur essaiera automatiquement de se reconnecter à nouveau\n* Améliorations de la guérison et du Smart Start\n* Fichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", - "it": "Aggiornato `zwave-js` a `9.2.2`. Le modifiche notevoli includono:\n* Gli stati `doorStatus/latchStatus/boltStatus` non vengono più creati se non supportati dalla serratura\n* Risolto un problema per cui alcuni controller della serie 500 venivano rilevati erroneamente come non supportano Smart Start\n* Risolto un problema per cui alcuni rapporti in arrivo non venivano elaborati mentre era in corso un comando API\n* Risolto un problema per cui la modifica del colore di alcuni dispositivi utilizzava una durata casuale\n* Le modifiche ai valori ora vengono verificate anche quando il dispositivo invia un rapporto intermedio\n* Riprova la connessione iniziale agli stick ospitati tramite TCP\n* Quando lo stick Z-Wave viene scollegato mentre l'adattatore è in funzione, l'adattatore tenterà automaticamente di ricollegarsi\n* Miglioramenti alla guarigione e allo Smart Start\n* File di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", - "es": "Se actualizó `zwave-js` a `9.2.2`. Los cambios notables incluyen:\n* Los estados `doorStatus/latchStatus/boltStatus` ya no se crean si no son compatibles con la cerradura de la puerta\n* Se solucionó un problema por el cual algunos controladores de la serie 500 se detectaban incorrectamente como no compatibles con Smart Start\n* Se solucionó un problema por el cual algunos informes entrantes no se procesaban mientras un comando API estaba en curso\n* Se solucionó un problema por el cual cambiar el color de algunos dispositivos usaría una duración aleatoria\n* Los cambios de valor ahora también se verifican cuando el dispositivo envía un informe intermedio\n* Vuelva a intentar la conexión inicial a los dispositivos alojados a través de TCP\n* Cuando el dispositivo Z-Wave se desconecta mientras el adaptador está funcionando, el adaptador intentará volver a conectarse automáticamente\n* Mejoras en la curación y Smart Start\n* Archivos de configuración nuevos y actualizados, consulte [Versiones de Z-Wave JS] (https://github.com/zwave-js/node-zwave-js/releases) para obtener más detalles.", - "pl": "Zaktualizowano `zwave-js` do `9.2.2`. Godne uwagi zmiany obejmują:\n* Stany `doorStatus/latchStatus/boltStatus` nie są już tworzone, jeśli nie są obsługiwane przez zamek drzwi\n* Naprawiono problem polegający na tym, że niektóre kontrolery z serii 500 były błędnie wykrywane jako nieobsługujące funkcji Smart Start\n* Naprawiono problem polegający na tym, że niektóre przychodzące raporty nie były przetwarzane podczas wykonywania polecenia API\n* Naprawiono problem polegający na tym, że zmiana koloru niektórych urządzeń powodowała losowy czas trwania\n* Zmiany wartości są teraz weryfikowane również, gdy urządzenie wysyła raport pośredni\n* Spróbuj ponownie nawiązać połączenie z kijami hostowanymi przez TCP\n* Gdy kij Z-Wave zostanie odłączony, gdy adapter jest uruchomiony, adapter automatycznie spróbuje ponownie połączyć się ponownie\n* Ulepszenia leczenia i inteligentnego startu\n* Nowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases), aby uzyskać szczegółowe informacje", - "zh-cn": "将“zwave-js”更新为“9.2.2”。显着的变化包括:\n* 如果门锁不支持,则不再创建 `doorStatus/latchStatus/boltStatus` 状态\n* 修复部分 500 系列控制器会被错误检测为不支持 Smart Start 的问题\n* 修复了在执行 API 命令时无法处理某些传入报告的问题\n* 修复了更改某些设备的颜色会使用随机持续时间的问题\n* 现在,当设备发送中间报告时,值更改也会得到验证\n* 重试与通过 TCP 托管的棒的初始连接\n* 当适配器运行时 Z-Wave 摇杆断开连接,适配器将自动尝试重新连接\n* 对治疗和智能启动的改进\n* 新的和更新的配置文件,详见[Z-Wave JS 版本](https://github.com/zwave-js/node-zwave-js/releases)" - }, - "2.5.0": { - "en": "Updated `zwave-js` to `9.0.1`. This includes many changes, including the following:\n* Worked around an issue where certain 500-series controllers take too long to respond when attempting communication with unreachable nodes\n* Node queries now timeout faster if no response is received. This should avoid battery-powered nodes to go back to sleep mid-interview.\n* Add support for `Irrigation CC`\n* The legacy network cache file `.json` was converted to an appendonly `.jsonl` file in order to prevent data loss\n* Almost all CC API methods now validate their arguments, making it safer to execute custom commands from user code\n* User codes and network keys are no longer included in logfiles\n* Support for legacy devices which only support the obsolete `Multi Channel CC V1`\n* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", - "de": "`zwave-js` auf `9.0.1` aktualisiert. Dieses Update enthält viele Änderungen, einschließlich der folgenden:\n* Workaround für ein Problem, bei dem bestimmte Controller der 500er-Serie zu lange brauchen, um zu antworten, wenn sie versuchen, mit nicht erreichbaren Geräten zu kommunizieren\n* Abfragen laufen jetzt schneller ab, wenn keine Antwort empfangen wird. Dies sollte verhindern, dass batteriebetriebene Geräte während des Interviews einschlafen.\n* Unterstützung für `Irrigation CC` implementiert\n* Die alte Netzwerk-Cache-Datei `.json` wurde wie die restlichen Cache-Dateien in `.jsonl` konvertiert, um Datenverlust zu vermeiden\n* Fast alle CC-API-Methoden validieren jetzt ihre Argumente, wodurch es sicherer wird, benutzerdefinierte Befehle aus Benutzercode auszuführen\n* Benutzercodes und Netzwerkschlüssel sind nicht mehr in den Logdateien enthalten\n* Unterstützung für ältere Geräte, die nur die veraltete `Multi Channel CC V1` unterstützen\n* Neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS Releases](https://github.com/zwave-js/node-zwave-js/releases) für Details.", - "ru": "Обновлен `zwave-js` до `9.0.1`. Это включает в себя множество изменений, в том числе следующие:\n* Исправлена проблема, из-за которой некоторые контроллеры серии 500 слишком долго реагировали на попытки установить связь с недоступными узлами.\n* Запросы к узлу теперь истекают быстрее, если ответ не получен. Это должно предотвратить переход узлов с батарейным питанием в спящий режим во время интервью.\n* Добавлена поддержка «Ирригация CC».\n* Устаревший файл сетевого кэша `.json` был преобразован в файл `.jsonl` только для добавления, чтобы предотвратить потерю данных.\n* Почти все методы CC API теперь проверяют свои аргументы, что делает более безопасным выполнение пользовательских команд из пользовательского кода.\n* Коды пользователей и сетевые ключи больше не включаются в лог-файлы.\n* Поддержка устаревших устройств, которые поддерживают только устаревшую версию Multi Channel CC V1.\n* Новые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", - "pt": "Atualizado `zwave-js` para `9.0.1`. Isso inclui muitas mudanças, incluindo o seguinte:\n* Resolvemos um problema em que determinados controladores da série 500 demoram muito para responder ao tentar se comunicar com nós inacessíveis\n* As consultas de nó agora expiram mais rapidamente se nenhuma resposta for recebida. Isso deve evitar que os nós alimentados por bateria voltem a dormir no meio da entrevista.\n* Adicione suporte para `Irrigação CC`\n* O arquivo de cache de rede legado `.json` foi convertido em um arquivo `.jsonl` somente anexado para evitar perda de dados\n* Quase todos os métodos da API CC agora validam seus argumentos, tornando mais seguro executar comandos personalizados a partir do código do usuário\n* Códigos de usuário e chaves de rede não estão mais incluídos nos arquivos de log\n* Suporte para dispositivos legados que suportam apenas o obsoleto `Multi Channel CC V1`\n* Arquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", - "nl": "`zwave-js` geüpdatet naar `9.0.1`. Dit omvat veel wijzigingen, waaronder de volgende:\n* Er is een probleem opgelost waarbij bepaalde controllers uit de 500-serie er te lang over deden om te reageren wanneer ze probeerden te communiceren met onbereikbare nodes\n* Node-query's time-out nu sneller als er geen reactie wordt ontvangen. Dit zou moeten voorkomen dat op batterijen werkende knooppunten halverwege het interview weer in slaap vallen.\n* Ondersteuning toevoegen voor `Irrigation CC`\n* Het legacy netwerkcachebestand `.json` is geconverteerd naar een appendonly `.jsonl`-bestand om gegevensverlies te voorkomen\n* Bijna alle CC API-methoden valideren nu hun argumenten, waardoor het veiliger is om aangepaste opdrachten uit gebruikerscode uit te voeren\n* Gebruikerscodes en netwerksleutels worden niet langer opgenomen in logbestanden\n* Ondersteuning voor oudere apparaten die alleen de verouderde `Multi Channel CC V1` . ondersteunen\n* Nieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", - "fr": "Mise à jour de `zwave-js` vers `9.0.1`. Cela inclut de nombreux changements, dont les suivants :\n* Résolution d'un problème où certains contrôleurs de la série 500 mettent trop de temps à répondre lors d'une tentative de communication avec des nœuds inaccessibles\n* Les requêtes de nœud expirent désormais plus rapidement si aucune réponse n'est reçue. Cela devrait éviter que les nœuds alimentés par batterie se remettent en veille au milieu de l'entretien.\n* Ajout de la prise en charge de `Irrigation CC`\n* Le fichier de cache réseau hérité `.json` a été converti en un fichier annexe uniquement `.jsonl` afin d'éviter la perte de données\n* Presque toutes les méthodes de l'API CC valident désormais leurs arguments, ce qui rend plus sûre l'exécution de commandes personnalisées à partir du code utilisateur\n* Les codes utilisateur et les clés réseau ne sont plus inclus dans les fichiers journaux\n* Prise en charge des appareils hérités qui ne prennent en charge que l'obsolète `Multi Channel CC V1`\n* Fichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", - "it": "Aggiornato `zwave-js` a `9.0.1`. Ciò include molte modifiche, tra cui le seguenti:\n* Risolto un problema per cui alcuni controller della serie 500 impiegano troppo tempo a rispondere quando tentavano di comunicare con nodi irraggiungibili\n* Le query sui nodi ora scadono più rapidamente se non viene ricevuta alcuna risposta. Ciò dovrebbe evitare che i nodi alimentati a batteria tornino a dormire durante l'intervista.\n* Aggiungi il supporto per \"Irrigation CC\".\n* Il file della cache di rete legacy `.json` è stato convertito in un file appendonly `.jsonl` per prevenire la perdita di dati\n* Quasi tutti i metodi dell'API CC ora convalidano i propri argomenti, rendendo più sicuro l'esecuzione di comandi personalizzati dal codice utente\n* I codici utente e le chiavi di rete non sono più inclusi nei file di registro\n* Supporto per dispositivi legacy che supportano solo l'obsoleto `Multi Channel CC V1`\n* File di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", - "es": "Se actualizó `zwave-js` a `9.0.1`. Esto incluye muchos cambios, incluidos los siguientes:\n* Se solucionó un problema en el que ciertos controladores de la serie 500 tardan demasiado en responder cuando intentan comunicarse con nodos inalcanzables\n* Las consultas de nodo ahora agotan el tiempo de espera más rápido si no se recibe una respuesta. Esto debería evitar que los nodos alimentados por batería vuelvan a dormirse a mitad de la entrevista.\n* Agregar soporte para `Irrigation CC`\n* El archivo de caché de red heredado `.json` se convirtió en un archivo adjunto `.jsonl` para evitar la pérdida de datos\n* Casi todos los métodos de la API de CC ahora validan sus argumentos, lo que hace que sea más seguro ejecutar comandos personalizados desde el código del usuario.\n* Los códigos de usuario y las claves de red ya no se incluyen en los archivos de registro\n* Compatibilidad con dispositivos heredados que solo admiten el obsoleto `Multi Channel CC V1`\n* Archivos de configuración nuevos y actualizados, consulte [Versiones de Z-Wave JS] (https://github.com/zwave-js/node-zwave-js/releases) para obtener más detalles.", - "pl": "Zaktualizowano `zwave-js` do `9.0.1`. Obejmuje to wiele zmian, w tym następujące:\n* Rozwiązano problem polegający na tym, że niektóre kontrolery z serii 500 reagowały zbyt długo podczas próby komunikacji z nieosiągalnymi węzłami\n* Zapytania o węzły teraz szybciej wygasają, jeśli nie zostanie odebrana żadna odpowiedź. Powinno to zapobiec ponownemu usypianiu węzłów zasilanych bateryjnie w trakcie rozmowy kwalifikacyjnej.\n* Dodaj obsługę `Irrigation CC`\n* Starszy plik pamięci podręcznej sieci `.json` został przekonwertowany na plik `.jsonl` zawierający tylko załączniki, aby zapobiec utracie danych\n* Prawie wszystkie metody CC API sprawdzają teraz swoje argumenty, dzięki czemu wykonywanie niestandardowych poleceń z kodu użytkownika jest bezpieczniejsze\n* Kody użytkownika i klucze sieciowe nie są już zawarte w plikach dziennika\n* Obsługa starszych urządzeń, które obsługują tylko przestarzałą wersję `Multi Channel CC V1`\n* Nowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases), aby uzyskać szczegółowe informacje", - "zh-cn": "将“zwave-js”更新为“9.0.1”。这包括许多更改,包括以下内容:\n* 解决了某些 500 系列控制器在尝试与无法访问的节点通信时响应时间过长的问题\n* 如果没有收到响应,节点查询现在超时更快。这应该避免电池供电的节点在采访中重新进入睡眠状态。\n* 添加对“灌溉 CC”的支持\n* 旧的网络缓存文件 `.json` 被转换为 appendonly `.jsonl` 文件,以防止数据丢失\n* 几乎所有 CC API 方法现在都会验证它们的参数,从而更安全地从用户代码执行自定义命令\n* 用户代码和网络密钥不再包含在日志文件中\n* 支持仅支持过时的“多通道 CC V1”的旧设备\n* 新的和更新的配置文件,详见[Z-Wave JS 版本](https://github.com/zwave-js/node-zwave-js/releases)" - }, - "2.4.5": { - "en": "Update `zwave-js` to `8.11.6`\nAfter healing, battery-powered nodes are sent back to sleep again\nAdded a workaround for thermostats that don't advertise all their supported thermostat modes. When such a thermostat enters such an \"unsupported\" mode, the mode is now dynamically added to the list of supported modes.\nNew and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", - "de": "`zwave-js` auf `8.11.6` aktualisiert\n Nach dem Heilen werden batteriebetriebene Geräte wieder schlafen geschickt.\n Es wurde ein Workaround für Thermostate hinzugefügt, die nicht alle ihre unterstützten Thermostatmodi verraten. Wenn ein solches Thermostat in einen angeblich \"nicht unterstützten\" Modus geht, wird dieser nun dynamisch zur Liste der unterstützten Modi hinzugefügt.\n Neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) für Details", - "ru": "Обновите zwave-js до версии 8.11.6.\nПосле лечения узлы с батарейным питанием снова отправляются в спящий режим.\nДобавлен обходной путь для термостатов, которые не объявляют все поддерживаемые ими режимы термостата. Когда такой термостат переходит в такой «неподдерживаемый» режим, этот режим теперь динамически добавляется в список поддерживаемых режимов.\nНовые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", - "pt": "Atualize `zwave-js` para `8.11.6`\nApós a cura, os nós alimentados por bateria são enviados de volta ao modo de suspensão novamente\nAdicionada uma solução alternativa para termostatos que não anunciam todos os modos de termostato compatíveis. Quando esse termostato entra em um modo \"não suportado\", o modo agora é adicionado dinamicamente à lista de modos suportados.\nArquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", - "nl": "Update `zwave-js` naar `8.11.6`\nNa genezing worden nodes op batterijen weer in slaapstand gestuurd\nEen tijdelijke oplossing toegevoegd voor thermostaten die niet alle ondersteunde thermostaatmodi adverteren. Wanneer zo'n thermostaat in zo'n \"niet-ondersteunde\" modus komt, wordt de modus nu dynamisch toegevoegd aan de lijst met ondersteunde modi.\nNieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", - "fr": "Mettre à jour `zwave-js` vers `8.11.6`\nAprès la guérison, les nœuds alimentés par batterie sont remis en veille\nAjout d'une solution de contournement pour les thermostats qui n'annoncent pas tous leurs modes de thermostat pris en charge. Lorsqu'un tel thermostat entre dans un tel mode \"non pris en charge\", le mode est désormais dynamiquement ajouté à la liste des modes pris en charge.\nFichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", - "it": "Aggiorna `zwave-js` a `8.11.6`\nDopo la guarigione, i nodi alimentati a batteria vengono rimandati nuovamente in stato di stop\nAggiunta una soluzione alternativa per i termostati che non pubblicizzano tutte le modalità di termostato supportate. Quando un tale termostato entra in una tale modalità \"non supportata\", la modalità viene ora aggiunta dinamicamente all'elenco delle modalità supportate.\nFile di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", - "es": "Actualice `zwave-js` a `8.11.6`\nDespués de la curación, los nodos alimentados por batería se vuelven a poner en reposo.\nSe agregó una solución alternativa para los termostatos que no anuncian todos los modos de termostato admitidos. Cuando un termostato de este tipo ingresa a un modo \"no compatible\", el modo ahora se agrega dinámicamente a la lista de modos compatibles.\nArchivos de configuración nuevos y actualizados, consulte [Lanzamientos de Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obtener detalles", - "pl": "Zaktualizuj `zwave-js` do `8.11.6`\nPo wyleczeniu węzły zasilane bateryjnie są ponownie usypiane\nDodano obejście dla termostatów, które nie reklamują wszystkich obsługiwanych trybów termostatu. Gdy taki termostat wejdzie w taki „nieobsługiwany” tryb, tryb ten jest teraz dynamicznie dodawany do listy obsługiwanych trybów.\nNowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) po szczegóły", - "zh-cn": "将“zwave-js”更新为“8.11.6”\n愈合后,电池供电的节点再次被送回睡眠状态\n为不宣传所有受支持的恒温器模式的恒温器添加了解决方法。当这样的恒温器进入这样的“不支持”模式时,该模式现在被动态添加到支持的模式列表中。\n新的和更新的配置文件,详见[Z-Wave JS 发布](https://github.com/zwave-js/node-zwave-js/releases)" - }, - "2.4.3": { - "en": "Updated translations\nUpdated `zwave-js` from `8.9.1` to `8.11.2`. Check out the [releases](https://github.com/zwave-js/node-zwave-js/releases) for a detailed overview over the new and changed configuration files.\nAdd support for `Humidity Control Mode CC`\nAdd support for `Humidity Control Operating State CC`\nAdd support for `Humidity Control Setpoint CC`\nWork around an issue where some devices could not be interviewed due to an incorrect `Version CC` response.\nFixed an issue where `Supervision Get` requests were not answered for sleeping nodes\nRe-interviewing sleeping nodes now only resets the known information when the node wakes up\nThe `colors` dependency was recently [corrupted on purpose](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). This patch updates all dependencies that depended on an affected version, directly or indirectly.", - "de": "Übersetzungen aktualisiert\n`zwave-js` wurde von `8.9.1` auf `8.11.2` wurde aktualisiert. Eine detaillierte Übersicht über die neuen und geänderten Konfigurationsdateien ist unter [releases](https://github.com/zwave-js/node-zwave-js/releases) zu finden.\nUnterstützung für `Humidity Control Mode CC` hinzugefügt\nUnterstützung für `Humidity Control Operating State CC` hinzugefügt\nUnterstützung für `Humidity Control Setpoint CC` zugefügt\nWorkaround für einige Geräte, die aufgrund fehlerhafter `Version CC`-Antworten nicht interviewt werden konnten.\nEin Problem wurde behoben, bei dem `Supervision Get`-Anfragen für schlafende Knoten nicht beantwortet wurden.\nEin Re-Interview schlafender Knoten setzt die bekannten Informationen nun erst zurück, wenn der Knoten aufwacht\nDie `colors`-Abhängigkeit wurde kürzlich [absichtlich beschädigt](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Alle Abhängigkeiten, die direkt oder indirekt von einer betroffenen Version abhängen, wurden aktualisiert oder getauscht, um das Problem zu beheben.", - "ru": "Обновленные переводы\nОбновлен zwave-js с 8.9.1 до 8.11.2. Ознакомьтесь с [выпусками](https://github.com/zwave-js/node-zwave-js/releases) для подробного обзора новых и измененных файлов конфигурации.\nДобавлена поддержка «Режима контроля влажности CC».\nДобавлена поддержка «Рабочее состояние контроля влажности CC».\nДобавлена поддержка «Уставка контроля влажности CC».\nРешение проблемы, из-за которой некоторые устройства не могли быть проинтервьюированы из-за неправильного ответа «Версия CC».\nИсправлена ошибка, из-за которой запросы «Получить контроль» не отвечали для спящих узлов.\nПовторный опрос спящих узлов теперь сбрасывает известную информацию только тогда, когда узел просыпается.\nНедавно зависимость `colors` была [преднамеренно повреждена] (https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Этот патч обновляет все зависимости, прямо или косвенно зависящие от затронутой версии.", - "pt": "Traduções atualizadas\nAtualizado `zwave-js` de `8.9.1` para `8.11.2`. Confira os [lançamentos](https://github.com/zwave-js/node-zwave-js/releases) para obter uma visão geral detalhada dos arquivos de configuração novos e alterados.\nAdicionar suporte para `Modo de controle de umidade CC`\nAdicionar suporte para \"Estado operacional de controle de umidade CC\"\nAdicionada compatibilidade com `Humidity Control Setpoint CC`\nContorne um problema em que alguns dispositivos não puderam ser entrevistados devido a uma resposta incorreta da \"Versão CC\".\nCorrigido um problema em que as solicitações `Supervision Get` não eram respondidas para nós adormecidos\nRe-entrevistar nós adormecidos agora apenas redefine as informações conhecidas quando o nó acorda\nA dependência `colors` foi recentemente [corrompida de propósito](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Este patch atualiza todas as dependências que dependiam de uma versão afetada, direta ou indiretamente.", - "nl": "Bijgewerkte vertalingen\n`zwave-js` bijgewerkt van `8.9.1` naar `8.11.2`. Bekijk de [releases](https://github.com/zwave-js/node-zwave-js/releases) voor een gedetailleerd overzicht van de nieuwe en gewijzigde configuratiebestanden.\nOndersteuning toevoegen voor `Vochtigheidscontrolemodus CC`\nOndersteuning toevoegen voor `Vochtigheidsregeling Bedrijfstoestand CC`\nOndersteuning toevoegen voor `Vochtigheidsregeling Setpoint CC`\nOmzeil een probleem waarbij sommige apparaten niet konden worden geïnterviewd vanwege een onjuist 'Versie CC'-antwoord.\nEr is een probleem opgelost waarbij 'Supervision Get'-verzoeken niet werden beantwoord voor slapende nodes\nDoor slapende knooppunten opnieuw te interviewen, wordt nu alleen de bekende informatie gereset wanneer het knooppunt wakker wordt\nDe 'kleuren'-afhankelijkheid is onlangs [met opzet beschadigd](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Deze patch werkt alle afhankelijkheden bij die afhankelijk waren van een getroffen versie, direct of indirect.", - "fr": "Traductions mises à jour\nMise à jour de `zwave-js` de `8.9.1` à `8.11.2`. Consultez les [versions](https://github.com/zwave-js/node-zwave-js/releases) pour un aperçu détaillé des fichiers de configuration nouveaux et modifiés.\nAjout de la prise en charge du \"Mode de contrôle de l'humidité CC\"\nAjout de la prise en charge de \"l'état de fonctionnement du contrôle de l'humidité CC\"\nAjout de la prise en charge de `Consigne de contrôle de l'humidité CC`\nContournez un problème où certains appareils n'ont pas pu être interrogés en raison d'une réponse incorrecte \"Version CC\".\nCorrection d'un problème où les requêtes \"Supervision Get\" n'obtenaient pas de réponse pour les nœuds en veille\nLa ré-interview des nœuds endormis ne réinitialise désormais les informations connues que lorsque le nœud se réveille\nLa dépendance `colors` a été récemment [corrompue exprès](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Ce correctif met à jour toutes les dépendances qui dépendaient d'une version affectée, directement ou indirectement.", - "it": "Traduzioni aggiornate\nAggiornato `zwave-js` da `8.9.1` a `8.11.2`. Dai un'occhiata a [releases](https://github.com/zwave-js/node-zwave-js/releases) per una panoramica dettagliata sui file di configurazione nuovi e modificati.\nAggiunto il supporto per \"Modalità di controllo dell'umidità CC\".\nAggiunto il supporto per \"Humidity Control Operating State CC\".\nAggiunto il supporto per 'Humidity Control Setpoint CC'\nRisolvi un problema per cui alcuni dispositivi non potevano essere intervistati a causa di una risposta errata \"Version CC\".\nRisolto un problema per cui le richieste \"Ottieni supervisione\" non ricevevano risposta per i nodi dormienti\nLa nuova intervista dei nodi dormienti ora reimposta le informazioni note solo quando il nodo si riattiva\nLa dipendenza \"colors\" è stata recentemente [corrotta apposta](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Questa patch aggiorna tutte le dipendenze che dipendevano da una versione interessata, direttamente o indirettamente.", - "es": "Traducciones actualizadas\nSe actualizó `zwave-js` de `8.9.1` a `8.11.2`. Consulte [lanzamientos] (https://github.com/zwave-js/node-zwave-js/releases) para obtener una descripción detallada de los archivos de configuración nuevos y modificados.\nAgregue soporte para `Modo de control de humedad CC`\nAgregue soporte para `Estado operativo de control de humedad CC`\nAgregue soporte para `Punto de ajuste de control de humedad CC`\nSolucione un problema en el que algunos dispositivos no se podían entrevistar debido a una respuesta incorrecta de la \"Versión CC\".\nSe solucionó un problema por el cual las solicitudes de \"Obtener supervisión\" no se respondían para los nodos inactivos.\nVolver a entrevistar a los nodos dormidos ahora solo restablece la información conocida cuando el nodo se despierta\nLa dependencia `colors` se [corrompió a propósito] recientemente (https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Este parche actualiza todas las dependencias que dependían de una versión afectada, directa o indirectamente.", - "pl": "Zaktualizowane tłumaczenia\nZaktualizowano `zwave-js` z `8.9.1` do `8.11.2`. Sprawdź [wydanie](https://github.com/zwave-js/node-zwave-js/releases), aby uzyskać szczegółowy przegląd nowych i zmienionych plików konfiguracyjnych.\nDodaj obsługę `Trybu kontroli wilgotności CC`\nDodaj obsługę `Stan operacyjny kontroli wilgotności CC`\nDodaj obsługę `Nastawy kontroli wilgotności CC`\nObejdź problem polegający na tym, że niektóre urządzenia nie mogły zostać przesłuchane z powodu nieprawidłowej odpowiedzi „Wersja CC”.\nNaprawiono problem polegający na tym, że żądania „Uzyskanie nadzoru” nie były odbierane dla uśpionych węzłów\nPonowne przesłuchanie śpiących węzłów resetuje teraz znane informacje tylko wtedy, gdy węzeł się budzi\nZależność „kolorów” została niedawno [celowo uszkodzona](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Ta poprawka aktualizuje wszystkie zależności zależne od wersji, której dotyczy problem, bezpośrednio lub pośrednio.", - "zh-cn": "更新的翻译\n将 `zwave-js` 从 `8.9.1` 更新为 `8.11.2`。查看 [releases](https://github.com/zwave-js/node-zwave-js/releases) 以详细了解新的和更改的配置文件。\n添加对“湿度控制模式 CC”的支持\n添加对“湿度控制运行状态 CC”的支持\n添加对“湿度控制设定点 CC”的支持\n解决由于“版本 CC”响应不正确而无法访问某些设备的问题。\n修复了休眠节点的“监督获取”请求未得到响应的问题\n重新访问睡眠节点现在仅在节点唤醒时重置已知信息\n`colors` 依赖项最近 [故意损坏](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected)。此补丁直接或间接更新依赖于受影响版本的所有依赖项。" - }, - "2.4.2": { - "en": "Fix: Additional node-related commands now respect and update the node status\nFixed an issue where the communication could get stuck after aborting a command\nNew and updated configuration files, see [here](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) and [here](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)", - "de": "Fix: Zusätzliche Befehle beachten nun den Status von Geräten und haben einen Einfluss auf diesen\nEin Problem wurde behoben, bei dem die Kommunikation nach dem Abbruch eines Befehls hängen bleiben konnte\nNeue und aktualisierte Konfigurationsdateien, siehe [hier](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) und [hier](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)", - "ru": "Исправлено: дополнительные команды, связанные с узлами, теперь учитывают и обновляют статус узла.\nИсправлена ошибка, из-за которой связь могла зависнуть после отмены команды.\nНовые и обновленные файлы конфигурации см. [Здесь](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) и [здесь](https://github.com/zwave-js/node-zwave-js/Release/tag/v8.9.1)", - "pt": "Correção: comandos adicionais relacionados ao nó agora respeitam e atualizam o status do nó\nCorrigido um problema em que a comunicação poderia travar após abortar um comando\nArquivos de configuração novos e atualizados, veja [aqui](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) e [aqui](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)", - "nl": "Oplossing: extra knooppuntgerelateerde opdrachten respecteren en updaten nu de knooppuntstatus\nEr is een probleem opgelost waarbij de communicatie vastliep na het afbreken van een opdracht\nNieuwe en bijgewerkte configuratiebestanden, zie [hier](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) en [hier](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)", - "fr": "Correctif : les commandes supplémentaires liées aux nœuds respectent et mettent à jour désormais l'état du nœud\nCorrection d'un problème où la communication pouvait rester bloquée après l'abandon d'une commande\nFichiers de configuration nouveaux et mis à jour, voir [ici](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) et [ici](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)", - "it": "Correzione: i comandi aggiuntivi relativi al nodo ora rispettano e aggiornano lo stato del nodo\nRisolto un problema per cui la comunicazione poteva bloccarsi dopo aver interrotto un comando\nFile di configurazione nuovi e aggiornati, vedere [qui](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) e [qui](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)", - "es": "Solución: los comandos adicionales relacionados con el nodo ahora respetan y actualizan el estado del nodo\nSe solucionó un problema por el cual la comunicación podía atascarse después de abortar un comando.\nArchivos de configuración nuevos y actualizados, consulte [aquí](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) y [aquí](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)", - "pl": "Poprawka: Dodatkowe polecenia związane z węzłem uwzględniają teraz i aktualizują stan węzła\nNaprawiono problem, w którym komunikacja mogła się utknąć po przerwaniu polecenia;\nNowe i zaktualizowane pliki konfiguracyjne, zobacz [tutaj](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0) i [tutaj](https://github.com/zwave-js/node-zwave-js/wydania/tag/v8.9.1)", - "zh-cn": "修复:其他节点相关命令现在尊重并更新节点状态\n修复了中止命令后通信可能卡住的问题\n新的和更新的配置文件,见[这里](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.0)和[这里](https://github.com/zwave-js/node-zwave-js/releases/tag/v8.9.1)" - } - }, - "title": "Z-Wave 2", - "titleLang": { - "en": "Z-Wave 2", - "de": "Z-Wave 2", - "ru": "Z-Wave 2", - "pt": "Z-Wave 2", - "nl": "Z-Wave 2", - "fr": "Z-Wave 2", - "it": "Z-Wave 2", - "es": "Z-Wave 2", - "pl": "Z-Wave 2", - "zh-cn": "Z-Wave 2" - }, - "desc": { - "en": "The better Z-Wave integration", - "de": "Die bessere Z-Wave-Integration", - "ru": "Лучшая интеграция Z-Wave", - "pt": "A melhor integração do Z-Wave", - "nl": "De betere Z-Wave-integratie", - "fr": "La meilleure intégration Z-Wave", - "it": "La migliore integrazione di Z-Wave", - "es": "La mejor integración de Z-Wave", - "pl": "Lepsza integracja Z-Wave", - "zh-cn": "更好的Z-Wave集成" - }, - "authors": [ - "AlCalzone " - ], - "keywords": [ - "zwave", - "z-wave", - "zwave2", - "z-wave 2" - ], - "license": "MIT", - "platform": "Javascript/Node.js", - "main": "build/main.js", - "icon": "zwave2.svg", - "enabled": true, - "dataFolder": "zwave2.%INSTANCE%", - "extIcon": "https://raw.githubusercontent.com/AlCalzone/ioBroker.zwave2/master/admin/zwave2.svg?sanitize=true", - "readme": "https://github.com/AlCalzone/ioBroker.zwave2/blob/master/README.md", - "loglevel": "info", - "mode": "daemon", - "type": "hardware", - "eraseOnUpload": true, - "compact": true, - "materialize": true, - "materializeTab": true, - "adminTab": { - "name": { - "en": "Z-Wave", - "de": "Z-Wave" - }, - "link": "", - "fa-icon": "wifi" - }, - "messagebox": true, - "connectionType": "local", - "dataSource": "push", - "dependencies": [ - { - "js-controller": ">=2.0.0" - } - ] + "common": { + "name": "zwave2", + "version": "3.0.2", + "news": { + "3.0.2": { + "en": "Fixed some crashes and communication issues", + "de": "Einige Crashs und Kommunikationsprobleme behoben", + "ru": "Исправлены некоторые сбои и проблемы связи", + "pt": "Corrigido algumas falhas e problemas de comunicação", + "nl": "Vertaling:", + "fr": "Correction de certains accidents et problèmes de communication", + "it": "Risolto alcuni crash e problemi di comunicazione", + "es": "Arreglado algunos fallos y problemas de comunicación", + "pl": "Szczegółowe katastrofy i problemy komunikacyjne", + "zh-cn": "确定一些事故和通信问题" + }, + "3.0.1": { + "en": "Fixed crashes related to missing or incorrectly loaded dependencies", + "de": "Abstürze im Zusammenhang mit fehlenden oder fehlerhaft geladenen Abhängigkeiten behoben", + "ru": "Исправлены сбои, связанные с отсутствующими или неправильно загруженными зависимостями", + "pt": "Falhas fixas relacionadas a falta ou dependências incorretamente carregadas", + "nl": "Vertaling:", + "fr": "Accidents fixes liés à des dépendances manquantes ou mal chargées", + "it": "Crash fissi relativi alle dipendenze mancanti o non caricate", + "es": "Fallos fijos relacionados con dependencias desaparecidas o cargadas incorrectamente", + "pl": "Zniszczone katastrofy związane z brakami lub nieprawidłowymi zależnościami", + "zh-cn": "与失踪或装有不当的依赖性有关的固定事故" + }, + "3.0.0": { + "en": "Updated `zwave-js` to `10.0.0`. This includes a ton of changes, including:\n* Dropped support for Node.js 12\n* Several improvements to secure communication, especially with Security S2\n* Changed how nodes are sent to sleep, preventing the queue from stalling when the node is already sleeping\n* Changed how `Supervision CC Reports` are sent out, preventing the queue from stalling\n* Obfuscated more sensitive data in logfiles\n* Fixed a bug where commands that should be discarded would still store their values\n* Improved the handling of incoming commands which are received out of order\n* Made it possible to disable SmartStart provisioning entries. When excluding a node, its provisioning entry will now be disabled instead of removed.\n* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", + "de": "`zwave-js` wurde auf `10.0.0` aktualisiert. Dies beinhaltet eine ganze Reihe von Änderungen, darunter:\n* Support für Node.js 12 wurde eingestellt.\n* Zahlreiche Verbesserungen bei der sicheren Kommunikation, insbesondere für Security S2\n* Geräte werden jetzt anders schlafen geschickt, um zu verhindern, dass die Warteschlange blockiert wird, wenn sie bereits schlafen.\n* `Supervision CC Reports` werden nun anders versendet, um zu verhindern, dass die Warteschlange blockiert wird.\n* Mehr sensible Daten in den Logfiles werden unkenntlich gemacht.\n* Ein Fehler wurde behoben, bei dem eingehende Kommandos, die eigentlich verworfen werden sollten, immer noch ihre Werte speichern konnten.\n* Die Verarbeitung von eingehenden Kommandos, die nicht in der richtigen Reihenfolge empfangen werden, wurde verbessert.\n* Es ist nun möglich, SmartStart-Provisioning-Einträge zu deaktivieren. Wenn ein Gerät aus dem Netzwerk entfernt wird, wird sein Provisioning-Eintrag nun deaktiviert anstatt entfernt zu werden.\n* Zahlreiche neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) für Details", + "ru": "Обновлен `zwave-js` до `10.0.0`. Это включает в себя массу изменений, в том числе:\n* Прекращена поддержка Node.js 12.\n* Несколько улучшений для безопасной связи, особенно с Security S2\n* Изменен способ перевода узлов в спящий режим, что предотвращает зависание очереди, когда узел уже находится в спящем режиме.\n* Изменен способ отправки «Отчетов о надзоре», что предотвращает зависание очереди.\n* Запутаны более конфиденциальные данные в лог-файлах\n* Исправлена ​​ошибка, из-за которой команды, которые следует отбросить, сохраняли свои значения.\n* Улучшена обработка входящих команд, полученных не по порядку\n* Сделано возможным отключить записи обеспечения SmartStart. При исключении узла его запись подготовки теперь будет отключена, а не удалена.\n* Новые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", + "pt": "Atualizado `zwave-js` para `10.0.0`. Isso inclui uma tonelada de mudanças, incluindo:\n* Suporte descartado para Node.js 12\n* Várias melhorias na comunicação segura, especialmente com o Security S2\n* Alterado como os nós são enviados para dormir, evitando que a fila pare quando o nó já estiver dormindo\n* Alterado como os `Relatórios CC de Supervisão` são enviados, evitando que a fila fique parada\n* Dados mais sensíveis ofuscados em arquivos de log\n* Corrigido um bug onde comandos que deveriam ser descartados ainda armazenavam seus valores\n* Melhorou o tratamento de comandos recebidos que são recebidos fora de ordem\n* Tornou possível desabilitar as entradas de provisionamento SmartStart. Ao excluir um nó, sua entrada de provisionamento agora será desabilitada em vez de removida.\n* Arquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", + "nl": "`zwave-js` geüpdatet naar `10.0.0`. Dit omvat een heleboel veranderingen, waaronder:\n* Geen ondersteuning meer voor Node.js 12\n* Verschillende verbeteringen aan beveiligde communicatie, vooral met Security S2\n* Gewijzigd hoe knooppunten naar de slaapstand worden gestuurd, waardoor wordt voorkomen dat de wachtrij vastloopt wanneer het knooppunt al slaapt\n* Gewijzigd hoe `Supervisie CC-rapporten` worden verzonden, waardoor de wachtrij niet vastloopt\n* Verduisterde meer gevoelige gegevens in logbestanden\n* Een bug opgelost waarbij commando's die moesten worden weggegooid nog steeds hun waarden opslaan\n* Verbeterde verwerking van inkomende commando's die niet in orde zijn\n* Mogelijk gemaakt om SmartStart-provisioning-items uit te schakelen. Bij het uitsluiten van een knooppunt, wordt het inrichtingsitem nu uitgeschakeld in plaats van verwijderd.\n* Nieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", + "fr": "Mise à jour de `zwave-js` vers `10.0.0`. Cela inclut une tonne de changements, notamment :\n* Abandon de la prise en charge de Node.js 12\n* Plusieurs améliorations pour sécuriser la communication, notamment avec Security S2\n* Modification de la façon dont les nœuds sont mis en veille, empêchant la file d'attente de se bloquer lorsque le nœud est déjà en veille\n* Modification de la manière dont les «rapports CC de supervision» sont envoyés, empêchant la file d'attente de se bloquer\n* Obfusqué des données plus sensibles dans les fichiers journaux\n* Correction d'un bug où les commandes qui devraient être ignorées stockaient toujours leurs valeurs\n* Amélioration de la gestion des commandes entrantes qui sont reçues dans le désordre\n* Rendu possible de désactiver les entrées de provisionnement SmartStart. Lors de l'exclusion d'un nœud, son entrée de provisionnement sera désormais désactivée au lieu d'être supprimée.\n* Fichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", + "it": "Aggiornato `zwave-js` a `10.0.0`. Ciò include un sacco di modifiche, tra cui:\n* Supporto interrotto per Node.js 12\n* Diversi miglioramenti per proteggere la comunicazione, in particolare con Security S2\n* Modificato il modo in cui i nodi vengono inviati in modalità di sospensione, impedendo lo stallo della coda quando il nodo è già in modalità di sospensione\n* Modificato il modo in cui vengono inviati i \"Rapporti CC di supervisione\", impedendo lo stallo della coda\n* Dati più sensibili offuscati nei file di registro\n* Risolto un bug per cui i comandi che dovevano essere scartati conservavano comunque i loro valori\n* Migliorata la gestione dei comandi in arrivo ricevuti fuori servizio\n* Reso possibile disabilitare le voci di provisioning SmartStart. Quando si esclude un nodo, la sua voce di provisioning verrà ora disabilitata anziché rimossa.\n* File di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", + "es": "Se actualizó `zwave-js` a `10.0.0`. Esto incluye una tonelada de cambios, que incluyen:\n* Soporte eliminado para Node.js 12\n* Varias mejoras en la comunicación segura, especialmente con Security S2\n* Cambió la forma en que los nodos se envían a dormir, evitando que la cola se detenga cuando el nodo ya está durmiendo\n* Se modificó la forma en que se envían los \"Informes CC de supervisión\", lo que evita que la cola se detenga\n* Datos más confidenciales ofuscados en archivos de registro\n* Se corrigió un error por el cual los comandos que deberían descartarse aún almacenarían sus valores\n* Se mejoró el manejo de los comandos entrantes que se reciben fuera de servicio\n* Hizo posible deshabilitar las entradas de aprovisionamiento de SmartStart. Al excluir un nodo, su entrada de aprovisionamiento ahora se deshabilitará en lugar de eliminarse.\n* Archivos de configuración nuevos y actualizados, consulte [Versiones de Z-Wave JS] (https://github.com/zwave-js/node-zwave-js/releases) para obtener más detalles.", + "pl": "Zaktualizowano `zwave-js` do `10.0.0`. Obejmuje to mnóstwo zmian, w tym:\n* Zrezygnowano z obsługi Node.js 12\n* Kilka ulepszeń w celu zabezpieczenia komunikacji, zwłaszcza z Security S2\n* Zmieniono sposób, w jaki węzły są wysyłane w stan uśpienia, zapobiegając zawieszaniu się kolejki, gdy węzeł już śpi\n* Zmieniono sposób wysyłania `Raportów nadzoru CC`, zapobiegając zawieszaniu się kolejki\n* Zamaskowane bardziej wrażliwe dane w plikach dziennika\n* Naprawiono błąd, w którym polecenia, które powinny zostać odrzucone, nadal przechowują swoje wartości\n* Poprawiono obsługę przychodzących poleceń, które są odbierane poza kolejnością\n* Umożliwiono wyłączenie wpisów aprowizacji SmartStart. Po wykluczeniu węzła jego wpis aprowizacji zostanie teraz wyłączony, a nie usunięty.\n* Nowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) po szczegóły", + "zh-cn": "将“zwave-js”更新为“10.0.0”。这包括大量更改,包括:\n* 放弃对 Node.js 12 的支持\n* 对安全通信的多项改进,尤其是 Security S2\n* 更改了节点被发送到睡眠的方式,防止队列在节点已经处于睡眠状态时停止\n* 更改了“监督抄送报告”的发送方式,防止队列停滞\n* 在日志文件中混淆更敏感的数据\n* 修复了应该丢弃的命令仍会存储其值的错误\n* 改进了对乱序接收的传入命令的处理\n* 可以禁用 SmartStart 配置条目。排除节点时,其配置条目现在将被禁用而不是删除。\n* 新的和更新的配置文件,详见[Z-Wave JS 版本](https://github.com/zwave-js/node-zwave-js/releases)" + }, + "2.6.0": { + "en": "Updated `zwave-js` to `9.2.2`. Notable changes include:\n* The `doorStatus/latchStatus/boltStatus` states are no longer created if unsupported by the door lock\n* Fixed an issue where some 500-series controllers would incorrectly be detected as not supporting Smart Start\n* Fixed an issue where some incoming reports would not be processed while an API command was ongoing\n* Fixed an issue where changing the color of some devices would use a random duration\n* Value changes now also get verified when the device sends an intermediate report\n* Retry the initial connection to sticks hosted via TCP\n* When the Z-Wave stick is disconnected while the adapter is running, the adapter will automatically try to reconnect again\n* Improvements to healing and Smart Start\n* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", + "de": "`zwave-js` auf Version `9.2.2` aktualisiert. Nennenswerte Änderungen:\n* Die Zustände `doorStatus/latchStatus/boltStatus` werden nicht mehr erzeugt, wenn sie nicht vom Schloss unterstützt werden.\n* Es wurde ein Problem behoben, bei dem einige Controller der 500er Serie fälschlicherweise als nicht SmartStart-fähig erkannt wurden.\n* Es wurde ein Problem behoben, bei dem einige eingehende Berichte nicht verarbeitet wurden, während ein API-Befehl ausgeführt wurde.\n* Ein Problem wurde behoben, bei dem das Ändern der Farbe bei einigen Geräten eine zufällige Dauer verwendete.\n* Wertänderungen werden nun auch verifiziert, wenn das Gerät zwischenzeitlich ein Update sendet.\n* Die initiale Verbindung zu Sticks, die über TCP gehostet werden, wird nun wiederholt\n* Wenn der Z-Wave-Stick entfernt wird, während der Adapter läuft, versucht der Adapter automatisch, die Verbindung wiederherzustellen\n* Verbesserungen bei Netzwerk-Heilung und Smart Start\n* Neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) für Details", + "ru": "Обновлен `zwave-js` до `9.2.2`. Заметные изменения включают:\n* Состояния `doorStatus/latchStatus/boltStatus` больше не создаются, если они не поддерживаются дверным замком.\n* Исправлена ошибка, из-за которой некоторые контроллеры серии 500 ошибочно определялись как не поддерживающие Smart Start.\n* Исправлена ошибка, из-за которой некоторые входящие отчеты не обрабатывались, пока выполнялась команда API.\n* Исправлена ошибка, из-за которой при изменении цвета некоторых устройств использовалась случайная продолжительность.\n* Изменения значений теперь также проверяются, когда устройство отправляет промежуточный отчет.\n* Повторите первоначальное подключение к стикам, размещенным через TCP\n* Когда флешка Z-Wave отсоединяется во время работы адаптера, адаптер автоматически попытается снова подключиться\n* Улучшения лечения и Smart Start\n* Новые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", + "pt": "Atualizado `zwave-js` para `9.2.2`. Mudanças notáveis incluem:\n* Os estados `doorStatus/latchStatus/boltStatus` não são mais criados se não forem suportados pela fechadura da porta\n* Corrigido um problema em que alguns controladores da série 500 eram detectados incorretamente como não suportando o Smart Start\n* Corrigido um problema em que alguns relatórios recebidos não eram processados enquanto um comando de API estava em andamento\n* Corrigido um problema em que alterar a cor de alguns dispositivos usaria uma duração aleatória\n* As alterações de valor agora também são verificadas quando o dispositivo envia um relatório intermediário\n* Tente novamente a conexão inicial com sticks hospedados via TCP\n* Quando o stick Z-Wave é desconectado enquanto o adaptador está em execução, o adaptador tentará se reconectar automaticamente\n* Melhorias na cura e Smart Start\n* Arquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", + "nl": "`zwave-js` geüpdatet naar `9.2.2`. Opmerkelijke veranderingen zijn onder meer:\n* De statussen `doorStatus/latchStatus/boltStatus' worden niet meer gemaakt als ze niet worden ondersteund door het deurslot\n* Probleem opgelost waarbij sommige controllers uit de 500-serie ten onrechte werden gedetecteerd als geen ondersteuning voor Smart Start\n* Probleem opgelost waarbij sommige inkomende rapporten niet werden verwerkt terwijl een API-opdracht aan de gang was\n* Probleem opgelost waarbij het veranderen van de kleur van sommige apparaten een willekeurige duur zou gebruiken\n* Waardewijzigingen worden nu ook geverifieerd wanneer het apparaat een tussentijds rapport verzendt\n* Probeer de eerste verbinding opnieuw met sticks die worden gehost via TCP\n* Wanneer de Z-Wave-stick wordt losgekoppeld terwijl de adapter actief is, probeert de adapter automatisch opnieuw verbinding te maken\n* Verbeteringen aan genezing en Smart Start\n* Nieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", + "fr": "Mise à jour de `zwave-js` vers `9.2.2`. Les changements notables incluent :\n* Les états `doorStatus/latchStatus/boltStatus` ne sont plus créés s'ils ne sont pas pris en charge par la serrure de porte\n* Correction d'un problème où certains contrôleurs de la série 500 étaient incorrectement détectés comme ne prenant pas en charge Smart Start\n* Correction d'un problème où certains rapports entrants n'étaient pas traités pendant qu'une commande API était en cours\n* Correction d'un problème où le changement de couleur de certains appareils utilisait une durée aléatoire\n* Les modifications de valeur sont désormais également vérifiées lorsque l'appareil envoie un rapport intermédiaire\n* Réessayez la connexion initiale aux clés hébergées via TCP\n* Lorsque le stick Z-Wave est déconnecté pendant que l'adaptateur fonctionne, l'adaptateur essaiera automatiquement de se reconnecter à nouveau\n* Améliorations de la guérison et du Smart Start\n* Fichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", + "it": "Aggiornato `zwave-js` a `9.2.2`. Le modifiche notevoli includono:\n* Gli stati `doorStatus/latchStatus/boltStatus` non vengono più creati se non supportati dalla serratura\n* Risolto un problema per cui alcuni controller della serie 500 venivano rilevati erroneamente come non supportano Smart Start\n* Risolto un problema per cui alcuni rapporti in arrivo non venivano elaborati mentre era in corso un comando API\n* Risolto un problema per cui la modifica del colore di alcuni dispositivi utilizzava una durata casuale\n* Le modifiche ai valori ora vengono verificate anche quando il dispositivo invia un rapporto intermedio\n* Riprova la connessione iniziale agli stick ospitati tramite TCP\n* Quando lo stick Z-Wave viene scollegato mentre l'adattatore è in funzione, l'adattatore tenterà automaticamente di ricollegarsi\n* Miglioramenti alla guarigione e allo Smart Start\n* File di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", + "es": "Se actualizó `zwave-js` a `9.2.2`. Los cambios notables incluyen:\n* Los estados `doorStatus/latchStatus/boltStatus` ya no se crean si no son compatibles con la cerradura de la puerta\n* Se solucionó un problema por el cual algunos controladores de la serie 500 se detectaban incorrectamente como no compatibles con Smart Start\n* Se solucionó un problema por el cual algunos informes entrantes no se procesaban mientras un comando API estaba en curso\n* Se solucionó un problema por el cual cambiar el color de algunos dispositivos usaría una duración aleatoria\n* Los cambios de valor ahora también se verifican cuando el dispositivo envía un informe intermedio\n* Vuelva a intentar la conexión inicial a los dispositivos alojados a través de TCP\n* Cuando el dispositivo Z-Wave se desconecta mientras el adaptador está funcionando, el adaptador intentará volver a conectarse automáticamente\n* Mejoras en la curación y Smart Start\n* Archivos de configuración nuevos y actualizados, consulte [Versiones de Z-Wave JS] (https://github.com/zwave-js/node-zwave-js/releases) para obtener más detalles.", + "pl": "Zaktualizowano `zwave-js` do `9.2.2`. Godne uwagi zmiany obejmują:\n* Stany `doorStatus/latchStatus/boltStatus` nie są już tworzone, jeśli nie są obsługiwane przez zamek drzwi\n* Naprawiono problem polegający na tym, że niektóre kontrolery z serii 500 były błędnie wykrywane jako nieobsługujące funkcji Smart Start\n* Naprawiono problem polegający na tym, że niektóre przychodzące raporty nie były przetwarzane podczas wykonywania polecenia API\n* Naprawiono problem polegający na tym, że zmiana koloru niektórych urządzeń powodowała losowy czas trwania\n* Zmiany wartości są teraz weryfikowane również, gdy urządzenie wysyła raport pośredni\n* Spróbuj ponownie nawiązać połączenie z kijami hostowanymi przez TCP\n* Gdy kij Z-Wave zostanie odłączony, gdy adapter jest uruchomiony, adapter automatycznie spróbuje ponownie połączyć się ponownie\n* Ulepszenia leczenia i inteligentnego startu\n* Nowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases), aby uzyskać szczegółowe informacje", + "zh-cn": "将“zwave-js”更新为“9.2.2”。显着的变化包括:\n* 如果门锁不支持,则不再创建 `doorStatus/latchStatus/boltStatus` 状态\n* 修复部分 500 系列控制器会被错误检测为不支持 Smart Start 的问题\n* 修复了在执行 API 命令时无法处理某些传入报告的问题\n* 修复了更改某些设备的颜色会使用随机持续时间的问题\n* 现在,当设备发送中间报告时,值更改也会得到验证\n* 重试与通过 TCP 托管的棒的初始连接\n* 当适配器运行时 Z-Wave 摇杆断开连接,适配器将自动尝试重新连接\n* 对治疗和智能启动的改进\n* 新的和更新的配置文件,详见[Z-Wave JS 版本](https://github.com/zwave-js/node-zwave-js/releases)" + }, + "2.5.0": { + "en": "Updated `zwave-js` to `9.0.1`. This includes many changes, including the following:\n* Worked around an issue where certain 500-series controllers take too long to respond when attempting communication with unreachable nodes\n* Node queries now timeout faster if no response is received. This should avoid battery-powered nodes to go back to sleep mid-interview.\n* Add support for `Irrigation CC`\n* The legacy network cache file `.json` was converted to an appendonly `.jsonl` file in order to prevent data loss\n* Almost all CC API methods now validate their arguments, making it safer to execute custom commands from user code\n* User codes and network keys are no longer included in logfiles\n* Support for legacy devices which only support the obsolete `Multi Channel CC V1`\n* New and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", + "de": "`zwave-js` auf `9.0.1` aktualisiert. Dieses Update enthält viele Änderungen, einschließlich der folgenden:\n* Workaround für ein Problem, bei dem bestimmte Controller der 500er-Serie zu lange brauchen, um zu antworten, wenn sie versuchen, mit nicht erreichbaren Geräten zu kommunizieren\n* Abfragen laufen jetzt schneller ab, wenn keine Antwort empfangen wird. Dies sollte verhindern, dass batteriebetriebene Geräte während des Interviews einschlafen.\n* Unterstützung für `Irrigation CC` implementiert\n* Die alte Netzwerk-Cache-Datei `.json` wurde wie die restlichen Cache-Dateien in `.jsonl` konvertiert, um Datenverlust zu vermeiden\n* Fast alle CC-API-Methoden validieren jetzt ihre Argumente, wodurch es sicherer wird, benutzerdefinierte Befehle aus Benutzercode auszuführen\n* Benutzercodes und Netzwerkschlüssel sind nicht mehr in den Logdateien enthalten\n* Unterstützung für ältere Geräte, die nur die veraltete `Multi Channel CC V1` unterstützen\n* Neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS Releases](https://github.com/zwave-js/node-zwave-js/releases) für Details.", + "ru": "Обновлен `zwave-js` до `9.0.1`. Это включает в себя множество изменений, в том числе следующие:\n* Исправлена проблема, из-за которой некоторые контроллеры серии 500 слишком долго реагировали на попытки установить связь с недоступными узлами.\n* Запросы к узлу теперь истекают быстрее, если ответ не получен. Это должно предотвратить переход узлов с батарейным питанием в спящий режим во время интервью.\n* Добавлена поддержка «Ирригация CC».\n* Устаревший файл сетевого кэша `.json` был преобразован в файл `.jsonl` только для добавления, чтобы предотвратить потерю данных.\n* Почти все методы CC API теперь проверяют свои аргументы, что делает более безопасным выполнение пользовательских команд из пользовательского кода.\n* Коды пользователей и сетевые ключи больше не включаются в лог-файлы.\n* Поддержка устаревших устройств, которые поддерживают только устаревшую версию Multi Channel CC V1.\n* Новые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", + "pt": "Atualizado `zwave-js` para `9.0.1`. Isso inclui muitas mudanças, incluindo o seguinte:\n* Resolvemos um problema em que determinados controladores da série 500 demoram muito para responder ao tentar se comunicar com nós inacessíveis\n* As consultas de nó agora expiram mais rapidamente se nenhuma resposta for recebida. Isso deve evitar que os nós alimentados por bateria voltem a dormir no meio da entrevista.\n* Adicione suporte para `Irrigação CC`\n* O arquivo de cache de rede legado `.json` foi convertido em um arquivo `.jsonl` somente anexado para evitar perda de dados\n* Quase todos os métodos da API CC agora validam seus argumentos, tornando mais seguro executar comandos personalizados a partir do código do usuário\n* Códigos de usuário e chaves de rede não estão mais incluídos nos arquivos de log\n* Suporte para dispositivos legados que suportam apenas o obsoleto `Multi Channel CC V1`\n* Arquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", + "nl": "`zwave-js` geüpdatet naar `9.0.1`. Dit omvat veel wijzigingen, waaronder de volgende:\n* Er is een probleem opgelost waarbij bepaalde controllers uit de 500-serie er te lang over deden om te reageren wanneer ze probeerden te communiceren met onbereikbare nodes\n* Node-query's time-out nu sneller als er geen reactie wordt ontvangen. Dit zou moeten voorkomen dat op batterijen werkende knooppunten halverwege het interview weer in slaap vallen.\n* Ondersteuning toevoegen voor `Irrigation CC`\n* Het legacy netwerkcachebestand `.json` is geconverteerd naar een appendonly `.jsonl`-bestand om gegevensverlies te voorkomen\n* Bijna alle CC API-methoden valideren nu hun argumenten, waardoor het veiliger is om aangepaste opdrachten uit gebruikerscode uit te voeren\n* Gebruikerscodes en netwerksleutels worden niet langer opgenomen in logbestanden\n* Ondersteuning voor oudere apparaten die alleen de verouderde `Multi Channel CC V1` . ondersteunen\n* Nieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", + "fr": "Mise à jour de `zwave-js` vers `9.0.1`. Cela inclut de nombreux changements, dont les suivants :\n* Résolution d'un problème où certains contrôleurs de la série 500 mettent trop de temps à répondre lors d'une tentative de communication avec des nœuds inaccessibles\n* Les requêtes de nœud expirent désormais plus rapidement si aucune réponse n'est reçue. Cela devrait éviter que les nœuds alimentés par batterie se remettent en veille au milieu de l'entretien.\n* Ajout de la prise en charge de `Irrigation CC`\n* Le fichier de cache réseau hérité `.json` a été converti en un fichier annexe uniquement `.jsonl` afin d'éviter la perte de données\n* Presque toutes les méthodes de l'API CC valident désormais leurs arguments, ce qui rend plus sûre l'exécution de commandes personnalisées à partir du code utilisateur\n* Les codes utilisateur et les clés réseau ne sont plus inclus dans les fichiers journaux\n* Prise en charge des appareils hérités qui ne prennent en charge que l'obsolète `Multi Channel CC V1`\n* Fichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", + "it": "Aggiornato `zwave-js` a `9.0.1`. Ciò include molte modifiche, tra cui le seguenti:\n* Risolto un problema per cui alcuni controller della serie 500 impiegano troppo tempo a rispondere quando tentavano di comunicare con nodi irraggiungibili\n* Le query sui nodi ora scadono più rapidamente se non viene ricevuta alcuna risposta. Ciò dovrebbe evitare che i nodi alimentati a batteria tornino a dormire durante l'intervista.\n* Aggiungi il supporto per \"Irrigation CC\".\n* Il file della cache di rete legacy `.json` è stato convertito in un file appendonly `.jsonl` per prevenire la perdita di dati\n* Quasi tutti i metodi dell'API CC ora convalidano i propri argomenti, rendendo più sicuro l'esecuzione di comandi personalizzati dal codice utente\n* I codici utente e le chiavi di rete non sono più inclusi nei file di registro\n* Supporto per dispositivi legacy che supportano solo l'obsoleto `Multi Channel CC V1`\n* File di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", + "es": "Se actualizó `zwave-js` a `9.0.1`. Esto incluye muchos cambios, incluidos los siguientes:\n* Se solucionó un problema en el que ciertos controladores de la serie 500 tardan demasiado en responder cuando intentan comunicarse con nodos inalcanzables\n* Las consultas de nodo ahora agotan el tiempo de espera más rápido si no se recibe una respuesta. Esto debería evitar que los nodos alimentados por batería vuelvan a dormirse a mitad de la entrevista.\n* Agregar soporte para `Irrigation CC`\n* El archivo de caché de red heredado `.json` se convirtió en un archivo adjunto `.jsonl` para evitar la pérdida de datos\n* Casi todos los métodos de la API de CC ahora validan sus argumentos, lo que hace que sea más seguro ejecutar comandos personalizados desde el código del usuario.\n* Los códigos de usuario y las claves de red ya no se incluyen en los archivos de registro\n* Compatibilidad con dispositivos heredados que solo admiten el obsoleto `Multi Channel CC V1`\n* Archivos de configuración nuevos y actualizados, consulte [Versiones de Z-Wave JS] (https://github.com/zwave-js/node-zwave-js/releases) para obtener más detalles.", + "pl": "Zaktualizowano `zwave-js` do `9.0.1`. Obejmuje to wiele zmian, w tym następujące:\n* Rozwiązano problem polegający na tym, że niektóre kontrolery z serii 500 reagowały zbyt długo podczas próby komunikacji z nieosiągalnymi węzłami\n* Zapytania o węzły teraz szybciej wygasają, jeśli nie zostanie odebrana żadna odpowiedź. Powinno to zapobiec ponownemu usypianiu węzłów zasilanych bateryjnie w trakcie rozmowy kwalifikacyjnej.\n* Dodaj obsługę `Irrigation CC`\n* Starszy plik pamięci podręcznej sieci `.json` został przekonwertowany na plik `.jsonl` zawierający tylko załączniki, aby zapobiec utracie danych\n* Prawie wszystkie metody CC API sprawdzają teraz swoje argumenty, dzięki czemu wykonywanie niestandardowych poleceń z kodu użytkownika jest bezpieczniejsze\n* Kody użytkownika i klucze sieciowe nie są już zawarte w plikach dziennika\n* Obsługa starszych urządzeń, które obsługują tylko przestarzałą wersję `Multi Channel CC V1`\n* Nowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases), aby uzyskać szczegółowe informacje", + "zh-cn": "将“zwave-js”更新为“9.0.1”。这包括许多更改,包括以下内容:\n* 解决了某些 500 系列控制器在尝试与无法访问的节点通信时响应时间过长的问题\n* 如果没有收到响应,节点查询现在超时更快。这应该避免电池供电的节点在采访中重新进入睡眠状态。\n* 添加对“灌溉 CC”的支持\n* 旧的网络缓存文件 `.json` 被转换为 appendonly `.jsonl` 文件,以防止数据丢失\n* 几乎所有 CC API 方法现在都会验证它们的参数,从而更安全地从用户代码执行自定义命令\n* 用户代码和网络密钥不再包含在日志文件中\n* 支持仅支持过时的“多通道 CC V1”的旧设备\n* 新的和更新的配置文件,详见[Z-Wave JS 版本](https://github.com/zwave-js/node-zwave-js/releases)" + }, + "2.4.5": { + "en": "Update `zwave-js` to `8.11.6`\nAfter healing, battery-powered nodes are sent back to sleep again\nAdded a workaround for thermostats that don't advertise all their supported thermostat modes. When such a thermostat enters such an \"unsupported\" mode, the mode is now dynamically added to the list of supported modes.\nNew and updated configuration files, see [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) for details", + "de": "`zwave-js` auf `8.11.6` aktualisiert\n Nach dem Heilen werden batteriebetriebene Geräte wieder schlafen geschickt.\n Es wurde ein Workaround für Thermostate hinzugefügt, die nicht alle ihre unterstützten Thermostatmodi verraten. Wenn ein solches Thermostat in einen angeblich \"nicht unterstützten\" Modus geht, wird dieser nun dynamisch zur Liste der unterstützten Modi hinzugefügt.\n Neue und aktualisierte Konfigurationsdateien, siehe [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) für Details", + "ru": "Обновите zwave-js до версии 8.11.6.\nПосле лечения узлы с батарейным питанием снова отправляются в спящий режим.\nДобавлен обходной путь для термостатов, которые не объявляют все поддерживаемые ими режимы термостата. Когда такой термостат переходит в такой «неподдерживаемый» режим, этот режим теперь динамически добавляется в список поддерживаемых режимов.\nНовые и обновленные файлы конфигурации, подробности см. в [релизах Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases).", + "pt": "Atualize `zwave-js` para `8.11.6`\nApós a cura, os nós alimentados por bateria são enviados de volta ao modo de suspensão novamente\nAdicionada uma solução alternativa para termostatos que não anunciam todos os modos de termostato compatíveis. Quando esse termostato entra em um modo \"não suportado\", o modo agora é adicionado dinamicamente à lista de modos suportados.\nArquivos de configuração novos e atualizados, consulte [versões Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obter detalhes", + "nl": "Update `zwave-js` naar `8.11.6`\nNa genezing worden nodes op batterijen weer in slaapstand gestuurd\nEen tijdelijke oplossing toegevoegd voor thermostaten die niet alle ondersteunde thermostaatmodi adverteren. Wanneer zo'n thermostaat in zo'n \"niet-ondersteunde\" modus komt, wordt de modus nu dynamisch toegevoegd aan de lijst met ondersteunde modi.\nNieuwe en bijgewerkte configuratiebestanden, zie [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) voor details", + "fr": "Mettre à jour `zwave-js` vers `8.11.6`\nAprès la guérison, les nœuds alimentés par batterie sont remis en veille\nAjout d'une solution de contournement pour les thermostats qui n'annoncent pas tous leurs modes de thermostat pris en charge. Lorsqu'un tel thermostat entre dans un tel mode \"non pris en charge\", le mode est désormais dynamiquement ajouté à la liste des modes pris en charge.\nFichiers de configuration nouveaux et mis à jour, voir [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) pour plus de détails", + "it": "Aggiorna `zwave-js` a `8.11.6`\nDopo la guarigione, i nodi alimentati a batteria vengono rimandati nuovamente in stato di stop\nAggiunta una soluzione alternativa per i termostati che non pubblicizzano tutte le modalità di termostato supportate. Quando un tale termostato entra in una tale modalità \"non supportata\", la modalità viene ora aggiunta dinamicamente all'elenco delle modalità supportate.\nFile di configurazione nuovi e aggiornati, vedere [Z-Wave JS releases](https://github.com/zwave-js/node-zwave-js/releases) per i dettagli", + "es": "Actualice `zwave-js` a `8.11.6`\nDespués de la curación, los nodos alimentados por batería se vuelven a poner en reposo.\nSe agregó una solución alternativa para los termostatos que no anuncian todos los modos de termostato admitidos. Cuando un termostato de este tipo ingresa a un modo \"no compatible\", el modo ahora se agrega dinámicamente a la lista de modos compatibles.\nArchivos de configuración nuevos y actualizados, consulte [Lanzamientos de Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) para obtener detalles", + "pl": "Zaktualizuj `zwave-js` do `8.11.6`\nPo wyleczeniu węzły zasilane bateryjnie są ponownie usypiane\nDodano obejście dla termostatów, które nie reklamują wszystkich obsługiwanych trybów termostatu. Gdy taki termostat wejdzie w taki „nieobsługiwany” tryb, tryb ten jest teraz dynamicznie dodawany do listy obsługiwanych trybów.\nNowe i zaktualizowane pliki konfiguracyjne, zobacz [Wersje Z-Wave JS](https://github.com/zwave-js/node-zwave-js/releases) po szczegóły", + "zh-cn": "将“zwave-js”更新为“8.11.6”\n愈合后,电池供电的节点再次被送回睡眠状态\n为不宣传所有受支持的恒温器模式的恒温器添加了解决方法。当这样的恒温器进入这样的“不支持”模式时,该模式现在被动态添加到支持的模式列表中。\n新的和更新的配置文件,详见[Z-Wave JS 发布](https://github.com/zwave-js/node-zwave-js/releases)" + }, + "2.4.3": { + "en": "Updated translations\nUpdated `zwave-js` from `8.9.1` to `8.11.2`. Check out the [releases](https://github.com/zwave-js/node-zwave-js/releases) for a detailed overview over the new and changed configuration files.\nAdd support for `Humidity Control Mode CC`\nAdd support for `Humidity Control Operating State CC`\nAdd support for `Humidity Control Setpoint CC`\nWork around an issue where some devices could not be interviewed due to an incorrect `Version CC` response.\nFixed an issue where `Supervision Get` requests were not answered for sleeping nodes\nRe-interviewing sleeping nodes now only resets the known information when the node wakes up\nThe `colors` dependency was recently [corrupted on purpose](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). This patch updates all dependencies that depended on an affected version, directly or indirectly.", + "de": "Übersetzungen aktualisiert\n`zwave-js` wurde von `8.9.1` auf `8.11.2` wurde aktualisiert. Eine detaillierte Übersicht über die neuen und geänderten Konfigurationsdateien ist unter [releases](https://github.com/zwave-js/node-zwave-js/releases) zu finden.\nUnterstützung für `Humidity Control Mode CC` hinzugefügt\nUnterstützung für `Humidity Control Operating State CC` hinzugefügt\nUnterstützung für `Humidity Control Setpoint CC` zugefügt\nWorkaround für einige Geräte, die aufgrund fehlerhafter `Version CC`-Antworten nicht interviewt werden konnten.\nEin Problem wurde behoben, bei dem `Supervision Get`-Anfragen für schlafende Knoten nicht beantwortet wurden.\nEin Re-Interview schlafender Knoten setzt die bekannten Informationen nun erst zurück, wenn der Knoten aufwacht\nDie `colors`-Abhängigkeit wurde kürzlich [absichtlich beschädigt](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Alle Abhängigkeiten, die direkt oder indirekt von einer betroffenen Version abhängen, wurden aktualisiert oder getauscht, um das Problem zu beheben.", + "ru": "Обновленные переводы\nОбновлен zwave-js с 8.9.1 до 8.11.2. Ознакомьтесь с [выпусками](https://github.com/zwave-js/node-zwave-js/releases) для подробного обзора новых и измененных файлов конфигурации.\nДобавлена поддержка «Режима контроля влажности CC».\nДобавлена поддержка «Рабочее состояние контроля влажности CC».\nДобавлена поддержка «Уставка контроля влажности CC».\nРешение проблемы, из-за которой некоторые устройства не могли быть проинтервьюированы из-за неправильного ответа «Версия CC».\nИсправлена ошибка, из-за которой запросы «Получить контроль» не отвечали для спящих узлов.\nПовторный опрос спящих узлов теперь сбрасывает известную информацию только тогда, когда узел просыпается.\nНедавно зависимость `colors` была [преднамеренно повреждена] (https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Этот патч обновляет все зависимости, прямо или косвенно зависящие от затронутой версии.", + "pt": "Traduções atualizadas\nAtualizado `zwave-js` de `8.9.1` para `8.11.2`. Confira os [lançamentos](https://github.com/zwave-js/node-zwave-js/releases) para obter uma visão geral detalhada dos arquivos de configuração novos e alterados.\nAdicionar suporte para `Modo de controle de umidade CC`\nAdicionar suporte para \"Estado operacional de controle de umidade CC\"\nAdicionada compatibilidade com `Humidity Control Setpoint CC`\nContorne um problema em que alguns dispositivos não puderam ser entrevistados devido a uma resposta incorreta da \"Versão CC\".\nCorrigido um problema em que as solicitações `Supervision Get` não eram respondidas para nós adormecidos\nRe-entrevistar nós adormecidos agora apenas redefine as informações conhecidas quando o nó acorda\nA dependência `colors` foi recentemente [corrompida de propósito](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Este patch atualiza todas as dependências que dependiam de uma versão afetada, direta ou indiretamente.", + "nl": "Bijgewerkte vertalingen\n`zwave-js` bijgewerkt van `8.9.1` naar `8.11.2`. Bekijk de [releases](https://github.com/zwave-js/node-zwave-js/releases) voor een gedetailleerd overzicht van de nieuwe en gewijzigde configuratiebestanden.\nOndersteuning toevoegen voor `Vochtigheidscontrolemodus CC`\nOndersteuning toevoegen voor `Vochtigheidsregeling Bedrijfstoestand CC`\nOndersteuning toevoegen voor `Vochtigheidsregeling Setpoint CC`\nOmzeil een probleem waarbij sommige apparaten niet konden worden geïnterviewd vanwege een onjuist 'Versie CC'-antwoord.\nEr is een probleem opgelost waarbij 'Supervision Get'-verzoeken niet werden beantwoord voor slapende nodes\nDoor slapende knooppunten opnieuw te interviewen, wordt nu alleen de bekende informatie gereset wanneer het knooppunt wakker wordt\nDe 'kleuren'-afhankelijkheid is onlangs [met opzet beschadigd](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Deze patch werkt alle afhankelijkheden bij die afhankelijk waren van een getroffen versie, direct of indirect.", + "fr": "Traductions mises à jour\nMise à jour de `zwave-js` de `8.9.1` à `8.11.2`. Consultez les [versions](https://github.com/zwave-js/node-zwave-js/releases) pour un aperçu détaillé des fichiers de configuration nouveaux et modifiés.\nAjout de la prise en charge du \"Mode de contrôle de l'humidité CC\"\nAjout de la prise en charge de \"l'état de fonctionnement du contrôle de l'humidité CC\"\nAjout de la prise en charge de `Consigne de contrôle de l'humidité CC`\nContournez un problème où certains appareils n'ont pas pu être interrogés en raison d'une réponse incorrecte \"Version CC\".\nCorrection d'un problème où les requêtes \"Supervision Get\" n'obtenaient pas de réponse pour les nœuds en veille\nLa ré-interview des nœuds endormis ne réinitialise désormais les informations connues que lorsque le nœud se réveille\nLa dépendance `colors` a été récemment [corrompue exprès](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Ce correctif met à jour toutes les dépendances qui dépendaient d'une version affectée, directement ou indirectement.", + "it": "Traduzioni aggiornate\nAggiornato `zwave-js` da `8.9.1` a `8.11.2`. Dai un'occhiata a [releases](https://github.com/zwave-js/node-zwave-js/releases) per una panoramica dettagliata sui file di configurazione nuovi e modificati.\nAggiunto il supporto per \"Modalità di controllo dell'umidità CC\".\nAggiunto il supporto per \"Humidity Control Operating State CC\".\nAggiunto il supporto per 'Humidity Control Setpoint CC'\nRisolvi un problema per cui alcuni dispositivi non potevano essere intervistati a causa di una risposta errata \"Version CC\".\nRisolto un problema per cui le richieste \"Ottieni supervisione\" non ricevevano risposta per i nodi dormienti\nLa nuova intervista dei nodi dormienti ora reimposta le informazioni note solo quando il nodo si riattiva\nLa dipendenza \"colors\" è stata recentemente [corrotta apposta](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Questa patch aggiorna tutte le dipendenze che dipendevano da una versione interessata, direttamente o indirettamente.", + "es": "Traducciones actualizadas\nSe actualizó `zwave-js` de `8.9.1` a `8.11.2`. Consulte [lanzamientos] (https://github.com/zwave-js/node-zwave-js/releases) para obtener una descripción detallada de los archivos de configuración nuevos y modificados.\nAgregue soporte para `Modo de control de humedad CC`\nAgregue soporte para `Estado operativo de control de humedad CC`\nAgregue soporte para `Punto de ajuste de control de humedad CC`\nSolucione un problema en el que algunos dispositivos no se podían entrevistar debido a una respuesta incorrecta de la \"Versión CC\".\nSe solucionó un problema por el cual las solicitudes de \"Obtener supervisión\" no se respondían para los nodos inactivos.\nVolver a entrevistar a los nodos dormidos ahora solo restablece la información conocida cuando el nodo se despierta\nLa dependencia `colors` se [corrompió a propósito] recientemente (https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Este parche actualiza todas las dependencias que dependían de una versión afectada, directa o indirectamente.", + "pl": "Zaktualizowane tłumaczenia\nZaktualizowano `zwave-js` z `8.9.1` do `8.11.2`. Sprawdź [wydanie](https://github.com/zwave-js/node-zwave-js/releases), aby uzyskać szczegółowy przegląd nowych i zmienionych plików konfiguracyjnych.\nDodaj obsługę `Trybu kontroli wilgotności CC`\nDodaj obsługę `Stan operacyjny kontroli wilgotności CC`\nDodaj obsługę `Nastawy kontroli wilgotności CC`\nObejdź problem polegający na tym, że niektóre urządzenia nie mogły zostać przesłuchane z powodu nieprawidłowej odpowiedzi „Wersja CC”.\nNaprawiono problem polegający na tym, że żądania „Uzyskanie nadzoru” nie były odbierane dla uśpionych węzłów\nPonowne przesłuchanie śpiących węzłów resetuje teraz znane informacje tylko wtedy, gdy węzeł się budzi\nZależność „kolorów” została niedawno [celowo uszkodzona](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected). Ta poprawka aktualizuje wszystkie zależności zależne od wersji, której dotyczy problem, bezpośrednio lub pośrednio.", + "zh-cn": "更新的翻译\n将 `zwave-js` 从 `8.9.1` 更新为 `8.11.2`。查看 [releases](https://github.com/zwave-js/node-zwave-js/releases) 以详细了解新的和更改的配置文件。\n添加对“湿度控制模式 CC”的支持\n添加对“湿度控制运行状态 CC”的支持\n添加对“湿度控制设定点 CC”的支持\n解决由于“版本 CC”响应不正确而无法访问某些设备的问题。\n修复了休眠节点的“监督获取”请求未得到响应的问题\n重新访问睡眠节点现在仅在节点唤醒时重置已知信息\n`colors` 依赖项最近 [故意损坏](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected)。此补丁直接或间接更新依赖于受影响版本的所有依赖项。" + } }, - "native": { - "serialport": "", - "writeLogFile": false, - "networkKey_S0": "", - "networkKey_S2_AccessControl": "", - "networkKey_S2_Authenticated": "", - "networkKey_S2_Unauthenticated": "", - "driver_increaseTimeouts": false, - "driver_increaseSendAttempts": false, - "switchCompat": false, - "preserveStateNames": false, - "notificationEventValidity": 1000, - "disableSoftReset": false + "title": "Z-Wave 2", + "titleLang": { + "en": "Z-Wave 2", + "de": "Z-Wave 2", + "ru": "Z-Wave 2", + "pt": "Z-Wave 2", + "nl": "Z-Wave 2", + "fr": "Z-Wave 2", + "it": "Z-Wave 2", + "es": "Z-Wave 2", + "pl": "Z-Wave 2", + "zh-cn": "Z-Wave 2" }, - "objects": [], - "instanceObjects": [ - { - "_id": "info", - "type": "channel", - "common": { - "name": "Information" - }, - "native": {} - }, - { - "_id": "info.connection", - "type": "state", - "common": { - "role": "indicator.connected", - "name": "Whether the Z-Wave driver is ready", - "type": "boolean", - "read": true, - "write": false, - "def": false - }, - "native": {} - }, - { - "_id": "info.inclusion", - "type": "state", - "common": { - "role": "indicator", - "name": "Whether the inclusion of nodes is active", - "type": "boolean", - "read": true, - "write": false, - "def": false - }, - "native": {} - }, - { - "_id": "info.exclusion", - "type": "state", - "common": { - "role": "state", - "name": "Whether the exclusion of nodes is active", - "type": "boolean", - "read": true, - "write": true, - "def": false - }, - "native": {} - }, - { - "_id": "info.healingNetwork", - "type": "state", - "common": { - "role": "state", - "name": "Whether a network heal is currently in progress", - "type": "boolean", - "read": true, - "write": false, - "def": false - }, - "native": {} - }, - { - "_id": "info.configVersion", - "type": "state", - "common": { - "role": "state", - "name": "The installed version of the Z-Wave JS configuration DB", - "type": "string", - "read": true, - "write": false - }, - "native": {} - }, - { - "_id": "info.configUpdate", - "type": "state", - "common": { - "role": "state", - "name": "The version of an available update for the Z-Wave JS configuration DB", - "type": "string", - "read": true, - "write": false - }, - "native": {} - }, - { - "_id": "info.configUpdating", - "type": "state", - "common": { - "role": "state", - "name": "Whether the adapter is currently updating the Z-Wave JS configuration DB", - "type": "boolean", - "read": true, - "write": false, - "def": false - }, - "native": {} - } + "desc": { + "en": "The better Z-Wave integration", + "de": "Die bessere Z-Wave-Integration", + "ru": "Лучшая интеграция Z-Wave", + "pt": "A melhor integração do Z-Wave", + "nl": "De betere Z-Wave-integratie", + "fr": "La meilleure intégration Z-Wave", + "it": "La migliore integrazione di Z-Wave", + "es": "La mejor integración de Z-Wave", + "pl": "Lepsza integracja Z-Wave", + "zh-cn": "更好的Z-Wave集成" + }, + "authors": [ + "AlCalzone " + ], + "keywords": [ + "zwave", + "z-wave", + "zwave2", + "z-wave 2" + ], + "license": "MIT", + "platform": "Javascript/Node.js", + "main": "build/main.js", + "icon": "zwave2.svg", + "enabled": true, + "dataFolder": "zwave2.%INSTANCE%", + "extIcon": "https://raw.githubusercontent.com/AlCalzone/ioBroker.zwave2/master/admin/zwave2.svg?sanitize=true", + "readme": "https://github.com/AlCalzone/ioBroker.zwave2/blob/master/README.md", + "loglevel": "info", + "mode": "daemon", + "type": "hardware", + "eraseOnUpload": true, + "compact": true, + "materialize": true, + "materializeTab": true, + "adminTab": { + "name": { + "en": "Z-Wave", + "de": "Z-Wave" + }, + "link": "", + "fa-icon": "wifi" + }, + "messagebox": true, + "connectionType": "local", + "dataSource": "push", + "dependencies": [ + { + "js-controller": ">=2.0.0" + } ] + }, + "native": { + "serialport": "", + "writeLogFile": false, + "networkKey_S0": "", + "networkKey_S2_AccessControl": "", + "networkKey_S2_Authenticated": "", + "networkKey_S2_Unauthenticated": "", + "driver_increaseTimeouts": false, + "driver_increaseSendAttempts": false, + "switchCompat": false, + "preserveStateNames": false, + "notificationEventValidity": 1000, + "disableSoftReset": false + }, + "objects": [], + "instanceObjects": [ + { + "_id": "info", + "type": "channel", + "common": { + "name": "Information" + }, + "native": {} + }, + { + "_id": "info.connection", + "type": "state", + "common": { + "role": "indicator.connected", + "name": "Whether the Z-Wave driver is ready", + "type": "boolean", + "read": true, + "write": false, + "def": false + }, + "native": {} + }, + { + "_id": "info.inclusion", + "type": "state", + "common": { + "role": "indicator", + "name": "Whether the inclusion of nodes is active", + "type": "boolean", + "read": true, + "write": false, + "def": false + }, + "native": {} + }, + { + "_id": "info.exclusion", + "type": "state", + "common": { + "role": "state", + "name": "Whether the exclusion of nodes is active", + "type": "boolean", + "read": true, + "write": true, + "def": false + }, + "native": {} + }, + { + "_id": "info.healingNetwork", + "type": "state", + "common": { + "role": "state", + "name": "Whether a network heal is currently in progress", + "type": "boolean", + "read": true, + "write": false, + "def": false + }, + "native": {} + }, + { + "_id": "info.configVersion", + "type": "state", + "common": { + "role": "state", + "name": "The installed version of the Z-Wave JS configuration DB", + "type": "string", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "info.configUpdate", + "type": "state", + "common": { + "role": "state", + "name": "The version of an available update for the Z-Wave JS configuration DB", + "type": "string", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "info.configUpdating", + "type": "state", + "common": { + "role": "state", + "name": "Whether the adapter is currently updating the Z-Wave JS configuration DB", + "type": "boolean", + "read": true, + "write": false, + "def": false + }, + "native": {} + } + ] } diff --git a/package-lock.json b/package-lock.json index c3a66cda..e9a60d42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "iobroker.zwave2", - "version": "3.0.1", + "version": "3.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "iobroker.zwave2", - "version": "3.0.1", + "version": "3.0.2", "license": "MIT", "dependencies": { "@iobroker/adapter-core": "^2.6.0", diff --git a/package.json b/package.json index 2fd10106..d714f899 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.zwave2", - "version": "3.0.1", + "version": "3.0.2", "description": "A better Z-Wave integration for ioBroker", "author": { "name": "AlCalzone",