MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/netdata/usr/local/share/netdata/web/v3/2248.7be3ceeeaefebfc78740.chunk.js
try{!function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},s=(new e.Error).stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="4b65c4f4-40f1-4ff1-8e71-151f1c574875",e._sentryDebugIdIdentifier="sentry-dbid-4b65c4f4-40f1-4ff1-8e71-151f1c574875")}()}catch(e){}!function(){try{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"f4547e36230aa8f74486618baff2f1a6f3242a7f"}}catch(e){}}(),(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[2248],{1457:(e,s,r)=>{r.d(s,{Rq:()=>i,oL:()=>o,u:()=>a,ue:()=>n});var l=r(52035),t=r(84929);const n={items:[],error:"",id:null,loading:!0,loaded:!1},i=(0,t.Iz)((()=>(0,l.eU)(0))),o=(0,t.Iz)((e=>(0,l.eU)({...n,id:e}))),a=(0,t.Iz)((()=>(0,l.eU)(null)))},34646:(e,s,r)=>{r.d(s,{FX:()=>n,ON:()=>o,Uj:()=>a,Zl:()=>t,lG:()=>i,lt:()=>d});var l=r(91130);const t=e=>l.A.get(`/api/v3/spaces/${e}/scim`),n=(e,s)=>e?l.A.get(`/api/v3/spaces/${s}/scim/${e}`):Promise.resolve({data:null}),i=(e,s)=>l.A.post(`/api/v3/spaces/${e}/scim`,s),o=(e,s,r)=>l.A.patch(`/api/v3/spaces/${s}/scim/${e}`,r),a=(e,s)=>l.A.delete(`/api/v3/spaces/${s}/scim/${e}`),d=(e,s)=>e?l.A.post(`/api/v3/spaces/${s}/scim/${e}/rotate-token`):Promise.resolve({data:null})},52248:(e,s,r)=>{r.r(s),r.d(s,{default:()=>le});var l=r(86177),t=r(99728),n=r(53746),i=r(63956);const o=()=>{(0,n.A)();const{loaded:e,items:s}=(0,i.Xy)(),{available:r,SCIMID:l}=e?(s||[])[0]:{};return{scimItemsLoaded:e,scimAvailable:r,scimId:l}};r(98992),r(54520),r(81454),r(37550);var a=r(96540),d=r(34843),c=r(52035),u=r(84929),m=r(91130);var p=r(57377);const g=(0,u.Iz)((e=>{let{spaceId:s,scimId:r}=e;return(0,u.Rq)((0,c.eU)((()=>(e=>{let{spaceId:s,scimId:r}=e;return m.A.get(`/api/v3/spaces/${s}/scim/${r}/membership-rules/options`)})({spaceId:s,scimId:r}))))}),p.Ay),h=(e,s,r)=>{const{state:l,data:t,error:n}=r(e);return r(s)||{loaded:"loading"!==l,rules:t?.data||[],hasError:"hasError"===l,error:n}},I=(0,u.Iz)((()=>(0,c.eU)(0)),p.Ay),b=(0,u.Iz)((e=>{let{spaceId:s,scimId:r}=e;const l=(0,u.Rq)((0,c.eU)((e=>(e(I({spaceId:s,scimId:r})),(e=>{let{spaceId:s,scimId:r}=e;return m.A.get(`/api/v3/spaces/${s}/scim/${r}/membership-rules`)})({spaceId:s,scimId:r}))))),t=(0,u.tx)();return(0,c.eU)((e=>h(l,t,e)),((e,n,i)=>{if(i===u.Ut)return n(t,u.Ut),void n(I({spaceId:s,scimId:r}),(e=>e+1));const o=h(l,t,e);n(t,"function"===typeof i?i(o):i)}))}),p.Ay);var x=r(24609);const f="new-scim-rule",v=e=>{let{scimId:s}=e;const r=(0,x.vt)(),l=(0,d.md)(g({spaceId:r,scimId:s}));return{loaded:"loading"!==l.state,options:l.data?.data||{},hasError:"hasError"===l.state,error:l.error}},y=e=>{let{scimId:s}=e;const r=(0,x.vt)();return(0,d.Xr)(b({spaceId:r,scimId:s}))};var j=r(47090);const C=e=>{let{scimId:s}=e;const{loaded:r,hasError:l,options:t,error:n}=v({scimId:s}),{loaded:i,rules:o,hasError:c,error:u}=(e=>{let{scimId:s}=e;const r=(0,x.vt)();return(0,d.md)(b({spaceId:r,scimId:s}))})({scimId:s}),m=r&&i,p=m&&(l||c),g=m&&!p&&0===o.length,h=p?n||u:null,I=h?(0,j.o)(h.response?.data?.errorMsgKey):null,y=(0,a.useMemo)((()=>(t?.groups||[]).filter((e=>{let{id:s}=e;return!(o||[]).map((e=>{let{scimGroupID:s}=e;return s})).includes(s)}))),[t,o]),C=(0,a.useMemo)((()=>(o||[]).some((e=>{let{role:s}=e;return"admin"===s}))),[o]),A=(0,a.useMemo)((()=>m&&!!y.length&&!o.some((e=>{let{id:s}=e;return s===f}))),[m,o,y]);return{loaded:m,rules:o,unassignedGroups:y,adminExists:C,showEmptyRules:g,canAddNewRule:A,hasError:p,error:I}};var A=r(74848);const E=e=>{let{children:s}=e;return(0,A.jsx)(l.Flex,{"data-testid":"scim-groups-empty-rules",height:"100%",alignItems:"center",justifyContent:"center",children:(0,A.jsx)(l.Flex,{width:{max:"562px"},column:!0,gap:4,alignItems:"center",children:s})})},k=e=>{let{scimId:s,...r}=e;const t=(e=>{let{scimId:s}=e;const r=y({scimId:s}),l={id:f,isEdit:!0};return(0,a.useCallback)((()=>{r((e=>({...e,rules:[...e?.rules||[],l]})))}),[r])})({scimId:s});return(0,A.jsx)(l.Button,{...r,onClick:t})},S=(0,a.memo)((e=>{let{scimId:s}=e;return(0,A.jsxs)(E,{children:[(0,A.jsx)(l.TextBig,{textAlign:"center",lineHeight:"20px",children:"Here you can create rules to automatically assign users to roles and rooms based on the SCIM group they belong."}),(0,A.jsx)(l.Box,{children:(0,A.jsx)(k,{label:"Create a new rule",large:!0,scimId:s})})]})}));var w=r(6304),M=r(63872);const D=e=>{let{scimId:s,onSuccess:r}=e;const l=(0,x.vt)(),[t,,n,i]=(0,w.A)(),[o,d]=(0,M.A)(),c=(0,a.useCallback)((e=>{n(),(e=>{let{spaceId:s,scimId:r,payload:l}=e;return m.A.post(`/api/v3/spaces/${s}/scim/${r}/membership-rules`,l)})({spaceId:l,scimId:s,payload:e}).then((e=>{let{data:s}=e;o({header:"Success",text:"Successfully created SCIM membership rule."}),"function"===typeof r&&r(s)})).catch((e=>{d(e)})).finally((()=>{i()}))}),[s,n,i,r,o,d]);return{loading:t,create:c}},R=e=>{let{scimId:s,onSuccess:r}=e;const l=(0,x.vt)(),[t,,n,i]=(0,w.A)(),[o,d]=(0,M.A)(),c=(0,a.useCallback)((e=>{const{id:t,...a}=e;n(),(e=>{let{spaceId:s,scimId:r,ruleId:l,payload:t}=e;return m.A.put(`/api/v3/spaces/${s}/scim/${r}/membership-rules/${l}`,t)})({spaceId:l,scimId:s,ruleId:t,payload:a}).then((e=>{let{data:s}=e;o({header:"Success",text:"Successfully updated SCIM membership rule."}),"function"===typeof r&&r(s)})).catch((e=>{d(e)})).finally((()=>{i()}))}),[s,n,i,r,o,d]);return{loading:t,update:c}},U=e=>{let{scimId:s,onSuccess:r}=e;const l=(0,x.vt)(),[t,,n,i]=(0,w.A)(),[o,d]=(0,M.A)(),c=(0,a.useCallback)((e=>{n(),(e=>{let{spaceId:s,scimId:r,ruleId:l}=e;return m.A.delete(`/api/v3/spaces/${s}/scim/${r}/membership-rules/${l}`)})({spaceId:l,scimId:s,ruleId:e}).then((e=>{o({header:"Success",text:"Successfully deleted SCIM membership rule."}),"function"===typeof r&&r(e)})).catch((e=>{d(e)})).finally((()=>{i()}))}),[s,n,i,r,o,d]);return{loading:t,deleteRule:c}},$=e=>{let{scimId:s,rule:r={}}=e;const[l,t]=(0,a.useState)(r),[n,,i,o]=(0,w.A)(),{id:d,scimGroupID:c,role:u,roomIDs:m,isEdit:g}=l,h=(e=>{let{scimId:s}=e;const r=y({scimId:s});return(0,a.useCallback)((function(e){let s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r((r=>{const l=(r.rules||[]).map((r=>r.id===e?{...r,isEdit:s}:r));return{...r,rules:l}}))}))})({scimId:s}),I=(e=>{let{scimId:s}=e;const r=y({scimId:s});return(0,a.useCallback)((e=>{r((s=>{const r=(s.rules||[]).filter((s=>s.id!==e));return{...s,rules:r}}))}))})({scimId:s}),b=(e=>{let{scimId:s}=e;const r=y({scimId:s});return(0,a.useCallback)(((e,s)=>{r((r=>{const l=(r.rules||[]).map((r=>r.id===e?s:r));return{...r,rules:l}}))}))})({scimId:s}),x=(0,a.useCallback)((e=>{b(d,e)}),[d,b]),v=(0,a.useCallback)((()=>{I(d),o()}),[I,o]),{loading:j,create:C}=D({scimId:s,onSuccess:x}),{loading:A,update:E}=R({scimId:s,onSuccess:x}),{loading:k,deleteRule:S}=U({scimId:s,onSuccess:v}),M=j||A||k,$=(0,a.useMemo)((()=>!(0,p.Ay)(r,l)),[r,l]),G=(0,a.useMemo)((()=>d===f&&$),[d,$]),T=(0,a.useMemo)((()=>g&&!!c&&!!u&&m?.length||!1),[g,c,u,m?.length]),B=(0,a.useMemo)((()=>g&&$&&r?.id!==f),[r?.id,g,$]),F=(0,a.useCallback)((e=>s=>{const r=Array.isArray(s)?s.map((e=>{let{value:s}=e;return s})):s.value;t((s=>({...s,[e]:r})))}),[t]),N=(0,a.useCallback)((()=>{h(d)}),[d,h]),P=(0,a.useCallback)((()=>{h(r.id,!1),t(r)}),[r,$,h,t]),L=(0,a.useCallback)((()=>{(d===f?C:E)({id:d,scimGroupID:c,role:u,roomIDs:m})}),[d,c,u,m,C]),z=(0,a.useCallback)((()=>{d===f?I(d):S(d)}),[d,S,I]),_=(0,a.useCallback)((()=>{d!==f||$?i():z(d)}),[d,$,i,z]);return(0,a.useEffect)((()=>{t(r)}),[r,t]),{loading:M,scimGroupID:c,roomIDs:m,role:u,isEdit:g,canSave:T,canUndo:B,confirmationOpen:n,isNewUnsaved:G,onGroupChange:F("scimGroupID"),onRoleChange:F("role"),onRoomsChange:F("roomIDs"),onEdit:N,onReset:P,onSave:L,onDelete:_,onConfirmDelete:z,onDeclineDelete:o}};r(72577);var G=r(77148);const T=(0,a.memo)((e=>{let{isEdit:s,label:r,value:t,options:n,isMulti:i,disabled:o,onChange:d,error:c}=e;const u=s?l.Text:l.TextBig,m=(0,a.useMemo)((()=>n.filter((e=>{let{hidden:s}=e;return!s}))),[n]),p=(0,a.useMemo)((()=>i?n.filter((e=>(t||[]).includes(e.value))):n.find((e=>e.value===t))),[t,i]),g=(0,a.useMemo)((()=>Array.isArray(p)?p.map((e=>{let{label:s}=e;return s})).join(", "):p?.label||""),[p]);return c?(0,A.jsxs)(l.Flex,{alignItems:"center",gap:1,children:[(0,A.jsx)(l.Icon,{name:"warning_triangle",size:"small",color:"warning"}),(0,A.jsx)(l.Text,{children:c})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(l.Flex,{alignItems:"center",gap:2,children:[(0,A.jsxs)(u,{children:[r,s?"":":"]}),s?(0,A.jsx)(l.Select,{value:p,options:m,isMulti:i,disabled:o,onChange:d}):(0,A.jsx)(u,{strong:!0,children:g})]}),s?null:(0,A.jsx)(G.A,{vertical:!0,height:"20px",color:"border"})]})})),B=e=>{let{scimId:s,isEdit:r,label:l,value:t,onChange:n,unassignedGroups:i,...o}=e;const{loaded:d,options:c,hasError:u}=v({scimId:s}),m=(0,a.useMemo)((()=>i.map((e=>{let{id:s}=e;return s}))),[i]),p=(0,a.useMemo)((()=>(c?.groups||[]).map((e=>{let{id:s,displayName:r}=e;return{label:r,value:s,hidden:!m.includes(s)}}))),[c?.groups,m]),g=u?"Error on fetching groups":null;return d?(0,A.jsx)(T,{isEdit:r,label:l,value:t,options:p,onChange:n,error:g,...o}):null},F=e=>{let{scimId:s,isEdit:r,label:l,value:t,onChange:n}=e;const{loaded:i,options:o,hasError:d}=v({scimId:s}),c=(0,a.useMemo)((()=>(o?.roles||[]).map((e=>({label:e,value:e})))),[o?.roles]),u=d?"Error on fetching roles":null;return i?(0,A.jsx)(T,{isEdit:r,label:l,value:t,options:c,onChange:n,error:u}):null},N=e=>{let{scimId:s,isEdit:r,label:l,value:t,onChange:n}=e;const{loaded:i,options:o,hasError:d}=v({scimId:s}),c=(0,a.useMemo)((()=>(o?.rooms||[]).map((e=>{let{id:s,name:r}=e;return{label:r,value:s}}))),[o?.rooms]),u=d?"Error on fetching rooms":null;return i?(0,A.jsx)(T,{isEdit:r,label:l,value:t,options:c,isMulti:!0,onChange:n,error:u}):null},P=e=>{let{isUnsaved:s,onConfirm:r,onDecline:t}=e;const n=s?"You are going to remove this item that has some unsaved changes.":"You are going to completely remove this rule and this action cannot be reverted.";return(0,A.jsx)(l.ConfirmationDialog,{title:"Delete item?",handleConfirm:r,handleDecline:t,confirmLabel:"Yes, delete",declineLabel:"Close",backdropContainerProps:{zIndex:"120"},message:(0,A.jsxs)(l.Flex,{column:!0,gap:2,children:[(0,A.jsx)(l.TextBig,{children:n}),(0,A.jsx)(l.TextBig,{children:"Are you sure that you want to delete this item?"})]})})};var L=r(74891);const z=(0,r(94404).A)((0,L.A)(l.Button)),_=e=>({group:e?"Users that belong to group":"Group",role:e?"will be assigned the role of":"Role",rooms:e?"and will be added to room(s)":"Rooms"}),X=e=>{let{scimId:s,rule:r,unassignedGroups:t}=e;const{loading:n,scimGroupID:i,roomIDs:o,role:a,isEdit:d,canSave:c,canUndo:u,confirmationOpen:m,isNewUnsaved:p,onGroupChange:g,onRoleChange:h,onRoomsChange:I,onEdit:b,onReset:x,onSave:f,onDelete:v,onConfirmDelete:y,onDeclineDelete:j}=$({scimId:s,rule:r});return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(l.Flex,{"data-testid":"scim-groups-rule-container",flex:"grow",alignItems:"center",justifyContent:"between",padding:[4],border:{side:"all",color:"border"},children:[(0,A.jsxs)(l.Flex,{alignItems:"center",gap:2,children:[(0,A.jsx)(B,{scimId:s,label:_(d).group,value:i,isEdit:d,disabled:n,onChange:g,unassignedGroups:t}),(0,A.jsx)(F,{scimId:s,label:_(d).role,value:a,isEdit:d,disabled:n,onChange:h}),(0,A.jsx)(N,{scimId:s,label:_(d).rooms,value:o,isEdit:d,disabled:n,onChange:I})]}),(0,A.jsxs)(l.Flex,{alignItems:"center",gap:2,children:[u?(0,A.jsx)(z,{flavour:"borderless",neutral:!0,icon:"refresh",disabled:n,onClick:x,tooltip:"Undo changes",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Undo rules changes"}}):null,d?(0,A.jsx)(z,{flavour:"borderless",neutral:!0,icon:"save",disabled:n||!c,onClick:f,tooltip:"Save",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Save rule"}}):(0,A.jsx)(z,{flavour:"borderless",neutral:!0,icon:"pencilOutline",disabled:n,onClick:b,tooltip:"Edit",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Edit rule"}}),(0,A.jsx)(z,{flavour:"borderless",danger:!0,icon:"trashcan",disabled:n,onClick:v,tooltip:"Delete",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Delete rule"}})]})]}),m?(0,A.jsx)(P,{isUnsaved:p,onConfirm:y,onDecline:j}):null]})};var Y=r(60908);const q=e=>{let{adminExists:s}=e;const r=(0,a.useMemo)((()=>s?"All groups have been configured":"No space administrators were assigned"),[s]),t=(0,a.useMemo)((()=>({name:s?"check":"warning_triangle",color:s?"primary":"error"})),[s]);return(0,A.jsxs)(l.Flex,{alignItems:"center",gap:2,children:[(0,A.jsx)(l.Icon,{...t}),(0,A.jsx)(l.TextBig,{children:r})]})},O=e=>{let{scimId:s,rules:r,canAddNewRule:t,unassignedGroups:n,adminExists:i}=e;return(0,A.jsx)(Y.Ay,{feature:"ScimMembershipRules",children:(0,A.jsxs)(l.Flex,{"data-testid":"scim-groups-rules-list",column:!0,gap:4,children:[r.map((e=>(0,A.jsx)(X,{scimId:s,rule:e,unassignedGroups:n},e.id))),n.length?(0,A.jsx)(l.Box,{children:(0,A.jsx)(k,{label:"Add new",scimId:s,disabled:!t})}):(0,A.jsx)(q,{adminExists:i})]})})};var Z=r(29022),H=r(55093);const J=e=>{let{scimId:s}=e;const{loaded:r,rules:t,unassignedGroups:n,adminExists:i,showEmptyRules:o,canAddNewRule:a,hasError:d,error:c}=C({scimId:s});return r?d?(0,A.jsx)(Z.A,{title:"Error",children:(0,A.jsx)(l.TextBig,{children:c})}):o?(0,A.jsx)(S,{scimId:s}):(0,A.jsx)(O,{scimId:s,rules:t,canAddNewRule:a,unassignedGroups:n,adminExists:i}):(0,A.jsx)(H.A,{title:"Loading..."})};var K=r(88934),Q=r(89942),V=r(61841),W=r(88325);const ee=(0,a.memo)((e=>{let{scimAvailable:s}=e;const r=(0,K.Zp)(),[t]=(0,V.Ay)(),{url:n}=(0,W.A)(),i=s?"You do not have any SCIM integration activated. Please activate a SCIM integration first, and then you will be able to configure user groups.":"This feature is only available to paid plans.",o=(0,a.useCallback)((()=>{const e=(0,Q.PP)();(0,Q.Z8)({...e,userManagementActiveTab:1}),r(`/spaces/${t}/settings/users`,{replace:!0})}),[t,Q.PP,Q.Z8,r]),d=(0,a.useCallback)((()=>{r(n,{replace:!0})}),[n,r]),c=(0,a.useMemo)((()=>({label:s?"Activate SCIM integration":"Upgrade now!",onClick:s?o:d,large:!0,textTransform:""})),[s,o,d]);return(0,A.jsxs)(E,{children:[(0,A.jsx)(l.TextBigger,{textAlign:"center",lineHeight:"20px",children:i}),(0,A.jsx)(l.Box,{children:(0,A.jsx)(l.Button,{...c})})]})})),se=()=>{const{scimItemsLoaded:e,scimAvailable:s,scimId:r}=o();return e?r?(0,A.jsx)(J,{scimId:r}):(0,A.jsx)(ee,{scimAvailable:s}):(0,A.jsx)(H.A,{title:"Loading..."})},re=()=>(0,A.jsx)(Z.A,{title:"No permissions",children:(0,A.jsx)(l.TextBig,{children:"You don't have permissions to view this page"})}),le=e=>{const s=(0,t.JT)("oidc:Manage");return(0,A.jsx)(Y.Ay,{tab:"ScimUserGroups",children:(0,A.jsx)(l.Flex,{"data-testid":"scim-groups-manager",column:!0,gap:4,height:"100%",overflow:{vertical:"auto"},flex:"grow",padding:[4,4,0,4],...e,children:s?(0,A.jsx)(se,{}):(0,A.jsx)(re,{})})})}},53746:(e,s,r)=>{r.d(s,{A:()=>a});var l=r(34646),t=r(24609),n=r(32052),i=r(1457),o=r(63956);const a=()=>{const e=(0,t.vt)(),s=(0,o.cP)(e),r=(0,o.Bc)();(0,n.A)((()=>({enabled:!!e,fetch:()=>(0,l.Zl)(e),onFail:e=>s({...i.ue,error:e?.response?.data||e}),onSettle:()=>s({loading:!1,loaded:!0}),onSuccess:e=>{s({...i.ue,items:e||[]})}})),[r,e])}},63956:(e,s,r)=>{r.d(s,{Bc:()=>u,Hy:()=>I,Xy:()=>h,cP:()=>g,dI:()=>b,nB:()=>m});var l=r(96540),t=r(52035),n=r(34843),i=r(84929),o=r(24609),a=r(1457),d=r(34646),c=r(57377);const u=()=>{const e=(0,o.vt)();return(0,n.md)((0,a.Rq)(e))},m=()=>{const e=(0,o.vt)(),s=(0,n.Xr)((0,a.Rq)(e));return(0,l.useCallback)((()=>s((e=>e+1))),[s])},p=(0,i.Iz)((e=>{let{id:s,key:r}=e;return(0,t.eU)((e=>{const l=e((0,a.oL)(s));return r?l[r]:l}),((e,l,t)=>{l((0,a.oL)(s),(e=>r?{...e,[r]:t}:{...e,...t}))}))}),c.Ay),g=(e,s)=>(0,n.Xr)(p({id:e,key:s})),h=e=>{const s=(0,o.vt)();return(0,n.md)(p({id:s,key:e}))},I=e=>(0,n.fp)((0,a.u)(e)),b=e=>{const s=(0,o.vt)(),[r,t]=I(s);return{integration:r,create:(0,l.useCallback)((function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,d.lG)(s,{integrationID:e,...r})}),[s]),update:(0,l.useCallback)((function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,d.ON)(e,s,r)}),[e,s]),remove:(0,l.useCallback)((()=>(0,d.Uj)(e,s).then((()=>(t(null),Promise.resolve())))),[e,s,t]),rotateToken:(0,l.useCallback)((()=>(0,d.lt)(e,s)),[e,s])}}}}]);