init.js (1811458B)
1 (self.webpackChunkelement_web=self.webpackChunkelement_web||[]).push([[5385],{"./res/img/element-desktop-logo.svg"(e,t,n){"use strict";n.d(t,{A:()=>s});n("./node_modules/react/index.js");const s="img/element-desktop-logo.f4b4c62.svg"},"./res/img/element-icons/email-prompt.svg"(e,t,n){"use strict";n.d(t,{A:()=>u,I:()=>d});var s,o,i,r,a=n("./node_modules/react/index.js");function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},l.apply(null,arguments)}var c=function(e,t){return a.createElement("svg",l({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 57 46",role:"presentation","aria-hidden":!0,ref:t},e),s||(s=a.createElement("path",{fill:"#737d8c",d:"M4 17c-.5 0-.975.096-1.416.264L20 34.68l17.416-17.416A4 4 0 0 0 36 17ZM.264 19.584A4 4 0 0 0 0 21v21a4 4 0 0 0 4 4h32a4 4 0 0 0 4-4V21c0-.5-.096-.975-.264-1.416L21.16 38.16a1.6 1.6 0 0 1-.533.356 1.6 1.6 0 0 1-.627.125 1.6 1.6 0 0 1-.627-.125 1.6 1.6 0 0 1-.533-.356z"})),o||(o=a.createElement("path",{fill:"#0dbd8b",fillOpacity:.1,d:"M57 16a16 16 0 0 1-16 16 16 16 0 0 1-16-16A16 16 0 0 1 41 0a16 16 0 0 1 16 16"})),i||(i=a.createElement("path",{fill:"#fff",d:"M53 16a12 12 0 0 1-12 12 12 12 0 0 1-12-12A12 12 0 0 1 41 4a12 12 0 0 1 12 12"})),r||(r=a.createElement("path",{fill:"#0dbd8b",d:"M49 16a8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8 8 8 0 0 1 8 8"})))},d=(0,a.forwardRef)(c);const u="img/element-icons/email-prompt.67a8ba4.svg"},"./res/img/icon-email-pill-avatar.svg"(e,t,n){"use strict";n.d(t,{A:()=>c,I:()=>l});var s,o,i=n("./node_modules/react/index.js");function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},r.apply(null,arguments)}var a=function(e,t){return i.createElement("svg",r({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 65.631 67.981",role:"presentation","aria-hidden":!0,ref:t},e),s||(s=i.createElement("defs",null,i.createElement("filter",{id:"icon-email-pill-avatar_svg__a",width:1.118,height:1.158,x:-.059,y:-.079,filterUnits:"objectBoundingBox"},i.createElement("feOffset",{dy:2,in:"SourceAlpha",result:"shadowOffsetOuter1"}),i.createElement("feGaussianBlur",{in:"shadowOffsetOuter1",result:"shadowBlurOuter1",stdDeviation:16}),i.createElement("feColorMatrix",{in:"shadowBlurOuter1",result:"shadowMatrixOuter1",values:"0 0 0 0 0 0 0 0 0 0.473684211 0 0 0 0 1 0 0 0 0.241258741 0"}),i.createElement("feMerge",null,i.createElement("feMergeNode",{in:"shadowMatrixOuter1"}),i.createElement("feMergeNode",{in:"SourceGraphic"}))))),o||(o=i.createElement("g",{fill:"none",fillRule:"evenodd",stroke:"#368bd6",strokeLinecap:"round",strokeLinejoin:"round",filter:"url(#icon-email-pill-avatar_svg__a)",transform:"translate(-1493.716 -795.144)scale(3.40907)"},i.createElement("g",{transform:"translate(441.5 237.5)"},i.createElement("circle",{cx:6.286,cy:5.714,r:2.286}),i.createElement("path",{d:"M8.571 3.429v2.857a1.714 1.714 0 1 0 3.429 0v-.572a5.714 5.714 0 1 0-2.24 4.537"})))))},l=(0,i.forwardRef)(a);const c="img/icon-email-pill-avatar.a6d2e88.svg"},"./res/img/location/live-location.svg"(e,t,n){"use strict";n.d(t,{I:()=>a});var s,o=n("./node_modules/react/index.js");function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},i.apply(null,arguments)}var r=function(e,t){return o.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 26 14",role:"presentation","aria-hidden":!0,ref:t},e),s||(s=o.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M3.654 13.153a.87.87 0 0 0 .063-1.173c-2.41-2.93-2.41-7.185-.007-10.121A.885.885 0 0 0 3.654.673a.89.89 0 0 0-1.318.063c-2.93 3.582-2.93 8.765 0 12.354a.885.885 0 0 0 1.318.063m2.529-2.529a.885.885 0 0 0 .081-1.148 4.43 4.43 0 0 1 0-5.12.89.89 0 0 0-.081-1.148l-.007-.006c-.376-.377-1.016-.352-1.324.081a6.22 6.22 0 0 0 0 7.266c.314.433.948.458 1.33.075m7.132-9.585c-2.429 0-4.392 2.018-4.392 4.512 0 2.688 2.773 6.394 3.915 7.805.25.31.709.31.96 0 1.136-1.411 3.909-5.117 3.909-7.805 0-2.494-1.964-4.512-4.392-4.512m0 6.123c-.866 0-1.569-.722-1.569-1.611 0-.89.703-1.611 1.569-1.611s1.568.721 1.568 1.61-.702 1.612-1.568 1.612m8.994 4.818a.87.87 0 0 0 .063 1.173.885.885 0 0 0 1.318-.063c2.93-3.589 2.93-8.772 0-12.354a.89.89 0 0 0-1.318-.063.885.885 0 0 0-.056 1.186c2.403 2.936 2.403 7.19-.007 10.12m-2.547-2.504a.885.885 0 0 0 .081 1.148c.383.383 1.017.358 1.33-.075a6.22 6.22 0 0 0 0-7.266c-.307-.433-.947-.458-1.323-.081l-.007.006a.89.89 0 0 0-.081 1.148 4.43 4.43 0 0 1 0 5.12",clipRule:"evenodd"})))},a=(0,o.forwardRef)(r)},"./src/audio/RecorderWorklet.ts"(e,t,n){e.exports=n.p+"recorder.worklet.js"},"./src/@types/media_preview.ts"(e,t,n){"use strict";n.d(t,{E:()=>o,M:()=>s});let s=function(e){return e.On="on",e.Private="private",e.Off="off",e}({});const o="io.element.msc4278.media_preview_config"},"./src/Avatar.ts"(e,t,n){"use strict";n.d(t,{$R:()=>y,_V:()=>p,gx:()=>g,iv:()=>_,r4:()=>v,ze:()=>b});var s=n("./node_modules/@vector-im/compound-web/dist/components/Avatar/useIdColorHash.js"),o=n("./src/utils/DMRoomMap.ts"),i=n("./src/customisations/Media.ts"),r=n("./src/utils/localRoom/isLocalRoom.ts"),a=n("./src/utils/strings.ts"),l=n("./src/settings/watchers/ThemeWatcher.ts");const c=["#e0f8d9","#e3f5f8","#faeefb","#f1efff","#ffecf0","#ffefe4"],d=["#005f00","#00548c","#822198","#5d26cd","#9f0850","#9b2200"],u=["#002600","#001b4e","#37004e","#22006a","#450018","#470000"],m=["#56c02c","#21bacd","#d991de","#ad9cfe","#fe84a2","#f6913d"];function p(e,t,n,s){let o;return null!=e&&e.getMxcAvatarUrl()&&(o=(0,i.mediaFromMxc)(e.getMxcAvatarUrl()).getThumbnailOfSourceHttp(t,n,s)),o||(o=_(e?e.userId:"")),o}function h(){return"dark"===(new l.A).getEffectiveTheme()}function g(e){const t=(0,s.K)(e);return h()?m[t-1]:d[t-1]}function v(e,t,n,s){return e.avatarUrl?(0,i.mediaFromMxc)(e.avatarUrl).getThumbnailOfSourceHttp(t,n,s):null}const f=new Map;function _(e){if(!e)return"";const t=(0,s.K)(e),n=`--avatar-background-colors_${t}`,o=getComputedStyle(document.body).getPropertyValue(n)||h()?u[t-1]:c[t-1];let i=f.get(o);return i||(!function(e){return"string"==typeof e&&(7===e.length||9===e.length)&&e.startsWith("#")&&!e.slice(1).split("").some(e=>isNaN(parseInt(e,16)))}(o)?i="":(i=function(e){const t=document.createElement("canvas");t.width=40,t.height=40;const n=t.getContext("2d");return n?(n.fillStyle=e,n.fillRect(0,0,40,40),t.toDataURL()):""}(o),f.set(o,i))),i}function y(e){if(!e)return void console.trace("`name` argument to `getInitialLetter` not supplied");if(e.length<1)return;const t=e[0];return"@"!==t&&"#"!==t&&"+"!==t||!e[1]||(e=e.substring(1)),(0,a.Ee)(e).toUpperCase()}function b(e,t,n,s,a){if(!e)return null;const l=null!=a?a:e.getMxcAvatarUrl();if(l){const e=(0,i.mediaFromMxc)(l);return void 0!==t&&void 0!==n?e.getThumbnailOfSourceHttp(t,n,s):e.srcHttp}if(e.isSpaceRoom())return null;if(!o.A.shared().getUserIdForRoomId(e.roomId)&&!(0,r.F)(e))return null;const c=e.getAvatarFallbackMember();if(null!=c&&c.getMxcAvatarUrl()){const e=(0,i.mediaFromMxc)(c.getMxcAvatarUrl());return void 0!==t&&void 0!==n?e.getThumbnailOfSourceHttp(t,n,s):e.srcHttp}return null}},"./src/BasePlatform.ts"(e,t,n){"use strict";n.d(t,{FL:()=>v,ot:()=>_,U7:()=>f,Kn:()=>y,Ay:()=>w});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/dispatcher/dispatcher.ts"),a=n("./src/dispatcher/actions.ts"),l=n("./src/toasts/UpdateToast.tsx"),c=n("./src/MatrixClientPeg.ts"),d=n("./src/utils/StorageAccess.ts"),u=n("./src/SdkConfig.ts"),m=n("./node_modules/matrix-js-sdk/src/base64.ts");function p(e,t){const n=new Uint8Array(e.length+t.length+1);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);n[e.length]=124;for(let s=0;s<t.length;s++)n[e.length+1+s]=t.charCodeAt(s);return n}var h=n("./src/favicon.ts");async function g(e){const t=new URL(e,window.location.href);t.searchParams.set("cachebuster",Date.now().toString());const n=await fetch(t,{cache:"no-cache",method:"GET"});return 404===n.status||0===n.status?{}:n.ok?n.json():void 0}const v="mx_sso_hs_url",f="mx_sso_is_url",_="mx_sso_idp_id";let y=function(e){return e.Checking="CHECKING",e.Error="ERROR",e.NotAvailable="NOTAVAILABLE",e.Downloading="DOWNLOADING",e.Ready="READY",e}({});const b="mx_defer_update";class w{constructor(){(0,s.A)(this,"notificationCount",0),(0,s.A)(this,"errorDidOccur",!1),(0,s.A)(this,"_favicon",void 0),(0,s.A)(this,"initialised",Promise.resolve(void 0)),r.A.register(this.onAction.bind(this)),this.startUpdateCheck=this.startUpdateCheck.bind(this)}async getConfig(){return async function(e=""){""===e||e.endsWith("/")||(e+="/");let t=window.location.hostname.trimEnd();t.endsWith(".")&&(t=t.slice(0,-1));const n=g(`${e}config.${t}.json`),s=g(e+"config.json");try{const e=await n;if(!e||0===Object.keys(e).length)throw new Error;return e}catch{return s}}()}onAction(e){switch(e.action){case a.r.ClientNotViable:case a.r.OnLoggedOut:this.setNotificationCount(0)}}setNotificationCount(e){this.notificationCount!==e&&(this.notificationCount=e,this.updateFavicon())}setErrorStatus(e){this.errorDidOccur!==e&&(this.errorDidOccur=e,this.updateFavicon())}async canSelfUpdate(){return!1}startUpdateCheck(){(0,l.Y)(),localStorage.removeItem(b),r.A.dispatch({action:a.r.CheckUpdates,status:y.Checking})}installUpdate(){}shouldShowUpdate(e){if(c.J.userRegisteredWithinLastHours(24))return!1;try{const[t,n]=JSON.parse(localStorage.getItem(b));return e!==t||Date.now()>n}catch{return!0}}deferUpdate(e){const t=new Date(Date.now()+864e5);t.setHours(8,0,0,0),localStorage.setItem(b,JSON.stringify([e,t.getTime()])),(0,l.Y)()}supportsSpellCheckSettings(){return!1}allowOverridingNativeContextMenus(){return!1}supportsNotifications(){return!1}maySendNotifications(){return!1}displayNotification(e,t,n,s,i){const l={body:t,silent:!0};n&&(l.icon=n);const c=new window.Notification(e,l);c.onclick=()=>{const e={action:a.r.ViewRoom,room_id:s.roomId,metricsTrigger:"Notification"};null!=i&&i.getThread()&&(e.event_id=i.getId()),r.A.dispatch(e),window.focus()};const d=()=>c.close();return i&&(i.once(o.MatrixEventEvent.BeforeRedaction,d),c.onclose=()=>{i.off(o.MatrixEventEvent.BeforeRedaction,d)}),c}loudNotification(e,t){}clearNotification(e){e.close&&e.close()}needsUrlTooltips(){return!1}supportsSetting(e){return!1}async getSettingValue(e){}setSettingValue(e,t){throw new Error("Unimplemented")}getEventIndexingManager(){return null}setLanguage(e){}setSpellCheckEnabled(e){}async getSpellCheckEnabled(){return!1}setSpellCheckLanguages(e){}getSpellCheckLanguages(){return null}async getDesktopCapturerSources(e){return[]}supportsDesktopCapturer(){return!1}supportsJitsiScreensharing(){return!0}overrideBrowserShortcuts(){return!1}navigateForwardBack(e){}getAvailableSpellCheckLanguages(){return null}getSSOCallbackUrl(e=""){const t=new URL(window.location.href);return t.hash=e,t}startSingleSignOn(e,t,n,s,o){localStorage.setItem(v,e.getHomeserverUrl()),e.getIdentityServerUrl()&&localStorage.setItem(f,e.getIdentityServerUrl()),s&&localStorage.setItem(_,s);const i=this.getSSOCallbackUrl(n);window.location.href=e.getSsoLoginUrl(i.toString(),t,s,o)}async getPickleKey(e,t){var n;let s;try{s=await(0,d.Gt)("pickleKey",[e,t])}catch(e){i.vF.error("idbLoad for pickleKey failed",e)}return null!==(n=await async function(e,t,n){var s;if(null!==(s=crypto)&&void 0!==s&&s.subtle&&e&&e.encrypted&&e.iv&&e.cryptoKey)try{const s=p(t,n),o=await crypto.subtle.decrypt({name:"AES-GCM",iv:e.iv,additionalData:s},e.cryptoKey,e.encrypted);if(o)return(0,m.PP)(new Uint8Array(o))}catch{i.vF.error("Error decrypting pickle key")}}(s,e,t))&&void 0!==n?n:null}async createPickleKey(e,t){const n=new Uint8Array(32);crypto.getRandomValues(n);const s=await async function(e,t,n){var s;if(null===(s=crypto)||void 0===s||!s.subtle)return;const o=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!1,["encrypt","decrypt"]),i=new Uint8Array(32);crypto.getRandomValues(i);const r=p(t,n);return{encrypted:await crypto.subtle.encrypt({name:"AES-GCM",iv:i,additionalData:r},o,e),iv:i,cryptoKey:o}}(n,e,t);if(void 0===s)return null;try{await(0,d.x7)("pickleKey",[e,t],s)}catch{return null}return(0,o.encodeUnpaddedBase64)(n)}async destroyPickleKey(e,t){try{await(0,d.N6)("pickleKey",[e,t])}catch(e){i.vF.error("idbDelete failed in destroyPickleKey",e)}}async clearStorage(){window.sessionStorage.clear(),window.localStorage.clear()}get baseUrl(){return window.location.origin+window.location.pathname}get defaultOidcClientUri(){return window.location.origin}async getOidcClientMetadata(){var e,t,n,s,o,i,r,a,l,c;const d=u.Ay.get();return{clientName:d.brand,clientUri:null!==(e=null===(t=d.oidc_metadata)||void 0===t?void 0:t.client_uri)&&void 0!==e?e:this.defaultOidcClientUri,redirectUris:[this.getOidcCallbackUrl().href],logoUri:null!==(n=null===(s=d.oidc_metadata)||void 0===s?void 0:s.logo_uri)&&void 0!==n?n:new URL("vector-icons/1024.png",this.baseUrl).href,applicationType:"web",contacts:null===(o=d.oidc_metadata)||void 0===o?void 0:o.contacts,tosUri:null!==(i=null===(r=d.oidc_metadata)||void 0===r?void 0:r.tos_uri)&&void 0!==i?i:null===(a=d.terms_and_conditions_links)||void 0===a||null===(a=a[0])||void 0===a?void 0:a.url,policyUri:null!==(l=null===(c=d.oidc_metadata)||void 0===c?void 0:c.policy_uri)&&void 0!==l?l:d.privacy_policy_url}}getOidcClientState(){return""}getOidcCallbackUrl(){const e=new URL(window.location.href);return e.hash="",e.searchParams.set("no_universal_links","true"),e}get favicon(){return this._favicon||(this._favicon=new h.A),this._favicon}updateFavicon(){const e=this.notificationCount;this.errorDidOccur&&this.favicon.badge(e||"×",{bgColor:"#f00"}),this.favicon.badge(e)}startUpdater(){}}},"./src/DateUtils.ts"(e,t,n){"use strict";n.d(t,{Ah:()=>S,Ak:()=>p,DE:()=>R,F0:()=>m,GX:()=>_,Lu:()=>v,Pr:()=>I,U:()=>b,VG:()=>g,Xo:()=>r.Xo,Yq:()=>h,a3:()=>k,ej:()=>A,fU:()=>y,fq:()=>E,fw:()=>C,rm:()=>f,td:()=>x});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/languageHandler.tsx"),i=n("./src/TimezoneHandler.ts"),r=n("./packages/shared-components/dist/element-web-shared-components.js");function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const c=6e4,d=36e5,u=864e5;function m(e="short"){const{format:t}=new Intl.DateTimeFormat((0,o.mf)(),{weekday:e,timeZone:"UTC"});return[...Array(7).keys()].map(e=>t(16725744e5+e*u))}function p(e){return{hourCycle:e?"h12":"h23"}}function h(e,t=!1,n){const s=null!=n?n:(0,o.mf)(),r=new Date;return e.toDateString()===r.toDateString()?y(e,t,s):r.getTime()-e.getTime()<6*u?new Intl.DateTimeFormat(s,l(l({},p(t)),{},{weekday:"short",hour:"numeric",minute:"2-digit",timeZone:(0,i.dB)()})).format(e):r.getFullYear()===e.getFullYear()?new Intl.DateTimeFormat(s,l(l({},p(t)),{},{weekday:"short",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:(0,i.dB)()})).format(e):v(e,t,!1,s)}function g(e,t){return new Intl.DateTimeFormat(null!=t?t:(0,o.mf)(),{weekday:"short",month:"short",day:"numeric",year:"numeric",timeZone:(0,i.dB)()}).format(e)}function v(e,t=!1,n=!0,s){return new Intl.DateTimeFormat(null!=s?s:(0,o.mf)(),l(l({},p(t)),{},{weekday:"short",month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:n?"2-digit":void 0,timeZone:(0,i.dB)()})).format(e)}function f(e){return`${`${e.getFullYear()}`.padStart(4,"0")}-${`${e.getMonth()+1}`.padStart(2,"0")}-${`${e.getDate()}`.padStart(2,"0")}`}function _(e,t=!1,n){return new Intl.DateTimeFormat(null!=n?n:(0,o.mf)(),l(l({},p(t)),{},{hour:"numeric",minute:"2-digit",second:"2-digit",timeZone:(0,i.dB)()})).format(e)}function y(e,t=!1,n){return new Intl.DateTimeFormat(null!=n?n:(0,o.mf)(),l(l({},p(t)),{},{hour:"numeric",minute:"2-digit",timeZone:(0,i.dB)()})).format(e)}function b(e){const t=Math.floor(e/3600).toFixed(0),n=Math.floor(e%3600/60).toFixed(0),s=Math.floor(e%3600%60).toFixed(0);return"0"!==t?(0,o._t)("time|hours_minutes_seconds_left",{hours:t,minutes:n,seconds:s}):"0"!==n?(0,o._t)("time|minutes_seconds_left",{minutes:n,seconds:s}):(0,o._t)("time|seconds_left",{seconds:s})}function w(e,t){return Math.abs(e.getTime()-t.getTime())<=u}function E(e,t){return!(!t||!e)&&(!w(e,t)||e.getDay()!==t.getDay())}function A(e){const t=(0,o.mf)();return(0,o._t)("time|date_at_time",{date:e.toLocaleDateString(t).replace(/\//g,"-"),time:e.toLocaleTimeString(t).replace(/:/g,"-")})}function x(e){return e.toISOString()}function S(e,t){return new Intl.DateTimeFormat(null!=t?t:(0,o.mf)(),{year:"numeric",month:"numeric",day:"numeric",timeZone:(0,i.dB)()}).format(e)}function C(e,t=!1){const n=new Date;if(w(s=e,i=n)&&s.getDay()===i.getDay())return y(e,t);{let t=`${function(e="short"){const{format:t}=new Intl.DateTimeFormat((0,o.mf)(),{month:e,timeZone:"UTC"});return[...Array(12).keys()].map(e=>t(Date.UTC(2021,e)))}()[e.getMonth()]} ${e.getDate()}`;return function(e,t){return e.getFullYear()===t.getFullYear()}(e,n)||(t+=`, ${e.getFullYear()}`),t}var s,i}function k(e){return e>=u?(0,o._t)("time|short_days",{value:Math.round(e/u)}):e>=d?(0,o._t)("time|short_hours",{value:Math.round(e/d)}):e>=c?(0,o._t)("time|short_minutes",{value:Math.round(e/c)}):(0,o._t)("time|short_seconds",{value:Math.round(e/1e3)})}function R(e){const t=Math.floor(e/u),n=Math.floor(e%u/d),s=Math.floor(e%d/c),i=Math.floor(e%c/1e3);return t>0?(0,o._t)("time|short_days_hours_minutes_seconds",{days:t,hours:n,minutes:s,seconds:i}):n>0?(0,o._t)("time|short_hours_minutes_seconds",{hours:n,minutes:s,seconds:i}):s>0?(0,o._t)("time|short_minutes_seconds",{minutes:s,seconds:i}):(0,o._t)("time|short_seconds",{value:i})}const I=(e,t)=>new Intl.DateTimeFormat(null!=t?t:(0,o.mf)(),{day:"2-digit",month:"2-digit",year:"2-digit",timeZone:(0,i.dB)()}).format(e)},"./src/Editing.ts"(e,t,n){"use strict";n.d(t,{O:()=>s,S:()=>o});const s=(e,t)=>`mx_edit_room_${e}_${t}`,o=e=>`mx_edit_state_${e}`},"./src/HtmlUtils.tsx"(e,t,n){"use strict";n.d(t,{SR:()=>P,XZ:()=>f.XZ,aA:()=>H,aS:()=>k,bk:()=>R,hk:()=>I,kz:()=>f.kz,nr:()=>x,qy:()=>L,rR:()=>B,sH:()=>V});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/sanitize-html/index.js"),r=n.n(i),a=n("./node_modules/classnames/index.js"),l=n.n(a),c=n("./node_modules/katex/dist/katex.mjs"),d=n("./node_modules/html-entities/dist/esm/index.js"),u=n("./node_modules/escape-html/index.js"),m=n.n(u),p=n("./node_modules/@matrix-org/emojibase-bindings/build/emoji.js"),h=n("./src/settings/SettingsStore.ts"),g=n("./src/utils/Reply.ts"),v=n("./src/utils/UrlUtils.ts"),f=n("./src/Linkify.tsx"),_=n("./src/utils/strings.ts");function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const w=/([\ud800-\udbff])([\udc00-\udfff])/,E=/([\u2100-\u2bff])/,A=/[\u200B\s]/g,x=(()=>{try{return new RegExp("\\p{RGI_Emoji}(?!\\uFE0E)(?:(?<!\\uFE0F)\\uFE0F)?|[\\u{1f1e6}-\\u{1f1ff}]","v")}catch{return/(?!)/}})(),S=(()=>{try{return new RegExp(`^(${x.source})+$`,"iv")}catch{return/(?!)/}})();function C(e){return!!e&&(w.test(e)||E.test(e))}function k(e){var t;const n=null===(t=(0,p.getEmojiFromUnicode)(e))||void 0===t?void 0:t.shortcodes;return null!=n&&n.length?`:${n[0]}:`:""}function R(e){const t=r()(e,f.h4);return o.createElement("div",{dangerouslySetInnerHTML:{__html:t},dir:"auto"})}function I(e){return r()(e,{allowedTags:[],allowedAttributes:{},selfClosing:[],allowedSchemes:[],disallowedTagsMode:"discard"})}function P(e){try{return v._f.includes(new URL(e).protocol.slice(0,-1))}catch{return!1}}const T=b(b({},f.h4),{},{transformTags:{code:f.Gx.code,"*":f.Gx["*"]}}),O=b(b({},f.h4),{},{allowedTags:["font","del","s","a","sup","sub","b","i","u","strong","em","strike","br","div","span"]});class M{constructor(e,t){this.highlightClass=e,this.highlightLink=t}applyHighlights(e,t){let n,s=0,o=[];const i=t[0];for(;(n=e.toLowerCase().indexOf(i.toLowerCase(),s))>=0;){if(n>s){const i=e.substring(s,n);o=o.concat(this.applySubHighlights(i,t))}const r=n+i.length;o.push(this.processSnippet(e.substring(n,r),!0)),s=r}if(s!==e.length){const n=e.substring(s,void 0);o=o.concat(this.applySubHighlights(n,t))}return o}applySubHighlights(e,t){return t[1]?this.applyHighlights(e,t.slice(1)):[this.processSnippet(e,!1)]}}class N extends M{processSnippet(e,t){if(!t)return e;let n=`<span class="${this.highlightClass}">${e}</span>`;return this.highlightLink&&(n=`<a href="${encodeURI(this.highlightLink)}">${n}</a>`),n}}const j=e=>`<span class='mx_Emoji' title='${k(e)}'>${e}</span>`,D=(e,t)=>o.createElement("span",{key:t,className:"mx_Emoji",title:k(e)},e);function U(e,t){const n=t?j:D,s=[];if(!e)return s;let o="",i=0;for(const t of _.eL.segment(e))x.test(t.segment)?(o&&(s.push(o),o=""),s.push(n(t.segment,i)),i++):o+=t.segment;return o&&s.push(o),s}function F(e,t,n={}){var s;let o=f.h4;var i,a,l,u;(n.forComposerQuote&&(o=T),!1===n.mediaIsVisible&&null!==(s=o.transformTags)&&void 0!==s&&s.img&&(o=b(b({},o),{},{transformTags:b(b({},o.transformTags),{},{img:e=>({tagName:e,attribs:{}})})})),n.linkify)&&(o=b({},o),null!==(a=(i=o).allowedClasses)&&void 0!==a||(i.allowedClasses={}),"boolean"==typeof o.allowedClasses.a||(null!==(u=(l=o.allowedClasses).a)&&void 0!==u||(l.a=[]),o.allowedClasses.a.push("linkified")));try{const s="org.matrix.custom.html"===e.format&&"string"==typeof e.formatted_body;let i,a=!1,l=!1;const u=null==t?void 0:t.filter(e=>!e.includes("<")).map(e=>r()(e,o));let p="string"==typeof e.formatted_body?e.formatted_body:null;const v="string"==typeof e.body?e.body:"";n.stripReplyFallback&&p&&(p=(0,g.kH)(p));const _=n.stripReplyFallback?(0,g.fJ)(v):v;a=C(s?p:v);const y=null!=u&&u.length?new N("mx_EventTile_searchHighlight",n.highlightLink):null;if(y&&(o.textFilter=function(e){return y.applyHighlights(e,u).join("")}),s){let e=p;n.linkify&&(e=(0,f.UD)(e)),i=r()(e,o);const t=(new DOMParser).parseFromString(i,"text/html");l=!(t.body.innerHTML===t.body.textContent),l&&h.A.getValue("feature_latex_maths")&&([...t.querySelectorAll("div[data-mx-maths], span[data-mx-maths]")].forEach(e=>{e.outerHTML=c.Ay.renderToString((0,d.D4)(e.getAttribute("data-mx-maths")),{throwOnError:!1,displayMode:"DIV"==e.tagName,output:"htmlAndMathml"})}),i=t.body.innerHTML)}else n.linkify?i=r()((0,f.UD)(m()(v)),o):y&&(i=y.applyHighlights(m()(v),u).join(""));return{bodyHasEmoji:a,isHtmlMessage:l,strippedBody:_,safeBody:i,isFormattedBody:s}}finally{delete o.textFilter}}function L(e,t,n={}){const s=F(e,t,n);let o=!1;if(!n.disableBigEmoji&&s.bodyHasEmoji){var i,r;const t=null!==(i=s.safeBody)&&void 0!==i?i:s.strippedBody;let n=void 0!==t?t.trim():"";n=n.replace(A,"");const a=S.exec(n);o=(null==a||null===(r=a[0])||void 0===r?void 0:r.length)===n.length&&(s.strippedBody===s.safeBody||void 0===e.formatted_body||!e.formatted_body.includes("http:")&&!e.formatted_body.includes("https:"))}const a=l()({mx_EventTile_body:!0,mx_EventTile_bigEmoji:o,"markdown-body":s.isHtmlMessage&&!o,translate:!0});let c,d=s.safeBody;return s.bodyHasEmoji&&(s.safeBody?d=U(s.safeBody,!0).join(""):c=U(s.strippedBody,!1)),{strippedBody:s.strippedBody,formattedBody:d,emojiBodyElements:c,className:a}}function B(e,t,n={}){const s=F(e,t,n);let o=s.safeBody;return s.bodyHasEmoji&&o&&(o=U(s.safeBody,!0).join("")),null!=o?o:s.strippedBody}function V(e,t,n,s=!1){let i,a=!!t,l=!1,c="";try{l=C(a?t:e),a&&(c=r()(t,s?f.h4:O),l&&(c=U(c,!0).join("")))}catch{a=!1}return!a&&l&&(i=U(e,!1)),a?c?o.createElement("span",{ref:n,dangerouslySetInnerHTML:{__html:c},dir:"auto"}):null:i||e?o.createElement("span",{ref:n,dir:"auto"},i||e):null}function H(e){switch(e.nodeName){case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":case"PRE":case"BLOCKQUOTE":case"P":case"UL":case"OL":case"LI":case"HR":case"TABLE":case"THEAD":case"TBODY":case"TR":case"TH":case"TD":return!0;case"DIV":return!e.hasAttribute("data-mx-maths");default:return!1}}},"./src/IConfigOptions.ts"(e,t,n){"use strict";n.d(t,{m:()=>s});const s="local"},"./src/IdentityAuthClient.tsx"(e,t,n){"use strict";n.d(t,{A:()=>g});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/MatrixClientPeg.ts"),l=n("./src/Modal.tsx"),c=n("./src/languageHandler.tsx"),d=n("./src/Terms.ts"),u=n("./src/utils/IdentityServerUtils.ts"),m=n("./src/components/views/dialogs/QuestionDialog.tsx"),p=n("./src/utils/UrlUtils.ts");class h extends Error{}class g{constructor(e){(0,s.A)(this,"accessToken",null),(0,s.A)(this,"tempClient",void 0),(0,s.A)(this,"authEnabled",!0),e&&(this.tempClient=(0,i.createClient)({baseUrl:"",idBaseUrl:e}))}get identityClient(){var e;return null!==(e=this.tempClient)&&void 0!==e?e:this.matrixClient}get matrixClient(){return a.J.safeGet()}writeToken(){this.tempClient||(this.accessToken?window.localStorage.setItem("mx_is_access_token",this.accessToken):window.localStorage.removeItem("mx_is_access_token"))}readToken(){return this.tempClient?null:window.localStorage.getItem("mx_is_access_token")}async getAccessToken({check:e=!0}={}){if(!this.authEnabled)return null;let t=this.accessToken;if(t||(t=this.readToken()),!t)return t=await this.registerForToken(e),t&&(this.accessToken=t,this.writeToken()),t;if(e)try{await this.checkToken(t)}catch(e){if(e instanceof d.lO||e instanceof h)throw e;t=await this.registerForToken(),t&&(this.accessToken=t,this.writeToken())}return t}async checkToken(e){const t=this.identityClient.getIdentityServerUrl();try{await this.identityClient.getIdentityAccount(e)}catch(n){if(n instanceof i.MatrixError&&"M_TERMS_NOT_SIGNED"===n.errcode)return r.vF.log("Identity server requires new terms to be agreed to"),void await(0,d.gw)(this.matrixClient,[new d.kl(i.SERVICE_TYPES.IS,t,e)]);throw n}if(!this.tempClient&&!(0,u.Os)(this.matrixClient)&&!await(0,u.mn)(this.matrixClient,t)){const{finished:e}=l.Ay.createDialog(m.A,{title:(0,c._t)("terms|identity_server_no_terms_title"),description:o.createElement("div",null,o.createElement("p",null,(0,c._t)("terms|identity_server_no_terms_description_1",{},{server:()=>o.createElement("strong",null,(0,p.FO)(t))})),o.createElement("p",null,(0,c._t)("terms|identity_server_no_terms_description_2"))),button:(0,c._t)("action|trust")}),[n]=await e;if(!n)throw new h("User aborted identity server action without terms");(0,u.eF)(this.matrixClient)}}async registerForToken(e=!0){const t=await a.J.safeGet().getOpenIdToken(),{access_token:n,token:s}=await this.identityClient.registerWithIdentityServer(t),o=s||n;return e&&await this.checkToken(o),o}}},"./src/KeyBindingsManager.ts"(e,t,n){"use strict";n.d(t,{zM:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/Keyboard.ts"),i=n("./src/settings/SettingsStore.ts"),r=n("./src/SdkConfig.ts"),a=n("./src/accessibility/KeyboardShortcuts.ts"),l=n("./src/accessibility/KeyboardShortcutUtils.ts");const c=e=>a.R6[e].settingNames.reduce((e,t)=>{var n;const s=null===(n=(0,l.tS)()[t])||void 0===n?void 0:n.default;return s&&e.push({action:t,keyCombo:s}),e},[]),d={getMessageComposerBindings:()=>{const e=c(a.md.COMPOSER);return i.A.getValue("MessageComposerInput.ctrlEnterToSend")?(e.push({action:a.bY.SendMessage,keyCombo:{key:o.Uz.ENTER,ctrlOrCmdKey:!0}}),e.push({action:a.bY.NewLine,keyCombo:{key:o.Uz.ENTER}}),e.push({action:a.bY.NewLine,keyCombo:{key:o.Uz.ENTER,shiftKey:!0}})):(e.push({action:a.bY.SendMessage,keyCombo:{key:o.Uz.ENTER}}),e.push({action:a.bY.NewLine,keyCombo:{key:o.Uz.ENTER,shiftKey:!0}}),o.vL&&e.push({action:a.bY.NewLine,keyCombo:{key:o.Uz.ENTER,altKey:!0}})),e},getAutocompleteBindings:()=>{const e=c(a.md.AUTOCOMPLETE);return e.push({action:a.bY.ForceCompleteAutocomplete,keyCombo:{key:o.Uz.TAB}}),e.push({action:a.bY.ForceCompleteAutocomplete,keyCombo:{key:o.Uz.TAB,ctrlKey:!0}}),e.push({action:a.bY.CompleteAutocomplete,keyCombo:{key:o.Uz.ENTER}}),e.push({action:a.bY.CompleteAutocomplete,keyCombo:{key:o.Uz.ENTER,ctrlKey:!0}}),e},getRoomListBindings:()=>c(a.md.ROOM_LIST),getRoomBindings:()=>{const e=c(a.md.ROOM);return i.A.getValue("ctrlFForSearch")&&e.push({action:a.bY.SearchInRoom,keyCombo:{key:o.Uz.F,ctrlOrCmdKey:!0}}),e},getNavigationBindings:()=>c(a.md.NAVIGATION),getAccessibilityBindings:()=>c(a.md.ACCESSIBILITY),getCallBindings:()=>c(a.md.CALLS),getLabsBindings:()=>r.Ay.get("show_labs_settings")?c(a.md.LABS):[]};function u(e,t,n){var s,o,i,r,a,l,c,d;if(void 0!==t.key)if(e.shiftKey){if(e.key.toLowerCase()!==t.key.toLowerCase())return!1}else if(e.key!==t.key)return!1;const u=null!==(s=t.ctrlKey)&&void 0!==s&&s,m=null!==(o=t.altKey)&&void 0!==o&&o,p=null!==(i=t.shiftKey)&&void 0!==i&&i,h=null!==(r=t.metaKey)&&void 0!==r&&r,g=null!==(a=e.ctrlKey)&&void 0!==a&&a,v=null!==(l=e.altKey)&&void 0!==l&&l,f=null!==(c=e.shiftKey)&&void 0!==c&&c,_=null!==(d=e.metaKey)&&void 0!==d&&d;if(t.ctrlOrCmdKey){if(n){if(!_||g!==u||v!==m||f!==p)return!1}else if(!g||_!==h||v!==m||f!==p)return!1;return!0}return _===h&&g===u&&v===m&&f===p}const m=new class{constructor(){(0,s.A)(this,"bindingsProviders",[d])}getAction(e,t){for(const n of e){const e=n().find(e=>u(t,e.keyCombo,o.vL));if(e)return e.action}}getMessageComposerAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getMessageComposerBindings),e)}getAutocompleteAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getAutocompleteBindings),e)}getRoomListAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getRoomListBindings),e)}getRoomAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getRoomBindings),e)}getNavigationAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getNavigationBindings),e)}getAccessibilityAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getAccessibilityBindings),e)}getCallAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getCallBindings),e)}getLabsAction(e){return this.getAction(this.bindingsProviders.map(e=>e.getLabsBindings),e)}};function p(){return m}},"./src/Keyboard.ts"(e,t,n){"use strict";n.d(t,{Et:()=>r,Uz:()=>s,cp:()=>i,vL:()=>o});const s={HOME:"Home",END:"End",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",BACKSPACE:"Backspace",DELETE:"Delete",ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",F6:"F6",TAB:"Tab",ESCAPE:"Escape",ENTER:"Enter",ALT:"Alt",CONTROL:"Control",META:"Meta",SHIFT:"Shift",CONTEXT_MENU:"ContextMenu",COMMA:",",PERIOD:".",LESS_THAN:"<",GREATER_THAN:">",BACKTICK:"`",SPACE:" ",SLASH:"/",SQUARE_BRACKET_LEFT:"[",SQUARE_BRACKET_RIGHT:"]",SEMICOLON:";",A:"a",B:"b",C:"c",D:"d",E:"e",F:"f",G:"g",H:"h",I:"i",J:"j",K:"k",L:"l",M:"m",N:"n",O:"o",P:"p",Q:"q",R:"r",S:"s",T:"t",U:"u",V:"v",W:"w",X:"x",Y:"y",Z:"z"},o=navigator.platform.toUpperCase().includes("MAC"),i=window.electron;function r(e){return o?e.metaKey&&!e.altKey&&!e.ctrlKey&&!e.shiftKey:e.ctrlKey&&!e.altKey&&!e.metaKey&&!e.shiftKey}},"./src/LegacyCallHandler.tsx"(e,t,n){"use strict";n.d(t,{cd:()=>q,uv:()=>Y,Ay:()=>Z});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/webrtc/call.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./node_modules/matrix-js-sdk/src/webrtc/callEventHandler.ts"),c=n("./src/MatrixClientPeg.ts"),d=n("./src/Modal.tsx"),u=n("./src/languageHandler.tsx"),m=n("./src/dispatcher/dispatcher.ts"),p=n("./src/utils/WidgetUtils.ts"),h=n("./src/settings/SettingsStore.ts"),g=n("./src/widgets/WidgetType.ts"),v=n("./src/settings/SettingLevel.ts"),f=n("./src/components/views/dialogs/QuestionDialog.tsx"),_=n("./src/components/views/dialogs/ErrorDialog.tsx"),y=n("./src/stores/WidgetStore.ts"),b=n("./src/stores/widgets/WidgetMessagingStore.ts"),w=n("./src/stores/widgets/ElementWidgetActions.ts"),E=n("./src/settings/UIFeature.ts"),A=n("./src/dispatcher/actions.ts"),x=n("./src/widgets/ManagedHybrid.ts"),S=n("./src/SdkConfig.ts"),C=n("./src/createRoom.ts"),k=n("./src/stores/widgets/WidgetLayoutStore.ts"),R=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/end-call.js"),I=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/voice-call-solid.js"),P=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-solid.js"),T=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/volume-off-solid.js"),O=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/volume-on-solid.js"),M=n("./src/components/views/avatars/RoomAvatar.tsx"),N=n("./src/components/views/elements/AccessibleButton.tsx"),j=n("./src/components/views/messages/LegacyCallEvent.tsx");class D extends o.Component{constructor(e){super(e),(0,s.A)(this,"roomId",void 0),(0,s.A)(this,"componentDidMount",()=>{Z.instance.addListener(Y.SilencedCallsChanged,this.onSilencedCallsChanged)}),(0,s.A)(this,"onSilencedCallsChanged",()=>{this.setState({silenced:Z.instance.isCallSilenced(this.props.call.callId)})}),(0,s.A)(this,"onAnswerClick",e=>{e.stopPropagation(),Z.instance.answerCall(this.roomId)}),(0,s.A)(this,"onRejectClick",e=>{e.stopPropagation(),Z.instance.hangupOrReject(this.roomId,!0)}),(0,s.A)(this,"onSilenceClick",e=>{e.stopPropagation();const t=this.props.call.callId;this.state.silenced?Z.instance.unSilenceCall(t):Z.instance.silenceCall(t)});const t=Z.instance.roomIdForCall(this.props.call);if(!t)throw new Error("Unable to find room for incoming call");this.roomId=t,this.state={silenced:Z.instance.isCallSilenced(this.props.call.callId)}}componentWillUnmount(){Z.instance.removeListener(Y.SilencedCallsChanged,this.onSilencedCallsChanged)}render(){const e=c.J.safeGet().getRoom(this.roomId),t=this.props.call.type===r.JG.Voice,n=Z.instance.isForcedSilent();let s=this.state.silenced?(0,u._t)("voip|unsilence"):(0,u._t)("voip|silence");return n&&(s=(0,u._t)("voip|silenced")),o.createElement(o.Fragment,null,o.createElement(M.A,{room:null!=e?e:void 0,size:"32px"}),o.createElement("div",{className:"mx_IncomingLegacyCallToast_content"},o.createElement("span",{className:"mx_LegacyCallEvent_caller"},e?e.name:(0,u._t)("voip|unknown_caller")),o.createElement("div",{className:"mx_LegacyCallEvent_type"},(0,j.d)(t,void 0),t?(0,u._t)("voip|voice_call"):(0,u._t)("voip|video_call")),o.createElement("div",{className:"mx_IncomingLegacyCallToast_buttons"},o.createElement(N.A,{className:"mx_IncomingLegacyCallToast_button",onClick:this.onRejectClick,kind:"danger"},o.createElement(R.A,null),(0,u._t)("action|decline")),o.createElement(N.A,{className:"mx_IncomingLegacyCallToast_button",onClick:this.onAnswerClick,kind:"primary"},t?o.createElement(I.A,null):o.createElement(P.A,null),(0,u._t)("action|accept")))),o.createElement(N.A,{className:"mx_IncomingLegacyCallToast_iconButton",disabled:n,onClick:this.onSilenceClick,title:s},this.state.silenced?o.createElement(T.A,null):o.createElement(O.A,null)))}}var U=n("./src/stores/ToastStore.ts"),F=n("./src/components/views/dialogs/InviteDialogTypes.ts"),L=n("./src/utils/dm/findDMForUser.ts"),B=n("./src/utils/room/getJoinedNonFunctionalMembers.ts"),V=n("./src/utils/notifications.ts"),H=n("./src/Typeguards.ts"),z=n("./src/audio/BackgroundAudio.ts"),W=n("./src/widgets/Jitsi.ts");const K="m.protocol.pstn",$="im.vector.protocol.pstn",J=["error","emptied","stalled","suspend","waiting"],G=[...J,"play","pause","playing","ended","loadeddata","loadedmetadata","canplay","canplaythrough","volumechange"];let q=function(e){return e.Ring="ringAudio",e.Ringback="ringbackAudio",e.CallEnd="callendAudio",e.Busy="busyAudio",e}({});let Y=function(e){return e.CallsChanged="calls_changed",e.CallChangeRoom="call_change_room",e.SilencedCallsChanged="silenced_calls_changed",e.ShownSidebarsChanged="shown_sidebars_changed",e.CallState="call_state",e.ProtocolSupport="protocol_support",e}({});class Z extends i.TypedEventEmitter{constructor(...e){super(...e),(0,s.A)(this,"calls",new Map),(0,s.A)(this,"transferees",new Map),(0,s.A)(this,"supportsPstnProtocol",null),(0,s.A)(this,"pstnSupportPrefixed",null),(0,s.A)(this,"assertedIdentityNativeUsers",new Map),(0,s.A)(this,"silencedCalls",new Set),(0,s.A)(this,"shownSidebars",new Map),(0,s.A)(this,"backgroundAudio",new z.J),(0,s.A)(this,"playingSources",{}),(0,s.A)(this,"onCallIncoming",e=>{var t,n;if(null===(t=c.J.get())||void 0===t||!t.supportsVoip())return;const s=Z.instance.roomIdForCall(e);if(!s)return;if(this.getCallForRoom(s))return void a.vF.log("Got incoming call for room "+s+" but there's already a call for this room: ignoring");this.addCallForRoom(s,e),this.setCallListeners(e),this.onCallStateChanged(e.state,null,e);const o=c.J.safeGet(),i=o.getRoom(e.roomId);i&&(null===(n=o.getCrypto())||void 0===n||n.prepareToEncrypt(i))}),(0,s.A)(this,"onCallStateChanged",(e,t,n)=>{const s=this.roomIdForCall(n);if(s&&this.matchesCallForThisRoom(n)){switch(this.setCallState(n,e),m.A.dispatch({action:"call_state",room_id:s,state:e}),t){case r.iP.Ringing:this.pause(q.Ring);break;case r.iP.InviteSent:this.pause(q.Ringback)}switch(e!==r.iP.Ringing&&this.silencedCalls.delete(n.callId),e){case r.iP.Ringing:{const e=c.J.safeGet().pushProcessor.getPushRuleById(i.RuleId.IncomingCall),t=null==e?void 0:e.enabled,s=null==e?void 0:e.actions.some(e=>"string"!=typeof e&&e.set_tweak===i.TweakName.Sound&&"ring"===e.value);t&&s&&!this.isForcedSilent()?this.play(q.Ring):this.silenceCall(n.callId);break}case r.iP.InviteSent:this.play(q.Ringback);break;case r.iP.Ended:{const e=n.hangupReason;if((0,H.P)(s)&&this.removeCallForRoom(s),t===r.iP.InviteSent&&n.hangupParty===r.Jv.Remote){if(this.play(q.Busy),!e||[r.Il.UserHangup,"user hangup"].includes(e))break;let t,s;n.hangupReason===r.Il.UserBusy?(t=(0,u._t)("voip|user_busy"),s=(0,u._t)("voip|user_busy_description")):(t=(0,u._t)("voip|call_failed"),s=(0,u._t)("voip|call_failed_description")),d.Ay.createDialog(_.A,{title:t,description:s})}else e===r.Il.AnsweredElsewhere&&t===r.iP.Connecting?d.Ay.createDialog(_.A,{title:(0,u._t)("voip|answered_elsewhere"),description:(0,u._t)("voip|answered_elsewhere_description")}):t!==r.iP.Fledgling&&t!==r.iP.Ringing&&this.play(q.CallEnd);(0,H.P)(s)&&this.logCallStats(n,s);break}}}})}static get instance(){return window.mxLegacyCallHandler||(window.mxLegacyCallHandler=new Z),window.mxLegacyCallHandler}roomIdForCall(e){var t;if(!e)return null;if(this.shouldObeyAssertedfIdentity()){const t=this.assertedIdentityNativeUsers.get(e.callId);if(t){const e=(0,L.D)(c.J.safeGet(),t);if(e)return e.roomId}}return null!==(t=e.roomId)&&void 0!==t?t:null}start(){h.A.getValue(E.f.Voip)&&c.J.safeGet().on(l.B.Incoming,this.onCallIncoming),this.checkProtocols(3)}stop(){const e=c.J.get();e&&e.removeListener(l.B.Incoming,this.onCallIncoming)}handleEvent(e){const t=e.target,n=null==t?void 0:t.id;J.includes(e.type)?a.vF.error(`LegacyCallHandler: encountered "${e.type}" event with <audio id="${n}">`,e):G.includes(e.type)&&((...e)=>{h.A.getValue("debug_legacy_call_handler")&&a.vF.log.call(console,"LegacyCallHandler debuglog:",...e)})(`encountered "${e.type}" event with <audio id="${n}">`,e)}isForcedSilent(){const e=c.J.safeGet();return(0,V.J7)(e)}silenceCall(e){e&&(this.silencedCalls.add(e),this.emit(Y.SilencedCallsChanged,this.silencedCalls),this.areAnyCallsUnsilenced()||this.pause(q.Ring))}unSilenceCall(e){e&&!this.isForcedSilent()&&(this.silencedCalls.delete(e),this.emit(Y.SilencedCallsChanged,this.silencedCalls),this.play(q.Ring))}isCallSilenced(e){return this.isForcedSilent()||!!e&&this.silencedCalls.has(e)}areAnyCallsUnsilenced(){for(const e of this.calls.values())if(e.state===r.iP.Ringing&&!this.isCallSilenced(e.callId))return!0;return!1}setCallSidebarShown(e,t){this.shownSidebars.set(e,t),this.emit(Y.ShownSidebarsChanged,this.shownSidebars)}isCallSidebarShown(e){var t;return!!e&&(null===(t=this.shownSidebars.get(e))||void 0===t||t)}async checkProtocols(e){try{const e=await c.J.safeGet().getThirdpartyProtocols();void 0!==e[K]?(this.supportsPstnProtocol=Boolean(e[K]),this.supportsPstnProtocol&&(this.pstnSupportPrefixed=!1)):void 0!==e[$]?(this.supportsPstnProtocol=Boolean(e[$]),this.supportsPstnProtocol&&(this.pstnSupportPrefixed=!0)):this.supportsPstnProtocol=null,this.emit(Y.ProtocolSupport)}catch(t){1===e?a.vF.log("Failed to check for protocol support and no retries remain: assuming no support",t):(a.vF.log("Failed to check for protocol support: will retry",t),window.setTimeout(()=>{this.checkProtocols(e-1)},1e4))}}shouldObeyAssertedfIdentity(){var e;return!(null===(e=S.Ay.getObject("voip"))||void 0===e||!e.get("obey_asserted_identity"))}getSupportsPstnProtocol(){var e;return null!==(e=this.supportsPstnProtocol)&&void 0!==e&&e}async pstnLookup(e){try{return await c.J.safeGet().getThirdpartyUser(this.pstnSupportPrefixed?$:K,{"m.id.phone":e})}catch(e){return a.vF.warn("Failed to lookup user from phone number",e),Promise.resolve([])}}getCallById(e){for(const t of this.calls.values())if(t.callId===e)return t;return null}getCallForRoom(e){return this.calls.get(e)||null}getAllActiveCalls(){const e=[];for(const t of this.calls.values())t.state!==r.iP.Ended&&t.state!==r.iP.Ringing&&e.push(t);return e}getAllActiveCallsNotInRoom(e){const t=[];for(const[n,s]of this.calls.entries())n!==e&&s.state!==r.iP.Ended&&t.push(s);return t}getAllActiveCallsForPip(e){const t=c.J.safeGet().getRoom(e);return t&&k.aK.instance.hasMaximisedWidget(t)?this.getAllActiveCalls():this.getAllActiveCallsNotInRoom(e)}getTransfereeForCallId(e){return this.transferees.get(e)}async play(e){const t=`LegacyCallHandler.play(${e}):`;a.vF.debug(`${t} beginning of function`);const n={[q.Ring]:["./media/ring",!0],[q.Ringback]:["./media/ringback",!0],[q.CallEnd]:["./media/callend",!1],[q.Busy]:["./media/busy",!1]},[s,o]=n[e],i=await this.backgroundAudio.pickFormatAndPlay(s,["mp3","ogg"],o);this.playingSources[e]&&a.vF.warn(`${t} Already playing audio ${e}!`),this.playingSources[e]=i,a.vF.debug(`${t} playing audio successfully`)}pause(e){const t=`LegacyCallHandler.pause(${e}):`;a.vF.debug(`${t} beginning of function`);const n=this.playingSources[e];n?(n.stop(),delete this.playingSources[e],a.vF.debug(`${t} paused audio`)):a.vF.debug(`${t} audio not playing`)}isPlaying(e){return!!this.playingSources[e]}matchesCallForThisRoom(e){const t=this.roomIdForCall(e),n=t?this.getCallForRoom(t):null;return!!n&&e.callId===n.callId}setCallListeners(e){let t=this.roomIdForCall(e);e.on(r.$E.Error,t=>{this.matchesCallForThisRoom(e)&&(a.vF.error("Call error:",t),t.code!==r.Il.NoUserMedia?0!==c.J.safeGet().getTurnServers().length||null!==h.A.getValue("fallbackICEServerAllowed")?d.Ay.createDialog(_.A,{title:(0,u._t)("voip|call_failed"),description:t.message}):this.showICEFallbackPrompt():this.showMediaCaptureError(e))}),e.on(r.$E.Hangup,()=>{t&&this.matchesCallForThisRoom(e)&&(0,H.P)(t)&&this.removeCallForRoom(t)}),e.on(r.$E.State,(t,n)=>{this.onCallStateChanged(t,n,e)}),e.on(r.$E.Replaced,n=>{t&&this.matchesCallForThisRoom(e)&&(a.vF.log(`Call ID ${e.callId} is being replaced by call ID ${n.callId}`),e.state===r.iP.Ringing?this.pause(q.Ring):e.state===r.iP.InviteSent&&this.pause(q.Ringback),(0,H.P)(t)&&(this.removeCallForRoom(t),this.addCallForRoom(t,n)),this.setCallListeners(n),this.setCallState(n,n.state))}),e.on(r.$E.AssertedIdentityChanged,async()=>{var n;if(!t||!this.matchesCallForThisRoom(e))return;if(a.vF.log(`Call ID ${e.callId} got new asserted identity:`,e.getRemoteAssertedIdentity()),!this.shouldObeyAssertedfIdentity())return void a.vF.log("asserted identity not enabled in config: ignoring");const s=null===(n=e.getRemoteAssertedIdentity())||void 0===n?void 0:n.id;if(s){this.assertedIdentityNativeUsers.set(e.callId,s),await(0,C.EP)(c.J.safeGet(),s);const n=this.roomIdForCall(e);a.vF.log(`Old room ID: ${t}, new room ID: ${n}`),n!==t&&(0,H.P)(t)&&(0,H.P)(n)&&(this.removeCallForRoom(t),t=n,a.vF.log("Moving call to room "+t),this.addCallForRoom(t,e,!0))}})}async logCallStats(e,t){const n=await e.getCurrentCallStats();if(a.vF.debug(`Call completed. Call ID: ${e.callId}, virtual room ID: ${e.roomId}, user-facing room ID: ${t}, direction: ${e.direction}, our Party ID: ${e.ourPartyId}, hangup party: ${e.hangupParty}, hangup reason: ${e.hangupReason}`),n){a.vF.debug("Local candidates:");for(const e of n.filter(e=>"local-candidate"===e.type)){const t=e.address||e.ip;a.vF.debug(`${e.id} - type: ${e.candidateType}, address: ${t}, port: ${e.port}, protocol: ${e.protocol}, relay protocol: ${e.relayProtocol}, network type: ${e.networkType}`)}a.vF.debug("Remote candidates:");for(const e of n.filter(e=>"remote-candidate"===e.type)){const t=e.address||e.ip;a.vF.debug(`${e.id} - type: ${e.candidateType}, address: ${t}, port: ${e.port}, protocol: ${e.protocol}`)}a.vF.debug("Candidate pairs:");for(const e of n.filter(e=>"candidate-pair"===e.type))a.vF.debug(`${e.localCandidateId} / ${e.remoteCandidateId} - state: ${e.state}, nominated: ${e.nominated}, requests sent ${e.requestsSent}, requests received ${e.requestsReceived}, responses received: ${e.responsesReceived}, responses sent: ${e.responsesSent}, bytes received: ${e.bytesReceived}, bytes sent: ${e.bytesSent}, `);a.vF.debug("Outbound RTP:");for(const e of n.filter(e=>"outbound-rtp"===e.type))a.vF.debug(e);a.vF.debug("Inbound RTP:");for(const e of n.filter(e=>"inbound-rtp"===e.type))a.vF.debug(e)}else a.vF.debug("Call statistics are undefined. The call has probably failed before a peerConn was established")}setCallState(e,t){const n=Z.instance.roomIdForCall(e);a.vF.log(`Call state in ${n} changed to ${t}`);const s=`call_${e.callId}`;t===r.iP.Ringing?U.A.sharedInstance().addOrReplaceToast({key:s,priority:100,component:D,bodyClassName:"mx_IncomingLegacyCallToast",props:{call:e}}):U.A.sharedInstance().dismissToast(s),this.emit(Y.CallState,n,t)}removeCallForRoom(e){a.vF.log("Removing call for room ",e),this.calls.delete(e),this.emit(Y.CallsChanged,this.calls)}showICEFallbackPrompt(){const e=c.J.safeGet(),{finished:t}=d.Ay.createDialog(f.A,{title:(0,u._t)("voip|misconfigured_server"),description:o.createElement("div",null,o.createElement("p",null,(0,u._t)("voip|misconfigured_server_description",{homeserverDomain:e.getDomain()},{code:e=>o.createElement("code",null,e)})),o.createElement("p",null,(0,u._t)("voip|misconfigured_server_fallback",void 0,{server:()=>o.createElement("code",null,new URL(r.ZB).pathname)}))),button:(0,u._t)("voip|misconfigured_server_fallback_accept",{server:new URL(r.ZB).pathname}),cancelButton:(0,u._t)("action|ok")},void 0,!0);t.then(([e])=>{h.A.setValue("fallbackICEServerAllowed",null,v.p.DEVICE,e)})}showMediaCaptureError(e){let t,n;e.type===r.JG.Voice?(t=(0,u._t)("voip|unable_to_access_microphone"),n=o.createElement("div",null,(0,u._t)("voip|call_failed_microphone"))):e.type===r.JG.Video&&(t=(0,u._t)("voip|unable_to_access_media"),n=o.createElement("div",null,(0,u._t)("voip|call_failed_media"),o.createElement("ul",null,o.createElement("li",null,(0,u._t)("voip|call_failed_media_connected")),o.createElement("li",null,(0,u._t)("voip|call_failed_media_permissions")),o.createElement("li",null,(0,u._t)("voip|call_failed_media_applications"))))),d.Ay.createDialog(_.A,{title:t,description:n},void 0,!0)}async placeMatrixCall(e,t,n){const s=c.J.safeGet(),o=s.getTurnServersExpiry()-Date.now();a.vF.log("Current turn creds expire in "+o+" ms");const i=s.createCall(e);try{this.addCallForRoom(e,i)}catch{return void d.Ay.createDialog(_.A,{title:(0,u._t)("voip|already_in_call"),description:(0,u._t)("voip|already_in_call_person")})}n&&this.transferees.set(i.callId,n),this.setCallListeners(i),this.setActiveCallRoomId(e),t===r.JG.Voice?i.placeVoiceCall():"video"===t?i.placeVideoCall():a.vF.error("Unknown conf call type: "+t)}async placeCall(e,t,n){const s=c.J.safeGet(),o=s.getRoom(e);if(!o)return void a.vF.error(`Room ${e} does not exist.`);if((0,x.dq)(o))return void await(0,x.ry)(o);if(!s.supportsVoip())return void d.Ay.createDialog(_.A,{title:(0,u._t)("voip|unsupported"),description:(0,u._t)("voip|unsupported_browser")});if(s.getSyncState()===i.SyncState.Error)return void d.Ay.createDialog(_.A,{title:(0,u._t)("voip|connection_lost"),description:(0,u._t)("voip|connection_lost_description")});if(this.getAllActiveCalls().length>1)return void d.Ay.createDialog(_.A,{title:(0,u._t)("voip|too_many_calls"),description:(0,u._t)("voip|too_many_calls_description")});const r=(0,B.T)(o);r.length<=1?d.Ay.createDialog(_.A,{description:(0,u._t)("voip|cannot_call_yourself_description")}):2!==r.length||W.k.getInstance().useFor1To1Calls?await this.placeJitsiCall(e,t):(a.vF.info(`Place ${t} call in ${e}`),await this.placeMatrixCall(e,t,n))}hangupAllCalls(){for(const e of this.calls.values())this.stopRingingIfPossible(e.callId),e.hangup(r.Il.UserHangup,!1)}hangupOrReject(e,t){const n=this.calls.get(e);n&&(this.stopRingingIfPossible(n.callId),t?n.reject():n.hangup(r.Il.UserHangup,!1))}answerCall(e){if(!this.calls.has(e))return;const t=this.calls.get(e);this.stopRingingIfPossible(t.callId),this.getAllActiveCalls().length>1?d.Ay.createDialog(_.A,{title:(0,u._t)("voip|too_many_calls"),description:(0,u._t)("voip|too_many_calls_description")}):(t.answer(),this.setActiveCallRoomId(e),m.A.dispatch({action:A.r.ViewRoom,room_id:e,metricsTrigger:"WebAcceptCall"}))}stopRingingIfPossible(e){this.silencedCalls.delete(e),this.areAnyCallsUnsilenced()||this.pause(q.Ring)}async dialNumber(e,t){const n=await this.pstnLookup(e);if(!n||0===n.length||!n[0].userid)return void d.Ay.createDialog(_.A,{title:(0,u._t)("voip|msisdn_lookup_failed"),description:(0,u._t)("voip|msisdn_lookup_failed_description")});const s=n[0].userid,o=await(0,C.EP)(c.J.safeGet(),s);if(!o)throw new Error("Failed to ensure DM exists for dialing number");m.A.dispatch({action:A.r.ViewRoom,room_id:o,metricsTrigger:"WebDialPad"}),await this.placeMatrixCall(o,r.JG.Voice,t)}async startTransferToPhoneNumber(e,t,n){if(n)return void this.dialNumber(t,e);const s=await this.pstnLookup(t);s&&0!==s.length&&s[0].userid?await this.startTransferToMatrixID(e,s[0].userid,n):d.Ay.createDialog(_.A,{title:(0,u._t)("voip|msisdn_transfer_failed"),description:(0,u._t)("voip|msisdn_lookup_failed_description")})}async startTransferToMatrixID(e,t,n){if(n){const n=await(0,C.EP)(c.J.safeGet(),t);if(!n)return a.vF.log("Failed to transfer call, could not ensure dm exists"),void d.Ay.createDialog(_.A,{title:(0,u._t)("voip|transfer_failed"),description:(0,u._t)("voip|transfer_failed_description")});this.placeCall(n,e.type,e),m.A.dispatch({action:A.r.ViewRoom,room_id:n,should_peek:!1,joining:!1,metricsTrigger:void 0})}else try{await e.transfer(t)}catch(e){a.vF.log("Failed to transfer call",e),d.Ay.createDialog(_.A,{title:(0,u._t)("voip|transfer_failed"),description:(0,u._t)("voip|transfer_failed_description")})}}setActiveCallRoomId(e){a.vF.info("Setting call in room "+e+" active");for(const[t,n]of this.calls.entries())n.state!==r.iP.Ended&&(t===e?n.setRemoteOnHold(!1):(a.vF.info("Holding call in room "+t+" because another call is being set active"),n.setRemoteOnHold(!0)))}hasAnyUnheldCall(){for(const e of this.calls.values())if(e.state!==r.iP.Ended&&!e.isRemoteOnHold())return!0;return!1}async placeJitsiCall(e,t){const n=c.J.safeGet();a.vF.info(`Place conference call in ${e}`),m.A.dispatch({action:"appsDrawer",show:!0});const s=y.Ay.instance.getApps(e).find(e=>g.x.JITSI.matches(e.type));if(s){const t=n.getRoom(e);return void((0,H.P)(t)&&k.aK.instance.moveToContainer(t,s,k.mc.Top))}try{await p.A.addJitsiWidget(n,e,t,"Jitsi",!1),a.vF.log("Jitsi widget added")}catch(e){e instanceof i.MatrixError&&"M_FORBIDDEN"===e.errcode&&d.Ay.createDialog(_.A,{title:(0,u._t)("voip|no_permission_conference"),description:(0,u._t)("voip|no_permission_conference_description")}),a.vF.error(e)}}hangupCallApp(e){a.vF.info("Leaving conference call in "+e);const t=y.Ay.instance.getRoom(e);if(!t)return;t.widgets.filter(e=>g.x.JITSI.matches(e.type)).forEach(e=>{const t=b.c.instance.getMessagingForUid(p.A.getWidgetUid(e));null!=t&&t.widgetApi&&t.widgetApi.transport.send(w.k.HangupCall,{})})}showTransferDialog(e){e.setRemoteOnHold(!0),m.A.dispatch({action:A.r.OpenInviteDialog,kind:F.m.CallTransfer,call:e,analyticsName:"Transfer Call",className:"mx_InviteDialog_transferWrapper",onFinishedCallback:t=>{0!==t.length&&!1!==t[0]||e.setRemoteOnHold(!1)}})}addCallForRoom(e,t,n=!1){if(this.calls.has(e))throw a.vF.log(`Couldn't add call to room ${e}: already have a call for this room`),new Error("Already have a call for room "+e);a.vF.log("setting call for room "+e),this.calls.set(e,t),n?this.emit(Y.CallChangeRoom,t):this.emit(Y.CallsChanged,this.calls)}}},"./src/Linkify.tsx"(e,t,n){"use strict";n.d(t,{Gx:()=>h,UD:()=>f,XZ:()=>v,h4:()=>g,kz:()=>_});var s=n("./node_modules/react/index.js"),o=n("./node_modules/sanitize-html/index.js"),i=n.n(o),r=n("./node_modules/lodash/merge.js"),a=n("./node_modules/linkify-react/dist/linkify-react.mjs"),l=n("./src/linkify-matrix.ts"),c=n("./src/utils/permalinks/Permalinks.ts"),d=n("./src/customisations/Media.ts"),u=n("./src/utils/UrlUtils.ts");const m=/^#[0-9a-fA-F]{6}$/,p=/\/_matrix\/media\/r0\/(?:download|thumbnail)\/(.+?)\/(.+?)(?:[?/]|$)/,h={a:function(e,t){if(t.href){t.target="_blank";((0,c.uK)(t.href)!==t.href||t.href.match(l.kD))&&delete t.target}else delete t.href;return t.rel="noreferrer noopener",{tagName:e,attribs:t}},img:function(e,t){let n=t.src;if(!n)return{tagName:e,attribs:{}};if(!n.startsWith("mxc://")){const e=p.exec(n);e&&(n=`mxc://${e[1]}/${e[2]}`)}if(!n.startsWith("mxc://"))return{tagName:e,attribs:{}};const s=Number(t.width),o=Number(t.height),i=Math.min(s||800,800),r=Math.min(o||600,600);return t.style=`max-width: ${i}px; max-height: ${r}px;`,s&&(t.style+="width: 100%;"),o&&(t.style+="height: 100%;"),t.src=(0,d.mediaFromMxc)(n).getThumbnailOfSourceHttp(i,r),{tagName:e,attribs:t}},code:function(e,t){if(void 0!==t.class){const e=t.class.split(/\s/).filter(function(e){return e.startsWith("language-")&&!e.startsWith("language-_")});t.class=e.join(" ")}return{tagName:e,attribs:t}},"*":function(e,t){"img"!==e&&delete t.style;const n={"data-mx-color":"color","data-mx-bg-color":"background-color"};let s="";return Object.keys(n).forEach(e=>{const o=n[e],i=t[e];i&&"string"==typeof i&&m.test(i)&&(s+=o+":"+i+";",delete t[e])}),s&&(t.style=s+(t.style||"")),{tagName:e,attribs:t}}},g={allowedTags:["font","del","s","h1","h2","h3","h4","h5","h6","blockquote","p","a","ul","ol","sup","sub","nl","li","b","i","u","strong","em","strike","code","hr","br","div","table","thead","caption","tbody","tr","th","td","pre","span","img","details","summary"],allowedAttributes:{font:["color","data-mx-bg-color","data-mx-color","style"],span:["data-mx-maths","data-mx-bg-color","data-mx-color","data-mx-spoiler","style"],div:["data-mx-maths"],a:["href","name","target","rel"],img:["src","alt","title","style"],ol:["start"],code:["class"]},selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:u._f,allowProtocolRelative:!1,transformTags:h,nestingLimit:50};function v({as:e,options:t,children:n}){return s.createElement(a.A,{as:e,options:(0,r.A)({},l.fF,t)},n)}function f(e,t=l.fF){return(0,l.N4)(e,t)}function _(e,t=l.fF){return i()(function(e,t=l.fF){return(0,l.TP)(e,t)}(e,t),g)}},"./src/Markdown.ts"(e,t,n){"use strict";n.d(t,{A:()=>v});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/commonmark/lib/index.js"),i=n("./node_modules/lodash/escape.js"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/linkify-matrix.ts");const l=["sub","sup","del","s","u","br","br/"],c=["text","softbreak","linebreak","paragraph","document"];function d(e){if(!e.literal)return!1;if(null!=e.literal.match('^<((div|span) data-mx-maths="[^"]*"|/(div|span))>$'))return!0;const t=/^<\/?(.*)>$/.exec(e.literal);if(t&&2==t.length){const e=t[1];return l.indexOf(e)>-1}return!1}function u(e){let t=e;for(;t.parent;)t=t.parent;return t.firstChild!=t.lastChild}function m(e){let t=e,n="";for(;t&&"softbreak"!==t.type&&"linebreak"!==t.type;){const{literal:e,type:s}=t;if("text"===s&&e){let t=0,s=e[t];for(;" "!==s&&null!==s&&t<=e.length&&" "!==s;)s&&(n+=s),t+=1,s=e[t];if(" "===s)break}t=t.next}return n}const p={emph:"_",strong:"__"},h=e=>{let t="";const n=e.walker();let s;for(;s=n.next();){const e=s.node,n=e.literal;s.entering&&"text"===e.type&&n&&(t+=n)}return t},g=e=>!e.prev&&!e.next&&!e.firstChild;class v{constructor(e){(0,s.A)(this,"input",void 0),(0,s.A)(this,"parsed",void 0),this.input=e;const t=new o.iX;this.parsed=t.parse(this.input),this.parsed=this.repairLinks(this.parsed)}repairLinks(e){const t=e.walker();let n=null,s="",i=!1,l=null,c=!1;for(;n=t.next();){const{node:e}=n;if("paragraph"===e.type&&(i=!!n.entering),i){var d;if("softbreak"===e.type||"linebreak"===e.type||"text"===e.type&&" "===e.literal){s="";continue}if("text"===e.type&&e.literal){const[n,...i]=e.literal.split(/( )/);e.literal=n,s+=n,i.reverse().forEach(n=>{if(n){const s=new o.bP("text");s.literal=n,e.insertAfter(s),t.resumeAt(s,!0)}})}if(("emph"===e.type||"strong"===e.type)&&"text"===(null===(d=l)||void 0===d?void 0:d.type))if(n.entering){const t=a.Bu.find(s);for(const{value:i}of t){var u;if(null!=e&&null!==(u=e.firstChild)&&void 0!==u&&u.literal){const t=p[e.type],d=`${t}${h(e)}${t}`,u=i+d+m(e);if(1===a.Bu.find(u).length){const t=new o.bP("text");t.literal=d,l.insertAfter(t),e.firstChild.literal="",n=e.walker().next(),n&&(e.unlink(),l.insertAfter(n.node),c=!0)}else r.vF.error("Markdown links escaping found too many links for following text: ",s),r.vF.error("Markdown links escaping found too many links for modified text: ",u)}}}else c&&(e.unlink(),c=!1)}l=e}return e}isPlainText(){const e=this.parsed.walker();let t;for(;t=e.next();){const e=t.node;if(!(c.indexOf(e.type)>-1)){if("list"==e.type||"item"==e.type){if("list"==e.type&&e.firstChild&&g(e.firstChild))continue;if("item"==e.type&&g(e))continue;return!1}if("html_inline"!=e.type&&"html_block"!=e.type)return!1;if(d(e))return!1}}return!0}toHTML({externalLinks:e=!1}={}){const t=new o.j6({safe:!1,softbreak:"<br />"}),n=t.paragraph;return t.paragraph=function(e,t){var s;("block_quote"===(null===(s=e.parent)||void 0===s?void 0:s.type)||u(e))&&n.call(this,e,t)},t.link=function(t,n){const s=this.attrs(t);n&&t.destination?(s.push(["href",this.esc(t.destination)]),t.title&&s.push(["title",this.esc(t.title)]),e&&(s.push(["target","_blank"]),s.push(["rel","noreferrer noopener"])),this.tag("a",s)):this.tag("/a")},t.html_inline=function(e){e.literal&&(d(e)?this.lit(e.literal):this.lit((0,i.A)(e.literal)))},t.html_block=function(e){t.html_inline(e)},t.render(this.parsed)}toPlaintext(){const e=new o.j6({safe:!1});return e.paragraph=function(e,t){u(e)&&!t&&e.next&&this.lit("\n\n")},e.html_block=function(e){e.literal&&this.lit(e.literal),u(e)&&e.next&&this.lit("\n\n")},e.esc=e=>e,(0,i.A)(e.render(this.parsed))}}},"./src/MatrixClientPeg.ts"(e,t,n){"use strict";n.d(t,{J:()=>B});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/types.ts"),r=n("./node_modules/matrix-js-sdk/src/utils.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./src/utils/createMatrixClient.ts"),c=n("./src/settings/SettingsStore.ts"),d=n("./src/dispatcher/dispatcher.ts");function u(e,t,n){return{action:"MatrixActions.sync",state:t,prevState:n,matrixClient:e}}function m(e,t,n){return{action:"MatrixActions.accountData",event:t,event_type:t.getType(),event_content:t.getContent(),previousEvent:n}}function p(e,t,n){return{action:"MatrixActions.Room.accountData",event:t,event_type:t.getType(),event_content:t.getContent(),room:n}}function h(e,t){return{action:"MatrixActions.Room",room:t}}function g(e,t,n){return{action:"MatrixActions.Room.tags",room:n}}function v(e,t,n){return{action:"MatrixActions.Room.receipt",event:t,room:n,matrixClient:e}}function f(e,t,n,s,o,i){return{action:"MatrixActions.Room.timeline",event:t,isLiveEvent:i.liveEvent,isLiveUnfilteredRoomTimelineEvent:i.timeline.getTimelineSet()===(null==n?void 0:n.getUnfilteredTimelineSet()),room:n}}function _(e,t,n,s){return{action:"MatrixActions.RoomState.events",event:t,state:n,lastStateEvent:s}}function y(e,t,n,s){return{action:"MatrixActions.Room.myMembership",room:t,membership:n,oldMembership:s}}function b(e,t){return{action:"MatrixActions.Event.decrypted",event:t}}let w=[];function E(e,t,n){const s=(...t)=>{const s=n(e,...t);s&&d.A.dispatch(s,!1)};e.on(t,s),w.push(()=>{e.removeListener(t,s)})}const A={start(e){E(e,o.ClientEvent.Sync,u),E(e,o.ClientEvent.AccountData,m),E(e,o.RoomEvent.AccountData,p),E(e,o.ClientEvent.Room,h),E(e,o.RoomEvent.Tags,g),E(e,o.RoomEvent.Receipt,v),E(e,o.RoomEvent.Timeline,f),E(e,o.RoomEvent.MyMembership,y),E(e,o.MatrixEventEvent.Decrypted,b),E(e,o.RoomStateEvent.Events,_)},stop(){w.forEach(e=>e()),w=[]}};var x=n("./src/Modal.tsx"),S=n("./src/settings/handlers/MatrixClientBackedSettingsHandler.ts"),C=n("./src/utils/StorageManager.ts"),k=n("./src/IdentityAuthClient.tsx"),R=n("./src/SecurityManager.ts"),I=n("./src/SlidingSyncManager.ts"),P=n("./src/languageHandler.tsx"),T=n("./src/settings/controllers/MatrixClientBackedController.ts"),O=n("./src/components/views/dialogs/ErrorDialog.tsx"),M=n("./src/PlatformPeg.ts"),N=n("./src/utils/FormattingUtils.ts"),j=n("./src/SdkConfig.ts"),D=n("./src/settings/controllers/DeviceIsolationModeController.ts"),U=n("./src/utils/device/dehydration.ts");function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const B=new class{constructor(){(0,s.A)(this,"opts",{initialSyncLimit:20}),(0,s.A)(this,"matrixClient",null),(0,s.A)(this,"justRegisteredUserId",null),(0,s.A)(this,"onUnexpectedStoreClose",async()=>{var e;if(this.matrixClient){if(this.matrixClient.stopClient(),this.matrixClient.store.destroy(),!this.matrixClient.isGuest()){var t;const e=j.Ay.get().brand,n="Web Platform"===(null===(t=M.A.get())||void 0===t?void 0:t.getHumanReadableName())?(0,P._t)("error_database_closed_description|for_web",{brand:e}):(0,P._t)("error_database_closed_description|for_desktop"),[s]=await x.Ay.createDialog(O.A,{title:(0,P._t)("error_database_closed_title",{brand:e}),description:n,button:(0,P._t)("action|reload")}).finished;if(!s)return}null===(e=M.A.get())||void 0===e||e.reload()}})}get(){return this.matrixClient}safeGet(){if(!this.matrixClient)throw new P.P7("error_user_not_logged_in");return this.matrixClient}unset(){this.matrixClient=null,A.stop()}setJustRegisteredUserId(e){if(this.justRegisteredUserId=e,e){const e=Date.now().toString();window.localStorage.setItem("mx_registration_time",e)}}currentUserIsJustRegistered(){return!!this.matrixClient&&this.matrixClient.credentials.userId===this.justRegisteredUserId}userRegisteredWithinLastHours(e){if(e<=0)return!1;try{const t=parseInt(window.localStorage.getItem("mx_registration_time"),10);return(Date.now()-t)/36e5<=e}catch{return!1}}userRegisteredAfter(e){try{const t=parseInt(window.localStorage.getItem("mx_registration_time"),10);return e.getTime()<=t}catch{return!1}}replaceUsingCreds(e,t){this.createClient(e,t)}async assign(e={}){var t,n;if(!this.matrixClient)throw new Error("createClient must be called first");for(const e of["indexeddb","memory"])try{const e=this.matrixClient.store.startup();a.vF.log("MatrixClientPeg: waiting for MatrixClient store to initialise"),await e;break}catch(t){if("indexeddb"!==e)throw a.vF.error("Failed to start memory store!",t),t;a.vF.error("Error starting matrixclient store - falling back to memory store",t),this.matrixClient.store=new o.MemoryStore({localStorage})}null===(t=(n=this.matrixClient.store).on)||void 0===t||t.call(n,"closed",this.onUnexpectedStoreClose),c.A.getValue("lowBandwidth")||await this.initClientCrypto(e.rustCryptoStoreKey,e.rustCryptoStorePassword);const s=r.A4(this.opts);if(s.pendingEventOrdering=o.PendingEventOrdering.Detached,s.lazyLoadMembers=!0,s.clientWellKnownPollPeriod=7200,s.threadSupport=!0,c.A.getValue("feature_sliding_sync"))throw new P.P7("sliding_sync_legacy_no_longer_supported");return c.A.getValue("feature_simplified_sliding_sync")?s.slidingSync=await I.f.instance.setup(this.matrixClient):I.f.instance.checkSupport(this.matrixClient),A.start(this.matrixClient),S.A.matrixClient=this.matrixClient,T.A.matrixClient=this.matrixClient,s}async initClientCrypto(e,t){if(!this.matrixClient)throw new Error("createClient must be called first");e||t||a.vF.error("Warning! Not using an encryption key for rust crypto store."),await this.matrixClient.initRustCrypto({storageKey:e,storagePassword:t}),C.jy(!0),(0,D.y)(this.matrixClient,c.A.getValue("feature_exclude_insecure_devices"));try{await(0,U.p)(this.matrixClient,{onlyIfKeyCached:!0,rehydrate:!1})}catch(e){console.log("Error starting device dehydration",e)}}async start(e){const t=await this.assign(e);a.vF.log("MatrixClientPeg: really starting MatrixClient"),await this.matrixClient.startClient(t),a.vF.log("MatrixClientPeg: MatrixClient started")}namesToRoomName(e,t){const n=t-1;return e.length?1===e.length&&n<=1?e[0]:void 0:(0,P._t)("empty_room")}memberNamesToRoomName(e,t){const n=this.namesToRoomName(e,t);return n||(2===e.length&&2===t?(0,N.ki)(e):(0,N.ki)(e,1))}inviteeNamesToRoomName(e,t){const n=this.namesToRoomName(e,t);return n||(2===e.length&&2===t?(0,P._t)("inviting_user1_and_user2",{user1:e[0],user2:e[1]}):(0,P._t)("inviting_user_and_n_others",{user:e[0],count:t-1}))}createClient(e,t){const n={baseUrl:e.homeserverUrl,idBaseUrl:e.identityServerUrl,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenRefreshFunction:t,userId:e.userId,deviceId:e.deviceId,pickleKey:e.pickleKey,timelineSupport:!0,forceTURN:!c.A.getValue("webRtcAllowPeerToPeer"),fallbackICEServerAllowed:!!c.A.getValue("fallbackICEServerAllowed"),iceCandidatePoolSize:20,verificationMethods:[i.V.Sas,i.V.ShowQrCode,i.V.Reciprocate],identityServer:new k.A,cryptoCallbacks:L({},R.c6),enableEncryptedStateEvents:c.A.getValue("feature_msc4362_encrypted_state_events"),roomNameGenerator:(e,t)=>{switch(t.type){case o.RoomNameType.Generated:return"Inviting"===t.subtype?this.inviteeNamesToRoomName(t.names,t.count):this.memberNamesToRoomName(t.names,t.count);case o.RoomNameType.EmptyRoom:return t.oldName?(0,P._t)("empty_room_was_name",{oldName:t.oldName}):(0,P._t)("empty_room");default:return null}}};this.matrixClient=(0,l.A)(n),this.matrixClient.setGuest(Boolean(e.guest));const s=new o.EventTimelineSet(void 0,{timelineSupport:!0,pendingEvents:!1});s.getLiveTimeline().setPaginationToken("",o.EventTimeline.BACKWARDS),this.matrixClient.setNotifTimelineSet(s)}};window.mxMatrixClientPeg||(window.mxMatrixClientPeg=B)},"./src/MediaDeviceHandler.ts"(e,t,n){"use strict";n.d(t,{Ay:()=>p,cm:()=>u,hW:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n.n(o),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/settings/SettingsStore.ts"),l=n("./src/settings/SettingLevel.ts"),c=n("./src/MatrixClientPeg.ts"),d=n("./src/languageHandler.tsx");let u=function(e){return e.AudioOutput="audiooutput",e.AudioInput="audioinput",e.VideoInput="videoinput",e}({}),m=function(e){return e.AudioOutputChanged="audio_output_changed",e}({});class p extends(i()){static get instance(){return p.internalInstance||(p.internalInstance=new p),p.internalInstance}static async hasAnyLabeledDevices(){return(await navigator.mediaDevices.enumerateDevices()).some(e=>Boolean(e.label))}static async getDevices(){try{const e=await navigator.mediaDevices.enumerateDevices(),t={[u.AudioOutput]:[],[u.AudioInput]:[],[u.VideoInput]:[]};return e.forEach(e=>t[e.kind].push(e)),t}catch(e){r.vF.warn("Unable to refresh WebRTC Devices: ",e)}}static async loadDevices(){const e=a.A.getValue("webrtc_audioinput"),t=a.A.getValue("webrtc_videoinput");await c.J.safeGet().getMediaHandler().setAudioInput(e),await c.J.safeGet().getMediaHandler().setVideoInput(t),await p.updateAudioSettings()}static async updateAudioSettings(){await c.J.safeGet().getMediaHandler().setAudioSettings({autoGainControl:p.getAudioAutoGainControl(),echoCancellation:p.getAudioEchoCancellation(),noiseSuppression:p.getAudioNoiseSuppression()})}setAudioOutput(e){a.A.setValue("webrtc_audiooutput",null,l.p.DEVICE,e),this.emit(m.AudioOutputChanged,e)}async setAudioInput(e){return a.A.setValue("webrtc_audioinput",null,l.p.DEVICE,e),c.J.safeGet().getMediaHandler().setAudioInput(e)}async setVideoInput(e){return a.A.setValue("webrtc_videoinput",null,l.p.DEVICE,e),c.J.safeGet().getMediaHandler().setVideoInput(e)}async setDevice(e,t){switch(t){case u.AudioOutput:this.setAudioOutput(e);break;case u.AudioInput:await this.setAudioInput(e);break;case u.VideoInput:await this.setVideoInput(e)}}static async setAudioAutoGainControl(e){await a.A.setValue("webrtc_audio_autoGainControl",null,l.p.DEVICE,e),await p.updateAudioSettings()}static async setAudioEchoCancellation(e){await a.A.setValue("webrtc_audio_echoCancellation",null,l.p.DEVICE,e),await p.updateAudioSettings()}static async setAudioNoiseSuppression(e){await a.A.setValue("webrtc_audio_noiseSuppression",null,l.p.DEVICE,e),await p.updateAudioSettings()}static getAudioOutput(){return a.A.getValueAt(l.p.DEVICE,"webrtc_audiooutput")}static getAudioInput(){return a.A.getValueAt(l.p.DEVICE,"webrtc_audioinput")}static getVideoInput(){return a.A.getValueAt(l.p.DEVICE,"webrtc_videoinput")}static getAudioAutoGainControl(){return a.A.getValue("webrtc_audio_autoGainControl")}static getAudioEchoCancellation(){return a.A.getValue("webrtc_audio_echoCancellation")}static getAudioNoiseSuppression(){return a.A.getValue("webrtc_audio_noiseSuppression")}static getDevice(e){switch(e){case u.AudioOutput:return this.getAudioOutput();case u.AudioInput:return this.getAudioInput();case u.VideoInput:return this.getVideoInput()}}static get startWithAudioMuted(){return a.A.getValue("audioInputMuted")}static set startWithAudioMuted(e){a.A.setValue("audioInputMuted",null,l.p.DEVICE,e)}static get startWithVideoMuted(){return a.A.getValue("videoInputMuted")}static set startWithVideoMuted(e){a.A.setValue("videoInputMuted",null,l.p.DEVICE,e)}}(0,s.A)(p,"internalInstance",void 0),(0,s.A)(p,"getDefaultDevice",e=>e.some(e=>"default"===e.deviceId)?"default":(e.unshift({deviceId:"",label:(0,d._t)("voip|default_device")}),""))},"./src/Modal.tsx"(e,t,n){"use strict";n.d(t,{XM:()=>y,Ay:()=>E});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/react-dom/client.js"),a=n("./node_modules/classnames/index.js"),l=n.n(a),c=n("./node_modules/matrix-js-sdk/src/matrix.ts"),d=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/TooltipProvider.js"),u=n("./node_modules/@vector-im/compound-web/dist/components/Glass/Glass.js"),m=n("./src/dispatcher/dispatcher.ts"),p=n("./src/languageHandler.tsx"),h=n("./src/components/views/dialogs/BaseDialog.tsx"),g=n("./src/components/views/elements/DialogButtons.tsx"),v=n("./src/components/views/elements/Spinner.tsx");class f extends i.Component{constructor(...e){super(...e),(0,o.A)(this,"state",{})}static getDerivedStateFromError(e){return{error:e}}render(){return this.state.error?i.createElement(h.A,{onFinished:this.props.onFinished,title:(0,p._t)("common|error")},(0,p._t)("failed_load_async_component"),i.createElement(g.A,{primaryButton:(0,p._t)("action|dismiss"),onPrimaryButtonClick:this.props.onFinished,hasCancel:!1})):i.createElement(i.Suspense,{fallback:i.createElement(v.A,null)},this.props.children)}}var _=n("./src/utils/arrays.ts");let y=function(e){return e.Opened="opened",e.Closed="closed",e}({});function b(e){let t=document.getElementById(e);return t||(t=document.createElement("div"),t.id=e,document.body.appendChild(t)),t}class w extends c.TypedEventEmitter{static getOrCreateRoot(){if(!w.root){const e=b("mx_Dialog_Container");w.root=(0,r.createRoot)(e)}return w.root}static getOrCreateStaticRoot(){if(!w.staticRoot){const e=b("mx_Dialog_StaticContainer");w.staticRoot=(0,r.createRoot)(e)}return w.staticRoot}constructor(){super(),(0,o.A)(this,"counter",0),(0,o.A)(this,"priorityModal",null),(0,o.A)(this,"staticModal",null),(0,o.A)(this,"modals",[]),(0,o.A)(this,"onAction",e=>{"logout"===e.action&&this.forceCloseAllModals()}),(0,o.A)(this,"onBackgroundClick",()=>{const e=this.getCurrentModal();e&&(e.closeReason="backgroundClick",e.close(),e.closeReason=void 0)}),m.A.register(this.onAction)}toggleCurrentDialogVisibility(){const e=this.getCurrentModal();e&&(e.hidden=!e.hidden)}hasDialogs(){return!!this.priorityModal||!!this.staticModal||this.modals.length>0}closeCurrentModal(e){const t=this.getCurrentModal();return!!t&&(t.closeReason=e,t.close(),!0)}forceCloseAllModals(){const e=(0,_.Bo)([...this.modals,this.staticModal,this.priorityModal]);for(const n of e){var t;null===(t=n.deferred)||void 0===t||t.resolve([]),this.emitClosed()}this.modals=[],this.staticModal=null,this.priorityModal=null,this.reRender()}buildModal(e,t,n,o){const r={onBeforeClose:null==o?void 0:o.onBeforeClose,className:n,elem:null},[a,l]=this.getCloseFn(r),c=this.counter++;return r.elem=i.createElement(f,{key:c,onFinished:a},i.createElement(e,(0,s.A)({},t,{onFinished:a}))),r.close=a,{modal:r,closeDialog:a,onFinishedProm:l}}getCloseFn(e){return e.deferred=Promise.withResolvers(),[async(...t)=>{var n;if(e.beforeClosePromise)await e.beforeClosePromise;else if(e.onBeforeClose){e.beforeClosePromise=e.onBeforeClose(e.closeReason);const t=await e.beforeClosePromise;if(e.beforeClosePromise=void 0,!t)return}null===(n=e.deferred)||void 0===n||n.resolve(t);const s=this.modals.indexOf(e);s>=0&&this.modals.splice(s,1),this.priorityModal===e&&(this.priorityModal=null,this.modals=[]),this.staticModal===e&&(this.staticModal=null,this.modals=[]),this.reRender(),this.emitClosed()},e.deferred.promise]}createDialog(e,t,n,s=!1,o=!1,i={}){const r=this.getCurrentModal(),{modal:a,closeDialog:l,onFinishedProm:c}=this.buildModal(e,t,n,i);return s?this.priorityModal=a:o?this.staticModal=a:this.modals.unshift(a),this.reRender(),this.emitIfChanged(r),{close:l,finished:c}}appendDialog(e,t,n){const s=this.getCurrentModal(),{modal:o,closeDialog:i,onFinishedProm:r}=this.buildModal(e,t,n,{});return this.modals.push(o),this.reRender(),this.emitIfChanged(s),{close:i,finished:r}}emitIfChanged(e){e!==this.getCurrentModal()&&this.emit(y.Opened)}emitClosed(){this.emit(y.Closed)}getCurrentModal(){return this.priorityModal?this.priorityModal:this.modals[0]||this.staticModal}async reRender(){if(0===this.modals.length&&!this.priorityModal&&!this.staticModal)return m.A.dispatch({action:"aria_unhide_main_app"}),w.getOrCreateRoot().render(i.createElement(i.Fragment,null)),void w.getOrCreateStaticRoot().render(i.createElement(i.Fragment,null));if(m.A.dispatch({action:"aria_hide_main_app"}),this.staticModal){const e=l()("mx_Dialog_wrapper mx_Dialog_staticWrapper",this.staticModal.className),t=i.createElement(i.StrictMode,null,i.createElement(d.B,null,i.createElement("div",{className:e},i.createElement(u.H,{className:"mx_Dialog_border"},i.createElement("div",{className:"mx_Dialog"},this.staticModal.elem)),i.createElement("div",{className:"mx_Dialog_background mx_Dialog_staticBackground",onClick:this.onBackgroundClick}))));w.getOrCreateStaticRoot().render(t)}else w.getOrCreateStaticRoot().render(i.createElement(i.Fragment,null));const e=this.getCurrentModal();if(e===this.staticModal||e.hidden)w.getOrCreateRoot().render(i.createElement(i.Fragment,null));else{const t=l()("mx_Dialog_wrapper",e.className,{mx_Dialog_wrapperWithStaticUnder:this.staticModal}),n=i.createElement(i.StrictMode,null,i.createElement(d.B,null,i.createElement("div",{className:t},i.createElement(u.H,{className:"mx_Dialog_border"},i.createElement("div",{className:"mx_Dialog"},e.elem)),i.createElement("div",{className:"mx_Dialog_background",onClick:this.onBackgroundClick}))));w.getOrCreateRoot().render(n)}}}(0,o.A)(w,"root",void 0),(0,o.A)(w,"staticRoot",void 0),window.singletonModalManager||(window.singletonModalManager=new w);const E=window.singletonModalManager},"./src/Notifier.ts"(e,t,n){"use strict";n.r(t),n.d(t,{Notifier:()=>ne,NotifierEvent:()=>X,default:()=>te});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/MatrixClientPeg.ts"),a=n("./src/PosthogAnalytics.ts"),l=n("./src/SdkConfig.ts"),c=n("./src/PlatformPeg.ts"),d=n("./src/TextForEvent.tsx"),u=n("./src/Avatar.ts"),m=n("./src/dispatcher/dispatcher.ts"),p=n("./src/languageHandler.tsx"),h=n("./src/Modal.tsx"),g=n("./src/settings/SettingsStore.ts"),v=n("./src/toasts/DesktopNotificationsToast.ts"),f=n("./src/settings/SettingLevel.ts"),_=n("./src/settings/controllers/NotificationControllers.ts"),y=n("./src/UserActivity.ts"),b=n("./src/customisations/Media.ts"),w=n("./src/components/views/dialogs/ErrorDialog.tsx"),E=n("./src/contexts/SDKContext.ts"),A=n("./src/utils/notifications.ts"),x=n("./node_modules/react/index.js"),S=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),C=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),k=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/TooltipProvider.js"),R=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/Toggle/Toggle.js"),I=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-solid.js"),P=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),T=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),O=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/voice-call.js"),M=n("./packages/shared-components/dist/element-web-shared-components.js"),N=n("./src/components/views/avatars/RoomAvatar.tsx"),j=n("./src/dispatcher/actions.ts"),D=n("./src/stores/ToastStore.ts"),U=n("./src/components/views/rooms/LiveContentSummary.tsx"),F=n("./src/hooks/useCall.ts"),L=n("./src/components/views/elements/AccessibleButton.tsx"),B=n("./src/hooks/useDispatcher.ts"),V=n("./src/models/Call.ts"),H=n("./src/LegacyCallHandler.tsx"),z=n("./src/hooks/useEventEmitter.ts"),W=n("./src/stores/CallStore.ts"),K=n("./src/utils/DMRoomMap.ts");const $=e=>{const t=e.getContent().sender_ts;return t&&Math.abs(t-e.getTs())>=15e3?(i.vF.warn("Received RTCNotification event. With large sender_ts origin_server_ts offset -> using origin_server_ts"),e.getTs()):null!=t?t:e.getTs()};function J({onClick:e,disabledTooltip:t,isRinging:n}){return x.createElement(S.m,{description:null!=t?t:(0,p._t)("voip|video_call")},x.createElement(C.$,{className:"mx_IncomingCallToast_actionButton",onClick:e,disabled:null!=t,kind:"primary",Icon:P.A,size:"sm"},n?(0,p._t)("action|accept"):(0,p._t)("action|join")))}function G({notificationEvent:e,room:t,onDeclined:n}){const[s,o]=(0,x.useState)(!1),i=(0,x.useCallback)(async s=>{var i;s.stopPropagation(),o(!0),await(null==t?void 0:t.client.sendRtcDecline(t.roomId,null!==(i=e.getId())&&void 0!==i?i:"")),n(s)},[e,n,null==t?void 0:t.client,null==t?void 0:t.roomId]);return x.createElement(S.m,{description:(0,p._t)("voip|decline_call")},x.createElement(C.$,{className:"mx_IncomingCallToast_actionButton",onClick:i,kind:"primary",destructive:!0,disabled:s,Icon:T.A,size:"sm"},(0,p._t)("action|decline")))}function q({notificationEvent:e,toastKey:t}){var n;const s=e.getRoomId(),i=e.getContent(),a=null!==(n=r.J.safeGet().getRoom(s))&&void 0!==n?n:void 0,l=(0,F.Gc)(s),[c,d]=(0,x.useState)(Array.from(W.e.instance.connectedCalls));(0,z.ml)(W.e.instance,W.s.ConnectedCalls,()=>{d(Array.from(W.e.instance.connectedCalls))});const u=c.find(e=>e.roomId!==s),h=(0,x.useRef)(!1);(0,x.useEffect)(()=>{!("ring"===i.notification_type)||h.current||H.Ay.instance.isPlaying(H.cd.Ring)||(h.current=!0,H.Ay.instance.play(H.cd.Ring))},[i.notification_type,h]);const g=(0,x.useCallback)(()=>{D.A.sharedInstance().dismissToast(t),H.Ay.instance.pause(H.cd.Ring)},[t]);(0,z.YK)(a,o.MatrixEventEvent.BeforeRedaction,e=>{var t;[e.getId(),null===(t=e.getRelation())||void 0===t?void 0:t.event_id].includes(e.getId())&&g()});const v=(0,x.useCallback)((t,n)=>{const s=e.getRoomId();(s||s===n)&&(null!==t&&0!==t.participants.size||g())},[g,e]),f=(0,x.useCallback)(t=>{const n=null==a?void 0:a.client.getUserId();t.getType()===o.EventType.RTCDecline&&void 0!==n&&t.getSender()===n&&t.relationEventId===e.getId()&&g()},[g,e,null==a?void 0:a.client]),_=(0,x.useCallback)((e,t)=>{Array.from(e.keys()).some(e=>e.userId==(null==a?void 0:a.client.getUserId()))&&g()},[g,null==a?void 0:a.client]);(0,x.useEffect)(()=>{var t;const n=null!==(t=i.lifetime)&&void 0!==t?t:9e4,s=setTimeout(g,$(e)+n-Date.now());return()=>clearTimeout(s)}),(0,B.F)(m.A,(0,x.useCallback)(e=>{e.action===j.r.ViewRoom&&e.room_id===s&&e.view_call&&g()},[s,g]));const[y,b]=(0,x.useState)(!0),w=(0,x.useCallback)(e=>{e.stopPropagation(),m.A.dispatch({action:j.r.ViewRoom,room_id:null==a?void 0:a.roomId,view_call:!0,skipLobby:"shiftKey"in e&&e.shiftKey||y,voiceOnly:"audio"===i["m.call.intent"],metricsTrigger:void 0})},[a,y,i]),E=(0,x.useCallback)(e=>{e.stopPropagation(),g()},[g]);(0,z.ml)(W.e.instance,W.s.Call,v),(0,z.ml)(null!=l?l:void 0,V.$E.Participants,_),(0,z.ml)(a,o.RoomEvent.Timeline,f);const A="audio"===i["m.call.intent"],S=K.A.shared().getUserIdForRoomId(s),C=(0,F.q0)(l),P="ring"===i.notification_type?x.createElement("span",null,S):x.createElement(U.m,{type:A?U.I.Voice:U.I.Video,text:A?(0,p._t)("common|voice"):(0,p._t)("common|video"),active:!1,participantCount:C});return x.createElement(k.B,null,x.createElement(x.Fragment,null,x.createElement("div",{className:"mx_IncomingCallToast_content"},A?x.createElement("div",{className:"mx_IncomingCallToast_message"},x.createElement(O.A,{width:"20px",height:"20px",style:{position:"relative",top:"4px"}})," ",(0,p._t)("voip|voice_call_incoming")):x.createElement("div",{className:"mx_IncomingCallToast_message"},x.createElement(I.A,{width:"20px",height:"20px",style:{position:"relative",top:"4px"}})," ","ring"===i.notification_type?(0,p._t)("voip|video_call_incoming"):(0,p._t)("voip|video_call_started")),x.createElement(M.OH,{avatar:x.createElement(N.A,{room:null!=a?a:void 0,size:"32px"}),details:P,title:a?a.name:(0,p._t)("voip|call_toast_unknown_room"),className:"mx_IncomingCallToast_AvatarWithDetails"}),!A&&x.createElement("div",{className:"mx_IncomingCallToast_toggleWithLabel"},x.createElement("span",null,(0,p._t)("voip|skip_lobby_toggle_option")),x.createElement(R.l,{onChange:e=>b(e.target.checked),checked:y})),x.createElement("div",{className:"mx_IncomingCallToast_buttons"},x.createElement(G,{notificationEvent:e,room:a,onDeclined:E}),x.createElement(J,{onClick:w,call:l,isRinging:"ring"===i.notification_type,disabledTooltip:u?"Ongoing call":void 0}))),x.createElement(L.A,{className:"mx_IncomingCallToast_closeButton",onClick:E,title:(0,p._t)("action|close")},x.createElement(T.A,null))))}var Y=n("./src/utils/Reply.ts"),Z=n("./src/audio/BackgroundAudio.ts");const Q={[o.MsgType.KeyVerificationRequest]:e=>{var t;const n=null===(t=e.sender)||void 0===t?void 0:t.name;return(0,p._t)("notifier|m.key.verification.request",{name:n})},[o.M_LOCATION.name]:e=>d.QY(e)(),[o.M_LOCATION.altName]:e=>d.QY(e)(),[o.MsgType.Audio]:e=>d.Rd(e,r.J.safeGet())};let X=function(e){return e.NotificationHiddenChange="notification_hidden_change",e}({});class ee extends o.TypedEventEmitter{constructor(...e){super(...e),(0,s.A)(this,"notifsByRoom",{}),(0,s.A)(this,"pendingEncryptedEventIds",[]),(0,s.A)(this,"toolbarHidden",void 0),(0,s.A)(this,"isSyncing",void 0),(0,s.A)(this,"backgroundAudio",new Z.J),(0,s.A)(this,"onSyncStateChange",(e,t,n)=>{e===o.SyncState.Syncing?this.isSyncing=!0:e!==o.SyncState.Stopped&&e!==o.SyncState.Error||(this.isSyncing=!1),[o.SyncState.Stopped,o.SyncState.Error].includes(e)||null!=n&&n.fromCache||(0,A.aI)(r.J.safeGet())}),(0,s.A)(this,"onEvent",(e,t,n,s,o)=>{if(!s&&o.liveEvent&&!n&&this.isSyncing&&e.getSender()!==r.J.safeGet().getUserId()&&null===o.timeline.getTimelineSet().threadListType)if(r.J.safeGet().decryptEventIfNeeded(e),e.isBeingDecrypted()||e.isDecryptionFailure())for(this.pendingEncryptedEventIds.push(e.getId());this.pendingEncryptedEventIds.length>20;)this.pendingEncryptedEventIds.shift();else this.evaluateEvent(e)}),(0,s.A)(this,"onEventDecrypted",e=>{if(e.isDecryptionFailure())return;const t=this.pendingEncryptedEventIds.indexOf(e.getId());-1!==t&&(this.pendingEncryptedEventIds.splice(t,1),this.evaluateEvent(e))}),(0,s.A)(this,"onRoomReceipt",(e,t)=>{if(0===t.getUnreadNotificationCount()){const e=c.A.get();if(!e)return;if(void 0===this.notifsByRoom[t.roomId])return;for(const n of this.notifsByRoom[t.roomId])e.clearNotification(n);delete this.notifsByRoom[t.roomId]}})}notificationMessageForEvent(e){const t=e.getContent().msgtype;return t&&Q.hasOwnProperty(t)?Q[t](e):d.Rd(e,r.J.safeGet())}displayPopupNotification(e,t){const n=c.A.get(),s=r.J.safeGet();if(!n)return;if(!n.supportsNotifications()||!n.maySendNotifications())return;if((0,A.J7)(s))return;let o,i=this.notificationMessageForEvent(e);if(!i)return;if(e.sender&&t.name!==e.sender.name){if("m.room.member"===e.getType())o=t.name;else if(e.sender){o=e.sender.name+" ("+t.name+")";const n=e.getContent().msgtype;!e.getContent().body||n&&Q.hasOwnProperty(n)||(i=(0,Y.fJ)(e.getContent().body))}}else{o=t.name;const n=e.getContent().msgtype;!e.getContent().body||n&&Q.hasOwnProperty(n)||(i=(0,Y.fJ)(e.getContent().body))}if(!o)return;this.isBodyEnabled()||(i="");let a=null;e.sender&&!g.A.getValue("lowBandwidth")&&(a=u._V(e.sender,40,40,"crop"));const l=n.displayNotification(o,i,a,t,e);l&&(void 0===this.notifsByRoom[e.getRoomId()]&&(this.notifsByRoom[e.getRoomId()]=[]),this.notifsByRoom[e.getRoomId()].push(l))}getSoundForRoom(e){const t=g.A.getValue("notificationSound",e);if(!t)return null;if("string"!=typeof t.url)return i.vF.warn(`${e} has custom notification sound event, but no url string`),null;if(!t.url.startsWith("mxc://"))return i.vF.warn(`${e} has custom notification sound event, but url is not a mxc url`),null;const n=(0,b.mediaFromMxc)(t.url).srcHttp;return n?{url:n,name:t.name,type:t.type,size:t.size}:(i.vF.warn("Something went wrong when generating src http url for mxc"),null)}async playAudioNotification(e,t){const n=r.J.safeGet();if((0,A.J7)(n))return;const s=this.getSoundForRoom(t.roomId);i.vF.log(`Got sound ${(null==s?void 0:s.name)||"default"} for ${t.roomId}`),s?await this.backgroundAudio.play(s.url):await this.backgroundAudio.pickFormatAndPlay("media/message",["mp3","ogg"])}start(){const e=r.J.safeGet();e.on(o.RoomEvent.Timeline,this.onEvent),e.on(o.RoomEvent.Receipt,this.onRoomReceipt),e.on(o.MatrixEventEvent.Decrypted,this.onEventDecrypted),e.on(o.ClientEvent.Sync,this.onSyncStateChange),this.toolbarHidden=!1,this.isSyncing=!1}stop(){r.J.get()&&(r.J.get().removeListener(o.RoomEvent.Timeline,this.onEvent),r.J.get().removeListener(o.RoomEvent.Receipt,this.onRoomReceipt),r.J.get().removeListener(o.MatrixEventEvent.Decrypted,this.onEventDecrypted),r.J.get().removeListener(o.ClientEvent.Sync,this.onSyncStateChange)),this.isSyncing=!1}supportsDesktopNotifications(){var e,t;return null!==(e=null===(t=c.A.get())||void 0===t?void 0:t.supportsNotifications())&&void 0!==e&&e}setEnabled(e,t){const n=c.A.get();n&&(g.A.isLevelSupported(f.p.DEVICE)&&g.A.setValue("audioNotificationsEnabled",null,f.p.DEVICE,this.isEnabled()),e?n.requestNotificationPermission().then(e=>{if("granted"!==e){const t=l.Ay.get().brand,n="denied"===e?(0,p._t)("settings|notifications|error_permissions_denied",{brand:t}):(0,p._t)("settings|notifications|error_permissions_missing",{brand:t});return void h.Ay.createDialog(w.A,{title:(0,p._t)("settings|notifications|error_title"),description:n})}t&&t(),a.Vo.instance.trackEvent({eventName:"PermissionChanged",permission:"Notification",granted:!0}),m.A.dispatch({action:"notifier_enabled",value:!0})}):(a.Vo.instance.trackEvent({eventName:"PermissionChanged",permission:"Notification",granted:!1}),m.A.dispatch({action:"notifier_enabled",value:!1})),this.setPromptHidden(!0))}isEnabled(){return this.isPossible()&&g.A.getValue("notificationsEnabled")}isPossible(){const e=c.A.get();return!(null==e||!e.supportsNotifications())&&!!e.maySendNotifications()}isBodyEnabled(){return this.isEnabled()&&g.A.getValue("notificationBodyEnabled")}isAudioEnabled(){return g.A.getValue("audioNotificationsEnabled")}setPromptHidden(e,t=!0){this.toolbarHidden=e,(0,v.Y)(),t&&n.g.localStorage&&n.g.localStorage.setItem("notifications_hidden",String(e)),this.emit(X.NotificationHiddenChange,e)}shouldShowPrompt(){const e=r.J.get();if(!e)return!1;return!e.isGuest()&&this.supportsDesktopNotifications()&&!(0,_.Mv)()&&!this.isEnabled()&&!this.isPromptHidden()}isPromptHidden(){return n.g.localStorage?"true"===n.g.localStorage.getItem("notifications_hidden"):!!this.toolbarHidden}evaluateEvent(e){const t=e.getRoomId(),n=r.J.safeGet().getRoom(t);if(!n)return;const s=r.J.safeGet().getPushActionsForEvent(e);if(null!=s&&s.notify){this.performCustomEventHandling(e);const t=E.M.instance.roomViewStore,i=t.getRoomId()===n.roomId,r=e.getId()!==e.threadRootId?e.threadRootId:void 0,a=t.getThreadId()===r;if(i&&(!r||a)&&y.A.sharedInstance().userActiveRecently()&&!h.Ay.hasDialogs())return;var o;if(this.isEnabled()&&this.displayPopupNotification(e,n),s.tweaks.sound&&this.isAudioEnabled())null===(o=c.A.get())||void 0===o||o.loudNotification(e,n),this.playAudioNotification(e,n)}}async handleRTCNotification(e,t,n){var s,r,a;const l=n&&n.client.matrixRTC.getRoomSession(n);if("m.call"==(null==l||null===(s=l.slotDescription)||void 0===s?void 0:s.application)&&l.memberships.some(e=>e.userId===n.client.getUserId()))return;const c=e.getContent(),d=e.getRoomId(),u=null===(r=e.getRelation())||void 0===r?void 0:r.event_id;if(Date.now()-$(e)>c.lifetime)return void i.vF.warn("Received outdated RTCNotification event.");if(!d)return void i.vF.warn("Could not get roomId for RTCNotification event");if(!u)return void i.vF.warn("Could not get referenced membership for notification");if("m.reference"!==c["m.relates_to"].rel_type)return void i.vF.warn("Ignored RTCNotification due to invalid rel_type");let m=null==n?void 0:n.findEventById(u);if(!m)try{m=new o.MatrixEvent(await n.client.fetchRoomEvent(d,u))}catch(e){i.vF.warn("Call membership for notification could not be found",e)}if(!m)return void i.vF.warn(`Could not find call membership (${u} ${d}) for notification event.`);const p=((e,t)=>`call_${e}_${t}`)(null!==(a=m.getContent().call_id)&&void 0!==a?a:"",d);t.hasToast(p)?i.vF.debug(`Detected duplicate notification for call ${p}, ignoring`):t.addOrReplaceToast({key:p,priority:100,component:q,bodyClassName:"mx_IncomingCallToast",props:{notificationEvent:e}})}performCustomEventHandling(e){const t=D.A.sharedInstance(),n=r.J.safeGet().getRoom(e.getRoomId());n&&o.EventType.RTCNotification===e.getType()&&this.handleRTCNotification(e,t,n)}}window.mxNotifier||(window.mxNotifier=new ee);const te=window.mxNotifier,ne=window.mxNotifier},"./src/PageTypes.ts"(e,t,n){"use strict";n.d(t,{A:()=>o});var s=function(e){return e.HomePage="home_page",e.RoomView="room_view",e.UserView="user_view",e}(s||{});const o=s},"./src/PlatformPeg.ts"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{constructor(){(0,s.A)(this,"platform",null),(0,s.A)(this,"platformPromiseWithResolvers",Promise.withResolvers())}get platformPromise(){return this.platformPromiseWithResolvers.promise}get(){return this.platform}set(e){this.platformPromiseWithResolvers.resolve(e),this.platform=e}}window.mxPlatformPeg||(window.mxPlatformPeg=new o);const i=window.mxPlatformPeg},"./src/PosthogAnalytics.ts"(e,t,n){"use strict";n.d(t,{NZ:()=>f,Vo:()=>y});var s=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/posthog-js/dist/module.js"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/PlatformPeg.ts"),l=n("./src/SdkConfig.ts"),c=n("./src/MatrixClientPeg.ts"),d=n("./src/settings/SettingsStore.ts"),u=n("./src/dispatcher/actions.ts"),m=n("./src/dispatcher/dispatcher.ts"),p=n("./src/settings/enums/Layout.ts");const h=["eventName"];function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}let f=function(e){return e[e.Disabled=0]="Disabled",e[e.Anonymous=1]="Anonymous",e[e.Pseudonymous=2]="Pseudonymous",e}({});const _=new Set(["register","login","forgot_password","soft_logout","new","settings","welcome","home","start","directory","start_sso","start_cas","complete_security","post_registration","room","user"]);class y{static get instance(){return this._instance||(this._instance=new y(i.Ay)),this._instance}constructor(e){(0,o.A)(this,"anonymity",f.Disabled),(0,o.A)(this,"enabled",!1),(0,o.A)(this,"platformSuperProperties",{}),(0,o.A)(this,"propertiesForNextEvent",{}),(0,o.A)(this,"userPropertyCache",{}),(0,o.A)(this,"authenticationType","Other"),(0,o.A)(this,"watchSettingRef",void 0),(0,o.A)(this,"currentCryptoBackend",void 0),(0,o.A)(this,"onLayoutUpdated",()=>{let e;switch(d.A.getValue("layout")){case p.P.IRC:e="IRC";break;case p.P.Bubble:e="Bubble";break;case p.P.Group:e=d.A.getValue("useCompactLayout")?"Compact":"Group"}this.setProperty("WebLayout",e)}),(0,o.A)(this,"onAction",e=>{if(e.action!==u.r.SettingUpdated)return;["layout","useCompactLayout"].includes(e.settingName)&&this.onLayoutUpdated()}),(0,o.A)(this,"lastScreen","Loading"),(0,o.A)(this,"sanitizeProperties",(e,t)=>("$pageview"===t&&(this.lastScreen=e.$current_url),e.$current_url=this.lastScreen,this.anonymity==f.Anonymous&&(e.$referrer=null,e.$referring_domain=null,e.$initial_referrer=null,e.$initial_referring_domain=null,e.$device_id=null),e)),this.posthog=e;const t=l.Ay.getObject("posthog");t?(this.posthog.init(t.get("project_api_key"),{api_host:t.get("api_host"),autocapture:!1,mask_all_text:!0,mask_all_element_attributes:!0,capture_pageview:!1,sanitize_properties:this.sanitizeProperties,respect_dnt:!0,advanced_disable_decide:!0}),this.enabled=!0):this.enabled=!1,m.A.register(this.onAction),d.A.monitorSetting("layout",null),d.A.monitorSetting("useCompactLayout",null),this.onLayoutUpdated(),this.updateCryptoSuperProperty()}registerSuperProperties(e){this.enabled&&this.posthog.register(e)}static async getPlatformProperties(){const e=a.A.get();let t;try{t=await(null==e?void 0:e.getAppVersion())}catch{t="unknown"}return{appVersion:t,appPlatform:null==e?void 0:e.getHumanReadableName()}}capture(e,t,n){if(!this.enabled)return;const{origin:s,hash:o,pathname:i}=window.location;t.redactedCurrentUrl=function(e,t,n){let s;if(e.startsWith("file://")&&(n="/<redacted_file_scheme_url>/"),""==t)s="";else{let[e,n]=t.split("/");_.has(n)||(n="<redacted_screen_name>"),s=`${e}/${n}/<redacted>`}return e+n+s}(s,o,i),this.posthog.capture(e,v(v({},this.propertiesForNextEvent),t),n),this.propertiesForNextEvent={}}isEnabled(){return this.enabled}setAnonymity(e){!this.enabled||e!=f.Disabled&&e!=f.Anonymous||(this.posthog.reset(),this.registerSuperProperties(this.platformSuperProperties)),this.anonymity=e,this.updateCryptoSuperProperty()}static getRandomAnalyticsId(){return[...crypto.getRandomValues(new Uint8Array(16))].map(e=>e.toString(16)).join("")}async identifyUser(e,t){if(this.anonymity==f.Pseudonymous)try{var n;const s=await e.getAccountDataFromServer(y.ANALYTICS_EVENT_TYPE);let o=null==s?void 0:s.id;if(o||(o=t(),await e.setAccountData(y.ANALYTICS_EVENT_TYPE,v({id:o},s))),this.posthog.get_distinct_id()===o)return;"identified"===(null===(n=this.posthog.persistence)||void 0===n?void 0:n.get_property("$user_state"))&&this.posthog.reset(),this.posthog.identify(o)}catch(e){r.vF.log("Unable to identify user for tracking",e)}}getAnonymity(){return this.anonymity}logout(){this.enabled&&this.posthog.reset(),d.A.unwatchSetting(this.watchSettingRef),this.setAnonymity(f.Disabled)}trackEvent(e,t){let{eventName:n}=e,o=(0,s.A)(e,h);this.anonymity!=f.Disabled&&this.anonymity!=f.Anonymous&&this.capture(n,o,t)}setProperty(e,t){this.userPropertyCache[e]!==t&&(this.userPropertyCache[e]=t,this.propertiesForNextEvent.$set||(this.propertiesForNextEvent.$set={}),this.propertiesForNextEvent.$set[e]=t)}setPropertyOnce(e,t){this.userPropertyCache[e]||(this.userPropertyCache[e]=t,this.propertiesForNextEvent.$set_once||(this.propertiesForNextEvent.$set_once={}),this.propertiesForNextEvent.$set_once[e]=t)}async updatePlatformSuperProperties(){this.platformSuperProperties=await y.getPlatformProperties(),this.registerSuperProperties(this.platformSuperProperties)}updateCryptoSuperProperty(){this.enabled&&this.anonymity!==f.Disabled&&this.currentCryptoBackend&&this.registerSuperProperties({cryptoSDK:this.currentCryptoBackend})}async updateAnonymityFromSettings(e,t){if(e.getCrypto()){e.getCrypto().getVersion().includes("Rust SDK")?this.currentCryptoBackend="Rust":this.currentCryptoBackend="Legacy"}const n=t?f.Pseudonymous:f.Disabled;this.setAnonymity(n),n===f.Pseudonymous&&(await this.identifyUser(e,y.getRandomAnalyticsId),c.J.currentUserIsJustRegistered()&&this.trackNewUserEvent()),n!==f.Disabled&&(await this.updatePlatformSuperProperties(),this.updateCryptoSuperProperty())}startListeningToSettingsChanges(e){this.watchSettingRef=d.A.watchSetting("pseudonymousAnalyticsOptIn",null,(t,n,s,o,i)=>{this.updateAnonymityFromSettings(e,!!i)})}setAuthenticationType(e){this.authenticationType=e}trackNewUserEvent(){const e={},t=parseInt(window.localStorage.getItem("mx_registration_time"),10);return isNaN(t)||(e.timestamp=new Date(t)),this.trackEvent({eventName:"Signup",authenticationType:this.authenticationType},e)}}(0,o.A)(y,"_instance",null),(0,o.A)(y,"ANALYTICS_EVENT_TYPE","im.vector.analytics")},"./src/PosthogTrackers.ts"(e,t,n){"use strict";n.d(t,{A:()=>d,Z:()=>u});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/PageTypes.ts"),r=n("./src/Views.ts"),a=n("./src/PosthogAnalytics.ts");const l={[r.A.LOADING]:"Loading",[r.A.CONFIRM_LOCK_THEFT]:"ConfirmStartup",[r.A.WELCOME]:"Welcome",[r.A.LOGIN]:"Login",[r.A.REGISTER]:"Register",[r.A.FORGOT_PASSWORD]:"ForgotPassword",[r.A.COMPLETE_SECURITY]:"CompleteSecurity",[r.A.E2E_SETUP]:"E2ESetup",[r.A.PENDING_CLIENT_START]:"Loading",[r.A.SOFT_LOGOUT]:"SoftLogout",[r.A.LOCK_STOLEN]:"SessionLockStolen"},c={[i.A.HomePage]:"Home",[i.A.RoomView]:"Room",[i.A.UserView]:"User"};class d{constructor(){(0,s.A)(this,"view",r.A.LOADING),(0,s.A)(this,"pageType",void 0),(0,s.A)(this,"override",void 0)}static get instance(){return d.internalInstance||(d.internalInstance=new d),d.internalInstance}trackPageChange(e,t,n){this.view=e,this.pageType=t,this.override||this.trackPage(n)}trackPage(e){const t=this.view===r.A.LOGGED_IN?c[this.pageType]:l[this.view];a.Vo.instance.trackEvent({eventName:"$pageview",$current_url:t,durationMs:e})}trackOverride(e){e&&(this.override=e,a.Vo.instance.trackEvent({eventName:"$pageview",$current_url:e}))}clearOverride(e){e===this.override&&(this.override=void 0,this.trackPage())}static trackInteraction(e,t,n){let s;"click"===(null==t?void 0:t.type)?s="Pointer":null!=t&&t.type.startsWith("key")&&(s="Keyboard"),a.Vo.instance.trackEvent({eventName:"Interaction",interactionType:s,index:n,name:e})}static trackPinUnpinMessage(e,t){a.Vo.instance.trackEvent({eventName:"PinUnpinAction",kind:e,from:t})}}(0,s.A)(d,"internalInstance",void 0);class u extends o.PureComponent{componentDidMount(){d.instance.trackOverride(this.props.screenName)}componentDidUpdate(){d.instance.trackOverride(this.props.screenName)}componentWillUnmount(){d.instance.clearOverride(this.props.screenName)}render(){return null}}},"./src/Resend.ts"(e,t,n){"use strict";n.d(t,{A:()=>r});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/dispatcher/dispatcher.ts");class r{static resendUnsentEvents(e){return Promise.all(e.getPendingEvents().filter(function(e){return e.status===s.EventStatus.NOT_SENT}).map(function(t){return r.resend(e.client,t)}))}static cancelUnsentEvents(e){e.getPendingEvents().filter(function(e){return e.status===s.EventStatus.NOT_SENT}).forEach(function(t){r.removeFromQueue(e.client,t)})}static resend(e,t){const n=e.getRoom(t.getRoomId());return e.resendEvent(t,n).then(function(e){i.A.dispatch({action:"message_sent",event:t})},function(e){o.vF.log("Resend got send failure: "+e.name+"("+e+")")})}static removeFromQueue(e,t){e.cancelPendingEvent(t)}}},"./src/Roles.ts"(e,t,n){"use strict";n.d(t,{X:()=>i,x:()=>o});var s=n("./src/languageHandler.tsx");function o(e){return{undefined:(0,s._t)("power_level|default"),0:(0,s._t)("power_level|restricted"),[e]:(0,s._t)("power_level|default"),50:(0,s._t)("power_level|moderator"),100:(0,s._t)("power_level|admin")}}function i(e,t){const n=o(t);return n[e]?n[e]:(0,s._t)("power_level|custom",{level:e})}},"./src/RoomAliasCache.ts"(e,t,n){"use strict";n.d(t,{K:()=>i,i:()=>o});const s=new Map;function o(e,t,n){s.set(e,{roomId:t,viaServers:n})}function i(e){return s.get(e)}},"./src/RoomInvite.tsx"(e,t,n){"use strict";n.d(t,{Qo:()=>v,_7:()=>g,uG:()=>f,wq:()=>p,xZ:()=>h});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/utils/MultiInviter.ts"),r=n("./src/Modal.tsx"),a=n("./src/languageHandler.tsx"),l=n("./src/components/views/dialogs/InviteDialog.tsx"),c=n("./src/components/views/avatars/BaseAvatar.tsx"),d=n("./src/customisations/Media.ts"),u=n("./src/components/views/dialogs/ErrorDialog.tsx"),m=n("./src/components/views/dialogs/InviteDialogTypes.ts");async function p(e,t,n,s={}){const o=new i.Ay(e,t,s);return{states:await o.invite(n),inviter:o}}function h(e=""){r.Ay.createDialog(l.A,{kind:m.m.Dm,initialText:e},"mx_InviteDialog_flexWrapper",!1,!0)}function g(e,t=""){r.Ay.createDialog(l.A,{kind:m.m.Invite,initialText:t,roomId:e},"mx_InviteDialog_flexWrapper",!1,!0)}function v(e){if(!e||e.getType()!==o.EventType.RoomThirdPartyInvite)return!1;return!["key_validity_url","public_key","display_name"].some(t=>!e.getContent()[t])}function f(e,t,n,o){const i=Object.keys(e).filter(t=>"error"===e[t]);if(1===i.length&&n.fatal)return r.Ay.createDialog(u.A,{title:(0,a._t)("invite|room_failed_title",{roomName:t.name}),description:n.getErrorText(i[0])}),!1;{const l=[];for(const t of i)if("error"===e[t]){const e=n.getErrorText(t);l.push(t+": "+e)}const m=t.client;if(l.length>0){const e=s.createElement("div",{className:"mx_InviteDialog_multiInviterError"},s.createElement("h4",null,(0,a._t)("invite|room_failed_partial",{},{RoomName:()=>s.createElement("strong",null,t.name)})),s.createElement("div",null,i.map(e=>{var t,i,r;const a=(null==o?void 0:o.get(e))||m.getUser(e),l=a.name||a.rawDisplayName,u=(null===(t=(i=a).getMxcAvatarUrl)||void 0===t?void 0:t.call(i))||a.avatarUrl;return s.createElement("div",{key:e,className:"mx_InviteDialog_tile mx_InviteDialog_tile--inviterError"},s.createElement("div",{className:"mx_InviteDialog_tile_avatarStack"},s.createElement(c.A,{url:null!==(r=u&&(0,d.mediaFromMxc)(u).getSquareThumbnailHttp(24))&&void 0!==r?r:void 0,name:l,idName:null==a?void 0:a.userId,size:"36px"})),s.createElement("div",{className:"mx_InviteDialog_tile_nameStack"},s.createElement("span",{className:"mx_InviteDialog_tile_nameStack_name"},l),s.createElement("span",{className:"mx_InviteDialog_tile_nameStack_userId"},null==a?void 0:a.userId)),s.createElement("div",{className:"mx_InviteDialog_tile--inviterError_errorText"},n.getErrorText(e)))})));return r.Ay.createDialog(u.A,{title:(0,a._t)("invite|room_failed_partial_title"),description:e}),!1}}return!0}},"./src/RoomNotifs.ts"(e,t,n){"use strict";n.d(t,{Db:()=>g,Gg:()=>u,dC:()=>d,m5:()=>_,wh:()=>m});var s=n("./node_modules/matrix-js-sdk/src/pushprocessor.ts"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/stores/notifications/NotificationLevel.ts"),r=n("./src/Unread.ts"),a=n("./src/utils/membership.ts"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/utils/notifications.ts");let d=function(e){return e.AllMessagesLoud="all_messages_loud",e.AllMessages="all_messages",e.MentionsOnly="mentions_only",e.Mute="mute",e}({});function u(e,t){var n;if(e.isGuest())return d.AllMessages;if(h(e,t))return d.Mute;let o;try{o=e.getRoomPushRule("global",t)}catch{return null}if(null===(n=o)||void 0===n||!n.enabled)return d.AllMessages;if(f(o))return d.MentionsOnly;return s.j.actionListToActionsObject(o.actions).tweaks.sound?d.AllMessagesLoud:null}function m(e,t,n){return n===d.Mute?function(e,t){const n=[],s=e.getRoomPushRule("global",t);s&&n.push(e.deletePushRule("global",o.PushRuleKind.RoomSpecific,s.rule_id));return n.push(e.addPushRule("global",o.PushRuleKind.Override,t,{conditions:[{kind:o.ConditionKind.EventMatch,key:"room_id",pattern:t}],actions:[o.PushRuleActionName.DontNotify]})),Promise.all(n)}(e,t):function(e,t,n){const s=[],i=h(e,t);i&&s.push(e.deletePushRule("global",o.PushRuleKind.Override,i.rule_id));if(n===d.AllMessages){const n=e.getRoomPushRule("global",t);n&&s.push(e.deletePushRule("global",o.PushRuleKind.RoomSpecific,n.rule_id))}else n===d.MentionsOnly?s.push(e.addPushRule("global",o.PushRuleKind.RoomSpecific,t,{actions:[o.PushRuleActionName.DontNotify]})):n===d.AllMessagesLoud&&s.push(e.addPushRule("global",o.PushRuleKind.RoomSpecific,t,{actions:[o.PushRuleActionName.Notify,{set_tweak:o.TweakName.Sound,value:"default"}]}));return Promise.all(s)}(e,t,n)}function p(e,t,n,s){const i=(e,t)=>n?e.getUnreadNotificationCount(t):e.getRoomUnreadNotificationCount(t);let r=s?e.getThreadUnreadNotificationCount(s,t):i(e,t);const a=l.A.getValue("feature_dynamic_room_predecessors"),c=e.findPredecessor(a);if(!s&&null!=c&&c.roomId){const t=c.roomId,n=e.client.getRoom(t);n&&(r+=i(n,o.NotificationCountType.Highlight))}return r}function h(e,t){var n;if(null==e||null===(n=e.pushRules)||void 0===n||null===(n=n.global)||void 0===n||!n.override)return null;for(const n of e.pushRules.global.override)if(n.enabled&&v(t,n))return n;return null}function g(e){var t;return 1===(null===(t=e.conditions)||void 0===t?void 0:t.length)&&e.conditions[0].kind===o.ConditionKind.EventMatch&&"room_id"===e.conditions[0].key&&f(e)}function v(e,t){if(!g(t))return!1;return t.conditions[0].pattern===e}function f(e){return 0===e.actions.length||1===e.actions.length&&e.actions[0]===o.PushRuleActionName.DontNotify}function _(e,t,n){if(!e)return{symbol:null,count:0,level:i.S.None,invited:!1};if(function(e,t){return e?e.getPendingEvents().filter(function(e){return e.status===o.EventStatus.NOT_SENT&&(!t||t===e.threadRootId)}):[]}(e,t).length>0)return{symbol:"!",count:1,level:i.S.Unsent,invited:!1};if((0,a.Cs)(e.getMyMembership())===a._T.Invite)return{symbol:"!",count:1,level:i.S.Highlight,invited:!0};if(l.A.getValue("feature_ask_to_join")&&(0,a.yE)(e))return{symbol:"!",count:1,level:i.S.Highlight,invited:!1};if(u(e.client,e.roomId)===d.Mute)return{symbol:null,count:0,level:i.S.None,invited:!1};const s=p(e,o.NotificationCountType.Highlight,null!=n&&n,t),m=p(e,o.NotificationCountType.Total,null!=n&&n,t),h=m||s;if(s>0)return{symbol:null,count:h,level:i.S.Highlight,invited:!1};const g=(0,c.nx)(e);if(m>0||g)return{symbol:null,count:h,level:i.S.Notification,invited:!1};let v=!1;if(t){const n=e.getThread(t);n&&(v=(0,r.jM)(n))}else v=(0,r.GN)(e,null!=n&&n);return{symbol:null,count:h,level:v?i.S.Activity:i.S.None,invited:!1}}},"./src/Rooms.ts"(e,t,n){"use strict";n.d(t,{FZ:()=>c,iW:()=>a,lA:()=>l,zQ:()=>r});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/customisations/Alias.ts"),i=n("./src/utils/dm/filterValidMDirect.ts");function r(e){return a(e.getCanonicalAlias(),e.getAltAliases())}function a(e,t){var n;return o.A.getDisplayAliasForAliasSet?o.A.getDisplayAliasForAliasSet(e,t):null!==(n=e||(null==t?void 0:t[0]))&&void 0!==n?n:""}function l(e,t){let n;if(t){n=function(e,t){let n,s;for(const i of e.getJoinedMembers()){var o;if(i.userId!=t)if(void 0===n||i.events.member&&i.events.member.getTs()<n)s=i,n=null===(o=i.events.member)||void 0===o?void 0:o.getTs()}if(s)return s.userId;for(const o of e.currentState.getMembers()){var i;if(o.userId!=t)if(void 0===n||o.events.member&&o.events.member.getTs()<n)s=o,n=null===(i=o.events.member)||void 0===i?void 0:i.getTs()}return void 0===s?t:s.userId}(e,e.client.getSafeUserId())}else n=null;return c(e.client,e.roomId,n)}async function c(e,t,n){var o;if(e.isGuest())return;const r=e.getAccountData(s.EventType.Direct),{filteredContent:a}=(0,i.d)(null!==(o=null==r?void 0:r.getContent())&&void 0!==o?o:{});for(const e in a)a[e]&&(a[e]=a[e].filter(e=>e!==t));n&&(a[n]||(a[n]=[]),a[n].push(t)),await e.setAccountData(s.EventType.Direct,a)}},"./src/SdkConfig.ts"(e,t,n){"use strict";n.d(t,{Ay:()=>c,Hy:()=>d,zY:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/lodash/mergeWith.js"),i=n("./src/utils/SnakedObject.ts"),r=n("./src/utils/objects.ts");const a={brand:"Element",help_url:"https://element.io/help",help_encryption_url:"https://element.io/help#encryption",help_key_storage_url:"https://element.io/help#encryption5",integrations_ui_url:"https://scalar.vector.im/",integrations_rest_url:"https://scalar.vector.im/api",uisi_autorageshake_app:"element-auto-uisi",show_labs_settings:!1,force_verification:!1,jitsi:{preferred_domain:"meet.element.io"},element_call:{use_exclusively:!1,brand:"Element Call"},desktopBuilds:{available:!0,logo:n("./res/img/element-desktop-logo.svg").A,url:"https://element.io/get-started"},feedback:{existing_issues_url:"https://github.com/vector-im/element-web/issues?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc",new_issue_url:"https://github.com/vector-im/element-web/issues/new/choose"},desktop_builds:{available:!0,logo:"vector-icons/1024.png",url:"https://element.io/download",url_macos:"https://packages.element.io/desktop/install/macos/Element.dmg",url_win64:"https://packages.element.io/desktop/install/win32/x64/Element%20Setup.exe",url_win64arm:"https://packages.element.io/desktop/install/win32/arm64/Element%20Setup.exe",url_linux:"https://element.io/download#linux"},mobile_builds:{ios:"https://apps.apple.com/app/vector/id1083446067",android:"https://play.google.com/store/apps/details?id=im.vector.app",fdroid:"https://f-droid.org/repository/browse/?fdid=im.vector.app"}};function l(e,t){return(0,o.A)((0,r.ZV)(e),t,(e,t)=>Array.isArray(e)?t:(0,r.Gv)(e)&&!(0,r.Gv)(t)?e:void 0)}class c{static setInstance(e){c.instance=e,c.fallback=new i.Q(e),window.mxReactSdkConfig=e}static get(e,t){return void 0===e?c.instance||{}:c.fallback.get(e,t)}static getObject(e,t){const n=c.get(e,t);return(0,r.Gv)(n)?new i.Q(n):void 0===n?void 0:null}static put(e){c.setInstance(l(a,e))}static reset(){c.setInstance(l(a,{}))}static add(e){c.put(l(c.get(),e))}}function d(e){return e.sso_redirect_options?e.sso_redirect_options:e.sso_immediate_redirect?{immediate:!0}:{}}(0,s.A)(c,"instance",void 0),(0,s.A)(c,"fallback",void 0)},"./src/SecurityManager.ts"(e,t,n){"use strict";n.d(t,{qQ:()=>I,cb:()=>M,c6:()=>T,kq:()=>R,J6:()=>O});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/crypto-api/index.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/Modal.tsx"),a=n("./src/MatrixClientPeg.ts"),l=n("./src/languageHandler.tsx"),c=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),d=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/Password/Password.js"),u=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock-solid.js"),p=n("./node_modules/lodash/debounce.js"),h=n("./node_modules/classnames/index.js"),g=n.n(h),v=n("./packages/shared-components/dist/element-web-shared-components.js"),f=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error-solid.js"),_=n("./src/components/views/settings/encryption/EncryptionCard.tsx"),y=n("./src/components/views/settings/encryption/EncryptionCardButtons.tsx"),b=n("./src/components/views/dialogs/BaseDialog.tsx");class w extends s.PureComponent{constructor(e){super(e),(0,c.A)(this,"inputRef",s.createRef()),(0,c.A)(this,"onCancel",()=>{this.props.onFinished(!1)}),(0,c.A)(this,"validateRecoveryKeyOnChange",(0,p.A)(async()=>{await this.validateRecoveryKey(this.state.recoveryKey)},200)),(0,c.A)(this,"onRecoveryKeyChange",e=>{this.setState({recoveryKey:e.target.value}),this.validateRecoveryKeyOnChange()}),(0,c.A)(this,"onRecoveryKeyNext",async e=>{e.preventDefault();const t=await this.validateRecoveryKey(this.state.recoveryKey);var n;void 0!==t?this.props.onFinished(t):null===(n=this.inputRef.current)||void 0===n||n.focus()}),this.state={recoveryKey:"",recoveryKeyCorrect:null}}async validateRecoveryKey(e){var t,n;if(""===(e=e.trim()))return void this.setState({recoveryKeyCorrect:null});const s=(null===(t=this.props.keyInfo)||void 0===t||null===(t=t.passphrase)||void 0===t?void 0:t.salt)&&(null===(n=this.props.keyInfo)||void 0===n||null===(n=n.passphrase)||void 0===n?void 0:n.iterations);try{const t={recoveryKey:e},n=await this.props.checkPrivateKey(t);if(n)return this.setState({recoveryKeyCorrect:n}),t}catch{}if(s)try{const t={passphrase:e},n=await this.props.checkPrivateKey(t);if(n)return this.setState({recoveryKeyCorrect:n}),t}catch{}this.setState({recoveryKeyCorrect:!1})}getRecoveryKeyFeedback(){let e,t;return this.state.recoveryKeyCorrect?e=" ":null===this.state.recoveryKeyCorrect?e=(0,l._t)("encryption|access_secret_storage_dialog|alternatives"):(e=s.createElement(s.Fragment,null,s.createElement(f.A,null),(0,l._t)("encryption|access_secret_storage_dialog|key_validation_text|wrong_security_key")),t="mx_AccessSecretStorageDialog_recoveryKeyFeedback--invalid"),s.createElement(v.so,{align:"center",className:g()("mx_AccessSecretStorageDialog_recoveryKeyFeedback",t)},e)}render(){const e=(0,l._t)("encryption|access_secret_storage_dialog|security_key_title"),t=this.getRecoveryKeyFeedback(),n=s.createElement("div",null,s.createElement("form",{className:"mx_AccessSecretStorageDialog_primaryContainer",onSubmit:this.onRecoveryKeyNext,spellCheck:!1,autoComplete:"off"},s.createElement("div",{className:"mx_AccessSecretStorageDialog_recoveryKeyEntry"},s.createElement(d.y,{ref:this.inputRef,id:"mx_securityKey",title:(0,l._t)("encryption|access_secret_storage_dialog|security_key_label"),placeholder:(0,l._t)("encryption|access_secret_storage_dialog|security_key_label"),value:this.state.recoveryKey,onChange:this.onRecoveryKeyChange,autoFocus:!0,autoComplete:"off"})),t,s.createElement(y.D,null,s.createElement(u.$,{disabled:!this.state.recoveryKeyCorrect,onClick:this.onRecoveryKeyNext},(0,l._t)("action|continue")),s.createElement(u.$,{kind:"tertiary",onClick:this.onCancel},(0,l._t)("action|cancel")))));return s.createElement(b.A,{fixedWidth:!1,hasCancel:!1},s.createElement(_.g,{Icon:m.A,className:"mx_AccessSecretStorageDialog",title:e,description:(0,l._t)("encryption|access_secret_storage_dialog|privacy_warning")},n))}}var E=n("./src/modules/ModuleRunner.ts"),A=n("./src/components/views/dialogs/InteractiveAuthDialog.tsx");let x={},S={},C=!1;const k=i.vF.getChild("SecurityManager:");function R(){return C}class I extends Error{constructor(){super("Secret storage access canceled")}}function P(e,t,n){C&&(k.debug(`Caching 4S key ${e}`),x[e]=n,S[e]=t)}const T={getSecretStorageKey:async function({keys:e},t){const n=a.J.safeGet(),s=await n.secretStorage.getDefaultKeyId();let i;if(s&&e[s])i=s;else{const t=Object.keys(e);if(t.length>1)throw new Error("Multiple storage key requests not implemented");i=t[0]}const l=e[i];if(k.debug(`getSecretStorageKey: request for 4S keys [${Object.keys(e)}] for secret \`${t}\`: looking for key ${i}`),C&&x[i])return k.debug(`getSecretStorageKey: returning key ${i} from cache`),[i,x[i]];const c=E.r.instance.extensions.cryptoSetup.getSecretStorageKey();if(c)return k.debug("getSecretStorageKey: Using secret storage key from CryptoSetupExtension"),P(i,l,c),[i,c];if(i!==s)throw k.debug(`getSecretStorageKey: request for non-default key ${i}: not prompting user`),new Error("Request for non-default 4S key");k.debug(`getSecretStorageKey: prompting user for key ${i}`);const d=function(e){return async({passphrase:t,recoveryKey:n})=>{if(t)return(0,o.wn)(t,e.passphrase.salt,e.passphrase.iterations);if(n)return(0,o.R1)(n);throw new Error("Invalid input, passphrase or recoveryKey need to be provided")}}(l),{finished:u}=r.Ay.createDialog(w,{keyInfo:l,checkPrivateKey:async e=>{const t=await d(e);return a.J.safeGet().secretStorage.checkKey(t,l)}}),[m]=await u;if(!m)throw new I;k.debug(`getSecretStorageKey: got key ${i} from user`);const p=await d(m);return P(i,l,p),[i,p]},cacheSecretStorageKey:P};async function O(e){k.debug("enabling 4S key cache"),C=!0;try{return await e()}finally{k.debug("disabling 4S key cache"),C=!1,x={},S={}}}async function M(e=async()=>{},t={}){await O(()=>async function(e,t){try{const o=a.J.safeGet(),i=o.getCrypto();if(!i)throw new Error("End-to-end encryption is disabled - unable to access secret storage.");if(t.forceReset){k.debug("accessSecretStorage: resetting 4S");const{finished:e}=r.Ay.createDialog((0,s.lazy)(()=>n.e(1127).then(n.bind(n,"./src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx"))),t,void 0,!1,!0),[o]=await e;if(!o)throw new Error("Secret storage creation canceled")}else{if(!await o.secretStorage.hasKey())throw k.debug("accessSecretStorage: no 4S key configured"),new Error("Secret storage has not been created yet.");k.debug("accessSecretStorage: bootstrapCrossSigning"),await i.bootstrapCrossSigning({authUploadDeviceSigningKeys:async e=>{k.debug("accessSecretStorage: performing UIA to upload cross-signing keys");const{finished:t}=r.Ay.createDialog(A.A,{title:(0,l._t)("encryption|bootstrap_title"),matrixClient:o,makeRequest:e}),[n]=await t;if(!n)throw new Error("Cross-signing key upload auth canceled");k.debug("accessSecretStorage: Cross-signing key upload successful")}}),k.debug("accessSecretStorage: bootstrapSecretStorage"),await i.bootstrapSecretStorage({})}k.debug("accessSecretStorage: 4S now ready"),await e(),k.debug("accessSecretStorage: operation complete")}catch(e){throw E.r.instance.extensions.cryptoSetup.catchAccessSecretStorageError(e),k.error("accessSecretStorage: error during operation",e),e}}(e,t))}},"./src/SendHistoryManager.ts"(e,t,n){"use strict";n.d(t,{A:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/lodash/clamp.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts");class r{constructor(e,t){(0,s.A)(this,"history",[]),(0,s.A)(this,"prefix",void 0),(0,s.A)(this,"lastIndex",0),(0,s.A)(this,"currentIndex",0),this.prefix=t+e;let n,o=0;for(;n=sessionStorage.getItem(`${this.prefix}[${o}]`);){try{this.history.push(JSON.parse(n))}catch(e){i.vF.warn("Throwing away unserialisable history",e);break}++o}this.lastIndex=this.history.length-1,this.currentIndex=this.lastIndex+1}static createItem(e,t){return{parts:e.serializeParts(),replyEventId:t?t.getId():void 0}}save(e,t){const n=r.createItem(e,t);this.history.push(n),this.currentIndex=this.history.length,this.lastIndex+=1,sessionStorage.setItem(`${this.prefix}[${this.lastIndex}]`,JSON.stringify(n))}getItem(e){return this.currentIndex=(0,o.A)(this.currentIndex+e,0,this.history.length-1),this.history[this.currentIndex]}}},"./src/SlidingSyncManager.ts"(e,t,n){"use strict";n.d(t,{f:()=>f});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/sliding-sync.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./node_modules/matrix-js-sdk/src/utils.ts");function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const u=[[i.EventType.RoomJoinRules,""],[i.EventType.RoomAvatar,""],[i.EventType.RoomCanonicalAlias,""],[i.EventType.RoomTombstone,""],[i.EventType.RoomEncryption,""],[i.EventType.RoomCreate,""],[i.EventType.SpaceChild,r.rb],[i.EventType.SpaceParent,r.rb],[i.EventType.RoomMember,r.x7]],m={timeline_limit:50,include_old_rooms:{timeline_limit:0,required_state:u}},p="unencrypted",h=d({required_state:[[i.EventType.RoomMember,r.x7],[i.EventType.RoomMember,r.rS]]},m),g=d({required_state:[[r.rb,r.rb]]},m),v={spaces:{ranges:[[0,10]],timeline_limit:0,required_state:u,include_old_rooms:{timeline_limit:0,required_state:u},filters:{room_types:["m.space"]}},invites:{ranges:[[0,10]],timeline_limit:1,required_state:u,include_old_rooms:{timeline_limit:0,required_state:u},filters:{is_invite:!0}},favourites:{ranges:[[0,10]],timeline_limit:1,required_state:u,include_old_rooms:{timeline_limit:0,required_state:u},filters:{tags:["m.favourite"]}},dms:{ranges:[[0,10]],timeline_limit:1,required_state:u,include_old_rooms:{timeline_limit:0,required_state:u},filters:{is_dm:!0,is_invite:!1,not_tags:["m.favourite","m.lowpriority"]}},untagged:{ranges:[[0,10]],timeline_limit:1,required_state:u,include_old_rooms:{timeline_limit:0,required_state:u}}};class f{constructor(){(0,o.A)(this,"slidingSync",void 0),(0,o.A)(this,"client",void 0),(0,o.A)(this,"configureDefer",Promise.withResolvers())}static get instance(){return f.internalInstance}configure(e,t){this.client=e;const n=new Map;for(const e in v)n.set(e,v[e]);return this.slidingSync=new r.W$(t,n,g,e,2e4),this.slidingSync.addCustomSubscription(p,h),this.configureDefer.resolve(),this.slidingSync}async ensureListRegistered(e,t){a.vF.debug("ensureListRegistered:::",e,t),await this.configureDefer.promise;let n=this.slidingSync.getListParams(e);if(n){const e=d(d({},n),t);if(JSON.stringify(n)===JSON.stringify(e))return a.vF.debug("list matches, not sending, update => ",t),n;n=e}else n=d({ranges:[[0,20]],sort:["by_notification_level","by_recency"],timeline_limit:1,required_state:[[i.EventType.RoomJoinRules,""],[i.EventType.RoomAvatar,""],[i.EventType.RoomTombstone,""],[i.EventType.RoomEncryption,""],[i.EventType.RoomCreate,""],[i.EventType.RoomMember,r.x7]],include_old_rooms:{timeline_limit:0,required_state:[[i.EventType.RoomCreate,""],[i.EventType.RoomTombstone,""],[i.EventType.SpaceChild,r.rb],[i.EventType.SpaceParent,r.rb],[i.EventType.RoomMember,r.x7]]}},t);try{t.ranges&&1===Object.keys(t).length?await this.slidingSync.setListRanges(e,t.ranges):await this.slidingSync.setList(e,n)}catch(e){a.vF.debug("ensureListRegistered: update failed txn_id=",e)}return this.slidingSync.getListParams(e)}async setRoomVisible(e){var t;await this.configureDefer.promise;const n=this.slidingSync.getRoomSubscriptions();if(n.has(e))return;n.add(e);const s=null===(t=this.client)||void 0===t?void 0:t.getRoom(e);let o=!1;var r;s&&(o=!await(null===(r=this.client)||void 0===r||null===(r=r.getCrypto())||void 0===r?void 0:r.isEncryptionEnabledInRoom(e)));return a.vF.log("SlidingSync setRoomVisible:",e,"shouldLazyLoad:",o),o&&this.slidingSync.useCustomSubscription(e,p),this.slidingSync.modifyRoomSubscriptions(n),s?void 0:new Promise(t=>{var n;a.vF.log(`SlidingSync setRoomVisible room ${e} not found, waiting for ClientEvent.Room`);const s=n=>{var o;n.roomId===e&&(null===(o=this.client)||void 0===o||o.off(i.ClientEvent.Room,s),a.vF.log(`SlidingSync room ${e} found, resolving setRoomVisible`),t())};null===(n=this.client)||void 0===n||n.on(i.ClientEvent.Room,s)})}async startSpidering(e,t,n){const s=new Map(Object.keys(v).map(e=>[e,v[e].ranges[0][1]]));console.log("startSpidering:",s);const o=async(i,a,c)=>{if(i!==r.ns.Complete)return;if(await(0,l.yy)(n),c)return;let d=!1;s.forEach((n,o)=>{var i;if(n<((null===(i=e.getListData(o))||void 0===i?void 0:i.joinedCount)||0)){const i=n+t;console.log(`startSpidering: ${o} ${n} => ${i}`),s.set(o,i),e.setListRanges(o,[[0,i]]),d=!0}}),d||e.off(r.cQ.Lifecycle,o)};e.on(r.cQ.Lifecycle,o)}async setup(e){const t=this.configure(e,e.baseUrl);return a.vF.info("Simplified Sliding Sync activated at",e.baseUrl),this.startSpidering(t,50,50),t}async nativeSlidingSyncSupport(e){const t=await(null==e?void 0:e.doesServerSupportUnstableFeature("org.matrix.simplified_msc3575"));return t&&a.vF.log("nativeSlidingSyncSupport: org.matrix.simplified_msc3575 sliding sync advertised as unstable"),t}async checkSupport(e){await this.nativeSlidingSyncSupport(e)?f.serverSupportsSlidingSync=!0:f.serverSupportsSlidingSync=!1}}s=f,(0,o.A)(f,"serverSupportsSlidingSync",void 0),(0,o.A)(f,"ListSpaces","space_list"),(0,o.A)(f,"ListSearch","search_list"),(0,o.A)(f,"internalInstance",new s)},"./src/SupportedBrowser.ts"(e,t,n){"use strict";n.d(t,{mM:()=>_,o7:()=>y});var s=n("./node_modules/matrix-js-sdk/src/logger.ts"),o=n("./node_modules/browserslist/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/pop-out.js"),a=n("./src/utils/device/parseUserAgent.ts"),l=n("./src/stores/ToastStore.ts"),c=n("./src/components/views/toasts/GenericToast.tsx"),d=n("./src/languageHandler.tsx"),u=n("./src/SdkConfig.ts");const m="mx_accepts_unsupported_browser",p="unsupportedbrowser",h=[a.b.Web,a.b.Desktop];function g(){v(),window.open("https://github.com/element-hq/element-web#supported-environments","_blank","noopener,noreferrer")}function v(){localStorage.setItem(m,String(!0)),l.A.sharedInstance().dismissToast(p)}function f(e){const[t,n]=e.split(" ");return[t.toLowerCase(),parseInt(n,10)]}function _(){const e=i()("last 2 Chrome versions, last 2 Firefox versions, last 2 Safari versions, last 2 Edge versions").sort(),t=new Map;for(const n of e){const[e,s]=f(n);t.has(e)||t.set(e,s)}const n=(0,a.y)(navigator.userAgent);let o=!0;if(h.includes(n.deviceType)||(s.vF.warn("Browser unsupported, unsupported device type",n.deviceType),o=!1),n.client){if(n.deviceType===a.b.Desktop)return o;const[e,i]=f(n.client),r=t.get(e);(!r||i<r)&&(s.vF.warn("Browser unsupported, unsupported user agent",n.client),o=!1)}else s.vF.warn("Browser unsupported, unknown client",navigator.userAgent),o=!1;return o}function y(){if(_())return;if(localStorage.getItem(m))return void s.vF.warn("Browser unsupported, but user has previously accepted");const e=u.Ay.get().brand;l.A.sharedInstance().addOrReplaceToast({key:p,title:(0,d._t)("unsupported_browser|title",{brand:e}),props:{description:(0,d._t)("unsupported_browser|description",{brand:e}),secondaryLabel:(0,d._t)("action|learn_more"),SecondaryIcon:r.A,onSecondaryClick:g,primaryLabel:(0,d._t)("action|dismiss"),onPrimaryClick:v},component:c.A,priority:40})}},"./src/Terms.ts"(e,t,n){"use strict";n.d(t,{kl:()=>_,lO:()=>f,Lo:()=>w,S$:()=>y,gw:()=>b});var s=n("./node_modules/classnames/index.js"),o=n.n(s),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/Modal.tsx"),a=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),l=n("./node_modules/react/index.js"),c=n("./node_modules/matrix-js-sdk/src/matrix.ts"),d=n("./src/languageHandler.tsx"),u=n("./src/components/views/elements/DialogButtons.tsx"),m=n("./src/components/views/dialogs/BaseDialog.tsx"),p=n("./src/components/views/elements/ExternalLink.tsx"),h=n("./src/utils/UrlUtils.ts");class g extends l.PureComponent{constructor(...e){super(...e),(0,a.A)(this,"onChange",e=>{this.props.onChange(this.props.url,e.currentTarget.checked)})}render(){return l.createElement("input",{type:"checkbox",onChange:this.onChange,checked:this.props.checked})}}class v extends l.PureComponent{constructor(e){super(e),(0,a.A)(this,"onCancelClick",()=>{this.props.onFinished(!1)}),(0,a.A)(this,"onNextClick",()=>{this.props.onFinished(!0,Object.keys(this.state.agreedUrls).filter(e=>this.state.agreedUrls[e]))}),(0,a.A)(this,"onTermsCheckboxChange",(e,t)=>{this.setState({agreedUrls:Object.assign({},this.state.agreedUrls,{[e]:t})})}),this.state={agreedUrls:{}};for(const t of e.agreedUrls)this.state.agreedUrls[t]=!0}nameForServiceType(e,t){switch(e){case c.SERVICE_TYPES.IS:return l.createElement("div",null,(0,d._t)("common|identity_server"),l.createElement("br",null),"(",t,")");case c.SERVICE_TYPES.IM:return l.createElement("div",null,(0,d._t)("common|integration_manager"),l.createElement("br",null),"(",t,")")}}summaryForServiceType(e){switch(e){case c.SERVICE_TYPES.IS:return l.createElement("div",null,(0,d._t)("terms|summary_identity_server_1"),l.createElement("br",null),(0,d._t)("terms|summary_identity_server_2"));case c.SERVICE_TYPES.IM:return l.createElement("div",null,(0,d._t)("terms|integration_manager"))}}render(){const e=[];for(const t of this.props.policiesAndServicePairs){const n=(0,h.Dl)(t.service.baseUrl),s=Object.values(t.policies);for(let o=0;o<s.length;++o){const i=y(s[o]);if(!i)continue;let r,a;0===o&&(r=this.nameForServiceType(t.service.serviceType,n.host),a=this.summaryForServiceType(t.service.serviceType)),e.push(l.createElement("tr",{key:i.url},l.createElement("td",{className:"mx_TermsDialog_service"},r),l.createElement("td",{className:"mx_TermsDialog_summary"},a),l.createElement("td",null,l.createElement(p.A,{rel:"noreferrer noopener",target:"_blank",href:i.url},i.name)),l.createElement("td",null,l.createElement(g,{url:i.url,onChange:this.onTermsCheckboxChange,checked:Boolean(this.state.agreedUrls[i.url])}))))}}let t=!1;for(const e of this.props.policiesAndServicePairs){let n=0;for(const t of Object.values(e.policies)){let e=!1;for(const n of Object.keys(t))if("version"!==n&&"string"!=typeof t[n]&&this.state.agreedUrls[t[n].url]){e=!0;break}e&&++n}if(n===Object.keys(e.policies).length){t=!0;break}}return l.createElement(m.A,{fixedWidth:!1,onFinished:this.onCancelClick,title:(0,d._t)("terms|tos"),contentId:"mx_Dialog_content",hasCancel:!1},l.createElement("div",{id:"mx_Dialog_content"},l.createElement("p",null,(0,d._t)("terms|intro")),l.createElement("table",{className:"mx_TermsDialog_termsTable"},l.createElement("tbody",null,l.createElement("tr",{className:"mx_TermsDialog_termsTableHeader"},l.createElement("th",null,(0,d._t)("terms|column_service")),l.createElement("th",null,(0,d._t)("terms|column_summary")),l.createElement("th",null,(0,d._t)("terms|column_document")),l.createElement("th",null,(0,d._t)("action|accept"))),e))),l.createElement(u.A,{primaryButton:(0,d._t)("action|next"),hasCancel:!0,onCancel:this.onCancelClick,onPrimaryButtonClick:this.onNextClick,primaryDisabled:!t}))}}class f extends Error{}class _{constructor(e,t,n){this.serviceType=e,this.baseUrl=t,this.accessToken=n}}function y(e){return e[(0,d.CO)(Object.keys(e).filter(e=>"version"!==e))]}async function b(e,t,n=w){var s;const o=t.map(t=>e.getTerms(t.serviceType,t.baseUrl)),r=(await Promise.all(o)).map((e,n)=>({service:t[n],policies:e.policies})),a=null===(s=e.getAccountData("m.accepted_terms"))||void 0===s?void 0:s.getContent(),l=new Set((null==a?void 0:a.accepted)||[]),c=[];for(const{service:e,policies:t}of r){const n={};for(const[e,s]of Object.entries(t)){let t=!1;for(const e of Object.keys(s))if("version"!==e&&"string"!=typeof s[e]&&l.has(s[e].url)){t=!0;break}t||(n[e]=s)}Object.keys(n).length>0&&c.push({service:e,policies:n})}const d=l.size;if(c.length>0){const e=await n(c,[...l]);i.vF.log("User has agreed to URLs",e),e.forEach(e=>l.add(e))}else i.vF.log("User has already agreed to all required policies");if(l.size!==d){const t={accepted:Array.from(l)};await e.setAccountData("m.accepted_terms",t)}const u=r.map(t=>{const n=Array.from(l).filter(e=>{for(const n of Object.values(t.policies))for(const t of Object.keys(n))if("version"!==t&&"string"!=typeof n[t]&&n[t].url===e)return!0;return!1});return 0===n.length?Promise.resolve():e.agreeToTerms(t.service.serviceType,t.service.baseUrl,t.service.accessToken,n)});await Promise.all(u)}async function w(e,t,n){i.vF.log("Terms that need agreement",e);const{finished:s}=r.Ay.createDialog(v,{policiesAndServicePairs:e,agreedUrls:t},o()("mx_TermsDialog",n)),[a,l]=await s;if(!a||!l)throw new f;return l}},"./src/TextForEvent.tsx"(e,t,n){"use strict";n.d(t,{I3:()=>U,Rd:()=>F,QY:()=>T});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/types.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./node_modules/matrix-js-sdk/src/utils.ts"),l=n("./src/languageHandler.tsx"),c=n("./src/Roles.ts"),d=n("./src/RoomInvite.tsx"),u=n("./src/settings/SettingsStore.ts"),m=n("./src/mjolnir/BanList.ts"),p=n("./src/stores/widgets/WidgetLayoutStore.ts"),h=n("./src/stores/right-panel/RightPanelStorePhases.ts"),g=n("./src/dispatcher/dispatcher.ts"),v=n("./src/components/views/dialogs/RoomSettingsDialog.tsx"),f=n("./src/components/views/elements/AccessibleButton.tsx"),_=n("./src/stores/right-panel/RightPanelStore.ts"),y=n("./src/utils/EventUtils.ts");function b(e){var t,n,s;return null!==(t=null!==(n=null===(s=e.sender)||void 0===s?void 0:s.name)&&void 0!==n?n:e.getSender())&&void 0!==t?t:(0,l._t)("common|someone")}var w=n("./src/PosthogTrackers.ts"),E=n("./src/call-types.ts");function A(e,t,n=t.getSender()){var s;const o=t.getRoomId(),i=null===(s=e.getRoom(o))||void 0===s?void 0:s.getMember(n);return(null==i?void 0:i.name)||(null==i?void 0:i.rawDisplayName)||n||(0,l._t)("common|someone")}function x(e,t){var n;const s=null===(n=t.getRoom(e.getRoomId()))||void 0===n?void 0:n.name;return t.supportsVoip()?()=>(0,l._t)("timeline|m.call|video_call_started",{roomName:s}):()=>(0,l._t)("timeline|m.call|video_call_started_unsupported",{roomName:s})}var S=function(e){return e[e.None=0]="None",e[e.Unset=1]="Unset",e[e.Set=2]="Set",e[e.Changed=3]="Changed",e}(S||{});function C(e,t){return e&&t&&e!==t?S.Changed:e&&!t?S.Unset:!e&&t?S.Set:S.None}const k=()=>{g.A.dispatch({action:"open_room_settings",initial_tab_id:v.e.Security})};function R(e,t){return(0,y.wq)(e)?T(e):()=>{const n=e.sender&&e.sender.name?e.sender.name:e.getSender();let s=e.getContent().body;return e.isRedacted()&&(s=O(e,t)),s=e.getContent().msgtype===o.MsgType.Emote?"* "+n+" "+s:e.getContent().msgtype===o.MsgType.Image?(0,l._t)("timeline|m.image|sent",{senderDisplayName:n}):e.getType()==o.EventType.Sticker?(0,l._t)("timeline|m.sticker",{senderDisplayName:n}):n+": "+s,s}}const I=()=>{w.A.trackInteraction("PinnedMessageStateEventClick"),_.A.instance.setCard({phase:h.n.PinnedMessages},!1)};function P(e){const t=b(e),{entity:n}=e.getPrevContent(),{entity:s,recommendation:o,reason:i}=e.getContent();return s?o&&i?s===n?m.zq.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|updated_rule_users",{senderName:t,glob:s,reason:i}):m.B5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|updated_rule_rooms",{senderName:t,glob:s,reason:i}):m.t5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|updated_rule_servers",{senderName:t,glob:s,reason:i}):()=>(0,l._t)("timeline|mjolnir|updated_rule",{senderName:t,glob:s,reason:i}):n?m.zq.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|changed_rule_users",{senderName:t,oldGlob:n,newGlob:s,reason:i}):m.B5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|changed_rule_rooms",{senderName:t,oldGlob:n,newGlob:s,reason:i}):m.t5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|changed_rule_servers",{senderName:t,oldGlob:n,newGlob:s,reason:i}):()=>(0,l._t)("timeline|mjolnir|changed_rule_glob",{senderName:t,oldGlob:n,newGlob:s,reason:i}):m.zq.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|created_rule_users",{senderName:t,glob:s,reason:i}):m.B5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|created_rule_rooms",{senderName:t,glob:s,reason:i}):m.t5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|created_rule_servers",{senderName:t,glob:s,reason:i}):()=>(0,l._t)("timeline|mjolnir|created_rule",{senderName:t,glob:s,reason:i}):()=>(0,l._t)("timeline|mjolnir|updated_invalid_rule",{senderName:t}):m.zq.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|removed_rule_users",{senderName:t,glob:n}):m.B5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|removed_rule_rooms",{senderName:t,glob:n}):m.t5.includes(e.getType())?()=>(0,l._t)("timeline|mjolnir|removed_rule_servers",{senderName:t,glob:n}):()=>(0,l._t)("timeline|mjolnir|removed_rule",{senderName:t,glob:n})}function T(e){return()=>(0,l._t)("timeline|m.location|full",{senderName:b(e)})}function O(e,t){var n;let s=(0,l._t)("timeline|self_redaction");const o=e.getUnsigned(),i=null==o||null===(n=o.redacted_because)||void 0===n?void 0:n.sender;if(i&&i!==e.getSender()){const n=t.getRoom(e.getRoomId()),o=null==n?void 0:n.getMember(i);s=(0,l._t)("timeline|redaction",{name:(null==o?void 0:o.name)||i})}return s}function M(e,t){return()=>{let n="";if(e.isRedacted()){var s,o;n=O(e,t);n=(null!==(s=null===(o=e.sender)||void 0===o?void 0:o.name)&&void 0!==s?s:e.getSender())+": "+n}else{var i;n=(0,l._t)("timeline|m.poll.start",{senderName:b(e),pollQuestion:null===(i=e.unstableExtensibleEvent)||void 0===i||null===(i=i.question)||void 0===i?void 0:i.text})}return n}}function N(e){return()=>(0,l._t)("timeline|m.poll.end|sender_ended",{senderName:b(e)})}const j={[o.EventType.RoomMessage]:R,[o.EventType.Sticker]:R,[o.EventType.CallInvite]:function(e,t){var n;const s=b(e),o=!(null!==(n=e.getContent().offer)&&void 0!==n&&null!==(n=n.sdp)&&void 0!==n&&n.includes("m=video")),i=t.supportsVoip();return o&&i?()=>(0,l._t)("timeline|m.call.invite|voice_call",{senderName:s}):o&&!i?()=>(0,l._t)("timeline|m.call.invite|voice_call_unsupported",{senderName:s}):!o&&i?()=>(0,l._t)("timeline|m.call.invite|video_call",{senderName:s}):o||i?null:()=>(0,l._t)("timeline|m.call.invite|video_call_unsupported",{senderName:s})},[o.M_POLL_START.name]:M,[o.M_POLL_END.name]:N,[o.M_POLL_START.altName]:M,[o.M_POLL_END.altName]:N},D={[o.EventType.RoomCanonicalAlias]:function(e){const t=b(e),n=e.getPrevContent().alias,s=e.getPrevContent().alt_aliases||[],o=e.getContent().alias,i=e.getContent().alt_aliases||[],r=s.filter(e=>!i.includes(e)),a=i.filter(e=>!s.includes(e));if(r.length||a.length){if(o!==n)return()=>(0,l._t)("timeline|m.room.canonical_alias|changed_main_and_alternative",{senderName:t});if(a.length&&!r.length)return()=>(0,l._t)("timeline|m.room.canonical_alias|alt_added",{senderName:t,addresses:a.join(", "),count:a.length});if(r.length&&!a.length)return()=>(0,l._t)("timeline|m.room.canonical_alias|alt_removed",{senderName:t,addresses:r.join(", "),count:r.length});if(r.length&&a.length)return()=>(0,l._t)("timeline|m.room.canonical_alias|changed_alternative",{senderName:t})}else{if(o)return()=>(0,l._t)("timeline|m.room.canonical_alias|set",{senderName:t,address:e.getContent().alias});if(n)return()=>(0,l._t)("timeline|m.room.canonical_alias|removed",{senderName:t})}return()=>(0,l._t)("timeline|m.room.canonical_alias|changed",{senderName:t})},[o.EventType.RoomName]:function(e){const t=e.sender&&e.sender.name?e.sender.name:e.getSender();return e.getContent().name&&0!==e.getContent().name.trim().length?e.getPrevContent().name?()=>(0,l._t)("timeline|m.room.name|change",{senderDisplayName:t,oldRoomName:e.getPrevContent().name,newRoomName:e.getContent().name}):()=>(0,l._t)("timeline|m.room.name|set",{senderDisplayName:t,roomName:e.getContent().name}):()=>(0,l._t)("timeline|m.room.name|remove",{senderDisplayName:t})},[o.EventType.RoomTopic]:function(e){const t=e.sender&&e.sender.name?e.sender.name:e.getSender(),n=o.ContentHelpers.parseTopicContent(e.getContent()).text;return()=>n?(0,l._t)("timeline|m.room.topic|changed",{senderDisplayName:t,topic:n}):(0,l._t)("timeline|m.room.topic|removed",{senderDisplayName:t})},[o.EventType.RoomMember]:function(e,t,n,s){var o,c;const d=(null===(o=e.sender)||void 0===o?void 0:o.name)||A(t,e),m=(null===(c=e.target)||void 0===c?void 0:c.name)||A(t,e,e.getStateKey()),p=e.getPrevContent(),h=e.getContent(),g=h.reason;switch(h.membership){case i.O.Invite:{const e=h.third_party_invite;return e?e.display_name?()=>(0,l._t)("timeline|m.room.member|accepted_3pid_invite",{targetName:m,displayName:e.display_name}):()=>(0,l._t)("timeline|m.room.member|accepted_invite",{targetName:m}):()=>(0,l._t)("timeline|m.room.member|invite",{senderName:d,targetName:m})}case i.O.Ban:return()=>g?(0,l._t)("timeline|m.room.member|ban_reason",{senderName:d,targetName:m,reason:g}):(0,l._t)("timeline|m.room.member|ban",{senderName:d,targetName:m});case i.O.Join:if(p&&p.membership===i.O.Join){const t=C(p.displayname,h.displayname),n=C(p.avatar_url,h.avatar_url);return t!==S.None&&n!==S.None?()=>(0,l._t)("timeline|m.room.member|change_name_avatar",{oldDisplayName:(0,a.d7)(p.displayname)}):t===S.Changed?()=>(0,l._t)("timeline|m.room.member|change_name",{oldDisplayName:(0,a.d7)(p.displayname),displayName:(0,a.d7)(h.displayname)}):t===S.Set?()=>(0,l._t)("timeline|m.room.member|set_name",{senderName:e.getSender(),displayName:(0,a.d7)(h.displayname)}):t===S.Unset?()=>(0,l._t)("timeline|m.room.member|remove_name",{senderName:d,oldDisplayName:(0,a.d7)(p.displayname)}):n===S.Unset?()=>(0,l._t)("timeline|m.room.member|remove_avatar",{senderName:d}):n===S.Changed?()=>(0,l._t)("timeline|m.room.member|change_avatar",{senderName:d}):n===S.Set?()=>(0,l._t)("timeline|m.room.member|set_avatar",{senderName:d}):(null!=s?s:u.A.getValue("showHiddenEventsInTimeline"))?()=>(0,l._t)("timeline|m.room.member|no_change",{senderName:d}):null}return e.target||r.vF.warn("Join message has no target! -- "+e.getContent().state_key),()=>(0,l._t)("timeline|m.room.member|join",{targetName:m});case i.O.Leave:return e.getSender()===e.getStateKey()?p.membership===i.O.Invite?()=>g?(0,l._t)("timeline|m.room.member|reject_invite_reason",{targetName:m,reason:g}):(0,l._t)("timeline|m.room.member|reject_invite",{targetName:m}):()=>g?(0,l._t)("timeline|m.room.member|left_reason",{targetName:m,reason:g}):(0,l._t)("timeline|m.room.member|left",{targetName:m}):p.membership===i.O.Ban?()=>(0,l._t)("timeline|m.room.member|unban",{senderName:d,targetName:m}):p.membership===i.O.Invite?()=>g?(0,l._t)("timeline|m.room.member|withdrew_invite_reason",{senderName:d,targetName:m,reason:g}):(0,l._t)("timeline|m.room.member|withdrew_invite",{senderName:d,targetName:m}):p.membership===i.O.Join?()=>g?(0,l._t)("timeline|m.room.member|kick_reason",{senderName:d,targetName:m,reason:g}):(0,l._t)("timeline|m.room.member|kick",{senderName:d,targetName:m}):null}return null},[o.EventType.RoomAvatar]:function(e){var t;const n=(null==e||null===(t=e.sender)||void 0===t?void 0:t.name)||e.getSender();return()=>(0,l._t)("timeline|m.room.avatar|changed",{senderDisplayName:n})},[o.EventType.RoomThirdPartyInvite]:function(e){const t=b(e);return(0,d.Qo)(e)?()=>(0,l._t)("timeline|m.room.third_party_invite|sent",{senderName:t,targetDisplayName:e.getContent().display_name}):()=>(0,l._t)("timeline|m.room.third_party_invite|revoked",{senderName:t,targetDisplayName:e.getPrevContent().display_name||(0,l._t)("common|someone")})},[o.EventType.RoomHistoryVisibility]:function(e){const t=b(e);switch(e.getContent().history_visibility){case o.HistoryVisibility.Invited:return()=>(0,l._t)("timeline|m.room.history_visibility|invited",{senderName:t});case o.HistoryVisibility.Joined:return()=>(0,l._t)("timeline|m.room.history_visibility|joined",{senderName:t});case o.HistoryVisibility.Shared:return()=>(0,l._t)("timeline|m.room.history_visibility|shared",{senderName:t});case o.HistoryVisibility.WorldReadable:return()=>(0,l._t)("timeline|m.room.history_visibility|world_readable",{senderName:t});default:return()=>(0,l._t)("timeline|m.room.history_visibility|unknown",{senderName:t,visibility:e.getContent().history_visibility})}},[o.EventType.RoomPowerLevels]:function(e,t){var n,s;const o=b(e);if(null===(n=e.getPrevContent())||void 0===n||!n.users||null===(s=e.getContent())||void 0===s||!s.users)return null;const i=e.getPrevContent().users_default||0,r=e.getContent().users_default||0,a=[];Object.keys(e.getContent().users).forEach(e=>{-1===a.indexOf(e)&&a.push(e)}),Object.keys(e.getPrevContent().users).forEach(e=>{-1===a.indexOf(e)&&a.push(e)});const d=[];return a.forEach(n=>{let s=e.getPrevContent().users[n];Number.isInteger(s)||(s=i);let o=e.getContent().users[n];if(Number.isInteger(o)||(o=r),(s!==i||o!==r)&&o!==s){const i=A(t,e,n);d.push({userId:n,name:i,from:s,to:o})}}),d.length?()=>(0,l._t)("timeline|m.room.power_levels|changed",{senderName:o,powerLevelDiffText:d.map(e=>(0,l._t)("timeline|m.room.power_levels|user_from_to",{userId:e.name,fromPowerLevel:c.X(e.from,i),toPowerLevel:c.X(e.to,r)})).join(", ")}):null},[o.EventType.RoomPinnedEvents]:function(e,t,n){const o=b(e),i=e.getRoomId(),r=e.getContent(),a=e.getPrevContent(),c=Array.isArray(r.pinned)?r.pinned:[],d=Array.isArray(a.pinned)?a.pinned:[],u=c.filter(e=>d.indexOf(e)<0),m=d.filter(e=>c.indexOf(e)<0);if(1===u.length&&0===m.length){if(n){const e=u.pop();return()=>s.createElement("span",null,(0,l._t)("timeline|m.room.pinned_events|pinned_link",{senderName:o},{a:t=>s.createElement(f.A,{kind:"link_inline",onClick:()=>{w.A.trackInteraction("PinnedMessageStateEventClick"),(0,y.nZ)(i,e)}},t),b:e=>s.createElement(f.A,{kind:"link_inline",onClick:I},e)}))}return()=>(0,l._t)("timeline|m.room.pinned_events|pinned",{senderName:o})}if(1===m.length&&0===u.length){if(n){const e=m.pop();return()=>s.createElement("span",null,(0,l._t)("timeline|m.room.pinned_events|unpinned_link",{senderName:o},{a:t=>s.createElement(f.A,{kind:"link_inline",onClick:()=>{w.A.trackInteraction("PinnedMessageStateEventClick"),(0,y.nZ)(i,e)}},t),b:e=>s.createElement(f.A,{kind:"link_inline",onClick:I},e)}))}return()=>(0,l._t)("timeline|m.room.pinned_events|unpinned",{senderName:o})}return n?()=>s.createElement("span",null,(0,l._t)("timeline|m.room.pinned_events|changed_link",{senderName:o},{a:e=>s.createElement(f.A,{kind:"link_inline",onClick:I},e)})):()=>(0,l._t)("timeline|m.room.pinned_events|changed",{senderName:o})},[o.EventType.RoomTombstone]:function(e){const t=e.sender&&e.sender.name?e.sender.name:e.getSender();return()=>(0,l._t)("timeline|m.room.tombstone",{senderDisplayName:t})},[o.EventType.RoomJoinRules]:function(e,t,n){const i=e.sender&&e.sender.name?e.sender.name:e.getSender();switch(e.getContent().join_rule){case o.JoinRule.Public:return()=>(0,l._t)("timeline|m.room.join_rules|public",{senderDisplayName:i});case o.JoinRule.Invite:return()=>(0,l._t)("timeline|m.room.join_rules|invite",{senderDisplayName:i});case o.JoinRule.Knock:return()=>(0,l._t)("timeline|m.room.join_rules|knock",{senderDisplayName:i});case o.JoinRule.Restricted:return n?()=>s.createElement("span",null,(0,l._t)("timeline|m.room.join_rules|restricted_settings",{senderDisplayName:i},{a:e=>s.createElement(f.A,{kind:"link_inline",onClick:k},e)})):()=>(0,l._t)("timeline|m.room.join_rules|restricted",{senderDisplayName:i});default:return()=>(0,l._t)("timeline|m.room.join_rules|unknown",{senderDisplayName:i,rule:e.getContent().join_rule})}},[o.EventType.RoomGuestAccess]:function(e){const t=e.sender&&e.sender.name?e.sender.name:e.getSender();switch(e.getContent().guest_access){case o.GuestAccess.CanJoin:return()=>(0,l._t)("timeline|m.room.guest_access|can_join",{senderDisplayName:t});case o.GuestAccess.Forbidden:return()=>(0,l._t)("timeline|m.room.guest_access|forbidden",{senderDisplayName:t});default:return()=>(0,l._t)("timeline|m.room.guest_access|unknown",{senderDisplayName:t,rule:e.getContent().guest_access})}},"im.vector.modular.widgets":function(e){const t=b(e),{name:n,type:s,url:o}=e.getPrevContent(),{name:i,type:r,url:a}=e.getContent()||{};let c=i||n||r||s||"";return c&&c.length>0&&(c=c[0].toUpperCase()+c.slice(1)),a?o?()=>(0,l._t)("timeline|m.widget|modified",{widgetName:c,senderName:t}):()=>(0,l._t)("timeline|m.widget|added",{widgetName:c,senderName:t}):()=>(0,l._t)("timeline|m.widget|removed",{widgetName:c,senderName:t})},[p.SQ]:function(e){const t=b(e);return()=>(0,l._t)("timeline|io.element.widgets.layout",{senderName:t})}};for(const e of m.Pd)D[e]=P;for(const e of E.Fm.names)D[e]=x;function U(e,t,n){const s=(e.isState()?D:j)[e.getType()];try{return Boolean(null==s?void 0:s(e,t,!1,n))}catch(t){return console.error(`Error encountered when trying to render event type=${e.getType()} id=${e.getId()}`,t),!!s}}function F(e,t,n=!1,s){var o;const i=(e.isState()?D:j)[e.getType()];return(null==i||null===(o=i(e,t,n,s))||void 0===o?void 0:o())||""}},"./src/TimezoneHandler.ts"(e,t,n){"use strict";n.d(t,{QG:()=>l,cd:()=>i,cf:()=>c,dB:()=>r,nY:()=>a});var s=n("./src/settings/SettingLevel.ts"),o=n("./src/settings/SettingsStore.ts");const i="userTimezone";function r(){return o.A.getValueAt(s.p.DEVICE,i)||void 0}function a(e){return o.A.setValue(i,null,s.p.DEVICE,e)}function l(){return Intl.supportedValuesOf("timeZone")}function c(){var e,t;return null!==(e=null===(t=new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(new Date).find(e=>"timeZoneName"===e.type))||void 0===t?void 0:t.value)&&void 0!==e?e:"GMT"}},"./src/Typeguards.ts"(e,t,n){"use strict";function s(e){return null!==e}function o(e){return void 0!==e}n.d(t,{E:()=>o,P:()=>s})},"./src/Unread.ts"(e,t,n){"use strict";n.d(t,{GN:()=>c,Nb:()=>u,aA:()=>l,jM:()=>m});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/shouldHideEvent.ts"),r=n("./src/events/EventTileFactory.tsx"),a=n("./src/RoomNotifs.ts");function l(e,t){if(t.getSender()===e.getSafeUserId())return!1;switch(t.getType()){case s.EventType.RoomMember:case s.EventType.RoomThirdPartyInvite:case s.EventType.CallAnswer:case s.EventType.CallHangup:case s.EventType.RoomCanonicalAlias:case s.EventType.RoomServerAcl:case s.M_BEACON.name:case s.M_BEACON.altName:return!1}if(t.isRedacted())return!1;try{return(0,r.bN)(t,e,!1)}catch(e){return console.warn("Error determining if event should trigger unread count",e),!1}}function c(e,t){const n=[e];t&&n.push(...e.getThreads());for(const t of n)if(d(e,t.timeline))return!0;return!1}function d(e,t){var n;if(e.isSpaceRoom())return!1;const s=e.client.getSafeUserId(),i=null===(n=function(e,t){for(let n=t.length-1;n>=0;n--){const s=t[n];if(p(e,s))return s}return null}(e.client,t))||void 0===n?void 0:n.getId();if(i)return!e.hasUserReadEvent(s,i);{var r;const n=null===(r=t.at(0))||void 0===r?void 0:r.getId();return!!n&&(!e.hasUserReadEvent(s,n)&&(o.vF.warn("Falling back to unread room because of no read receipt or counting message found",{roomId:e.roomId,earliestUnimportantEventId:n}),!0))}}function u(e){if((0,a.Gg)(e.client,e.roomId)===a.dC.Mute)return!1;for(const t of e.getThreads())if(d(e,t.timeline))return!0;return!1}function m(e){const t=e instanceof s.Thread?e.room:e,n=e instanceof s.Thread?e.timeline:t.getLiveTimeline().getEvents();return d(t,n)}function p(e,t){return!(0,i.A)(t)&&l(e,t)}},"./src/UserActivity.ts"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/dispatcher/dispatcher.ts"),i=n("./src/utils/Timer.ts"),r=n("./src/dispatcher/actions.ts");class a{constructor(e,t){(0,s.A)(this,"activeNowTimeout",void 0),(0,s.A)(this,"activeRecentlyTimeout",void 0),(0,s.A)(this,"attachedActiveNowTimers",[]),(0,s.A)(this,"attachedActiveRecentlyTimers",[]),(0,s.A)(this,"lastScreenX",0),(0,s.A)(this,"lastScreenY",0),(0,s.A)(this,"onPageVisibilityChanged",e=>{"hidden"===this.document.visibilityState?(this.activeNowTimeout.abort(),this.activeRecentlyTimeout.abort()):this.onUserActivity(e)}),(0,s.A)(this,"onWindowBlurred",()=>{this.activeNowTimeout.abort(),this.activeRecentlyTimeout.abort()}),(0,s.A)(this,"onUserActivity",e=>{if(this.document.hasFocus()){if("mousemove"===e.type&&this.isMouseEvent(e)){if(e.screenX===this.lastScreenX&&e.screenY===this.lastScreenY)return;this.lastScreenX=e.screenX,this.lastScreenY=e.screenY}o.A.dispatch({action:r.r.UserActivity}),this.activeNowTimeout.isRunning()?this.activeNowTimeout.restart():(this.activeNowTimeout.start(),a.runTimersUntilTimeout(this.attachedActiveNowTimers,this.activeNowTimeout)),this.activeRecentlyTimeout.isRunning()?this.activeRecentlyTimeout.restart():(this.activeRecentlyTimeout.start(),a.runTimersUntilTimeout(this.attachedActiveRecentlyTimers,this.activeRecentlyTimeout))}}),this.window=e,this.document=t,this.activeNowTimeout=new i.A(700),this.activeRecentlyTimeout=new i.A(12e4)}static sharedInstance(){return void 0===window.mxUserActivity&&(window.mxUserActivity=new a(window,document)),window.mxUserActivity}timeWhileActiveNow(e){this.timeWhile(e,this.attachedActiveNowTimers),this.userActiveNow()&&e.start()}timeWhileActiveRecently(e){this.timeWhile(e,this.attachedActiveRecentlyTimers),this.userActiveRecently()&&e.start()}timeWhile(e,t){-1===t.indexOf(e)&&(t.push(e),e.finished().finally(()=>{const n=t.indexOf(e);-1!==n&&t.splice(n,1)}).catch(e=>{}))}start(){this.document.addEventListener("mousedown",this.onUserActivity),this.document.addEventListener("mousemove",this.onUserActivity),this.document.addEventListener("keydown",this.onUserActivity),this.document.addEventListener("visibilitychange",this.onPageVisibilityChanged),this.window.addEventListener("blur",this.onWindowBlurred),this.window.addEventListener("focus",this.onUserActivity),this.window.addEventListener("wheel",this.onUserActivity,{passive:!0,capture:!0})}stop(){this.document.removeEventListener("mousedown",this.onUserActivity),this.document.removeEventListener("mousemove",this.onUserActivity),this.document.removeEventListener("keydown",this.onUserActivity),this.window.removeEventListener("wheel",this.onUserActivity,{capture:!0}),this.document.removeEventListener("visibilitychange",this.onPageVisibilityChanged),this.window.removeEventListener("blur",this.onWindowBlurred),this.window.removeEventListener("focus",this.onUserActivity)}userActiveNow(){return this.activeNowTimeout.isRunning()}userActiveRecently(){return this.activeRecentlyTimeout.isRunning()}static async runTimersUntilTimeout(e,t){e.forEach(e=>e.start());try{await t.finished()}catch{}e.forEach(e=>e.abort())}isMouseEvent(e){return e.type.startsWith("mouse")}}},"./src/UserAddress.ts"(e,t,n){"use strict";n.d(t,{R:()=>r,Z:()=>a});const s=/^\S+@\S+\.\S+$/,o=/^@\S+:\S+$/,i=/^!\S+:\S+$/;let r=function(e){return e.Email="email",e.MatrixUserId="mx-user-id",e.MatrixRoomId="mx-room-id",e}({});function a(e){return s.test(e)?r.Email:o.test(e)?r.MatrixUserId:i.test(e)?r.MatrixRoomId:null}},"./src/Views.ts"(e,t,n){"use strict";n.d(t,{A:()=>o});var s=function(e){return e[e.LOADING=0]="LOADING",e[e.CONFIRM_LOCK_THEFT=1]="CONFIRM_LOCK_THEFT",e[e.WELCOME=2]="WELCOME",e[e.LOGIN=3]="LOGIN",e[e.REGISTER=4]="REGISTER",e[e.FORGOT_PASSWORD=5]="FORGOT_PASSWORD",e[e.COMPLETE_SECURITY=6]="COMPLETE_SECURITY",e[e.E2E_SETUP=7]="E2E_SETUP",e[e.PENDING_CLIENT_START=8]="PENDING_CLIENT_START",e[e.LOGGED_IN=9]="LOGGED_IN",e[e.SOFT_LOGOUT=10]="SOFT_LOGOUT",e[e.LOCK_STOLEN=11]="LOCK_STOLEN",e}(s||{});const o=s},"./src/WorkerManager.ts"(e,t,n){"use strict";n.d(t,{O:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}class i{constructor(e){(0,s.A)(this,"worker",void 0),(0,s.A)(this,"seq",0),(0,s.A)(this,"pendingDeferredMap",new Map),(0,s.A)(this,"onMessage",e=>{const t=this.pendingDeferredMap.get(e.data.seq);t&&(this.pendingDeferredMap.delete(e.data.seq),t.resolve(e.data))}),this.worker=e,this.worker.onmessage=this.onMessage}call(e){const t=this.seq++,n=Promise.withResolvers();return this.pendingDeferredMap.set(t,n),this.worker.postMessage(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({seq:t},e)),n.promise}}},"./src/accessibility/KeyboardShortcutUtils.ts"(e,t,n){"use strict";n.d(t,{Lt:()=>m,Tz:()=>u,tS:()=>c});var s=n("./src/Keyboard.ts"),o=n("./src/languageHandler.tsx"),i=n("./src/PlatformPeg.ts"),r=n("./src/settings/SettingsStore.ts"),a=n("./src/accessibility/KeyboardShortcuts.ts");const l=()=>{var e;const t=r.A.getValue("MessageComposerInput.ctrlEnterToSend"),n={[a.bY.SendMessage]:{default:{key:s.Uz.ENTER,ctrlOrCmdKey:t},displayName:(0,o.AO)("composer|send_button_title")},[a.bY.NewLine]:{default:{key:s.Uz.ENTER,shiftKey:!t},displayName:(0,o.AO)("keyboard|composer_new_line")},[a.bY.CompleteAutocomplete]:{default:{key:s.Uz.ENTER},displayName:(0,o.AO)("action|complete")},[a.bY.ForceCompleteAutocomplete]:{default:{key:s.Uz.TAB},displayName:(0,o.AO)("keyboard|autocomplete_force")},[a.bY.SearchInRoom]:{default:{ctrlOrCmdKey:!0,key:s.Uz.F},displayName:(0,o.AO)("keyboard|search")}};return null!==(e=i.A.get())&&void 0!==e&&e.overrideBrowserShortcuts()&&(n[a.bY.SwitchToSpaceByNumber]={default:{ctrlOrCmdKey:!0,key:a.x5},displayName:(0,o.AO)("keyboard|switch_to_space")}),n},c=()=>{var e;const t=null===(e=i.A.get())||void 0===e?void 0:e.overrideBrowserShortcuts();return Object.keys(a.A7).filter(e=>{var n;return(null===(n=a.A7[e])||void 0===n||null===(n=n.controller)||void 0===n||!n.settingDisabled)&&(!(a.ze.includes(e)&&!s.vL)&&!(a.V9.includes(e)&&!t))}).reduce((e,t)=>(e[t]=a.A7[t],e),{})},d=()=>[...Object.entries(l()),...Object.entries(c())].reduce((e,[t,n])=>(e[t]=n,e),{}),u=e=>{var t;return null===(t=d()[e])||void 0===t?void 0:t.default},m=e=>{var t;const n=null===(t=d()[e])||void 0===t?void 0:t.displayName;return n&&(0,o._t)(n)}},"./src/accessibility/KeyboardShortcuts.ts"(e,t,n){"use strict";n.d(t,{A7:()=>p,GA:()=>c,R6:()=>d,V9:()=>u,bY:()=>i,hm:()=>l,md:()=>r,x5:()=>a,ze:()=>m});var s=n("./packages/shared-components/dist/element-web-shared-components.js"),o=n("./src/Keyboard.ts");let i=function(e){return e.SendMessage="KeyBinding.sendMessageInComposer",e.SelectPrevSendHistory="KeyBinding.previousMessageInComposerHistory",e.SelectNextSendHistory="KeyBinding.nextMessageInComposerHistory",e.EditPrevMessage="KeyBinding.editPreviousMessage",e.EditNextMessage="KeyBinding.editNextMessage",e.CancelReplyOrEdit="KeyBinding.cancelReplyInComposer",e.ShowStickerPicker="KeyBinding.showStickerPicker",e.FormatBold="KeyBinding.toggleBoldInComposer",e.FormatItalics="KeyBinding.toggleItalicsInComposer",e.FormatLink="KeyBinding.FormatLink",e.FormatCode="KeyBinding.FormatCode",e.FormatQuote="KeyBinding.toggleQuoteInComposer",e.EditUndo="KeyBinding.editUndoInComposer",e.EditRedo="KeyBinding.editRedoInComposer",e.NewLine="KeyBinding.newLineInComposer",e.MoveCursorToStart="KeyBinding.jumpToStartInComposer",e.MoveCursorToEnd="KeyBinding.jumpToEndInComposer",e.CompleteAutocomplete="KeyBinding.completeAutocomplete",e.ForceCompleteAutocomplete="KeyBinding.forceCompleteAutocomplete",e.PrevSelectionInAutocomplete="KeyBinding.previousOptionInAutoComplete",e.NextSelectionInAutocomplete="KeyBinding.nextOptionInAutoComplete",e.CancelAutocomplete="KeyBinding.cancelAutoComplete",e.ClearRoomFilter="KeyBinding.clearRoomFilter",e.PrevRoom="KeyBinding.downerRoom",e.NextRoom="KeyBinding.upperRoom",e.SelectRoomInRoomList="KeyBinding.selectRoomInRoomList",e.CollapseRoomListSection="KeyBinding.collapseSectionInRoomList",e.ExpandRoomListSection="KeyBinding.expandSectionInRoomList",e.ScrollUp="KeyBinding.scrollUpInTimeline",e.ScrollDown="KeyBinding.scrollDownInTimeline",e.DismissReadMarker="KeyBinding.dismissReadMarkerAndJumpToBottom",e.JumpToOldestUnread="KeyBinding.jumpToOldestUnreadMessage",e.UploadFile="KeyBinding.uploadFileToRoom",e.SearchInRoom="KeyBinding.searchInRoom",e.JumpToFirstMessage="KeyBinding.jumpToFirstMessageInTimeline",e.JumpToLatestMessage="KeyBinding.jumpToLastMessageInTimeline",e.FilterRooms="KeyBinding.filterRooms",e.ToggleSpacePanel="KeyBinding.toggleSpacePanel",e.ToggleRoomSidePanel="KeyBinding.toggleRightPanel",e.ToggleUserMenu="KeyBinding.toggleTopLeftMenu",e.ShowKeyboardSettings="KeyBinding.showKeyBindingsSettings",e.GoToHome="KeyBinding.goToHomeView",e.SelectPrevRoom="KeyBinding.previousRoom",e.SelectNextRoom="KeyBinding.nextRoom",e.SelectPrevUnreadRoom="KeyBinding.previousUnreadRoom",e.SelectNextUnreadRoom="KeyBinding.nextUnreadRoom",e.SwitchToSpaceByNumber="KeyBinding.switchToSpaceByNumber",e.OpenUserSettings="KeyBinding.openUserSettings",e.PreviousVisitedRoomOrSpace="KeyBinding.PreviousVisitedRoomOrSpace",e.NextVisitedRoomOrSpace="KeyBinding.NextVisitedRoomOrSpace",e.NextLandmark="KeyBinding.nextLandmark",e.PreviousLandmark="KeyBinding.previousLandmark",e.ToggleMicInCall="KeyBinding.toggleMicInCall",e.ToggleWebcamInCall="KeyBinding.toggleWebcamInCall",e.Escape="KeyBinding.escape",e.Enter="KeyBinding.enter",e.Space="KeyBinding.space",e.Backspace="KeyBinding.backspace",e.Delete="KeyBinding.delete",e.Home="KeyBinding.home",e.End="KeyBinding.end",e.ArrowLeft="KeyBinding.arrowLeft",e.ArrowUp="KeyBinding.arrowUp",e.ArrowRight="KeyBinding.arrowRight",e.ArrowDown="KeyBinding.arrowDown",e.Tab="KeyBinding.tab",e.Comma="KeyBinding.comma",e.Save="KeyBinding.save",e.ToggleHiddenEventVisibility="KeyBinding.toggleHiddenEventVisibility",e}({}),r=function(e){return e.NAVIGATION="Navigation",e.ACCESSIBILITY="Accessibility",e.CALLS="Calls",e.COMPOSER="Composer",e.ROOM_LIST="Room List",e.ROOM="Room",e.AUTOCOMPLETE="Autocomplete",e.LABS="Labs",e}({});const a="digits",l={[o.Uz.PAGE_UP]:(0,s.AO)("keyboard|page_up"),[o.Uz.PAGE_DOWN]:(0,s.AO)("keyboard|page_down"),[o.Uz.ESCAPE]:(0,s.AO)("keyboard|escape"),[o.Uz.ENTER]:(0,s.AO)("keyboard|enter"),[o.Uz.SPACE]:(0,s.AO)("keyboard|space"),[o.Uz.HOME]:(0,s.AO)("keyboard|home"),[o.Uz.END]:(0,s.AO)("keyboard|end"),[o.Uz.ALT]:(0,s.AO)("keyboard|alt"),[o.Uz.CONTROL]:(0,s.AO)("keyboard|control"),[o.Uz.SHIFT]:(0,s.AO)("keyboard|shift"),[a]:(0,s.AO)("keyboard|number")},c={[o.Uz.ARROW_UP]:"↑",[o.Uz.ARROW_DOWN]:"↓",[o.Uz.ARROW_LEFT]:"←",[o.Uz.ARROW_RIGHT]:"→"};o.vL&&(c[o.Uz.META]="⌘",c[o.Uz.ALT]="⌥",c[o.Uz.SHIFT]="⇧");const d={[r.COMPOSER]:{categoryLabel:(0,s.AO)("settings|preferences|composer_heading"),settingNames:[i.SendMessage,i.NewLine,i.FormatBold,i.FormatItalics,i.FormatQuote,i.FormatLink,i.FormatCode,i.EditUndo,i.EditRedo,i.MoveCursorToStart,i.MoveCursorToEnd,i.CancelReplyOrEdit,i.EditNextMessage,i.EditPrevMessage,i.SelectNextSendHistory,i.SelectPrevSendHistory,i.ShowStickerPicker]},[r.CALLS]:{categoryLabel:(0,s.AO)("keyboard|category_calls"),settingNames:[i.ToggleMicInCall,i.ToggleWebcamInCall]},[r.ROOM]:{categoryLabel:(0,s.AO)("common|room"),settingNames:[i.SearchInRoom,i.UploadFile,i.DismissReadMarker,i.JumpToOldestUnread,i.ScrollUp,i.ScrollDown,i.JumpToFirstMessage,i.JumpToLatestMessage]},[r.ROOM_LIST]:{categoryLabel:(0,s.AO)("keyboard|category_room_list"),settingNames:[i.SelectRoomInRoomList,i.ClearRoomFilter,i.CollapseRoomListSection,i.ExpandRoomListSection,i.NextRoom,i.PrevRoom]},[r.ACCESSIBILITY]:{categoryLabel:(0,s.AO)("common|accessibility"),settingNames:[i.Escape,i.Enter,i.Space,i.Backspace,i.Delete,i.Home,i.End,i.ArrowLeft,i.ArrowUp,i.ArrowRight,i.ArrowDown,i.Comma,i.Save]},[r.NAVIGATION]:{categoryLabel:(0,s.AO)("keyboard|category_navigation"),settingNames:[i.ToggleUserMenu,i.ToggleRoomSidePanel,i.ToggleSpacePanel,i.ShowKeyboardSettings,i.GoToHome,i.FilterRooms,i.SelectNextUnreadRoom,i.SelectPrevUnreadRoom,i.SelectNextRoom,i.SelectPrevRoom,i.OpenUserSettings,i.SwitchToSpaceByNumber,i.PreviousVisitedRoomOrSpace,i.NextVisitedRoomOrSpace,i.NextLandmark,i.PreviousLandmark]},[r.AUTOCOMPLETE]:{categoryLabel:(0,s.AO)("keyboard|category_autocomplete"),settingNames:[i.CancelAutocomplete,i.NextSelectionInAutocomplete,i.PrevSelectionInAutocomplete,i.CompleteAutocomplete,i.ForceCompleteAutocomplete]},[r.LABS]:{categoryLabel:(0,s.AO)("common|labs"),settingNames:[i.ToggleHiddenEventVisibility]}},u=[i.OpenUserSettings,i.SwitchToSpaceByNumber,i.PreviousVisitedRoomOrSpace,i.NextVisitedRoomOrSpace],m=[i.OpenUserSettings],p={[i.FormatBold]:{default:{ctrlOrCmdKey:!0,key:o.Uz.B},displayName:(0,s.AO)("keyboard|composer_toggle_bold")},[i.FormatItalics]:{default:{ctrlOrCmdKey:!0,key:o.Uz.I},displayName:(0,s.AO)("keyboard|composer_toggle_italics")},[i.FormatQuote]:{default:{ctrlOrCmdKey:!0,shiftKey:!0,key:o.Uz.GREATER_THAN},displayName:(0,s.AO)("keyboard|composer_toggle_quote")},[i.FormatCode]:{default:{ctrlOrCmdKey:!0,key:o.Uz.E},displayName:(0,s.AO)("keyboard|composer_toggle_code_block")},[i.FormatLink]:{default:{ctrlOrCmdKey:!0,shiftKey:!0,key:o.Uz.L},displayName:(0,s.AO)("keyboard|composer_toggle_link")},[i.CancelReplyOrEdit]:{default:{key:o.Uz.ESCAPE},displayName:(0,s.AO)("keyboard|cancel_reply")},[i.EditNextMessage]:{default:{key:o.Uz.ARROW_DOWN},displayName:(0,s.AO)("keyboard|navigate_next_message_edit")},[i.EditPrevMessage]:{default:{key:o.Uz.ARROW_UP},displayName:(0,s.AO)("keyboard|navigate_prev_message_edit")},[i.MoveCursorToStart]:{default:{ctrlOrCmdKey:!0,key:o.Uz.HOME},displayName:(0,s.AO)("keyboard|composer_jump_start")},[i.MoveCursorToEnd]:{default:{ctrlOrCmdKey:!0,key:o.Uz.END},displayName:(0,s.AO)("keyboard|composer_jump_end")},[i.SelectNextSendHistory]:{default:{altKey:!0,ctrlKey:!0,key:o.Uz.ARROW_DOWN},displayName:(0,s.AO)("keyboard|composer_navigate_next_history")},[i.SelectPrevSendHistory]:{default:{altKey:!0,ctrlKey:!0,key:o.Uz.ARROW_UP},displayName:(0,s.AO)("keyboard|composer_navigate_prev_history")},[i.ShowStickerPicker]:{default:{ctrlOrCmdKey:!0,key:o.Uz.SEMICOLON},displayName:(0,s.AO)("keyboard|send_sticker")},[i.ToggleMicInCall]:{default:{ctrlOrCmdKey:!0,key:o.Uz.D},displayName:(0,s.AO)("keyboard|toggle_microphone_mute")},[i.ToggleWebcamInCall]:{default:{ctrlOrCmdKey:!0,key:o.Uz.E},displayName:(0,s.AO)("keyboard|toggle_webcam_mute")},[i.DismissReadMarker]:{default:{key:o.Uz.ESCAPE},displayName:(0,s.AO)("keyboard|dismiss_read_marker_and_jump_bottom")},[i.JumpToOldestUnread]:{default:{shiftKey:!0,key:o.Uz.PAGE_UP},displayName:(0,s.AO)("keyboard|jump_to_read_marker")},[i.UploadFile]:{default:{ctrlOrCmdKey:!0,shiftKey:!0,key:o.Uz.U},displayName:(0,s.AO)("keyboard|upload_file")},[i.ScrollUp]:{default:{key:o.Uz.PAGE_UP},displayName:(0,s.AO)("keyboard|scroll_up_timeline")},[i.ScrollDown]:{default:{key:o.Uz.PAGE_DOWN},displayName:(0,s.AO)("keyboard|scroll_down_timeline")},[i.FilterRooms]:{default:{ctrlOrCmdKey:!0,key:o.Uz.K},displayName:(0,s.AO)("keyboard|jump_room_search")},[i.SelectRoomInRoomList]:{default:{key:o.Uz.ENTER},displayName:(0,s.AO)("keyboard|room_list_select_room")},[i.CollapseRoomListSection]:{default:{key:o.Uz.ARROW_LEFT},displayName:(0,s.AO)("keyboard|room_list_collapse_section")},[i.ExpandRoomListSection]:{default:{key:o.Uz.ARROW_RIGHT},displayName:(0,s.AO)("keyboard|room_list_expand_section")},[i.NextRoom]:{default:{key:o.Uz.ARROW_DOWN},displayName:(0,s.AO)("keyboard|room_list_navigate_down")},[i.PrevRoom]:{default:{key:o.Uz.ARROW_UP},displayName:(0,s.AO)("keyboard|room_list_navigate_up")},[i.ToggleUserMenu]:{default:{ctrlOrCmdKey:!0,key:o.Uz.BACKTICK},displayName:(0,s.AO)("keyboard|toggle_top_left_menu")},[i.ToggleRoomSidePanel]:{default:{ctrlOrCmdKey:!0,key:o.Uz.PERIOD},displayName:(0,s.AO)("keyboard|toggle_right_panel")},[i.ShowKeyboardSettings]:{default:{ctrlOrCmdKey:!0,key:o.Uz.SLASH},displayName:(0,s.AO)("keyboard|keyboard_shortcuts_tab")},[i.GoToHome]:{default:{ctrlKey:!0,altKey:!o.vL,shiftKey:o.vL,key:o.Uz.H},displayName:(0,s.AO)("keyboard|go_home_view")},[i.SelectNextUnreadRoom]:{default:{shiftKey:!0,altKey:!0,key:o.Uz.ARROW_DOWN},displayName:(0,s.AO)("keyboard|next_unread_room")},[i.SelectPrevUnreadRoom]:{default:{shiftKey:!0,altKey:!0,key:o.Uz.ARROW_UP},displayName:(0,s.AO)("keyboard|prev_unread_room")},[i.SelectNextRoom]:{default:{altKey:!0,key:o.Uz.ARROW_DOWN},displayName:(0,s.AO)("keyboard|next_room")},[i.SelectPrevRoom]:{default:{altKey:!0,key:o.Uz.ARROW_UP},displayName:(0,s.AO)("keyboard|prev_room")},[i.CancelAutocomplete]:{default:{key:o.Uz.ESCAPE},displayName:(0,s.AO)("keyboard|autocomplete_cancel")},[i.NextSelectionInAutocomplete]:{default:{key:o.Uz.ARROW_DOWN},displayName:(0,s.AO)("keyboard|autocomplete_navigate_next")},[i.PrevSelectionInAutocomplete]:{default:{key:o.Uz.ARROW_UP},displayName:(0,s.AO)("keyboard|autocomplete_navigate_prev")},[i.ToggleSpacePanel]:{default:{ctrlOrCmdKey:!0,shiftKey:!0,key:o.Uz.D},displayName:(0,s.AO)("keyboard|toggle_space_panel")},[i.ToggleHiddenEventVisibility]:{default:{ctrlKey:!0,shiftKey:!0,key:o.Uz.J},displayName:(0,s.AO)("keyboard|toggle_hidden_events")},[i.JumpToFirstMessage]:{default:{key:o.Uz.HOME,ctrlKey:!0},displayName:(0,s.AO)("keyboard|jump_first_message")},[i.JumpToLatestMessage]:{default:{key:o.Uz.END,ctrlKey:!0},displayName:(0,s.AO)("keyboard|jump_last_message")},[i.EditUndo]:{default:{key:o.Uz.Z,ctrlOrCmdKey:!0},displayName:(0,s.AO)("keyboard|composer_undo")},[i.EditRedo]:{default:{key:o.vL?o.Uz.Z:o.Uz.Y,ctrlOrCmdKey:!0,shiftKey:o.vL},displayName:(0,s.AO)("keyboard|composer_redo")},[i.Save]:{default:{key:o.Uz.S,ctrlOrCmdKey:!0},displayName:(0,s.AO)("keyboard|save")},[i.PreviousVisitedRoomOrSpace]:{default:{metaKey:o.vL,altKey:!o.vL,key:o.vL?o.Uz.SQUARE_BRACKET_LEFT:o.Uz.ARROW_LEFT},displayName:(0,s.AO)("keyboard|navigate_prev_history")},[i.NextVisitedRoomOrSpace]:{default:{metaKey:o.vL,altKey:!o.vL,key:o.vL?o.Uz.SQUARE_BRACKET_RIGHT:o.Uz.ARROW_RIGHT},displayName:(0,s.AO)("keyboard|navigate_next_history")},[i.SwitchToSpaceByNumber]:{default:{ctrlOrCmdKey:!0,key:a},displayName:(0,s.AO)("keyboard|switch_to_space")},[i.OpenUserSettings]:{default:{metaKey:!0,key:o.Uz.COMMA},displayName:(0,s.AO)("keyboard|open_user_settings")},[i.Escape]:{default:{key:o.Uz.ESCAPE},displayName:(0,s.AO)("keyboard|close_dialog_menu")},[i.Enter]:{default:{key:o.Uz.ENTER},displayName:(0,s.AO)("keyboard|activate_button")},[i.Space]:{default:{key:o.Uz.SPACE}},[i.Backspace]:{default:{key:o.Uz.BACKSPACE}},[i.Delete]:{default:{key:o.Uz.DELETE}},[i.Home]:{default:{key:o.Uz.HOME}},[i.End]:{default:{key:o.Uz.END}},[i.ArrowLeft]:{default:{key:o.Uz.ARROW_LEFT}},[i.ArrowUp]:{default:{key:o.Uz.ARROW_UP}},[i.ArrowRight]:{default:{key:o.Uz.ARROW_RIGHT}},[i.ArrowDown]:{default:{key:o.Uz.ARROW_DOWN}},[i.Comma]:{default:{key:o.Uz.COMMA}},[i.NextLandmark]:{default:{ctrlOrCmdKey:!o.cp,key:o.Uz.F6},displayName:(0,s.AO)("keyboard|next_landmark")},[i.PreviousLandmark]:{default:{ctrlOrCmdKey:!o.cp,key:o.Uz.F6,shiftKey:!0},displayName:(0,s.AO)("keyboard|prev_landmark")}}},"./src/accessibility/LandmarkNavigation.ts"(e,t,n){"use strict";n.d(t,{H:()=>a,r:()=>c});var s=n("./src/contexts/RoomContext.ts"),o=n("./src/dispatcher/actions.ts"),i=n("./src/dispatcher/dispatcher.ts"),r=n("./src/settings/SettingsStore.ts");let a=function(e){return e[e.ACTIVE_SPACE_BUTTON=0]="ACTIVE_SPACE_BUTTON",e[e.ROOM_SEARCH=1]="ROOM_SEARCH",e[e.ROOM_LIST=2]="ROOM_LIST",e[e.MESSAGE_COMPOSER_OR_HOME=3]="MESSAGE_COMPOSER_OR_HOME",e}({});const l=[a.ACTIVE_SPACE_BUTTON,a.ROOM_SEARCH,a.ROOM_LIST,a.MESSAGE_COMPOSER_OR_HOME];class c{static getLandmark(e,t=!1){const n=l.findIndex(t=>t===e),s=t?-1:1;return l.at((n+s)%l.length)}static findAndFocusNextLandmark(e,t=!1){var n;let s=e,o=null;for(;null===o;)s=c.getLandmark(s,t),o=d[s]();null===(n=o)||void 0===n||n.focus({focusVisible:!0})}}const d={[a.ACTIVE_SPACE_BUTTON]:()=>document.querySelector(".mx_SpaceButton_active"),[a.ROOM_SEARCH]:()=>r.A.getValue("feature_new_room_list")?document.querySelector("#room-list-search-button"):document.querySelector(".mx_RoomSearch"),[a.ROOM_LIST]:()=>r.A.getValue("feature_new_room_list")?document.querySelector(".mx_RoomListItemView_selected")||document.querySelector(".mx_RoomListItemView"):document.querySelector(".mx_RoomTile_selected")||document.querySelector(".mx_RoomTile"),[a.MESSAGE_COMPOSER_OR_HOME]:()=>{if(!!document.querySelector(".mx_MessageComposer")){var e;const t=!(null===(e=document.activeElement)||void 0===e||!e.closest(".mx_ThreadView"));return void i.A.dispatch({action:o.r.FocusSendMessageComposer,context:t?s.Ae.Thread:s.Ae.Room},!0)}return document.querySelector(".mx_HomePage")}}},"./src/accessibility/RovingTabIndex.tsx"(e,t,n){"use strict";n.d(t,{k:()=>m,ui:()=>v,Se:()=>w,Ix:()=>a,ZU:()=>f,L4:()=>g,Ed:()=>b,A9:()=>E});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/KeyBindingsManager.ts"),r=n("./src/accessibility/KeyboardShortcuts.ts");const a=({children:e,inputRef:t})=>{const[n,s,o]=E(t);return e({onFocus:n,isActive:s,ref:o})};var l=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),c=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),d=n("./src/components/views/elements/AccessibleButton.tsx");const u=["inputRef","onFocus","onMouseOver","focusOnMouseOver"],m=e=>{let{inputRef:t,onFocus:n,onMouseOver:s,focusOnMouseOver:i}=e,r=(0,c.A)(e,u);const[a,m,p]=E(t);return o.createElement(d.A,(0,l.A)({},r,{onFocus:e=>{a(),null==n||n(e)},onMouseOver:e=>{i&&a(),null==s||s(e)},ref:p,tabIndex:m?0:-1}))};function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function g(e){return e.matches('input:not([type="radio"]):not([type="checkbox"]), textarea, select, [contenteditable=true]')}const v=(0,o.createContext)({state:{nodes:[]},dispatch:()=>{}});v.displayName="RovingTabIndexContext";let f=function(e){return e.Register="REGISTER",e.Unregister="UNREGISTER",e.SetFocus="SET_FOCUS",e.Update="UPDATE",e}({});const _=(e,t)=>{if(e===t)return 0;const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0},y=(e,t)=>{switch(t.type){case f.Register:return e.activeNode||(e.activeNode=t.payload.node),e.nodes.includes(t.payload.node)?e:(e.nodes.push(t.payload.node),e.nodes.sort(_),h({},e));case f.Unregister:{const n=e.nodes.findIndex(e=>e===t.payload.node);return-1===n?e:(e.nodes.splice(n,1)[0]===e.activeNode&&(n>=e.nodes.length?e.activeNode=b(e.nodes,e.nodes.length-1,!0):e.activeNode=b(e.nodes,n)||b(e.nodes,n,!0),document.activeElement===document.body&&setTimeout(()=>{var t;return null===(t=e.activeNode)||void 0===t?void 0:t.focus()},0)),h({},e))}case f.SetFocus:return e.activeNode===t.payload.node?e:(e.activeNode=t.payload.node,h({},e));case f.Update:return e.nodes.sort(_),h({},e);default:return e}},b=(e,t,n=!1,s=!1)=>{if(n){for(let n=t;n<e.length&&n>=0;n--){var o;if(null!==(null===(o=e[n])||void 0===o?void 0:o.offsetParent))return e[n]}if(s)return b(e.slice(t+1),e.length-1,!0,!1)}else{for(let n=t;n<e.length&&n>=0;n++){var i;if(null!==(null===(i=e[n])||void 0===i?void 0:i.offsetParent))return e[n]}if(s)return b(e.slice(0,t),0,!1,!1)}},w=({children:e,handleHomeEnd:t,handleUpDown:n,handleLeftRight:s,handleLoop:a,handleInputFields:l,scrollIntoView:c,onKeyDown:d})=>{const[u,m]=(0,o.useReducer)(y,{nodes:[]}),p=(0,o.useMemo)(()=>({state:u,dispatch:m}),[u]),h=(0,o.useCallback)(e=>{if(d&&(d(e,p.state,p.dispatch),e.defaultPrevented))return;let o=!1;const u=(0,i.zM)().getAccessibilityAction(e);let h;if(!l&&g(e.target)){if(u===r.bY.Tab)if(o=!0,p.state.nodes.length>0){const t=p.state.nodes.indexOf(p.state.activeNode);h=b(p.state.nodes,t+(e.shiftKey?-1:1),e.shiftKey)}}else switch(u){case r.bY.Home:t&&(o=!0,h=b(p.state.nodes,0));break;case r.bY.End:t&&(o=!0,h=b(p.state.nodes,p.state.nodes.length-1,!0));break;case r.bY.ArrowDown:case r.bY.ArrowRight:if((u===r.bY.ArrowDown&&n||u===r.bY.ArrowRight&&s)&&(o=!0,p.state.nodes.length>0)){const e=p.state.nodes.indexOf(p.state.activeNode);h=b(p.state.nodes,e+1,!1,a)}break;case r.bY.ArrowUp:case r.bY.ArrowLeft:if((u===r.bY.ArrowUp&&n||u===r.bY.ArrowLeft&&s)&&(o=!0,p.state.nodes.length>0)){const e=p.state.nodes.indexOf(p.state.activeNode);h=b(p.state.nodes,e-1,!0,a)}}var v,_;(o&&(e.preventDefault(),e.stopPropagation()),h)&&(null===(v=h)||void 0===v||v.focus(),m({type:f.SetFocus,payload:{node:h}}),c&&(null===(_=h)||void 0===_||_.scrollIntoView(c)))},[p,d,t,n,s,a,l,c]),_=(0,o.useCallback)(()=>{m({type:f.Update})},[]);return o.createElement(v.Provider,{value:p},e({onKeyDownHandler:h,onDragEndHandler:_}))},E=e=>{const t=(0,o.useContext)(v);let n=(0,o.useRef)(null);e&&(n=e);const s=(0,o.useCallback)(e=>{e?(n.current=e,t.dispatch({type:f.Register,payload:{node:e}})):(t.dispatch({type:f.Unregister,payload:{node:n.current}}),n.current=null)},[]);return[(0,o.useCallback)(()=>{n.current?t.dispatch({type:f.SetFocus,payload:{node:n.current}}):console.warn("useRovingTabIndex.onFocus called but the react ref does not point to any DOM element!")},[]),t.state.activeNode===n.current,s,n]}},"./src/accessibility/Toolbar.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/accessibility/RovingTabIndex.tsx"),a=n("./src/KeyBindingsManager.ts"),l=n("./src/accessibility/KeyboardShortcuts.ts");const c=["children","ref"],d=e=>{let{children:t,ref:n}=e,d=(0,o.A)(e,c);return i.createElement(r.Se,{handleHomeEnd:!0,handleLeftRight:!0,handleUpDown:!0,onKeyDown:e=>{const t=e.target;if("INPUT"===t.tagName)return;let n=!0;switch((0,a.zM)().getAccessibilityAction(e)){case l.bY.ArrowUp:case l.bY.ArrowDown:t.hasAttribute("aria-haspopup")&&t.click();break;default:n=!1}n&&(e.preventDefault(),e.stopPropagation())}},({onKeyDownHandler:e})=>i.createElement("div",(0,s.A)({},d,{onKeyDown:e,role:"toolbar",ref:n}),t))}},"./src/accessibility/context_menu/ContextMenuButton.tsx"(e,t,n){"use strict";n.d(t,{V:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/components/views/elements/AccessibleButton.tsx");const a=["label","isExpanded","children","onClick","onContextMenu","ref"],l=function(e){var t;let{label:n,isExpanded:l,children:c,onClick:d,onContextMenu:u,ref:m}=e,p=(0,o.A)(e,a);return i.createElement(r.A,(0,s.A)({},p,{onClick:d,onContextMenu:null!==(t=null!=u?u:d)&&void 0!==t?t:void 0,"aria-label":n,"aria-haspopup":!0,"aria-expanded":l,ref:m}),c)}},"./src/accessibility/context_menu/ContextMenuTooltipButton.tsx"(e,t,n){"use strict";n.d(t,{o:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/components/views/elements/AccessibleButton.tsx");const a=["isExpanded","children","onClick","onContextMenu","ref"],l=function(e){var t;let{isExpanded:n,children:l,onClick:c,onContextMenu:d,ref:u}=e,m=(0,o.A)(e,a);return i.createElement(r.A,(0,s.A)({},m,{onClick:c,onContextMenu:null!==(t=null!=d?d:c)&&void 0!==t?t:void 0,"aria-haspopup":!0,"aria-expanded":n,disableTooltip:n,ref:u}),l)}},"./src/accessibility/context_menu/MenuItemRadio.tsx"(e,t,n){"use strict";n.d(t,{s:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/accessibility/RovingTabIndex.tsx");const a=["children","label","active","disabled"],l=e=>{let{children:t,label:n,active:l,disabled:c}=e,d=(0,o.A)(e,a);return i.createElement(r.k,(0,s.A)({},d,{role:"menuitemradio","aria-checked":l,"aria-disabled":c,disabled:c,"aria-label":n}),t)}},"./src/actions/RoomListActions.ts"(e,t,n){"use strict";n.d(t,{A:()=>m});var s=n("./node_modules/matrix-js-sdk/src/logger.ts"),o=n("./src/dispatcher/payloads.ts");var i=n("./src/Modal.tsx"),r=n("./src/Rooms.ts"),a=n("./src/languageHandler.tsx"),l=n("./src/stores/room-list/RoomListStore.ts"),c=n("./src/stores/room-list/algorithms/models.ts"),d=n("./src/stores/room-list/models.ts"),u=n("./src/components/views/dialogs/ErrorDialog.tsx");class m{static tagRoom(e,t,n,m,p){let h;const g=l.Ay.instance;if(m&&g.getTagSorting(m)===c.G.Manual){const e=[...g.orderedLists[m]];e.sort((e,t)=>e.tags[m].order-t.tags[m].order);const t=p-1,n=p,s=t<=0?0:e[t].tags[m].order,o=n>=e.length?1:e[n].tags[m].order;h={order:(s+o)/2}}return v="RoomListActions.tagRoom",f=()=>{const o=[],l=t.roomId;if(void 0===n&&m===d.zO.DM||n===d.zO.DM&&void 0===m)return r.lA(t,m===d.zO.DM).catch(e=>{var t;s.vF.error("Failed to set DM tag "+e),i.Ay.createDialog(u.A,{title:(0,a._t)("room_list|failed_set_dm_tag"),description:null!==(t=null==e?void 0:e.message)&&void 0!==t?t:(0,a._t)("invite|failed_generic")})});const c=n!==m;if(n&&n!==d.zO.DM&&c){const t=e.deleteRoomTag(l,n).catch(function(e){var t;s.vF.error("Failed to remove tag "+n+" from room: "+e),i.Ay.createDialog(u.A,{title:(0,a._t)("room_list|failed_remove_tag",{tagName:n}),description:null!==(t=null==e?void 0:e.message)&&void 0!==t?t:(0,a._t)("invite|failed_generic")})});o.push(t)}if(m&&m!==d.zO.DM&&(c||h)){const t=e.setRoomTag(l,m,h).catch(function(e){var t;throw s.vF.error("Failed to add tag "+m+" to room: "+e),i.Ay.createDialog(u.A,{title:(0,a._t)("room_list|failed_add_tag",{tagName:m}),description:null!==(t=null==e?void 0:e.message)&&void 0!==t?t:(0,a._t)("invite|failed_generic")}),e});o.push(t)}return Promise.all(o)},_=()=>({room:t,oldTag:n,newTag:m,metaData:h}),new o.n(e=>{e({action:v+".pending",request:"function"==typeof _?_():void 0}),f().then(t=>{e({action:v+".success",result:t})}).catch(t=>{e({action:v+".failure",err:t})})});var v,f,_}}},"./src/audio/BackgroundAudio.ts"(e,t,n){"use strict";n.d(t,{J:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/audio/compat.ts");const r={mp3:"audio/mpeg",ogg:"audio/ogg"};class a{constructor(){(0,s.A)(this,"audioContext",(0,i.g)()),(0,s.A)(this,"sounds",{})}async pickFormatAndPlay(e,t,n=!1){const s=this.pickFormat(...t);return s||console.log("Browser doesn't support any of the formats",t),this.play(`${e}.${s}`,n)}async play(e,t=!1){if(!this.sounds.hasOwnProperty(e)){const t=await fetch(e);200!=t.status&&o.vF.warn("Failed to fetch error audio");const n=await t.arrayBuffer(),s=await this.audioContext.decodeAudioData(n);this.sounds[e]=s}const n=this.audioContext.createBufferSource();return n.buffer=this.sounds[e],n.loop=t,n.connect(this.audioContext.destination),await this.audioContext.resume(),n.onended=()=>{this.audioContext.suspend()},n.start(),n}pickFormat(...e){const t=document.createElement("audio");for(const n of e)if(t.canPlayType(r[n]))return n;return null}}},"./src/audio/Playback.ts"(e,t,n){"use strict";n.d(t,{Y:()=>_,d:()=>f});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n.n(o),r=n("./node_modules/matrix-widget-api/lib/index.js"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./packages/shared-components/dist/element-web-shared-components.js"),c=n("./src/stores/AsyncStore.ts"),d=n("./src/utils/arrays.ts");class u{constructor(e){(0,s.A)(this,"clipStart",0),(0,s.A)(this,"stopped",!0),(0,s.A)(this,"lastCheck",0),(0,s.A)(this,"observable",new r.SimpleObservable),(0,s.A)(this,"timerId",void 0),(0,s.A)(this,"clipDuration",0),(0,s.A)(this,"placeholderDuration",0),(0,s.A)(this,"checkTime",(e=!1)=>{const t=this.timeSeconds;(this.lastCheck!==t||e)&&(this.observable.update([t,this.durationSeconds]),this.lastCheck=t)}),this.context=e}get durationSeconds(){return this.clipDuration||this.placeholderDuration}set durationSeconds(e){this.clipDuration=e,this.observable.update([this.timeSeconds,this.clipDuration])}get timeSeconds(){return(this.context.currentTime-this.clipStart)%this.clipDuration||0}get liveData(){return this.observable}populatePlaceholdersFrom(e){var t;const n=Number(null===(t=e.getContent().info)||void 0===t?void 0:t.duration);Number.isFinite(n)&&(this.placeholderDuration=n/1e3)}flagLoadTime(){this.clipStart=this.context.currentTime}flagStart(){this.stopped&&(this.clipStart=this.context.currentTime,this.stopped=!1),this.timerId||(this.timerId=window.setInterval(this.checkTime,100))}flagStop(){this.stopped=!0,this.clipStart=this.context.currentTime}syncTo(e,t){this.clipStart=e-t,this.stopped=!1,this.checkTime(!0)}destroy(){this.observable.close(),this.timerId&&clearInterval(this.timerId)}}var m,p=n("./src/audio/compat.ts"),h=n("./src/audio/consts.ts"),g=n("./src/WorkerManager.ts");class v{constructor(){var e;(0,s.A)(this,"worker",new g.O(new Worker(new URL(n.p+n.u(3304),n.b),Object.assign({},e,{type:void 0}))))}static get instance(){return v.internalInstance}getPlaybackWaveform(e){return this.worker.call({data:Array.from(e)}).then(e=>e.waveform)}}m=v,(0,s.A)(v,"internalInstance",new m);let f=function(e){return e.Preparing="preparing",e.Decoding="decoding",e.Stopped="stopped",e.Paused="paused",e.Playing="playing",e}({});class _ extends(i()){constructor(e,t=h.mq){super(),(0,s.A)(this,"thumbnailWaveform",void 0),(0,s.A)(this,"context",void 0),(0,s.A)(this,"source",void 0),(0,s.A)(this,"state",f.Decoding),(0,s.A)(this,"audioBuf",void 0),(0,s.A)(this,"element",void 0),(0,s.A)(this,"resampledWaveform",void 0),(0,s.A)(this,"waveformObservable",new r.SimpleObservable),(0,s.A)(this,"clock",void 0),(0,s.A)(this,"fileSize",void 0),(0,s.A)(this,"onPlaybackEnd",async()=>{await this.context.suspend(),this.emit(f.Stopped),this.clock.flagStop()}),this.buf=e,this.fileSize=this.buf.byteLength,this.context=(0,p.g)(),this.resampledWaveform=(0,d.$S)(null!=t?t:h.mq,h.i$),this.thumbnailWaveform=(0,d.$S)(null!=t?t:h.mq,100),this.waveformObservable.update(this.resampledWaveform),this.clock=new u(this.context)}get sizeBytes(){return this.fileSize}get waveform(){return this.resampledWaveform}get waveformData(){return this.waveformObservable}get clockInfo(){return this.clock}get liveData(){return this.clock.liveData}get timeSeconds(){return this.clock.timeSeconds}get durationSeconds(){return this.clock.durationSeconds}get currentState(){return this.state}get isPlaying(){return this.currentState===f.Playing}emit(e,...t){return this.state=e,super.emit(e,...t),super.emit(c.H,e,...t),!0}destroy(){this.stop(),this.removeAllListeners(),this.clock.destroy(),this.waveformObservable.close(),this.element&&(URL.revokeObjectURL(this.element.src),this.element.remove())}async prepare(){var e,t;if(this.state===f.Decoding){if(this.state=f.Preparing,this.buf.byteLength>5242880){a.vF.log("Audio file too large: processing through <audio /> element"),this.element=document.createElement("AUDIO");const e=Promise.withResolvers();this.element.onloadeddata=e.resolve,this.element.onerror=e.reject,this.element.src=URL.createObjectURL(new Blob([this.buf])),await e.promise}else{try{this.audioBuf=await this.context.decodeAudioData(this.buf)}catch(e){a.vF.error("Error decoding recording:",e),a.vF.warn("Trying to re-encode to WAV instead...");try{const e=await(0,p.s)(this.buf);this.audioBuf=await this.context.decodeAudioData(e)}catch(e){throw a.vF.error("Error decoding recording:",e),e}}this.resampledWaveform=await v.instance.getPlaybackWaveform(this.audioBuf.getChannelData(0))}this.waveformObservable.update(this.resampledWaveform),this.clock.flagLoadTime(),this.clock.durationSeconds=null!==(e=null===(t=this.element)||void 0===t?void 0:t.duration)&&void 0!==e?e:this.audioBuf.duration,this.emit(f.Stopped)}}async play(){this.state===f.Stopped&&(this.disconnectSource(),this.makeNewSourceBuffer(),this.element?await this.element.play():this.source.start()),await this.context.resume(),this.clock.flagStart(),this.emit(f.Playing)}disconnectSource(){var e,t;this.element||(null===(e=this.source)||void 0===e||e.disconnect(),null===(t=this.source)||void 0===t||t.removeEventListener("ended",this.onPlaybackEnd))}makeNewSourceBuffer(){if(!this.element||!this.source){var e;if(this.element)this.source=this.context.createMediaElementSource(this.element);else this.source=this.context.createBufferSource(),this.source.buffer=null!==(e=this.audioBuf)&&void 0!==e?e:null;this.source.addEventListener("ended",this.onPlaybackEnd),this.source.connect(this.context.destination)}}async pause(){await this.context.suspend(),this.emit(f.Paused)}stop(){return this.onPlaybackEnd()}async toggle(){this.isPlaying?await this.pause():await this.play()}async skipTo(e){e=(0,l.qE)(e,0,this.clock.durationSeconds);const t=this.isPlaying;t&&await this.context.suspend();const n=this.context.currentTime;this.disconnectSource(),this.makeNewSourceBuffer(),this.clock.syncTo(n,e),this.element?this.element.currentTime=e:this.source.start(n,e),t?await this.context.resume():await this.pause()}}},"./src/audio/PlaybackManager.ts"(e,t,n){"use strict";n.d(t,{T:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/audio/Playback.ts"),i=n("./src/audio/consts.ts");class r extends o.Y{constructor(e,t,n=i.mq){super(t,n),this.manager=e}async play(){return this.manager.pauseAllExcept(this),super.play()}destroy(){this.manager.destroyPlaybackInstance(this),super.destroy()}}class a{constructor(){(0,s.A)(this,"instances",[])}static get instance(){return a.internalInstance||(a.internalInstance=new a),a.internalInstance}pauseAllExcept(e){this.instances.filter(t=>t!==e&&t.currentState===o.d.Playing).forEach(e=>e.pause())}destroyPlaybackInstance(e){this.instances=this.instances.filter(t=>t!==e)}createPlaybackInstance(e,t=i.mq){const n=new r(this,e,t);return this.instances.push(n),n}}(0,s.A)(a,"internalInstance",void 0)},"./src/audio/VoiceRecording.ts"(e,t,n){"use strict";n.d(t,{IZ:()=>E,$T:()=>S,sQ:()=>w,Qj:()=>C});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/opus-recorder/dist/recorder.min.js"),i=n.n(o),r=n("./node_modules/opus-recorder/dist/encoderWorker.min.js"),a=n("./node_modules/matrix-widget-api/lib/index.js"),l=n("./node_modules/events/events.js"),c=n.n(l),d=n("./node_modules/matrix-js-sdk/src/logger.ts"),u=n("./packages/shared-components/dist/element-web-shared-components.js"),m=n("./src/MediaDeviceHandler.ts"),p=n("./src/utils/Singleflight.ts"),h=n("./src/audio/consts.ts"),g=n("./src/stores/AsyncStore.ts"),v=n("./src/audio/compat.ts"),f=n("./src/utils/arrays.ts");class _{constructor(e,t){(0,s.A)(this,"samples",[]),this.width=e,this.samples=(0,f.DG)(t,this.width)}get value(){return this.samples}pushValue(e){let t=(0,f.PF)(this.samples);t.splice(0,0,e),t.length>this.width&&(t=t.slice(0,this.width)),this.samples=t}}var y=n("./src/audio/RecorderWorklet.ts"),b=n.n(y);const w=48e3,E=44,A={bitrate:24e3,encoderApplication:2048},x={bitrate:96e3,encoderApplication:2049};let S=function(e){return e.Started="started",e.EndingSoon="ending_soon",e.Ended="ended",e.Uploading="uploading",e.Uploaded="uploaded",e}({});class C extends(c()){constructor(...e){super(...e),(0,s.A)(this,"recorder",void 0),(0,s.A)(this,"recorderContext",void 0),(0,s.A)(this,"recorderSource",void 0),(0,s.A)(this,"recorderStream",void 0),(0,s.A)(this,"recorderWorklet",void 0),(0,s.A)(this,"recorderProcessor",void 0),(0,s.A)(this,"recording",!1),(0,s.A)(this,"observable",void 0),(0,s.A)(this,"targetMaxLength",900),(0,s.A)(this,"amplitudes",[]),(0,s.A)(this,"liveWaveform",new _(E,0)),(0,s.A)(this,"onDataAvailable",void 0),(0,s.A)(this,"onAudioProcess",e=>{this.processAudioUpdate(e.playbackTime)}),(0,s.A)(this,"processAudioUpdate",e=>{if(!this.recording)return;if(this.observable.update({waveform:this.liveWaveform.value.map(e=>(0,u.qE)(e,0,1)),timeSeconds:e}),!this.targetMaxLength)return;const t=900-this.recorderSeconds;t<0?this.stop():t<=10&&p.j.for(this,"ending_soon").do(()=>(this.emit(S.EndingSoon,{secondsLeft:t}),p.j.Void))})}get contentType(){return"audio/ogg"}get durationSeconds(){if(!this.recorder||!this.recorderContext)throw new Error("Duration not available without a recording");return this.recorderContext.currentTime}get isRecording(){return this.recording}emit(e,...t){return super.emit(e,...t),super.emit(g.H,e,...t),!0}disableMaxLength(){this.targetMaxLength=null}shouldRecordInHighQuality(){return!m.Ay.getAudioNoiseSuppression()}async makeRecorder(){try{this.recorderStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,deviceId:m.Ay.getAudioInput(),autoGainControl:{ideal:m.Ay.getAudioAutoGainControl()},echoCancellation:{ideal:m.Ay.getAudioEchoCancellation()},noiseSuppression:{ideal:m.Ay.getAudioNoiseSuppression()}}}),this.recorderContext=(0,v.g)({}),this.recorderSource=this.recorderContext.createMediaStreamSource(this.recorderStream),this.recorderContext.audioWorklet?(await(e=this.recorderContext,e.audioWorklet.addModule(b())),this.recorderWorklet=new AudioWorkletNode(this.recorderContext,h.pu),this.recorderSource.connect(this.recorderWorklet),this.recorderWorklet.connect(this.recorderContext.destination),this.recorderWorklet.port.onmessage=e=>{switch(e.data.ev){case h.rY.Timekeep:this.processAudioUpdate(e.data.timeSeconds);break;case h.rY.AmplitudeMark:e.data.forIndex===this.amplitudes.length&&(this.amplitudes.push(e.data.amplitude),this.liveWaveform.pushValue(e.data.amplitude))}}):(this.recorderProcessor=this.recorderContext.createScriptProcessor(1024,1,1),this.recorderSource.connect(this.recorderProcessor),this.recorderProcessor.connect(this.recorderContext.destination),this.recorderProcessor.addEventListener("audioprocess",this.onAudioProcess));const t=this.shouldRecordInHighQuality()?x:A,{encoderApplication:n,bitrate:s}=t;this.recorder=new(i())({encoderPath:r.A,encoderSampleRate:w,encoderApplication:n,streamPages:!0,encoderFrameSize:20,numberOfChannels:1,sourceNode:this.recorderSource,encoderBitRate:s,encoderComplexity:3,resampleQuality:3}),this.recorder.ondataavailable=e=>{var t;return null===(t=this.onDataAvailable)||void 0===t?void 0:t.call(this,e)}}catch(e){throw d.vF.error("Error starting recording: ",e),e instanceof DOMException&&d.vF.error(`${e.name} (${e.code}): ${e.message}`),this.recorderStream&&this.recorderStream.getTracks().forEach(e=>e.stop()),this.recorderSource&&this.recorderSource.disconnect(),this.recorder&&this.recorder.close(),this.recorderContext&&this.recorderContext.close(),e}var e}get liveData(){if(!this.recording||!this.observable)throw new Error("No observable when not recording");return this.observable}get isSupported(){return!!i().isRecordingSupported()}get recorderSeconds(){if(this.recorder)return this.recorder.encodedSamplePosition/48e3}async start(){var e;if(this.recording)throw new Error("Recording already in progress");this.observable&&this.observable.close(),this.observable=new a.SimpleObservable,await this.makeRecorder(),await(null===(e=this.recorder)||void 0===e?void 0:e.start()),this.recording=!0,this.emit(S.Started)}async stop(){return p.j.for(this,"stop").do(async()=>{if(!this.recording)throw new Error("No recording to stop");await this.recorder.stop(),this.recorderSource.disconnect(),this.recorderWorklet&&this.recorderWorklet.disconnect(),this.recorderProcessor&&(this.recorderProcessor.disconnect(),this.recorderProcessor.removeEventListener("audioprocess",this.onAudioProcess)),await this.recorderContext.close(),this.recorderStream.getTracks().forEach(e=>e.stop()),this.recording=!1,await this.recorder.close(),this.emit(S.Ended)})}destroy(){var e;this.stop(),this.removeAllListeners(),this.onDataAvailable=void 0,p.j.forgetAllFor(this),null===(e=this.observable)||void 0===e||e.close()}}},"./src/audio/compat.ts"(e,t,n){"use strict";n.d(t,{g:()=>l,s:()=>c});var s=n("./node_modules/opus-recorder/dist/decoderWorker.min.wasm"),o=n("./node_modules/opus-recorder/dist/waveWorker.min.js"),i=n("./node_modules/opus-recorder/dist/decoderWorker.min.js"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/audio/VoiceRecording.ts");function l(e){if(window.AudioContext){const t=new AudioContext(e);return t.suspend(),t}throw new Error("Unsupported browser")}function c(e){return new Promise(t=>{r.vF.log("Decoder WASM path: "+s.A);const n=new Uint8Array(e),l=new Worker(i.A),c=new Worker(o.A);l.postMessage({command:"init",decoderSampleRate:a.sQ,outputBufferSampleRate:a.sQ}),c.postMessage({command:"init",wavBitDepth:24,wavSampleRate:a.sQ}),l.onmessage=e=>{null!==e.data?c.postMessage({command:"encode",buffers:e.data},e.data.map(e=>e.buffer)):c.postMessage({command:"done"})},c.onmessage=e=>{"page"===e.data.message&&t(new Blob([e.data.page],{type:"audio/wav"}).arrayBuffer())},l.postMessage({command:"decode",pages:n},[n.buffer])})}},"./src/audio/consts.ts"(e,t,n){"use strict";n.d(t,{i$:()=>r,mq:()=>a,pu:()=>o,rY:()=>i});var s=n("./src/utils/arrays.ts");const o="mx-voice-worklet";let i=function(e){return e.Timekeep="timekeep",e.AmplitudeMark="amplitude_mark",e}({});const r=39,a=(0,s.DG)(0,r)},"./src/autocomplete/AutocompleteProvider.tsx"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/contexts/RoomContext.ts");class i{constructor({commandRegex:e,forcedCommandRegex:t,renderingType:n}){if((0,s.A)(this,"commandRegex",void 0),(0,s.A)(this,"forcedCommandRegex",void 0),(0,s.A)(this,"renderingType",o.Ae.Room),e){if(!e.global)throw new Error("commandRegex must have global flag set");this.commandRegex=e}if(t){if(!t.global)throw new Error("forcedCommandRegex must have global flag set");this.forcedCommandRegex=t}n&&(this.renderingType=n)}destroy(){}getCurrentCommand(e,t,n=!1){let s,o=this.commandRegex;if(n&&this.shouldForceComplete()&&(o=this.forcedCommandRegex||/\S+/g),!o)return{};for(o.lastIndex=0;null!==(s=o.exec(e));){const e=s.index,n=e+s[0].length;if(t.start<=n&&t.end>=e)return{command:s,range:{start:e,end:n}}}return{command:null,range:{start:-1,end:-1}}}shouldForceComplete(){return!1}}},"./src/autocomplete/CommandProvider.tsx"(e,t,n){"use strict";n.d(t,{A:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/languageHandler.tsx"),r=n("./src/autocomplete/AutocompleteProvider.tsx"),a=n("./src/autocomplete/QueryMatcher.ts"),l=n("./src/autocomplete/Components.tsx"),c=n("./src/slash-commands/SlashCommands.tsx"),d=n("./src/MatrixClientPeg.ts");const u=/(^\/\w*)(?: .*)?/g;class m extends r.A{constructor(e,t){super({commandRegex:u,renderingType:t}),(0,s.A)(this,"matcher",void 0),(0,s.A)(this,"room",void 0),this.matcher=new a.A(c.Ts,{keys:["command","args","description"],funcs:[({aliases:e})=>e.join(" ")],context:t}),this.room=e}async getCompletions(e,t,n,s=-1){const{command:r,range:a}=this.getCurrentCommand(e,t);if(!r)return[];const u=d.J.get();let m=[];if(r[0]!==r[1]){const e=r[1].slice(1);if(c.yc.has(e)&&c.yc.get(e).isEnabled(u,this.room.roomId)){if(c.yc.get(e).hideCompletionAfterSpace)return[];m=[c.yc.get(e)]}}else m="/"===e?c.Ts:this.matcher.match(r[1],s);return m.filter(e=>{const t=!e.renderingTypes||e.renderingTypes.includes(this.renderingType);return e.isEnabled(u,this.room.roomId)&&t}).map(e=>{let t=e.getCommand()+" ";const n=e.aliases.find(e=>`/${e}`===r[1]);return(n||e.getCommand()===r[1])&&(t=r[0]),{completion:t,type:"command",component:o.createElement(l.c,{title:`/${n||e.command}`,subtitle:e.args,description:(0,i._t)(e.description)}),range:a}})}getName(){return"*️⃣ "+(0,i._t)("composer|autocomplete|command_description")}renderCompletions(e){return o.createElement("div",{className:"mx_Autocomplete_Completion_container_pill",role:"presentation","aria-label":(0,i._t)("composer|autocomplete|command_a11y")},e)}}},"./src/autocomplete/Components.tsx"(e,t,n){"use strict";n.d(t,{c:()=>d,i:()=>u});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r);const l=["title","subtitle","description","className","aria-selected","ref"],c=["title","subtitle","description","className","children","aria-selected","ref"],d=e=>{const{title:t,subtitle:n,description:r,className:c,"aria-selected":d,ref:u}=e,m=(0,o.A)(e,l);return i.createElement("div",(0,s.A)({},m,{className:a()("mx_Autocomplete_Completion_block",c),role:"option","aria-selected":d,ref:u}),i.createElement("span",{className:"mx_Autocomplete_Completion_title"},t),i.createElement("span",{className:"mx_Autocomplete_Completion_subtitle"},n),i.createElement("span",{className:"mx_Autocomplete_Completion_description"},r))},u=e=>{const{title:t,subtitle:n,description:r,className:l,children:d,"aria-selected":u,ref:m}=e,p=(0,o.A)(e,c);return i.createElement("div",(0,s.A)({},p,{className:a()("mx_Autocomplete_Completion_pill",l),role:"option","aria-selected":u,ref:m}),d,i.createElement("span",{className:"mx_Autocomplete_Completion_title"},t),i.createElement("span",{className:"mx_Autocomplete_Completion_subtitle"},n),i.createElement("span",{className:"mx_Autocomplete_Completion_description"},r))}},"./src/autocomplete/QueryMatcher.ts"(e,t,n){"use strict";n.d(t,{A:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/lodash/at.js"),i=n("./node_modules/lodash/uniq.js"),r=n("./node_modules/matrix-js-sdk/src/utils.ts");function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class c{constructor(e,t={keys:[]}){(0,s.A)(this,"_options",void 0),(0,s.A)(this,"_items",new Map),this._options=t,this.setObjects(e),void 0===this._options.shouldMatchWordsOnly&&(this._options.shouldMatchWordsOnly=!0)}setObjects(e){this._items=new Map;for(const t of e){const e=(0,o.A)(t,this._options.keys);if(this._options.funcs)for(const n of this._options.funcs){const s=n(t);Array.isArray(s)?e.push(...s):e.push(s)}for(const[n,s]of Object.entries(e)){if(!s)continue;const e=this.processQuery(s);this._items.has(e)||this._items.set(e,[]),this._items.get(e).push({keyWeight:Number(n),object:t})}}}match(e,t=-1){if(e=this.processQuery(e),this._options.shouldMatchWordsOnly&&(e=e.replace(/[^\w]/g,"")),0===e.length)return[];const n=[];for(const[t,s]of this._items.entries()){let o=t;this._options.shouldMatchWordsOnly&&(o=o.replace(/[^\w]/g,""));const i=o.indexOf(e);-1!==i&&n.push(...s.map(e=>l({index:i},e)))}n.sort((e,t)=>{if(e.index<t.index)return-1;if(e.index===t.index){if(e.keyWeight<t.keyWeight)return-1;if(e.keyWeight===t.keyWeight)return 0}return 1});const s=(0,i.A)(n.map(e=>e.object)),o=-1===t?s.length:t;return s.slice(0,o)}processQuery(e){return!1!==this._options.fuzzy?(0,r.Gp)(e.toLowerCase()).toLowerCase():e.toLowerCase()}}},"./src/autocomplete/UserProvider.tsx"(e,t,n){"use strict";n.d(t,{A:()=>_});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/lodash/sortBy.js"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/types.ts"),l=n("./src/MatrixClientPeg.ts"),c=n("./src/autocomplete/QueryMatcher.ts"),d=n("./src/autocomplete/Components.tsx"),u=n("./src/autocomplete/AutocompleteProvider.tsx"),m=n("./src/languageHandler.tsx"),p=n("./src/utils/permalinks/Permalinks.ts"),h=n("./src/components/views/avatars/MemberAvatar.tsx"),g=n("./src/customisations/UserIdentifier.ts");const v=/\B@\S*/g,f=/[^/,.():; \t\n]\S*/g;class _ extends u.A{constructor(e,t){super({commandRegex:v,forcedCommandRegex:f,renderingType:t}),(0,s.A)(this,"matcher",void 0),(0,s.A)(this,"users",void 0),(0,s.A)(this,"room",void 0),(0,s.A)(this,"onRoomTimeline",(e,t,n,s,o)=>{t&&(s||t.roomId===this.room.roomId&&o.timeline.getTimelineSet()===t.getUnfilteredTimelineSet()&&!n&&o&&o.liveEvent&&this.onUserSpoke(e.sender))}),(0,s.A)(this,"onRoomStateUpdate",e=>{e.roomId===this.room.roomId&&(this.users=void 0)}),this.room=e,this.matcher=new c.A([],{keys:["name"],funcs:[e=>e.userId.slice(1)],shouldMatchWordsOnly:!1}),l.J.safeGet().on(r.RoomEvent.Timeline,this.onRoomTimeline),l.J.safeGet().on(r.RoomStateEvent.Update,this.onRoomStateUpdate)}destroy(){var e,t;null===(e=l.J.get())||void 0===e||e.removeListener(r.RoomEvent.Timeline,this.onRoomTimeline),null===(t=l.J.get())||void 0===t||t.removeListener(r.RoomStateEvent.Update,this.onRoomStateUpdate)}async getCompletions(e,t,n=!1,s=-1){this.users||this.makeUsers();const{command:i,range:r}=this.getCurrentCommand(e,t,n),a=null==i?void 0:i[0];if(a&&"@"!==a){const e=a.startsWith("@")?a.substring(1):a;return this.matcher.match(e,s).map(e=>{var n;const s=null===(n=g.A.getDisplayUserIdentifier)||void 0===n?void 0:n.call(g.A,e.userId,{roomId:this.room.roomId,withDisplayName:!0}),i=e.name||e.userId||"";return{completion:e.rawDisplayName,completionId:e.userId,type:"user",suffix:t.beginning&&0===r.start?": ":" ",href:(0,p.Ne)(e.userId),component:o.createElement(d.i,{title:i,description:null!=s?s:void 0},o.createElement(h.A,{member:e,size:"24px"})),range:r}})}return[]}getName(){return(0,m._t)("composer|autocomplete|user_description")}makeUsers(){const e=this.room.getLiveTimeline().getEvents(),t={};for(const n of e)t[n.getSender()]=n.getTs();const n=l.J.safeGet().credentials.userId;this.users=this.room.getJoinedMembers().filter(({userId:e})=>e!==n),this.users=this.users.concat(this.room.getMembersWithMembership(a.O.Invite)),this.users=(0,i.A)(this.users,e=>1e20-t[e.userId]||1e20),this.matcher.setObjects(this.users)}onUserSpoke(e){this.users&&e&&e.userId!==l.J.safeGet().getSafeUserId()&&(this.users.splice(this.users.findIndex(t=>t.userId===e.userId),1),this.users=[e,...this.users],this.matcher.setObjects(this.users))}renderCompletions(e){return o.createElement("div",{className:"mx_Autocomplete_Completion_container_pill",role:"presentation","aria-label":(0,m._t)("composer|autocomplete|user_a11y")},e)}shouldForceComplete(){return!0}}},"./src/call-types.ts"(e,t,n){"use strict";n.d(t,{Fm:()=>r,Gd:()=>i,Vj:()=>a});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/NamespacedValue.ts");const i="io.element.video.member",r=new o.xu(null,s.EventType.GroupCallPrefix),a=new o.xu(null,s.EventType.GroupCallMemberPrefix)},"./src/components/structures/AutoHideScrollbar.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u});var s=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/react/index.js");const l=["element","className","onScroll","tabIndex","wrappedRef","children"];function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class u extends a.Component{constructor(...e){super(...e),(0,o.A)(this,"containerRef",a.createRef())}componentDidMount(){var e,t;this.containerRef.current&&this.props.onScroll&&this.containerRef.current.addEventListener("scroll",this.props.onScroll,{passive:!0}),null===(e=(t=this.props).wrappedRef)||void 0===e||e.call(t,this.containerRef.current)}componentWillUnmount(){var e,t;this.containerRef.current&&this.props.onScroll&&this.containerRef.current.removeEventListener("scroll",this.props.onScroll),null===(e=(t=this.props).wrappedRef)||void 0===e||e.call(t,null)}render(){const e=this.props,{element:t,className:n,onScroll:o,tabIndex:i,wrappedRef:c,children:u}=e,m=(0,s.A)(e,l);return a.createElement(t,d(d({},m),{},{ref:this.containerRef,className:r()("mx_AutoHideScrollbar",n),tabIndex:null!=i?i:-1}),u)}}(0,o.A)(u,"defaultProps",{element:"div"})},"./src/components/structures/ContextMenu.tsx"(e,t,n){"use strict";n.d(t,{t4:()=>j,VJ:()=>f.V,oW:()=>_.o,Dr:()=>b,K8:()=>E,sH:()=>A.s,HQ:()=>C,P$:()=>I,qv:()=>F,ps:()=>L,Gi:()=>V,t$:()=>B,Ay:()=>D,Dq:()=>U,EF:()=>H});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),r=n("./node_modules/react/index.js"),a=n("./node_modules/react-dom/index.js"),l=n("./node_modules/classnames/index.js"),c=n.n(l),d=n("./node_modules/react-focus-lock/dist/es2015/index.js"),u=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/TooltipProvider.js"),m=n("./src/stores/UIStore.ts"),p=n("./src/accessibility/RovingTabIndex.tsx"),h=n("./src/accessibility/KeyboardShortcuts.ts"),g=n("./src/KeyBindingsManager.ts"),v=n("./src/Modal.tsx"),f=n("./src/accessibility/context_menu/ContextMenuButton.tsx"),_=n("./src/accessibility/context_menu/ContextMenuTooltipButton.tsx");const y=["children","label"],b=e=>{let{children:t,label:n}=e,i=(0,o.A)(e,y);const a=i["aria-label"]||n;return r.createElement(p.k,(0,s.A)({},i,{role:"menuitem","aria-label":a}),t)},w=["children","label","active","disabled"],E=e=>{let{children:t,label:n,active:i,disabled:a}=e,l=(0,o.A)(e,w);return r.createElement(p.k,(0,s.A)({},l,{role:"menuitemcheckbox","aria-checked":i,"aria-disabled":a,disabled:a,"aria-label":n}),t)};var A=n("./src/accessibility/context_menu/MenuItemRadio.tsx"),x=n("./src/components/views/elements/StyledCheckbox.tsx");const S=["children","onChange","onClose"],C=e=>{let{children:t,onChange:n,onClose:i}=e,a=(0,o.A)(e,S);const[l,c,d]=(0,p.A9)();return r.createElement(x.A,(0,s.A)({},a,{role:"menuitemcheckbox",onChange:n,onKeyDown:e=>{let t=!0;switch((0,g.zM)().getAccessibilityAction(e)){case h.bY.Space:n();break;case h.bY.Enter:n(),i();break;default:t=!1}t&&(e.stopPropagation(),e.preventDefault())},onKeyUp:e=>{switch((0,g.zM)().getAccessibilityAction(e)){case h.bY.Space:case h.bY.Enter:e.stopPropagation(),e.preventDefault()}},onFocus:l,inputRef:d,tabIndex:c?0:-1}),t)};var k=n("./src/components/views/elements/StyledRadioButton.tsx");const R=["children","label","onChange","onClose"],I=e=>{let{children:t,label:n,onChange:i,onClose:a}=e,l=(0,o.A)(e,R);const[c,d,u]=(0,p.A9)();return r.createElement(k.A,(0,s.A)({},l,{role:"menuitemradio","aria-label":n,onChange:i,onKeyDown:e=>{let t=!0;switch((0,g.zM)().getAccessibilityAction(e)){case h.bY.Space:i();break;case h.bY.Enter:i(),a();break;default:t=!1}t&&(e.stopPropagation(),e.preventDefault())},onKeyUp:e=>{switch((0,g.zM)().getAccessibilityAction(e)){case h.bY.Enter:case h.bY.Space:e.stopPropagation(),e.preventDefault()}},onFocus:c,inputRef:u,tabIndex:d?0:-1}),t)};const P=["top","bottom","left","right","bottomAligned","rightAligned","menuClassName","menuHeight","menuWidth","menuPaddingLeft","menuPaddingRight","menuPaddingBottom","menuPaddingTop","zIndex","children","focusLock","managed","wrapperClassName","chevronFace","chevronOffset","mountAsChild"],T=["hasBackground","onFinished"];function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach(function(t){(0,i.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const N="mx_ContextualMenu_Container";let j=function(e){return e.Top="top",e.Bottom="bottom",e.Left="left",e.Right="right",e.None="none",e}({});class D extends r.PureComponent{constructor(e){super(e),(0,i.A)(this,"initialFocus",void 0),(0,i.A)(this,"onModalOpen",()=>{var e,t;null===(e=(t=this.props).onFinished)||void 0===e||e.call(t)}),(0,i.A)(this,"collectContextMenuRect",e=>{if(!e)return;const t=e.querySelector('[role^="menuitem"]')||e.querySelector("[tabindex]");t&&t.focus(),this.setState({contextMenuElem:e})}),(0,i.A)(this,"onContextMenu",e=>{if(this.props.onFinished){this.props.onFinished(),e.preventDefault(),e.stopPropagation();const t=e.clientX,n=e.clientY;setTimeout(()=>{var e;const s=new MouseEvent("contextmenu",{clientX:t,clientY:n,screenX:0,screenY:0,button:0,relatedTarget:null});null===(e=document.elementFromPoint(t,n))||void 0===e||e.dispatchEvent(s)},0)}}),(0,i.A)(this,"onContextMenuPreventBubbling",e=>{e.stopPropagation()}),(0,i.A)(this,"onFinished",e=>{var t,n;e.stopPropagation(),e.preventDefault(),null===(t=(n=this.props).onFinished)||void 0===t||t.call(n)}),(0,i.A)(this,"onClick",e=>{var t,n;(e.stopPropagation(),this.props.closeOnInteraction)&&(null===(t=(n=this.props).onFinished)||void 0===t||t.call(n))}),(0,i.A)(this,"onKeyDown",e=>{e.stopPropagation();const t=(0,g.zM)().getAccessibilityAction(e);this.props.managed?(0,p.L4)(e.target)&&t!==h.bY.Escape||[h.bY.Escape,h.bY.Tab,h.bY.ArrowLeft,h.bY.ArrowRight].includes(t)&&this.props.onFinished():t===h.bY.Escape&&this.props.onFinished()}),this.state={},this.initialFocus=document.activeElement}componentDidMount(){v.Ay.on(v.XM.Opened,this.onModalOpen)}componentWillUnmount(){v.Ay.off(v.XM.Opened,this.onModalOpen),this.initialFocus.focus()}renderMenu(e=this.props.hasBackground){const t={},n=this.props,{top:i,bottom:a,left:l,right:h,bottomAligned:g,rightAligned:v,menuClassName:f,menuHeight:_,menuWidth:y,menuPaddingLeft:b,menuPaddingRight:w,menuPaddingBottom:E,menuPaddingTop:A,zIndex:x,children:S,focusLock:C,managed:k,wrapperClassName:R,chevronFace:I,chevronOffset:O,mountAsChild:N}=n,D=(0,o.A)(n,P);let U;i?t.top=i:t.bottom=a,l?(t.left=l,U=j.Left):(t.right=h,U=j.Right);const F=this.state.contextMenuElem?this.state.contextMenuElem.getBoundingClientRect():null,L={};I&&(U=I);const B=U&&U!==j.None;U===j.Top||U===j.Bottom?L.left=O:L.top=O;const{windowWidth:V,windowHeight:H}=m.A.instance;if(F){if(void 0!==t.top){let e=H-10;g||(e-=F.height),t.top=Math.min(t.top,e),void 0!==L.top&&(L.top=O+i-t.top)}else void 0!==t.bottom&&(t.bottom=Math.min(t.bottom,H-F.height-10),void 0!==L.top&&(L.top=O+t.bottom-a));if(void 0!==t.left){let e=V-10;v||(e-=F.width),t.left=Math.min(t.left,e),void 0!==L.left&&(L.left=O+l-t.left)}else void 0!==t.right&&(t.right=Math.min(t.right,V-F.width-10),void 0!==L.left&&(L.left=O+t.right-h))}let z;B&&(z=r.createElement("div",{style:L,className:"mx_ContextualMenu_chevron_"+U}));const W=c()({mx_ContextualMenu:!0,mx_ContextualMenu_left:!B&&void 0!==t.left&&!t.right,mx_ContextualMenu_right:!B&&void 0!==t.right&&!t.left,mx_ContextualMenu_top:!B&&void 0!==t.top&&!t.bottom,mx_ContextualMenu_bottom:!B&&void 0!==t.bottom&&!t.top,mx_ContextualMenu_withChevron_left:U===j.Left,mx_ContextualMenu_withChevron_right:U===j.Right,mx_ContextualMenu_withChevron_top:U===j.Top,mx_ContextualMenu_withChevron_bottom:U===j.Bottom,mx_ContextualMenu_rightAligned:!0===v,mx_ContextualMenu_bottomAligned:!0===g},f),K={};y&&(K.width=y),_&&(K.height=_),isNaN(Number(A))||(K.paddingTop=A),isNaN(Number(b))||(K.paddingLeft=b),isNaN(Number(E))||(K.paddingBottom=E),isNaN(Number(w))||(K.paddingRight=w);const $={};let J;isNaN(Number(x))||(K.zIndex=x+1,$.zIndex=x),e&&(J=r.createElement("div",{className:"mx_ContextualMenu_background",style:$,onClick:this.onFinished,onContextMenu:this.onContextMenu}));let G=r.createElement(r.Fragment,null,z,S);C&&(G=r.createElement(d.Ay,{returnFocus:!0},G));const{hasBackground:q,onFinished:Y}=D,Z=(0,o.A)(D,T);return r.createElement(p.Se,{handleHomeEnd:!0,handleUpDown:!0,onKeyDown:this.onKeyDown},({onKeyDownHandler:e})=>r.createElement("div",{className:c()("mx_ContextualMenu_wrapper",R),style:M(M({},t),$),onClick:this.onClick,onKeyDown:e,onContextMenu:this.onContextMenuPreventBubbling},J,r.createElement(u.B,null,r.createElement("div",(0,s.A)({className:W,style:K,ref:this.collectContextMenuRect,role:k?"menu":void 0},Z),G))))}render(){return this.props.mountAsChild?this.renderMenu():a.createPortal(this.renderMenu(),function(){let e=document.getElementById(N);return e||(e=document.createElement("div"),e.id=N,document.body.appendChild(e)),e}())}}(0,i.A)(D,"defaultProps",{hasBackground:!0,managed:!0});const U=(e,t=12)=>{const n=e.right+window.scrollX+3;let s=e.top+e.height/2+window.scrollY;return s-=t+8,{left:n,top:s,chevronOffset:t}},F=(e,t=j.None,n=0)=>{const s={chevronFace:t},o=e.right+window.scrollX,i=e.bottom+window.scrollY,r=e.top+window.scrollY;return s.right=m.A.instance.windowWidth-o,i<m.A.instance.windowHeight/2?s.top=i+n:s.bottom=m.A.instance.windowHeight-r+n,s},L=(e,t=j.None,n=0)=>{const s={chevronFace:t},o=e.left+window.scrollX,i=e.bottom+window.scrollY,r=e.top+window.scrollY;return s.left=o,i<m.A.instance.windowHeight/2?s.top=i+n:s.bottom=m.A.instance.windowHeight-r+n,s},B=(e,t=j.None,n=0)=>{const s={chevronFace:t},o=e.right+window.scrollX,i=e.top+window.scrollY;return s.right=m.A.instance.windowWidth-o,s.bottom=m.A.instance.windowHeight-i+n,s},V=(e,t=j.None,n=0)=>{const s={chevronFace:t},o=e.left+window.scrollX,i=e.top+window.scrollY;return s.left=o,s.bottom=m.A.instance.windowHeight-i+n,s},H=e=>{let t=(0,r.useRef)(null);e&&(t=e);const[n,s]=(0,r.useState)(!1);return[!!t.current&&n,t,e=>{null==e||e.preventDefault(),null==e||e.stopPropagation(),s(!0)},e=>{null==e||e.preventDefault(),null==e||e.stopPropagation(),s(!1)},s]}},"./src/components/structures/InteractiveAuth.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d,R:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/interactive-auth.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/components/views/auth/InteractiveAuthEntryComponents.tsx"),l=n("./src/components/views/elements/Spinner.tsx");const c=new Error("User cancelled auth session");class d extends o.Component{constructor(e){super(e),(0,s.A)(this,"authLogic",void 0),(0,s.A)(this,"stageComponent",(0,o.createRef)()),(0,s.A)(this,"intervalId",null),(0,s.A)(this,"unmounted",!1),(0,s.A)(this,"requestEmailToken",async(e,t,n,s)=>{this.setState({busy:!0});try{return await this.props.requestEmailToken(e,t,n,s)}finally{this.setState({busy:!1})}}),(0,s.A)(this,"authStateUpdated",(e,t)=>{const n=this.state.authStage;this.setState({busy:!1,authStage:e,stageState:t,errorText:t.error,errorCode:t.errcode},()=>{if(n!==e)this.setFocus();else if(!t.error){var s,o;null===(s=this.stageComponent.current)||void 0===s||null===(o=s.attemptFailed)||void 0===o||o.call(s)}})}),(0,s.A)(this,"requestCallback",(e,t)=>this.props.makeRequest(e)),(0,s.A)(this,"onBusyChanged",e=>{e&&this.setState({busy:!0,errorText:void 0,errorCode:void 0}),e||this.state.authStage!==i.hT.Sso&&this.state.authStage!==i.hT.SsoUnstable||this.setState({busy:e})}),(0,s.A)(this,"submitAuthDict",e=>{this.authLogic.submitAuthDict(e)}),(0,s.A)(this,"onPhaseChange",e=>{var t,n,s;null===(t=(n=this.props).onStagePhaseChange)||void 0===t||t.call(n,null!==(s=this.state.authStage)&&void 0!==s?s:null,e||0)}),(0,s.A)(this,"onStageCancel",async()=>{await this.props.onAuthFinished(!1,c)}),(0,s.A)(this,"onAuthStageFailed",async e=>{await this.props.onAuthFinished(!1,e)}),(0,s.A)(this,"setEmailSid",e=>{this.authLogic.setEmailSid(e)}),this.state={busy:!1,submitButtonEnabled:!1},this.authLogic=new i.Lh({authData:this.props.authData,doRequest:this.requestCallback,busyChanged:this.onBusyChanged,inputs:this.props.inputs,stateUpdated:this.authStateUpdated,matrixClient:this.props.matrixClient,sessionId:this.props.sessionId,clientSecret:this.props.clientSecret,emailSid:this.props.emailSid,requestEmailToken:this.requestEmailToken,supportedStages:[i.hT.Password,i.hT.Recaptcha,i.hT.Email,i.hT.Msisdn,i.hT.Terms,i.hT.RegistrationToken,i.hT.UnstableRegistrationToken,i.hT.Sso,i.hT.SsoUnstable,i.hT.OAuth,a.WM.MasCrossSigningReset]})}componentDidMount(){this.unmounted=!1,this.props.poll&&(this.intervalId=window.setInterval(()=>{this.authLogic.poll()},2e3)),this.authLogic.attemptAuth().then(async e=>{const t={emailSid:this.authLogic.getEmailSid(),clientSecret:this.authLogic.getClientSecret()};await this.props.onAuthFinished(!0,e,t)}).catch(async e=>{if(await this.props.onAuthFinished(!1,e),r.vF.error("Error during user-interactive auth:",e),this.unmounted)return;const t=e.message||e.toString();this.setState({errorText:t,errorCode:e.errcode})})}componentWillUnmount(){this.unmounted=!0,null!==this.intervalId&&clearInterval(this.intervalId)}setFocus(){var e,t;null===(e=this.stageComponent.current)||void 0===e||null===(t=e.focus)||void 0===t||t.call(e)}render(){const e=this.state.authStage;if(!e)return this.state.busy?o.createElement(l.A,null):null;const t=(0,a.Ay)(e);return o.createElement(t,{ref:this.stageComponent,loginType:e,matrixClient:this.props.matrixClient,authSessionId:this.authLogic.getSessionId(),clientSecret:this.authLogic.getClientSecret(),stageParams:this.authLogic.getStageParams(e),submitAuthDict:this.submitAuthDict,errorText:this.state.errorText,errorCode:this.state.errorCode,busy:this.state.busy,inputs:this.props.inputs,stageState:this.state.stageState,fail:this.onAuthStageFailed,setEmailSid:this.setEmailSid,onPhaseChange:this.onPhaseChange,requestEmailToken:this.authLogic.requestEmailToken,continueText:this.props.continueText,continueKind:this.props.continueKind,onCancel:this.onStageCancel})}}},"./src/components/structures/LegacyCallEventGrouper.ts"(e,t,n){"use strict";n.d(t,{Cj:()=>c,fN:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/webrtc/call.ts"),r=n("./node_modules/events/events.js"),a=n("./src/LegacyCallHandler.tsx"),l=n("./src/MatrixClientPeg.ts");let c=function(e){return e.StateChanged="state_changed",e.SilencedChanged="silenced_changed",e.LengthChanged="length_changed",e}({});const d=[i.iP.Connecting,i.iP.WaitLocalMedia,i.iP.CreateOffer,i.iP.CreateAnswer],u=[i.iP.Connected,i.iP.Ringing,i.iP.Ended];function m(e,t){const n=new Map;return null==t||t.forEach(t=>{if(!(s=t.getType()).startsWith("m.call.")&&!s.startsWith("org.matrix.call."))return;var s;const o=t.getContent().call_id;n.has(o)||(e.has(o)?n.set(o,e.get(o)):n.set(o,new p)),n.get(o).add(t)}),n}class p extends r.EventEmitter{constructor(){super(),(0,s.A)(this,"events",new Set),(0,s.A)(this,"call",null),(0,s.A)(this,"state",void 0),(0,s.A)(this,"onSilencedCallsChanged",()=>{const e=a.Ay.instance.isCallSilenced(this.callId);this.emit(c.SilencedChanged,e)}),(0,s.A)(this,"onLengthChanged",e=>{this.emit(c.LengthChanged,e)}),(0,s.A)(this,"answerCall",()=>{const e=this.roomId;e&&a.Ay.instance.answerCall(e)}),(0,s.A)(this,"rejectCall",()=>{const e=this.roomId;e&&a.Ay.instance.hangupOrReject(e,!0)}),(0,s.A)(this,"callBack",()=>{const e=this.roomId;e&&a.Ay.instance.placeCall(e,this.isVoice?i.JG.Voice:i.JG.Video)}),(0,s.A)(this,"toggleSilenced",()=>{a.Ay.instance.isCallSilenced(this.callId)?a.Ay.instance.unSilenceCall(this.callId):a.Ay.instance.silenceCall(this.callId)}),(0,s.A)(this,"setState",()=>{this.call&&d.includes(this.call.state)?this.state=i.iP.Connecting:this.call&&u.includes(this.call.state)?this.state=this.call.state:this.reject||this.hangup?this.state=i.iP.Ended:this.invite&&this.call&&(this.state=i.iP.Connecting),this.emit(c.StateChanged,this.state)}),(0,s.A)(this,"setCall",()=>{const e=this.callId;e&&!this.call&&(this.call=a.Ay.instance.getCallById(e),this.setCallListeners(),this.setState())}),a.Ay.instance.addListener(a.uv.CallsChanged,this.setCall),a.Ay.instance.addListener(a.uv.SilencedCallsChanged,this.onSilencedCallsChanged)}get invite(){return[...this.events].find(e=>e.getType()===o.EventType.CallInvite)}get hangup(){return[...this.events].find(e=>e.getType()===o.EventType.CallHangup)}get reject(){return[...this.events].find(e=>e.getType()===o.EventType.CallReject)}get selectAnswer(){return[...this.events].find(e=>e.getType()===o.EventType.CallSelectAnswer)}get isVoice(){var e;const t=this.invite;if(t)return-1===(null===(e=t.getContent())||void 0===e||null===(e=e.offer)||void 0===e||null===(e=e.sdp)||void 0===e?void 0:e.indexOf("m=video"))}get hangupReason(){var e,t,n,s;return null!==(e=null!==(t=null===(n=this.call)||void 0===n?void 0:n.hangupReason)&&void 0!==t?t:null===(s=this.hangup)||void 0===s||null===(s=s.getContent())||void 0===s?void 0:s.reason)&&void 0!==e?e:null}get rejectParty(){var e;return null===(e=this.reject)||void 0===e?void 0:e.getSender()}get gotRejected(){return Boolean(this.reject)}get duration(){var e,t;return null!==(e=this.hangup)&&void 0!==e&&e.getDate()&&null!==(t=this.selectAnswer)&&void 0!==t&&t.getDate()?this.hangup.getDate().getTime()-this.selectAnswer.getDate().getTime():null}get callWasMissed(){return this.state===i.iP.Ended&&![...this.events].some(e=>{var t;return(null===(t=e.sender)||void 0===t?void 0:t.userId)===l.J.safeGet().getUserId()})}get callId(){var e;return null===(e=[...this.events][0])||void 0===e||null===(e=e.getContent())||void 0===e?void 0:e.call_id}get roomId(){var e;return null===(e=[...this.events][0])||void 0===e?void 0:e.getRoomId()}setCallListeners(){this.call&&(this.call.addListener(i.$E.State,this.setState),this.call.addListener(i.$E.LengthChanged,this.onLengthChanged))}add(e){this.events.has(e)||(this.events.add(e),this.setCall())}}},"./src/components/structures/ScrollPanel.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/settings/SettingsStore.ts"),a=n("./src/utils/Timer.ts"),l=n("./src/components/structures/AutoHideScrollbar.tsx"),c=n("./src/KeyBindingsManager.ts"),d=n("./src/accessibility/KeyboardShortcuts.ts"),u=n("./src/contexts/SDKContext.ts");const m=(...e)=>{r.A.getValue("debug_scroll_panel")&&i.vF.log.call(console,"ScrollPanel debuglog:",...e)};class p extends o.Component{constructor(e,t){super(e,t),(0,s.A)(this,"pendingFillRequests",{b:null,f:null}),(0,s.A)(this,"itemlist",(0,o.createRef)()),(0,s.A)(this,"unmounted",!1),(0,s.A)(this,"scrollTimeout",void 0),(0,s.A)(this,"isFilling",!1),(0,s.A)(this,"isFillingDueToPropsUpdate",!1),(0,s.A)(this,"fillRequestWhileRunning",!1),(0,s.A)(this,"pendingFillDueToPropsUpdate",!1),(0,s.A)(this,"scrollState",void 0),(0,s.A)(this,"preventShrinkingState",null),(0,s.A)(this,"unfillDebouncer",null),(0,s.A)(this,"bottomGrowth",void 0),(0,s.A)(this,"minListHeight",void 0),(0,s.A)(this,"heightUpdateInProgress",!1),(0,s.A)(this,"divScroll",null),(0,s.A)(this,"onScroll",e=>{var t,n,s,o;null!==(t=this.context)&&void 0!==t&&t.resizeNotifier&&this.context.resizeNotifier.isResizing||(m("onScroll called past resize gate; scroll node top:",this.getScrollNode().scrollTop),null===(n=this.scrollTimeout)||void 0===n||n.restart(),this.saveScrollState(),this.updatePreventShrinking(),null===(s=(o=this.props).onScroll)||void 0===s||s.call(o,e),this.checkFillState())}),(0,s.A)(this,"onResize",()=>{m("onResize called"),this.checkScroll(),this.preventShrinkingState&&this.preventShrinking()}),(0,s.A)(this,"checkScroll",(e=!1)=>{this.unmounted||(this.restoreSavedScrollState(),this.checkFillState(0,e))}),(0,s.A)(this,"isAtBottom",()=>{const e=this.getScrollNode();return e.scrollHeight-(e.scrollTop+e.clientHeight)<=1}),(0,s.A)(this,"checkFillState",async(e=0,t=!1)=>{if(this.unmounted)return;const n=0===e,s=this.getScrollNode();if(n){if(this.isFilling&&!this.isFillingDueToPropsUpdate)return m("isFilling: not entering while request is ongoing, marking for a subsequent request"),this.fillRequestWhileRunning=!0,void(this.pendingFillDueToPropsUpdate=t);m("isFilling: setting"),this.isFilling=!0,this.isFillingDueToPropsUpdate=t}const o=this.itemlist.current,r=null==o?void 0:o.firstElementChild,a=[];if((!r||s.scrollTop-r.offsetTop<s.clientHeight)&&a.push(this.maybeFill(e,!0)),s.scrollHeight-s.scrollTop<2*s.clientHeight&&a.push(this.maybeFill(e,!1)),a.length)try{await Promise.all(a)}catch(e){i.vF.error(e)}if(n&&(m("isFilling: clearing"),this.isFilling=!1,this.isFillingDueToPropsUpdate=!1),this.fillRequestWhileRunning){const e=this.pendingFillDueToPropsUpdate;this.fillRequestWhileRunning=!1,this.pendingFillDueToPropsUpdate=!1,this.checkFillState(0,e)}}),(0,s.A)(this,"getScrollState",()=>this.scrollState),(0,s.A)(this,"resetScrollState",()=>{this.scrollState={stuckAtBottom:this.props.startAtBottom},this.bottomGrowth=0,this.minListHeight=0,this.scrollTimeout=new a.A(100),this.heightUpdateInProgress=!1}),(0,s.A)(this,"scrollToTop",()=>{this.getScrollNode().scrollTop=0,this.saveScrollState()}),(0,s.A)(this,"scrollToBottom",()=>{const e=this.getScrollNode();e.scrollTop=e.scrollHeight,this.saveScrollState()}),(0,s.A)(this,"scrollRelative",e=>{const t=this.getScrollNode(),n=e*t.clientHeight*.9;t.scrollBy(0,n),this.saveScrollState()}),(0,s.A)(this,"handleScrollKey",e=>{switch((0,c.zM)().getRoomAction(e)){case d.bY.ScrollUp:this.scrollRelative(-1);break;case d.bY.ScrollDown:this.scrollRelative(1);break;case d.bY.JumpToFirstMessage:this.scrollToTop();break;case d.bY.JumpToLatestMessage:this.scrollToBottom()}}),(0,s.A)(this,"scrollToToken",(e,t=0,n=0)=>{this.scrollState={stuckAtBottom:!1,trackedScrollToken:e};const s=this.getTrackedNode(),o=this.getScrollNode();s&&(m("scrollToken: setting scrollTop",{offsetBase:n,pixelOffset:t,offsetTop:s.offsetTop}),o.scrollTop=s.offsetTop-o.clientHeight*n+t,this.saveScrollState())}),(0,s.A)(this,"collectScroll",e=>{this.divScroll=e}),(0,s.A)(this,"preventShrinking",()=>{const e=this.itemlist.current,t=null==e?void 0:e.children;if(!t)return;let n;for(let e=t.length-1;e>=0;e--){const s=t[e];if(s.dataset.scrollTokens){n=s;break}}if(!n)return;this.clearPreventShrinking();const s=e.clientHeight-(n.offsetTop+n.clientHeight);this.preventShrinkingState={offsetFromBottom:s,offsetNode:n},m("prevent shrinking, last tile ",s,"px from bottom")}),(0,s.A)(this,"clearPreventShrinking",()=>{const e=this.itemlist.current,t=e&&e.parentElement;t&&t.style.removeProperty("paddingBottom"),this.preventShrinkingState=null,m("prevent shrinking cleared")}),(0,s.A)(this,"updatePreventShrinking",()=>{if(this.preventShrinkingState&&this.itemlist.current){const e=this.getScrollNode(),t=this.scrollState,n=this.itemlist.current,{offsetNode:s,offsetFromBottom:o}=this.preventShrinkingState,i=n.parentElement;let r=!s.parentElement;if(!r&&!t.stuckAtBottom){r=e.scrollHeight-(e.scrollTop+e.clientHeight)>=200}if(!r){const e=o-(n.clientHeight-(s.offsetTop+s.clientHeight));e>0&&i?(i.style.paddingBottom=`${e}px`,m("update prevent shrinking ",e,"px from bottom")):e<0&&(r=!0)}r&&this.clearPreventShrinking()}}),this.resetScrollState()}componentDidMount(){var e;this.unmounted=!1,null===(e=this.context)||void 0===e||null===(e=e.resizeNotifier)||void 0===e||e.on("middlePanelResizedNoisy",this.onResize),this.checkScroll()}componentDidUpdate(){this.checkScroll(!0),this.updatePreventShrinking()}componentWillUnmount(){var e;this.unmounted=!0,null===(e=this.context)||void 0===e||null===(e=e.resizeNotifier)||void 0===e||e.removeListener("middlePanelResizedNoisy",this.onResize),this.divScroll=null}getExcessHeight(e){const t=this.getScrollNode(),n=this.getMessagesHeight(),s=n-this.getListHeight(),o=t.scrollTop+s;return e?o-t.clientHeight-6e3:n-(o+2*t.clientHeight)-6e3}checkUnfillState(e){let t=this.getExcessHeight(e);if(t<=0||!this.itemlist.current)return;const n=t,s=this.itemlist.current.children;let o,i=null;for(let n=0;n<s.length&&(o=s[e?n:s.length-1-n],t-=o.clientHeight,!(o.clientHeight>t));n++)o.dataset.scrollTokens&&(i=o.dataset.scrollTokens.split(",")[0]);i&&(this.unfillDebouncer&&clearTimeout(this.unfillDebouncer),this.unfillDebouncer=window.setTimeout(()=>{var t,s;this.unfillDebouncer=null,m("unfilling now",{backwards:e,origExcessHeight:n}),null===(t=(s=this.props).onUnfillRequest)||void 0===t||t.call(s,e,i)},200))}maybeFill(e,t){const n=t?"b":"f";return this.pendingFillRequests[n]?(m("Already a fill in progress - not starting another; direction=",n),Promise.resolve()):(m("starting fill; direction=",n),this.pendingFillRequests[n]=!0,new Promise(e=>window.setTimeout(e,1)).then(()=>{var e,n;return null===(e=(n=this.props).onFillRequest)||void 0===e?void 0:e.call(n,t)}).finally(()=>{this.pendingFillRequests[n]=!1}).then(s=>{if(!this.unmounted)return this.checkUnfillState(!t),m("fill complete; hasMoreResults=",s,"direction=",n),s?this.checkFillState(e+1):void 0}))}saveScrollState(){var e;if(this.props.stickyBottom&&this.isAtBottom())return this.scrollState={stuckAtBottom:!0},void m("saved stuckAtBottom state");const t=this.getScrollNode(),n=t.scrollHeight-(t.scrollTop+t.clientHeight),s=this.itemlist.current;if(!s)return;const o=s.children;let i=null;for(let e=o.length-1;e>=0;--e){var r;const t=o[e];if(null!==(r=t.dataset)&&void 0!==r&&r.scrollTokens&&(i=t,this.topFromBottom(i)>n))break}if(!i)return void m("unable to save scroll state: found no children in the viewport");const a=null===(e=i.dataset.scrollTokens)||void 0===e?void 0:e.split(",")[0];m("saving anchored scroll state to message",a);const l=this.topFromBottom(i);this.scrollState={stuckAtBottom:!1,trackedNode:i,trackedScrollToken:a,bottomOffset:l,pixelOffset:l-n}}async restoreSavedScrollState(){const e=this.scrollState;if(e.stuckAtBottom){const e=this.getScrollNode();e.scrollTop!==e.scrollHeight&&(e.scrollTop=e.scrollHeight)}else if(e.trackedScrollToken){const n=this.itemlist.current,s=this.getTrackedNode();if(s){var t;const o=this.topFromBottom(s),i=o-(null!==(t=e.bottomOffset)&&void 0!==t?t:0);this.bottomGrowth+=i,e.bottomOffset=o;const r=`${this.getListHeight()}px`;n&&n.style.height!==r&&(n.style.height=r),m("balancing height because messages below viewport grew by",i)}}if(this.heightUpdateInProgress)m("not updating height because request already in progress");else{this.heightUpdateInProgress=!0;try{await this.updateHeight()}finally{this.heightUpdateInProgress=!1}}}async updateHeight(){var e;if(null!==(e=this.scrollTimeout)&&void 0!==e&&e.isRunning()?(m("updateHeight waiting for scrolling to end ... "),await this.scrollTimeout.finished(),m("updateHeight actually running now")):m("updateHeight running without delay"),this.unmounted)return void m("updateHeight: abort due to unmount");const t=this.getScrollNode(),n=this.itemlist.current,s=this.getMessagesHeight();s<t.clientHeight?this.minListHeight=t.clientHeight:this.minListHeight=400*Math.ceil(s/400),this.bottomGrowth=0;const o=`${this.getListHeight()}px`,i=this.scrollState;if(i.stuckAtBottom)n&&n.style.height!==o&&(n.style.height=o),t.scrollTop!==t.scrollHeight&&(t.scrollTop=t.scrollHeight),m("updateHeight to",o);else if(i.trackedScrollToken){const e=this.getTrackedNode();if(e){const s=e.offsetTop;n&&n.style.height!==o&&(n.style.height=o);const i=e.offsetTop-s;t.scrollBy(0,i),m("updateHeight to",{newHeight:o,topDiff:i})}}}getTrackedNode(){const e=this.scrollState,t=e.trackedNode;if((null==t||!t.parentElement)&&this.itemlist.current){let t;const s=this.itemlist.current.children,o=e.trackedScrollToken;for(let e=s.length-1;e>=0;--e){var n;const i=s[e];if(o&&null!==(n=i.dataset.scrollTokens)&&void 0!==n&&n.split(",").includes(o)){t=i;break}}t&&m("had to find tracked node again for token:",e.trackedScrollToken),e.trackedNode=t}if(e.trackedNode)return e.trackedNode;m("No node with token:",e.trackedScrollToken)}getListHeight(){return this.bottomGrowth+this.minListHeight}getMessagesHeight(){var e,t;const n=this.itemlist.current,s=null==n?void 0:n.lastElementChild;return(s?s.offsetTop+s.clientHeight:0)-(null!==(e=null==n||null===(t=n.firstElementChild)||void 0===t?void 0:t.offsetTop)&&void 0!==e?e:0)+36}topFromBottom(e){return this.itemlist.current?this.itemlist.current.clientHeight-e.offsetTop:-1}getScrollNode(){if(this.unmounted)throw new Error("ScrollPanel.getScrollNode called when unmounted");if(!this.divScroll)throw new Error("ScrollPanel.getScrollNode called before AutoHideScrollbar ref collected");return this.divScroll}render(){return o.createElement(l.A,{wrappedRef:this.collectScroll,onScroll:this.onScroll,className:`mx_ScrollPanel ${this.props.className}`,style:this.props.style},this.props.fixedChildren,o.createElement("div",{className:"mx_RoomView_messageListWrapper"},o.createElement("ol",{ref:this.itemlist,className:"mx_RoomView_MessageList","aria-live":"polite"},this.props.children)))}}(0,s.A)(p,"defaultProps",{stickyBottom:!0,startAtBottom:!0,onFillRequest:function(e){return Promise.resolve(!1)},onUnfillRequest:function(e,t){},onScroll:function(){}}),(0,s.A)(p,"contextType",u.A)},"./src/components/structures/SearchBox.tsx"(e,t,n){"use strict";n.d(t,{A:()=>g});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),r=n("./node_modules/react/index.js"),a=n("./node_modules/lodash/throttle.js"),l=n("./node_modules/classnames/index.js"),c=n.n(l),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),u=n("./src/components/views/elements/AccessibleButton.tsx"),m=n("./src/KeyBindingsManager.ts"),p=n("./src/accessibility/KeyboardShortcuts.ts");const h=["onSearch","onCleared","onKeyDown","onFocus","onBlur","className","placeholder","blurredPlaceholder","autoFocus","initialValue","collapsed"];class g extends r.Component{constructor(e){super(e),(0,i.A)(this,"search",(0,r.createRef)()),(0,i.A)(this,"onChange",()=>{this.search.current&&(this.setState({searchTerm:this.search.current.value}),this.onSearch())}),(0,i.A)(this,"onSearch",(0,a.A)(()=>{var e,t;this.props.onSearch(null!==(e=null===(t=this.search.current)||void 0===t?void 0:t.value)&&void 0!==e?e:"")},200,{trailing:!0,leading:!0})),(0,i.A)(this,"onKeyDown",e=>{if((0,m.zM)().getAccessibilityAction(e)===p.bY.Escape)this.clearSearch("keyboard");this.props.onKeyDown&&this.props.onKeyDown(e)}),(0,i.A)(this,"onFocus",e=>{this.setState({blurred:!1}),e.target.select(),this.props.onFocus&&this.props.onFocus(e)}),(0,i.A)(this,"onBlur",e=>{this.setState({blurred:!0}),this.props.onBlur&&this.props.onBlur(e)}),this.state={searchTerm:e.initialValue||"",blurred:!0}}clearSearch(e){var t,n;this.search.current&&(this.search.current.value=""),this.onChange(),null===(t=(n=this.props).onCleared)||void 0===t||t.call(n,e)}render(){const e=this.props,{onSearch:t,onCleared:n,onKeyDown:i,onFocus:a,onBlur:l,className:m="",placeholder:p,blurredPlaceholder:g,autoFocus:v,initialValue:f,collapsed:_}=e,y=(0,o.A)(e,h);if(_)return null;const b=!this.state.blurred||this.state.searchTerm?r.createElement(u.A,{key:"button",tabIndex:-1,className:"mx_SearchBox_closeButton",onClick:()=>{this.clearSearch("button")}},r.createElement(d.A,null)):void 0;return r.createElement("div",{className:c()("mx_SearchBox","mx_textinput",{mx_SearchBox_blurred:this.state.blurred})},r.createElement("input",(0,s.A)({},y,{key:"searchfield",type:"text",ref:this.search,className:"mx_textinput_icon mx_textinput_search "+m,value:this.state.searchTerm,onFocus:this.onFocus,onChange:this.onChange,onKeyDown:this.onKeyDown,onBlur:this.onBlur,placeholder:this.state.blurred&&g||p,autoComplete:"off",autoFocus:this.props.autoFocus})),b)}}},"./src/components/structures/SpacePillButton.tsx"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/react/index.js"),o=n("./src/components/views/elements/AccessibleButton.tsx");const i=({title:e,icon:t,description:n,onClick:i})=>s.createElement(o.A,{className:"mx_SpacePillButton",onClick:i},t,e,s.createElement("div",null,n))},"./src/components/structures/TabbedView.tsx"(e,t,n){"use strict";n.d(t,{oz:()=>u,lX:()=>p,Ay:()=>f,yz:()=>m});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./src/languageHandler.tsx"),a=n("./src/components/structures/AutoHideScrollbar.tsx"),l=n("./src/PosthogTrackers.ts"),c=n("./src/accessibility/RovingTabIndex.tsx"),d=n("./src/stores/UIStore.ts");class u{constructor(e,t,n,s,o,i){this.id=e,this.label=t,this.icon=n,this.body=s,this.screenName=o,this.labelClassName=i}}function m(e,t,n){const[o,i]=s.useState(n&&e.some(e=>e.id===n)?n:t);return[o,i]}let p=function(e){return e.LEFT="left",e.TOP="top",e}({});function h(e){return`mx_tabpanel_${e}`}function g({tab:e}){return s.createElement("div",{className:"mx_TabbedView_tabPanel",key:e.id,id:h(e.id),"aria-labelledby":`${h(e.id)}_label`},s.createElement(a.A,{className:"mx_TabbedView_tabPanelContent"},e.body))}function v({tab:e,isActive:t,showToolip:n,onClick:o}){const a=i()("mx_TabbedView_tabLabel",e.labelClassName,{mx_TabbedView_tabLabel_active:t});let l;e.icon&&(l=e.icon);const d=h(e.id),u=(0,r._t)(e.label);return s.createElement(c.k,{className:a,onClick:o,role:"tab","aria-selected":t,"aria-controls":d,element:"li",title:n?u:void 0},l,s.createElement("span",{className:"mx_TabbedView_tabLabel_text",id:`${d}_label`},u))}function f(e){var t,n;const o=null!==(t=e.tabLocation)&&void 0!==t?t:p.LEFT,r=(()=>{const[e,t]=s.useState(d.A.instance.windowWidth);return s.useEffect(()=>(d.A.instance.on(d.x.Resize,()=>{t(d.A.instance.windowWidth)}),()=>{d.A.instance.removeListener(d.x.Resize,()=>{t(d.A.instance.windowWidth)})}),[]),e})(),a=e.tabs.map(t=>s.createElement(v,{key:"tab_label_"+t.id,tab:t,isActive:t.id===e.activeTabId,onClick:()=>e.onChange(t.id),showToolip:r<1024&&o==p.LEFT})),u=(m=e.activeTabId,e.tabs.find(e=>e.id===m));var m;const h=u?s.createElement(g,{tab:u}):null,f=i()({mx_TabbedView:!0,mx_TabbedView_tabsOnLeft:o==p.LEFT,mx_TabbedView_tabsOnTop:o==p.TOP,mx_TabbedView_responsive:e.responsive}),_=null!==(n=null==u?void 0:u.screenName)&&void 0!==n?n:e.screenName;return s.createElement("div",{className:f},_&&s.createElement(l.Z,{screenName:_}),s.createElement(c.Se,{handleLoop:!0,handleHomeEnd:!0,handleLeftRight:o==p.TOP,handleUpDown:o==p.LEFT},({onKeyDownHandler:e})=>s.createElement("ul",{className:"mx_TabbedView_tabLabels",role:"tablist","aria-orientation":o==p.LEFT?"vertical":"horizontal",onKeyDown:e},a)),h)}},"./src/components/structures/ViewSource.tsx"(e,t,n){"use strict";n.d(t,{A:()=>g});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/components/views/elements/SyntaxHighlight.tsx"),r=n("./src/languageHandler.tsx"),a=n("./src/contexts/MatrixClientContext.tsx"),l=n("./src/utils/EventUtils.ts"),c=n("./src/MatrixClientPeg.ts"),d=n("./src/components/views/dialogs/BaseDialog.tsx"),u=n("./src/components/views/dialogs/devtools/BaseTool.tsx"),m=n("./src/components/views/dialogs/devtools/RoomState.tsx"),p=n("./src/components/views/dialogs/devtools/Event.tsx"),h=n("./src/components/views/elements/CopyableText.tsx");class g extends o.Component{constructor(e){super(e),(0,s.A)(this,"onBack",()=>{this.setState({isEditing:!1})}),this.state={isEditing:!1}}onEdit(){this.setState({isEditing:!0})}viewSourceContent(){let e=this.props.mxEvent.replacingEvent()||this.props.mxEvent;this.props.ignoreEdits&&(e=this.props.mxEvent);const t=e.isEncrypted(),n=e.clearEvent,s=e.event,a=()=>(0,p.As)(s);if(t){const e=()=>(0,p.As)(n||{});return o.createElement(o.Fragment,null,o.createElement("details",{open:!0,className:"mx_ViewSource_details"},o.createElement("summary",null,o.createElement("span",{className:"mx_ViewSource_heading"},(0,r._t)("devtools|view_source_decrypted_event_source"))),n?o.createElement(h.A,{getTextToCopy:e},o.createElement(i.A,{language:"json"},(0,p.As)(n))):o.createElement("div",null,(0,r._t)("devtools|view_source_decrypted_event_source_unavailable"))),o.createElement("details",{className:"mx_ViewSource_details"},o.createElement("summary",null,o.createElement("span",{className:"mx_ViewSource_heading"},(0,r._t)("devtools|original_event_source"))),o.createElement(h.A,{getTextToCopy:a},o.createElement(i.A,{language:"json"},(0,p.As)(s)))))}return o.createElement(o.Fragment,null,o.createElement("div",{className:"mx_ViewSource_heading"},(0,r._t)("devtools|original_event_source")),o.createElement(h.A,{getTextToCopy:a},o.createElement(i.A,{language:"json"},(0,p.As)(s))))}editSourceContent(){const e=this.props.mxEvent.replacingEvent()||this.props.mxEvent,t=e.isState(),n=e.getRoomId();return t?o.createElement(a.Ay.Consumer,null,t=>o.createElement(u.I.Provider,{value:{room:t.getRoom(n)}},o.createElement(m.N,{onBack:this.onBack,mxEvent:e}))):o.createElement(a.Ay.Consumer,null,t=>o.createElement(u.I.Provider,{value:{room:t.getRoom(n)}},o.createElement(p.lv,{onBack:this.onBack,mxEvent:e})))}canSendStateEvent(e){const t=c.J.safeGet(),n=t.getRoom(e.getRoomId());return!(null==n||!n.currentState.mayClientSendStateEvent(e.getType(),t))}render(){const e=this.props.mxEvent.replacingEvent()||this.props.mxEvent,t=this.state.isEditing,n=e.getRoomId(),s=e.getId(),i=e.isState()?this.canSendStateEvent(e):(0,l.wQ)(c.J.safeGet(),this.props.mxEvent);return o.createElement(d.A,{className:"mx_ViewSource",onFinished:this.props.onFinished,title:(0,r._t)("action|view_source")},o.createElement("div",{className:"mx_ViewSource_header"},o.createElement(h.A,{getTextToCopy:()=>n,border:!1},(0,r._t)("devtools|room_id",{roomId:n})),o.createElement(h.A,{getTextToCopy:()=>s,border:!1},(0,r._t)("devtools|event_id",{eventId:s})),e.threadRootId&&o.createElement(h.A,{getTextToCopy:()=>e.threadRootId,border:!1},(0,r._t)("devtools|thread_root_id",{threadRootId:e.threadRootId}))),t?this.editSourceContent():this.viewSourceContent(),!t&&i&&o.createElement("div",{className:"mx_Dialog_buttons"},o.createElement("button",{onClick:()=>this.onEdit()},(0,r._t)("action|edit"))))}}},"./src/components/structures/auth/header/AuthHeaderContext.tsx"(e,t,n){"use strict";n.d(t,{h:()=>s});const s=(0,n("./node_modules/react/index.js").createContext)(void 0)},"./src/components/structures/auth/header/AuthHeaderProvider.tsx"(e,t,n){"use strict";n.d(t,{A:()=>r,T:()=>a});var s=n("./node_modules/lodash/isEqual.js"),o=n("./node_modules/react/index.js"),i=n("./src/components/structures/auth/header/AuthHeaderContext.tsx");let r=function(e){return e[e.Add=0]="Add",e[e.Remove=1]="Remove",e}({});function a({children:e}){const[t,n]=(0,o.useReducer)((e,t)=>{switch(t.type){case r.Add:return[t.value,...e];case r.Remove:return e.length&&(0,s.A)(e[0],t.value)?e.slice(1):e}},[]);return o.createElement(i.h.Provider,{value:{state:t,dispatch:n}},e)}},"./src/components/views/audio_messages/RecordingPlayback.tsx"(e,t,n){"use strict";n.d(t,{_:()=>x,A:()=>S});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),i=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),r=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),a=n("./packages/shared-components/dist/element-web-shared-components.js"),l=n("./src/audio/Playback.ts");const c=["playback","playbackPhase"];class d extends s.PureComponent{constructor(...e){super(...e),(0,r.A)(this,"onClick",()=>{this.toggleState()})}async toggleState(){await this.props.playback.toggle()}render(){const e=this.props,{playback:t,playbackPhase:n}=e,r=(0,i.A)(e,c);return s.createElement(a.xJ,(0,o.A)({className:"mx_PlayPauseButton",togglePlay:this.onClick,playing:t.isPlaying,disabled:n===l.d.Decoding},r))}}var u=n("./src/stores/AsyncStore.ts");class m extends s.PureComponent{constructor(e){super(e),(0,r.A)(this,"onPlaybackUpdate",e=>{e===l.d.Decoding&&(e=l.d.Stopped),this.setState({playbackPhase:e})}),(0,r.A)(this,"onTimeUpdate",e=>{this.setState({seconds:e[0],durationSeconds:e[1]})}),this.state={seconds:this.props.playback.clockInfo.timeSeconds,durationSeconds:this.props.playback.clockInfo.durationSeconds,playbackPhase:l.d.Stopped}}componentDidMount(){this.props.playback.on(u.H,this.onPlaybackUpdate),this.props.playback.clockInfo.liveData.onUpdate(this.onTimeUpdate)}render(){let e=this.state.seconds;var t;this.state.playbackPhase===l.d.Stopped&&(e=Number.isFinite(this.props.defaultDisplaySeconds)?null!==(t=this.props.defaultDisplaySeconds)&&void 0!==t?t:this.props.playback.durationSeconds:this.state.durationSeconds);return s.createElement(a.zD,{seconds:e,role:"timer"})}}var p=n("./node_modules/matrix-js-sdk/src/logger.ts"),h=n("./src/languageHandler.tsx"),g=n("./src/KeyBindingsManager.ts"),v=n("./src/accessibility/KeyboardShortcuts.ts");class f extends s.PureComponent{constructor(e){super(e),(0,r.A)(this,"seekRef",(0,s.createRef)()),(0,r.A)(this,"playPauseRef",(0,s.createRef)()),(0,r.A)(this,"onKeyDown",e=>{var t,n,s;let o=!0;switch((0,g.zM)().getAccessibilityAction(e)){case v.bY.Space:null===(t=this.playPauseRef.current)||void 0===t||t.toggleState();break;case v.bY.ArrowLeft:null===(n=this.seekRef.current)||void 0===n||n.left();break;case v.bY.ArrowRight:null===(s=this.seekRef.current)||void 0===s||s.right();break;default:o=!1}o&&e.stopPropagation()}),(0,r.A)(this,"onPlaybackUpdate",e=>{this.setState({playbackPhase:e})}),this.state={playbackPhase:this.props.playback.currentState}}componentDidMount(){this.props.playback.on(u.H,this.onPlaybackUpdate),this.props.playback.prepare().catch(e=>{p.vF.error("Error processing audio file:",e),this.setState({error:!0})})}render(){return s.createElement(s.Fragment,null,this.renderComponent(),this.state.error&&s.createElement("div",{className:"text-warning"},(0,h._t)("timeline|m.audio|error_downloading_audio")))}}var _=n("./src/utils/MarkedExecution.ts");class y extends s.PureComponent{constructor(e){super(e),(0,r.A)(this,"animationFrameFn",new _.L(()=>this.doUpdate(),()=>requestAnimationFrame(()=>this.animationFrameFn.trigger()))),(0,r.A)(this,"onChange",e=>{this.props.playback.skipTo(Number(e.target.value)*this.props.playback.durationSeconds)}),(0,r.A)(this,"onMouseDown",e=>{e.stopPropagation()}),this.state={percentage:(0,a.s5)(this.props.playback.timeSeconds,0,this.props.playback.durationSeconds)}}componentDidMount(){this.props.playback.liveData.onUpdate(()=>this.animationFrameFn.mark())}doUpdate(){this.setState({percentage:(0,a.s5)(this.props.playback.timeSeconds,0,this.props.playback.durationSeconds)})}left(){this.props.playback.skipTo(this.props.playback.timeSeconds-5)}right(){this.props.playback.skipTo(this.props.playback.timeSeconds+5)}render(){return s.createElement("input",{type:"range",className:"mx_SeekBar",tabIndex:this.props.tabIndex,onChange:this.onChange,onMouseDown:this.onMouseDown,min:0,max:1,value:this.state.percentage,step:.001,style:{"--fillTo":this.state.percentage},disabled:this.props.disabled,"aria-label":(0,h._t)("a11y|seek_bar_label")})}}(0,r.A)(y,"defaultProps",{tabIndex:0,disabled:!1});var b=n("./src/utils/arrays.ts"),w=n("./src/components/views/audio_messages/Waveform.tsx"),E=n("./src/audio/consts.ts");class A extends s.PureComponent{constructor(e){super(e),(0,r.A)(this,"onWaveformUpdate",e=>{this.setState({heights:this.toHeights(e)})}),(0,r.A)(this,"onTimeUpdate",e=>{const t=Number((0,a.s5)(e[0],0,e[1]).toFixed(3));this.setState({progress:t})}),this.state={heights:this.toHeights(this.props.playback.waveform),progress:0}}componentDidMount(){this.props.playback.waveformData.onUpdate(this.onWaveformUpdate),this.props.playback.clockInfo.liveData.onUpdate(this.onTimeUpdate)}toHeights(e){const t=(0,b.DG)(0,E.i$);return(0,b.tT)(e,E.i$,t)}render(){return s.createElement(w.A,{relHeights:this.state.heights,progress:this.state.progress})}}let x=function(e){return e[e.Composer=0]="Composer",e[e.Timeline=1]="Timeline",e}({});class S extends f{renderComposerLook(){return s.createElement(s.Fragment,null,s.createElement(m,{playback:this.props.playback}),s.createElement(A,{playback:this.props.playback}))}renderTimelineLook(){return s.createElement(s.Fragment,null,s.createElement("div",{className:"mx_RecordingPlayback_timelineLayoutMiddle"},s.createElement(A,{playback:this.props.playback}),s.createElement(y,{playback:this.props.playback,tabIndex:0,disabled:this.state.playbackPhase===l.d.Decoding,ref:this.seekRef})),s.createElement(m,{playback:this.props.playback}))}renderComponent(){let e;switch(this.props.layout){case x.Composer:e=this.renderComposerLook();break;case x.Timeline:default:e=this.renderTimelineLook()}return s.createElement("div",{className:"mx_MediaBody mx_VoiceMessagePrimaryContainer",onKeyDown:this.onKeyDown},s.createElement(d,{playback:this.props.playback,playbackPhase:this.state.playbackPhase,ref:this.playPauseRef}),e)}}},"./src/components/views/audio_messages/Waveform.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i);class a extends o.PureComponent{render(){return o.createElement("div",{className:"mx_Waveform"},this.props.relHeights.map((e,t)=>{const n=this.props.progress,s=t/this.props.relHeights.length<=n&&n>0,i=r()({mx_Waveform_bar:!0,mx_Waveform_bar_100pct:s});return o.createElement("span",{key:t,style:{"--barHeight":e},className:i})}))}}(0,s.A)(a,"defaultProps",{progress:1})},"./src/components/views/auth/InteractiveAuthEntryComponents.tsx"(e,t,n){"use strict";n.d(t,{WM:()=>M,av:()=>T,Ay:()=>j});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/matrix-js-sdk/src/interactive-auth.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./node_modules/react/index.js"),c=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/pop-out.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-profile-solid.js"),m=n("./res/img/element-icons/email-prompt.svg"),p=n("./src/languageHandler.tsx"),h=n("./src/components/structures/auth/header/AuthHeaderContext.tsx"),g=n("./src/components/structures/auth/header/AuthHeaderProvider.tsx");function v(e){var t;const n=(0,l.useContext)(h.h),s=null!==(t=null==n?void 0:n.dispatch)&&void 0!==t?t:null;return(0,l.useEffect)(()=>{if(s)return s({type:g.A.Add,value:e}),()=>s({type:g.A.Remove,value:e})},[e,s]),null}var f=n("./src/components/views/elements/AccessibleButton.tsx"),_=n("./src/components/views/elements/Field.tsx"),y=n("./src/components/views/elements/Spinner.tsx");const b="mx_recaptcha";class w extends l.Component{constructor(e){super(e),(0,s.A)(this,"captchaWidgetId",void 0),(0,s.A)(this,"recaptchaContainer",(0,l.createRef)()),this.state={errorText:void 0}}componentDidMount(){if(this.isRecaptchaReady())this.onCaptchaLoaded();else{var e;a.vF.log("Loading recaptcha script..."),window.mxOnRecaptchaLoaded=()=>{this.onCaptchaLoaded()};const t=document.createElement("script");t.setAttribute("src","https://www.recaptcha.net/recaptcha/api.js?onload=mxOnRecaptchaLoaded&render=explicit"),null===(e=this.recaptchaContainer.current)||void 0===e||e.appendChild(t)}}componentWillUnmount(){this.resetRecaptcha();const e=document.querySelectorAll("iframe");for(const s of e)if(s.src.includes("https://www.recaptcha.net/recaptcha/api2/bframe")){var t;let e=s;do{var n;e=e.parentElement}while(null!==(n=e)&&void 0!==n&&n.parentElement&&e.parentElement!=document.body);null===(t=e)||void 0===t||t.remove()}}isRecaptchaReady(){return"undefined"!=typeof window&&void 0!==n.g.grecaptcha&&"function"==typeof n.g.grecaptcha.render}renderRecaptcha(e){var t;if(!this.isRecaptchaReady())throw a.vF.error("grecaptcha not loaded!"),new Error("Recaptcha did not load successfully");const s=this.props.sitePublicKey;if(!s)throw a.vF.error("No public key for recaptcha!"),new Error("This server has not supplied enough information for Recaptcha authentication");a.vF.info(`Rendering to ${e}`),this.captchaWidgetId=null===(t=n.g.grecaptcha)||void 0===t?void 0:t.render(e,{sitekey:s,callback:this.props.onCaptchaResponse})}resetRecaptcha(){var e;this.captchaWidgetId&&(null===(e=n.g)||void 0===e||null===(e=e.grecaptcha)||void 0===e||e.reset(this.captchaWidgetId))}onCaptchaLoaded(){a.vF.log("Loaded recaptcha script.");try{this.renderRecaptcha(b),this.setState({errorText:void 0})}catch(e){this.setState({errorText:e instanceof Error?e.message:String(e)})}}render(){let e;return this.state.errorText&&(e=l.createElement("div",{className:"error"},this.state.errorText)),l.createElement("div",{ref:this.recaptchaContainer},l.createElement("p",null,(0,p._t)("auth|captcha_description")),l.createElement("div",{id:b}),e)}}(0,s.A)(w,"defaultProps",{onCaptchaResponse:()=>{}});var E=n("./src/Terms.ts"),A=n("./src/components/views/settings/encryption/EncryptionCardButtons.tsx"),x=n("./src/components/views/settings/encryption/EncryptionCard.tsx");class S extends l.Component{constructor(e){super(e),(0,s.A)(this,"onSubmit",e=>{e.preventDefault(),this.props.busy||this.props.submitAuthDict({type:r.hT.Password,identifier:{type:"m.id.user",user:this.props.matrixClient.credentials.userId},password:this.state.password})}),(0,s.A)(this,"onPasswordFieldChange",e=>{this.setState({password:e.target.value})}),this.state={password:""}}componentDidMount(){this.props.onPhaseChange(0)}render(){const e=i()({error:this.props.errorText});let t,n;return t=this.props.busy?l.createElement(y.A,null):l.createElement("input",{type:"submit",className:"mx_Dialog_primary",disabled:!this.state.password,value:(0,p._t)("action|continue")}),this.props.errorText&&(n=l.createElement("div",{className:"error",role:"alert"},this.props.errorText)),l.createElement("div",null,l.createElement("p",null,(0,p._t)("auth|uia|password_prompt")),l.createElement("form",{onSubmit:this.onSubmit,className:"mx_InteractiveAuthEntryComponents_passwordSection"},l.createElement(_.A,{className:e,type:"password",name:"passwordField",label:(0,p._t)("common|password"),autoFocus:!0,value:this.state.password,onChange:this.onPasswordFieldChange}),n,l.createElement("div",{className:"mx_button_row"},t)))}}(0,s.A)(S,"LOGIN_TYPE",r.hT.Password);class C extends l.Component{constructor(...e){super(...e),(0,s.A)(this,"onCaptchaResponse",e=>{this.props.submitAuthDict({type:r.hT.Recaptcha,response:e})})}componentDidMount(){this.props.onPhaseChange(0)}render(){if(this.props.busy)return l.createElement(y.A,null);let e,t,n=this.props.errorText;return this.props.stageParams&&this.props.stageParams.public_key?e=this.props.stageParams.public_key:n=(0,p._t)("auth|uia|recaptcha_missing_params"),n&&(t=l.createElement("div",{className:"error",role:"alert"},n)),l.createElement("div",null,e&&l.createElement(w,{sitePublicKey:e,onCaptchaResponse:this.onCaptchaResponse}),t)}}(0,s.A)(C,"LOGIN_TYPE",r.hT.Recaptcha);class k extends l.Component{constructor(e){var t;super(e),(0,s.A)(this,"trySubmit",()=>{let e=!0;for(const t of this.state.policies){const n=this.state.toggledPolicies[t.id];e=e&&n}e?this.props.submitAuthDict({type:r.hT.Terms}):this.setState({errorText:(0,p._t)("auth|uia|terms_invalid")})});const n=(null===(t=this.props.stageParams)||void 0===t?void 0:t.policies)||{},o={},i=[];for(const e of Object.keys(n)){const t=n[e],s=(0,E.S$)(t);if(!s)throw new Error("Failed to find a policy to show the user");o[e]=!1,i.push({id:e,name:s.name,url:s.url})}this.state={toggledPolicies:o,policies:i}}componentDidMount(){this.props.onPhaseChange(0)}togglePolicy(e){const t={};for(const n of this.state.policies){let s=this.state.toggledPolicies[n.id];n.id===e&&(s=!s),t[n.id]=s}this.setState({toggledPolicies:t})}render(){if(this.props.busy)return l.createElement(y.A,null);const e=[];let t,n=!0;for(const t of this.state.policies){const s=this.state.toggledPolicies[t.id];n=n&&s,e.push(l.createElement("label",{key:"policy_checkbox_"+t.id,className:"mx_InteractiveAuthEntryComponents_termsPolicy"},l.createElement("input",{type:"checkbox",onChange:()=>this.togglePolicy(t.id),checked:s}),l.createElement("a",{href:t.url,target:"_blank",rel:"noreferrer noopener"},t.name)))}return(this.props.errorText||this.state.errorText)&&(t=l.createElement("div",{className:"error",role:"alert"},this.props.errorText||this.state.errorText)),l.createElement("div",{className:"mx_InteractiveAuthEntryComponents"},l.createElement("p",null,(0,p._t)("auth|uia|terms")),e,t,l.createElement(f.A,{kind:"primary",className:"mx_InteractiveAuthEntryComponents_termsSubmit",onClick:this.trySubmit,disabled:!n},(0,p._t)("action|accept")))}}(0,s.A)(k,"LOGIN_TYPE",r.hT.Terms);class R extends l.Component{constructor(e){super(e),this.state={requested:!1,requesting:!1}}componentDidMount(){this.props.onPhaseChange(0)}render(){var e,t;let n;return this.props.errorText&&"M_UNAUTHORIZED"!==this.props.errorCode&&(n=l.createElement("div",{className:"error",role:"alert"},this.props.errorText)),void 0===(null===(e=this.props.inputs)||void 0===e?void 0:e.emailAddress)||null!==(t=this.props.stageState)&&void 0!==t&&t.emailSid?n||l.createElement(y.A,null):l.createElement("div",{className:"mx_InteractiveAuthEntryComponents_emailWrapper"},l.createElement(v,{title:(0,p._t)("auth|uia|email_auth_header"),icon:l.createElement("img",{src:m.A,role:"presentation",alt:"",width:16}),hideServerPicker:!0}),l.createElement("p",null,(0,p._t)("auth|uia|email",{emailAddress:l.createElement("strong",null,this.props.inputs.emailAddress)})),this.state.requesting?l.createElement("p",{className:"secondary"},(0,p._t)("auth|uia|email_resend_prompt",{},{a:e=>l.createElement(l.Fragment,null,l.createElement(f.A,{kind:"link_inline",onClick:null,disabled:!0},e," ",l.createElement(y.A,{size:14})))})):l.createElement("p",{className:"secondary"},(0,p._t)("auth|uia|email_resend_prompt",{},{a:e=>l.createElement(f.A,{kind:"link_inline",title:this.state.requested?(0,p._t)("auth|uia|email_resent"):(0,p._t)("action|resend"),onTooltipOpenChange:this.state.requested?e=>{e||this.setState({requested:!1})}:void 0,onClick:async()=>{this.setState({requesting:!0});try{var e,t;await(null===(e=(t=this.props).requestEmailToken)||void 0===e?void 0:e.call(t))}catch(e){a.vF.warn("Email token request failed: ",e)}finally{this.setState({requested:!0,requesting:!1})}}},e)})),n)}}(0,s.A)(R,"LOGIN_TYPE",r.hT.Email);class I extends l.Component{constructor(e){super(e),(0,s.A)(this,"submitUrl",void 0),(0,s.A)(this,"sid",void 0),(0,s.A)(this,"msisdn",void 0),(0,s.A)(this,"onTokenChange",e=>{this.setState({token:e.target.value})}),(0,s.A)(this,"onFormSubmit",async e=>{if(e.preventDefault(),""!=this.state.token){this.setState({errorText:null});try{let e;if(!this.submitUrl||!this.sid)throw new Error("The registration with MSISDN flow is misconfigured");if(e=await this.props.matrixClient.submitMsisdnTokenOtherUrl(this.submitUrl,this.sid,this.props.clientSecret,this.state.token),e.success){const e={sid:this.sid,client_secret:this.props.clientSecret};this.props.submitAuthDict({type:r.hT.Msisdn,threepid_creds:e})}else this.setState({errorText:(0,p._t)("auth|uia|msisdn_token_incorrect")})}catch(e){this.props.fail(e instanceof Error?e:new Error("Failed to submit msisdn token")),a.vF.log("Failed to submit msisdn token")}}}),this.state={token:"",requestingToken:!1,errorText:""}}componentDidMount(){this.props.onPhaseChange(0),this.setState({requestingToken:!0}),this.requestMsisdnToken().catch(e=>{this.props.fail(e)}).finally(()=>{this.setState({requestingToken:!1})})}requestMsisdnToken(){var e,t,n,s;return this.props.matrixClient.requestRegisterMsisdnToken(null!==(e=null===(t=this.props.inputs)||void 0===t?void 0:t.phoneCountry)&&void 0!==e?e:"",null!==(n=null===(s=this.props.inputs)||void 0===s?void 0:s.phoneNumber)&&void 0!==n?n:"",this.props.clientSecret,1).then(e=>{this.submitUrl=e.submit_url,this.sid=e.sid,this.msisdn=e.msisdn})}render(){if(this.state.requestingToken)return l.createElement(y.A,null);{const e=Boolean(this.state.token),t=i()({mx_InteractiveAuthEntryComponents_msisdnSubmit:!0,mx_GeneralButton:!0});let n;return this.state.errorText&&(n=l.createElement("div",{className:"error",role:"alert"},this.state.errorText)),l.createElement("div",null,l.createElement("p",null,(0,p._t)("auth|uia|msisdn",{msisdn:l.createElement("i",null,this.msisdn)})),l.createElement("p",null,(0,p._t)("auth|uia|msisdn_token_prompt")),l.createElement("div",{className:"mx_InteractiveAuthEntryComponents_msisdnWrapper"},l.createElement("form",{onSubmit:this.onFormSubmit},l.createElement("input",{type:"text",className:"mx_InteractiveAuthEntryComponents_msisdnEntry",value:this.state.token,onChange:this.onTokenChange,"aria-label":(0,p._t)("auth|uia|code")}),l.createElement("br",null),l.createElement("input",{type:"submit",value:(0,p._t)("action|submit"),className:t,disabled:!e})),n))}}}(0,s.A)(I,"LOGIN_TYPE",r.hT.Msisdn);class P extends l.Component{constructor(e){super(e),(0,s.A)(this,"onSubmit",e=>{e.preventDefault(),this.props.busy||this.props.submitAuthDict({type:this.props.loginType,token:this.state.registrationToken})}),(0,s.A)(this,"onRegistrationTokenFieldChange",e=>{this.setState({registrationToken:e.target.value})}),this.state={registrationToken:""}}componentDidMount(){this.props.onPhaseChange(0)}render(){const e=i()({error:this.props.errorText});let t,n;return t=this.props.busy?l.createElement(y.A,null):l.createElement(f.A,{onClick:this.onSubmit,kind:"primary",disabled:!this.state.registrationToken},(0,p._t)("action|continue")),this.props.errorText&&(n=l.createElement("div",{className:"error",role:"alert"},this.props.errorText)),l.createElement("div",null,l.createElement("p",null,(0,p._t)("auth|uia|registration_token_prompt")),l.createElement("form",{onSubmit:this.onSubmit,className:"mx_InteractiveAuthEntryComponents_registrationTokenSection"},l.createElement(_.A,{className:e,type:"text",name:"registrationTokenField",label:(0,p._t)("auth|uia|registration_token_label"),autoFocus:!0,value:this.state.registrationToken,onChange:this.onRegistrationTokenFieldChange}),n,l.createElement("div",{className:"mx_button_row"},t)))}}(0,s.A)(P,"LOGIN_TYPE",r.hT.RegistrationToken);class T extends l.Component{constructor(e){if(super(e),(0,s.A)(this,"ssoUrl",void 0),(0,s.A)(this,"popupWindow",void 0),(0,s.A)(this,"attemptFailed",()=>{this.setState({attemptFailed:!0})}),(0,s.A)(this,"onReceiveMessage",e=>{"authDone"===e.data&&e.source===this.popupWindow&&this.popupWindow&&(this.popupWindow.close(),this.popupWindow=null)}),(0,s.A)(this,"onStartAuthClick",()=>{this.popupWindow=window.open(this.ssoUrl,"_blank"),this.setState({phase:T.PHASE_POSTAUTH}),this.props.onPhaseChange(T.PHASE_POSTAUTH)}),(0,s.A)(this,"onConfirmClick",()=>{this.props.submitAuthDict({})}),!this.props.authSessionId)throw new Error("This UIA flow requires an authSessionId");this.ssoUrl=e.matrixClient.getFallbackAuthUrl(this.props.loginType,this.props.authSessionId),this.popupWindow=null,this.state={phase:T.PHASE_PREAUTH,attemptFailed:!1}}componentDidMount(){window.addEventListener("message",this.onReceiveMessage),this.props.onPhaseChange(T.PHASE_PREAUTH)}componentWillUnmount(){window.removeEventListener("message",this.onReceiveMessage),this.popupWindow&&(this.popupWindow.close(),this.popupWindow=null)}render(){var e;let t;const n=l.createElement(f.A,{onClick:null!==(e=this.props.onCancel)&&void 0!==e?e:null,kind:this.props.continueKind?`${this.props.continueKind}_outline`:"primary_outline"},(0,p._t)("action|cancel"));let s;return t=this.state.phase===T.PHASE_PREAUTH?l.createElement(f.A,{onClick:this.onStartAuthClick,kind:this.props.continueKind||"primary"},this.props.continueText||(0,p._t)("auth|sso")):l.createElement(f.A,{onClick:this.onConfirmClick,kind:this.props.continueKind||"primary"},this.props.continueText||(0,p._t)("action|confirm")),this.props.errorText?s=l.createElement("div",{className:"error",role:"alert"},this.props.errorText):this.state.attemptFailed&&(s=l.createElement("div",{className:"error",role:"alert"},(0,p._t)("auth|uia|sso_failed"))),l.createElement(l.Fragment,null,s,l.createElement("div",{className:"mx_InteractiveAuthEntryComponents_sso_buttons"},this.props.busy?l.createElement(y.A,{size:24}):l.createElement(l.Fragment,null,n,t)))}}(0,s.A)(T,"LOGIN_TYPE",r.hT.Sso),(0,s.A)(T,"UNSTABLE_LOGIN_TYPE",r.hT.SsoUnstable),(0,s.A)(T,"PHASE_PREAUTH",1),(0,s.A)(T,"PHASE_POSTAUTH",2);class O extends l.Component{constructor(e){super(e),(0,s.A)(this,"popupWindow",void 0),(0,s.A)(this,"fallbackButton",(0,l.createRef)()),(0,s.A)(this,"focus",()=>{var e;null===(e=this.fallbackButton.current)||void 0===e||e.focus()}),(0,s.A)(this,"onShowFallbackClick",e=>{if(!this.props.authSessionId)return;e.preventDefault(),e.stopPropagation();const t=this.props.matrixClient.getFallbackAuthUrl(this.props.loginType,this.props.authSessionId);this.popupWindow=window.open(t,"_blank")}),(0,s.A)(this,"onReceiveMessage",e=>{"authDone"===e.data&&e.source===this.popupWindow&&this.props.submitAuthDict({})}),this.popupWindow=null}componentDidMount(){window.addEventListener("message",this.onReceiveMessage),this.props.onPhaseChange(0)}componentWillUnmount(){var e;window.removeEventListener("message",this.onReceiveMessage),null===(e=this.popupWindow)||void 0===e||e.close()}render(){let e;return this.props.errorText&&(e=l.createElement("div",{className:"error",role:"alert"},this.props.errorText)),l.createElement("div",null,l.createElement(f.A,{kind:"link",ref:this.fallbackButton,onClick:this.onShowFallbackClick},(0,p._t)("auth|uia|fallback_button")),e)}}let M=function(e){return e.MasCrossSigningReset="org.matrix.cross_signing_reset",e}({});class N extends O{constructor(...e){super(...e),(0,s.A)(this,"onGoToAccountClick",()=>{var e;null!==(e=this.props.stageParams)&&void 0!==e&&e.url&&(this.popupWindow=window.open(this.props.stageParams.url,"_blank"))}),(0,s.A)(this,"onRetryClick",()=>{this.props.submitAuthDict({})})}render(){return l.createElement(x.g,{Icon:u.A,title:(0,p._t)("auth|uia|mas_cross_signing_reset_title"),description:(0,p._t)("auth|uia|mas_cross_signing_reset_description",{serverName:this.props.matrixClient.getDomain()})},l.createElement(A.D,null,l.createElement(c.$,{Icon:d.A,onClick:this.onGoToAccountClick,autoFocus:!0,kind:"primary",className:"mx_Dialog_nonDialogButton"},(0,p._t)("auth|uia|mas_cross_signing_reset_cta")),l.createElement(c.$,{onClick:this.onRetryClick,kind:"tertiary",className:"mx_Dialog_nonDialogButton"},(0,p._t)("action|retry"))))}}function j(e){switch(e){case r.hT.OAuth:case M.MasCrossSigningReset:return N;case r.hT.Password:return S;case r.hT.Recaptcha:return C;case r.hT.Email:return R;case r.hT.Msisdn:return I;case r.hT.Terms:return k;case r.hT.RegistrationToken:case r.hT.UnstableRegistrationToken:return P;case r.hT.Sso:case r.hT.SsoUnstable:return T;default:return O}}(0,s.A)(N,"LOGIN_TYPE",r.hT.OAuth),(0,s.A)(N,"UNSTABLE_LOGIN_TYPE",M.MasCrossSigningReset)},"./src/components/views/avatars/BaseAvatar.tsx"(e,t,n){"use strict";n.d(t,{A:()=>f});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./node_modules/matrix-js-sdk/src/matrix.ts"),c=n("./node_modules/@vector-im/compound-web/dist/components/Avatar/Avatar.js"),d=n("./src/settings/SettingsStore.ts"),u=n("./src/contexts/MatrixClientContext.tsx"),m=n("./src/hooks/useEventEmitter.ts"),p=n("./src/languageHandler.tsx"),h=n("./src/contexts/ScopedRoomContext.tsx");const g=["name","idName","title","url","urls","size","onClick","className","type","altText","ref"],v=(e,t,n=!1)=>{let s=[];return n||(s=t||[],e&&(s=[e,...s])),Array.from(new Set(s))},f=e=>{const{name:t,idName:n,title:r,url:f,urls:_,size:y="40px",onClick:b,className:w,type:E="round",altText:A=(0,p._t)("common|avatar"),ref:x}=e,S=(0,o.A)(e,g),[C,k]=(({url:e,urls:t})=>{var n;const s=(0,h.ME)("lowBandwidth"),o=null!==(n=null==s?void 0:s.lowBandwidth)&&void 0!==n?n:d.A.getValue("lowBandwidth"),[r,a]=(0,i.useState)(v(e,t,o)),[c,p]=(0,i.useState)(0),g=(0,i.useCallback)(()=>{p(e=>e+1)},[]);(0,i.useEffect)(()=>{a(v(e,t,o)),p(0)},[e,JSON.stringify(t)]);const f=(0,i.useContext)(u.Ay),_=(0,i.useCallback)((e,t)=>{"ERROR"!==e&&t!==e&&p(0)},[]);return(0,m.YK)(f,l.ClientEvent.Sync,_),[r[c],g]})({url:f,urls:_}),R={};return b?(R["aria-live"]="off",R.role="button"):C?R.role=void 0:(R.role="presentation",R["aria-label"]=void 0),i.createElement(c.e,(0,s.A)({ref:x,src:C,id:null!=n?n:"",name:null!=t?t:"",type:E,size:y,className:a()("mx_BaseAvatar",w),"aria-label":A,onError:k,title:r,onClick:b},R,S))}},"./src/components/views/avatars/DecoratedRoomAvatar.tsx"(e,t,n){"use strict";n.d(t,{A:()=>S});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),r=n("./node_modules/react/index.js"),a=n("./node_modules/classnames/index.js"),l=n.n(a),c=n("./node_modules/matrix-js-sdk/src/matrix.ts"),d=n("./node_modules/matrix-js-sdk/src/NamespacedValue.ts"),u=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/public.js"),p=n("./src/components/views/avatars/RoomAvatar.tsx"),h=n("./src/components/views/rooms/NotificationBadge.tsx"),g=n("./src/stores/notifications/RoomNotificationStateStore.ts"),v=n("./src/utils/presence.ts"),f=n("./src/MatrixClientPeg.ts"),_=n("./src/languageHandler.tsx"),y=n("./src/utils/DMRoomMap.ts"),b=n("./src/utils/room/getJoinedNonFunctionalMembers.ts");const w=["room","size","displayBadge","hideIfDot","oobData","viewAvatarOnClick","tooltipProps","className"],E=new d.qr("busy","org.matrix.msc3026.busy");var A=function(e){return e.None="NONE",e.Globe="GLOBE",e.PresenceOnline="ONLINE",e.PresenceAway="AWAY",e.PresenceOffline="OFFLINE",e.PresenceBusy="BUSY",e}(A||{});function x(e){switch(e){case A.Globe:return(0,_._t)("room|header|room_is_public");case A.PresenceOnline:return(0,_._t)("presence|online");case A.PresenceAway:return(0,_._t)("presence|away");case A.PresenceOffline:return(0,_._t)("presence|offline");case A.PresenceBusy:return(0,_._t)("presence|busy")}}class S extends r.PureComponent{constructor(e){super(e),(0,i.A)(this,"_dmUser",null),(0,i.A)(this,"isUnmounted",!1),(0,i.A)(this,"isWatchingTimeline",!1),(0,i.A)(this,"onRoomTimeline",(e,t)=>{if(!this.isUnmounted&&this.props.room.roomId===(null==t?void 0:t.roomId)&&(e.getType()===c.EventType.RoomJoinRules||e.getType()===c.EventType.RoomMember)){const e=this.calculateIcon();e!==this.state.icon&&this.setState({icon:e})}}),(0,i.A)(this,"onPresenceUpdate",()=>{if(this.isUnmounted)return;const e=this.getPresenceIcon();e!==this.state.icon&&this.setState({icon:e})}),this.state={notificationState:g.n.instance.getRoomState(this.props.room),icon:this.calculateIcon()}}componentWillUnmount(){this.isUnmounted=!0,this.isWatchingTimeline&&this.props.room.off(c.RoomEvent.Timeline,this.onRoomTimeline),this.dmUser=null}get isPublicRoom(){return this.props.room.getJoinRule()===c.JoinRule.Public}get dmUser(){return this._dmUser}set dmUser(e){const t=this._dmUser;this._dmUser=e,t&&t!==this._dmUser&&(t.off(c.UserEvent.CurrentlyActive,this.onPresenceUpdate),t.off(c.UserEvent.Presence,this.onPresenceUpdate)),this._dmUser&&t!==this._dmUser&&(this._dmUser.on(c.UserEvent.CurrentlyActive,this.onPresenceUpdate),this._dmUser.on(c.UserEvent.Presence,this.onPresenceUpdate))}getPresenceIcon(){if(!this.dmUser)return A.None;let e=A.None;const t=this.dmUser.currentlyActive||"online"===this.dmUser.presence;return E.matches(this.dmUser.presence)?e=A.PresenceBusy:t?e=A.PresenceOnline:"offline"===this.dmUser.presence?e=A.PresenceOffline:"unavailable"===this.dmUser.presence&&(e=A.PresenceAway),e}calculateIcon(){let e=A.None;const t=y.A.shared().getUserIdForRoomId(this.props.room.roomId);return t&&2===(0,b.T)(this.props.room).length?(0,v.T)(this.props.room.client)&&(this.dmUser=f.J.safeGet().getUser(t),e=this.getPresenceIcon()):(e=this.isPublicRoom?A.Globe:A.None,this.isWatchingTimeline||(this.props.room.on(c.RoomEvent.Timeline,this.onRoomTimeline),this.isWatchingTimeline=!0)),e}render(){const e=this.props,{room:t,size:n,displayBadge:i,hideIfDot:a,oobData:c,viewAvatarOnClick:d,tooltipProps:g,className:v}=e,f=(0,o.A)(e,w);let _,y;var b,E;(this.props.displayBadge&&this.state.notificationState&&(_=r.createElement(h.A,{notification:this.state.notificationState,hideIfDot:this.props.hideIfDot,roomId:this.props.room.roomId})),this.state.icon!==A.None)&&(y=r.createElement("div",{tabIndex:null!==(b=null===(E=this.props.tooltipProps)||void 0===E?void 0:E.tabIndex)&&void 0!==b?b:0,className:`mx_DecoratedRoomAvatar_icon mx_DecoratedRoomAvatar_icon_${this.state.icon.toLowerCase()}`},this.state.icon===A.Globe?r.createElement(m.A,null):null));const S=l()("mx_DecoratedRoomAvatar",{mx_DecoratedRoomAvatar_cutout:y},v);return r.createElement("div",(0,s.A)({className:S},f),r.createElement(p.A,{room:this.props.room,size:this.props.size,oobData:this.props.oobData,viewAvatarOnClick:this.props.viewAvatarOnClick}),y&&r.createElement(u.m,{label:x(this.state.icon),placement:"bottom"},y),_)}}},"./src/components/views/avatars/MemberAvatar.tsx"(e,t,n){"use strict";n.d(t,{A:()=>v});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/dispatcher/dispatcher.ts"),a=n("./src/dispatcher/actions.ts"),l=n("./src/components/views/avatars/BaseAvatar.tsx"),c=n("./src/customisations/Media.ts"),d=n("./src/components/views/right_panel/context.ts"),u=n("./src/customisations/UserIdentifier.ts"),m=n("./src/hooks/room/useRoomMemberProfile.ts"),p=n("./src/languageHandler.tsx"),h=n("./src/contexts/MatrixClientContext.tsx");const g=["size","resizeMethod","viewUserOnClick","forceHistorical","fallbackUserId","hideTitle","member","ref"];function v(e){var t,n;let{size:v,resizeMethod:f="crop",viewUserOnClick:_,forceHistorical:y,fallbackUserId:b,hideTitle:w,member:E,ref:A}=e,x=(0,o.A)(e,g);const S=(0,i.useContext)(h.Ay),C=(0,i.useContext)(d.E),k=(0,m.s)({userId:null==E?void 0:E.userId,member:E,forceHistorical:y}),R=null!==(t=null==k?void 0:k.name)&&void 0!==t?t:b;let I,P=x.title;if(null!=k&&k.name){var T,O,M,N;if(k.getMxcAvatarUrl())I=(0,c.mediaFromMxc)(null!==(T=k.getMxcAvatarUrl())&&void 0!==T?T:"",S).getThumbnailOfSourceHttp(parseInt(v,10),parseInt(v,10),f);if(!P)P=null!==(O=u.A.getDisplayUserIdentifier(null!==(M=null==k?void 0:k.userId)&&void 0!==M?M:"",{roomId:null!==(N=null==k?void 0:k.roomId)&&void 0!==N?N:""}))&&void 0!==O?O:b}return i.createElement(l.A,(0,s.A)({},x,{size:v,name:null!=R?R:"",title:w?void 0:P,idName:null!==(n=null==k?void 0:k.userId)&&void 0!==n?n:b,url:I,onClick:_?()=>{r.A.dispatch({action:a.r.ViewUser,member:E,push:C.isCard})}:x.onClick,altText:(0,p._t)("common|user_avatar"),ref:A}))}},"./src/components/views/avatars/RoomAvatar.tsx"(e,t,n){"use strict";n.d(t,{A:()=>y});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./src/components/views/avatars/BaseAvatar.tsx"),l=n("./src/components/views/elements/ImageView.tsx"),c=n("./src/Modal.tsx"),d=n("./src/Avatar.ts"),u=n("./src/customisations/Media.ts"),m=n("./src/utils/arrays.ts"),p=n("./src/hooks/useSettings.ts"),h=n("./src/hooks/useRoomState.ts"),g=n("./src/components/views/avatars/WithPresenceIndicator.tsx"),v=n("./src/models/LocalRoom.ts");var f=n("./src/@types/media_preview.ts");const _=["room","viewAvatarOnClick","onClick","oobData","size"],y=e=>{var t,n,y;let{room:b,viewAvatarOnClick:w,onClick:E,oobData:A,size:x="36px"}=e,S=(0,o.A)(e,_);const C=null!==(t=null!==(n=null==b?void 0:b.name)&&void 0!==n?n:null==A?void 0:A.name)&&void 0!==t?t:"?",k=(0,h.U)(b,e=>e.getStateEvents(r.EventType.RoomAvatar,"")),R=function(e,t){const n=(0,g.rT)(e);return n?n.userId:e instanceof v.Np&&1===e.targets.length?e.targets[0].userId:e?e.roomId:null==t?void 0:t.roomId}(b,A),I=(0,p.ti)("mediaPreviewConfig",null==b?void 0:b.roomId).invite_avatars===f.M.On,P=(0,i.useCallback)(()=>{const e=d.ze(null!=b?b:null);if(!e)return;const t={src:e,name:null==b?void 0:b.name};c.Ay.createDialog(l.A,t,"mx_Dialog_lightbox",void 0,!0)},[b]),T=(0,i.useMemo)(()=>{const e=null==b?void 0:b.getMyMembership();if(!(I||e!==r.KnownMembership.Invite&&e))return[];const t=parseInt(x,10);let n=null;return null!=A&&A.avatarUrl&&(n=(0,u.mediaFromMxc)(null==A?void 0:A.avatarUrl).getThumbnailOfSourceHttp(t,t,"crop")),(0,m.Bo)([n,d.ze(null!=b?b:null,t,t,"crop",null==k?void 0:k.getContent().url)])},[I,b,x,k,A]);return i.createElement(a.A,(0,s.A)({},S,{size:x,type:(null!==(y=null==b?void 0:b.getType())&&void 0!==y?y:null==A?void 0:A.roomType)===r.RoomType.Space?"square":"round",name:C,idName:R,urls:T,onClick:w&&T[0]?P:E}))}},"./src/components/views/avatars/SearchResultAvatar.tsx"(e,t,n){"use strict";n.d(t,{N:()=>a});var s=n("./node_modules/react/index.js"),o=n("./res/img/icon-email-pill-avatar.svg"),i=n("./src/customisations/Media.ts"),r=n("./src/components/views/avatars/BaseAvatar.tsx");function a({user:e,size:t}){if(e.isEmail)return s.createElement("img",{className:"mx_SearchResultAvatar mx_SearchResultAvatar_threepidAvatar",alt:"",src:o.A,width:t,height:t});{const n=e.getMxcAvatarUrl();return s.createElement(r.A,{className:"mx_SearchResultAvatar",url:n?(0,i.mediaFromMxc)(n).getSquareThumbnailHttp(parseInt(t,10)):null,name:e.name,idName:e.userId,size:t})}}},"./src/components/views/avatars/WithPresenceIndicator.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>_,Cq:()=>m,rT:()=>g,xQ:()=>f});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),r=n("./src/utils/presence.ts"),a=n("./src/languageHandler.tsx"),l=n("./src/utils/DMRoomMap.ts"),c=n("./src/utils/room/getJoinedNonFunctionalMembers.ts"),d=n("./src/hooks/useEventEmitter.ts"),u=n("./src/components/views/rooms/PresenceLabel.tsx");let m=function(e){return e.Online="ONLINE",e.Away="AWAY",e.Offline="OFFLINE",e.Busy="BUSY",e}({});function p(e){switch(e){case m.Online:return(0,a._t)("presence|online");case m.Away:return(0,a._t)("presence|away");case m.Offline:return(0,a._t)("presence|offline");case m.Busy:return(0,a._t)("presence|busy")}}function h(e){const t=l.A.shared().getUserIdForRoomId(e.roomId);return t?e.getMember(t):null}const g=e=>{const[t,n]=(0,s.useState)(e?h(e):null),i=()=>{n(e?h(e):null)};return(0,d.ml)(null==e?void 0:e.currentState,o.RoomStateEvent.Members,i),(0,d.ml)(null==e?void 0:e.client,o.ClientEvent.AccountData,i),(0,s.useEffect)(i,[e]),t};function v(e){if(null==e||!e.user)return null;const t=e.user.presence,n=e.user.currentlyActive||"online"===t;return u.I.matches(e.user.presence)?m.Busy:n?m.Online:"offline"===t?m.Offline:"unavailable"===t?m.Away:null}const f=(e,t)=>{const[n,i]=(0,s.useState)(v(t)),a=()=>{i(v(t))};return(0,d.ml)(null==t?void 0:t.user,o.UserEvent.Presence,a),(0,d.ml)(null==t?void 0:t.user,o.UserEvent.CurrentlyActive,a),(0,s.useEffect)(a,[t]),2===(0,c.T)(e).length&&(0,r.T)(e.client)?n:null},_=({room:e,size:t,tooltipProps:n,children:o})=>{const r=g(e),a=f(e,r);let l;var c;a&&(l=s.createElement("div",{tabIndex:null!==(c=null==n?void 0:n.tabIndex)&&void 0!==c?c:0,className:`mx_WithPresenceIndicator_icon mx_WithPresenceIndicator_icon_${a.toLowerCase()}`,style:{width:t,height:t}}));return a?s.createElement("div",{className:"mx_WithPresenceIndicator"},o,s.createElement(i.m,{label:p(a),placement:"bottom"},l)):s.createElement(s.Fragment,null,o)}},"./src/components/views/beacon/BeaconStatus.tsx"(e,t,n){"use strict";n.d(t,{A:()=>w});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./src/components/views/beacon/StyledLiveBeaconIcon.tsx"),c=n("./src/languageHandler.tsx"),d=n("./node_modules/matrix-js-sdk/src/matrix.ts"),u=n("./src/DateUtils.ts"),m=n("./src/hooks/useEventEmitter.ts"),p=n("./src/hooks/useTimeout.ts"),h=n("./src/utils/beacon/index.ts");const g=6e4,v=e=>{const t=(0,m.dF)(e,d.BeaconEvent.Update,()=>e.beaconInfo),[n,s]=(0,i.useState)(()=>t?(0,h.Mc)(t):0);(0,i.useEffect)(()=>{t&&s((0,h.Mc)(t))},[t]);const o=(0,i.useCallback)(()=>{if(!t)return;const e=(0,h.Mc)(t);s(e)},[t]);var r;return(0,p.$$)(o,(r=n)>36e5?6e5:r>g?g:1e3),n},f=({beacon:e})=>{const t=v(e),n=(0,u.a3)(t),s=(0,c._t)("time|left",{timeRemaining:n});return i.createElement("span",{className:"mx_LiveTimeRemaining"},s)};var _=n("./src/components/views/beacon/displayStatus.ts");const y=["beacon","displayStatus","displayLiveTimeRemaining","label","className","children","withIcon"],b=({beacon:e})=>{const t=(0,u.fU)(new Date((0,h.w7)(e)));return i.createElement("span",{className:"mx_BeaconStatus_expiryTime"},(0,c._t)("location_sharing|live_until",{expiryTime:t}))},w=e=>{let{beacon:t,displayStatus:n,displayLiveTimeRemaining:r,label:d,className:u,children:m,withIcon:p}=e,h=(0,o.A)(e,y);const g=n===_.T.Loading||n===_.T.Stopped;return i.createElement("div",(0,s.A)({},h,{className:a()("mx_BeaconStatus",`mx_BeaconStatus_${n}`,u)}),p&&i.createElement(l.A,{className:"mx_BeaconStatus_icon",withError:n===_.T.Error,isIdle:g}),i.createElement("div",{className:"mx_BeaconStatus_description"},n===_.T.Loading&&i.createElement("span",{className:"mx_BeaconStatus_description_status"},(0,c._t)("location_sharing|loading_live_location")),n===_.T.Stopped&&i.createElement("span",{className:"mx_BeaconStatus_description_status"},(0,c._t)("location_sharing|live_location_ended")),n===_.T.Error&&i.createElement("span",{className:"mx_BeaconStatus_description_status"},(0,c._t)("location_sharing|live_location_error")),n===_.T.Active&&t&&i.createElement(i.Fragment,null,i.createElement(i.Fragment,null,i.createElement("span",{className:"mx_BeaconStatus_label"},d),r?i.createElement(f,{beacon:t}):i.createElement(b,{beacon:t})))),m)}},"./src/components/views/beacon/OwnBeaconStatus.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/languageHandler.tsx"),a=n("./src/utils/beacon/index.ts"),l=n("./src/utils/NativeEventUtils.ts"),c=n("./src/components/views/beacon/BeaconStatus.tsx"),d=n("./src/components/views/beacon/displayStatus.ts"),u=n("./src/components/views/elements/AccessibleButton.tsx");const m=["beacon","displayStatus"],p=e=>{let{beacon:t,displayStatus:n}=e,p=(0,o.A)(e,m);const{hasLocationPublishError:h,hasStopSharingError:g,stoppingInProgress:v,onStopSharing:f,onResetLocationPublishError:_}=(0,a.fA)(null!=t&&t.identifier?[null==t?void 0:t.identifier]:[]),y=h||g?d.T.Error:n;return i.createElement(c.A,(0,s.A)({beacon:t,displayStatus:y,label:(0,r._t)("location_sharing|live_location_enabled"),displayLiveTimeRemaining:!0},p),y===d.T.Active&&i.createElement(u.A,{kind:"link",onClick:(0,l.Z)(f),className:"mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton",disabled:v},(0,r._t)("action|stop")),h&&i.createElement(u.A,{kind:"link",onClick:(0,l.Z)(_),className:"mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton"},(0,r._t)("action|retry")),g&&i.createElement(u.A,{kind:"link",onClick:(0,l.Z)(f),className:"mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton"},(0,r._t)("action|retry")))}},"./src/components/views/beacon/StyledLiveBeaconIcon.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./res/img/location/live-location.svg");const c=["className","withError","isIdle"],d=e=>{let{className:t,withError:n,isIdle:r}=e,d=(0,o.A)(e,c);return i.createElement(l.I,(0,s.A)({},d,{className:a()("mx_StyledLiveBeaconIcon",t,{mx_StyledLiveBeaconIcon_error:n,mx_StyledLiveBeaconIcon_idle:r})}))}},"./src/components/views/beacon/displayStatus.ts"(e,t,n){"use strict";n.d(t,{T:()=>s,n:()=>o});let s=function(e){return e.Loading="Loading",e.Error="Error",e.Stopped="Stopped",e.Active="Active",e}({});const o=(e,t,n,o)=>n?s.Error:o?s.Loading:e?t?s.Active:s.Loading:s.Stopped},"./src/components/views/beta/BetaCard.tsx"(e,t,n){"use strict";n.d(t,{s:()=>S,A:()=>C});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/utils.ts"),i=n("./src/languageHandler.tsx"),r=n("./src/components/views/elements/AccessibleButton.tsx"),a=n("./src/settings/SettingsStore.ts"),l=n("./src/settings/SettingLevel.ts"),c=n("./src/Modal.tsx"),d=n("./src/dispatcher/dispatcher.ts"),u=n("./src/dispatcher/actions.ts"),m=n("./src/components/views/dialogs/UserTab.ts"),p=n("./src/components/views/dialogs/QuestionDialog.tsx"),h=n("./src/components/views/elements/Field.tsx"),g=n("./src/rageshake/submit-rageshake.ts"),v=n("./src/components/views/elements/StyledCheckbox.tsx"),f=n("./src/components/views/dialogs/InfoDialog.tsx");const _=({title:e,subheading:t,children:n,rageshakeLabel:o,rageshakeData:r={},onFinished:a})=>{const[l,d]=(0,s.useState)(""),[u,m]=(0,s.useState)(!1);return s.createElement(p.A,{className:"mx_GenericFeatureFeedbackDialog",hasCancelButton:!0,title:e,description:s.createElement(s.Fragment,null,s.createElement("div",{className:"mx_GenericFeatureFeedbackDialog_subheading"},t," ",(0,i._t)("feedback|platform_username")," ",n),s.createElement(h.A,{id:"feedbackComment",label:(0,i._t)("common|feedback"),type:"text",autoComplete:"off",value:l,element:"textarea",onChange:e=>{d(e.target.value)},autoFocus:!0}),s.createElement(v.A,{checked:u,onChange:e=>m(e.target.checked)},(0,i._t)("feedback|can_contact_label"))),button:(0,i._t)("feedback|send_feedback_action"),buttonDisabled:!l,onFinished:async t=>{if(!t)return a(!1);(0,g.Wz)(o,l,u,r),a(!0),c.Ay.createDialog(f.A,{title:e,description:(0,i._t)("feedback|sent"),button:(0,i._t)("action|close"),hasCloseButton:!1,fixedWidth:!1})}})},y=({featureId:e,onFinished:t})=>{var n;const o=a.A.getBetaInfo(e);return o?s.createElement(_,{title:(0,i._t)("labs|beta_feedback_title",{featureName:o.title}),subheading:o.feedbackSubheading?(0,i._t)(o.feedbackSubheading):void 0,onFinished:t,rageshakeLabel:o.feedbackLabel,rageshakeData:Object.fromEntries(((null===(n=a.A.getBetaInfo(e))||void 0===n?void 0:n.extraSettings)||[]).map(e=>[e,a.A.getValue(e)]))},s.createElement(r.A,{kind:"link_inline",onClick:()=>{t(),d.A.dispatch({action:u.r.ViewUserSettings,initialTabId:m.v.Labs})}},(0,i._t)("labs|beta_feedback_leave_button"))):null};var b=n("./src/SdkConfig.ts"),w=n("./src/components/views/elements/SettingsFlag.tsx"),E=n("./src/hooks/useSettings.ts"),A=n("./src/components/views/elements/InlineSpinner.tsx"),x=n("./src/utils/Feedback.ts");const S=({onClick:e,tooltipTitle:t=(0,i._t)("labs|beta_feature"),tooltipCaption:n=(0,i._t)("labs|click_for_info")})=>e?s.createElement(r.A,{className:"mx_BetaCard_betaPill","aria-label":`${t} ${n}`,title:t,caption:n,onClick:e},(0,i._t)("common|beta")):s.createElement("span",{className:"mx_BetaCard_betaPill"},(0,i._t)("common|beta")),C=({title:e,featureId:t})=>{const n=a.A.getBetaInfo(t),d=(0,E.ny)(t),[u,m]=(0,s.useState)(!1);if(!n)return null;const{title:p,caption:h,faq:g,image:v,feedbackLabel:f,feedbackSubheading:_,extraSettings:C,requiresRefresh:k}=n;let R,I,P;if(d&&f&&_&&(0,x.I)()&&(R=s.createElement(r.A,{onClick:()=>{c.Ay.createDialog(y,{featureId:t})},kind:"primary"},(0,i._t)("common|feedback"))),k){const e=b.Ay.get().brand;I=d?(0,i._t)("labs|leave_beta_reload",{brand:e}):(0,i._t)("labs|join_beta_reload",{brand:e})}return P=u?s.createElement(A.A,null):d?(0,i._t)("labs|leave_beta"):(0,i._t)("labs|join_beta"),s.createElement("div",{className:"mx_BetaCard"},s.createElement("div",{className:"mx_BetaCard_columns"},s.createElement("div",{className:"mx_BetaCard_columns_description"},s.createElement("h3",{className:"mx_BetaCard_title"},s.createElement("span",null,e||(0,i._t)(p)),s.createElement(S,null)),s.createElement("div",{className:"mx_BetaCard_caption"},h()),s.createElement("div",{className:"mx_BetaCard_buttons"},R,s.createElement(r.A,{onClick:async()=>{m(!0),k||await(0,o.yy)(2e3),await a.A.setValue(t,null,l.p.DEVICE,!d),k||m(!1)},kind:R?"primary_outline":"primary",disabled:u},P)),I&&s.createElement("div",{className:"mx_BetaCard_refreshWarning"},I),g&&s.createElement("div",{className:"mx_BetaCard_faq"},g(d))),s.createElement("div",{className:"mx_BetaCard_columns_image_wrapper"},s.createElement("img",{className:"mx_BetaCard_columns_image",src:v,alt:""}))),C&&d&&s.createElement("div",{className:"mx_BetaCard_relatedSettings"},C.map(e=>s.createElement(w.A,{key:e,name:e,level:l.p.DEVICE}))))}},"./src/components/views/context_menus/IconizedContextMenu.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>y,LS:()=>v,R$:()=>f,h6:()=>g,tx:()=>_});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),c=n("./src/components/structures/ContextMenu.tsx"),d=n("./src/languageHandler.tsx");const u=["label","icon","active","className"],m=["label","icon","active","className","words"],p=["label","className","icon","children","isDestructive"],h=["className","children","compact"],g=e=>{let{label:t,icon:n,active:r,className:d}=e,m=(0,o.A)(e,u);return i.createElement(c.sH,(0,s.A)({},m,{className:a()(d,{mx_IconizedContextMenu_item:!0,mx_IconizedContextMenu_active:r}),active:r,label:t}),n,i.createElement("span",{className:"mx_IconizedContextMenu_label"},t),r&&i.createElement(l.A,{className:"mx_IconizedContextMenu_checked"}))},v=e=>{let t,{label:n,icon:r,active:u,className:p,words:h}=e,g=(0,o.A)(e,m);return h?t=i.createElement("span",{className:"mx_IconizedContextMenu_activeText"},u?(0,d._t)("common|on"):(0,d._t)("common|off")):u&&(t=i.createElement(l.A,{className:"mx_IconizedContextMenu_checked"})),i.createElement(c.K8,(0,s.A)({},g,{className:a()(p,{mx_IconizedContextMenu_item:!0,mx_IconizedContextMenu_active:u}),active:u,label:n}),r,i.createElement("span",{className:"mx_IconizedContextMenu_label"},n),t)},f=e=>{let{label:t,className:n,icon:r,children:l,isDestructive:d}=e,u=(0,o.A)(e,p);return i.createElement(c.Dr,(0,s.A)({element:"li"},u,{className:a()(n,{mx_IconizedContextMenu_item:!0,mx_IconizedContextMenu_itemDestructive:d}),label:t}),r,i.createElement("span",{className:"mx_IconizedContextMenu_label"},t),l)},_=({first:e,red:t,className:n,label:s,children:o})=>{const r=a()("mx_IconizedContextMenu_optionList",n,{mx_IconizedContextMenu_optionList_notFirst:!e,mx_IconizedContextMenu_optionList_red:t});return i.createElement("div",{className:r},s&&i.createElement("div",null,i.createElement("span",{className:"mx_IconizedContextMenu_optionList_label"},s)),o)},y=e=>{let{className:t,children:n,compact:r}=e,l=(0,o.A)(e,h);const d=a()("mx_IconizedContextMenu",t,{mx_IconizedContextMenu_compact:r});return i.createElement(c.Ay,(0,s.A)({chevronFace:c.t4.None},l),i.createElement("ul",{role:"none",className:d},n))}},"./src/components/views/context_menus/MessageContextMenu.tsx"(e,t,n){"use strict";n.d(t,{A:()=>oe});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),r=n("./node_modules/react/index.js"),a=n("./node_modules/matrix-js-sdk/src/matrix.ts"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/threads.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/restart.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/delete.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/pop-out.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/forward.js"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/inline-code.js"),h=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/visibility-on.js"),g=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/share.js"),v=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),f=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/link.js"),_=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-up.js"),y=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/tree.js"),b=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error-solid.js"),w=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/copy.js"),E=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/quote.js"),A=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/edit.js"),x=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/reply.js"),S=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/reaction-add.js"),C=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/unpin.js"),k=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/pin.js"),R=n("./src/MatrixClientPeg.ts"),I=n("./src/dispatcher/dispatcher.ts"),P=n("./src/languageHandler.tsx"),T=n("./src/Modal.tsx"),O=n("./src/Resend.ts"),M=n("./src/settings/SettingsStore.ts"),N=n("./src/HtmlUtils.tsx"),j=n("./src/utils/EventUtils.ts"),D=n("./src/components/views/context_menus/IconizedContextMenu.tsx"),U=n("./src/dispatcher/actions.ts"),F=n("./src/utils/strings.ts"),L=n("./src/components/structures/ContextMenu.tsx"),B=n("./src/components/views/emojipicker/ReactionPicker.tsx"),V=n("./src/components/structures/ViewSource.tsx"),H=n("./src/components/views/dialogs/ConfirmRedactDialog.tsx"),z=n("./src/components/views/dialogs/ShareDialog.tsx"),W=n("./src/contexts/RoomContext.ts"),K=n("./node_modules/matrix-js-sdk/src/extensible_events_v1/PollEndEvent.ts"),$=n("./src/components/views/dialogs/QuestionDialog.tsx"),J=n("./src/components/views/messages/MPollBody.tsx"),G=n("./src/components/views/dialogs/ErrorDialog.tsx");class q extends r.Component{constructor(...e){super(...e),(0,i.A)(this,"onFinished",async e=>{if(e){const e=this.props.matrixClient.getRoom(this.props.event.getRoomId()),t=null==e?void 0:e.polls.get(this.props.event.getId());if(!t)throw new Error("No poll instance found in room.");try{const e=await t.getResponses(),n=(0,J.Fr)(this.props.event,e),s=""===n?(0,P._t)("poll|end_message_no_votes"):(0,P._t)("poll|end_message",{topAnswer:n}),o=K.n.from(this.props.event.getId(),s).serialize();await this.props.matrixClient.sendEvent(this.props.event.getRoomId(),o.type,o.content)}catch(e){console.error("Failed to submit poll response event:",e),T.Ay.createDialog(G.A,{title:(0,P._t)("poll|error_ending_title"),description:(0,P._t)("poll|error_ending_description")})}}this.props.onFinished(e)})}render(){return r.createElement($.A,{title:(0,P._t)("poll|end_title"),description:(0,P._t)("poll|end_description"),button:(0,P._t)("poll|end_title"),onFinished:e=>this.onFinished(e)})}}var Y=n("./src/utils/location/index.ts"),Z=n("./src/events/forward/getForwardableEvent.ts"),Q=n("./src/events/location/getShareableLocationEvent.ts"),X=n("./src/components/views/right_panel/context.ts"),ee=n("./src/utils/PinningUtils.ts"),te=n("./src/PosthogTrackers.ts");const ne=["mxEvent","rightClick","link","eventTileOps","reactions","collapseReplyChain"],se=({mxEvent:e,closeMenu:t})=>{var n;const s=(0,r.useContext)(X.E),o=null==e||null===(n=e.getRelation())||void 0===n?void 0:n.rel_type;if(Boolean(o)&&o!==a.RelationType.Thread)return null;return r.createElement(D.R$,{icon:r.createElement(l.A,null),label:(0,P._t)("action|reply_in_thread"),onClick:()=>{e.getThread()&&!e.isThreadRoot?I.A.dispatch({action:U.r.ShowThread,rootEvent:e.getThread().rootEvent,initialEvent:e,scroll_into_view:!0,highlighted:!0,push:s.isCard}):I.A.dispatch({action:U.r.ShowThread,rootEvent:e,push:s.isCard}),t()}})};class oe extends r.Component{constructor(e){super(e),(0,i.A)(this,"reactButtonRef",(0,r.createRef)()),(0,i.A)(this,"checkPermissions",()=>{const e=R.J.safeGet(),t=e.getRoom(this.props.mxEvent.getRoomId()),n=!(null==t||!t.currentState.maySendRedactionForEvent(this.props.mxEvent,e.getSafeUserId()))&&this.props.mxEvent.getType()!==a.EventType.RoomServerAcl&&this.props.mxEvent.getType()!==a.EventType.RoomEncryption,s=ee.A.canPin(e,this.props.mxEvent)||ee.A.canUnpin(e,this.props.mxEvent);this.setState({canRedact:n,canPin:s})}),(0,i.A)(this,"onResendReactionsClick",()=>{for(const e of this.getUnsentReactions())O.A.resend(R.J.safeGet(),e);this.closeMenu()}),(0,i.A)(this,"onJumpToRelatedEventClick",e=>{I.A.dispatch({action:"view_room",room_id:this.props.mxEvent.getRoomId(),event_id:e,highlighted:!0})}),(0,i.A)(this,"onReportEventClick",()=>{I.A.dispatch({action:U.r.OpenReportEventDialog,event:this.props.mxEvent}),this.closeMenu()}),(0,i.A)(this,"onViewSourceClick",()=>{T.Ay.createDialog(V.A,{mxEvent:this.props.mxEvent},"mx_Dialog_viewsource"),this.closeMenu()}),(0,i.A)(this,"onRedactClick",()=>{const{mxEvent:e,onCloseDialog:t}=this.props;(0,H.Q)({mxEvent:e,onCloseDialog:t}),this.closeMenu()}),(0,i.A)(this,"onForwardClick",e=>()=>{var t;I.A.dispatch({action:U.r.OpenForwardDialog,event:e,permalinkCreator:null!==(t=this.props.permalinkCreator)&&void 0!==t?t:null}),this.closeMenu()}),(0,i.A)(this,"onPinClick",e=>{ee.A.pinOrUnpinEvent(R.J.safeGet(),this.props.mxEvent),te.A.trackPinUnpinMessage(e?"Pin":"Unpin","Timeline"),this.closeMenu()}),(0,i.A)(this,"closeMenu",()=>{this.props.onFinished()}),(0,i.A)(this,"onUnhidePreviewClick",()=>{var e;null===(e=this.props.eventTileOps)||void 0===e||e.unhideWidget(),this.closeMenu()}),(0,i.A)(this,"onShareClick",e=>{e.preventDefault(),T.Ay.createDialog(z.G,{target:this.props.mxEvent,permalinkCreator:this.props.permalinkCreator}),this.closeMenu()}),(0,i.A)(this,"onCopyLinkClick",e=>{e.preventDefault(),this.props.link&&((0,F.nC)(this.props.link),this.closeMenu())}),(0,i.A)(this,"onCollapseReplyChainClick",()=>{var e,t;null===(e=(t=this.props).collapseReplyChain)||void 0===e||e.call(t),this.closeMenu()}),(0,i.A)(this,"onCopyClick",()=>{(0,F.nC)((0,F.j5)()),this.closeMenu()}),(0,i.A)(this,"onQuoteClick",()=>{const e=(0,F.j5)();if(e){const t=e.trim().split(/\r?\n/).map(e=>`> ${e}`).join("\n");I.A.dispatch({action:U.r.ComposerInsert,text:"\n"+t+"\n\n ",timelineRenderingType:this.context.timelineRenderingType})}this.closeMenu()}),(0,i.A)(this,"onEditClick",()=>{(0,j.ju)(R.J.safeGet(),this.props.mxEvent,this.context.timelineRenderingType,this.props.getRelationsForEvent),this.closeMenu()}),(0,i.A)(this,"onReplyClick",()=>{I.A.dispatch({action:"reply_to_event",event:this.props.mxEvent,context:this.context.timelineRenderingType}),this.closeMenu()}),(0,i.A)(this,"onReactClick",()=>{this.setState({reactionPickerDisplayed:!0})}),(0,i.A)(this,"onCloseReactionPicker",()=>{this.setState({reactionPickerDisplayed:!1}),this.closeMenu()}),(0,i.A)(this,"onEndPollClick",()=>{const e=R.J.safeGet();T.Ay.createDialog(q,{matrixClient:e,event:this.props.mxEvent,getRelationsForEvent:this.props.getRelationsForEvent},"mx_Dialog_endPoll"),this.closeMenu()}),(0,i.A)(this,"viewInRoom",()=>{I.A.dispatch({action:U.r.ViewRoom,event_id:this.props.mxEvent.getId(),highlighted:!0,room_id:this.props.mxEvent.getRoomId(),metricsTrigger:void 0}),this.closeMenu()}),this.state={canRedact:!1,canPin:!1,reactionPickerDisplayed:!1}}componentDidMount(){R.J.safeGet().on(a.RoomMemberEvent.PowerLevel,this.checkPermissions),this.props.mxEvent.on(a.MatrixEventEvent.Status,this.checkPermissions),this.checkPermissions()}componentWillUnmount(){const e=R.J.get();e&&e.removeListener(a.RoomMemberEvent.PowerLevel,this.checkPermissions),this.props.mxEvent.removeListener(a.MatrixEventEvent.Status,this.checkPermissions)}canEndPoll(e){return a.M_POLL_START.matches(e.getType())&&this.state.canRedact&&!(0,J.Ev)(e,R.J.safeGet())}isSelectionWithinSingleTextBody(){const e=window.getSelection();if(!e||0===e.rangeCount)return!1;const t=e.getRangeAt(0);function n(e,t){for(;e;){if(e instanceof HTMLElement&&e.classList.contains(t))return e;e=e.parentNode}return null}const s=n(t.startContainer,"mx_MTextBody"),o=n(t.endContainer,"mx_MTextBody");return!!s&&s===o}getReactions(e){var t;const n=R.J.safeGet().getRoom(this.props.mxEvent.getRoomId()),s=this.props.mxEvent.getId();return null!==(t=null==n?void 0:n.getPendingEvents().filter(t=>{const n=t.getRelation();return(null==n?void 0:n.rel_type)===a.RelationType.Annotation&&n.event_id===s&&e(t)}))&&void 0!==t?t:[]}getUnsentReactions(){return this.getReactions(e=>e.status===a.EventStatus.NOT_SENT)}render(){var e,t;const n=R.J.safeGet(),i=n.getUserId(),l=this.props,{mxEvent:I,rightClick:T,link:O,eventTileOps:U,reactions:V,collapseReplyChain:H}=l,z=(0,o.A)(l,ne);delete z.getRelationsForEvent,delete z.permalinkCreator;const K=I.status,$=this.getUnsentReactions().length,J=(0,j.qe)(I),G=null===(e=this.props.permalinkCreator)||void 0===e?void 0:e.forEvent(this.props.mxEvent.getId()),q=!K||K===a.EventStatus.SENT,{timelineRenderingType:X,canReact:te,canSendMessages:oe}=this.context,ie=(X===W.Ae.Thread||X===W.Ae.ThreadsList)&&(null==I||null===(t=I.getThread())||void 0===t?void 0:t.rootEvent)===I;let re,ae,le;I.isRedacted()||0===$||(re=r.createElement(D.R$,{icon:r.createElement(c.A,null),label:(0,P._t)("timeline|context_menu|resent_unsent_reactions",{unsentCount:$}),onClick:this.onResendReactionsClick})),q&&this.state.canRedact&&(ae=r.createElement(D.R$,{icon:r.createElement(d.A,null),label:(0,P._t)("action|remove"),onClick:this.onRedactClick}));const ce=(0,Q.V)(I,n);if(ce){const e=(0,Y.Gn)(ce);le=r.createElement(D.R$,{icon:r.createElement(u.A,null),onClick:null,label:(0,P._t)("timeline|context_menu|open_in_osm"),element:"a",href:e,target:"_blank",rel:"noreferrer noopener"})}let de;const ue=(0,Z.e)(I,n);J&&ue&&(de=r.createElement(D.R$,{icon:r.createElement(m.A,null),label:(0,P._t)("action|forward"),onClick:this.onForwardClick(ue)}));const me=r.createElement(D.R$,{icon:r.createElement(p.A,null),label:(0,P._t)("timeline|context_menu|view_source"),onClick:this.onViewSourceClick});let pe,he,ge,ve,fe,_e;null!=U&&U.isWidgetHidden()&&(pe=r.createElement(D.R$,{icon:r.createElement(h.A,null),label:(0,P._t)("timeline|context_menu|show_url_preview"),onClick:this.onUnhidePreviewClick})),G&&(he=r.createElement(D.R$,{icon:r.createElement(g.A,null),onClick:this.onShareClick,label:(0,P._t)("action|share"),element:"a",href:G,target:"_blank",rel:"noreferrer noopener"})),this.canEndPoll(I)&&(ge=r.createElement(D.R$,{icon:r.createElement(v.A,null),label:(0,P._t)("poll|end_title"),onClick:this.onEndPollClick})),"string"==typeof I.getContent().external_url&&(0,N.SR)(I.getContent().external_url)&&(ve=r.createElement(D.R$,{icon:r.createElement(f.A,null),onClick:this.closeMenu,label:(0,P._t)("timeline|context_menu|external_url"),element:"a",target:"_blank",rel:"noreferrer noopener",href:I.getContent().external_url})),H&&(fe=r.createElement(D.R$,{icon:r.createElement(_.A,null),label:(0,P._t)("timeline|context_menu|collapse_reply_thread"),onClick:this.onCollapseReplyChainClick}));const ye=I.getAssociatedId();let be,we;ye&&M.A.getValue("developerMode")&&(_e=r.createElement(D.R$,{icon:r.createElement(y.A,null),label:(0,P._t)("timeline|context_menu|view_related_event"),onClick:()=>this.onJumpToRelatedEventClick(ye)})),I.getSender()!==i&&(be=r.createElement(D.R$,{icon:r.createElement(b.A,null),label:(0,P._t)("timeline|context_menu|report"),onClick:this.onReportEventClick})),O&&(we=r.createElement(D.R$,{icon:r.createElement(w.A,null),onClick:this.onCopyLinkClick,label:(0,P._t)("action|copy_link"),element:"a",href:O,target:"_blank",rel:"noreferrer noopener"}));const Ee=(0,F.j5)();let Ae,xe,Se,Ce,ke,Re,Ie,Pe,Te,Oe;if(T&&Ee&&(Ae=r.createElement(D.R$,{icon:r.createElement(w.A,null),label:(0,P._t)("action|copy"),triggerOnMouseDown:!0,onClick:this.onCopyClick})),T&&Ee&&Ee.trim().length>0&&this.isSelectionWithinSingleTextBody()&&(xe=r.createElement(D.R$,{icon:r.createElement(E.A,null),label:(0,P._t)("action|quote"),triggerOnMouseDown:!0,onClick:this.onQuoteClick})),T&&(0,j.wQ)(n,I)&&(Se=r.createElement(D.R$,{icon:r.createElement(A.A,null),label:(0,P._t)("action|edit"),onClick:this.onEditClick})),T&&J&&oe&&(Ce=r.createElement(D.R$,{icon:r.createElement(x.A,null),label:(0,P._t)("action|reply"),onClick:this.onReplyClick})),T&&J&&oe&&a.Thread.hasServerSideSupport&&X!==W.Ae.Thread&&(ke=r.createElement(se,{mxEvent:I,closeMenu:this.closeMenu})),T&&J&&te&&(Re=r.createElement(D.R$,{icon:r.createElement(S.A,null),label:(0,P._t)("action|react"),onClick:this.onReactClick,inputRef:this.reactButtonRef})),T&&this.state.canPin){const e=ee.A.isPinned(R.J.safeGet(),this.props.mxEvent);Ie=r.createElement(D.R$,{icon:e?r.createElement(C.A,null):r.createElement(k.A,null),label:e?(0,P._t)("action|unpin"):(0,P._t)("action|pin"),onClick:()=>this.onPinClick(e)})}ie&&(Pe=r.createElement(D.R$,{icon:r.createElement(h.A,null),label:(0,P._t)("timeline|mab|view_in_room"),onClick:this.viewInRoom})),(Ae||xe||we)&&(Te=r.createElement(D.tx,null,Ae,xe,we)),(Se||Ce||Re||Ie)&&(Oe=r.createElement(D.tx,null,Re,Ce,ke,Se,Ie));const Me=r.createElement(D.tx,null,Pe,le,ge,de,he,be,ve,_e,pe,me,re,fe);let Ne,je;if(ae&&(Ne=r.createElement(D.tx,{red:!0},ae)),this.state.reactionPickerDisplayed){var De;const e=null===(De=this.reactButtonRef.current)||void 0===De?void 0:De.getBoundingClientRect();je=r.createElement(L.Ay,(0,s.A)({},(0,L.Dq)(e),{onFinished:this.closeMenu,managed:!1,focusLock:!0}),r.createElement(B.A,{mxEvent:I,onFinished:this.onCloseReactionPicker,reactions:V}))}return r.createElement(r.Fragment,null,r.createElement(D.Ay,(0,s.A)({},z,{className:"mx_MessageContextMenu",compact:!0}),Te,Oe,Me,Ne),je)}}(0,i.A)(oe,"contextType",W.Ay)},"./src/components/views/context_menus/RoomGeneralContextMenu.tsx"(e,t,n){"use strict";n.d(t,{e:()=>U});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./node_modules/react/index.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/favourite-solid.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/arrow-down.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-add.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/link.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/settings-solid.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/leave.js"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/mark-as-read.js"),h=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/mark-as-unread.js"),g=n("./src/accessibility/KeyboardShortcuts.ts"),v=n("./src/actions/RoomListActions.ts"),f=n("./src/contexts/MatrixClientContext.tsx"),_=n("./src/dispatcher/dispatcher.ts"),y=n("./src/hooks/useEventEmitter.ts"),b=n("./src/hooks/useUnreadNotifications.ts"),w=n("./src/KeyBindingsManager.ts"),E=n("./src/languageHandler.tsx"),A=n("./src/stores/notifications/NotificationLevel.ts"),x=n("./src/stores/room-list/models.ts"),S=n("./src/stores/room-list/RoomListStore.ts"),C=n("./src/utils/DMRoomMap.ts"),k=n("./src/utils/notifications.ts"),R=n("./src/components/views/context_menus/IconizedContextMenu.tsx"),I=n("./src/customisations/helpers/UIComponents.ts"),P=n("./src/settings/UIFeature.ts"),T=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/labs.js"),O=n("./src/Modal.tsx"),M=n("./src/components/views/dialogs/DevtoolsDialog.tsx");const N=({onFinished:e,roomId:t})=>r.createElement(R.R$,{onClick:()=>{O.Ay.createDialog(M.A,{roomId:t},"mx_DevtoolsDialog_wrapper"),e()},label:(0,E._t)("devtools|title"),icon:r.createElement(T.A,null)});var j=n("./src/hooks/useSettings.ts");const D=["room","onFinished","onPostFavoriteClick","onPostLowPriorityClick","onPostInviteClick","onPostCopyLinkClick","onPostSettingsClick","onPostLeaveClick","onPostForgetClick","onPostMarkAsReadClick","onPostMarkAsUnreadClick"],U=e=>{let{room:t,onFinished:n,onPostFavoriteClick:T,onPostLowPriorityClick:O,onPostInviteClick:M,onPostCopyLinkClick:U,onPostSettingsClick:F,onPostLeaveClick:L,onPostForgetClick:B,onPostMarkAsReadClick:V,onPostMarkAsUnreadClick:H}=e,z=(0,o.A)(e,D);const W=(0,r.useContext)(f.Ay),K=(0,y.dF)(S.Ay.instance,S.lA,()=>S.Ay.instance.getTagsForRoom(t)),$=C.A.shared().getUserIdForRoomId(t.roomId),J=(e,t,s=!1)=>o=>{o.preventDefault(),o.stopPropagation(),e(o);const i=(0,w.zM)().getAccessibilityAction(o);s&&i!==g.bY.Enter||n(),null==t||t(o)},G=(e,n)=>{if(W)if(n===x.zO.Favourite||n===x.zO.LowPriority){const e=n===x.zO.Favourite?x.zO.LowPriority:x.zO.Favourite,s=S.Ay.instance.getTagsForRoom(t).includes(n),o=s?n:e,i=s?null:n;_.A.dispatch(v.A.tagRoom(W,t,o,i,0))}else i.vF.warn(`Unexpected tag ${n} applied to ${t.roomId}`)},q=K.includes(x.zO.Favourite),Y=r.createElement(R.LS,{onClick:J(e=>G(0,x.zO.Favourite),T,!0),active:q,label:q?(0,E._t)("room|context_menu|unfavourite"):(0,E._t)("room|context_menu|favourite"),icon:r.createElement(a.A,null)}),Z=K.includes(x.zO.LowPriority),Q=r.createElement(R.LS,{onClick:J(e=>G(0,x.zO.LowPriority),O,!0),active:Z,label:(0,E._t)("room|context_menu|low_priority"),icon:r.createElement(l.A,null)});let X=null;t.canInvite(W.getUserId())&&!$&&(0,I.g)(P.C.InviteUsers)&&(X=r.createElement(R.R$,{onClick:J(()=>_.A.dispatch({action:"view_invite",roomId:t.roomId}),M),label:(0,E._t)("action|invite"),icon:r.createElement(c.A,null)}));let ee=null;$||(ee=r.createElement(R.R$,{onClick:J(()=>_.A.dispatch({action:"copy_room",room_id:t.roomId}),U),label:(0,E._t)("room|context_menu|copy_link"),icon:r.createElement(d.A,null)}));const te=r.createElement(R.R$,{onClick:J(()=>_.A.dispatch({action:"open_room_settings",room_id:t.roomId}),F),label:(0,E._t)("common|settings"),icon:r.createElement(u.A,null)});let ne;ne=K.includes(x.zO.Archived)?r.createElement(R.R$,{icon:r.createElement(m.A,null),label:(0,E._t)("room|context_menu|forget"),className:"mx_IconizedContextMenu_option_red",onClick:J(()=>_.A.dispatch({action:"forget_room",room_id:t.roomId}),B)}):r.createElement(R.R$,{onClick:J(()=>_.A.dispatch({action:"leave_room",room_id:t.roomId}),L),label:(0,E._t)("action|leave"),className:"mx_IconizedContextMenu_option_red",icon:r.createElement(m.A,null)});const{level:se}=(0,b.X)(t),oe=se>A.S.None?r.createElement(R.R$,{onClick:J(()=>{(0,k.G9)(t,W),null==n||n()},V),label:(0,E._t)("room|context_menu|mark_read"),icon:r.createElement(p.A,null)}):K.includes(x.zO.Archived)?null:r.createElement(R.R$,{onClick:J(()=>{(0,k.bR)(t,W,!0),null==n||n()},H),label:(0,E._t)("room|context_menu|mark_unread"),icon:r.createElement(h.A,null)}),ie=(0,j.ti)("developerMode")?r.createElement(N,{onFinished:n,roomId:t.roomId}):null;return r.createElement(R.Ay,(0,s.A)({},z,{onFinished:n,className:"mx_RoomGeneralContextMenu",compact:!0}),r.createElement(R.tx,null,oe,!K.includes(x.zO.Archived)&&r.createElement(r.Fragment,null,Y,Q,X,ee,te),ie),r.createElement(R.tx,{red:!0},ne))}},"./src/components/views/context_menus/RoomNotificationContextMenu.tsx"(e,t,n){"use strict";n.d(t,{f:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/accessibility/KeyboardShortcuts.ts"),a=n("./src/hooks/useRoomNotificationState.ts"),l=n("./src/KeyBindingsManager.ts"),c=n("./src/languageHandler.tsx"),d=n("./src/RoomNotifs.ts"),u=n("./src/components/views/context_menus/IconizedContextMenu.tsx");const m=["room","onFinished"],p=e=>{let{room:t,onFinished:n}=e,p=(0,o.A)(e,m);const[h,g]=(0,a.I)(t),v=(e,t=!1)=>s=>{s.preventDefault(),s.stopPropagation(),e(s);const o=(0,l.zM)().getAccessibilityAction(s);t&&o!==r.bY.Enter||n()},f=i.createElement(u.h6,{label:(0,c._t)("room|context_menu|notifications_default"),active:h===d.dC.AllMessages,onClick:v(()=>g(d.dC.AllMessages))}),_=i.createElement(u.h6,{label:(0,c._t)("notifications|all_messages"),active:h===d.dC.AllMessagesLoud,onClick:v(()=>g(d.dC.AllMessagesLoud))}),y=i.createElement(u.h6,{label:(0,c._t)("notifications|mentions_keywords"),active:h===d.dC.MentionsOnly,onClick:v(()=>g(d.dC.MentionsOnly))}),b=i.createElement(u.h6,{label:(0,c._t)("room|context_menu|notifications_mute"),active:h===d.dC.Mute,onClick:v(()=>g(d.dC.Mute))});return i.createElement(u.Ay,(0,s.A)({},p,{onFinished:n,className:"mx_RoomNotificationContextMenu",compact:!0}),i.createElement(u.tx,{first:!0},f,_,y,b))}},"./src/components/views/context_menus/SpaceContextMenu.tsx"(e,t,n){"use strict";n.d(t,{A:()=>R});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/home-solid.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/leave.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/plus.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/preferences.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/search.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/settings-solid.js"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-add.js"),h=n("./src/components/views/context_menus/IconizedContextMenu.tsx"),g=n("./src/languageHandler.tsx"),v=n("./src/utils/space.tsx"),f=n("./src/utils/leave-behaviour.ts"),_=n("./src/contexts/MatrixClientContext.tsx"),y=n("./src/dispatcher/dispatcher.ts"),b=n("./src/components/views/beta/BetaCard.tsx"),w=n("./src/settings/SettingsStore.ts"),E=n("./src/hooks/useSettings.ts"),A=n("./src/dispatcher/actions.ts"),x=n("./src/customisations/helpers/UIComponents.ts"),S=n("./src/settings/UIFeature.ts"),C=n("./src/PosthogTrackers.ts");const k=["space","hideHeader","onFinished"],R=e=>{let{space:t,hideHeader:n,onFinished:R}=e,I=(0,o.A)(e,k);const P=(0,i.useContext)(_.Ay).getSafeUserId(),T=(0,E.ny)("feature_video_rooms"),O=(0,E.ny)("feature_element_call_video_rooms");if(!t)return null;let M=null;if("public"===t.getJoinRule()||t.canInvite(P)){const e=e=>{e.preventDefault(),e.stopPropagation(),(0,v.Lo)(t),R()};M=i.createElement(h.R$,{className:"mx_SpacePanel_contextMenu_inviteButton",icon:i.createElement(p.A,null),label:(0,g._t)("action|invite"),onClick:e})}let N=null,j=null;if((0,v.Kv)(t)){const e=e=>{e.preventDefault(),e.stopPropagation(),(0,v.hL)(t),R()};N=i.createElement(h.R$,{icon:i.createElement(m.A,null),label:(0,g._t)("common|settings"),onClick:e})}else{const e=e=>{e.preventDefault(),e.stopPropagation(),(0,f.e)(t),R()};j=i.createElement(h.R$,{icon:i.createElement(l.A,null),className:"mx_IconizedContextMenu_option_red",label:(0,g._t)("space|leave_dialog_action"),onClick:e})}let D=null;if(w.A.getValue("developerMode")){const e=e=>{e.preventDefault(),e.stopPropagation(),y.A.dispatch({action:A.r.ViewRoom,room_id:t.roomId,forceTimeline:!0,metricsTrigger:void 0}),R()};D=i.createElement(h.R$,{icon:i.createElement(m.A,null),label:(0,g._t)("space|context_menu|devtools_open_timeline"),onClick:e})}const U=t.currentState.maySendStateEvent(r.EventType.SpaceChild,P),F=U&&(0,x.g)(S.C.CreateRooms),L=F&&T,B=U&&(0,x.g)(S.C.CreateSpaces);let V=null;if(F||B){const e=e=>{e.preventDefault(),e.stopPropagation(),C.A.trackInteraction("WebSpaceContextMenuNewRoomItem",e),(0,v.PT)(t),R()},n=e=>{e.preventDefault(),e.stopPropagation(),(0,v.PT)(t,O?r.RoomType.UnstableCall:r.RoomType.ElementVideo),R()},s=e=>{e.preventDefault(),e.stopPropagation(),(0,v.Sl)(t),R()};V=i.createElement(i.Fragment,null,i.createElement("div",{className:"mx_SpacePanel_contextMenu_separatorLabel"},(0,g._t)("action|add")),F&&i.createElement(h.R$,{icon:i.createElement(c.A,null),label:(0,g._t)("common|room"),onClick:e}),L&&i.createElement(h.R$,{icon:i.createElement(c.A,null),label:(0,g._t)("common|video_room"),onClick:n},i.createElement(b.s,null)),B&&i.createElement(h.R$,{icon:i.createElement(c.A,null),label:(0,g._t)("common|space"),onClick:s},i.createElement(b.s,null)))}const H=e=>{e.preventDefault(),e.stopPropagation(),y.A.dispatch({action:A.r.ViewRoom,room_id:t.roomId,metricsTrigger:void 0}),R()};return i.createElement(h.Ay,(0,s.A)({},I,{onFinished:R,className:"mx_SpacePanel_contextMenu",compact:!0}),!n&&i.createElement("div",{className:"mx_SpacePanel_contextMenu_header"},t.name),i.createElement(h.tx,{first:!0},i.createElement(h.R$,{icon:i.createElement(a.A,null),label:(0,g._t)("space|context_menu|home"),onClick:e=>{C.A.trackInteraction("WebSpaceContextMenuHomeItem",e),H(e)}}),M,i.createElement(h.R$,{icon:i.createElement(u.A,null),label:F?(0,g._t)("space|context_menu|manage_and_explore"):(0,g._t)("space|context_menu|explore"),onClick:e=>{C.A.trackInteraction("WebSpaceContextMenuExploreRoomsItem",e),H(e)}}),i.createElement(h.R$,{icon:i.createElement(d.A,null),label:(0,g._t)("common|preferences"),onClick:e=>{e.preventDefault(),e.stopPropagation(),(0,v.Wi)(t),R()}}),D,N,j,V))}},"./src/components/views/dialogs/AddExistingToSpaceDialog.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>V,FM:()=>U,HK:()=>M,M:()=>F,YZ:()=>B,nZ:()=>L,sS:()=>j});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/types.ts"),l=n("./node_modules/matrix-js-sdk/src/utils.ts"),c=n("./node_modules/matrix-js-sdk/src/logger.ts"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/restart.js"),p=n("./src/languageHandler.tsx"),h=n("./src/components/views/dialogs/BaseDialog.tsx"),g=n("./src/components/views/elements/Dropdown.tsx"),v=n("./src/components/structures/SearchBox.tsx"),f=n("./src/stores/spaces/SpaceStore.ts"),_=n("./src/components/views/avatars/RoomAvatar.tsx"),y=n("./src/Rooms.ts"),b=n("./src/components/views/elements/AccessibleButton.tsx"),w=n("./src/components/structures/AutoHideScrollbar.tsx"),E=n("./src/utils/DMRoomMap.ts"),A=n("./src/utils/permalinks/Permalinks.ts"),x=n("./src/components/views/elements/StyledCheckbox.tsx"),S=n("./src/contexts/MatrixClientContext.tsx"),C=n("./src/stores/room-list/algorithms/tag-sorting/RecentAlgorithm.ts"),k=n("./src/components/views/elements/ProgressBar.tsx"),R=n("./src/components/views/avatars/DecoratedRoomAvatar.tsx"),I=n("./src/autocomplete/QueryMatcher.ts"),P=n("./src/components/views/elements/LazyRenderList.tsx"),T=n("./src/hooks/useSettings.ts"),O=n("./src/utils/arrays.ts");const M=({room:e,checked:t,onChange:n})=>{const o=(0,s.useId)();return s.createElement("li",{id:o,className:"mx_AddExistingToSpace_entry","aria-label":e.name},null!=e&&e.isSpaceRoom()?s.createElement(_.A,{room:e,size:"32px"}):s.createElement(R.A,{room:e,size:"32px"}),s.createElement("span",{className:"mx_AddExistingToSpace_entry_name"},e.name),s.createElement(x.A,{"aria-labelledby":o,onChange:n?e=>n(e.currentTarget.checked):void 0,checked:t,disabled:!n}))},N=({scrollTop:e,height:t},n,...s)=>{let o=0;s.forEach(e=>{o+=39+44*e});const i=e,r=i+t,a=o+15,l=a+44*n,c=Math.max(i,a),d=Math.min(r,l);return{scrollTop:Math.max(0,e-a),height:Math.max(0,d-c)}},j=({space:e,footerPrompt:t,emptySelectionButton:n,filterPlaceholder:o,roomsRenderer:i,dmsRenderer:r,spacesRenderer:d,onFinished:h})=>{const g=(0,s.useContext)(S.Ay),_=(0,T.ti)("feature_dynamic_room_predecessors"),y=(0,s.useMemo)(()=>{var e;return null!==(e=null==g?void 0:g.getVisibleRooms(_).filter(e=>e.getMyMembership()===a.O.Join))&&void 0!==e?e:[]},[g,_]),x=(0,s.useRef)(null),[R,P]=(0,s.useState)({scrollTop:0,height:600}),[M,j]=(0,s.useState)(new Set),[D,U]=(0,s.useState)(null),[F,L]=(0,s.useState)(!1),[B,V]=(0,s.useState)(""),H=B.toLowerCase().trim(),z=(0,s.useMemo)(()=>new Set(f.Ay.instance.getChildSpaces(e.roomId)),[e]),W=(0,s.useMemo)(()=>new Set(f.Ay.instance.getChildRooms(e.roomId)),[e]),[K,$,J]=(0,s.useMemo)(()=>{let t=y;if(H){t=new I.A(y,{keys:["name"],funcs:[e=>(0,O.Bo)([e.getCanonicalAlias(),...e.getAltAliases()])],shouldMatchWordsOnly:!1}).match(H)}const n=e.getJoinRule();return(0,C.pP)(t).reduce((t,s)=>(s.isSpaceRoom()?s===e||z.has(s)||t[0].push(s):W.has(s)||(E.A.shared().getUserIdForRoomId(s.roomId)?"public"!==n&&t[2].push(s):t[1].push(s)),t),[[],[],[]])},[y,e,H,W,z]),G=async()=>{L(!1),U(0);let t=!1;for(const n of M){const s=(0,A.Ex)(n);try{await f.Ay.instance.addRoomToSpace(e,n.roomId,s).catch(async t=>{if("M_LIMIT_EXCEEDED"===t.errcode)return await(0,l.yy)(t.data.retry_after_ms),void await f.Ay.instance.addRoomToSpace(e,n.roomId,s);throw t}),U(e=>(null!=e?e:0)+1)}catch(e){c.vF.error("Failed to add rooms to space",e),t=!0;break}}t?L(t):h(!0)},q=null!==D;let Y;if(F)Y=s.createElement(s.Fragment,null,s.createElement(u.A,{height:"24px",width:"24px"}),s.createElement("span",{className:"mx_AddExistingToSpaceDialog_error"},s.createElement("div",{className:"mx_AddExistingToSpaceDialog_errorHeading"},(0,p._t)("space|add_existing_room_space|error_heading")),s.createElement("div",{className:"mx_AddExistingToSpaceDialog_errorCaption"},(0,p._t)("action|try_again"))),s.createElement(b.A,{className:"mx_AddExistingToSpaceDialog_retryButton",onClick:G},s.createElement(m.A,null),(0,p._t)("action|retry")));else if(q)Y=s.createElement("span",null,s.createElement(k.A,{value:D,max:M.size}),s.createElement("div",{className:"mx_AddExistingToSpaceDialog_progressText"},(0,p._t)("space|add_existing_room_space|progress_text",{count:M.size,progress:D})));else{let e=n;(!e||M.size>0)&&(e=s.createElement(b.A,{kind:"primary",disabled:M.size<1,onClick:G},(0,p._t)("action|add"))),Y=s.createElement(s.Fragment,null,s.createElement("span",null,t),e)}const Z=q||F?void 0:(e,t)=>{e?M.add(t):M.delete(t),j(new Set(M))},Q=!d||r||i?0:K.length,X=i?$.length:0,ee=r?J.length:0;let te=!0;(Q>0||X>0||ee>0)&&(te=!1);const ne=N(R,X),se=N(R,Q,X),oe=N(R,ee,Q,X);return s.createElement("div",{className:"mx_AddExistingToSpace"},s.createElement(v.A,{className:"mx_textinput_icon mx_textinput_search",placeholder:o,onSearch:V,autoFocus:!0}),s.createElement(w.A,{className:"mx_AddExistingToSpace_content",onScroll:()=>{var e;const t=null===(e=x.current)||void 0===e?void 0:e.containerRef.current;t&&P({scrollTop:t.scrollTop,height:t.clientHeight})},wrappedRef:e=>{e&&P({scrollTop:e.scrollTop,height:e.clientHeight})},ref:x},$.length>0&&i?i($,M,ne,Z):void 0,K.length>0&&d?d(K,M,se,Z):null,J.length>0&&r?r(J,M,oe,Z):null,te?s.createElement("span",{className:"mx_AddExistingToSpace_noResults"},(0,p._t)("common|no_results")):void 0),s.createElement("div",{className:"mx_AddExistingToSpace_footer"},Y))},D=e=>(t,n,{scrollTop:o,height:i},r)=>s.createElement("div",{className:"mx_AddExistingToSpace_section"},s.createElement("h3",null,(0,p._t)(e)),s.createElement(P.A,{element:"ul",itemHeight:44,items:t,scrollTop:o,height:i,renderItem:e=>s.createElement(M,{key:e.roomId,room:e,checked:n.has(e),onChange:r?t=>{r(t,e)}:void 0})})),U=D((0,p.AO)("common|rooms")),F=D((0,p.AO)("common|spaces")),L=D((0,p.AO)("space|add_existing_room_space|dm_heading")),B=({title:e,space:t,value:n,onChange:o})=>{const a=(0,s.useMemo)(()=>[t,...f.Ay.instance.getChildSpaces(t.roomId).filter(e=>e.currentState.maySendStateEvent(r.EventType.SpaceChild,e.client.getSafeUserId()))],[t]);let l;return l=a.length>1?s.createElement(g.A,{id:"mx_SpaceSelectDropdown",className:"mx_SpaceSelectDropdown",onOptionChange:e=>{o(a.find(t=>t.roomId===e)||t)},value:n.roomId,label:(0,p._t)("space|add_existing_room_space|space_dropdown_label")},a.map(e=>{const t=i()({mx_SubspaceSelector_dropdownOptionActive:e===n});return s.createElement("div",{key:e.roomId,className:t},s.createElement(_.A,{room:e,size:"24px"}),e.name||(0,y.zQ)(e)||e.roomId,e===n?s.createElement(d.A,null):null)})):s.createElement("div",{className:"mx_SubspaceSelector_onlySpace"},t.name||(0,y.zQ)(t)||t.roomId),s.createElement("div",{className:"mx_SubspaceSelector"},s.createElement(_.A,{room:n,size:"40px"}),s.createElement("div",null,s.createElement("h1",null,e),l))},V=({space:e,onCreateRoomClick:t,onAddSubspaceClick:n,onFinished:o})=>{const[i,r]=(0,s.useState)(e);return s.createElement(h.A,{title:s.createElement(B,{title:(0,p._t)("space|add_existing_room_space|space_dropdown_title"),space:e,value:i,onChange:r}),className:"mx_AddExistingToSpaceDialog",contentId:"mx_AddExistingToSpace",onFinished:o,fixedWidth:!1},s.createElement(S.Ay.Provider,{value:e.client},s.createElement(j,{space:e,onFinished:o,footerPrompt:s.createElement(s.Fragment,null,s.createElement("div",null,(0,p._t)("space|add_existing_room_space|create")),s.createElement(b.A,{kind:"link",onClick:e=>{t(e),o()}},(0,p._t)("space|add_existing_room_space|create_prompt"))),filterPlaceholder:(0,p._t)("space|room_filter_placeholder"),roomsRenderer:U,spacesRenderer:()=>s.createElement("div",{className:"mx_AddExistingToSpace_section"},s.createElement("h3",null,(0,p._t)("common|spaces")),s.createElement(b.A,{kind:"link",onClick:()=>{n(),o()}},(0,p._t)("space|add_existing_room_space|subspace_moved_note"))),dmsRenderer:L})))}},"./src/components/views/dialogs/AskInviteAnywayDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>l});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./src/settings/SettingsStore.ts"),r=n("./src/settings/SettingLevel.ts"),a=n("./src/components/views/dialogs/BaseDialog.tsx");function l({onFinished:e,onGiveUp:t,onInviteAnyways:n,unknownProfileUsers:l,description:c,inviteNeverWarnLabel:d,inviteLabel:u}){const m=(0,s.useCallback)(()=>{n(),e(!0)},[n,e]),p=(0,s.useCallback)(()=>{i.A.setValue("promptBeforeInviteUnknownUsers",null,r.p.ACCOUNT,!1),n(),e(!0)},[n,e]),h=(0,s.useCallback)(()=>{t(),e(!1)},[t,e]),g=l.map(e=>s.createElement("li",{key:e.userId},e.userId,": ",e.errorText)),v=null!=c?c:(0,o._t)("invite|unable_find_profiles_description_default");return s.createElement(a.A,{className:"mx_RetryInvitesDialog",onFinished:h,title:(0,o._t)("invite|unable_find_profiles_title"),contentId:"mx_Dialog_content"},s.createElement("div",{id:"mx_Dialog_content"},s.createElement("p",null,v),s.createElement("ul",null,g)),s.createElement("div",{className:"mx_Dialog_buttons"},s.createElement("button",{onClick:h},(0,o._t)("action|close")),s.createElement("button",{onClick:p},null!=d?d:(0,o._t)("invite|unable_find_profiles_invite_never_warn_label_default")),s.createElement("button",{onClick:m,autoFocus:!0},null!=u?u:(0,o._t)("invite|unable_find_profiles_invite_label_default"))))}},"./src/components/views/dialogs/BaseDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>_});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/react-focus-lock/dist/es2015/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./packages/shared-components/dist/element-web-shared-components.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),d=n("./src/components/views/elements/AccessibleButton.tsx"),u=n("./src/MatrixClientPeg.ts"),m=n("./src/languageHandler.tsx"),p=n("./src/contexts/MatrixClientContext.tsx"),h=n("./src/components/views/typography/Heading.tsx"),g=n("./src/PosthogTrackers.ts"),v=n("./src/KeyBindingsManager.ts"),f=n("./src/accessibility/KeyboardShortcuts.ts");class _ extends o.Component{constructor(e){super(e),(0,s.A)(this,"matrixClient",void 0),(0,s.A)(this,"onKeyDown",e=>{var t,n,s,o;null===(t=(n=this.props).onKeyDown)||void 0===t||t.call(n,e);switch((0,v.zM)().getAccessibilityAction(e)){case f.bY.Escape:if(!this.props.hasCancel)break;e.stopPropagation(),e.preventDefault(),null===(s=(o=this.props).onFinished)||void 0===s||s.call(o)}}),(0,s.A)(this,"onCancelClick",()=>{var e,t;null===(e=(t=this.props).onFinished)||void 0===e||e.call(t)}),this.matrixClient=u.J.get()}render(){let e,t;this.props.hasCancel&&(e=o.createElement(d.A,{onClick:this.onCancelClick,className:"mx_Dialog_cancelButton",title:(0,m._t)("action|close"),"aria-label":(0,m._t)("dialog_close_label"),placement:"bottom"},o.createElement(c.A,null))),this.props.headerImage&&(t=o.createElement("img",{className:"mx_Dialog_titleImage",src:this.props.headerImage,alt:""}));const n={onKeyDown:this.onKeyDown,role:"dialog",tabIndex:-1,"aria-describedby":this.props.contentId};return this.props["aria-label"]?n["aria-label"]=this.props["aria-label"]:n["aria-labelledby"]="mx_BaseDialog_title",o.createElement(l.gJ.Provider,{value:window.mxModuleApi.i18n},o.createElement(p.Ay.Provider,{value:this.matrixClient},this.props.screenName&&o.createElement(g.Z,{screenName:this.props.screenName}),o.createElement(i.Ay,{returnFocus:!0,lockProps:n,className:a()(this.props.className,{mx_Dialog_fixedWidth:this.props.fixedWidth})},this.props.top,o.createElement("div",{className:a()("mx_Dialog_header",{mx_Dialog_headerWithButton:!!this.props.headerButton})},!(!this.props.title&&!t)&&o.createElement(h.A,{size:"3",as:"h1",className:a()("mx_Dialog_title",this.props.titleClass),id:"mx_BaseDialog_title"},t,this.props.title),this.props.headerButton),this.props.children,e)))}}(0,s.A)(_,"defaultProps",{hasCancel:!0,fixedWidth:!0})},"./src/components/views/dialogs/BugReportDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>E});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Text.js"),r=n("./node_modules/@vector-im/compound-web/dist/components/Link/Link.js"),a=n("./src/SdkConfig.ts"),l=n("./src/Modal.tsx"),c=n("./src/languageHandler.tsx"),d=n("./src/rageshake/submit-rageshake.ts"),u=n("./src/components/views/elements/AccessibleButton.tsx"),m=n("./src/components/views/dialogs/QuestionDialog.tsx"),p=n("./src/components/views/dialogs/BaseDialog.tsx"),h=n("./src/components/views/elements/Field.tsx"),g=n("./src/components/views/elements/Spinner.tsx"),v=n("./src/components/views/elements/DialogButtons.tsx"),f=n("./src/sentry.ts"),_=n("./src/dispatcher/dispatcher.ts"),y=n("./src/dispatcher/actions.ts"),b=n("./src/SupportedBrowser.ts"),w=n("./src/IConfigOptions.ts");class E extends o.Component{constructor(e){super(e),(0,s.A)(this,"unmounted",void 0),(0,s.A)(this,"issueRef",void 0),(0,s.A)(this,"isLocalOnly",void 0),(0,s.A)(this,"onCancel",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"onSubmit",()=>{if(!(this.state.text&&this.state.text.trim()||this.state.issueUrl&&this.state.issueUrl.trim()))return void this.setState({err:(0,c._t)("bug_reporting|error_empty")});const e=(this.state.text.length>0?this.state.text+"\n\n":"")+"Issue: "+(this.state.issueUrl.length>0?this.state.issueUrl:"No issue link given");this.setState({busy:!0,progress:null,err:null}),this.sendProgressCallback((0,c._t)("bug_reporting|preparing_logs")),this.isLocalOnly?this.setState({err:(0,c._t)("bug_reporting|failed_send_logs_causes|unknown_error")}):((0,d.Ay)(a.Ay.get().bug_report_endpoint_url,{userText:e,sendLogs:!0,progressCallback:this.sendProgressCallback,labels:this.props.label?[this.props.label]:[]}).then(()=>{this.unmounted||(this.props.onFinished(!1),l.Ay.createDialog(m.A,{title:(0,c._t)("bug_reporting|logs_sent"),description:(0,c._t)("bug_reporting|thank_you"),hasCancelButton:!1}))},e=>{this.unmounted||this.setState({busy:!1,progress:null,err:this.getErrorText(e)})}),(0,f.KB)(this.state.text,this.state.issueUrl,this.props.error))}),(0,s.A)(this,"onDownload",async()=>{this.setState({downloadBusy:!0}),this.downloadProgressCallback((0,c._t)("bug_reporting|preparing_download"));try{await(0,d.v0)({sendLogs:!0,progressCallback:this.downloadProgressCallback,labels:this.props.label?[this.props.label]:[]}),this.setState({downloadBusy:!1,downloadProgress:null})}catch(e){this.unmounted||this.setState({downloadBusy:!1,downloadProgress:(0,c._t)("bug_reporting|failed_download_logs")+`${e instanceof Error?e.message:""}`})}}),(0,s.A)(this,"onTextChange",e=>{this.setState({text:e.currentTarget.value})}),(0,s.A)(this,"onIssueUrlChange",e=>{this.setState({issueUrl:e.currentTarget.value})}),(0,s.A)(this,"sendProgressCallback",e=>{this.unmounted||this.setState({progress:e})}),(0,s.A)(this,"downloadProgressCallback",e=>{this.unmounted||this.setState({downloadProgress:e})}),this.state={sendLogs:!0,busy:!1,err:null,issueUrl:"",text:e.initialText||"",progress:null,downloadBusy:!1,downloadProgress:null},this.unmounted=!1,this.issueRef=o.createRef(),this.isLocalOnly=a.Ay.get().bug_report_endpoint_url===w.m}componentDidMount(){var e;this.unmounted=!1,null===(e=this.issueRef.current)||void 0===e||e.focus(),_.A.dispatch({action:y.r.DumpDebugLogs})}componentWillUnmount(){this.unmounted=!0}getErrorText(e){var t;if(e instanceof d.U9){let n;switch(e.errorcode){case"DISALLOWED_APP":n=(0,c._t)("bug_reporting|failed_send_logs_causes|disallowed_app");break;case"REJECTED_BAD_VERSION":n=(0,c._t)("bug_reporting|failed_send_logs_causes|rejected_version");break;case"REJECTED_UNEXPECTED_RECOVERY_KEY":n=(0,c._t)("bug_reporting|failed_send_logs_causes|rejected_recovery_key");break;default:n=null!==(t=e.errorcode)&&void 0!==t&&t.startsWith("REJECTED")?(0,c._t)("bug_reporting|failed_send_logs_causes|rejected_generic"):(0,c._t)("bug_reporting|failed_send_logs_causes|server_unknown_error")}return o.createElement(o.Fragment,null,o.createElement("p",null,n),e.policyURL&&o.createElement(r.N,{size:"medium",target:"_blank",href:e.policyURL},(0,c._t)("action|learn_more")))}return o.createElement("p",null,(0,c._t)("bug_reporting|failed_send_logs_causes|unknown_error"))}render(){let e,t,n;return this.state.err&&(e=o.createElement("div",{className:"error"},this.state.err)),this.state.busy&&(t=o.createElement("div",{className:"progress"},o.createElement(g.A,null),this.state.progress," ...")),(window.Modernizr&&Object.values(window.Modernizr).some(e=>!1===e)||!(0,b.mM)())&&(n=o.createElement(i.E,{weight:"semibold"},(0,c._t)("bug_reporting|unsupported_browser"))),o.createElement(p.A,{className:"mx_BugReportDialog",onFinished:this.onCancel,title:this.isLocalOnly?(0,c._t)("bug_reporting|download_logs"):(0,c._t)("bug_reporting|submit_debug_logs"),contentId:"mx_Dialog_content"},o.createElement("div",{className:"mx_Dialog_content",id:"mx_Dialog_content"},n,o.createElement(i.E,null,(0,c._t)("bug_reporting|description")),this.isLocalOnly?o.createElement(o.Fragment,null,this.state.downloadProgress&&o.createElement("span",null,this.state.downloadProgress," ...")):o.createElement(o.Fragment,null,o.createElement(i.E,{weight:"semibold"},(0,c._t)("bug_reporting|before_submitting",{},{a:e=>o.createElement(r.N,{target:"_blank",href:a.Ay.get().feedback.new_issue_url},e)})),o.createElement("div",{className:"mx_BugReportDialog_download"},o.createElement(u.A,{onClick:this.onDownload,kind:"link",disabled:this.state.downloadBusy},(0,c._t)("bug_reporting|download_logs")),this.state.downloadProgress&&o.createElement("span",null,this.state.downloadProgress," ...")),o.createElement(h.A,{type:"text",className:"mx_BugReportDialog_field_input",label:(0,c._t)("bug_reporting|github_issue"),onChange:this.onIssueUrlChange,value:this.state.issueUrl,placeholder:"https://github.com/vector-im/element-web/issues/...",ref:this.issueRef}),o.createElement(h.A,{className:"mx_BugReportDialog_field_input",element:"textarea",label:(0,c._t)("bug_reporting|textarea_label"),rows:5,onChange:this.onTextChange,value:this.state.text,placeholder:(0,c._t)("bug_reporting|additional_context")}),t,e)),o.createElement(v.A,{primaryButton:this.isLocalOnly?(0,c._t)("bug_reporting|download_logs"):(0,c._t)("bug_reporting|send_logs"),onPrimaryButtonClick:this.isLocalOnly?this.onDownload:this.onSubmit,focus:!0,onCancel:this.onCancel,disabled:this.isLocalOnly?this.state.downloadBusy:this.state.busy}))}}},"./src/components/views/dialogs/ConfirmRedactDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>m,Q:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/languageHandler.tsx"),r=n("./src/MatrixClientPeg.ts"),a=n("./src/Modal.tsx"),l=n("./src/components/views/dialogs/ErrorDialog.tsx"),c=n("./src/components/views/dialogs/TextInputDialog.tsx");function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class m extends o.Component{render(){let e=(0,i._t)("redact|confirm_description");return this.props.event.isState()&&(e+=" "+(0,i._t)("redact|confirm_description_state")),o.createElement(c.A,{onFinished:this.props.onFinished,title:(0,i._t)("redact|confirm_button"),description:e,placeholder:(0,i._t)("redact|reason_label"),focus:!0,button:(0,i._t)("action|remove")})}}function p({mxEvent:e,onCloseDialog:t=()=>{}}){const n=e.getId();if(!n)throw new Error("cannot redact event without ID");const s=e.getRoomId();if(!s)throw new Error(`cannot redact event ${e.getId()} without room ID`);const{finished:o}=a.Ay.createDialog(m,{event:e},"mx_Dialog_confirmredact");o.then(async([e,o])=>{if(!e)return;const c=r.J.safeGet(),d={};try{null==t||t(),await c.redactEvent(s,n,void 0,u(u({},o?{reason:o}:{}),d))}catch(e){const t=e.errcode||e.statusCode;void 0!==t&&a.Ay.createDialog(l.A,{title:(0,i._t)("common|error"),description:(0,i._t)("redact|error",{code:t})})}})}},"./src/components/views/dialogs/ConfirmUserActionDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./src/languageHandler.tsx"),l=n("./src/components/views/avatars/MemberAvatar.tsx"),c=n("./src/components/views/dialogs/BaseDialog.tsx"),d=n("./src/components/views/elements/DialogButtons.tsx"),u=n("./src/components/views/elements/Field.tsx"),m=n("./src/customisations/UserIdentifier.ts");class p extends o.Component{constructor(e){super(e),(0,s.A)(this,"onOk",e=>{e.preventDefault(),this.props.onFinished(!0,this.state.reason)}),(0,s.A)(this,"onCancel",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"onReasonChange",e=>{this.setState({reason:e.target.value})}),this.state={reason:""}}render(){const e=this.props.danger?"danger":"";let t;this.props.askReason&&(t=o.createElement("form",{onSubmit:this.onOk},o.createElement(u.A,{type:"text",onChange:this.onReasonChange,value:this.state.reason,className:"mx_ConfirmUserActionDialog_reasonField",label:(0,a._t)("room_settings|permissions|ban_reason"),autoFocus:!0})));const n=o.createElement(l.A,{member:this.props.member,size:"48px"}),s=this.props.member.name,i=this.props.member.userId,p=m.A.getDisplayUserIdentifier(i,{roomId:this.props.roomId,withDisplayName:!0});return o.createElement(c.A,{className:r()("mx_ConfirmUserActionDialog",this.props.className),onFinished:this.props.onFinished,title:this.props.title,contentId:"mx_Dialog_content"},o.createElement("div",{id:"mx_Dialog_content",className:"mx_Dialog_content"},o.createElement("div",{className:"mx_ConfirmUserActionDialog_user"},o.createElement("div",{className:"mx_ConfirmUserActionDialog_avatar"},n),o.createElement("div",{className:"mx_ConfirmUserActionDialog_name"},s),o.createElement("div",{className:"mx_ConfirmUserActionDialog_userId"},p)),t,this.props.children),o.createElement(d.A,{primaryButton:this.props.action,onPrimaryButtonClick:this.onOk,primaryButtonClass:e,focus:!this.props.askReason,onCancel:this.onCancel}))}}(0,s.A)(p,"defaultProps",{danger:!1,askReason:!1})},"./src/components/views/dialogs/CreateRoomDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>A});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),l=n("./src/SdkConfig.ts"),c=n("./src/components/views/elements/Validation.tsx"),d=n("./src/languageHandler.tsx"),u=n("./src/MatrixClientPeg.ts"),m=n("./src/createRoom.ts"),p=n("./src/components/views/elements/Field.tsx"),h=n("./src/components/views/elements/RoomAliasField.tsx"),g=n("./src/components/views/elements/DialogButtons.tsx"),v=n("./src/components/views/dialogs/BaseDialog.tsx"),f=n("./src/components/views/elements/JoinRuleDropdown.tsx"),_=n("./src/KeyBindingsManager.ts"),y=n("./src/accessibility/KeyboardShortcuts.ts"),b=n("./src/utils/rooms.ts"),w=n("./src/settings/SettingsStore.ts"),E=n("./src/settings/UIFeature.ts");class A extends o.Component{constructor(e){var t,n;super(e),(0,s.A)(this,"askToJoinEnabled",void 0),(0,s.A)(this,"advancedSettingsEnabled",void 0),(0,s.A)(this,"allowCreatingPublicRooms",void 0),(0,s.A)(this,"supportsRestricted",void 0),(0,s.A)(this,"nameField",(0,o.createRef)()),(0,s.A)(this,"aliasField",(0,o.createRef)()),(0,s.A)(this,"onKeyDown",e=>{if((0,_.zM)().getAccessibilityAction(e)===y.bY.Enter)this.onOk(),e.preventDefault(),e.stopPropagation()}),(0,s.A)(this,"onOk",async()=>{if(!this.nameField.current)return;const e=document.activeElement;if(null==e||e.blur(),await this.nameField.current.validate({allowEmpty:!1}),this.aliasField.current&&await this.aliasField.current.validate({allowEmpty:!1}),await new Promise(e=>this.setState({},e)),!this.state.nameIsValid||this.aliasField.current&&!this.aliasField.current.isValid){let e=null;this.state.nameIsValid?this.aliasField.current&&!this.aliasField.current.isValid&&(e=this.aliasField.current):e=this.nameField.current,e&&(e.focus(),await e.validate({allowEmpty:!1,focused:!0}))}else this.props.onFinished(!0,this.roomCreateOptions())}),(0,s.A)(this,"onCancel",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"onNameChange",e=>{this.setState({name:e.target.value})}),(0,s.A)(this,"onTopicChange",e=>{this.setState({topic:e.target.value})}),(0,s.A)(this,"onJoinRuleChange",e=>{this.setState({joinRule:e})}),(0,s.A)(this,"onEncryptedChange",e=>{this.setState({isEncrypted:e.target.checked})}),(0,s.A)(this,"onStateEncryptedChange",e=>{this.setState({isStateEncrypted:e.target.checked})}),(0,s.A)(this,"onAliasChange",e=>{this.setState({alias:e})}),(0,s.A)(this,"onDetailsToggled",e=>{this.setState({detailsOpen:e.target.open})}),(0,s.A)(this,"onNoFederateChange",e=>{this.setState({noFederate:e.target.checked})}),(0,s.A)(this,"onNameValidate",async e=>{const t=await A.validateRoomName(e);return this.setState({nameIsValid:!!t.valid}),t}),(0,s.A)(this,"onIsPublicKnockRoomChange",e=>{this.setState({isPublicKnockRoom:e.target.checked})}),this.askToJoinEnabled=w.A.getValue("feature_ask_to_join"),this.advancedSettingsEnabled=w.A.getValue(E.f.AdvancedSettings),this.allowCreatingPublicRooms=w.A.getValue(E.f.AllowCreatingPublicRooms),this.supportsRestricted=!!this.props.parentSpace;const r=this.allowCreatingPublicRooms&&this.props.defaultPublic;let a=i.JoinRule.Invite;r?a=i.JoinRule.Public:this.supportsRestricted&&(a=i.JoinRule.Restricted);const c=u.J.safeGet();this.state={isPublicKnockRoom:r||!1,isEncrypted:null!==(t=this.props.defaultEncrypted)&&void 0!==t?t:(0,b.u)(c),isStateEncrypted:null!==(n=this.props.defaultStateEncrypted)&&void 0!==n&&n,joinRule:a,name:this.props.defaultName||"",topic:"",alias:"",detailsOpen:!1,noFederate:!1===l.Ay.get().default_federate,nameIsValid:!1,canChangeEncryption:!1}}roomCreateOptions(){const e={},t=e.createOpts={};if(e.roomType=this.props.type,e.name=this.state.name,this.state.joinRule===i.JoinRule.Public){t.visibility=i.Visibility.Public,t.preset=i.Preset.PublicChat,e.guestAccess=!1;const{alias:n}=this.state;t.room_alias_name=n.substring(1,n.indexOf(":"))}else{const t=w.A.getValue("feature_msc4362_encrypted_state_events",null,!1);e.encryption=this.state.isEncrypted,e.stateEncryption=t&&this.state.isStateEncrypted}return this.state.topic&&(e.topic=this.state.topic),this.state.noFederate&&(t.creation_content={"m.federate":!1}),e.parentSpace=this.props.parentSpace,this.props.parentSpace&&this.state.joinRule===i.JoinRule.Restricted&&(e.joinRule=i.JoinRule.Restricted),this.state.joinRule===i.JoinRule.Knock&&(e.joinRule=i.JoinRule.Knock,t.visibility=this.state.isPublicKnockRoom?i.Visibility.Public:i.Visibility.Private),e}componentDidMount(){var e;const t=u.J.safeGet();(0,m.e)(t,i.Preset.PrivateChat).then(({allowChange:e,forcedValue:t})=>this.setState(n=>({canChangeEncryption:e,isEncrypted:null!=t?t:n.isEncrypted}))),null===(e=this.nameField.current)||void 0===e||e.focus()}render(){const e=this.props.type===i.RoomType.ElementVideo||this.props.type===i.RoomType.UnstableCall;let t,n,s,c,m;if(this.state.joinRule===i.JoinRule.Public){const e=u.J.safeGet().getDomain();t=o.createElement("div",{className:"mx_CreateRoomDialog_aliasContainer"},o.createElement(h.A,{ref:this.aliasField,onChange:this.onAliasChange,domain:e,value:this.state.alias}))}if(this.state.joinRule===i.JoinRule.Restricted?n=o.createElement("p",null,(0,d._t)("create_room|join_rule_restricted_label",{},{SpaceName:()=>{var e,t;return o.createElement("strong",null,null!==(e=null===(t=this.props.parentSpace)||void 0===t?void 0:t.name)&&void 0!==e?e:(0,d._t)("common|unnamed_space"))}})," ",(0,d._t)("create_room|join_rule_change_notice")):this.state.joinRule===i.JoinRule.Public&&this.props.parentSpace?n=o.createElement("p",null,(0,d._t)("create_room|join_rule_public_parent_space_label",{},{SpaceName:()=>{var e,t;return o.createElement("strong",null,null!==(e=null===(t=this.props.parentSpace)||void 0===t?void 0:t.name)&&void 0!==e?e:(0,d._t)("common|unnamed_space"))}})," ",(0,d._t)("create_room|join_rule_change_notice")):this.state.joinRule===i.JoinRule.Public?n=o.createElement("p",null,(0,d._t)("create_room|join_rule_public_label")," ",(0,d._t)("create_room|join_rule_change_notice")):this.state.joinRule===i.JoinRule.Invite?n=o.createElement("p",null,(0,d._t)("create_room|join_rule_invite_label")," ",(0,d._t)("create_room|join_rule_change_notice")):this.state.joinRule===i.JoinRule.Knock&&(n=o.createElement("p",null,(0,d._t)("create_room|join_rule_knock_label"))),this.state.joinRule===i.JoinRule.Knock&&(s=o.createElement(a.I,{name:"publish-room",className:"mx_CreateRoomDialog_labelledCheckbox",label:(0,d._t)("room_settings|security|publish_room"),onChange:this.onIsPublicKnockRoomChange,checked:this.state.isPublicKnockRoom})),this.state.joinRule!==i.JoinRule.Public){let t;t=(0,b.u)(u.J.safeGet())?this.state.canChangeEncryption?e?(0,d._t)("create_room|encrypted_video_room_warning"):(0,d._t)("create_room|encrypted_warning"):(0,d._t)("create_room|encryption_forced"):(0,d._t)("settings|security|e2ee_default_disabled_warning"),c=o.createElement(a.I,{name:"encryption-toggle",label:(0,d._t)("create_room|encryption_label"),onChange:this.onEncryptedChange,checked:this.state.isEncrypted,disabled:!this.state.canChangeEncryption,helpMessage:t})}if(w.A.getValue("feature_msc4362_encrypted_state_events",null,!1)&&this.state.joinRule!==i.JoinRule.Public){let e;e=this.state.canChangeEncryption?(0,d._t)("create_room|state_encrypted_warning"):(0,d._t)("create_room|encryption_forced"),m=o.createElement(a.I,{name:"state-encryption-toggle",label:(0,d._t)("create_room|state_encryption_label"),onChange:this.onStateEncryptedChange,checked:this.state.isStateEncrypted,disabled:!this.state.canChangeEncryption,helpMessage:e})}let _,y=(0,d._t)("create_room|unfederated_label_default_off");return!1===l.Ay.get().default_federate&&(y=(0,d._t)("create_room|unfederated_label_default_on")),_=e?(0,d._t)("create_room|title_video_room"):this.props.parentSpace||this.state.joinRule===i.JoinRule.Knock?(0,d._t)("action|create_a_room"):this.state.joinRule===i.JoinRule.Public?(0,d._t)("create_room|title_public_room"):(0,d._t)("create_room|title_private_room"),o.createElement(v.A,{className:"mx_CreateRoomDialog",onFinished:this.props.onFinished,title:_,screenName:"CreateRoom"},o.createElement("div",{className:"mx_Dialog_content"},o.createElement(r.b,{onSubmit:this.onOk,onKeyDown:this.onKeyDown},o.createElement(p.A,{ref:this.nameField,label:(0,d._t)("common|name"),onChange:this.onNameChange,onValidate:this.onNameValidate,value:this.state.name,className:"mx_CreateRoomDialog_name"}),o.createElement(p.A,{label:(0,d._t)("create_room|topic_label"),onChange:this.onTopicChange,value:this.state.topic,className:"mx_CreateRoomDialog_topic"}),o.createElement("div",null,o.createElement(f.A,{label:(0,d._t)("create_room|room_visibility_label"),labelInvite:(0,d._t)("create_room|join_rule_invite"),labelKnock:this.askToJoinEnabled?(0,d._t)("room_settings|security|join_rule_knock"):void 0,labelPublic:this.allowCreatingPublicRooms?(0,d._t)("common|public_room"):void 0,labelRestricted:this.supportsRestricted?(0,d._t)("create_room|join_rule_restricted"):void 0,value:this.state.joinRule,onChange:this.onJoinRuleChange}),n),s,c,m,t,this.advancedSettingsEnabled&&o.createElement("details",{onToggle:this.onDetailsToggled,className:"mx_CreateRoomDialog_details"},o.createElement("summary",{className:"mx_CreateRoomDialog_details_summary"},this.state.detailsOpen?(0,d._t)("action|hide_advanced"):(0,d._t)("action|show_advanced")),o.createElement(a.I,{name:"unfederated",label:(0,d._t)("create_room|unfederated",{serverName:u.J.safeGet().getDomain()}),onChange:this.onNoFederateChange,checked:this.state.noFederate,helpMessage:y})))),o.createElement(g.A,{primaryButton:e?(0,d._t)("create_room|action_create_video_room"):(0,d._t)("create_room|action_create_room"),onPrimaryButtonClick:this.onOk,onCancel:this.onCancel}))}}(0,s.A)(A,"validateRoomName",(0,c.A)({rules:[{key:"required",test:async({value:e})=>!!e,invalid:()=>(0,d._t)("create_room|name_validation_required")}]}))},"./src/components/views/dialogs/DevtoolsDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>ue});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),i=n("./src/languageHandler.tsx"),r=n("./src/contexts/MatrixClientContext.tsx"),a=n("./src/components/views/dialogs/BaseDialog.tsx"),l=n("./src/components/views/dialogs/devtools/Event.tsx"),c=n("./node_modules/matrix-js-sdk/src/matrix.ts"),d=n("./node_modules/matrix-js-sdk/src/types.ts"),u=n("./src/components/views/dialogs/devtools/BaseTool.tsx");const m=({onBack:e})=>{const t=(0,s.useContext)(u.I),n=(0,s.useMemo)(()=>{const e={};return t.room.currentState.getStateEvents(c.EventType.RoomMember).forEach(t=>{var n;if(t.getContent().membership!==d.O.Join)return;const s=t.getSender().split(":")[1];e[s]=(null!==(n=e[s])&&void 0!==n?n:0)+1}),e},[t.room]);return s.createElement(u.A,{onBack:e},s.createElement("table",null,s.createElement("thead",null,s.createElement("tr",null,s.createElement("th",null,(0,i._t)("common|server")),s.createElement("th",null,(0,i._t)("devtools|number_of_users")))),s.createElement("tbody",null,Object.entries(n).map(([e,t])=>s.createElement("tr",{key:e},s.createElement("td",null,e),s.createElement("td",null,t))))))};var p=n("./node_modules/matrix-js-sdk/src/logger.ts"),h=n("./src/components/views/elements/AccessibleButton.tsx"),g=n("./src/settings/SettingsStore.ts"),v=n("./src/settings/Settings.tsx"),f=n("./src/components/views/elements/Field.tsx");const _=({onBack:e})=>{const[t,n]=(0,s.useState)(null),[o,i]=(0,s.useState)(!1);if(t&&o){const e=()=>{i(!1)};return s.createElement(w,{setting:t,onBack:e})}if(t){const e=()=>{n(null)},o=async()=>{i(!0)};return s.createElement(E,{setting:t,onBack:e,onEdit:o})}{const t=e=>{n(e)},o=e=>{n(e),i(!0)};return s.createElement(x,{onBack:e,onView:t,onEdit:o})}},y=({setting:e,roomId:t,level:n})=>{const o=g.A.canSetValue(e,null!=t?t:null,n),i=o?"mx_DevTools_SettingsExplorer_mutable":"mx_DevTools_SettingsExplorer_immutable";return s.createElement("td",{className:i},s.createElement("code",null,o.toString()))};function b(e,t){const n={};for(const s of g.s)try{n[s]=g.A.getValueAt(s,e,t,!0,!0),void 0===n[s]&&(n[s]=null)}catch(e){p.vF.warn(e)}return JSON.stringify(n,null,4)}const w=({setting:e,onBack:t})=>{const n=(0,s.useContext)(u.I),[o,r]=(0,s.useState)(b(e)),[a,l]=(0,s.useState)(b(e,n.room.roomId));return s.createElement(u.A,{onBack:t,actionLabel:(0,i.AO)("devtools|save_setting_values"),onAction:async()=>{try{const s=JSON.parse(o),i=JSON.parse(a);for(const t of Object.keys(s)){p.vF.log(`[Devtools] Setting value of ${e} at ${t} from user input`);try{const n=s[t];await g.A.setValue(e,null,t,n)}catch(e){p.vF.warn(e)}}const r=n.room.roomId;for(const t of Object.keys(s)){p.vF.log(`[Devtools] Setting value of ${e} at ${t} in ${r} from user input`);try{const n=i[t];await g.A.setValue(e,r,t,n)}catch(e){p.vF.warn(e)}}t()}catch(e){return(0,i._t)("devtools|failed_to_save")+(e instanceof Error?` (${e.message})`:"")}}},s.createElement("h3",null,(0,i._t)("devtools|setting_colon")," ",s.createElement("code",null,e)),s.createElement("div",{className:"mx_DevTools_SettingsExplorer_warning"},s.createElement("strong",null,(0,i._t)("devtools|caution_colon"))," ",(0,i._t)("devtools|use_at_own_risk")),s.createElement("div",null,(0,i._t)("devtools|setting_definition"),s.createElement("pre",null,s.createElement("code",null,JSON.stringify(v.yy[e],null,4)))),s.createElement("div",null,s.createElement("table",null,s.createElement("thead",null,s.createElement("tr",null,s.createElement("th",null,(0,i._t)("devtools|level")),s.createElement("th",null,(0,i._t)("devtools|settable_global")),s.createElement("th",null,(0,i._t)("devtools|settable_room")))),s.createElement("tbody",null,g.s.map(t=>s.createElement("tr",{key:t},s.createElement("td",null,s.createElement("code",null,t)),s.createElement(y,{setting:e,level:t}),s.createElement(y,{setting:e,roomId:n.room.roomId,level:t})))))),s.createElement("div",null,s.createElement(f.A,{id:"valExpl",label:(0,i._t)("devtools|values_explicit"),type:"text",className:"mx_DevTools_textarea",element:"textarea",autoComplete:"off",value:o,onChange:e=>r(e.target.value)})),s.createElement("div",null,s.createElement(f.A,{id:"valExpl",label:(0,i._t)("devtools|values_explicit_room"),type:"text",className:"mx_DevTools_textarea",element:"textarea",autoComplete:"off",value:a,onChange:e=>l(e.target.value)})))},E=({setting:e,onEdit:t,onBack:n})=>{const o=(0,s.useContext)(u.I);return s.createElement(u.A,{onBack:n,actionLabel:(0,i.AO)("devtools|edit_values"),onAction:t},s.createElement("h3",null,(0,i._t)("devtools|setting_colon")," ",s.createElement("code",null,e)),s.createElement("div",null,(0,i._t)("devtools|setting_definition"),s.createElement("pre",null,s.createElement("code",null,JSON.stringify(v.yy[e],null,4)))),s.createElement("div",null,(0,i._t)("devtools|value_colon")," ",s.createElement("code",null,A(g.A.getValue(e)))),s.createElement("div",null,(0,i._t)("devtools|value_this_room_colon")," ",s.createElement("code",null,A(g.A.getValue(e,o.room.roomId)))),s.createElement("div",null,(0,i._t)("devtools|values_explicit_colon"),s.createElement("pre",null,s.createElement("code",null,b(e)))),s.createElement("div",null,(0,i._t)("devtools|values_explicit_this_room_colon"),s.createElement("pre",null,s.createElement("code",null,b(e,o.room.roomId)))))};function A(e){return["boolean","number"].includes(typeof e)?e.toString():JSON.stringify(e)}const x=({onBack:e,onView:t,onEdit:n})=>{const o=(0,s.useContext)(u.I),[r,a]=(0,s.useState)(""),l=(0,s.useMemo)(()=>{let e=Object.keys(v.yy);if(r){const t=r.toLowerCase();e=e.filter(e=>e.toLowerCase().includes(t))}return e},[r]);return s.createElement(u.A,{onBack:e,className:"mx_DevTools_SettingsExplorer"},s.createElement(f.A,{label:(0,i._t)("common|filter_results"),autoFocus:!0,size:64,type:"text",autoComplete:"off",value:r,onChange:e=>a(e.target.value),className:"mx_TextInputDialog_input mx_DevTools_RoomStateExplorer_query"}),s.createElement("table",null,s.createElement("thead",null,s.createElement("tr",null,s.createElement("th",null,(0,i._t)("devtools|setting_id")),s.createElement("th",null,(0,i._t)("devtools|value")),s.createElement("th",null,(0,i._t)("devtools|value_in_this_room")))),s.createElement("tbody",null,l.map(e=>s.createElement("tr",{key:e},s.createElement("td",null,s.createElement(h.A,{kind:"link_inline",className:"mx_DevTools_SettingsExplorer_setting",onClick:()=>t(e)},s.createElement("code",null,e)),s.createElement(h.A,{title:(0,i._t)("devtools|edit_setting"),onClick:()=>n(e),className:"mx_DevTools_SettingsExplorer_edit"},"✏")),s.createElement("td",null,s.createElement("code",null,A(g.A.getValue(e)))),s.createElement("td",null,s.createElement("code",null,A(g.A.getValue(e,o.room.roomId)))))))))};var S=n("./src/components/views/dialogs/devtools/RoomState.tsx"),C=n("./src/hooks/useEventEmitter.ts"),k=n("./src/stores/WidgetStore.ts"),R=n("./src/stores/AsyncStore.ts"),I=n("./src/components/views/dialogs/devtools/FilteredList.tsx");const P=({onBack:e})=>{const t=(0,s.useContext)(u.I),[n,o]=(0,s.useState)(""),[r,a]=(0,s.useState)(null),l=(0,C.dF)(k.Ay.instance,R.H,()=>k.Ay.instance.getApps(t.room.roomId));if(r&&l.includes(r)){const e=()=>{a(null)},n=Array.from(Array.from(t.room.currentState.events.values()).map(e=>e.values())).reduce((e,t)=>(e.push(...t),e),[]).find(e=>e.getId()===r.eventId);return n?s.createElement(S.N,{mxEvent:n,onBack:e}):s.createElement(u.A,{onBack:e},(0,i._t)("devtools|failed_to_find_widget"))}return s.createElement(u.A,{onBack:e},s.createElement(I.A,{query:n,onChange:o},l.map(e=>s.createElement("button",{className:"mx_DevTools_button",key:e.url+e.eventId,onClick:()=>a(e)},e.url))))};var T=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),O=n("./src/hooks/useAsyncMemo.ts"),M=n("./src/components/views/elements/CopyableText.tsx"),N=n("./src/components/views/rooms/E2EIcon.tsx"),j=n("./src/utils/ShieldUtils.ts");function D(e){return s.createElement("i",null,e)}const U=({member:e,onClick:t})=>s.createElement("button",{className:"mx_DevTools_button",onClick:t},e.userId),F=({member:e,onBack:t})=>{var n,o;const r=(0,s.useContext)(u.I),a=r.room.client.getCrypto(),l=(0,O.e)(async()=>{if(!a)return null;const t=await a.getUserVerificationStatus(e.userId);if(t.isCrossSigningVerified()){const e=()=>s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Verified,className:"mx_E2EIcon_inline"});return(0,i._t)("devtools|user_verification_status|verified",{},{E2EIcon:e})}if(t.wasCrossSigningVerified()){const e=()=>s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Warning,className:"mx_E2EIcon_inline"});return(0,i._t)("devtools|user_verification_status|was_verified",{},{E2EIcon:e})}if(t.needsUserApproval){const e=()=>s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Warning,className:"mx_E2EIcon_inline"});return(0,i._t)("devtools|user_verification_status|identity_changed",{},{E2EIcon:e})}{const e=()=>s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Normal,className:"mx_E2EIcon_inline"});return(0,i._t)("devtools|user_verification_status|unverified",{},{E2EIcon:e})}},[r,e],(0,i._t)("common|loading")),c=(0,O.e)(async()=>{var t;const n=await(null==a?void 0:a.getUserDeviceInfo([e.userId]));return null!==(t=null==n?void 0:n.get(e.userId))&&void 0!==t?t:new Map},[r,e],new Map),[d,m]=(0,s.useState)(null);if(d)return s.createElement(B,{crypto:a,device:d,onBack:()=>m(null)});const p=e.getMxcAvatarUrl(),h=null===(n=e.events.member)||void 0===n?void 0:n.getContent();return s.createElement(u.A,{onBack:t},s.createElement("ul",null,s.createElement("li",null,s.createElement(M.A,{getTextToCopy:()=>e.userId,border:!1},(0,i._t)("devtools|user_id",{userId:e.userId}))),s.createElement("li",null,(0,i._t)("devtools|user_room_membership",{membership:null!==(o=e.membership)&&void 0!==o?o:"leave"})),s.createElement("li",null,h&&"displayname"in h?(0,i._t)("devtools|user_displayname",{displayname:e.rawDisplayName}):(0,i._t)("devtools|user_no_displayname",{},{i:D})),s.createElement("li",null,void 0!==p?s.createElement(M.A,{getTextToCopy:()=>p,border:!1},(0,i._t)("devtools|user_avatar",{avatar:p})):(0,i._t)("devtools|user_no_avatar",{},{i:D})),s.createElement("li",null,l)),s.createElement("section",null,s.createElement("h2",null,(0,i._t)("devtools|devices",{count:c.size})),s.createElement("ul",null,Array.from(c.values()).map(e=>s.createElement("li",{key:e.deviceId},s.createElement(L,{crypto:a,device:e,onClick:()=>m(e)}))))))},L=({crypto:e,device:t,onClick:n})=>{const o=(0,O.e)(async()=>{const n=await e.getDeviceVerificationStatus(t.userId,t.deviceId);return n?n.crossSigningVerified?s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Verified,className:"mx_E2EIcon_inline"}):n.signedByOwner?s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Normal,className:"mx_E2EIcon_inline"}):s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Warning,className:"mx_E2EIcon_inline"}):void 0},[e,t],null);return s.createElement("button",{className:"mx_DevTools_button",onClick:n},o,t.deviceId)},B=({crypto:e,device:t,onBack:n})=>{const o=(0,O.e)(async()=>{const n=await e.getDeviceVerificationStatus(t.userId,t.deviceId);if(n){if(n.crossSigningVerified){const e=()=>s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Verified,className:"mx_E2EIcon_inline"});return(0,i._t)("devtools|device_verification_status|verified",{},{E2EIcon:e})}if(n.signedByOwner){const e=()=>s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Normal,className:"mx_E2EIcon_inline"});return(0,i._t)("devtools|device_verification_status|signed_by_owner",{},{E2EIcon:e})}{const e=()=>s.createElement(N.A,{isUser:!0,hideTooltip:!0,status:j.z.Warning,className:"mx_E2EIcon_inline"});return(0,i._t)("devtools|device_verification_status|unverified",{},{E2EIcon:e})}}return(0,i._t)("devtools|device_verification_status|unknown")},[e,t],(0,i._t)("common|loading")),r=":"+t.deviceId,a=s.createElement("ul",null,Array.from(t.keys.entries()).map(([e,t])=>e.endsWith(r)?s.createElement("li",{key:e},s.createElement(M.A,{getTextToCopy:()=>t,border:!1},e.slice(0,-r.length),": ",t)):s.createElement("li",{key:e},s.createElement("i",null,(0,i._t)("devtools|invalid_device_key_id")),": ",e,": ",t)));return s.createElement(u.A,{onBack:n},s.createElement("ul",null,s.createElement("li",null,s.createElement(M.A,{getTextToCopy:()=>t.userId,border:!1},(0,i._t)("devtools|user_id",{userId:t.userId}))),s.createElement("li",null,s.createElement(M.A,{getTextToCopy:()=>t.deviceId,border:!1},(0,i._t)("devtools|device_id",{deviceId:t.deviceId}))),s.createElement("li",null,"displayName"in t?(0,i._t)("devtools|user_displayname",{displayname:t.displayName}):(0,i._t)("devtools|user_no_displayname",{},{i:D})),s.createElement("li",null,o),s.createElement("li",null,t.dehydrated?(0,i._t)("devtools|device_dehydrated_yes"):(0,i._t)("devtools|device_dehydrated_no")),s.createElement("li",null,(0,i._t)("devtools|device_keys"),a)))},V=({mxEvent:e,onBack:t})=>{const n=(0,s.useContext)(r.Ay),o=(0,s.useMemo)(()=>[(0,l.r3)(null==e?void 0:e.getType())],[e]),i=e?(0,l.As)(e.getContent()):void 0;return s.createElement(l.E8,{fieldDefs:o,defaultContent:i,onSend:async([e],t)=>{await n.setAccountData(e,t||{})},onBack:t})},H=({mxEvent:e,onBack:t})=>{const n=(0,s.useContext)(u.I),o=(0,s.useContext)(r.Ay),i=(0,s.useMemo)(()=>[(0,l.r3)(null==e?void 0:e.getType())],[e]),a=e?(0,l.As)(e.getContent()):void 0;return s.createElement(l.E8,{fieldDefs:i,defaultContent:a,onSend:async([e],t)=>{await o.setRoomAccountData(n.room.roomId,e,t||{})},onBack:t})},z=({events:e,Editor:t,actionLabel:n,onBack:o,setTool:i})=>{const[r,a]=(0,s.useState)(""),[c,d]=(0,s.useState)(null);if(c){const e=()=>{d(null)};return s.createElement(l.t2,{mxEvent:c,onBack:e,Editor:t})}return s.createElement(u.A,{onBack:o,actionLabel:n,onAction:async()=>{i(n,t)}},s.createElement(I.A,{query:r,onChange:a},Array.from(e.entries()).map(([e,t])=>s.createElement("button",{className:"mx_DevTools_button",key:e,onClick:()=>{d(t)}},e))))};var W=n("./src/components/views/elements/SettingsFlag.tsx"),K=n("./src/settings/SettingLevel.ts"),$=n("./src/components/views/dialogs/devtools/ServerInfo.tsx"),J=n("./src/hooks/useRoomNotificationState.ts"),G=n("./src/RoomNotifs.ts"),q=n("./src/stores/notifications/NotificationLevel.ts"),Y=n("./src/Unread.ts"),Z=n("./src/hooks/useIsEncrypted.ts");function Q({target:e}){var t,n,o,a,l,d,u,m;const p=(0,s.useContext)(r.Ay).getSafeUserId(),h=!!e.getReadReceiptForUserId(p,!1,c.ReceiptType.ReadPrivate);return s.createElement(s.Fragment,null,s.createElement("li",null,(0,i._t)("devtools|user_read_up_to"),s.createElement("strong",null,null!==(t=null===(n=e.getReadReceiptForUserId(p))||void 0===n?void 0:n.eventId)&&void 0!==t?t:(0,i._t)("devtools|no_receipt_found"))),s.createElement("li",null,(0,i._t)("devtools|user_read_up_to_ignore_synthetic"),s.createElement("strong",null,null!==(o=null===(a=e.getReadReceiptForUserId(p,!0))||void 0===a?void 0:a.eventId)&&void 0!==o?o:(0,i._t)("devtools|no_receipt_found"))),h&&s.createElement(s.Fragment,null,s.createElement("li",null,(0,i._t)("devtools|user_read_up_to_private"),s.createElement("strong",null,null!==(l=null===(d=e.getReadReceiptForUserId(p,!1,c.ReceiptType.ReadPrivate))||void 0===d?void 0:d.eventId)&&void 0!==l?l:(0,i._t)("devtools|no_receipt_found"))),s.createElement("li",null,(0,i._t)("devtools|user_read_up_to_private_ignore_synthetic"),s.createElement("strong",null,null!==(u=null===(m=e.getReadReceiptForUserId(p,!0,c.ReceiptType.ReadPrivate))||void 0===m?void 0:m.eventId)&&void 0!==u?u:(0,i._t)("devtools|no_receipt_found")))))}var X=n("./node_modules/@vector-im/compound-web/dist/components/InlineSpinner/InlineSpinner.js"),ee=n("./src/Modal.tsx"),te=n("./src/components/views/dialogs/ManualDeviceKeyVerificationDialog.tsx"),ne=n("./src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx");function se(){const e=(0,r.nH)(),t=(0,O.e)(async()=>{const t=e.getCrypto(),n=await t.getKeyBackupInfo(),s=Boolean(await e.isKeyBackupKeyStored()),o=await t.getSessionBackupPrivateKey();return{backupInfo:n,backupKeyStored:s,backupKeyCached:Boolean(o),backupKeyWellFormed:o instanceof Uint8Array,activeBackupVersion:await t.getActiveSessionBackupVersion(),secretStorageKeyInAccount:await e.secretStorage.hasKey(),secretStorageReady:await t.isSecretStorageReady()}},[e]);if(void 0===t)return s.createElement(X.Z,{"aria-label":(0,i._t)("common|loading")});const{backupInfo:n,backupKeyStored:o,backupKeyCached:a,backupKeyWellFormed:l,activeBackupVersion:c,secretStorageKeyInAccount:d,secretStorageReady:u}=t;return s.createElement("table",{"aria-label":(0,i._t)("devtools|crypto|key_storage")},s.createElement("thead",null,(0,i._t)("devtools|crypto|key_storage")),s.createElement("tbody",null,s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|key_backup_latest_version")),s.createElement("td",null,n?`${n.version} (${(0,i._t)("settings|security|key_backup_algorithm")} ${n.algorithm})`:(0,i._t)("devtools|crypto|key_backup_inactive_warning"))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|backup_key_stored_status")),s.createElement("td",null,o?(0,i._t)("devtools|crypto|backup_key_stored"):(0,i._t)("devtools|crypto|backup_key_not_stored"))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|key_backup_active_version")),s.createElement("td",null,null===c?(0,i._t)("devtools|crypto|key_backup_active_version_none"):c)),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|backup_key_cached_status")),s.createElement("td",null,`${a?(0,i._t)("devtools|crypto|backup_key_cached"):(0,i._t)("devtools|crypto|not_found_locally")}, ${l?(0,i._t)("devtools|crypto|backup_key_well_formed"):(0,i._t)("devtools|crypto|backup_key_unexpected_type")}`)),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|4s_public_key_status")),s.createElement("td",null,d?(0,i._t)("devtools|crypto|4s_public_key_in_account_data"):(0,i._t)("devtools|crypto|4s_public_key_not_in_account_data"))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|secret_storage_status")),s.createElement("td",null,u?(0,i._t)("devtools|crypto|secret_storage_ready"):(0,i._t)("devtools|crypto|secret_storage_not_ready")))))}function oe(){const e=(0,r.nH)(),t=(0,O.e)(async()=>{const t=e.getCrypto(),n=await t.getCrossSigningStatus();return{crossSigningPublicKeysOnDevice:n.publicKeysOnDevice,crossSigningPrivateKeysInStorage:n.privateKeysInSecretStorage,masterPrivateKeyCached:n.privateKeysCachedLocally.masterKey,selfSigningPrivateKeyCached:n.privateKeysCachedLocally.selfSigningKey,userSigningPrivateKeyCached:n.privateKeysCachedLocally.userSigningKey,crossSigningReady:await t.isCrossSigningReady()}},[e]);if(void 0===t)return s.createElement(X.Z,{"aria-label":(0,i._t)("common|loading")});const{crossSigningPublicKeysOnDevice:n,crossSigningPrivateKeysInStorage:o,masterPrivateKeyCached:a,selfSigningPrivateKeyCached:l,userSigningPrivateKeyCached:c,crossSigningReady:d}=t;return s.createElement("table",{"aria-label":(0,i._t)("devtools|crypto|cross_signing")},s.createElement("thead",null,(0,i._t)("devtools|crypto|cross_signing")),s.createElement("tbody",null,s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|cross_signing_status")),s.createElement("td",null,function(e,t){if(e)return t?(0,i._t)("devtools|crypto|cross_signing_ready"):(0,i._t)("devtools|crypto|cross_signing_untrusted");if(t)return(0,i._t)("devtools|crypto|cross_signing_not_ready");return(0,i._t)("devtools|crypto|cross_signing_not_ready")}(d,o))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|cross_signing_public_keys_on_device_status")),s.createElement("td",null,n?(0,i._t)("devtools|crypto|cross_signing_public_keys_on_device"):(0,i._t)("devtools|crypto|not_found"))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|cross_signing_private_keys_in_storage_status")),s.createElement("td",null,o?(0,i._t)("devtools|crypto|cross_signing_private_keys_in_storage"):(0,i._t)("devtools|crypto|cross_signing_private_keys_not_in_storage"))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|master_private_key_cached_status")),s.createElement("td",null,a?(0,i._t)("devtools|crypto|cross_signing_cached"):(0,i._t)("devtools|crypto|not_found_locally"))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|self_signing_private_key_cached_status")),s.createElement("td",null,l?(0,i._t)("devtools|crypto|cross_signing_cached"):(0,i._t)("devtools|crypto|not_found_locally"))),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|user_signing_private_key_cached_status")),s.createElement("td",null,c?(0,i._t)("devtools|crypto|cross_signing_cached"):(0,i._t)("devtools|crypto|not_found_locally")))))}function ie(){const e=(0,r.nH)(),t=(0,O.e)(async()=>{const t=e.getCrypto();return{fingerprint:(await t.getOwnDeviceKeys()).ed25519,deviceId:e.deviceId}},[e]);return void 0===t?s.createElement(X.Z,{"aria-label":(0,i._t)("common|loading")}):s.createElement("table",{"aria-label":(0,i._t)("devtools|crypto|session")},s.createElement("thead",null,(0,i._t)("devtools|crypto|session")),s.createElement("tbody",null,s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|device_id")),s.createElement("td",null,t.deviceId)),s.createElement("tr",null,s.createElement("th",{scope:"row"},(0,i._t)("devtools|crypto|session_fingerprint")),s.createElement("td",null,t.fingerprint))))}var re=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/EditInPlace/EditInPlace.js");const ae=({settingKey:e,level:t,roomId:n,isExplicit:o,label:r,onChange:a})=>{var l;const c=g.A.getValueAt(t,e,n,o),[d,u]=(0,s.useState)(c),[m,p]=(0,s.useState)(!1),h=(0,s.useCallback)(e=>{u(e.target.value)},[]),v=(0,s.useCallback)(()=>{u(c)},[c]),f=(0,s.useCallback)(async()=>{p(!0),await g.A.setValue(e,null!=n?n:null,t,d),p(!1),null==a||a(d)},[t,n,e,d,a]);return s.createElement(re.d,{label:null!==(l=null!=r?r:g.A.getDisplayName(e,t))&&void 0!==l?l:"",value:d,saveButtonLabel:(0,i._t)("common|save"),cancelButtonLabel:(0,i._t)("common|cancel"),savedLabel:(0,i._t)("common|saved"),savingLabel:(0,i._t)("common|updating"),onChange:h,onCancel:v,onSave:f,disabled:m})};var le=function(e){return e[e.Room=0]="Room",e[e.Other=1]="Other",e}(le||{});const ce={[le.Room]:(0,i.AO)("devtools|category_room"),[le.Other]:(0,i.AO)("devtools|category_other")},de={[le.Room]:[[(0,i.AO)("devtools|send_custom_timeline_event"),l.lv],[(0,i.AO)("devtools|explore_room_state"),S.y],[(0,i.AO)("devtools|explore_room_account_data"),({onBack:e,setTool:t})=>{const n=(0,s.useContext)(u.I);return s.createElement(z,{events:n.room.accountData,Editor:H,actionLabel:(0,i.AO)("devtools|send_custom_room_account_data_event"),onBack:e,setTool:t})}],[(0,i.AO)("devtools|view_servers_in_room"),m],[(0,i.AO)("devtools|notifications_debug"),function({onBack:e}){const{room:t}=(0,s.useContext)(u.I),n=(0,s.useContext)(r.Ay),o=(0,Z.g)(n,t),{level:a,count:l}=(0,G.m5)(t,void 0,!1),[d]=(0,J.I)(t);return s.createElement(u.A,{onBack:e},s.createElement("section",null,s.createElement("h2",null,(0,i._t)("devtools|room_status")),s.createElement("ul",null,s.createElement("li",null,(0,i._t)("devtools|room_unread_status_count",{status:(0,q.z)(a),count:l},{strong:e=>s.createElement("strong",null,e)})),s.createElement("li",null,(0,i._t)("devtools|notification_state",{notificationState:d},{strong:e=>s.createElement("strong",null,e)})),s.createElement("li",null,(0,i._t)(o?(0,i.AO)("devtools|room_encrypted"):(0,i.AO)("devtools|room_not_encrypted"),{},{strong:e=>s.createElement("strong",null,e)})))),s.createElement("section",null,s.createElement("h2",null,(0,i._t)("devtools|main_timeline")),s.createElement("ul",null,s.createElement("li",null,(0,i._t)("devtools|room_notifications_total")," ",t.getRoomUnreadNotificationCount(c.NotificationCountType.Total)),s.createElement("li",null,(0,i._t)("devtools|room_notifications_highlight")," ",t.getRoomUnreadNotificationCount(c.NotificationCountType.Highlight)),s.createElement("li",null,(0,i._t)("devtools|room_notifications_dot")," ",(0,Y.jM)(t)+""),function(e){const t=e.getRoomUnreadNotificationCount(c.NotificationCountType.Total),n=e.getRoomUnreadNotificationCount(c.NotificationCountType.Highlight),s=(0,Y.jM)(e);return t>0||n>0||s}(t)&&s.createElement(s.Fragment,null,s.createElement(Q,{target:t}),s.createElement("li",null,(0,i._t)("devtools|room_notifications_last_event"),s.createElement("ul",null,s.createElement("li",null,(0,i._t)("devtools|id")," ",s.createElement("strong",null,t.timeline[t.timeline.length-1].getId())),s.createElement("li",null,(0,i._t)("devtools|room_notifications_type")," ",s.createElement("strong",null,t.timeline[t.timeline.length-1].getType())),s.createElement("li",null,(0,i._t)("devtools|room_notifications_sender")," ",s.createElement("strong",null,t.timeline[t.timeline.length-1].getSender()))))))),s.createElement("section",null,s.createElement("h2",null,(0,i._t)("devtools|threads_timeline")),s.createElement("ul",null,t.getThreads().filter(e=>function(e){const t=e.room.getThreadUnreadNotificationCount(e.id,c.NotificationCountType.Total),n=e.room.getThreadUnreadNotificationCount(e.id,c.NotificationCountType.Highlight),s=(0,Y.jM)(e);return t>0||n>0||s}(e)).map(e=>{var n,o,r;return s.createElement("li",{key:e.id},(0,i._t)("devtools|room_notifications_thread_id")," ",e.id,s.createElement("ul",null,s.createElement("li",null,(0,i._t)("devtools|room_notifications_total"),s.createElement("strong",null,t.getThreadUnreadNotificationCount(e.id,c.NotificationCountType.Total))),s.createElement("li",null,(0,i._t)("devtools|room_notifications_highlight"),s.createElement("strong",null,t.getThreadUnreadNotificationCount(e.id,c.NotificationCountType.Highlight))),s.createElement("li",null,(0,i._t)("devtools|room_notifications_dot")," ",s.createElement("strong",null,(0,Y.jM)(e)+"")),s.createElement(Q,{target:e}),s.createElement("li",null,(0,i._t)("devtools|room_notifications_last_event"),s.createElement("ul",null,s.createElement("li",null,(0,i._t)("devtools|id")," ",s.createElement("strong",null,null===(n=e.lastReply())||void 0===n?void 0:n.getId())),s.createElement("li",null,(0,i._t)("devtools|room_notifications_type")," ",s.createElement("strong",null,null===(o=e.lastReply())||void 0===o?void 0:o.getType())),s.createElement("li",null,(0,i._t)("devtools|room_notifications_sender")," ",s.createElement("strong",null,null===(r=e.lastReply())||void 0===r?void 0:r.getSender()))))))}))))}],[(0,i.AO)("devtools|active_widgets"),P],[(0,i.AO)("devtools|users"),({onBack:e})=>{const t=(0,s.useContext)(u.I),[n,r]=(0,s.useState)(""),[a,l]=(0,s.useState)(!0),[c,d]=(0,s.useState)(null);if(c)return s.createElement(F,{member:c,onBack:()=>d(null)});const m=a?t.room.getJoinedMembers():t.room.getMembers();return s.createElement(u.A,{onBack:e},s.createElement(I.A,{query:n,onChange:r},m.map(e=>s.createElement(U,{key:e.userId,member:e,onClick:()=>d(e)}))),s.createElement(o.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},s.createElement(T.I,{name:"only_joined_members",label:(0,i._t)("devtools|only_joined_members"),onChange:e=>{l(e.target.checked)},checked:a})))}]],[le.Other]:[[(0,i.AO)("devtools|explore_account_data"),({onBack:e,setTool:t})=>{const n=(0,s.useContext)(r.Ay);return s.createElement(z,{events:n.store.accountData,Editor:V,actionLabel:(0,i.AO)("devtools|send_custom_account_data_event"),onBack:e,setTool:t})}],[(0,i.AO)("devtools|settings_explorer"),_],[(0,i.AO)("devtools|server_info"),$.A],[(0,i.AO)("devtools|crypto|title"),function({onBack:e}){const t=(0,r.nH)();return s.createElement(u.A,{onBack:e,className:"mx_Crypto"},t.getCrypto()?s.createElement(s.Fragment,null,s.createElement(se,null),s.createElement(oe,null),s.createElement(ie,null),s.createElement("button",{type:"button",onClick:()=>{ee.Ay.createDialog(te.T)}},(0,i._t)("devtools|manual_device_verification")),s.createElement("button",{type:"button",onClick:()=>{ee.Ay.createDialog(ne.A,void 0,void 0,!0,!0)}},(0,i._t)("devtools|restore_from_backup"))):s.createElement("span",null,(0,i._t)("devtools|crypto|crypto_not_available")))}]]},ue=({roomId:e,threadRootId:t,onFinished:n})=>{const[l,c]=(0,s.useState)(null);let d,m;if(l){m=()=>{c(null)};const e=l[1];d=s.createElement(e,{onBack:m,setTool:(e,t)=>c([e,t])})}else{const e=()=>{n(!1)};d=s.createElement(u.A,{onBack:e},Object.entries(de).map(([e,t])=>s.createElement("div",{key:e},s.createElement("h2",{className:"mx_DevTools_toolHeading"},(0,i._t)(ce[e])),t.map(([e,t])=>s.createElement("button",{className:"mx_DevTools_button",key:e,onClick:()=>{c([e,t])}},(0,i._t)(e))))),s.createElement(o.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()},className:"mx_DevTools_toggleForm"},s.createElement("h2",{className:"mx_DevTools_toolHeading"},(0,i._t)("common|options")),s.createElement(W.A,{name:"developerMode",level:K.p.ACCOUNT}),s.createElement(W.A,{name:"showHiddenEventsInTimeline",level:K.p.DEVICE}),s.createElement(W.A,{name:"enableWidgetScreenshots",level:K.p.ACCOUNT})),s.createElement(ae,{settingKey:"Developer.elementCallUrl",level:K.p.DEVICE,"aria-label":"elementCallUrl"}))}const p=l?(0,i._t)(l[0]):(0,i._t)("devtools|toolbox");return s.createElement(a.A,{className:"mx_QuestionDialog",onFinished:n,title:(0,i._t)("devtools|developer_tools")},s.createElement(r.Ay.Consumer,null,n=>s.createElement(s.Fragment,null,s.createElement("div",{className:"mx_DevTools_label_left"},p),s.createElement(M.A,{className:"mx_DevTools_label_right",getTextToCopy:()=>e,border:!1},(0,i._t)("devtools|room_id",{roomId:e})),t?s.createElement(M.A,{className:"mx_DevTools_label_right",getTextToCopy:()=>t,border:!1},(0,i._t)("devtools|thread_root_id",{threadRootId:t})):null,s.createElement("div",{className:"mx_DevTools_label_bottom"}),n.getRoom(e)&&s.createElement(u.I.Provider,{value:{room:n.getRoom(e),threadRootId:t}},d))))}},"./src/components/views/dialogs/ErrorDialog.tsx"(e,t,n){"use strict";n.d(t,{$:()=>a,A:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/languageHandler.tsx"),r=n("./src/components/views/dialogs/BaseDialog.tsx");function a(e,t){return e instanceof i.P7&&e.translatedMessage||e instanceof Error&&e.message||t}class l extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"onClick",()=>{this.props.onFinished(!0)})}render(){return o.createElement(r.A,{className:"mx_ErrorDialog",onFinished:this.props.onFinished,title:this.props.title||(0,i._t)("common|error"),headerImage:this.props.headerImage,contentId:"mx_Dialog_content"},o.createElement("div",{className:"mx_Dialog_content",id:"mx_Dialog_content"},this.props.description||(0,i._t)("error|dialog_description_default")),o.createElement("div",{className:"mx_Dialog_buttons"},o.createElement("button",{className:"mx_Dialog_primary",onClick:this.onClick,autoFocus:this.props.focus},this.props.button||(0,i._t)("action|ok"))))}}(0,s.A)(l,"defaultProps",{focus:!0})},"./src/components/views/dialogs/InfoDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./src/languageHandler.tsx"),l=n("./src/components/views/dialogs/BaseDialog.tsx"),c=n("./src/components/views/elements/DialogButtons.tsx");class d extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"onFinished",()=>{this.props.onFinished()})}render(){return o.createElement(l.A,{className:"mx_InfoDialog",onFinished:this.props.onFinished,top:this.props.top,title:this.props.title,contentId:"mx_Dialog_content",hasCancel:this.props.hasCloseButton,onKeyDown:this.props.onKeyDown,fixedWidth:this.props.fixedWidth},o.createElement("div",{className:r()("mx_Dialog_content",this.props.className),id:"mx_Dialog_content"},this.props.description),!1!==this.props.button&&o.createElement(c.A,{primaryButton:this.props.button||(0,a._t)("action|ok"),onPrimaryButtonClick:this.onFinished,hasCancel:!1}))}}(0,s.A)(d,"defaultProps",{title:"",description:"",hasCloseButton:!1})},"./src/components/views/dialogs/InteractiveAuthDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/languageHandler.tsx"),r=n("./src/components/views/elements/AccessibleButton.tsx"),a=n("./src/components/structures/InteractiveAuth.tsx"),l=n("./src/components/views/auth/InteractiveAuthEntryComponents.tsx"),c=n("./src/components/views/dialogs/BaseDialog.tsx"),d=n("./src/Linkify.tsx");class u extends o.Component{constructor(e){super(e),(0,s.A)(this,"onAuthFinished",async(e,t)=>{e?this.props.onFinished(!0,t):t===a.R?this.props.onFinished(!1,null):this.setState({authError:t})}),(0,s.A)(this,"onUpdateStagePhase",(e,t)=>{this.setState({uiaStage:e,uiaStagePhase:t})}),(0,s.A)(this,"onDismissClick",()=>{this.props.onFinished(!1)}),this.state={authError:null,uiaStage:null,uiaStagePhase:null}}getDefaultDialogAesthetics(){const e={[l.av.PHASE_PREAUTH]:{title:(0,i._t)("auth|uia|sso_title"),body:(0,i._t)("auth|uia|sso_preauth_body"),continueText:(0,i._t)("auth|sso"),continueKind:"primary"},[l.av.PHASE_POSTAUTH]:{title:(0,i._t)("auth|uia|sso_postauth_title"),body:(0,i._t)("auth|uia|sso_postauth_body"),continueText:(0,i._t)("action|confirm"),continueKind:"primary"}};return{[l.av.LOGIN_TYPE]:e,[l.av.UNSTABLE_LOGIN_TYPE]:e}}render(){var e;let t,n,s=this.state.authError?"Error":null!==(e=this.props.title)&&void 0!==e?e:(0,i._t)("common|authentication"),l=this.state.authError?null:this.props.body;const u=this.props.aestheticsForStagePhases||this.getDefaultDialogAesthetics();if(!this.state.authError&&u&&null!==this.state.uiaStage&&null!==this.state.uiaStagePhase&&u[this.state.uiaStage]){const e=u[this.state.uiaStage][this.state.uiaStagePhase];e&&(e.title&&(s=e.title),e.body&&(l=e.body),e.continueText&&(t=e.continueText),e.continueKind&&(n=e.continueKind))}let m;return m=this.state.authError?o.createElement("div",{id:"mx_Dialog_content"},o.createElement(d.XZ,null,o.createElement("div",{role:"alert"},this.state.authError.message||this.state.authError.toString())),o.createElement("br",null),o.createElement(r.A,{onClick:this.onDismissClick,className:"mx_GeneralButton",autoFocus:!0},(0,i._t)("action|dismiss"))):o.createElement("div",{id:"mx_Dialog_content"},l,o.createElement(a.A,{matrixClient:this.props.matrixClient,authData:this.props.authData,makeRequest:this.props.makeRequest,onAuthFinished:this.onAuthFinished,onStagePhaseChange:this.onUpdateStagePhase,continueText:t,continueKind:n})),o.createElement(c.A,{className:"mx_InteractiveAuthDialog",onFinished:this.props.onFinished,title:s,contentId:"mx_Dialog_content"},m)}}},"./src/components/views/dialogs/InviteDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>se});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/types.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./node_modules/lodash/uniqBy.js"),c=n("./packages/shared-components/dist/element-web-shared-components.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/dial-pad.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-profile-solid.js"),m=n("./res/img/icon-email-pill-avatar.svg"),p=n("./src/languageHandler.tsx"),h=n("./src/MatrixClientPeg.ts"),g=n("./src/utils/permalinks/Permalinks.ts"),v=n("./src/utils/DMRoomMap.ts"),f=n("./src/email.ts"),_=n("./src/utils/IdentityServerUtils.ts"),y=n("./src/utils/SortMembers.ts"),b=n("./src/utils/UrlUtils.ts"),w=n("./src/IdentityAuthClient.tsx"),E=n("./src/RoomInvite.tsx"),A=n("./src/dispatcher/actions.ts"),x=n("./src/stores/room-list/models.ts"),S=n("./src/stores/room-list/RoomListStore.ts"),C=n("./src/settings/SettingsStore.ts"),k=n("./src/settings/UIFeature.ts"),R=n("./src/customisations/Media.ts"),I=n("./src/components/views/avatars/BaseAvatar.tsx"),P=n("./src/components/views/avatars/SearchResultAvatar.tsx"),T=n("./src/components/views/elements/AccessibleButton.tsx"),O=n("./src/utils/strings.ts"),M=n("./src/components/views/elements/Field.tsx"),N=n("./src/components/structures/TabbedView.tsx"),j=n("./src/components/views/voip/DialPad.tsx"),D=n("./src/components/views/dialogs/QuestionDialog.tsx"),U=n("./src/components/views/dialogs/BaseDialog.tsx"),F=n("./src/components/views/elements/DialPadBackspaceButton.tsx"),L=n("./src/LegacyCallHandler.tsx"),B=n("./src/customisations/UserIdentifier.ts"),V=n("./src/components/views/elements/CopyableText.tsx"),H=n("./src/accessibility/KeyboardShortcuts.ts"),z=n("./src/KeyBindingsManager.ts"),W=n("./src/utils/direct-messages.ts"),K=n("./src/components/views/dialogs/InviteDialogTypes.ts"),$=n("./src/Modal.tsx"),J=n("./src/dispatcher/dispatcher.ts"),G=n("./src/utils/rooms.ts"),q=n("./src/utils/MultiInviter.ts"),Y=n("./src/components/views/dialogs/AskInviteAnywayDialog.tsx"),Z=n("./src/contexts/SDKContext.ts"),Q=n("./src/components/views/dialogs/InviteProgressBody.tsx");var X=function(e){return e.UserDirectory="users",e.DialPad="dialpad",e}(X||{});class ee extends o.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"onRemove",e=>{e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.member)})}render(){const e=o.createElement(P.N,{user:this.props.member,size:"20px"});return o.createElement(c.ab,{label:this.props.member.name,onClick:this.onRemove},e)}}const te=e=>e instanceof i.RoomMember?new W.qv({user_id:e.userId,display_name:e.name,avatar_url:e.getMxcAvatarUrl()}):e;class ne extends o.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"onClick",e=>{e.preventDefault(),e.stopPropagation(),this.props.onToggle(this.props.member)})}render(){const e="32px",t=this.props.member.isEmail?o.createElement(m.I,{width:e,height:e}):o.createElement(I.A,{url:this.props.member.getMxcAvatarUrl()?(0,R.mediaFromMxc)(this.props.member.getMxcAvatarUrl()).getSquareThumbnailHttp(parseInt(e,10)):null,name:this.props.member.name,idName:this.props.member.userId,size:e}),n=B.A.getDisplayUserIdentifier(this.props.member.userId,{withDisplayName:!0}),s=this.props.member.isEmail?(0,p._t)("invite|email_caption"):n||this.props.member.userId;return o.createElement(c.g$,{avatar:t,title:this.props.member.name,description:s,timestamp:this.props.lastActiveTs,onClick:this.onClick,selected:this.props.isSelected})}}class se extends o.PureComponent{constructor(e){if(super(e),(0,s.A)(this,"debounceTimer",null),(0,s.A)(this,"editorRef",(0,o.createRef)()),(0,s.A)(this,"numberEntryFieldRef",(0,o.createRef)()),(0,s.A)(this,"unmounted",!1),(0,s.A)(this,"encryptionByDefault",!1),(0,s.A)(this,"profilesStore",void 0),(0,s.A)(this,"onConsultFirstChange",e=>{this.setState({consultFirst:e.target.checked})}),(0,s.A)(this,"checkProfileAndStartDm",async()=>{this.setBusy(!0);const e=this.convertFilter();if(C.A.getValue("promptBeforeInviteUnknownUsers")){const t=await(async(e,t)=>{const n=e.filter(e=>e instanceof W.qv);return await Promise.all(n.map(e=>t.getOrFetchProfile(e.userId))),n.reduce((e,n)=>{const s=t.getProfileLookupError(n.userId);return s instanceof i.MatrixError&&s.errcode&&q.jo.includes(s.errcode)&&e.push({userId:n.userId,errorText:s.data.error||""}),e},[])})(e,this.profilesStore);if(t.length)return void this.showAskInviteAnywayDialog(t)}await this.startDm()}),(0,s.A)(this,"startDm",async()=>{this.setBusy(!0);try{const e=h.J.safeGet(),t=this.convertFilter();await(0,W.UZ)(e,t),this.props.onFinished(!0)}catch(e){a.vF.error(e),this.setState({busy:!1,errorText:(0,p._t)("invite|error_dm")})}}),(0,s.A)(this,"inviteUsers",async()=>{if(this.props.kind!==K.m.Invite)return;this.setState({busy:!0}),this.convertFilter();const e=this.convertFilter().map(e=>e.userId),t=h.J.safeGet(),n=t.getRoom(this.props.roomId);if(!n)return a.vF.error("Failed to find the room to invite users to"),void this.setState({busy:!1,errorText:(0,p._t)("invite|error_find_room")});try{const s=await(0,E.wq)(t,this.props.roomId,e,{inhibitProgressDialog:!0});this.shouldAbortAfterInviteError(s,n)||this.props.onFinished(!0)}catch(e){a.vF.error(e),this.setState({busy:!1,errorText:(0,p._t)("invite|error_invite")})}}),(0,s.A)(this,"transferCall",async()=>{if(this.props.kind===K.m.CallTransfer){if(this.state.currentTabId==X.UserDirectory){this.convertFilter();const e=this.convertFilter().map(e=>e.userId);if(e.length>1)return void this.setState({errorText:(0,p._t)("invite|error_transfer_multiple_target")});L.Ay.instance.startTransferToMatrixID(this.props.call,e[0],this.state.consultFirst)}else L.Ay.instance.startTransferToPhoneNumber(this.props.call,this.state.dialPadValue,this.state.consultFirst);this.props.onFinished(!0)}}),(0,s.A)(this,"onKeyDown",e=>{if(this.state.busy)return;let t=!1;const n=e.currentTarget.value.trim();switch((0,z.zM)().getAccessibilityAction(e)){case H.bY.Space:if(!n||!n.includes("@")||n.includes(" "))break;this.convertFilter(),t=!0;break;case H.bY.Enter:if(!n)break;this.convertFilter(),t=!0}t&&e.preventDefault()}),(0,s.A)(this,"onCancel",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"updateSuggestions",async e=>{if(h.J.safeGet().searchUserDirectory({term:e}).then(async t=>{if(e===this.state.filterText){if(t.results||(t.results=[]),"@"===e[0]&&e.indexOf(":")>1)try{const n=await this.profilesStore.getOrFetchProfile(e,{shouldThrow:!0});n&&t.results.splice(0,0,{user_id:e,display_name:n.displayname,avatar_url:n.avatar_url})}catch(e){a.vF.warn("Non-fatal error trying to make an invite for a user ID",e)}this.setState({serverResultsMixin:t.results.map(e=>({userId:e.user_id,user:new W.qv(e)}))})}}).catch(e=>{a.vF.error("Error searching user directory:"),a.vF.error(e),this.setState({serverResultsMixin:[]})}),this.state.canUseIdentityServer){if(f.X(e)&&this.canInviteThirdParty()&&C.A.getValue(k.f.IdentityServer)){this.setState({threepidResultsMixin:[{user:new W.OZ(e),userId:e}]});try{const t=new w.A,n=await t.getAccessToken();if(!n)return;if(e!==this.state.filterText)return;const s=await h.J.safeGet().lookupThreePid("email",e,n);if(e!==this.state.filterText)return;if(!s||!("mxid"in s))return;const o=await this.profilesStore.getOrFetchProfile(s.mxid);if(e!==this.state.filterText||!o)return;this.setState({threepidResultsMixin:[...this.state.threepidResultsMixin,{user:new W.qv({user_id:s.mxid,display_name:o.displayname,avatar_url:o.avatar_url}),userId:e}]})}catch(e){a.vF.error("Error searching identity server:"),a.vF.error(e),this.setState({threepidResultsMixin:[]})}}}else this.setState({tryingIdentityServer:!0})}),(0,s.A)(this,"updateFilter",e=>{const t=e.target.value;this.setState({filterText:t}),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=window.setTimeout(()=>{this.updateSuggestions(t)},150)}),(0,s.A)(this,"showMoreRecents",()=>{this.setState({numRecentsShown:this.state.numRecentsShown+5})}),(0,s.A)(this,"showMoreSuggestions",()=>{this.setState({numSuggestionsShown:this.state.numSuggestionsShown+5})}),(0,s.A)(this,"toggleMember",e=>{if(!this.state.busy){let t=this.state.filterText,n=this.state.targets.map(e=>e);const s=n.findIndex(t=>t.userId===e.userId);s>=0?n.splice(s,1):(this.props.kind===K.m.CallTransfer&&n.length>0&&(n=[]),n.push(e),t=""),this.setState({targets:n,filterText:t}),this.editorRef&&this.editorRef.current&&this.editorRef.current.focus()}}),(0,s.A)(this,"removeMember",e=>{const t=this.state.targets.map(e=>e),n=t.indexOf(e);n>=0&&(t.splice(n,1),this.setState({targets:t})),this.editorRef&&this.editorRef.current&&this.editorRef.current.focus()}),(0,s.A)(this,"onPaste",async e=>{if(this.state.filterText)return;const t=e.clipboardData.getData("text"),n=this.parseFilter(t);if(1===n.length&&!n[0].includes("@"))return;e.preventDefault();const s=[...this.state.recents,...this.state.suggestions,...this.state.serverResultsMixin,...this.state.threepidResultsMixin],o=[],i=[],r=[];for(const t of n){const n=s.find(e=>e.userId===t);if(n)this.canInviteMore([...this.state.targets,...o])?o.push(n.user):r.push(t);else if(f.X(t))this.canInviteThirdParty([...this.state.targets,...o])?o.push(new W.OZ(t)):r.push(t);else if("@"===t[0])try{const e=await this.profilesStore.getOrFetchProfile(t);o.push(new W.qv({user_id:t,display_name:null==e?void 0:e.displayname,avatar_url:null==e?void 0:e.avatar_url}))}catch(e){a.vF.error("Error looking up profile for "+t),a.vF.error(e),i.push(t)}else i.push(t)}this.unmounted||(i.length>0&&$.Ay.createDialog(D.A,{title:(0,p._t)("invite|error_find_user_title"),description:(0,p._t)("invite|error_find_user_description",{csvNames:i.join(", ")}),button:(0,p._t)("action|ok")}),r?this.setState({filterText:r.join(" "),targets:(0,l.A)([...this.state.targets,...o],e=>e.userId)}):this.setState({targets:(0,l.A)([...this.state.targets,...o],e=>e.userId)}))}),(0,s.A)(this,"onUseDefaultIdentityServerClick",e=>{e.preventDefault(),(0,_.eF)(h.J.safeGet()),this.setState({canUseIdentityServer:!0,tryingIdentityServer:!1})}),(0,s.A)(this,"onManageSettingsClick",e=>{e.preventDefault(),J.A.fire(A.r.ViewUserSettings),this.props.onFinished(!1)}),(0,s.A)(this,"onDialFormSubmit",e=>{e.preventDefault(),this.transferCall()}),(0,s.A)(this,"onDialChange",e=>{this.setState({dialPadValue:e.currentTarget.value})}),(0,s.A)(this,"onDigitPress",(e,t)=>{var n;(this.setState({dialPadValue:this.state.dialPadValue+e}),"click"===t.type)&&(null===(n=this.numberEntryFieldRef.current)||void 0===n||n.focus())}),(0,s.A)(this,"onDeletePress",e=>{var t;0!==this.state.dialPadValue.length&&(this.setState({dialPadValue:this.state.dialPadValue.slice(0,-1)}),"click"===e.type&&(null===(t=this.numberEntryFieldRef.current)||void 0===t||t.focus()))}),(0,s.A)(this,"onTabChange",e=>{this.setState({currentTabId:e})}),e.kind===K.m.Invite&&!e.roomId)throw new Error("When using InviteKind.Invite a roomId is required for an InviteDialog");if(e.kind===K.m.CallTransfer&&!e.call)throw new Error("When using InviteKind.CallTransfer a call is required for an InviteDialog");this.profilesStore=Z.M.instance.userProfilesStore;const t=h.J.safeGet(),n=new Set([t.getSafeUserId()]);if(function(e){return e.kind===K.m.Invite}(e)){var c;const s=t.getRoom(e.roomId);if(!s)throw new Error("Room ID given to InviteDialog does not look like a room");const o=null==s||null===(c=s.currentState.getStateEvents(i.EventType.RoomCreate,""))||void 0===c?void 0:c.getContent()["m.federate"];s.getMembersWithMembership(r.O.Invite).forEach(e=>n.add(e.userId)),s.getMembersWithMembership(r.O.Join).forEach(e=>n.add(e.userId)),s.getMembersWithMembership(r.O.Ban).forEach(e=>n.add(e.userId));const a=t.getDomain();!1===o&&a&&this.excludeExternals(a,n)}this.state={targets:[],filterText:this.props.initialText||"",recents:se.buildRecents(n),numRecentsShown:3,suggestions:this.buildSuggestions(n),numSuggestionsShown:3,serverResultsMixin:[],threepidResultsMixin:[],canUseIdentityServer:!!t.getIdentityServerUrl(),tryingIdentityServer:!1,consultFirst:!1,dialPadValue:"",currentTabId:X.UserDirectory,busy:!1}}componentDidMount(){this.unmounted=!1,this.encryptionByDefault=(0,G.u)(h.J.safeGet()),this.props.initialText&&this.updateSuggestions(this.props.initialText)}componentWillUnmount(){this.unmounted=!0}excludeExternals(e,t){const n=h.J.safeGet(),s=Object.values((0,y._5)(n)).map(({member:e})=>e.userId);Object.keys(v.A.shared().getUniqueRoomsWithIndividuals()).forEach(e=>s.push(e));new Set(s.filter(t=>!t.includes(e))).forEach(e=>t.add(e))}static buildRecents(e){const t=v.A.shared().getUniqueRoomsWithIndividuals(),n=S.Ay.instance.orderedLists[x.zO.DM]||[],s=h.J.safeGet().getUserId();for(const e of n){const n=e.getJoinedMembers().filter(e=>e.userId!==s);for(const s of n)t[s.userId]||(a.vF.warn(`Adding DM room for ${s.userId} as ${e.roomId} from tag, not DM map`),t[s.userId]=e)}const o=[];for(const n in t){if(e.has(n)){a.vF.warn(`[Invite:Recents] Excluding ${n} from recents`);continue}const s=t[n],i=s.getMember(n);if(!i){a.vF.warn(`[Invite:Recents] ${n} is missing a member object in their own DM (${s.roomId})`);continue}const r=["m.room.message","m.room.encrypted","m.sticker"],l=20;let c=0;if(s.timeline&&s.timeline.length)for(let e=s.timeline.length-1;e>=0;e--){const t=s.timeline[e];if(r.includes(t.getType())){c=t.getTs();break}if(s.timeline.length-e>l)break}c?(o.push({userId:n,user:te(i),lastActive:c}),e.add(n)):a.vF.warn(`[Invite:Recents] ${n} (${s.roomId}) has a weird last timestamp: ${c}`)}return 0===o.length&&a.vF.warn("[Invite:Recents] No recents to suggest!"),o.sort((e,t)=>t.lastActive-e.lastActive),o}buildSuggestions(e){const t=h.J.safeGet(),n=(0,y.nf)(t),s=(0,y._5)(t),o=(0,y.j2)(n,s);return Object.values(s).map(({member:e})=>e).filter(t=>!e.has(t.userId)).sort(o).map(e=>({userId:e.userId,user:te(e)}))}shouldAbortAfterInviteError(e,t){this.setState({busy:!1});const n=new Map(this.state.targets.map(e=>[e.userId,e]));return!(0,E.uG)(e.states,t,e.inviter,n)}convertFilter(){if(!this.state.filterText||!this.state.filterText.includes("@"))return this.state.targets||[];if(!this.canInviteMore())return this.state.targets;let e;if(this.state.filterText.startsWith("@")?e=new W.qv({user_id:this.state.filterText}):C.A.getValue(k.f.IdentityServer)&&this.canInviteThirdParty()&&(e=new W.OZ(this.state.filterText)),!e)return this.state.targets;const t=[...this.state.targets||[],e];return this.setState({targets:t,filterText:""}),t}setBusy(e){this.setState({busy:e})}showAskInviteAnywayDialog(e){$.Ay.createDialog(Y.A,{unknownProfileUsers:e,onInviteAnyways:()=>this.startDm(),onGiveUp:()=>{this.setBusy(!1)},description:(0,p._t)("invite|ask_anyway_description"),inviteNeverWarnLabel:(0,p._t)("invite|ask_anyway_never_warn_label"),inviteLabel:(0,p._t)("invite|ask_anyway_label")})}parseFilter(e){return e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>!!e)}renderSection(e){let t="recents"===e?this.state.recents:this.state.suggestions,n="recents"===e?this.state.numRecentsShown:this.state.numSuggestionsShown;const s="recents"===e?this.showMoreRecents.bind(this):this.showMoreSuggestions.bind(this);let i="recents"===e?(0,p._t)("invite|recents_section"):(0,p._t)("common|suggestions");this.props.kind===K.m.Invite&&(i="recents"===e?(0,p._t)("invite|suggestions_section"):(0,p._t)("common|suggestions"));let r=[],a=[];const l=this.state.serverResultsMixin||this.state.threepidResultsMixin;if(this.state.filterText&&l&&"suggestions"===e){const e=e=>!(this.state.recents.some(t=>t.userId===e.userId)||t.some(t=>t.userId===e.userId)||r.some(t=>t.userId===e.userId)||a.some(t=>t.userId===e.userId));a=this.state.serverResultsMixin.filter(e),r=this.state.threepidResultsMixin.filter(e)}const d=r.length>0||a.length>0;if(0===t.length&&!d)return null;if(this.canInviteThirdParty()||(r=r.filter(e=>e instanceof W.OZ)),this.state.filterText){const e=this.state.filterText.toLowerCase();if(t=t.filter(t=>t.user.name.toLowerCase().includes(e)||t.userId.toLowerCase().includes(e)),0===t.length&&!d)return o.createElement("div",{className:"mx_InviteDialog_section"},o.createElement(c.DO,{title:i,titleAttributes:{role:"heading","aria-level":3},isEmpty:!0},(0,p._t)("common|no_results")))}t=[...r,...t,...a],n===t.length-1&&n++;const u=t.slice(0,n);let m;u.length<t.length&&(m=o.createElement("div",{className:"mx_InviteDialog_section_showMore"},o.createElement(T.A,{onClick:s,kind:"link"},(0,p._t)("common|show_more"))));const h=u.map(t=>{return o.createElement(ne,{member:t.user,lastActiveTs:(n=t,"recents"===e?n.lastActive:void 0),key:t.user.userId,onToggle:this.toggleMember,isSelected:this.state.targets.some(e=>e.userId===t.userId)});var n});return o.createElement("div",{className:"mx_InviteDialog_section"},o.createElement(c.DO,{title:i,titleAttributes:{role:"heading","aria-level":3}},h),m)}renderEditor(){const e=this.state.targets.map(e=>o.createElement(ee,{member:e,onRemove:this.state.busy?void 0:this.removeMember,key:e.userId}));return o.createElement(c.O3,{className:"mx_InviteDialog_editor",inputProps:{ref:this.editorRef,value:this.state.filterText,onKeyDown:this.onKeyDown,onChange:this.updateFilter,onPaste:this.onPaste,placeholder:(0,p._t)("action|search"),autoFocus:!0,disabled:this.state.busy||this.props.kind==K.m.CallTransfer&&this.state.targets.length>0},onRemoveChildren:()=>!this.state.busy&&this.removeMember(this.state.targets[this.state.targets.length-1])},e)}renderIdentityServerWarning(){if(!this.state.tryingIdentityServer||this.state.canUseIdentityServer||!C.A.getValue(k.f.IdentityServer))return null;const e=(0,_.iR)();return e?o.createElement("div",{className:"mx_InviteDialog_identityServer"},(0,p._t)("invite|email_use_default_is",{defaultIdentityServerName:(0,b.FO)(e)},{default:e=>o.createElement(T.A,{kind:"link_inline",onClick:this.onUseDefaultIdentityServerClick},e),settings:e=>o.createElement(T.A,{kind:"link_inline",onClick:this.onManageSettingsClick},e)})):o.createElement("div",{className:"mx_InviteDialog_identityServer"},(0,p._t)("invite|email_use_is",{},{settings:e=>o.createElement(T.A,{kind:"link_inline",onClick:this.onManageSettingsClick},e)}))}async onLinkClick(e){e.preventDefault(),(0,O.A0)(e.currentTarget)}get screenName(){if(this.props.kind===K.m.Dm)return"StartChat"}canInviteMore(e){return e=e||this.state.targets,this.canInviteThirdParty(e)||!e.some(e=>e instanceof W.OZ)}canInviteThirdParty(e){return e=e||this.state.targets,this.props.kind!==K.m.Dm||0===e.length||!this.encryptionByDefault}hasFilterAtLeastOneEmail(){return!!this.state.filterText&&this.parseFilter(this.state.filterText).some(e=>f.X(e))}hasSelection(){return this.state.targets.length>0||!!this.state.filterText&&this.state.filterText.includes("@")}renderSuggestions(){let e;if(this.props.kind===K.m.Dm){const t=(0,g.Ne)(h.J.safeGet().getSafeUserId());e=o.createElement("div",{className:"mx_InviteDialog_footer"},o.createElement("h3",null,(0,p._t)("invite|send_link_prompt")),o.createElement(V.A,{getTextToCopy:()=>(0,g.Ne)(h.J.safeGet().getSafeUserId())},o.createElement("a",{className:"mx_InviteDialog_footer_link",href:t,onClick:this.onLinkClick},t)))}let t=null,n=null;if(!this.canInviteMore()||this.hasFilterAtLeastOneEmail()&&!this.canInviteThirdParty())n=o.createElement("div",{className:"mx_InviteDialog_oneThreepid"},(0,p._t)("invite|email_limit_one"));else{let e;this.props.kind===K.m.Dm&&(e=o.createElement("div",{className:"mx_InviteDialog_section_hidden_suggestions_disclaimer"},o.createElement("span",null,(0,p._t)("invite|suggestions_disclaimer")),o.createElement("p",null,(0,p._t)("invite|suggestions_disclaimer_prompt")))),t=o.createElement("div",{className:"mx_InviteDialog_userSections"},this.renderSection("recents"),this.renderSection("suggestions"),e)}return o.createElement(o.Fragment,null,this.renderIdentityServerWarning(),o.createElement("div",{className:"error"},this.state.errorText),n,t,e)}renderMainTab(){let e,t,n=null;const s=C.A.getValue(k.f.IdentityServer),i=h.J.safeGet(),r=i.getUserId();if(this.props.kind===K.m.Dm)e=s?(0,p._t)("invite|start_conversation_name_email_mxid_prompt",{},{userId:()=>o.createElement("a",{href:(0,g.Ne)(r),rel:"noreferrer noopener",target:"_blank"},r)}):(0,p._t)("invite|start_conversation_name_mxid_prompt",{},{userId:()=>o.createElement("a",{href:(0,g.Ne)(r),rel:"noreferrer noopener",target:"_blank"},r)}),t=(0,p._t)("action|go"),n=this.checkProfileAndStartDm;else if(this.props.kind===K.m.Invite){var a;const l=this.props.roomId,c=null===(a=h.J.get())||void 0===a?void 0:a.getRoom(l);let d;d=(null==c?void 0:c.isSpaceRoom())?s?(0,p.AO)("invite|name_email_mxid_share_space"):(0,p.AO)("invite|name_mxid_share_space"):s?(0,p.AO)("invite|name_email_mxid_share_room"):(0,p.AO)("invite|name_mxid_share_room"),e=(0,p._t)(d,{},{userId:()=>o.createElement("a",{className:"mx_InviteDialog_helpText_userId",href:(0,g.Ne)(r),rel:"noreferrer noopener",target:"_blank"},r),a:e=>o.createElement("a",{href:(0,g.B4)(i,l),rel:"noreferrer noopener",target:"_blank"},e)}),t=(0,p._t)("action|invite"),n=this.inviteUsers}const l=this.props.kind==K.m.CallTransfer?null:o.createElement(T.A,{kind:"primary",onClick:n,className:"mx_InviteDialog_goButton",disabled:this.state.busy||!this.hasSelection()},t);return o.createElement(o.Fragment,null,o.createElement("p",{className:"mx_InviteDialog_helpText"},e),o.createElement("div",{className:"mx_InviteDialog_addressBar"},this.renderEditor(),l),this.state.busy?o.createElement(Q.A,null):this.renderSuggestions())}renderRegularDialog(){let e;if(this.props.kind===K.m.Dm)e=(0,p._t)("space|add_existing_room_space|dm_heading");else if(this.props.kind===K.m.Invite){var t;const n=this.props.roomId,s=null===(t=h.J.get())||void 0===t?void 0:t.getRoom(n);e=(null==s?void 0:s.isSpaceRoom())?(0,p._t)("invite|to_space",{spaceName:(null==s?void 0:s.name)||(0,p._t)("common|unnamed_space")}):(0,p._t)("invite|to_room",{roomName:(null==s?void 0:s.name)||(0,p._t)("common|unnamed_room")})}return o.createElement(U.A,{className:"mx_InviteDialog_other",hasCancel:!0,onFinished:this.props.onFinished,title:e,screenName:this.screenName},o.createElement("div",{className:"mx_InviteDialog_content"},this.renderMainTab()))}renderCallTransferDialog(){const e=this.renderMainTab(),t=[new N.oz(X.UserDirectory,(0,p.AO)("invite|transfer_user_directory_tab"),o.createElement(u.A,null),e)],n=o.createElement(F.A,{onBackspacePress:this.onDeletePress});let s;s=0!==this.state.dialPadValue.length?o.createElement(M.A,{ref:this.numberEntryFieldRef,className:"mx_InviteDialog_dialPadField",id:"dialpad_number",value:this.state.dialPadValue,autoFocus:!0,onChange:this.onDialChange,postfixComponent:n}):o.createElement(M.A,{ref:this.numberEntryFieldRef,className:"mx_InviteDialog_dialPadField",id:"dialpad_number",value:this.state.dialPadValue,autoFocus:!0,onChange:this.onDialChange});const i=o.createElement("div",{className:"mx_InviteDialog_dialPad"},o.createElement("form",{onSubmit:this.onDialFormSubmit},s),o.createElement(j.Ay,{hasDial:!1,onDigitPress:this.onDigitPress,onDeletePress:this.onDeletePress}));t.push(new N.oz(X.DialPad,(0,p.AO)("invite|transfer_dial_pad_tab"),o.createElement(d.A,null),i));const r=o.createElement("div",{className:"mx_InviteDialog_transferConsultConnect"},o.createElement("label",null,o.createElement("input",{type:"checkbox",checked:this.state.consultFirst,onChange:this.onConsultFirstChange}),(0,p._t)("voip|transfer_consult_first_label")),o.createElement(T.A,{kind:"secondary",onClick:this.onCancel,className:"mx_InviteDialog_transferConsultConnect_pushRight"},(0,p._t)("action|cancel")),o.createElement(T.A,{kind:"primary",onClick:this.transferCall,disabled:!this.hasSelection()&&""===this.state.dialPadValue},(0,p._t)("action|transfer"))),a=o.createElement(o.Fragment,null,o.createElement(N.Ay,{tabs:t,activeTabId:this.state.currentTabId,tabLocation:N.lX.TOP,onChange:this.onTabChange}),r);return o.createElement(U.A,{className:"mx_InviteDialog_transfer",hasCancel:!0,onFinished:this.props.onFinished,title:(0,p._t)("action|transfer"),screenName:this.screenName},o.createElement("div",{className:"mx_InviteDialog_content"},a))}render(){return this.props.kind===K.m.CallTransfer?this.renderCallTransferDialog():this.renderRegularDialog()}}(0,s.A)(se,"defaultProps",{kind:K.m.Dm,initialText:""})},"./src/components/views/dialogs/InviteDialogTypes.ts"(e,t,n){"use strict";n.d(t,{m:()=>s});let s=function(e){return e.Dm="dm",e.Invite="invite",e.CallTransfer="call_transfer",e}({})},"./src/components/views/dialogs/InviteProgressBody.tsx"(e,t,n){"use strict";n.d(t,{A:()=>r});var s=n("./node_modules/react/index.js"),o=n("./src/components/views/elements/InlineSpinner.tsx"),i=n("./src/languageHandler.tsx");const r=()=>s.createElement("div",{className:"mx_InviteProgressBody"},s.createElement(o.A,{w:32,h:32}),s.createElement("h1",null,(0,i._t)("invite|progress|preparing")),(0,i._t)("invite|progress|dont_close"))},"./src/components/views/dialogs/ManualDeviceKeyVerificationDialog.tsx"(e,t,n){"use strict";n.d(t,{$:()=>p,T:()=>m});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./src/utils/crypto/deviceInfo.ts"),r=n("./src/components/views/dialogs/QuestionDialog.tsx"),a=n("./src/Modal.tsx"),l=n("./src/components/views/dialogs/InfoDialog.tsx"),c=n("./src/components/views/elements/Field.tsx"),d=n("./src/components/views/dialogs/ErrorDialog.tsx"),u=n("./src/MatrixClientPeg.ts");function m({onFinished:e}){const[t,n]=(0,s.useState)(""),[i,a]=(0,s.useState)(""),l=u.J.safeGet(),d=(0,s.useCallback)(async n=>{n&&await p(l,t,i),e(n)},[l,t,i,e]),m=(0,s.useCallback)(e=>{n(e.target.value)},[]),h=(0,s.useCallback)(e=>{a(e.target.value)},[]),g=s.createElement("div",null,s.createElement("p",null,(0,o._t)("encryption|verification|manual|text")),s.createElement("div",{className:"mx_DeviceVerifyDialog_cryptoSection"},s.createElement(c.A,{className:"mx_TextInputDialog_input",type:"text",label:(0,o._t)("encryption|verification|manual|device_id"),value:t,onChange:m}),s.createElement(c.A,{className:"mx_TextInputDialog_input",type:"text",label:(0,o._t)("encryption|verification|manual|fingerprint"),value:i,onChange:h})));return s.createElement(r.A,{title:(0,o._t)("settings|sessions|verify_session"),description:g,button:(0,o._t)("settings|sessions|verify_session"),onFinished:d})}async function p(e,t,n){try{await async function(e,t,n){const s=e.getUserId();if(!s)throw new o.P7("encryption|verification|manual|no_userid",{cause:void 0});const r=e.getCrypto();if(!r)throw new o.P7("encryption|verification|manual|no_crypto");const a=await(0,i.G)(e,s,t);if(!a)throw new o.P7("encryption|verification|manual|no_device",{deviceId:t,cause:void 0});const l=await r.getDeviceVerificationStatus(s,t);if(null!=l&&l.isVerified())throw a.getFingerprint()===n?new o.P7("encryption|verification|manual|already_verified",{deviceId:t,cause:void 0}):new o.P7("encryption|verification|manual|already_verified_and_wrong_fingerprint",{deviceId:t,cause:void 0});if(a.getFingerprint()!==n){const e=a.getFingerprint();throw new o.P7("encryption|verification|manual|wrong_fingerprint",{fprint:e,deviceId:t,fingerprint:n,cause:void 0})}await r.crossSignDevice(t)}(e,t,n),a.Ay.createDialog(l.A,{title:(0,o._t)("encryption|verification|manual|success_title"),description:s.createElement("div",null,s.createElement("p",null,(0,o._t)("encryption|verification|manual|success_description",{deviceId:t})))})}catch(e){const n=e instanceof o.P7?e.translatedMessage:e.toString();a.Ay.createDialog(d.A,{title:(0,o._t)("encryption|verification|manual|failure_title"),description:s.createElement("div",null,s.createElement("p",null,(0,o._t)("encryption|verification|manual|failure_description",{deviceId:t,error:n})))})}}},"./src/components/views/dialogs/QuestionDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./src/languageHandler.tsx"),l=n("./src/components/views/dialogs/BaseDialog.tsx"),c=n("./src/components/views/elements/DialogButtons.tsx");class d extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"onOk",()=>{this.props.onFinished(!0)}),(0,s.A)(this,"onCancel",()=>{this.props.onFinished(!1)})}render(){let e="";return this.props.danger&&(e="danger"),o.createElement(l.A,{className:r()("mx_QuestionDialog",this.props.className),onFinished:this.props.onFinished,title:this.props.title,contentId:"mx_Dialog_content",headerImage:this.props.headerImage,hasCancel:this.props.hasCancelButton,fixedWidth:this.props.fixedWidth},o.createElement("div",{className:"mx_Dialog_content",id:"mx_Dialog_content"},this.props.description),o.createElement(c.A,{primaryButton:this.props.button||(0,a._t)("action|ok"),primaryButtonClass:e,primaryDisabled:this.props.buttonDisabled,cancelButton:this.props.cancelButton,hasCancel:this.props.hasCancelButton&&!this.props.quitOnly,onPrimaryButtonClick:this.onOk,focus:this.props.focus,onCancel:this.onCancel},this.props.extraButtons))}}(0,s.A)(d,"defaultProps",{title:"",description:"",extraButtons:null,focus:!0,hasCancelButton:!0,danger:!1,quitOnly:!1})},"./src/components/views/dialogs/RoomSettingsDialog.tsx"(e,t,n){"use strict";n.d(t,{e:()=>Ze,A:()=>Xe});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/settings.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/group.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/voice-call.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/admin.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/notifications.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/tree.js"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/polls.js"),h=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/advanced-settings.js"),g=n("./src/components/structures/TabbedView.tsx"),v=n("./src/languageHandler.tsx"),f=n("./src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.tsx"),_=n("./src/components/views/settings/tabs/room/RolesRoomSettingsTab.tsx"),y=n("./node_modules/matrix-js-sdk/src/types.ts"),b=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),w=n("./node_modules/classnames/index.js"),E=n.n(w),A=n("./src/MatrixClientPeg.ts"),x=n("./src/components/views/elements/Field.tsx"),S=n("./src/components/views/elements/AccessibleButton.tsx"),C=n("./src/components/views/settings/AvatarSetting.tsx"),k=n("./src/editor/serialize.ts"),R=n("./src/utils/DMRoomMap.ts"),I=n("./src/models/LocalRoom.ts");function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function O(e){const t=R.A.shared().getUserIdForRoomId(e.roomId);return t||(e instanceof I.Np&&1===e.targets.length?e.targets[0].userId:e.roomId)}class M extends o.Component{constructor(e){var t;super(e),(0,s.A)(this,"avatarUpload",(0,o.createRef)()),(0,s.A)(this,"onAvatarChanged",e=>{this.setState({avatarFile:e,avatarRemovalPending:!1,profileFieldsTouched:T(T({},this.state.profileFieldsTouched),{},{avatar:!0})})}),(0,s.A)(this,"removeAvatar",()=>{this.avatarUpload.current&&(this.avatarUpload.current.value=""),this.setState({avatarFile:null,avatarRemovalPending:!0,profileFieldsTouched:T(T({},this.state.profileFieldsTouched),{},{avatar:!0})})}),(0,s.A)(this,"isSaveEnabled",()=>Boolean(Object.values(this.state.profileFieldsTouched).length)),(0,s.A)(this,"cancelProfileChanges",async e=>{e.stopPropagation(),e.preventDefault(),this.isSaveEnabled()&&this.setState({profileFieldsTouched:{},displayName:this.state.originalDisplayName,topic:this.state.originalTopic,avatarFile:null,avatarRemovalPending:!1})}),(0,s.A)(this,"saveProfile",async e=>{if(e.stopPropagation(),e.preventDefault(),!this.isSaveEnabled())return;this.setState({profileFieldsTouched:{}});const t=A.J.safeGet(),n={},s=this.state.displayName.trim();if(this.state.originalDisplayName!==this.state.displayName&&(await t.setRoomName(this.props.roomId,s),n.originalDisplayName=s,n.displayName=s),this.state.avatarFile){const{content_uri:e}=await t.uploadContent(this.state.avatarFile);await t.sendStateEvent(this.props.roomId,i.EventType.RoomAvatar,{url:e},""),n.originalAvatarUrl=e,n.avatarFile=null}else this.state.avatarRemovalPending&&(await t.sendStateEvent(this.props.roomId,i.EventType.RoomAvatar,{},""),n.avatarRemovalPending=!1,n.originalAvatarUrl=null);if(this.state.originalTopic!==this.state.topic){const e=(0,k.Ro)(this.state.topic,{forceHTML:!1});await t.setRoomTopic(this.props.roomId,this.state.topic,e),n.originalTopic=this.state.topic}this.setState(n)}),(0,s.A)(this,"onDisplayNameChanged",e=>{this.setState({displayName:e.target.value}),this.state.originalDisplayName===e.target.value?this.setState({profileFieldsTouched:T(T({},this.state.profileFieldsTouched),{},{name:!1})}):this.setState({profileFieldsTouched:T(T({},this.state.profileFieldsTouched),{},{name:!0})})}),(0,s.A)(this,"onTopicChanged",e=>{this.setState({topic:e.target.value}),this.state.originalTopic===e.target.value?this.setState({profileFieldsTouched:T(T({},this.state.profileFieldsTouched),{},{topic:!1})}):this.setState({profileFieldsTouched:T(T({},this.state.profileFieldsTouched),{},{topic:!0})})});const n=A.J.safeGet(),r=n.getRoom(e.roomId);if(!r)throw new Error(`Expected a room for ID: ${e.roomId}`);const a=r.currentState.getStateEvents(i.EventType.RoomAvatar,""),l=null!==(t=null==a?void 0:a.getContent().url)&&void 0!==t?t:null,c=r.currentState.getStateEvents(i.EventType.RoomTopic,""),d=c&&i.ContentHelpers.parseTopicContent(c.getContent()).text||"",u=r.currentState.getStateEvents(i.EventType.RoomName,""),m=u&&u.getContent()?u.getContent().name:"",p=n.getSafeUserId();this.state={originalDisplayName:m,displayName:m,originalAvatarUrl:l,avatarFile:null,avatarRemovalPending:!1,originalTopic:d,topic:d,profileFieldsTouched:{},canSetName:r.currentState.maySendStateEvent(i.EventType.RoomName,p),canSetTopic:r.currentState.maySendStateEvent(i.EventType.RoomTopic,p),canSetAvatar:r.currentState.maySendStateEvent(i.EventType.RoomAvatar,p)}}render(){var e,t;let n;(this.state.canSetName||this.state.canSetTopic||this.state.canSetAvatar)&&(n=o.createElement("div",{className:"mx_RoomProfileSettings_buttons"},o.createElement(S.A,{onClick:this.cancelProfileChanges,kind:"primary_outline",disabled:!this.isSaveEnabled()},(0,v._t)("action|cancel")),o.createElement(S.A,{onClick:this.saveProfile,kind:"primary",disabled:!this.isSaveEnabled()},(0,v._t)("action|save"))));const s=this.state.profileFieldsTouched.avatar?Boolean(this.state.avatarFile):Boolean(this.state.originalAvatarUrl);return o.createElement("form",{onSubmit:this.saveProfile,autoComplete:"off",noValidate:!0,className:"mx_RoomProfileSettings"},o.createElement("div",{className:"mx_RoomProfileSettings_profile"},o.createElement("div",{className:"mx_RoomProfileSettings_profile_controls"},o.createElement(x.A,{label:(0,v._t)("room_settings|general|name_field_label"),type:"text",value:this.state.displayName,autoComplete:"off",onChange:this.onDisplayNameChanged,disabled:!this.state.canSetName}),o.createElement(x.A,{className:E()("mx_RoomProfileSettings_profile_controls_topic","mx_RoomProfileSettings_profile_controls_topic--room"),id:"profileTopic",label:(0,v._t)("room_settings|general|topic_field_label"),disabled:!this.state.canSetTopic,type:"text",value:this.state.topic,autoComplete:"off",onChange:this.onTopicChanged,element:"textarea"})),o.createElement(C.A,{avatar:this.state.avatarRemovalPending?void 0:null!==(e=null!==(t=this.state.avatarFile)&&void 0!==t?t:this.state.originalAvatarUrl)&&void 0!==e?e:void 0,avatarAccessibleName:(0,v._t)("room_settings|general|avatar_field_label"),disabled:!this.state.canSetAvatar,onChange:this.onAvatarChanged,removeAvatar:s?this.removeAvatar:void 0,placeholderId:O(A.J.safeGet().getRoom(this.props.roomId)),placeholderName:A.J.safeGet().getRoom(this.props.roomId).name})),n)}}var N=n("./src/dispatcher/dispatcher.ts"),j=n("./src/contexts/MatrixClientContext.tsx"),D=n("./src/settings/SettingsStore.ts"),U=n("./src/settings/UIFeature.ts"),F=n("./src/components/views/room_settings/AliasSettings.tsx"),L=n("./src/PosthogTrackers.ts"),B=n("./src/components/views/settings/shared/SettingsSubsection.tsx"),V=n("./src/components/views/settings/tabs/SettingsTab.tsx"),H=n("./src/components/views/settings/shared/SettingsSection.tsx"),z=n("./node_modules/@vector-im/compound-web/dist/components/InlineSpinner/InlineSpinner.js"),W=n("./src/dispatcher/actions.ts"),K=n("./src/settings/SettingLevel.ts"),$=n("./src/components/views/elements/SettingsFlag.tsx"),J=n("./src/components/views/settings/SettingsFieldset.tsx"),G=n("./src/hooks/useIsEncrypted.ts"),q=n("./src/hooks/useSettings.ts");function Y({room:e}){const{roomId:t}=e,n=(0,j.nH)(),s=(0,G.g)(n,e),i=null===s;return o.createElement(J.A,{legend:(0,v._t)("room_settings|general|url_previews_section"),description:!i&&o.createElement(Q,{isEncrypted:s})},i?o.createElement(z.Z,null):o.createElement(o.Fragment,null,o.createElement(X,{isEncrypted:s,roomId:t}),o.createElement($.A,{name:s?"urlPreviewsEnabled_e2ee":"urlPreviewsEnabled",level:K.p.ROOM_DEVICE,roomId:t})))}function Z(e){e.preventDefault(),e.stopPropagation(),N.A.fire(W.r.ViewUserSettings)}function Q({isEncrypted:e}){const t=(0,q.wL)(K.p.ACCOUNT,"urlPreviewsEnabled");let n;if(e)n=(0,v._t)("room_settings|general|url_preview_encryption_warning");else{const e={a:e=>o.createElement(S.A,{kind:"link_inline",onClick:Z},e)};n=t?(0,v._t)("room_settings|general|user_url_previews_default_on",{},e):(0,v._t)("room_settings|general|user_url_previews_default_off",{},e)}return o.createElement(o.Fragment,null,o.createElement("p",null,(0,v._t)("room_settings|general|url_preview_explainer")),o.createElement("p",null,n))}function X({isEncrypted:e,roomId:t}){const n=(0,q.wL)(K.p.ACCOUNT,"urlPreviewsEnabled",t,!0);if(e)return null;let s;return s=D.A.canSetValue("urlPreviewsEnabled",t,K.p.ROOM)?o.createElement($.A,{name:"urlPreviewsEnabled",level:K.p.ROOM,roomId:t,isExplicit:!0}):o.createElement("div",null,n?(0,v._t)("room_settings|general|default_url_previews_on"):(0,v._t)("room_settings|general|default_url_previews_off")),s}var ee=n("./src/components/views/settings/tabs/user/MediaPreviewAccountSettings.tsx");class te extends o.Component{constructor(e){super(e),(0,s.A)(this,"onLeaveClick",e=>{N.A.dispatch({action:"leave_room",room_id:this.props.room.roomId}),L.A.trackInteraction("WebRoomSettingsLeaveButton",e)}),this.state={isRoomPublished:!1}}render(){var e;const t=this.context,n=this.props.room,s=n.currentState.mayClientSendStateEvent("m.room.canonical_alias",t),i=null!==(e=n.currentState.getStateEvents("m.room.canonical_alias",""))&&void 0!==e?e:void 0,r=D.A.getValue(U.f.URLPreviews)?o.createElement(Y,{room:n}):null;let a;return n.getMyMembership()===y.O.Join&&(a=o.createElement(B.P,{heading:(0,v._t)("action|leave_room")},o.createElement(S.A,{kind:"danger",onClick:this.onLeaveClick},(0,v._t)("action|leave_room")))),o.createElement(V.A,null,o.createElement(b.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},o.createElement(H.X,{heading:(0,v._t)("common|general")},o.createElement(M,{roomId:n.roomId})),o.createElement(H.X,{heading:(0,v._t)("room_settings|general|aliases_section")},o.createElement(F.A,{roomId:n.roomId,canSetCanonicalAlias:s,canSetAliases:!0,canonicalAliasEvent:i})),o.createElement(H.X,{heading:(0,v._t)("room_settings|general|other_section")},r,o.createElement(B.P,{heading:(0,v._t)("common|moderation_and_safety"),legacy:!1},o.createElement(ee.H,{roomId:n.roomId})),a)))}}(0,s.A)(te,"contextType",j.Ay);var ne=n("./node_modules/matrix-js-sdk/src/logger.ts"),se=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),oe=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/warning.js"),ie=n("./src/Modal.tsx"),re=n("./src/components/views/dialogs/QuestionDialog.tsx"),ae=n("./src/components/views/elements/StyledRadioGroup.tsx"),le=n("./src/createRoom.ts"),ce=n("./src/components/views/dialogs/CreateRoomDialog.tsx"),de=n("./src/components/views/settings/JoinRuleSettings.tsx"),ue=n("./src/components/views/dialogs/ErrorDialog.tsx"),me=n("./src/components/views/elements/ExternalLink.tsx"),pe=n("./src/SdkConfig.ts"),he=n("./src/utils/crypto/shouldForceDisableEncryption.ts"),ge=n("./src/components/views/typography/Caption.tsx"),ve=n("./src/utils/crypto/index.ts");class fe extends o.Component{constructor(e){super(e),(0,s.A)(this,"onStateEvent",e=>{[i.EventType.RoomJoinRules,i.EventType.RoomGuestAccess,i.EventType.RoomHistoryVisibility,i.EventType.RoomEncryption].includes(e.getType())&&this.forceUpdate()}),(0,s.A)(this,"onEncryptionChange",async()=>{if(this.props.room.getJoinRule()===i.JoinRule.Public){const e=ie.Ay.createDialog(re.A,{title:(0,v._t)("room_settings|security|enable_encryption_public_room_confirm_title"),description:o.createElement("div",null,o.createElement("p",null," ",(0,v._t)("room_settings|security|enable_encryption_public_room_confirm_description_1",void 0,{b:e=>o.createElement("strong",null,e)})," "),o.createElement("p",null," ",(0,v._t)("room_settings|security|enable_encryption_public_room_confirm_description_2",void 0,{a:t=>o.createElement(S.A,{kind:"link_inline",onClick:()=>{e.close(),this.createNewRoom(!1,!0)}}," ",t," ")})," "))}),{finished:t}=e,[n]=await t;if(!n)return}const{finished:e}=ie.Ay.createDialog(re.A,{title:(0,v._t)("room_settings|security|enable_encryption_confirm_title"),description:(0,v._t)("room_settings|security|enable_encryption_confirm_description",{},{a:e=>o.createElement(me.A,{href:pe.Ay.get("help_encryption_url")},e)})});e.then(([e])=>{if(!e)return void this.setState({encrypted:!1});const t=this.state.encrypted;this.setState({encrypted:!0}),this.context.sendStateEvent(this.props.room.roomId,i.EventType.RoomEncryption,{algorithm:ve.Q}).catch(e=>{ne.vF.error(e),this.setState({encrypted:t})})})}),(0,s.A)(this,"onGuestAccessChange",e=>{const t=e.target.checked?i.GuestAccess.CanJoin:i.GuestAccess.Forbidden,n=this.state.guestAccess;n!==t&&(this.setState({guestAccess:t}),this.context.sendStateEvent(this.props.room.roomId,i.EventType.RoomGuestAccess,{guest_access:t},"").catch(e=>{ne.vF.error(e),this.setState({guestAccess:n})}))}),(0,s.A)(this,"createNewRoom",async(e,t)=>{const n=ie.Ay.createDialog(ce.A,{defaultPublic:e,defaultEncrypted:t});L.A.trackInteraction("WebRoomSettingsSecurityTabCreateNewRoomButton");const[s,o]=await n.finished;return s&&await(0,le.Ay)(this.context,o),null!=s&&s}),(0,s.A)(this,"onHistoryRadioToggle",e=>{const t=this.state.history;t!==e&&(this.setState({history:e}),this.context.sendStateEvent(this.props.room.roomId,i.EventType.RoomHistoryVisibility,{history_visibility:e},"").catch(e=>{ne.vF.error(e),this.setState({history:t})}))}),(0,s.A)(this,"updateBlacklistDevicesFlag",e=>{this.props.room.setBlacklistUnverifiedDevices(e)}),(0,s.A)(this,"onJoinRuleChangeError",e=>{var t;ie.Ay.createDialog(ue.A,{title:(0,v._t)("room_settings|security|error_join_rule_change_title"),description:null!==(t=e.message)&&void 0!==t?t:(0,v._t)("room_settings|security|error_join_rule_change_unknown")})}),(0,s.A)(this,"onBeforeJoinRuleChange",async e=>{if(this.state.encrypted&&e===i.JoinRule.Public){const e=ie.Ay.createDialog(re.A,{title:(0,v._t)("room_settings|security|encrypted_room_public_confirm_title"),description:o.createElement("div",null,o.createElement("p",null," ",(0,v._t)("room_settings|security|encrypted_room_public_confirm_description_1",void 0,{b:e=>o.createElement("strong",null,e)})," "),o.createElement("p",null," ",(0,v._t)("room_settings|security|encrypted_room_public_confirm_description_2",void 0,{a:t=>o.createElement(S.A,{kind:"link_inline",onClick:()=>{e.close(),this.createNewRoom(!0,!1)}}," ",t," ")})," "))}),{finished:t}=e,[n]=await t;if(!n)return!1}const t=this.props.room.getJoinRule()===i.JoinRule.Public;if(this.state.history===i.HistoryVisibility.WorldReadable&&t&&e!==i.JoinRule.Public){var n;const e=this.context;if(!(null===(n=this.props.room.currentState)||void 0===n?void 0:n.mayClientSendStateEvent(i.EventType.RoomHistoryVisibility,e))){const e=ie.Ay.createDialog(ue.A,{title:(0,v._t)("room_settings|security|cannot_change_to_private_due_to_missing_history_visiblity_permissions|title"),description:o.createElement("p",null,(0,v._t)("room_settings|security|cannot_change_to_private_due_to_missing_history_visiblity_permissions|description"))});return await e.finished,!1}try{await this.context.sendStateEvent(this.props.room.roomId,i.EventType.RoomHistoryVisibility,{history_visibility:i.HistoryVisibility.Shared},""),this.setState({history:i.HistoryVisibility.Shared})}catch(e){return ne.vF.error("Failed to change history visibility",e),ie.Ay.createDialog(ue.A,{title:(0,v._t)("common|error"),description:(0,v._t)("error|update_history_visibility")}),!1}}return!0}),(0,s.A)(this,"toggleAdvancedSection",()=>{this.setState({showAdvancedSection:!this.state.showAdvancedSection})});const t=this.props.room.currentState;this.state={guestAccess:this.pullContentPropertyFromEvent(null==t?void 0:t.getStateEvents(i.EventType.RoomGuestAccess,""),"guest_access",i.GuestAccess.Forbidden),history:this.pullContentPropertyFromEvent(null==t?void 0:t.getStateEvents(i.EventType.RoomHistoryVisibility,""),"history_visibility",i.HistoryVisibility.Shared),hasAliases:!1,encrypted:null,stateEncrypted:null,showAdvancedSection:!1}}async componentDidMount(){var e,t;this.context.on(i.RoomStateEvent.Events,this.onStateEvent),this.setState({hasAliases:await this.hasAliases(),encrypted:Boolean(await(null===(e=this.context.getCrypto())||void 0===e?void 0:e.isEncryptionEnabledInRoom(this.props.room.roomId))),stateEncrypted:Boolean(await(null===(t=this.context.getCrypto())||void 0===t?void 0:t.isStateEncryptionEnabledInRoom(this.props.room.roomId)))})}pullContentPropertyFromEvent(e,t,n){return(null==e?void 0:e.getContent()[t])||n}componentWillUnmount(){this.context.removeListener(i.RoomStateEvent.Events,this.onStateEvent)}async hasAliases(){const e=this.context,t=(await e.getLocalAliases(this.props.room.roomId)).aliases;return Array.isArray(t)&&0!==t.length}renderJoinRule(){const e=this.props.room,t=e.getJoinRule()===i.JoinRule.Public,n=o.createElement(o.Fragment,null,o.createElement("p",null,(0,v._t)("room_settings|security|join_rule_description",{roomName:e.name})),t&&this.state.history===i.HistoryVisibility.WorldReadable&&o.createElement("div",{className:"mx_SecurityRoomSettingsTab_warning"},o.createElement(oe.A,{width:15,height:15}),o.createElement("span",null,(0,v._t)("room_settings|security|join_rule_world_readable_description"))),t&&!this.state.hasAliases&&o.createElement("div",{className:"mx_SecurityRoomSettingsTab_warning"},o.createElement(oe.A,{width:15,height:15}),o.createElement("span",null,(0,v._t)("room_settings|security|public_without_alias_warning"))));let s;return e.getJoinRule()===i.JoinRule.Public&&(s=o.createElement("div",null,o.createElement(S.A,{onClick:this.toggleAdvancedSection,kind:"link",className:"mx_SettingsTab_showAdvanced","aria-expanded":this.state.showAdvancedSection},this.state.showAdvancedSection?(0,v._t)("action|hide_advanced"):(0,v._t)("action|show_advanced")),this.state.showAdvancedSection&&this.renderAdvanced())),o.createElement(J.A,{legend:(0,v._t)("room_settings|access|title"),description:n},o.createElement(de.A,{room:e,beforeChange:this.onBeforeJoinRuleChange,onError:this.onJoinRuleChangeError,closeSettingsFn:this.props.closeSettingsFn,promptUpgrade:!0}),s)}renderHistory(){if(!D.A.getValue(U.f.RoomHistorySettings))return null;const e=this.context,t=this.state.history,n=this.props.room.currentState,s=null==n?void 0:n.mayClientSendStateEvent(i.EventType.RoomHistoryVisibility,e),r=t===i.HistoryVisibility.Joined?i.HistoryVisibility.Invited:t,a=this.props.room.getJoinRule()===i.JoinRule.Public,l=this.state.encrypted,c=[];a&&!l&&t!==i.HistoryVisibility.Invited&&t!==i.HistoryVisibility.Joined||c.push({value:i.HistoryVisibility.Invited,label:(0,v._t)("room_settings|security|history_visibility_invited")}),c.push({value:i.HistoryVisibility.Shared,label:(0,v._t)("room_settings|security|history_visibility_shared")}),(a&&!l||t===i.HistoryVisibility.WorldReadable)&&c.push({value:i.HistoryVisibility.WorldReadable,label:(0,v._t)("room_settings|security|history_visibility_world_readable")});const d=o.createElement(o.Fragment,null,(0,v._t)("room_settings|security|history_visibility_warning",{},{a:e=>o.createElement(me.A,{href:"https://element.io/en/help#e2ee-history-sharing"},e)}));return o.createElement(J.A,{legend:(0,v._t)("room_settings|security|history_visibility_legend"),description:d},o.createElement(ae.A,{name:"historyVis",value:r,onChange:this.onHistoryRadioToggle,disabled:!s,definitions:c}))}renderAdvanced(){const e=this.context,t=this.state.guestAccess,n=this.props.room.currentState,s=null==n?void 0:n.mayClientSendStateEvent(i.EventType.RoomGuestAccess,e);return o.createElement("div",{className:"mx_SecurityRoomSettingsTab_advancedSection"},o.createElement(se.I,{name:"guest-access",checked:t===i.GuestAccess.CanJoin,onChange:this.onGuestAccessChange,disabled:!s,label:(0,v._t)("room_settings|visibility|guest_access_label"),helpMessage:(0,v._t)("room_settings|security|guest_access_warning")}))}render(){const e=this.context,t=this.props.room,n=this.state.encrypted,s=this.state.stateEncrypted,r=null===n,a=t.currentState.mayClientSendStateEvent(i.EventType.RoomEncryption,e),l=(0,he.I)(e),c=!n&&!l&&a;let d;n&&D.A.canSetValue("blacklistUnverifiedDevices",this.props.room.roomId,K.p.ROOM_DEVICE)&&(d=o.createElement($.A,{name:"blacklistUnverifiedDevices",level:K.p.ROOM_DEVICE,onChange:this.updateBlacklistDevicesFlag,roomId:this.props.room.roomId}));const u=this.renderHistory();return o.createElement(V.A,null,o.createElement(b.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},o.createElement(H.X,{heading:(0,v._t)("room_settings|security|title")},o.createElement(J.A,{legend:(0,v._t)("settings|security|encryption_section"),description:l&&!n?void 0:(0,v._t)("room_settings|security|encryption_permanent")},r?o.createElement(z.Z,null):o.createElement(o.Fragment,null,o.createElement(se.I,{name:"enable-encryption",checked:n,onChange:this.onEncryptionChange,label:(0,v._t)("common|encrypted"),disabled:!c}),l&&!n&&o.createElement(ge.H,null,(0,v._t)("room_settings|security|encryption_forced")),s&&o.createElement(se.I,{name:"enable-state-encryption",checked:s,label:(0,v._t)("common|state_encryption_enabled"),disabled:!0}),d)),this.renderJoinRule(),u)))}}(0,s.A)(fe,"contextType",j.Ay);var _e=n("./src/Notifier.ts"),ye=n("./src/stores/local-echo/EchoChamber.ts"),be=n("./src/RoomNotifs.ts"),we=n("./src/components/views/dialogs/UserTab.ts"),Ee=n("./src/utils/BrowserWorkarounds.ts");class Ae extends o.Component{constructor(e,t){super(e,t),(0,s.A)(this,"roomProps",void 0),(0,s.A)(this,"soundUpload",(0,o.createRef)()),(0,s.A)(this,"triggerUploader",async e=>{var t;e.stopPropagation(),e.preventDefault(),null===(t=this.soundUpload.current)||void 0===t||t.click()}),(0,s.A)(this,"onSoundUploadChanged",e=>{if(!e.target.files||!e.target.files.length)return void this.setState({uploadedFile:null});const t=e.target.files[0];this.setState({uploadedFile:t})}),(0,s.A)(this,"onClickSaveSound",async e=>{e.stopPropagation(),e.preventDefault();try{await this.saveSound()}catch(e){ne.vF.error(`Unable to save notification sound for ${this.props.roomId}`),ne.vF.error(e)}}),(0,s.A)(this,"clearSound",e=>{e.stopPropagation(),e.preventDefault(),D.A.setValue("notificationSound",this.props.roomId,K.p.ROOM_ACCOUNT,null),this.setState({currentSound:"default"})}),(0,s.A)(this,"onRoomNotificationChange",e=>{this.roomProps.notificationVolume=e,this.forceUpdate()}),(0,s.A)(this,"onOpenSettingsClick",e=>{e.preventDefault(),this.props.closeSettingsFn(),N.A.dispatch({action:W.r.ViewUserSettings,initialTabId:we.v.Notifications})}),this.roomProps=ye.s.forRoom(t.getRoom(this.props.roomId));let n="default";const i=_e.default.getSoundForRoom(this.props.roomId);i&&(n=i.name||i.url),this.state={currentSound:n,uploadedFile:null}}async saveSound(){if(!this.state.uploadedFile)return;let e=this.state.uploadedFile.type;"video/ogg"===e&&(e="audio/ogg");const{content_uri:t}=await this.context.uploadContent(this.state.uploadedFile,{type:e});await D.A.setValue("notificationSound",this.props.roomId,K.p.ROOM_ACCOUNT,{name:this.state.uploadedFile.name,type:e,size:this.state.uploadedFile.size,url:t}),this.setState({uploadedFile:null,currentSound:this.state.uploadedFile.name})}render(){let e;return this.state.uploadedFile&&(e=o.createElement("div",null,o.createElement("span",null,(0,v._t)("room_settings|notifications|uploaded_sound"),": ",o.createElement("code",null,this.state.uploadedFile.name)))),o.createElement(V.A,null,o.createElement(H.X,{heading:(0,v._t)("notifications|enable_prompt_toast_title")},o.createElement("div",{className:"mx_NotificationSettingsTab_notificationsSection"},o.createElement(ae.A,{name:"roomNotificationSetting",definitions:[{value:be.dC.AllMessages,label:o.createElement(o.Fragment,null,(0,v._t)("notifications|default"),o.createElement("div",{className:"mx_NotificationSettingsTab_microCopy"},(0,v._t)("room_settings|notifications|settings_link",{},{a:e=>o.createElement(S.A,{kind:"link_inline",onClick:this.onOpenSettingsClick},e)})))},{value:be.dC.AllMessagesLoud,label:o.createElement(o.Fragment,null,(0,v._t)("notifications|all_messages"),o.createElement("div",{className:"mx_NotificationSettingsTab_microCopy"},(0,v._t)("notifications|all_messages_description")))},{value:be.dC.MentionsOnly,label:o.createElement(o.Fragment,null,(0,v._t)("notifications|mentions_and_keywords"),o.createElement("div",{className:"mx_NotificationSettingsTab_microCopy"},(0,v._t)("notifications|mentions_and_keywords_description",{},{a:e=>o.createElement(S.A,{kind:"link_inline",onClick:this.onOpenSettingsClick},e)})))},{value:be.dC.Mute,label:o.createElement(o.Fragment,null,(0,v._t)("common|off"),o.createElement("div",{className:"mx_NotificationSettingsTab_microCopy"},(0,v._t)("notifications|mute_description")))}],onChange:this.onRoomNotificationChange,value:this.roomProps.notificationVolume})),o.createElement(B.P,{heading:(0,v._t)("room_settings|notifications|sounds_section")},o.createElement("div",null,o.createElement("div",{className:"mx_SettingsTab_subsectionText"},o.createElement("span",null,(0,v._t)("room_settings|notifications|notification_sound"),":"," ",o.createElement("code",null,this.state.currentSound))),o.createElement(S.A,{className:"mx_NotificationSound_resetSound",disabled:"default"==this.state.currentSound,onClick:this.clearSound,kind:"primary"},(0,v._t)("action|reset"))),o.createElement("div",null,o.createElement("h4",{className:"mx_Heading_h4"},(0,v._t)("room_settings|notifications|custom_sound_prompt")),o.createElement("div",{className:"mx_SettingsFlag"},o.createElement("form",{autoComplete:"off",noValidate:!0},o.createElement("input",{ref:this.soundUpload,className:"mx_NotificationSound_soundUpload",type:"file",onClick:Ee.e,onChange:this.onSoundUploadChanged,accept:"audio/*","aria-label":(0,v._t)("room_settings|notifications|upload_sound_label")})),e),o.createElement(S.A,{className:"mx_NotificationSound_browse",onClick:this.triggerUploader,kind:"primary"},(0,v._t)("room_settings|notifications|browse_button")),o.createElement(S.A,{className:"mx_NotificationSound_save",disabled:null==this.state.uploadedFile,onClick:this.onClickSaveSound,kind:"primary"},(0,v._t)("action|save")),o.createElement("br",null)))))}}(0,s.A)(Ae,"contextType",j.Ay);var xe=n("./src/components/views/elements/Pill.tsx"),Se=n("./src/utils/permalinks/Permalinks.ts"),Ce=n("./src/components/views/avatars/BaseAvatar.tsx"),ke=n("./src/HtmlUtils.tsx"),Re=n("./src/customisations/Media.ts");class Ie extends o.PureComponent{render(){var e,t;const n=this.props.ev.getContent();if(null===(e=n.channel)||void 0===e||!e.id||null===(t=n.protocol)||void 0===t||!t.id)return ne.vF.warn(`Bridge info event ${this.props.ev.getId()} has missing content. Tile will not render`),null;n.bridgebot||(ne.vF.warn(`Bridge info event ${this.props.ev.getId()} does not provide a 'bridgebot' key whichis deprecated behaviour. Using sender for now.`),n.bridgebot=this.props.ev.getSender());const{channel:s,network:i,protocol:r}=n,a=r.displayname||r.id,l=s.displayname||s.id;let c;n.creator&&(c=o.createElement("li",null,(0,v._t)("labs|bridge_state_creator",{},{user:()=>o.createElement(xe.a,{type:xe.y.UserMention,room:this.props.room,url:(0,Se.Ne)(n.creator),shouldShowPillAvatar:D.A.getValue("Pill.shouldShowPillAvatar")})})));const d=o.createElement("li",null,(0,v._t)("labs|bridge_state_manager",{},{user:()=>o.createElement(xe.a,{type:xe.y.UserMention,room:this.props.room,url:(0,Se.Ne)(n.bridgebot),shouldShowPillAvatar:D.A.getValue("Pill.shouldShowPillAvatar")})}));let u,m;if(r.avatar_url){var p;const e=null!==(p=(0,Re.mediaFromMxc)(r.avatar_url).getSquareThumbnailHttp(64))&&void 0!==p?p:void 0;u=o.createElement(Ce.A,{className:"mx_RoomSettingsDialog_protocolIcon",size:"48px",name:a,idName:a,url:e})}else u=o.createElement("div",{className:"mx_RoomSettingsDialog_noProtocolIcon"});if(i){const e=i.displayname||i.id;let t=o.createElement("span",null,e);"string"==typeof i.external_url&&(0,ke.SR)(i.external_url)&&(t=o.createElement("a",{href:i.external_url,target:"_blank",rel:"noreferrer noopener"},e)),m=(0,v._t)("labs|bridge_state_workspace",{},{networkLink:()=>t})}let h=o.createElement("span",null,l);"string"==typeof s.external_url&&(0,ke.SR)(s.external_url)&&(h=o.createElement("a",{href:s.external_url,target:"_blank",rel:"noreferrer noopener"},l));const g=this.props.ev.getId();return o.createElement("li",{key:g,className:"mx_RoomSettingsDialog_BridgeList_listItem"},o.createElement("div",{className:"mx_RoomSettingsDialog_column_icon"},u),o.createElement("div",{className:"mx_RoomSettingsDialog_column_data"},o.createElement("h3",{className:"mx_RoomSettingsDialog_column_data_protocolName"},a),o.createElement("p",{className:"mx_RoomSettingsDialog_column_data_details mx_RoomSettingsDialog_workspace_channel_details"},m,o.createElement("span",{className:"mx_RoomSettingsDialog_channel"},(0,v._t)("labs|bridge_state_channel",{},{channelLink:()=>h}))),o.createElement("ul",{className:"mx_RoomSettingsDialog_column_data_metadata mx_RoomSettingsDialog_metadata"},c," ",d)))}}const Pe=["uk.half-shot.bridge"],Te="https://matrix.org/bridges/";class Oe extends o.Component{renderBridgeCard(e,t){const n=e.getContent();return t&&null!=n&&n.channel&&n.protocol?o.createElement(Ie,{key:e.getId(),room:t,ev:e}):null}static getBridgeStateEvents(e,t){var n;const s=null===(n=e.getRoom(t))||void 0===n?void 0:n.currentState;return s?Pe.map(e=>s.getStateEvents(e)).flat(1):[]}render(){const e=Oe.getBridgeStateEvents(this.context,this.props.room.roomId),t=this.props.room;let n;return n=e.length>0?o.createElement("div",null,o.createElement("p",null,(0,v._t)("room_settings|bridges|description",{},{a:e=>o.createElement("a",{href:Te,target:"_blank",rel:"noreferrer noopener"},e)})),o.createElement("ul",{className:"mx_RoomSettingsDialog_BridgeList"},e.map(e=>this.renderBridgeCard(e,t)))):o.createElement("p",null,(0,v._t)("room_settings|bridges|empty",{},{a:e=>o.createElement("a",{href:Te,target:"_blank",rel:"noreferrer noopener"},e)})),o.createElement(V.A,null,o.createElement(H.X,{heading:(0,v._t)("room_settings|bridges|title")},n))}}(0,s.A)(Oe,"contextType",j.Ay);var Me=n("./src/components/views/dialogs/BaseDialog.tsx"),Ne=n("./src/hooks/useRoomState.ts"),je=n("./src/call-types.ts");function De(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}const Ue=({room:e})=>{var t;const n=(0,o.useMemo)(()=>e.getJoinRule()===i.JoinRule.Public,[e]),[r,a]=(0,Ne.U)(e,(0,o.useCallback)(t=>{var n;const s=null==t||null===(n=t.getStateEvents(i.EventType.RoomPowerLevels,""))||void 0===n?void 0:n.getContent();return[null!=s?s:{},null==t?void 0:t.maySendStateEvent(i.EventType.RoomPowerLevels,e.client.getSafeUserId())]},[e.client])),[l,c]=(0,o.useState)(()=>{var e;return 0===(null===(e=r.events)||void 0===e?void 0:e[je.Vj.name])}),d=(0,o.useCallback)(t=>{const o=t.target.checked;c(o);const a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?De(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):De(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({events:{}},r);if(o){var l,d,u;const e=null!==(l=null!==(d=a.events[i.EventType.RoomMessage])&&void 0!==d?d:r.users_default)&&void 0!==l?l:0,t=null!==(u=r.kick)&&void 0!==u?u:50;a.events[je.Fm.name]=n?t:e,a.events[je.Vj.name]=e}else{var m,p;const e=null!==(m=null!==(p=a.events[i.EventType.RoomPowerLevels])&&void 0!==p?p:r.state_default)&&void 0!==m?m:100;a.events[je.Fm.name]=e,a.events[je.Vj.name]=e}e.client.sendStateEvent(e.roomId,i.EventType.RoomPowerLevels,a)},[e.client,e.roomId,r,n]),u=null!==(t=pe.Ay.get("element_call").brand)&&void 0!==t?t:pe.zY.element_call.brand;return o.createElement(se.I,{name:"element-call-switch",label:(0,v._t)("room_settings|voip|enable_element_call_label",{brand:u}),helpMessage:(0,v._t)("room_settings|voip|enable_element_call_caption",{brand:u}),checked:l,onChange:d,disabled:!a,disabledMessage:(0,v._t)("room_settings|voip|enable_element_call_no_permissions_tooltip")})},Fe=({room:e})=>o.createElement(V.A,null,o.createElement(H.X,{heading:(0,v._t)("settings|voip|title")},o.createElement(b.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},o.createElement(B.P,{heading:(0,v._t)("room_settings|voip|call_type_section")},o.createElement(Ue,{room:e})))));var Le=n("./src/components/views/polls/pollHistory/PollHistory.tsx");const Be=({room:e,onFinished:t})=>{const n=(0,o.useContext)(j.Ay),s=new Se.pE(e,e.roomId);return o.createElement("div",{className:"mx_SettingsTab"},o.createElement(Le.a,{room:e,permalinkCreator:s,matrixClient:n,onFinished:t}))};var Ve=n("./src/components/views/elements/ErrorBoundary.tsx"),He=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),ze=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),We=n("./src/DateUtils.ts"),Ke=n("./src/hooks/useEventEmitter.ts"),$e=n("./src/components/views/avatars/MemberAvatar.tsx");const Je=({roomMember:e})=>{var t;const n=null===(t=e.events.member)||void 0===t?void 0:t.event.origin_server_ts;return n?o.createElement("time",{className:"mx_PeopleRoomSettingsTab_timestamp"},(0,We.fw)(new Date(n))):null},Ge=({roomMember:e})=>{var t;const[n,s]=(0,o.useState)(!1),i=null===(t=e.events.member)||void 0===t?void 0:t.getContent().reason;if(!i)return null;const r=i.length>120;return o.createElement(o.Fragment,null,o.createElement("p",{className:"mx_PeopleRoomSettingsTab_seeMoreOrLess"},n||!r?i:`${i.substring(0,120)}…`),r&&o.createElement(S.A,{kind:"link",onClick:()=>s(!n)},n?(0,v._t)("room_settings|people|see_less"):(0,v._t)("room_settings|people|see_more")))},qe=({canKick:e,canInvite:t,onApprove:n,onDeny:s,roomMember:i})=>{const[r,a]=(0,o.useState)(!1),l=()=>a(!1);return o.createElement("div",{className:"mx_PeopleRoomSettingsTab_knock"},o.createElement($e.A,{className:"mx_PeopleRoomSettingsTab_avatar",member:i,size:"42px"}),o.createElement("div",{className:"mx_PeopleRoomSettingsTab_content"},o.createElement("span",{className:"mx_PeopleRoomSettingsTab_name"},i.name),o.createElement(Je,{roomMember:i}),o.createElement("span",{className:"mx_PeopleRoomSettingsTab_userId"},i.userId),o.createElement(Ge,{roomMember:i})),o.createElement(S.A,{className:"mx_PeopleRoomSettingsTab_action",disabled:!e||r,kind:"icon_primary_outline",onClick:()=>{return e=i.userId,a(!0),void s(e).catch(l);var e},title:(0,v._t)("action|deny")},o.createElement(He.A,{width:18,height:18})),o.createElement(S.A,{className:"mx_PeopleRoomSettingsTab_action",disabled:!t||r,kind:"icon_primary",onClick:()=>{return e=i.userId,a(!0),void n(e).catch(l);var e},title:(0,v._t)("action|approve")},o.createElement(ze.A,{width:18,height:18})))},Ye=({room:e})=>{const t=e.client,n=t.getUserId()||"",s=e.canInvite(n),r=e.getMember(n),a=e.getLiveTimeline().getState(i.EventTimeline.FORWARDS),l=!(!r||!a)&&a.hasSufficientPowerLevelFor("kick",r.powerLevel),c=e.roomId,d=e=>new Promise((n,s)=>t.invite(c,e).catch(e=>{m(e),s(e)})),u=e=>new Promise((n,s)=>t.kick(c,e).catch(e=>{m(e),s(e)})),m=e=>ie.Ay.createDialog(ue.A,{title:e.name,description:e.message}),p=(0,Ke.DY)(e,i.RoomStateEvent.Update,(0,o.useCallback)(()=>e.getMembersWithMembership(y.O.Knock),[e]));return o.createElement(V.A,null,o.createElement(H.X,{heading:(0,v._t)("common|people")},o.createElement(J.A,{legend:(0,v._t)("room_settings|people|knock_section")},p.length?p.map(e=>o.createElement(qe,{canInvite:s,canKick:l,key:e.userId,onApprove:d,onDeny:u,roomMember:e})):o.createElement("p",{className:"mx_PeopleRoomSettingsTab_paragraph"},(0,v._t)("room_settings|people|knock_empty")))))};let Ze=function(e){return e.General="ROOM_GENERAL_TAB",e.People="ROOM_PEOPLE_TAB",e.Voip="ROOM_VOIP_TAB",e.Security="ROOM_SECURITY_TAB",e.Roles="ROOM_ROLES_TAB",e.Notifications="ROOM_NOTIFICATIONS_TAB",e.Bridges="ROOM_BRIDGES_TAB",e.Advanced="ROOM_ADVANCED_TAB",e.PollHistory="ROOM_POLL_HISTORY_TAB",e}({});class Qe extends o.Component{constructor(e){super(e),(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"onAction",e=>{e.action===W.r.ViewHomePage&&this.props.onFinished(!0)}),(0,s.A)(this,"onRoomName",()=>{this.forceUpdate()}),(0,s.A)(this,"onStateEvent",e=>{e.getType()===i.EventType.RoomJoinRules&&this.forceUpdate()}),(0,s.A)(this,"onTabChange",e=>{this.setState({activeTabId:e})});const t=this.getRoom();this.state={room:t,activeTabId:e.initialTabId||Ze.General}}componentDidMount(){this.dispatcherRef=N.A.register(this.onAction),A.J.safeGet().on(i.RoomEvent.Name,this.onRoomName),A.J.safeGet().on(i.RoomStateEvent.Events,this.onStateEvent),this.onRoomName()}componentDidUpdate(){if(this.props.roomId!==this.state.room.roomId){const e=this.getRoom();this.setState({room:e})}}componentWillUnmount(){var e,t;N.A.unregister(this.dispatcherRef),null===(e=A.J.get())||void 0===e||e.removeListener(i.RoomEvent.Name,this.onRoomName),null===(t=A.J.get())||void 0===t||t.removeListener(i.RoomStateEvent.Events,this.onStateEvent)}getRoom(){const e=A.J.safeGet().getRoom(this.props.roomId);if(!e)throw new Error(`Cannot find room ${this.props.roomId}`);return e}getTabs(){const e=[];return e.push(new g.oz(Ze.General,(0,v.AO)("common|general"),o.createElement(r.A,null),o.createElement(te,{room:this.state.room}),"RoomSettingsGeneral")),D.A.getValue("feature_ask_to_join")&&"knock"===this.state.room.getJoinRule()&&e.push(new g.oz(Ze.People,(0,v.AO)("common|people"),o.createElement(a.A,null),o.createElement(Ye,{room:this.state.room}))),D.A.getValue("feature_group_calls")&&e.push(new g.oz(Ze.Voip,(0,v.AO)("settings|voip|title"),o.createElement(l.A,null),o.createElement(Fe,{room:this.state.room}))),e.push(new g.oz(Ze.Security,(0,v.AO)("room_settings|security|title"),o.createElement(c.A,null),o.createElement(fe,{room:this.state.room,closeSettingsFn:()=>this.props.onFinished(!0)}),"RoomSettingsSecurityPrivacy")),e.push(new g.oz(Ze.Roles,(0,v.AO)("room_settings|permissions|title"),o.createElement(d.A,null),o.createElement(_.A,{room:this.state.room}),"RoomSettingsRolesPermissions")),e.push(new g.oz(Ze.Notifications,(0,v.AO)("notifications|enable_prompt_toast_title"),o.createElement(u.A,null),o.createElement(Ae,{roomId:this.state.room.roomId,closeSettingsFn:()=>this.props.onFinished(!0)}),"RoomSettingsNotifications")),D.A.getValue("feature_bridge_state")&&e.push(new g.oz(Ze.Bridges,(0,v.AO)("room_settings|bridges|title"),o.createElement(m.A,null),o.createElement(Oe,{room:this.state.room}),"RoomSettingsBridges")),e.push(new g.oz(Ze.PollHistory,(0,v.AO)("right_panel|polls_button"),o.createElement(p.A,null),o.createElement(Be,{room:this.state.room,onFinished:()=>this.props.onFinished(!0)}))),D.A.getValue(U.f.AdvancedSettings)&&e.push(new g.oz(Ze.Advanced,(0,v.AO)("common|advanced"),o.createElement(h.A,null),o.createElement(f.A,{room:this.state.room,closeSettingsFn:()=>this.props.onFinished(!0)}),"RoomSettingsAdvanced")),e}render(){const e=this.state.room.name;return o.createElement(Me.A,{className:"mx_RoomSettingsDialog",hasCancel:!0,onFinished:this.props.onFinished,title:(0,v._t)("room_settings|title",{roomName:e})},o.createElement("div",{className:"mx_SettingsDialog_content"},o.createElement(g.Ay,{tabs:this.getTabs(),activeTabId:this.state.activeTabId,screenName:"RoomSettings",onChange:this.onTabChange})))}}const Xe=e=>o.createElement(Ve.A,null,o.createElement(Qe,e))},"./src/components/views/dialogs/RoomUpgradeDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/Modal.tsx"),r=n("./src/languageHandler.tsx"),a=n("./src/utils/RoomUpgrade.ts"),l=n("./src/components/views/dialogs/BaseDialog.tsx"),c=n("./src/components/views/dialogs/ErrorDialog.tsx"),d=n("./src/components/views/elements/DialogButtons.tsx"),u=n("./src/components/views/elements/Spinner.tsx");class m extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"targetVersion",void 0),(0,s.A)(this,"state",{busy:!0}),(0,s.A)(this,"onCancelClick",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"onUpgradeClick",()=>{this.setState({busy:!0}),(0,a.W)(this.props.room,this.targetVersion,!1,!1).then(()=>{this.props.onFinished(!0)}).catch(e=>{var t;i.Ay.createDialog(c.A,{title:(0,r._t)("room_settings|advanced|error_upgrade_title"),description:null!==(t=null==e?void 0:e.message)&&void 0!==t?t:(0,r._t)("room_settings|advanced|error_upgrade_description")})}).finally(()=>{this.setState({busy:!1})})})}async componentDidMount(){const e=await this.props.room.getRecommendedVersion();this.targetVersion=e.version,this.setState({busy:!1})}render(){let e;return e=this.state.busy?o.createElement(u.A,null):o.createElement(d.A,{primaryButton:(0,r._t)("room_settings|advanced|upgrade_button",{version:this.targetVersion}),primaryButtonClass:"danger",hasCancel:!0,onPrimaryButtonClick:this.onUpgradeClick,onCancel:this.onCancelClick}),o.createElement(l.A,{className:"mx_RoomUpgradeDialog",onFinished:this.props.onFinished,title:(0,r._t)("room_settings|advanced|upgrade_dialog_title"),contentId:"mx_Dialog_content",hasCancel:!0},o.createElement("p",null,(0,r._t)("room_settings|advanced|upgrade_dialog_description")),o.createElement("ol",null,o.createElement("li",null,(0,r._t)("room_settings|advanced|upgrade_dialog_description_1")),o.createElement("li",null,(0,r._t)("room_settings|advanced|upgrade_dialog_description_2")),o.createElement("li",null,(0,r._t)("room_settings|advanced|upgrade_dialog_description_3")),o.createElement("li",null,(0,r._t)("room_settings|advanced|upgrade_dialog_description_4"))),e)}}},"./src/components/views/dialogs/RoomUpgradeWarningDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>f});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),l=n("./src/languageHandler.tsx"),c=n("./src/SdkConfig.ts"),d=n("./src/MatrixClientPeg.ts"),u=n("./src/Modal.tsx"),m=n("./src/components/views/dialogs/BugReportDialog.tsx"),p=n("./src/components/views/dialogs/BaseDialog.tsx"),h=n("./src/components/views/elements/DialogButtons.tsx"),g=n("./src/components/views/elements/ProgressBar.tsx"),v=n("./src/components/views/elements/AccessibleButton.tsx");class f extends o.Component{constructor(e){var t;super(e),(0,s.A)(this,"joinRule",void 0),(0,s.A)(this,"isInviteOrKnockRoom",void 0),(0,s.A)(this,"currentVersion",void 0),(0,s.A)(this,"onProgressCallback",(e,t,n)=>{this.setState({progress:{text:e,progress:t,total:n}})}),(0,s.A)(this,"onContinue",async()=>{var e,t;const n={continue:!0,invite:this.isInviteOrKnockRoom&&this.state.inviteUsersToNewRoom};await(null===(e=(t=this.props).doUpgrade)||void 0===e?void 0:e.call(t,n,this.onProgressCallback)),this.props.onFinished(n)}),(0,s.A)(this,"onCancel",()=>{this.props.onFinished({continue:!1,invite:!1})}),(0,s.A)(this,"onInviteUsersToggle",e=>{this.setState({inviteUsersToNewRoom:e.target.checked})}),(0,s.A)(this,"openBugReportDialog",e=>{e.preventDefault(),e.stopPropagation(),u.Ay.createDialog(m.A,{})});const n=d.J.safeGet().getRoom(this.props.roomId),o=null==n?void 0:n.currentState.getStateEvents(i.EventType.RoomJoinRules,"");this.joinRule=null!==(t=null==o?void 0:o.getContent().join_rule)&&void 0!==t?t:i.JoinRule.Invite,this.isInviteOrKnockRoom=[i.JoinRule.Invite,i.JoinRule.Knock].includes(this.joinRule),this.currentVersion=null==n?void 0:n.getVersion(),this.state={inviteUsersToNewRoom:!0}}render(){const e=c.Ay.get().brand;let t,n;switch(this.isInviteOrKnockRoom&&(t=o.createElement(r.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},o.createElement(a.I,{name:"room-upgrade-warning",checked:this.state.inviteUsersToNewRoom,onChange:this.onInviteUsersToggle,label:(0,l._t)("room_settings|advanced|upgrade_warning_dialog_invite_label")}))),this.joinRule){case i.JoinRule.Invite:n=(0,l._t)("room_settings|advanced|upgrade_warning_dialog_title_private");break;case i.JoinRule.Public:n=(0,l._t)("room_settings|advanced|upgrade_dwarning_ialog_title_public");break;default:n=(0,l._t)("room_settings|advanced|upgrade_warning_dialog_title")}let s,d=o.createElement("p",null,(0,l._t)("room_settings|advanced|upgrade_warning_dialog_report_bug_prompt",{brand:e}));return c.Ay.get().bug_report_endpoint_url&&(d=o.createElement("p",null,(0,l._t)("room_settings|advanced|upgrade_warning_dialog_report_bug_prompt_link",{brand:e},{a:e=>o.createElement(v.A,{kind:"link_inline",onClick:this.openBugReportDialog},e)}))),s=this.state.progress?o.createElement("span",{className:"mx_RoomUpgradeWarningDialog_progress"},o.createElement(g.A,{value:this.state.progress.progress,max:this.state.progress.total}),o.createElement("div",{className:"mx_RoomUpgradeWarningDialog_progressText"},this.state.progress.text)):o.createElement(h.A,{primaryButton:(0,l._t)("action|upgrade"),onPrimaryButtonClick:this.onContinue,cancelButton:(0,l._t)("action|cancel"),onCancel:this.onCancel}),o.createElement(p.A,{className:"mx_RoomUpgradeWarningDialog",hasCancel:!0,fixedWidth:!1,onFinished:this.props.onFinished,title:n},o.createElement("div",null,o.createElement("p",null,this.props.description||(0,l._t)("room_settings|advanced|upgrade_warning_dialog_description")),o.createElement("p",null,(0,l._t)("room_settings|advanced|upgrade_warning_dialog_explainer",{},{b:e=>o.createElement("strong",null,e)})),d,o.createElement("p",null,(0,l._t)("room_settings|advanced|upgrade_warning_dialog_footer",{},{oldVersion:()=>o.createElement("code",null,this.currentVersion),newVersion:()=>o.createElement("code",null,this.props.targetVersion)})),t),s)}}},"./src/components/views/dialogs/ScrollableBaseModal.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/react-focus-lock/dist/es2015/index.js"),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),a=n("./src/MatrixClientPeg.ts"),l=n("./src/contexts/MatrixClientContext.tsx"),c=n("./src/languageHandler.tsx"),d=n("./src/components/views/elements/AccessibleButton.tsx"),u=n("./src/accessibility/KeyboardShortcuts.ts"),m=n("./src/KeyBindingsManager.ts");class p extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"onKeyDown",e=>{if((0,m.zM)().getAccessibilityAction(e)===u.bY.Escape)e.stopPropagation(),e.preventDefault(),this.cancel()}),(0,s.A)(this,"onCancel",()=>{this.cancel()}),(0,s.A)(this,"onSubmit",e=>{e.stopPropagation(),e.preventDefault(),this.state.canSubmit&&this.submit()})}get matrixClient(){return a.J.get()}render(){var e;return o.createElement(l.Ay.Provider,{value:this.matrixClient},o.createElement(i.Ay,{returnFocus:!0,lockProps:{onKeyDown:this.onKeyDown,role:"dialog","aria-labelledby":"mx_CompoundDialog_title","aria-describedby":"mx_CompoundDialog_content"},className:"mx_CompoundDialog mx_ScrollableBaseDialog"},o.createElement("div",{className:"mx_CompoundDialog_header"},o.createElement("h1",null,this.state.title)),o.createElement(d.A,{onClick:this.onCancel,className:"mx_CompoundDialog_cancelButton","aria-label":(0,c._t)("dialog_close_label")},o.createElement(r.A,null)),o.createElement("form",{onSubmit:this.onSubmit,className:"mx_CompoundDialog_form"},o.createElement("div",{className:"mx_CompoundDialog_content"},this.renderContent()),o.createElement("div",{className:"mx_CompoundDialog_footer"},o.createElement(d.A,{onClick:this.onCancel,kind:"primary_outline"},null!==(e=this.state.cancelLabel)&&void 0!==e?e:(0,c._t)("action|cancel")),o.createElement(d.A,{onClick:this.onSubmit,kind:"primary",disabled:!this.state.canSubmit,type:"submit",element:"button",className:"mx_Dialog_nonDialogButton"},this.state.actionLabel)))))}}},"./src/components/views/dialogs/ShareDialog.tsx"(e,t,n){"use strict";n.d(t,{G:()=>y});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/Checkbox/Checkbox.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/link.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),d=n("./src/languageHandler.tsx"),u=n("./src/components/views/elements/QRCode.tsx"),m=n("./src/utils/permalinks/Permalinks.ts"),p=n("./src/utils/strings.ts"),h=n("./src/settings/UIFeature.ts"),g=n("./src/components/views/dialogs/BaseDialog.tsx"),v=n("./src/hooks/useSettings.ts");function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}const _=[{name:"Facebook",img:n("./res/img/social/facebook.png"),url:e=>`https://www.facebook.com/sharer/sharer.php?u=${e}`},{name:"Twitter",img:n("./res/img/social/twitter-2.png"),url:e=>`https://twitter.com/home?status=${e}`},{name:"LinkedIn",img:n("./res/img/social/linkedin.png"),url:e=>`https://www.linkedin.com/shareArticle?mini=true&url=${e}`},{name:"Reddit",img:n("./res/img/social/reddit.png"),url:e=>`https://www.reddit.com/submit?url=${e}`},{name:"email",img:n("./res/img/social/email-1.png"),url:e=>`mailto:?body=${e}`}];function y({target:e,customTitle:t,onFinished:n,permalinkCreator:_}){const y=(0,v.ti)(h.f.ShareQRCode),w=(0,v.ti)(h.f.ShareSocial),E=(0,o.useRef)(void 0),[A,x]=(0,o.useState)(!1),[S,C]=(0,o.useState)(e instanceof i.MatrixEvent),{title:k,url:R,checkboxLabel:I}=function(e,t,n){return(0,o.useMemo)(()=>{if(e instanceof URL)return{title:(0,d._t)("share|title_link"),url:e.toString()};if(e instanceof i.User||e instanceof i.RoomMember)return{title:(0,d._t)("share|title_user"),url:(0,m.Ne)(e.userId)};if(e instanceof i.Room){const n=(0,d._t)("share|title_room"),o=new m.pE(e);o.load();const i=e.getLiveTimeline().getEvents();return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({title:n,url:t?o.forEvent(i[i.length-1].getId()):o.forShareableRoom()},i.length>0&&{checkboxLabel:(0,d._t)("share|permalink_most_recent")})}const o=t?n.forEvent(e.getId()):n.forShareableRoom();return{title:(0,d._t)("share|title_message"),url:o,checkboxLabel:(0,d._t)("share|permalink_message")}},[e,t,n])}(e,S,_),P=null!=t?t:k;return o.createElement(g.A,{title:P,className:"mx_ShareDialog",contentId:"mx_Dialog_content",onFinished:n,fixedWidth:!1},o.createElement("div",{className:"mx_ShareDialog_content"},o.createElement("div",{className:"mx_ShareDialog_top"},y&&o.createElement(u.A,{data:R,width:200}),o.createElement("span",null,R)),I&&o.createElement("label",null,o.createElement(a.O,{defaultChecked:S,onChange:e=>C(e.target.checked)}),I),o.createElement(r.$,{Icon:A?c.A:l.A,onClick:async()=>{clearTimeout(E.current),await(0,p.nC)(R),x(!0),E.current=setTimeout(()=>x(!1),2e3)}},A?(0,d._t)("share|link_copied"):(0,d._t)("action|copy_link")),w&&o.createElement(b,{url:R})))}function b({url:e}){return o.createElement("div",{className:"mx_ShareDialog_social"},_.map(t=>o.createElement("a",{key:t.name,href:t.url(e),target:"_blank",rel:"noreferrer noopener",title:t.name},o.createElement("img",{src:t.img,alt:t.name}))))}},"./src/components/views/dialogs/TextInputDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/components/views/elements/Field.tsx"),r=n("./src/languageHandler.tsx"),a=n("./src/components/views/dialogs/BaseDialog.tsx"),l=n("./src/components/views/elements/DialogButtons.tsx");class c extends o.Component{constructor(e){super(e),(0,s.A)(this,"field",(0,o.createRef)()),(0,s.A)(this,"onOk",async e=>{if(e.preventDefault(),this.field.current)return this.props.validator&&(this.setState({busy:!0}),await this.field.current.validate({allowEmpty:!1}),!this.field.current.state.valid)?(this.field.current.focus(),this.field.current.validate({allowEmpty:!1,focused:!0}),void this.setState({busy:!1})):void this.props.onFinished(!0,this.state.value)}),(0,s.A)(this,"onCancel",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"onChange",e=>{this.setState({value:e.target.value})}),(0,s.A)(this,"onValidate",async e=>{const t=await this.props.validator(e);return this.setState({valid:!!t.valid}),t}),this.state={value:this.props.value,busy:!1,valid:!1}}componentDidMount(){var e;this.props.focus&&(null===(e=this.field.current)||void 0===e||e.focus())}render(){return o.createElement(a.A,{className:"mx_TextInputDialog",onFinished:this.props.onFinished,title:this.props.title,fixedWidth:this.props.fixedWidth},o.createElement("form",{onSubmit:this.onOk},o.createElement("div",{className:"mx_Dialog_content"},o.createElement("div",{className:"mx_TextInputDialog_label"},o.createElement("label",{htmlFor:"textinput"}," ",this.props.description," ")),o.createElement("div",null,o.createElement(i.A,{className:"mx_TextInputDialog_input",ref:this.field,type:"text",label:this.props.placeholder,value:this.state.value,onChange:this.onChange,onValidate:this.props.validator?this.onValidate:void 0})))),o.createElement(l.A,{primaryButton:this.state.busy?(0,r._t)(this.props.busyMessage):this.props.button,disabled:this.state.busy,onPrimaryButtonClick:this.onOk,onCancel:this.onCancel,hasCancel:this.props.hasCancel}))}}(0,s.A)(c,"defaultProps",{title:"",value:"",description:"",busyMessage:(0,r.AO)("common|loading"),focus:!0,hasCancel:!0})},"./src/components/views/dialogs/UploadConfirmDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/files.js"),r=n("./src/languageHandler.tsx"),a=n("./src/components/views/dialogs/BaseDialog.tsx"),l=n("./src/components/views/elements/DialogButtons.tsx"),c=n("./src/utils/FileUtils.ts");class d extends o.Component{constructor(e){super(e),(0,s.A)(this,"onCancelClick",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"onUploadClick",()=>{this.props.onFinished(!0)}),(0,s.A)(this,"onUploadAllClick",()=>{this.props.onFinished(!0,!0)}),this.state={}}componentDidMount(){(this.props.file.type.startsWith("image/")||this.props.file.type.startsWith("video/"))&&this.setState({objectUrl:URL.createObjectURL(this.props.file)})}componentWillUnmount(){this.state.objectUrl&&URL.revokeObjectURL(this.state.objectUrl)}render(){let e;e=this.props.totalFiles>1&&void 0!==this.props.currentIndex?(0,r._t)("upload_file|title_progress",{current:this.props.currentIndex+1,total:this.props.totalFiles}):(0,r._t)("upload_file|title");const t=`mx-uploadconfirmdialog-${this.props.file.name}`,n=this.props.file.type;let s,d,u;return n.startsWith("image/")?s=o.createElement("img",{className:"mx_UploadConfirmDialog_imagePreview",src:this.state.objectUrl,"aria-labelledby":t}):n.startsWith("video/")?s=o.createElement("video",{className:"mx_UploadConfirmDialog_imagePreview",src:this.state.objectUrl,playsInline:!0,controls:!1}):d=o.createElement(i.A,{className:"mx_UploadConfirmDialog_fileIcon",height:"18px",width:"18px"}),this.props.currentIndex+1<this.props.totalFiles&&(u=o.createElement("button",{onClick:this.onUploadAllClick},(0,r._t)("upload_file|upload_all_button"))),o.createElement(a.A,{className:"mx_UploadConfirmDialog",fixedWidth:!1,onFinished:this.onCancelClick,title:e,contentId:"mx_Dialog_content"},o.createElement("div",{id:"mx_Dialog_content"},o.createElement("div",{className:"mx_UploadConfirmDialog_previewOuter"},o.createElement("div",{className:"mx_UploadConfirmDialog_previewInner"},s&&o.createElement("div",null,s),o.createElement("div",{id:t},d,this.props.file.name," (",(0,c.Ov)(this.props.file.size),")")))),o.createElement(l.A,{primaryButton:(0,r._t)("action|upload"),hasCancel:!1,onPrimaryButtonClick:this.onUploadClick,focus:!0},u))}}(0,s.A)(d,"defaultProps",{totalFiles:1,currentIndex:0})},"./src/components/views/dialogs/UserTab.ts"(e,t,n){"use strict";n.d(t,{v:()=>s});let s=function(e){return e.Account="USER_ACCOUNT_TAB",e.Appearance="USER_APPEARANCE_TAB",e.Notifications="USER_NOTIFICATIONS_TAB",e.Preferences="USER_PREFERENCES_TAB",e.Keyboard="USER_KEYBOARD_TAB",e.Sidebar="USER_SIDEBAR_TAB",e.Voice="USER_VOICE_TAB",e.Security="USER_SECURITY_TAB",e.Encryption="USER_ENCRYPTION_TAB",e.Labs="USER_LABS_TAB",e.Mjolnir="USER_MJOLNIR_TAB",e.Help="USER_HELP_TAB",e.SessionManager="USER_SESSION_MANAGER_TAB",e}({})},"./src/components/views/dialogs/devtools/BaseTool.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a,I:()=>l});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./src/languageHandler.tsx");const a=({className:e,actionLabel:t,onBack:n,onAction:o,children:a,extraButton:l})=>{const[c,d]=(0,s.useState)(null);let u=null;if(c)a=c;else if(o&&t){const e=()=>{o().then(e=>{"string"==typeof e&&d(e)})};u=s.createElement("button",{onClick:e},(0,r._t)(t))}return s.createElement(s.Fragment,null,s.createElement("div",{className:i()("mx_DevTools_content",e)},a),s.createElement("div",{className:"mx_Dialog_buttons"},l,s.createElement("button",{onClick:()=>{c?d(null):n()}},(0,r._t)("action|back")),u))},l=(0,s.createContext)({})},"./src/components/views/dialogs/devtools/Event.tsx"(e,t,n){"use strict";n.d(t,{As:()=>d,E8:()=>h,hb:()=>m,lv:()=>v,r3:()=>u,t2:()=>g});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./src/components/views/elements/Field.tsx"),r=n("./src/components/views/dialogs/devtools/BaseTool.tsx"),a=n("./src/contexts/MatrixClientContext.tsx"),l=n("./src/components/views/elements/Validation.tsx"),c=n("./src/components/views/elements/SyntaxHighlight.tsx");const d=e=>JSON.stringify(e,null,2),u=e=>({id:"eventType",label:(0,o.AO)("devtools|event_type"),default:e}),m=e=>({id:"stateKey",label:(0,o.AO)("devtools|state_key"),default:e}),p=(0,l.A)({async deriveData({value:e}){try{JSON.parse(e)}catch(e){return e}},rules:[{key:"validJson",test:({value:e},t)=>!e||!t,invalid:e=>(0,o._t)("devtools|invalid_json")+" "+e}]}),h=({fieldDefs:e,defaultContent:t="{\n\n}",onSend:n,onBack:a})=>{const[l,c]=(0,s.useState)(e.map(e=>{var t;return null!==(t=e.default)&&void 0!==t?t:""})),[d,u]=(0,s.useState)(t),m=(0,s.useRef)(null),h=e.map((e,n)=>s.createElement(i.A,{key:e.id,id:e.id,label:(0,o._t)(e.label),size:42,autoFocus:void 0===t&&0===n,type:"text",autoComplete:"on",value:l[n],onChange:e=>c(t=>(t[n]=e.target.value,[...t]))}));return s.createElement(r.A,{actionLabel:(0,o.AO)("forward|send_label"),onAction:async()=>{var e,t;if(!(!!m.current&&await m.current.validate({})))return null===(e=m.current)||void 0===e||e.focus(),void(null===(t=m.current)||void 0===t||t.validate({focused:!0}));try{const e=JSON.parse(d);await n(l,e)}catch(e){return(0,o._t)("devtools|failed_to_send")+(e instanceof Error?` (${e.message})`:"")}return(0,o._t)("devtools|event_sent")},onBack:a},s.createElement("div",{className:"mx_DevTools_eventTypeStateKeyGroup"},h),s.createElement(i.A,{id:"evContent",label:(0,o._t)("devtools|event_content"),type:"text",className:"mx_DevTools_textarea",autoComplete:"off",value:d,onChange:e=>u(e.target.value),element:"textarea",onValidate:p,ref:m,autoFocus:!!t}))},g=({mxEvent:e,onBack:t,Editor:n,extraButton:i})=>{const[a,l]=(0,s.useState)(!1);if(a){const t=()=>{l(!1)};return s.createElement(n,{mxEvent:e,onBack:t})}return s.createElement(r.A,{onBack:t,actionLabel:(0,o.AO)("action|edit"),onAction:async()=>{l(!0)},extraButton:i},s.createElement(c.A,{language:"json"},d(e.event)))},v=({mxEvent:e,onBack:t})=>{const n=(0,s.useContext)(r.I),o=(0,s.useContext)(a.Ay),i=(0,s.useMemo)(()=>[u(null==e?void 0:e.getType())],[e]);let l;if(e){var c,m;const t=e.getContent(),n=null!==(c=null===(m=t["m.new_content"])||void 0===m?void 0:m.body)&&void 0!==c?c:t.body,s={body:` * ${n}`,msgtype:t.msgtype,"m.new_content":{body:n,msgtype:t.msgtype},"m.relates_to":{rel_type:"m.replace",event_id:(p=e,null!==(v=null===(f=(null!==(g=p.replacingEvent())&&void 0!==g?g:p).getWireContent()["m.relates_to"])||void 0===f?void 0:f.event_id)&&void 0!==v?v:p.getId())}};l=d(s)}else n.threadRootId&&(l=d({"m.relates_to":{rel_type:"m.thread",event_id:n.threadRootId}}));var p,g,v,f;return s.createElement(h,{fieldDefs:i,defaultContent:l,onSend:([e],t)=>o.sendEvent(n.room.roomId,e,t),onBack:t})}},"./src/components/views/dialogs/devtools/FilteredList.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./src/components/views/elements/Field.tsx"),r=n("./src/components/views/elements/TruncatedList.tsx");const a=({children:e,query:t,onChange:n})=>{var a,l;const[c,d]=(0,s.useState)(20),[u,m]=(0,s.useState)(e);(0,s.useEffect)(()=>{let n=e;if(t){const s=t.toLowerCase();n=e.filter(e=>{var t;return null===(t=e.key)||void 0===t?void 0:t.toString().toLowerCase().includes(s)})}m(n),d(20)},[e,t]);return s.createElement(s.Fragment,null,s.createElement(i.A,{label:(0,o._t)("common|filter_results"),autoFocus:!0,size:64,type:"text",autoComplete:"off",value:t,onChange:e=>n(e.target.value),className:"mx_TextInputDialog_input mx_DevTools_RoomStateExplorer_query",key:null!==(a=null==e||null===(l=e[0])||void 0===l?void 0:l.key)&&void 0!==a?a:""}),u.length<1?(0,o._t)("common|no_results_found"):s.createElement(r.A,{getChildren:(e,t)=>u.slice(e,t),getChildCount:()=>u.length,truncateAt:c,createOverflowElement:(e,t)=>s.createElement("button",{className:"mx_DevTools_button",onClick:()=>{d(e=>e+50)}},(0,o._t)("common|and_n_others",{count:e}))}))}},"./src/components/views/dialogs/devtools/RoomState.tsx"(e,t,n){"use strict";n.d(t,{N:()=>v,y:()=>b});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),l=n("./src/languageHandler.tsx"),c=n("./src/components/views/dialogs/devtools/BaseTool.tsx"),d=n("./src/contexts/MatrixClientContext.tsx"),u=n("./src/components/views/dialogs/devtools/Event.tsx"),m=n("./src/components/views/dialogs/devtools/FilteredList.tsx"),p=n("./src/components/views/elements/Spinner.tsx"),h=n("./src/components/views/elements/SyntaxHighlight.tsx"),g=n("./src/hooks/useAsyncMemo.ts");const v=({mxEvent:e,onBack:t})=>{const n=(0,s.useContext)(c.I),o=(0,s.useContext)(d.Ay),i=(0,s.useMemo)(()=>[(0,u.r3)(null==e?void 0:e.getType()),(0,u.hb)(null==e?void 0:e.getStateKey())],[e]),r=e?(0,u.As)(e.getContent()):void 0;return s.createElement(u.E8,{fieldDefs:i,defaultContent:r,onSend:async([e,t],s)=>{await o.sendStateEvent(n.room.roomId,e,s,t)},onBack:t})},f=({mxEvent:e,onBack:t})=>{const n=(0,s.useContext)(d.Ay),o=(0,g.e)(async()=>{const t=[e.event];for(;null!==(s=t[0].unsigned)&&void 0!==s&&s.replaces_state;){var s;try{t.unshift(await n.fetchRoomEvent(e.getRoomId(),t[0].unsigned.replaces_state))}catch(e){t.unshift({event_id:t[0].unsigned.replaces_state,unsigned:{error:e instanceof Error?e.message:String(e)}})}}return t},[n,e],null);let i=s.createElement(p.A,null);return null!==o&&(i=s.createElement(s.Fragment,null,o.map(e=>s.createElement(h.A,{language:"json",key:e.event_id},(0,u.As)(e))))),s.createElement(c.A,{onBack:t},i)},_=({label:e,onClick:t})=>{const n=e.trim();let o=e;return n||(o=e.length>0?(0,l._t)("devtools|spaces",{count:e.length}):(0,l._t)("devtools|empty_string")),s.createElement("button",{className:i()("mx_DevTools_button",{mx_DevTools_RoomStateExplorer_button_hasSpaces:n.length!==e.length,mx_DevTools_RoomStateExplorer_button_emptyString:!n}),onClick:t},o)},y=({eventType:e,onBack:t})=>{const n=(0,s.useContext)(c.I),[o,i]=(0,s.useState)(""),[d,p]=(0,s.useState)(null),[h,g]=(0,s.useState)(!1),[y,b]=(0,s.useState)(!0),w=(0,s.useCallback)(e=>b(e.target.checked),[b]),E=n.room.currentState.events.get(e);if((0,s.useEffect)(()=>{1===E.size&&E.has("")?p(E.get("")):p(null)},[E]),d&&h){const e=()=>{g(!1)};return s.createElement(f,{mxEvent:d,onBack:e})}if(d){const e=()=>{1===(null==E?void 0:E.size)&&E.has("")?t():p(null)},n=()=>{g(!0)},o=s.createElement("button",{onClick:n},(0,l._t)("devtools|see_history"));return s.createElement(u.t2,{mxEvent:d,onBack:e,Editor:v,extraButton:o})}return s.createElement(c.A,{onBack:t},s.createElement(m.A,{query:o,onChange:i},Array.from(E.entries()).filter(([e,t])=>y||Object.keys(t.getContent()).length>0).map(([e,t])=>s.createElement(_,{key:e,label:e,onClick:()=>p(t)}))),s.createElement(r.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},s.createElement(a.I,{name:"empty_state_toggle",label:(0,l._t)("devtools|show_empty_content_events"),onChange:w,checked:y})))},b=({onBack:e,setTool:t})=>{const n=(0,s.useContext)(c.I),[o,i]=(0,s.useState)(""),[r,a]=(0,s.useState)(null),d=n.room.currentState.events;if(null!==r){const e=()=>{a(null)};return s.createElement(y,{eventType:r,onBack:e})}return s.createElement(c.A,{onBack:e,actionLabel:(0,l.AO)("devtools|send_custom_state_event"),onAction:async()=>{t((0,l.AO)("devtools|send_custom_state_event"),v)}},s.createElement(m.A,{query:o,onChange:i},Array.from(d.keys()).map(e=>s.createElement(_,{key:e,label:e,onClick:()=>a(e)}))))}},"./src/components/views/dialogs/devtools/ServerInfo.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p,p:()=>m});var s=n("./node_modules/react/index.js"),o=n("./src/components/views/dialogs/devtools/BaseTool.tsx"),i=n("./src/languageHandler.tsx"),r=n("./src/hooks/useAsyncMemo.ts"),a=n("./src/contexts/MatrixClientContext.tsx"),l=n("./src/components/views/elements/Spinner.tsx"),c=n("./src/components/views/elements/SyntaxHighlight.tsx"),d=n("./src/MatrixClientPeg.ts");const u=Symbol("failed-to-load");async function m(e){let t=e.getHomeserverUrl();try{const e=d.J.safeGet().getDomain(),n=await fetch(`https://${e}/.well-known/matrix/server`),s=await n.json();s["m.server"]&&(t=`https://${s["m.server"]}`)}catch(e){console.warn(e)}return(await fetch(`${t}/_matrix/federation/v1/version`)).json()}const p=({onBack:e})=>{const t=(0,s.useContext)(a.Ay),n=(0,r.e)(()=>t.fetchCapabilities().catch(()=>u),[t]),d=(0,r.e)(()=>t.getVersions().catch(()=>u),[t]),p=(0,r.e)(async()=>{try{return await m(t)}catch(e){console.warn(e)}return u},[t]);let h;return h=n&&d&&p?s.createElement(s.Fragment,null,s.createElement("h4",null,(0,i._t)("common|capabilities")),n!==u?s.createElement(c.A,{language:"json",children:JSON.stringify(n,null,4)}):s.createElement("div",null,(0,i._t)("devtools|failed_to_load")),s.createElement("h4",null,(0,i._t)("devtools|client_versions")),d!==u?s.createElement(c.A,{language:"json",children:JSON.stringify(d,null,4)}):s.createElement("div",null,(0,i._t)("devtools|failed_to_load")),s.createElement("h4",null,(0,i._t)("devtools|server_versions")),p!==u?s.createElement(c.A,{language:"json",children:JSON.stringify(p,null,4)}):s.createElement("div",null,(0,i._t)("devtools|failed_to_load"))):s.createElement(l.A,null),s.createElement(o.A,{onBack:e},h)}},"./src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>f});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/crypto-api/index.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./src/MatrixClientPeg.ts"),c=n("./src/languageHandler.tsx"),d=n("./src/SecurityManager.ts"),u=n("./src/components/views/elements/Spinner.tsx"),m=n("./src/components/views/elements/DialogButtons.tsx"),p=n("./src/components/views/elements/AccessibleButton.tsx"),h=n("./src/components/views/dialogs/BaseDialog.tsx"),g=function(e){return e.Passphrase="passphrase",e.RecoveryKey="recovery_key",e.SecretStorage="secret_storage",e}(g||{}),v=function(e){return e.PreFetch="prefetch",e.Fetch="fetch",e.LoadKeys="load_keys",e}(v||{});class f extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"onCancel",()=>{this.props.onFinished(!1)}),(0,s.A)(this,"onDone",()=>{this.props.onFinished(!0)}),(0,s.A)(this,"onUseRecoveryKeyClick",()=>{this.setState({forceRecoveryKey:!0})}),(0,s.A)(this,"progressCallback",e=>{this.setState({progress:e})}),(0,s.A)(this,"onResetRecoveryClick",()=>{this.props.onFinished(!1),(0,d.cb)(async()=>{},{forceReset:!0})}),(0,s.A)(this,"onRecoveryKeyChange",e=>{this.setState({recoveryKey:e.target.value,recoveryKeyValid:this.isValidRecoveryKey(e.target.value)})}),(0,s.A)(this,"onPassPhraseNext",async()=>{const e=l.J.safeGet().getCrypto();if(e){this.setState({loading:!0,restoreError:null,restoreType:g.Passphrase});try{const t=await e.restoreKeyBackupWithPassphrase(this.state.passPhrase,{progressCallback:this.progressCallback});if(!this.props.showSummary)return void this.props.onFinished(!0);this.setState({loading:!1,recoverInfo:t})}catch(e){a.vF.log("Error restoring backup",e),this.setState({loading:!1,restoreError:e})}}}),(0,s.A)(this,"onRecoveryKeyNext",async()=>{var e;const t=l.J.safeGet().getCrypto();if(this.state.recoveryKeyValid&&null!==(e=this.state.backupInfo)&&void 0!==e&&e.version&&t){this.setState({loading:!0,restoreError:null,restoreType:g.RecoveryKey});try{await t.storeSessionBackupPrivateKey((0,r.R1)(this.state.recoveryKey),this.state.backupInfo.version);const e=await t.restoreKeyBackup({progressCallback:this.progressCallback});if(!this.props.showSummary)return void this.props.onFinished(!0);this.setState({loading:!1,recoverInfo:e})}catch(e){a.vF.log("Error restoring backup",e),this.setState({loading:!1,restoreError:e})}}}),(0,s.A)(this,"onPassPhraseChange",e=>{this.setState({passPhrase:e.target.value})}),this.state={backupInfo:null,loading:!1,loadError:null,restoreError:null,recoveryKey:"",recoverInfo:null,recoveryKeyValid:!1,forceRecoveryKey:!1,passPhrase:"",restoreType:null,progress:{stage:v.PreFetch}}}componentDidMount(){this.loadBackupStatus()}isValidRecoveryKey(e){try{return(0,r.R1)(e),!0}catch{return!1}}async restoreWithSecretStorage(){const e=l.J.safeGet().getCrypto();if(!e)return!1;this.setState({restoreError:null,restoreType:g.SecretStorage});try{let t=null;return await(0,d.cb)(async()=>{await e.loadSessionBackupPrivateKeyFromSecretStorage(),t=await e.restoreKeyBackup({progressCallback:this.progressCallback})}),this.setState({loading:!1,recoverInfo:t}),!0}catch(e){return a.vF.log("restoreWithSecretStorage failed:",e),this.setState({restoreError:e,loading:!1}),!1}}async restoreWithCachedKey(e){const t=l.J.safeGet().getCrypto();if(!t)return!1;try{const e=await t.restoreKeyBackup({progressCallback:this.progressCallback});return this.setState({recoverInfo:e}),!0}catch(e){return a.vF.log("restoreWithCachedKey failed:",e),!1}}async loadBackupStatus(){this.setState({loading:!0,loadError:null});try{var e,t;const n=l.J.safeGet(),s=null!==(e=await(null===(t=n.getCrypto())||void 0===t?void 0:t.getKeyBackupInfo()))&&void 0!==e?e:null,o=await n.secretStorage.hasKey()?await n.isKeyBackupKeyStored():null;this.setState({backupInfo:s});if(await this.restoreWithCachedKey(s))return a.vF.log("RestoreKeyBackupDialog: found cached backup key"),void this.setState({loading:!1});if(o&&await this.restoreWithSecretStorage())return a.vF.log("RestoreKeyBackupDialog: found backup key in secret storage"),void this.setState({loading:!1});this.setState({loadError:null,loading:!1})}catch(e){a.vF.log("Error loading backup status",e),this.setState({loadError:!0,loading:!1})}}render(){const e=this.state.backupInfo&&this.state.backupInfo.auth_data&&this.state.backupInfo.auth_data.private_key_salt&&this.state.backupInfo.auth_data.private_key_iterations;let t,n;if(this.state.loading){let e;if(n=(0,c._t)("encryption|access_secret_storage_dialog|restoring"),this.state.progress.stage===v.Fetch)e=(0,c._t)("restore_key_backup_dialog|key_fetch_in_progress");else if(this.state.progress.stage===v.LoadKeys){const{total:t,successes:n,failures:s}=this.state.progress;e=(0,c._t)("restore_key_backup_dialog|load_keys_progress",{total:t,completed:(null!=n?n:0)+(null!=s?s:0)})}else this.state.progress.stage===v.PreFetch&&(e=(0,c._t)("restore_key_backup_dialog|key_fetch_in_progress"));t=o.createElement("div",null,o.createElement("div",null,e),o.createElement(u.A,null))}else if(this.state.loadError)n=(0,c._t)("common|error"),t=(0,c._t)("restore_key_backup_dialog|load_error_content");else if(this.state.restoreError)this.state.restoreError instanceof i.MatrixError&&this.state.restoreError.errcode===i.MatrixClient.RESTORE_BACKUP_ERROR_BAD_KEY?this.state.restoreType===g.RecoveryKey?(n=(0,c._t)("restore_key_backup_dialog|recovery_key_mismatch_title"),t=o.createElement("div",null,o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|recovery_key_mismatch_description")))):(n=(0,c._t)("restore_key_backup_dialog|incorrect_security_phrase_title"),t=o.createElement("div",null,o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|incorrect_security_phrase_dialog")))):(n=(0,c._t)("common|error"),t=(0,c._t)("restore_key_backup_dialog|restore_failed_error"));else if(null===this.state.backupInfo)n=(0,c._t)("common|error"),t=(0,c._t)("restore_key_backup_dialog|no_backup_error");else if(this.state.recoverInfo){let e;n=(0,c._t)("restore_key_backup_dialog|keys_restored_title"),this.state.recoverInfo.total>this.state.recoverInfo.imported&&(e=o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|count_of_decryption_failures",{failedCount:this.state.recoverInfo.total-this.state.recoverInfo.imported}))),t=o.createElement("div",null,o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|count_of_successfully_restored_keys",{sessionCount:this.state.recoverInfo.imported})),e,o.createElement(m.A,{primaryButton:(0,c._t)("action|ok"),onPrimaryButtonClick:this.onDone,hasCancel:!1,focus:!0}))}else if(e&&!this.state.forceRecoveryKey)n=(0,c._t)("restore_key_backup_dialog|enter_phrase_title"),t=o.createElement("div",null,o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|key_backup_warning",{},{b:e=>o.createElement("strong",null,e)})),o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|enter_phrase_description")),o.createElement("form",{className:"mx_RestoreKeyBackupDialog_primaryContainer"},o.createElement("input",{type:"password",className:"mx_RestoreKeyBackupDialog_passPhraseInput",onChange:this.onPassPhraseChange,value:this.state.passPhrase,autoFocus:!0}),o.createElement(m.A,{primaryButton:(0,c._t)("action|next"),onPrimaryButtonClick:this.onPassPhraseNext,primaryIsSubmit:!0,hasCancel:!0,onCancel:this.onCancel,focus:!1})),(0,c._t)("restore_key_backup_dialog|phrase_forgotten_text",{},{button1:e=>o.createElement(p.A,{kind:"link_inline",onClick:this.onUseRecoveryKeyClick},e),button2:e=>o.createElement(p.A,{kind:"link_inline",onClick:this.onResetRecoveryClick},e)}));else{let e;n=(0,c._t)("restore_key_backup_dialog|enter_key_title"),e=0===this.state.recoveryKey.length?o.createElement("div",{className:"mx_RestoreKeyBackupDialog_keyStatus"}):this.state.recoveryKeyValid?o.createElement("div",{className:"mx_RestoreKeyBackupDialog_keyStatus"},"👍 ",(0,c._t)("restore_key_backup_dialog|key_is_valid")):o.createElement("div",{className:"mx_RestoreKeyBackupDialog_keyStatus"},"👎 ",(0,c._t)("restore_key_backup_dialog|key_is_invalid")),t=o.createElement("div",null,o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|key_backup_warning",{},{b:e=>o.createElement("strong",null,e)})),o.createElement("p",null,(0,c._t)("restore_key_backup_dialog|enter_key_description")),o.createElement("div",{className:"mx_RestoreKeyBackupDialog_primaryContainer"},o.createElement("input",{className:"mx_RestoreKeyBackupDialog_recoveryKeyInput",onChange:this.onRecoveryKeyChange,value:this.state.recoveryKey,autoFocus:!0}),e,o.createElement(m.A,{primaryButton:(0,c._t)("action|next"),onPrimaryButtonClick:this.onRecoveryKeyNext,hasCancel:!0,onCancel:this.onCancel,focus:!1,primaryDisabled:!this.state.recoveryKeyValid})),(0,c._t)("restore_key_backup_dialog|key_forgotten_text",{},{button:e=>o.createElement(p.A,{kind:"link_inline",onClick:this.onResetRecoveryClick},e)}))}return o.createElement(h.A,{className:"mx_RestoreKeyBackupDialog",onFinished:this.props.onFinished,title:n},o.createElement("div",{className:"mx_RestoreKeyBackupDialog_content"},t))}}(0,s.A)(f,"defaultProps",{showSummary:!0})},"./src/components/views/dialogs/spotlight/Filter.ts"(e,t,n){"use strict";n.d(t,{d:()=>s});let s=function(e){return e[e.People=0]="People",e[e.PublicRooms=1]="PublicRooms",e[e.PublicSpaces=2]="PublicSpaces",e}({})},"./src/components/views/dialogs/spotlight/RoomResultContextMenus.tsx"(e,t,n){"use strict";n.d(t,{B:()=>_,o:()=>y});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/notifications-off-solid.js"),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/notifications-solid.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/overflow-horizontal.js"),l=n("./src/accessibility/context_menu/ContextMenuTooltipButton.tsx"),c=n("./src/hooks/useRoomNotificationState.ts"),d=n("./src/languageHandler.tsx"),u=n("./src/RoomNotifs.ts"),m=n("./src/components/views/context_menus/RoomGeneralContextMenu.tsx"),p=n("./src/components/views/context_menus/RoomNotificationContextMenu.tsx"),h=n("./src/components/views/context_menus/SpaceContextMenu.tsx"),g=n("./src/components/views/rooms/RoomTile.tsx"),v=n("./src/customisations/helpers/UIComponents.ts"),f=n("./src/settings/UIFeature.ts");function _(e){return e===u.dC.Mute?o.createElement(i.A,null):o.createElement(r.A,null)}function y({room:e}){const[t]=(0,c.I)(e),[n,i]=(0,o.useState)(null),[r,u]=(0,o.useState)(null);let y,b;return null!==n&&(y=e.isSpaceRoom()?o.createElement(h.A,(0,s.A)({},(0,g._)(n),{space:e,onFinished:()=>i(null)})):o.createElement(m.e,(0,s.A)({},(0,g._)(n),{room:e,onFinished:()=>i(null)}))),null!==r&&(b=o.createElement(p.f,(0,s.A)({},(0,g._)(r),{room:e,onFinished:()=>u(null)}))),o.createElement(o.Fragment,null,(0,v.g)(f.C.RoomOptionsMenu)&&o.createElement(l.o,{className:"mx_SpotlightDialog_option--menu",onClick:e=>{e.preventDefault(),e.stopPropagation();const t=e.target;i(t.getBoundingClientRect())},title:e.isSpaceRoom()?(0,d._t)("space|context_menu|options"):(0,d._t)("room|context_menu|title"),isExpanded:null!==n},o.createElement(a.A,null)),!e.isSpaceRoom()&&o.createElement(l.o,{className:"mx_SpotlightDialog_option--notifications",onClick:e=>{e.preventDefault(),e.stopPropagation();const t=e.target;u(t.getBoundingClientRect())},title:(0,d._t)("room_list|notification_options"),isExpanded:null!==r},_(t)),y,b)}},"./src/components/views/elements/AccessibleButton.tsx"(e,t,n){"use strict";n.d(t,{A:()=>h});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),c=n("./src/KeyBindingsManager.ts"),d=n("./src/accessibility/KeyboardShortcuts.ts");const u=["element","onClick","children","kind","disabled","className","onKeyDown","onKeyUp","triggerOnMouseDown","title","caption","placement","onTooltipOpenChange","disableTooltip","role","tabIndex","ref"];function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const h=function(e){var t;let{element:n,onClick:s,children:r,kind:m,disabled:h,className:g,onKeyDown:v,onKeyUp:f,triggerOnMouseDown:_,title:y,caption:b,placement:w="right",onTooltipOpenChange:E,disableTooltip:A,role:x="button",tabIndex:S=0,ref:C}=e,k=(0,o.A)(e,u);const R=p(p({},k),{},{tabIndex:S,role:x,"aria-label":null!==(t=k["aria-label"])&&void 0!==t?t:y});h?(R["aria-disabled"]=!0,R.disabled=!0):(_?R.onMouseDown=null!=s?s:void 0:R.onClick=null!=s?s:void 0,R.onKeyDown=e=>{switch((0,c.zM)().getAccessibilityAction(e)){case d.bY.Enter:return e.stopPropagation(),e.preventDefault(),null==s?void 0:s(e);case d.bY.Space:e.stopPropagation(),e.preventDefault();break;default:null==v||v(e)}},R.onKeyUp=e=>{switch((0,c.zM)().getAccessibilityAction(e)){case d.bY.Enter:e.stopPropagation(),e.preventDefault();break;case d.bY.Space:return e.stopPropagation(),e.preventDefault(),null==s?void 0:s(e);default:null==f||f(e)}}),R.ref=C,R.className=a()("mx_AccessibleButton",g,{mx_AccessibleButton_hasKind:m,[`mx_AccessibleButton_kind_${m}`]:m,mx_AccessibleButton_disabled:h});const I=i.createElement(null!=n?n:"div",R,r);return y?i.createElement(l.m,{description:y,caption:b,isTriggerInteractive:!0,placement:w,onOpenChange:E,disabled:A},I):I}},"./src/components/views/elements/BugReportDialogButton.tsx"(e,t,n){"use strict";n.d(t,{r:()=>d});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),i=n("./src/SdkConfig.ts"),r=n("./src/languageHandler.tsx"),a=n("./src/Modal.tsx"),l=n("./src/components/views/dialogs/BugReportDialog.tsx"),c=n("./src/IConfigOptions.ts");function d({label:e,error:t}){const n=i.Ay.get().bug_report_endpoint_url,d=(0,s.useCallback)(()=>{a.Ay.createDialog(l.A,{label:e,error:t})},[e,t]);return n?s.createElement(o.$,{kind:"secondary",size:"sm",onClick:d},n===c.m?(0,r._t)("bug_reporting|download_logs"):(0,r._t)("bug_reporting|submit_debug_logs")):null}},"./src/components/views/elements/CopyableText.tsx"(e,t,n){"use strict";n.d(t,{A:()=>h,l:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/copy.js"),c=n("./src/languageHandler.tsx"),d=n("./src/utils/strings.ts"),u=n("./src/components/views/elements/AccessibleButton.tsx");const m=["children","getTextToCopy","border","className"],p=({getTextToCopy:e,className:t,children:n})=>{const[s,o]=(0,i.useState)(void 0);return i.createElement(u.A,{title:null!=s?s:(0,c._t)("action|copy"),onClick:async t=>{t.preventDefault();const n=e(),s=!!n&&await(0,d.nC)(n);o(s?(0,c._t)("common|copied"):(0,c._t)("error|failed_copy"))},className:t,onTooltipOpenChange:e=>{e||s&&o(void 0)}},n)},h=e=>{let{children:t,getTextToCopy:n,border:r=!0,className:c}=e,d=(0,o.A)(e,m);const u=a()("mx_CopyableText",c,{mx_CopyableText_border:r});return i.createElement("div",(0,s.A)({className:u},d),t,i.createElement(p,{getTextToCopy:n,className:"mx_CopyableText_copyButton"},i.createElement(l.A,null)))}},"./src/components/views/elements/DialPadBackspaceButton.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/backspace-solid.js"),i=n("./src/languageHandler.tsx"),r=n("./src/components/views/elements/AccessibleButton.tsx");class a extends s.PureComponent{render(){return s.createElement("div",{className:"mx_DialPadBackspaceButtonWrapper"},s.createElement(r.A,{className:"mx_DialPadBackspaceButton",onClick:this.props.onBackspacePress,"aria-label":(0,i._t)("keyboard|backspace")},s.createElement(o.A,null)))}}},"./src/components/views/elements/DialogButtons.tsx"(e,t,n){"use strict";n.d(t,{A:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/languageHandler.tsx");class r extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"onCancelClick",e=>{var t,n;null===(t=(n=this.props).onCancel)||void 0===t||t.call(n,e)})}render(){let e,t,n="mx_Dialog_primary";return this.props.primaryButtonClass&&(n+=" "+this.props.primaryButtonClass),this.props.hasCancel&&(e=o.createElement("button",{type:"button",onClick:this.onCancelClick,className:this.props.cancelButtonClass,disabled:this.props.disabled},this.props.cancelButton||(0,i._t)("action|cancel"))),this.props.additive&&(t=o.createElement("div",{className:"mx_Dialog_buttons_additive"},this.props.additive)),o.createElement("div",{className:"mx_Dialog_buttons"},t,o.createElement("span",{className:"mx_Dialog_buttons_row"},e,this.props.children,o.createElement("button",{type:this.props.primaryIsSubmit?"submit":"button",className:n,onClick:this.props.onPrimaryButtonClick,autoFocus:this.props.focus,disabled:this.props.disabled||this.props.primaryDisabled},this.props.primaryButton)))}}(0,s.A)(r,"defaultProps",{hasCancel:!0,disabled:!1})},"./src/components/views/elements/Dropdown.tsx"(e,t,n){"use strict";n.d(t,{A:()=>h});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-down.js"),l=n("./src/components/views/elements/AccessibleButton.tsx"),c=n("./src/languageHandler.tsx"),d=n("./src/KeyBindingsManager.ts"),u=n("./src/accessibility/KeyboardShortcuts.ts"),m=n("./src/utils/objects.ts");class p extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"onMouseEnter",()=>{this.props.onMouseEnter(this.props.dropdownKey)}),(0,s.A)(this,"onClick",e=>{e.preventDefault(),e.stopPropagation(),this.props.onClick(this.props.dropdownKey)})}render(){const e=r()({mx_Dropdown_option:!0,mx_Dropdown_option_highlight:this.props.highlighted});return o.createElement("li",{id:this.props.id,className:e,onClick:this.onClick,onMouseEnter:this.onMouseEnter,role:"option","aria-selected":this.props.highlighted,ref:this.props.inputRef,tabIndex:-1},this.props.children)}}(0,s.A)(p,"defaultProps",{disabled:!1});class h extends o.Component{constructor(e){super(e),(0,s.A)(this,"buttonRef",(0,o.createRef)()),(0,s.A)(this,"dropdownRootElement",null),(0,s.A)(this,"ignoreEvent",null),(0,s.A)(this,"childrenByKey",{}),(0,s.A)(this,"onDocumentClick",e=>{e!==this.ignoreEvent&&this.setState({expanded:!1})}),(0,s.A)(this,"onRootClick",e=>{this.ignoreEvent=e}),(0,s.A)(this,"onAccessibleButtonClick",e=>{if(this.props.disabled)return;const t=(0,d.zM)().getAccessibilityAction(e);this.state.expanded?t===u.bY.Enter?(this.props.onOptionChange(this.state.highlightedOption),this.close()):e.key||(this.setState({expanded:!1}),e.preventDefault()):(this.setState({expanded:!0}),e.preventDefault())}),(0,s.A)(this,"onMenuOptionClick",e=>{this.close(),this.props.onOptionChange(e)}),(0,s.A)(this,"onKeyDown",e=>{let t=!0;switch((0,d.zM)().getAccessibilityAction(e)){case u.bY.Enter:this.props.onOptionChange(this.state.highlightedOption);case u.bY.Escape:this.close();break;case u.bY.ArrowDown:if(this.state.expanded){var n;const e=this.nextOption(this.state.highlightedOption);this.setState({highlightedOption:e}),null===(n=this.dropdownRootElement)||void 0===n||null===(n=n.querySelector(`#${this.props.id}__${e}`))||void 0===n||n.focus()}else this.setState({expanded:!0});break;case u.bY.ArrowUp:if(this.state.expanded){var s;const e=this.prevOption(this.state.highlightedOption);this.setState({highlightedOption:e}),null===(s=this.dropdownRootElement)||void 0===s||null===(s=s.querySelector(`#${this.props.id}__${e}`))||void 0===s||s.focus()}else this.setState({expanded:!0});break;default:t=!1}t&&(e.preventDefault(),e.stopPropagation())}),(0,s.A)(this,"onInputChange",e=>{this.setState({searchQuery:e.currentTarget.value}),this.props.onSearchChange&&this.props.onSearchChange(e.currentTarget.value)}),(0,s.A)(this,"collectRoot",e=>{this.dropdownRootElement&&this.dropdownRootElement.removeEventListener("click",this.onRootClick,!1),e&&e.addEventListener("click",this.onRootClick,!1),this.dropdownRootElement=e}),(0,s.A)(this,"setHighlightedOption",e=>{this.setState({highlightedOption:e})}),this.reindexChildren(this.props.children);const t=e.children[0];this.state={expanded:!1,highlightedOption:t.key,searchQuery:""}}componentDidMount(){document.addEventListener("click",this.onDocumentClick,!1)}componentDidUpdate(e){var t;if((0,m.No)(this.props,e)&&null!==(t=this.props.children)&&void 0!==t&&t.length){this.reindexChildren(this.props.children);const e=this.props.children[0];this.setState({highlightedOption:e.key})}}componentWillUnmount(){document.removeEventListener("click",this.onDocumentClick,!1)}reindexChildren(e){this.childrenByKey={},o.Children.forEach(e,e=>{this.childrenByKey[e.key]=e})}close(){this.setState({expanded:!1}),this.buttonRef.current&&this.buttonRef.current.focus()}nextOption(e){const t=Object.keys(this.childrenByKey),n=t.indexOf(e);return t[(n+1)%t.length]}prevOption(e){const t=Object.keys(this.childrenByKey),n=t.indexOf(e);return t[n<=0?t.length-1:(n-1)%t.length]}scrollIntoView(e){null==e||e.scrollIntoView({block:"nearest",behavior:"auto"})}getMenuOptions(){const e=o.Children.map(this.props.children,e=>{const t=this.state.highlightedOption===e.key;return o.createElement(p,{id:`${this.props.id}__${e.key}`,key:e.key,dropdownKey:e.key,highlighted:t,onMouseEnter:this.setHighlightedOption,onClick:this.onMenuOptionClick,inputRef:t?this.scrollIntoView:void 0},e)});return null!=e&&e.length?e:[o.createElement("li",{key:"0",className:"mx_Dropdown_option",role:"option","aria-selected":!1},(0,c._t)("common|no_results"))]}render(){let e;const t={};let n;if(this.props.menuWidth&&(t.width=this.props.menuWidth),this.state.expanded&&(this.props.searchEnabled&&(e=o.createElement("input",{id:`${this.props.id}_input`,type:"text",autoFocus:!0,autoComplete:this.props.autoComplete,className:"mx_Dropdown_option",onChange:this.onInputChange,value:this.state.searchQuery,role:"combobox","aria-autocomplete":"list","aria-activedescendant":`${this.props.id}__${this.state.highlightedOption}`,"aria-expanded":this.state.expanded,"aria-controls":`${this.props.id}_listbox`,"aria-disabled":this.props.disabled,"aria-label":this.props.label,onKeyDown:this.onKeyDown})),n=o.createElement("ul",{className:"mx_Dropdown_menu",style:t,role:"listbox",id:`${this.props.id}_listbox`},this.getMenuOptions())),!e){let t;this.props.value&&(t=this.props.getShortOption?this.props.getShortOption(this.props.value):this.childrenByKey[this.props.value]),e=o.createElement("div",{className:"mx_Dropdown_option",id:`${this.props.id}_value`},t||this.props.placeholder)}const s=r()("mx_Dropdown",this.props.className,{mx_Dropdown_disabled:!!this.props.disabled});return o.createElement("div",{className:s,ref:this.collectRoot},o.createElement(l.A,{className:"mx_Dropdown_input mx_no_textinput",onClick:this.onAccessibleButtonClick,"aria-haspopup":"listbox","aria-expanded":this.state.expanded,disabled:this.props.disabled,ref:this.buttonRef,"aria-label":this.props.label,"aria-describedby":`${this.props.id}_value`,"aria-owns":`${this.props.id}_input`,onKeyDown:this.onKeyDown},e,o.createElement(a.A,{className:"mx_Dropdown_arrow"}),n))}}},"./src/components/views/elements/ErrorBoundary.tsx"(e,t,n){"use strict";n.d(t,{A:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/languageHandler.tsx"),a=n("./src/MatrixClientPeg.ts"),l=n("./src/PlatformPeg.ts"),c=n("./src/SdkConfig.ts"),d=n("./src/components/views/elements/AccessibleButton.tsx"),u=n("./src/components/views/elements/BugReportDialogButton.tsx");class m extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"onClearCacheAndReload",()=>{l.A.get()&&(a.J.safeGet().stopClient(),a.J.safeGet().store.deleteAllData().then(()=>{var e;null===(e=l.A.get())||void 0===e||e.reload()}))}),this.state={}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,{componentStack:t}){i.vF.error(e),i.vF.error("The above error occurred while React was rendering the following components:",t)}render(){if(this.state.error){const e=c.Ay.get().feedback.new_issue_url;let t,n;return c.Ay.get().bug_report_endpoint_url&&(t=o.createElement(o.Fragment,null,o.createElement("p",null,(0,r._t)("bug_reporting|create_new_issue",{},{newIssueLink:t=>o.createElement("a",{target:"_blank",rel:"noreferrer noopener",href:e},t)})),o.createElement("p",null,(0,r._t)("bug_reporting|introduction")," ",(0,r._t)("bug_reporting|description")),o.createElement(u.r,{error:this.state.error,label:"react-soft-crash"}))),a.J.get()&&(n=o.createElement(d.A,{onClick:this.onClearCacheAndReload,kind:"danger"},(0,r._t)("setting|help_about|clear_cache_reload"))),o.createElement("div",{className:"mx_ErrorBoundary"},o.createElement("div",{className:"mx_ErrorBoundary_body"},o.createElement("h1",null,(0,r._t)("error|something_went_wrong")),t,n))}return this.props.children}}},"./src/components/views/elements/ExternalLink.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/pop-out.js");const c=["children","className"],d=e=>{let{children:t,className:n}=e,r=(0,o.A)(e,c);return i.createElement("a",(0,s.A)({target:"_blank",rel:"noreferrer noopener"},r,{className:a()("mx_ExternalLink",n)}),t,i.createElement(l.A,{className:"mx_ExternalLink_icon"}))}},"./src/components/views/elements/FacePile.tsx"(e,t,n){"use strict";n.d(t,{A:()=>v});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/@vector-im/compound-web/dist/components/Avatar/AvatarStack.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),l=n("./node_modules/classnames/index.js"),c=n.n(l),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/overflow-horizontal.js"),u=n("./src/components/views/avatars/MemberAvatar.tsx"),m=n("./src/components/views/elements/AccessibleButton.tsx"),p=n("./src/components/views/rooms/RoomHeader/toggle/useToggled.tsx"),h=n("./src/stores/right-panel/RightPanelStorePhases.ts");const g=["members","size","overflow","tooltipLabel","tooltipShortcut","children","viewUserOnClick","onClick"],v=e=>{let{members:t,size:n,overflow:l,tooltipLabel:v,tooltipShortcut:f,children:_,viewUserOnClick:y=!0,onClick:b}=e,w=(0,o.A)(e,g);const E=t.map(v?e=>i.createElement(u.A,{key:e.userId,member:e,size:n,hideTitle:!0}):e=>i.createElement(a.m,{key:e.userId,label:e.name,caption:f},i.createElement(u.A,{member:e,size:n,viewUserOnClick:!b&&y,hideTitle:!0}))),A=i.createElement(i.Fragment,null,E,l?i.createElement(d.A,{className:"mx_FacePile_more"}):null),x=(0,p.K)(h.n.MemberList),S=c()({mx_FacePile:!0,mx_FacePile_toggled:x}),C=i.createElement(m.A,(0,s.A)({},w,{className:S,onClick:null!=b?b:null}),i.createElement(r.G,null,A),_);return v?i.createElement(a.m,{label:v,caption:f},C):C}},"./src/components/views/elements/Field.tsx"(e,t,n){"use strict";n.d(t,{A:()=>v});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),r=n("./node_modules/react/index.js"),a=n("./node_modules/classnames/index.js"),l=n.n(a),c=n("./node_modules/lodash/debounce.js"),d=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-down.js");const m=["element","inputRef","prefixComponent","postfixComponent","className","onValidate","children","tooltipContent","forceValidity","tooltipClassName","validateOnBlur","validateOnChange","validateOnFocus","usePlaceholderAsHint","forceTooltipVisible","tooltipAlignment"];function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach(function(t){(0,i.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}let g=1;class v extends r.PureComponent{constructor(e){super(e),(0,i.A)(this,"id",void 0),(0,i.A)(this,"_inputRef",(0,r.createRef)()),(0,i.A)(this,"callbackRef",e=>{this._inputRef.current=e,this.props.inputRef(e)}),(0,i.A)(this,"validateOnChange",(0,c.A)(()=>{this.validate({focused:!0})},200)),(0,i.A)(this,"onFocus",e=>{var t,n;this.setState({focused:!0}),this.props.validateOnFocus&&this.validate({focused:!0}),null===(t=(n=this.props).onFocus)||void 0===t||t.call(n,e)}),(0,i.A)(this,"onChange",e=>{var t,n;this.props.validateOnChange&&this.validateOnChange(),null===(t=(n=this.props).onChange)||void 0===t||t.call(n,e)}),(0,i.A)(this,"onBlur",e=>{var t,n;this.setState({focused:!1}),this.props.validateOnBlur&&this.validate({focused:!1}),null===(t=(n=this.props).onBlur)||void 0===t||t.call(n,e)}),(0,i.A)(this,"onTooltipOpenChange",e=>{this.setState({feedbackVisible:e})}),this.state={feedbackVisible:!1,focused:!1},this.id=this.props.id||"mx_Field_"+g++}focus(){var e;null===(e=this.inputRef.current)||void 0===e||e.focus(),this.setState({focused:!0})}async validate({focused:e,allowEmpty:t=!0}){var n,s;if(!this.props.onValidate)return;const o=null!==(n=null===(s=this.inputRef.current)||void 0===s?void 0:s.value)&&void 0!==n?n:null,{valid:i,feedback:r}=await this.props.onValidate({value:o,focused:!!e,allowEmpty:t});return this.state.focused&&r?this.setState({valid:i,feedback:r,feedbackVisible:!0}):this.setState({valid:i,feedbackVisible:!1}),i}get inputRef(){const e=this.props.inputRef;return"function"==typeof e?this._inputRef:null!=e?e:this._inputRef}render(){var e;const t=this.props,{element:n,inputRef:i,prefixComponent:a,postfixComponent:c,className:p,onValidate:g,children:v,tooltipContent:f,forceValidity:_,tooltipClassName:y,validateOnBlur:b,validateOnChange:w,validateOnFocus:E,usePlaceholderAsHint:A,forceTooltipVisible:x,tooltipAlignment:S}=t,C=(0,o.A)(t,m),k={};let R=!1;(f||this.state.feedback)&&(R=this.state.focused&&x||this.state.feedbackVisible,f||(k["aria-atomic"]="true",k["aria-live"]=this.state.valid?"polite":"assertive")),C.placeholder=null!==(e=C.placeholder)&&void 0!==e?e:C.label,C.id=this.id,C.onFocus=this.onFocus,C.onChange=this.onChange,C.onBlur=this.onBlur;const I=h(h({},C),{},{ref:"function"==typeof this.props.inputRef?this.callbackRef:this.inputRef}),P=r.createElement(this.props.element,I,v);let T,O;a&&(T=r.createElement("span",{className:"mx_Field_prefix"},a)),c&&(O=r.createElement("span",{className:"mx_Field_postfix"},c));const M=null!=_,N=l()("mx_Field",`mx_Field_${this.props.element}`,p,{mx_Field_labelAlwaysTopLeft:a||A,mx_Field_placeholderIsHint:A,mx_Field_valid:M?_:g&&!0===this.state.valid,mx_Field_invalid:M?!_:g&&!1===this.state.valid});let j;return"select"===this.props.element&&(j=r.createElement(u.A,{className:"mx_Field_select_chevron"})),r.createElement("div",{className:N},T,r.createElement(d.m,(0,s.A)({},k,{placement:S,description:"",caption:f||this.state.feedback,open:R,onOpenChange:this.onTooltipOpenChange}),P),r.createElement("label",{htmlFor:this.id},this.props.label),j,O)}}(0,i.A)(v,"defaultProps",{element:"input",type:"text",validateOnFocus:!0,validateOnBlur:!0,validateOnChange:!0,tooltipAlignment:"right"})},"./src/components/views/elements/ImageView.tsx"(e,t,n){"use strict";n.d(t,{A:()=>N});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/react-focus-lock/dist/es2015/index.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/overflow-horizontal.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/zoom-out.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/zoom-in.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/rotate-left.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/rotate-right.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/download.js"),h=n("./src/languageHandler.tsx"),g=n("./src/components/views/avatars/MemberAvatar.tsx"),v=n("./src/accessibility/context_menu/ContextMenuTooltipButton.tsx"),f=n("./src/components/views/context_menus/MessageContextMenu.tsx"),_=n("./src/components/structures/ContextMenu.tsx"),y=n("./src/components/views/messages/MessageTimestamp.tsx"),b=n("./src/settings/SettingsStore.ts"),w=n("./src/dispatcher/dispatcher.ts"),E=n("./src/dispatcher/actions.ts"),A=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js");const x=["deltaMode","deltaX","deltaY","deltaZ"];function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function C(e){let{deltaMode:t,deltaX:n,deltaY:s,deltaZ:i}=e,r=(0,A.A)(e,x);return 1===t&&(n*=18,s*=18,i*=18),new WheelEvent("syntheticWheel",function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({deltaMode:0,deltaY:s,deltaX:n,deltaZ:i},r))}var k=n("./src/stores/UIStore.ts"),R=n("./src/accessibility/KeyboardShortcuts.ts"),I=n("./src/KeyBindingsManager.ts"),P=n("./src/utils/FileUtils.ts"),T=n("./src/components/views/elements/AccessibleButton.tsx"),O=n("./src/hooks/useDownloadMedia.ts");const M=.95;class N extends i.Component{constructor(e){super(e),(0,o.A)(this,"contextMenuButton",(0,i.createRef)()),(0,o.A)(this,"focusLock",(0,i.createRef)()),(0,o.A)(this,"imageWrapper",(0,i.createRef)()),(0,o.A)(this,"image",(0,i.createRef)()),(0,o.A)(this,"downloadFunction",void 0),(0,o.A)(this,"initX",0),(0,o.A)(this,"initY",0),(0,o.A)(this,"previousX",0),(0,o.A)(this,"previousY",0),(0,o.A)(this,"animatingLoading",!1),(0,o.A)(this,"imageIsLoaded",!1),(0,o.A)(this,"imageLoaded",()=>{if(!this.image.current)return;const{thumbnailInfo:e}=this.props;null!=e&&e.width&&this.setState({zoom:e.width/this.image.current.naturalWidth}),this.imageIsLoaded=!0,this.animatingLoading=!0,this.setZoomAndRotation(),this.setState({translationX:0,translationY:0}),this.animatingLoading=!1}),(0,o.A)(this,"recalculateZoom",()=>{this.setZoomAndRotation()}),(0,o.A)(this,"setZoomAndRotation",e=>{const t=this.image.current,n=this.imageWrapper.current;if(!t||!n)return;const s=null!=e?e:this.state.rotation,o=s%180==0,i=o?t.naturalWidth:t.naturalHeight,r=o?t.naturalHeight:t.naturalWidth,a=n.clientWidth/i,l=n.clientHeight/r;if(a>=1&&l>=1)return void this.setState({zoom:1,minZoom:1,maxZoom:1,rotation:s});const c=Math.min(a,l)*M,d=this.state.zoom<=this.state.minZoom?c:this.state.zoom;this.setState({minZoom:c,maxZoom:1,rotation:s,zoom:d})}),(0,o.A)(this,"onWheel",e=>{if(e.target===this.image.current){e.stopPropagation(),e.preventDefault();const{deltaY:t}=C(e);this.zoomDelta(.0025*-t,e.offsetX,e.offsetY)}}),(0,o.A)(this,"onZoomInClick",()=>{this.zoomDelta(.1)}),(0,o.A)(this,"onZoomOutClick",()=>{this.zoomDelta(-.1)}),(0,o.A)(this,"onKeyDown",e=>{switch((0,I.zM)().getAccessibilityAction(e)){case R.bY.Escape:e.stopPropagation(),e.preventDefault(),this.props.onFinished();break;case R.bY.Save:e.preventDefault(),e.stopPropagation(),this.downloadFunction&&this.downloadFunction()}}),(0,o.A)(this,"onRotateCounterClockwiseClick",()=>{const e=this.state.rotation;this.setZoomAndRotation(e-90)}),(0,o.A)(this,"onRotateClockwiseClick",()=>{const e=this.state.rotation;this.setZoomAndRotation(e+90)}),(0,o.A)(this,"onOpenContextMenu",()=>{this.setState({contextMenuDisplayed:!0})}),(0,o.A)(this,"onCloseContextMenu",()=>{this.setState({contextMenuDisplayed:!1})}),(0,o.A)(this,"onDownloadFunctionReady",e=>{this.downloadFunction=e}),(0,o.A)(this,"onPermalinkClicked",e=>{var t,n;e.preventDefault(),w.A.dispatch({action:E.r.ViewRoom,event_id:null===(t=this.props.mxEvent)||void 0===t?void 0:t.getId(),highlighted:!0,room_id:null===(n=this.props.mxEvent)||void 0===n?void 0:n.getRoomId(),metricsTrigger:void 0}),this.props.onFinished()}),(0,o.A)(this,"onStartMoving",e=>{e.stopPropagation(),e.preventDefault(),0===e.button&&(this.state.zoom!==this.state.minZoom?(this.setState({moving:!0}),this.previousX=this.state.translationX,this.previousY=this.state.translationY,this.initX=e.pageX-this.state.translationX,this.initY=e.pageY-this.state.translationY):this.zoom(this.state.maxZoom===this.state.minZoom?2*this.state.maxZoom:this.state.maxZoom,e.nativeEvent.offsetX,e.nativeEvent.offsetY))}),(0,o.A)(this,"onMoving",e=>{e.stopPropagation(),e.preventDefault(),this.state.moving&&this.setState({translationX:e.pageX-this.initX,translationY:e.pageY-this.initY})}),(0,o.A)(this,"onEndMoving",()=>{this.state.moving&&Math.abs(this.state.translationX-this.previousX)<10&&Math.abs(this.state.translationY-this.previousY)<10&&(this.zoom(this.state.minZoom),this.initX=0,this.initY=0),this.setState({moving:!1})});const{thumbnailInfo:t}=this.props;let n=0,s=0;t&&(n=t.positionX+t.width/2-k.A.instance.windowWidth/2,s=t.positionY+t.height/2-k.A.instance.windowHeight/2-(()=>{const e=getComputedStyle(document.documentElement).getPropertyValue("--image-view-panel-height");return parseInt(e.slice(0,e.length-2))})()/2),this.state={zoom:0,minZoom:M,maxZoom:M,rotation:0,translationX:n,translationY:s,moving:!1,contextMenuDisplayed:!1}}componentDidMount(){var e;this.focusLock.current.addEventListener("wheel",this.onWheel,{passive:!1}),window.addEventListener("resize",this.recalculateZoom),null===(e=this.image.current)||void 0===e||e.addEventListener("load",this.imageLoaded)}componentWillUnmount(){var e;this.focusLock.current.removeEventListener("wheel",this.onWheel),window.removeEventListener("resize",this.recalculateZoom),null===(e=this.image.current)||void 0===e||e.removeEventListener("load",this.imageLoaded)}zoomDelta(e,t,n){this.zoom(this.state.zoom+e,t,n)}zoom(e,t,n){const s=this.state.zoom,o=this.state.maxZoom===this.state.minZoom?2*this.state.maxZoom:this.state.maxZoom,i=Math.min(e,o);if(i<=this.state.minZoom)this.setState({zoom:this.state.minZoom,translationX:0,translationY:0});else if("number"!=typeof t||"number"!=typeof n)this.setState({zoom:i,translationX:this.state.translationX*i/s,translationY:this.state.translationY*i/s});else if(this.image.current){let e,o;switch((this.state.rotation%360+360)%360){case 0:e=this.image.current.clientWidth/2-t,o=this.image.current.clientHeight/2-n;break;case 90:e=n-this.image.current.clientHeight/2,o=this.image.current.clientWidth/2-t;break;case 180:e=t-this.image.current.clientWidth/2,o=n-this.image.current.clientHeight/2;break;case 270:e=this.image.current.clientHeight/2-n,o=t-this.image.current.clientWidth/2}this.setState({zoom:i,translationX:this.state.translationX+(i-s)*e,translationY:this.state.translationY+(i-s)*o})}}renderContextMenu(){let e;return this.state.contextMenuDisplayed&&this.props.mxEvent&&(e=i.createElement(f.A,(0,s.A)({},(0,_.qv)(this.contextMenuButton.current.getBoundingClientRect()),{mxEvent:this.props.mxEvent,permalinkCreator:this.props.permalinkCreator,onFinished:this.onCloseContextMenu,onCloseDialog:this.props.onFinished}))),i.createElement(i.Fragment,null,e)}render(){var e;const t=!!this.props.mxEvent;let n;n=this.animatingLoading?"mx_ImageView_image_animatingLoading":this.state.moving||!this.imageIsLoaded?"":"mx_ImageView_image_animating";const s=this.state.rotation+"deg",o=this.state.zoom,p={transform:`translateX(${this.state.translationX+"px"})\n translateY(${this.state.translationY+"px"})\n scale(${o})\n rotate(${s})`};let f,_,w;if(this.state.moving?p.cursor="grabbing":this.state.zoom===this.state.minZoom?p.cursor="zoom-in":p.cursor="zoom-out",t){var E,A;const e=this.props.mxEvent,t=b.A.getValue("showTwelveHourTimestamps");let n="#";this.props.permalinkCreator&&(n=this.props.permalinkCreator.forEvent(e.getId()));const s=null!==(E=null===(A=e.sender)||void 0===A?void 0:A.name)&&void 0!==E?E:e.getSender(),o=i.createElement("div",{className:"mx_ImageView_info_sender"},s),r=i.createElement(y.A,{href:n,onClick:this.onPermalinkClicked,showFullDate:!0,showTwelveHour:t,ts:e.getTs(),showSeconds:!1,inhibitTooltip:!0}),a=i.createElement(g.A,{member:e.sender,fallbackUserId:e.getSender(),size:"32px",viewUserOnClick:!0,className:"mx_Dialog_nonDialogButton"});f=i.createElement("div",{className:"mx_ImageView_info_wrapper"},a,i.createElement("div",{className:"mx_ImageView_info"},o,r))}else f=i.createElement("div",null);var x;(this.props.mxEvent&&(_=i.createElement(v.o,{className:"mx_ImageView_button mx_ImageView_button_more",title:(0,h._t)("common|options"),onClick:this.onOpenContextMenu,ref:this.contextMenuButton,isExpanded:this.state.contextMenuDisplayed},i.createElement(a.A,null))),null!==(e=this.props.mxEvent)&&void 0!==e&&e.getContent())&&(w=i.createElement("div",{className:"mx_ImageView_title"},(0,P.q)(null===(x=this.props.mxEvent)||void 0===x?void 0:x.getContent(),(0,h._t)("common|image"),!0)));return i.createElement(r.Ay,{returnFocus:!0,lockProps:{onKeyDown:this.onKeyDown,role:"dialog","aria-label":(0,h._t)("lightbox|title")},className:"mx_ImageView",ref:this.focusLock},i.createElement("div",{className:"mx_ImageView_panel"},f,w,i.createElement("div",{className:"mx_ImageView_toolbar"},i.createElement(T.A,{className:"mx_ImageView_button",title:(0,h._t)("action|zoom_out"),onClick:this.onZoomOutClick},i.createElement(l.A,null)),i.createElement(T.A,{className:"mx_ImageView_button",title:(0,h._t)("action|zoom_in"),onClick:this.onZoomInClick},i.createElement(c.A,null)),i.createElement(T.A,{className:"mx_ImageView_button",title:(0,h._t)("lightbox|rotate_left"),onClick:this.onRotateCounterClockwiseClick},i.createElement(d.A,null)),i.createElement(T.A,{className:"mx_ImageView_button",title:(0,h._t)("lightbox|rotate_right"),onClick:this.onRotateClockwiseClick},i.createElement(u.A,null)),i.createElement(j,{url:this.props.src,fileName:this.props.name,mxEvent:this.props.mxEvent,onDownloadReady:this.onDownloadFunctionReady}),_,i.createElement(T.A,{className:"mx_ImageView_button mx_ImageView_button_close",title:(0,h._t)("action|close"),onClick:this.props.onFinished},i.createElement(m.A,null)),this.renderContextMenu())),i.createElement("div",{className:"mx_ImageView_image_wrapper",ref:this.imageWrapper,onMouseDown:this.props.onFinished,onMouseMove:this.onMoving,onMouseUp:this.onEndMoving,onMouseLeave:this.onEndMoving},i.createElement("img",{src:this.props.src,style:p,alt:this.props.name,ref:this.image,className:`mx_ImageView_image ${n}`,draggable:!0,onMouseDown:this.onStartMoving})))}}const j=({url:e,fileName:t,mxEvent:n,onDownloadReady:s})=>{const{download:o,loading:r,canDownload:a}=(0,O.Q)(e,t,n);return(0,i.useEffect)(()=>{s&&s(o)},[o,s]),a?i.createElement(T.A,{className:"mx_ImageView_button",title:r?(0,h._t)("timeline|download_action_downloading"):(0,h._t)("action|download"),onClick:o,disabled:r},i.createElement(p.A,null)):null}},"./src/components/views/elements/InfoTooltip.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u,y:()=>d});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error-solid.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/info.js"),c=n("./src/languageHandler.tsx");let d=function(e){return e.Info="info",e.Warning="warning",e}({});class u extends s.PureComponent{render(){var e;const{tooltip:t,children:n,className:o,kind:u}=this.props,m=(0,c._t)("info_tooltip_title");return s.createElement(r.m,{description:t||m,placement:"right"},s.createElement("div",{className:i()("mx_InfoTooltip",o),tabIndex:null!==(e=this.props.tabIndex)&&void 0!==e?e:0},s.createElement("span",{className:"mx_InfoTooltip_icon","aria-label":m},u!==d.Warning?s.createElement(l.A,null):s.createElement(a.A,null)),n))}}},"./src/components/views/elements/InlineSpinner.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-web/dist/components/InlineSpinner/InlineSpinner.js"),r=n("./src/languageHandler.tsx");class a extends o.PureComponent{render(){return o.createElement("span",{className:"mx_InlineSpinner"},o.createElement(i.Z,{size:this.props.size,"aria-label":(0,r._t)("common|loading"),role:"progressbar"}))}}(0,s.A)(a,"defaultProps",{w:16,h:16})},"./src/components/views/elements/JoinRuleDropdown.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/ask-to-join.js"),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/group.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock-solid.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/public.js"),c=n("./src/components/views/elements/Dropdown.tsx");const d=({label:e,labelInvite:t,labelKnock:n,labelPublic:d,labelRestricted:u,value:m,width:p=448,onChange:h})=>{const g=[s.createElement("div",{key:o.JoinRule.Invite,className:"mx_JoinRuleDropdown_invite"},s.createElement(a.A,null),t)];return d&&g.push(s.createElement("div",{key:o.JoinRule.Public,className:"mx_JoinRuleDropdown_public"},s.createElement(l.A,null),d)),n&&g.unshift(s.createElement("div",{key:o.JoinRule.Knock,className:"mx_JoinRuleDropdown_knock"},s.createElement(i.A,null),n)),u&&g.unshift(s.createElement("div",{key:o.JoinRule.Restricted,className:"mx_JoinRuleDropdown_restricted"},s.createElement(r.A,null),u)),s.createElement(c.A,{id:"mx_JoinRuleDropdown",className:"mx_JoinRuleDropdown",onOptionChange:h,menuWidth:p,value:m,label:e,disabled:1===g.length},g)}},"./src/components/views/elements/LabelledCheckbox.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./src/components/views/elements/StyledCheckbox.tsx");const a=({value:e,label:t,byline:n,disabled:o,onChange:a,className:l,id:c})=>s.createElement("div",{id:c,className:i()("mx_LabelledCheckbox",l)},s.createElement(r.A,{description:n,disabled:o,checked:e,onChange:e=>a(e.target.checked)},s.createElement("span",{className:"mx_LabelledCheckbox_label"},t)))},"./src/components/views/elements/LazyRenderList.tsx"(e,t,n){"use strict";n.d(t,{A:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js");class i{constructor(e,t,n){this.topCount=e,this.renderCount=t,this.bottomCount=n}contains(e){return!(!e.renderCount&&this.renderCount)&&(e.topCount>=this.topCount&&e.topCount+e.renderCount<=this.topCount+this.renderCount)}expand(e){if(0===this.renderCount)return this;const t=Math.min(e,this.topCount),n=Math.min(e,this.bottomCount);return new i(this.topCount-t,this.renderCount+t+n,this.bottomCount-n)}totalSize(){return this.topCount+this.renderCount+this.bottomCount}}class r extends o.Component{constructor(e){super(e),this.state=r.getDerivedStateFromProps(e,{})}static getDerivedStateFromProps(e,t){const n=r.getVisibleRangeFromProps(e),s=n.expand(e.overflowMargin),o=n.expand(e.overflowItems);return!(!!t.renderRange&&o.totalSize()!==t.renderRange.totalSize())&&t.renderRange&&t.renderRange.contains(s)?null:{renderRange:o}}static getVisibleRangeFromProps(e){const{items:t,itemHeight:n,scrollTop:s,height:o}=e,r=t?t.length:0,a=Math.min(Math.max(0,Math.floor(s/n)),r),l=r-a,c=0!==o?Math.ceil(o/n):0,d=Math.min(c,l);return new i(a,d,l-d)}render(){const{itemHeight:e,items:t,renderItem:n}=this.props,{renderRange:s}=this.state,{topCount:i,renderCount:r,bottomCount:a}=s,l=i*e,c=a*e,d=(t||[]).slice(i,i+r),u=this.props.element||"div",m={style:{paddingTop:`${l}px`,paddingBottom:`${c}px`},className:this.props.className,role:this.props.role};return o.createElement(u,m,d.map(n))}}(0,s.A)(r,"defaultProps",{overflowItems:20,overflowMargin:5})},"./src/components/views/elements/Pill.tsx"(e,t,n){"use strict";n.d(t,{a:()=>R,y:()=>x});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/link.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-solid.js"),c=n("./src/contexts/MatrixClientContext.tsx"),d=n("./src/utils/permalinks/Permalinks.ts"),u=n("./src/dispatcher/dispatcher.ts"),m=n("./src/dispatcher/actions.ts"),p=n("./src/languageHandler.tsx"),h=n("./src/MatrixClientPeg.ts");const g=e=>{var t;const n=h.J.safeGet();return"#"===e[0]?null!==(t=n.getRooms().find(t=>t.getCanonicalAlias()===e||t.getAltAliases().includes(e)))&&void 0!==t?t:null:n.getRoom(e)},v=(e,t,n)=>{const o=e&&[x.RoomMention,x.EventInSameRoom,x.EventInOtherRoom,"space"].includes(e),i=((e,t,n)=>{if(e===x.AtRoomMention&&n)return n;if(e===x.UserMention&&n)return n;if(null!=t&&t.roomIdOrAlias){const e=g(t.roomIdOrAlias);if(e)return e}return null})(e,t,n),[r,a]=(0,s.useState)(i);return(0,s.useEffect)(()=>{if(o&&!r&&null!=t&&t.roomIdOrAlias){const e=g(t.roomIdOrAlias);a(e)}},[null==t?void 0:t.roomIdOrAlias,o,r]),r};var f=n("./node_modules/matrix-js-sdk/src/matrix.ts");var _=n("./src/contexts/SDKContext.ts");const y=(e,t)=>{var n;const s=new f.RoomMember("",e);return s.name=null!==(n=t.displayname)&&void 0!==n?n:e,s.rawDisplayName=s.name,s.events.member={getContent:()=>({avatar_url:t.avatar_url}),getDirectionalContent:function(){return this.getContent()}},s},b=(e,t,n,o)=>{const i=(0,s.useContext)(_.A),r=e&&[x.UserMention,x.EventInSameRoom].includes(e),a=((e,t,n)=>{return null===e?null:null!=t&&t.userId?t.userId:n&&[x.EventInSameRoom,x.EventInOtherRoom].includes(e)&&null!==(s=n.getSender())&&void 0!==s?s:null;var s})(e,t,o),l=r&&a&&n?((e,t,n)=>{const s=t.getMember(e);if(s)return s;const o=n.userProfilesStore.getOnlyKnownProfile(e);return o?y(e,o):null})(a,n,i):null,[c,d]=(0,s.useState)(l);return(0,s.useEffect)(()=>{if(!r||!a||c)return;(async()=>{const e=await i.userProfilesStore.fetchOnlyKnownProfile(a);if(e){const t=y(a,e);d(t)}})()},[i,c,r,n,a]),c},w=({room:e,type:t,url:n})=>{let o=null,i=null;var r;n&&(i=(0,d.$N)(n),null!==(r=i)&&void 0!==r&&r.primaryEntityId&&(o=i.primaryEntityId));const a=((e,t,n)=>{if(e)return e;if(null!=t&&t.roomIdOrAlias&&null!=t&&t.eventId)return t.roomIdOrAlias===(null==n?void 0:n.roomId)?x.EventInSameRoom:x.EventInOtherRoom;if(null!=t&&t.primaryEntityId){const e=t.primaryEntityId[0]||"";return{"@":x.UserMention,"#":x.RoomMention,"!":x.RoomMention}[e]||null}return null})(t,i,e),l=v(a,i,e),c=((e,t,n)=>{const o=!!e&&!(null==t||!t.roomIdOrAlias)&&!(null==t||!t.eventId)&&[x.EventInSameRoom,x.EventInOtherRoom].includes(e),i=null==t?void 0:t.eventId,r=((e,t,n)=>e&&t&&null!=n&&n.eventId&&t.findEventById(n.eventId)||null)(o,n,t),[a,l]=(0,s.useState)(r);return(0,s.useEffect)(()=>{o&&i&&!a&&null!=t&&t.roomIdOrAlias&&t.eventId&&(async()=>{try{const e=await h.J.safeGet().fetchRoomEvent(t.roomIdOrAlias,t.eventId);l(new f.MatrixEvent(e))}catch{}})()},[a,i,null==t?void 0:t.eventId,null==t?void 0:t.roomIdOrAlias,o]),a})(a,i,l),g=b(a,i,l,c);let _=()=>{},y=o;return a===x.AtRoomMention&&e?y="@room":a===x.UserMention&&g?(y=g.name||o,_=e=>{e.preventDefault(),e.stopPropagation(),u.A.dispatch({action:m.r.ViewUser,member:g})}):a===x.RoomMention?l&&(y=l.name||o):a===x.EventInSameRoom?y=(null==g?void 0:g.name)||(0,p._t)("common|user"):a===x.EventInOtherRoom&&(y=(null==l?void 0:l.name)||(0,p._t)("common|room")),{event:c,member:g,onClick:_,resourceId:o,targetRoom:l,text:y,type:a}};var E=n("./src/components/views/avatars/RoomAvatar.tsx"),A=n("./src/components/views/avatars/MemberAvatar.tsx");let x=function(e){return e.UserMention="TYPE_USER_MENTION",e.RoomMention="TYPE_ROOM_MENTION",e.AtRoomMention="TYPE_AT_ROOM_MENTION",e.EventInSameRoom="TYPE_EVENT_IN_SAME_ROOM",e.EventInOtherRoom="TYPE_EVENT_IN_OTHER_ROOM",e.Keyword="TYPE_KEYWORD",e}({});const S=s.createElement(a.A,{className:"mx_Pill_LinkIcon mx_BaseAvatar"}),C=({shouldShowPillAvatar:e,room:t})=>e?t?s.createElement(E.A,{room:t,size:"16px","aria-hidden":"true"}):S:null,k=({shouldShowPillAvatar:e,member:t})=>e?t?s.createElement(A.A,{member:t,size:"16px","aria-hidden":"true",hideTitle:!0}):s.createElement(l.A,{className:"mx_Pill_UserIcon mx_BaseAvatar"}):null,R=({type:e,url:t,inMessage:n,room:o,shouldShowPillAvatar:a=!0,text:l})=>{const d=(0,s.useContext)(c.Ay),{event:u,member:m,onClick:h,resourceId:g,targetRoom:v,text:f,type:_}=w({room:o,type:e,url:t}),y=null!=l?l:f;if(!_||!y)return null;const b=i()("mx_Pill",{mx_AtRoomPill:_===x.AtRoomMention,mx_RoomPill:_===x.RoomMention,mx_SpacePill:"space"===_||(null==v?void 0:v.isSpaceRoom()),mx_UserPill:_===x.UserMention,mx_UserPill_me:g===d.getUserId(),mx_EventPill:_===x.EventInOtherRoom||_===x.EventInSameRoom,mx_KeywordPill:_===x.Keyword});let E=null,A=y;switch(_){case x.EventInOtherRoom:E=s.createElement(C,{shouldShowPillAvatar:a,room:v}),A=(0,p._t)("pill|permalink_other_room",{room:y});break;case x.EventInSameRoom:u?(E=s.createElement(k,{shouldShowPillAvatar:a,member:m}),A=(0,p._t)("pill|permalink_this_room",{user:y})):(E=S,A=(0,p._t)("common|message"));break;case x.AtRoomMention:case x.RoomMention:case"space":E=s.createElement(C,{shouldShowPillAvatar:a,room:v});break;case x.UserMention:E=s.createElement(k,{shouldShowPillAvatar:a,member:m});break;case x.Keyword:break;default:return null}const R=!!n&&!!t;return s.createElement("bdi",null,s.createElement(r.m,{description:null!=g?g:"",open:!!g&&void 0,placement:"right",isTriggerInteractive:R},R?s.createElement("a",{className:b,href:t,onClick:h},E,s.createElement("span",{className:"mx_Pill_text"},A)):s.createElement("span",{className:b},E,s.createElement("span",{className:"mx_Pill_text"},A))))}},"./src/components/views/elements/PollCreateDialog.tsx"(e,t,n){"use strict";n.d(t,{A:()=>y});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/extensible_events_v1/PollStartEvent.ts"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),l=n("./src/components/views/dialogs/ScrollableBaseModal.tsx"),c=n("./src/components/views/dialogs/QuestionDialog.tsx"),d=n("./src/Modal.tsx"),u=n("./src/languageHandler.tsx"),m=n("./src/utils/arrays.ts"),p=n("./src/components/views/elements/Field.tsx"),h=n("./src/components/views/elements/AccessibleButton.tsx"),g=n("./src/components/views/elements/Spinner.tsx"),v=n("./src/utils/local-room.ts"),f=function(e){return e[e.Topic=0]="Topic",e[e.NewOption=1]="NewOption",e}(f||{});function _(){return{title:(0,u._t)("poll|create_poll_title"),actionLabel:(0,u._t)("poll|create_poll_action"),canSubmit:!1,question:"",options:(0,m.DG)("",2),busy:!1,kind:i.M_POLL_KIND_DISCLOSED,autoFocusTarget:f.Topic}}class y extends l.A{constructor(e){super(e),(0,s.A)(this,"addOptionRef",(0,o.createRef)()),(0,s.A)(this,"onQuestionChange",e=>{this.setState({question:e.target.value},()=>this.checkCanSubmit())}),(0,s.A)(this,"onOptionChange",(e,t)=>{const n=(0,m.PF)(this.state.options);n[e]=t.target.value,this.setState({options:n},()=>this.checkCanSubmit())}),(0,s.A)(this,"onOptionRemove",e=>{const t=(0,m.PF)(this.state.options);t.splice(e,1),this.setState({options:t},()=>this.checkCanSubmit())}),(0,s.A)(this,"onOptionAdd",()=>{const e=(0,m.PF)(this.state.options);e.push(""),this.setState({options:e,autoFocusTarget:f.NewOption},()=>{var e,t;null===(e=this.addOptionRef.current)||void 0===e||null===(t=e.scrollIntoView)||void 0===t||t.call(e)})}),(0,s.A)(this,"onPollTypeChange",e=>{this.setState({kind:i.M_POLL_KIND_DISCLOSED.matches(e.target.value)?i.M_POLL_KIND_DISCLOSED:i.M_POLL_KIND_UNDISCLOSED})}),this.state=e.editingMxEvent?function(e){const t=e.unstableExtensibleEvent;return null!=t&&t.isEquivalentTo(i.M_POLL_START)?{title:(0,u._t)("poll|edit_poll_title"),actionLabel:(0,u._t)("action|done"),canSubmit:!0,question:t.question.text,options:t.answers.map(e=>e.text),busy:!1,kind:t.kind,autoFocusTarget:f.Topic}:_()}(e.editingMxEvent):_()}checkCanSubmit(){this.setState({canSubmit:!this.state.busy&&this.state.question.trim().length>0&&this.state.options.filter(e=>e.trim().length>0).length>=2})}createEvent(){const e=r.m.from(this.state.question.trim(),this.state.options.map(e=>e.trim()).filter(e=>!!e),this.state.kind.name).serialize();return this.props.editingMxEvent?{content:{"m.new_content":e.content,"m.relates_to":{rel_type:"m.replace",event_id:this.props.editingMxEvent.getId()}},type:e.type}:e}submit(){this.setState({busy:!0,canSubmit:!1});const e=this.createEvent();(0,v.Y)(this.props.room.roomId,t=>{var n;return this.matrixClient.sendEvent(t,null!==(n=this.props.threadId)&&void 0!==n?n:null,e.type,e.content)},this.matrixClient).then(()=>this.props.onFinished(!0)).catch(e=>{console.error("Failed to post poll:",e);const{finished:t}=d.Ay.createDialog(c.A,{title:(0,u._t)("poll|failed_send_poll_title"),description:(0,u._t)("poll|failed_send_poll_description"),button:(0,u._t)("action|try_again"),cancelButton:(0,u._t)("action|cancel")});t.then(([e])=>{e?this.setState({busy:!1,canSubmit:!0}):this.cancel()})})}cancel(){this.props.onFinished(!1)}renderContent(){return o.createElement("div",{className:"mx_PollCreateDialog"},o.createElement("h2",null,(0,u._t)("poll|type_heading")),o.createElement(p.A,{element:"select",value:this.state.kind.name,onChange:this.onPollTypeChange},o.createElement("option",{key:i.M_POLL_KIND_DISCLOSED.name,value:i.M_POLL_KIND_DISCLOSED.name},(0,u._t)("poll|type_open")),o.createElement("option",{key:i.M_POLL_KIND_UNDISCLOSED.name,value:i.M_POLL_KIND_UNDISCLOSED.name},(0,u._t)("poll|type_closed"))),o.createElement("p",null,(e=this.state.kind,i.M_POLL_KIND_DISCLOSED.matches(e.name)?(0,u._t)("poll|disclosed_notes"):(0,u._t)("poll|notes"))),o.createElement("h2",null,(0,u._t)("poll|topic_heading")),o.createElement(p.A,{id:"poll-topic-input",value:this.state.question,maxLength:340,label:(0,u._t)("poll|topic_label"),placeholder:(0,u._t)("poll|topic_placeholder"),onChange:this.onQuestionChange,usePlaceholderAsHint:!0,disabled:this.state.busy,autoFocus:this.state.autoFocusTarget===f.Topic}),o.createElement("h2",null,(0,u._t)("poll|options_heading")),this.state.options.map((e,t)=>o.createElement("div",{key:`option_${t}`,className:"mx_PollCreateDialog_option"},o.createElement(p.A,{id:`pollcreate_option_${t}`,value:e,maxLength:340,label:(0,u._t)("poll|options_label",{number:t+1}),placeholder:(0,u._t)("poll|options_placeholder"),onChange:e=>this.onOptionChange(t,e),usePlaceholderAsHint:!0,disabled:this.state.busy,autoFocus:this.state.autoFocusTarget===f.NewOption&&t===this.state.options.length-1}),o.createElement(h.A,{onClick:()=>this.onOptionRemove(t),className:"mx_PollCreateDialog_removeOption",disabled:this.state.busy},o.createElement(a.A,null)))),o.createElement(h.A,{onClick:this.onOptionAdd,disabled:this.state.busy||this.state.options.length>=20,kind:"secondary",className:"mx_PollCreateDialog_addOption",ref:this.addOptionRef},(0,u._t)("poll|options_add_button")),this.state.busy&&o.createElement("div",{className:"mx_PollCreateDialog_busy"},o.createElement(g.A,null)));var e}}},"./src/components/views/elements/PowerSelector.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/Roles.ts"),r=n("./src/languageHandler.tsx"),a=n("./src/components/views/elements/Field.tsx"),l=n("./src/accessibility/KeyboardShortcuts.ts"),c=n("./src/KeyBindingsManager.ts"),d=n("./src/utils/objects.ts"),u=n("./src/utils/arrays.ts");const m="SELECT_VALUE_CUSTOM";class p extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"unmounted",!1),(0,s.A)(this,"onSelectChange",async e=>{if(e.target.value===m)this.setState({custom:!0});else{const t=parseInt(e.target.value);this.setState({selectValue:t});try{await this.props.onChange(t,this.props.powerLevelKey)}catch{if(this.unmounted)return;this.initStateFromProps()}}}),(0,s.A)(this,"onCustomChange",e=>{this.setState({customValue:parseInt(e.target.value)})}),(0,s.A)(this,"onCustomBlur",async e=>{if(e.preventDefault(),e.stopPropagation(),Number.isFinite(this.state.customValue))try{await this.props.onChange(this.state.customValue,this.props.powerLevelKey)}catch{if(this.unmounted)return;this.initStateFromProps()}else this.initStateFromProps()}),(0,s.A)(this,"onCustomKeyDown",e=>{if((0,c.zM)().getAccessibilityAction(e)===l.bY.Enter)e.preventDefault(),e.stopPropagation(),e.target.blur()}),this.state={options:[],customValue:this.props.value,selectValue:0}}componentDidMount(){this.unmounted=!1,this.initStateFromProps()}componentDidUpdate(e){(0,d.No)(this.props,e)&&this.initStateFromProps()}componentWillUnmount(){this.unmounted=!0}initStateFromProps(){const e=i.x(this.props.usersDefault),t=Object.keys(e).filter(e=>void 0===e||parseInt(e)<=this.props.maxValue||parseInt(e)==this.props.value).map(e=>parseInt(e));(0,u.dc)(t,this.state.options)&&this.setState({options:t});const n=void 0===e[this.props.value];this.setState({custom:n,customValue:this.props.value,selectValue:n?m:this.props.value})}render(){let e;const t=void 0===this.props.label?(0,r._t)("power_level|label"):this.props.label;if(this.state.custom)e=o.createElement(a.A,{type:"number",label:t,max:this.props.maxValue,onBlur:this.onCustomBlur,onKeyDown:this.onCustomKeyDown,onChange:this.onCustomChange,value:String(this.state.customValue),disabled:this.props.disabled});else{const n=this.state.options.map(e=>({value:String(e),text:i.X(e,this.props.usersDefault)}));n.push({value:m,text:(0,r._t)("power_level|custom_level")});const s=n.map(e=>o.createElement("option",{value:e.value,key:e.value},e.text));e=o.createElement(a.A,{element:"select",label:t,onChange:this.onSelectChange,value:String(this.state.selectValue),disabled:this.props.disabled},s)}return o.createElement("div",{className:"mx_PowerSelector"},e)}}(0,s.A)(p,"defaultProps",{maxValue:1/0,usersDefault:0})},"./src/components/views/elements/ProgressBar.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/settings/SettingsStore.ts");const a=(...e)=>{r.A.getValue("debug_animation")&&i.vF.log.call(console,"Animation debuglog:",...e)};function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e,t,n){const o=(0,s.useRef)({timestamp:null,value:e}),[l,d]=(0,s.useState)(e),[u,m]=(0,s.useState)(0);(0,s.useEffect)(()=>{const e=t-o.current.value;m(e/n),o.current=c(c({},o.current),{},{timestamp:null})},[n,t]);const p=(0,s.useCallback)(e=>{if(!o.current.timestamp)return o.current=c(c({},o.current),{},{timestamp:e}),!0;if(Math.abs(u)<Number.EPSILON)return!1;const n=e-o.current.timestamp,s=u*n,a=t-o.current.value,l=Math.sign(s)*Math.min(Math.abs(a),Math.abs(s)),m=o.current.value+l;return((...e)=>{r.A.getValue("debug_animation")&&i.vF.log.call(console,"Animation debuglog:",...e)})(`Animating to ${t} at ${m} timeDelta=${n}, valueDelta=${s}`),d(m),o.current={value:m,timestamp:e},Math.abs(a)>Number.EPSILON},[u,t]);return function(e,t){const n=(0,s.useRef)(null),o=(0,s.useCallback)(e=>{t(e)?n.current=requestAnimationFrame(o):a("Finished animation!")},[t]);(0,s.useEffect)(()=>(a("Started animation!"),e&&(n.current=requestAnimationFrame(o)),()=>{n.current&&(a("Aborted animation!"),cancelAnimationFrame(n.current),n.current=null)}),[e,o])}(n>0,p),n>0?l:t}const u=({value:e,max:t,animated:n=!0})=>{const o=d(0,e,n?300:0);return s.createElement("progress",{className:"mx_ProgressBar",max:t,value:o})}},"./src/components/views/elements/QRCode.tsx"(e,t,n){"use strict";n.d(t,{A:()=>g});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/qrcode/lib/browser.js"),a=n("./node_modules/classnames/index.js"),l=n.n(a),c=n("./src/languageHandler.tsx"),d=n("./src/components/views/elements/Spinner.tsx");const u=["data","className"];function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const h={errorCorrectionLevel:"L"},g=e=>{let{data:t,className:n}=e,s=(0,o.A)(e,u);const[a,m]=i.useState(null);return i.useEffect(()=>{if(null===t)return void m(null);let e=!1;return(0,r.dY)(t,p(p({},h),s)).then(t=>{e||m(t)}),()=>{e=!0}},[JSON.stringify(t),s]),i.createElement("div",{className:l()("mx_QRCode",n)},a?i.createElement("img",{src:a,className:"mx_VerificationQRCode",alt:(0,c._t)("common|qr_code")}):i.createElement(d.A,null))}},"./src/components/views/elements/RoomAliasField.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/languageHandler.tsx"),a=n("./src/components/views/elements/Validation.tsx"),l=n("./src/components/views/elements/Field.tsx"),c=n("./src/contexts/MatrixClientContext.tsx");class d extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"fieldRef",(0,o.createRef)()),(0,s.A)(this,"onChange",e=>{var t,n;null===(t=(n=this.props).onChange)||void 0===t||t.call(n,this.asFullAlias(e.target.value))}),(0,s.A)(this,"onValidate",async e=>{const t=await this.validationRules(e);return this.setState({isValid:!!t.valid}),t}),(0,s.A)(this,"validationRules",(0,a.A)({rules:[{key:"hasDomain",test:async({value:e})=>!(e&&!this.props.domain)||!(e.split(":").length<2),invalid:()=>(0,r._t)("room_settings|general|alias_field_has_domain_invalid")},{key:"hasLocalpart",test:async({value:e})=>{if(!e||this.props.domain)return!0;const t=e.split(":");return t.length<2||!(t[0].length<1)},invalid:()=>(0,r._t)("room_settings|general|alias_field_has_localpart_invalid")},{key:"safeLocalpart",test:async({value:e})=>{if(!e)return!0;if(this.props.domain){const t=this.asFullAlias(e),n=!this.props.domain||!e.includes(":");return!e.includes("#")&&n&&!e.includes(",")&&encodeURI(t)===t}return!0},invalid:()=>(0,r._t)("room_settings|general|alias_field_safe_localpart_invalid")},{key:"required",test:async({value:e,allowEmpty:t})=>t||!!e,invalid:()=>(0,r._t)("room_settings|general|alias_field_required_invalid")},this.props.roomId?{key:"matches",final:!0,test:async({value:e})=>{if(!e)return!0;const t=this.context;try{return(await t.getRoomIdForAlias(this.asFullAlias(e))).room_id===this.props.roomId}catch(e){return console.log(e),!1}},invalid:()=>(0,r._t)("room_settings|general|alias_field_matches_invalid")}:{key:"taken",final:!0,test:async({value:e})=>{if(!e)return!0;const t=this.context;try{return await t.getRoomIdForAlias(this.asFullAlias(e)),!1}catch(e){return console.log(e),e instanceof i.MatrixError}},valid:()=>(0,r._t)("room_settings|general|alias_field_taken_valid"),invalid:()=>this.props.domain?(0,r._t)("room_settings|general|alias_field_taken_invalid_domain"):(0,r._t)("room_settings|general|alias_field_taken_invalid")}]})),this.state={isValid:!0}}asFullAlias(e){const t=`#${e}`;return this.props.domain?`${t}:${this.props.domain}`:t}get domainProps(){const{domain:e}=this.props,t=o.createElement("span",null,"#"),n=e?o.createElement("span",{title:`:${e}`},`:${e}`):o.createElement("span",null),s=e?255-e.length-2:254;return{prefix:t,postfix:n,value:e?this.props.value.substring(1,this.props.value.length-e.length-1):this.props.value.substring(1),maxlength:s}}render(){const{prefix:e,postfix:t,value:n,maxlength:s}=this.domainProps;return o.createElement(l.A,{label:this.props.label||(0,r._t)("room_settings|general|alias_heading"),className:"mx_RoomAliasField",prefixComponent:e,postfixComponent:t,ref:this.fieldRef,onValidate:this.onValidate,placeholder:this.props.placeholder||(0,r._t)("room_settings|general|alias_field_placeholder_default"),onChange:this.onChange,value:n,maxLength:s,disabled:this.props.disabled,autoComplete:"off",onKeyDown:this.props.onKeyDown})}get isValid(){return this.state.isValid}async validate(e){var t;const n=await(null===(t=this.fieldRef.current)||void 0===t?void 0:t.validate(e));return null!=n&&n}focus(){var e;null===(e=this.fieldRef.current)||void 0===e||e.focus()}}(0,s.A)(d,"contextType",c.Ay)},"./src/components/views/elements/SettingsFlag.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/randomstring.ts"),r=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/languageHandler.tsx"),d=n("./src/settings/Settings.tsx");class u extends o.Component{constructor(e){super(e),(0,s.A)(this,"id",`mx_SettingsFlag_${(0,i.US)(12)}`),(0,s.A)(this,"onSettingChange",()=>{this.setState({value:this.getSettingValue()})}),(0,s.A)(this,"onChange",async e=>{var t,n;const s=e.target.checked;try{await this.save(s)}catch(e){return void a.vF.info(`Failed to save setting ${this.props.name}`,e)}this.setState({value:s}),null===(t=(n=this.props).onChange)||void 0===t||t.call(n,s)}),(0,s.A)(this,"save",async e=>{var t;await l.A.setValue(this.props.name,null!==(t=this.props.roomId)&&void 0!==t?t:null,this.props.level,void 0!==e?e:this.state.value)}),this.state={value:this.getSettingValue()}}componentDidMount(){var e;d.WA.watchSetting(this.props.name,null!==(e=this.props.roomId)&&void 0!==e?e:null,this.onSettingChange)}componentWillUnmount(){d.WA.unwatchSetting(this.onSettingChange)}getSettingValue(){var e,t;return l.A.settingIsOveriddenAtConfigLevel(this.props.name,null!==(e=this.props.roomId)&&void 0!==e?e:null,this.props.level)?!!l.A.getValue(this.props.name):!!l.A.getValueAt(this.props.level,this.props.name,null!==(t=this.props.roomId)&&void 0!==t?t:null,this.props.isExplicit)}render(){var e,t;const n=!l.A.canSetValue(this.props.name,null!==(e=this.props.roomId)&&void 0!==e?e:null,this.props.level);if(n&&this.props.hideIfCannotSet)return null;const s=null!==(t=this.props.label)&&void 0!==t?t:l.A.getDisplayName(this.props.name,this.props.level),i=l.A.getDescription(this.props.name),a=l.A.shouldHaveWarning(this.props.name)?(0,c._t)("settings|warning",{},{w:e=>o.createElement("span",{className:"mx_SettingsTab_microcopy_warning"},e),description:i}):i,d=l.A.disabledMessage(this.props.name);return o.createElement(r.I,{id:this.id,checked:this.state.value,onChange:d?void 0:this.onChange,name:this.props.name,disabled:n,label:null!=s?s:this.props.name,helpMessage:a,disabledMessage:d})}}},"./src/components/views/elements/Spinner.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-web/dist/components/InlineSpinner/InlineSpinner.js"),r=n("./src/languageHandler.tsx");class a extends o.PureComponent{render(){const{size:e,message:t}=this.props;return o.createElement("div",{className:"mx_Spinner"},t&&o.createElement(o.Fragment,null,o.createElement("div",{className:"mx_Spinner_Msg"},t)," "),o.createElement(i.Z,{size:e,"aria-label":(0,r._t)("common|loading"),role:"progressbar"}))}}(0,s.A)(a,"defaultProps",{size:32})},"./src/components/views/elements/StyledCheckbox.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/matrix-js-sdk/src/randomstring.ts"),a=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),l=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/Checkbox/Checkbox.js"),c=n("./node_modules/@vector-im/compound-web/dist/components/Form/Message.js"),d=n("./node_modules/@vector-im/compound-web/dist/components/Form/InlineField.js"),u=n("./node_modules/@vector-im/compound-web/dist/components/Form/Label.js");const m=["id","children","className","inputRef","description"],p=e=>{let{id:t,children:n,className:p,inputRef:h,description:g}=e,v=(0,o.A)(e,m);const f=t||"checkbox_"+(0,r.US)(10),_=(0,i.useId)(),y=(0,i.useId)();return i.createElement(a.b,null,i.createElement(d.I,{className:p,name:_,control:i.createElement(l.O,(0,s.A)({ref:h,"aria-describedby":g?y:void 0,id:f},v))},n&&i.createElement(u.J,{htmlFor:f},n),g&&i.createElement(c.po,{id:y},g)))}},"./src/components/views/elements/StyledRadioButton.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),r=n("./node_modules/react/index.js"),a=n("./node_modules/classnames/index.js"),l=n.n(a);const c=["children","className","disabled","outlined","childrenInLabel","inputRef","icon"];class d extends r.PureComponent{render(){const e=this.props,{children:t,className:n,disabled:i,outlined:a,childrenInLabel:d,inputRef:u,icon:m}=e,p=(0,o.A)(e,c),h=l()("mx_StyledRadioButton",n,{mx_StyledRadioButton_disabled:i,mx_StyledRadioButton_enabled:!i,mx_StyledRadioButton_checked:this.props.checked,mx_StyledRadioButton_outlined:a}),g=r.createElement(r.Fragment,null,r.createElement("input",(0,s.A)({ref:u,type:"radio",disabled:i},p)),r.createElement("div",null,r.createElement("div",null,m)));return d?r.createElement("label",{className:h},g,r.createElement("div",{className:"mx_StyledRadioButton_content"},t),r.createElement("div",{className:"mx_StyledRadioButton_spacer"})):r.createElement("div",{className:h},r.createElement("label",{className:"mx_StyledRadioButton_innerLabel"},g),r.createElement("div",{className:"mx_StyledRadioButton_content"},t),r.createElement("div",{className:"mx_StyledRadioButton_spacer"}))}}(0,i.A)(d,"defaultProps",{className:"",childrenInLabel:!0})},"./src/components/views/elements/StyledRadioGroup.tsx"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./src/components/views/elements/StyledRadioButton.tsx");const a=function({name:e,definitions:t,value:n,className:o,outlined:a,disabled:l,onChange:c}){const d=e=>{c(e.target.value)};return s.createElement(s.Fragment,null,t.map(t=>{var c;const u=`${e}-${t.value}`;return s.createElement(s.Fragment,{key:t.value},s.createElement(r.A,{id:u,className:i()(o,t.className),onChange:d,checked:void 0!==t.checked?t.checked:t.value===n,name:e,value:t.value,disabled:null!==(c=t.disabled)&&void 0!==c?c:l,outlined:a,"aria-describedby":t.description?`${u}-description`:void 0},t.label),t.description?s.createElement("span",{id:`${u}-description`},t.description):null)}))}},"./src/components/views/elements/SyntaxHighlight.tsx"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/react/index.js"),o=n("./src/hooks/useAsyncMemo.ts");function i({children:e,language:t}){const i=(0,o.e)(async()=>{const{default:s}=await n.e(458).then(n.bind(n,"./node_modules/highlight.js/es/index.js"));return t?s.highlight(e,{language:t}):s.highlightAuto(e)},[t,e]);return s.createElement("pre",{className:`mx_SyntaxHighlight hljs language-${null==i?void 0:i.language}`},i?s.createElement("code",{dangerouslySetInnerHTML:{__html:i.value}}):e)}},"./src/components/views/elements/TextWithTooltip.tsx"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js");class i extends s.Component{render(){var e;const{className:t,children:n,tooltip:i,tooltipProps:r}=this.props;return s.createElement(o.m,{label:i,placement:"right"},s.createElement("span",{className:t,tabIndex:null!==(e=null==r?void 0:r.tabIndex)&&void 0!==e?e:0},n))}}},"./src/components/views/elements/TruncatedList.tsx"(e,t,n){"use strict";n.d(t,{A:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/languageHandler.tsx");class r extends o.Component{getChildren(e,t){return this.props.getChildren&&this.props.getChildCount?this.props.getChildren(e,t):o.Children.toArray(this.props.children).filter(e=>null!=e).slice(e,t)}getChildCount(){return this.props.getChildren&&this.props.getChildCount?this.props.getChildCount():o.Children.toArray(this.props.children).filter(e=>null!=e).length}render(){let e;const t=this.getChildCount();let n=t;if(this.props.truncateAt>=0){const s=t-this.props.truncateAt;s>1&&(e=this.props.createOverflowElement(s,t),n=this.props.truncateAt)}const s=this.getChildren(0,n);return o.createElement("div",{className:this.props.className,role:"list",id:this.props.id},s,e)}}(0,s.A)(r,"defaultProps",{truncateAt:2,createOverflowElement:(e,t)=>o.createElement("div",null,(0,i._t)("truncated_list_n_more",{count:e}))})},"./src/components/views/elements/Validation.tsx"(e,t,n){"use strict";n.d(t,{A:()=>c});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/memoize-one/dist/memoize-one.esm.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js");function c({description:e,hideDescriptionIfValid:t,deriveData:n,rules:o,memoize:c}){let m=async function(e,t){const n=[];let s=!0;for(const r of o){var i;if(!r.key||!r.test)continue;if(!s&&r.final)continue;if(null!==(i=r.skip)&&void 0!==i&&i.call(this,e,t))continue;const o=await r.test.call(this,e,t);if(s=s&&o,o&&r.valid){const e=r.valid.call(this,t);if(!e)continue;n.push({key:r.key,valid:!0,text:e})}else if(!o&&r.invalid){const e=r.invalid.call(this,t);if(!e)continue;n.push({key:r.key,valid:!1,text:e})}}return[s,n]};return c&&(n&&(n=(0,r.A)(n,d)),m=(0,r.A)(m,u)),async function({value:o,focused:r,allowEmpty:c=!0}){var d;if(!o&&c)return{};const u={value:o,allowEmpty:c},p=await(null===(d=n)||void 0===d?void 0:d.call(this,u)),[h,g]=await m.call(this,u,p);if(!r)return{valid:h};let v,f,_;if(g&&g.length&&(v=s.createElement("ul",{className:"mx_Validation_details"},g.map(e=>{const t=i()({mx_Validation_detail:!0,mx_Validation_valid:e.valid,mx_Validation_invalid:!e.valid});return s.createElement("li",{key:e.key,className:t},e.valid?s.createElement(a.A,null):s.createElement(l.A,null),e.text)}))),e&&(v||!t)){const t=e.call(this,p,g);f=t?s.createElement("div",{className:"mx_Validation_description"},t):void 0}return(f||v)&&(_=s.createElement("div",{className:"mx_Validation"},f,v)),{valid:h,feedback:_}}}function d([e],[t]){return e.value===t.value&&e.allowEmpty===t.allowEmpty}function u([e,t],[n,s]){return t===s&&d([e],[n])}},"./src/components/views/emojipicker/EmojiPicker.tsx"(e,t,n){"use strict";n.d(t,{rE:()=>U,N2:()=>L,d2:()=>F,Ay:()=>V});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@matrix-org/emojibase-bindings/build/emoji.js"),r=n("./packages/shared-components/dist/element-web-shared-components.js"),a=n("./node_modules/classnames/index.js"),l=n.n(a),c=n("./src/languageHandler.tsx"),d=n("./src/emojipicker/recent.ts"),u=n("./src/components/structures/AutoHideScrollbar.tsx"),m=n("./src/KeyBindingsManager.ts"),p=n("./src/accessibility/KeyboardShortcuts.ts");class h extends o.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"onKeyDown",e=>{let t=!0;switch((0,m.zM)().getAccessibilityAction(e)){case p.bY.ArrowLeft:this.changeCategoryRelative(-1);break;case p.bY.ArrowRight:this.changeCategoryRelative(1);break;case p.bY.Home:this.changeCategoryAbsolute(0);break;case p.bY.End:this.changeCategoryAbsolute(this.props.categories.length-1,-1);break;default:t=!1}t&&(e.preventDefault(),e.stopPropagation())})}findNearestEnabled(e,t){e+=this.props.categories.length;const n=[...this.props.categories,...this.props.categories,...this.props.categories];for(;e<n.length&&e>=0;){if(n[e].enabled)return e%this.props.categories.length;e+=t>0?1:-1}}changeCategoryRelative(e){const t=this.props.categories.findIndex(e=>e.visible);this.changeCategoryAbsolute(t+e,e)}changeCategoryAbsolute(e,t=1){const n=this.props.categories[this.findNearestEnabled(e,t)];var s;n&&(this.props.onAnchorClick(n.id),null===(s=n.ref.current)||void 0===s||s.focus())}render(){return o.createElement("nav",{className:"mx_EmojiPicker_header",role:"tablist","aria-label":(0,c._t)("emoji|categories"),onKeyDown:this.onKeyDown},this.props.categories.map(e=>{const t=l()("mx_EmojiPicker_anchor",{mx_EmojiPicker_anchor_visible:e.visible});return o.createElement("button",{disabled:!e.enabled,key:e.id,ref:e.ref,className:t,onClick:()=>this.props.onAnchorClick(e.id),title:e.name,role:"tab",tabIndex:e.firstVisible?0:-1,"aria-selected":e.visible,"aria-controls":`mx_EmojiPicker_category_${e.id}`},e.emoji)}))}}const g=h;var v=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),f=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/search.js"),_=n("./src/accessibility/RovingTabIndex.tsx");class y extends o.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"inputRef",o.createRef()),(0,s.A)(this,"onKeyDown",e=>{if((0,m.zM)().getAccessibilityAction(e)===p.bY.Enter)this.props.onEnter(),e.stopPropagation(),e.preventDefault();else this.props.onKeyDown(e)})}componentDidMount(){window.setTimeout(()=>{var e;return null===(e=this.inputRef.current)||void 0===e?void 0:e.focus()},0)}render(){var e;let t;return t=this.props.query?o.createElement("button",{onClick:()=>this.props.onChange(""),className:"mx_EmojiPicker_search_clear",title:(0,c._t)("emoji_picker|cancel_search_label")},o.createElement(v.A,null)):o.createElement("span",{className:"mx_EmojiPicker_search_icon"},o.createElement(f.A,null)),o.createElement("div",{className:"mx_EmojiPicker_search"},o.createElement("input",{autoFocus:!0,type:"text",placeholder:(0,c._t)("action|search"),"aria-label":(0,c._t)("action|search"),value:this.props.query,onChange:e=>this.props.onChange(e.target.value),onKeyDown:this.onKeyDown,ref:this.inputRef,"aria-activedescendant":this.props.query?null===(e=this.context.state.activeNode)||void 0===e?void 0:e.id:void 0,"aria-controls":"mx_EmojiPicker_body","aria-haspopup":"grid","aria-autocomplete":"list"}),t)}}(0,s.A)(y,"contextType",_.ui);const b=y;class w extends o.PureComponent{render(){const{unicode:e,label:t,shortcodes:[n]}=this.props.emoji;return o.createElement("div",{className:"mx_EmojiPicker_footer mx_EmojiPicker_preview"},o.createElement("div",{className:"mx_EmojiPicker_preview_emoji"},e),o.createElement("div",{className:"mx_EmojiPicker_preview_text"},o.createElement("div",{className:"mx_EmojiPicker_name mx_EmojiPicker_preview_name"},t),o.createElement("div",{className:"mx_EmojiPicker_shortcode"},n)))}}const E=w;class A extends o.PureComponent{render(){const{onClick:e,onMouseEnter:t,onMouseLeave:n,emoji:s,selectedEmojis:i}=this.props,r=null==i?void 0:i.has(s.unicode);return o.createElement(_.k,{id:this.props.id,onClick:t=>e(t,s),onMouseEnter:()=>t(s),onMouseLeave:()=>n(s),className:this.props.className,disabled:this.props.disabled||void 0,role:i?"checkbox":void 0,"aria-checked":this.props.disabled?void 0:r,focusOnMouseOver:!0},o.createElement("div",{className:"mx_EmojiPicker_item "+(r?"mx_EmojiPicker_item_selected":"")},s.unicode))}}const x=A;var S=n("./src/accessibility/Toolbar.tsx");const C=["👍","👎","😄","🎉","😕","❤️","🚀","👀"].map(e=>{const t=(0,i.getEmojiFromUnicode)(e);if(!t)throw new Error(`Emoji ${e} doesn't exist in emojibase`);return t});class k extends o.Component{constructor(e){super(e),(0,s.A)(this,"onMouseEnter",e=>{this.setState({hover:e})}),(0,s.A)(this,"onMouseLeave",()=>{this.setState({hover:void 0})}),this.state={}}render(){return o.createElement("section",{className:"mx_EmojiPicker_footer mx_EmojiPicker_quick mx_EmojiPicker_category"},o.createElement("h2",{className:"mx_EmojiPicker_quick_header mx_EmojiPicker_category_label"},this.state.hover?o.createElement(o.Fragment,null,o.createElement("span",{className:"mx_EmojiPicker_name"},this.state.hover.label),o.createElement("span",{className:"mx_EmojiPicker_shortcode"},this.state.hover.shortcodes[0])):(0,c._t)("emoji|quick_reactions")),o.createElement(S.A,{className:"mx_EmojiPicker_list","aria-label":(0,c._t)("emoji|quick_reactions")},C.map(e=>o.createElement(x,{key:e.hexcode,emoji:e,onClick:this.props.onClick,onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,selectedEmojis:this.props.selectedEmojis,className:"mx_EmojiPicker_item_wrapper"}))))}}const R=k;var I=n("./src/components/views/elements/LazyRenderList.tsx");function P(e){let t,n,s="";for(n=0;n<e.length;n++)t=e.charCodeAt(n).toString(16),s+=("000"+t).slice(-4);return s}class T extends o.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"renderEmojiRow",e=>{const{onClick:t,onMouseEnter:n,onMouseLeave:s,selectedEmojis:i,emojis:r}=this.props,a=r.slice(8*e,8*(e+1));return o.createElement("div",{key:e,role:"row"},a.map(e=>{var r,a;return o.createElement("div",{role:"gridcell",className:"mx_EmojiPicker_item_wrapper",key:e.hexcode},o.createElement(x,{emoji:e,selectedEmojis:i,onClick:t,onMouseEnter:n,onMouseLeave:s,disabled:null===(r=(a=this.props).isEmojiDisabled)||void 0===r?void 0:r.call(a,e.unicode),id:`mx_EmojiPicker_item_${this.props.id}_${P(e.unicode)}`}))}))})}render(){const{emojis:e,name:t,heightBefore:n,viewportHeight:s,scrollTop:i}=this.props;if(!e||0===e.length)return null;const r=new Array(Math.ceil(e.length/L));for(let e=0;e<r.length;++e)r[e]=e;const a=i,l=a+s,c=n+U,d=c+r.length*F,u=Math.max(a,c),m=Math.min(l,d),p=Math.max(0,m-u),h=Math.max(0,i-c);return o.createElement("section",{id:`mx_EmojiPicker_category_${this.props.id}`,className:"mx_EmojiPicker_category","data-category-id":this.props.id,role:"tabpanel","aria-label":t},o.createElement("h2",{className:"mx_EmojiPicker_category_label"},t),o.createElement(I.A,{className:"mx_EmojiPicker_list",itemHeight:F,items:r,scrollTop:h,height:p,overflowItems:3,overflowMargin:0,renderItem:this.renderEmojiRow,role:"grid","aria-multiselectable":!0}))}}const O=T;var M=n("./src/utils/arrays.ts"),N=n("./src/Keyboard.ts");function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function D(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const U=20,F=35,L=8;class B extends o.Component{constructor(e){super(e),(0,s.A)(this,"recentlyUsed",void 0),(0,s.A)(this,"memoizedDataByCategory",void 0),(0,s.A)(this,"categories",void 0),(0,s.A)(this,"scrollRef",o.createRef()),(0,s.A)(this,"onScroll",()=>{var e;const t=null===(e=this.scrollRef.current)||void 0===e?void 0:e.containerRef.current;t&&(this.setState({scrollTop:t.scrollTop,viewportHeight:t.clientHeight}),this.updateVisibility())}),(0,s.A)(this,"onKeyDown",(e,t,n)=>{if(t.activeNode&&[N.Uz.ARROW_DOWN,N.Uz.ARROW_RIGHT,N.Uz.ARROW_LEFT,N.Uz.ARROW_UP].includes(e.key)){if(!this.state.showHighlight)return this.setState({showHighlight:!0}),t.nodes.length>0&&n({type:_.ZU.SetFocus,payload:{node:t.nodes[0]}}),e.preventDefault(),void e.stopPropagation();this.keyboardNavigation(e,t,n)}}),(0,s.A)(this,"updateVisibility",()=>{var e;const t=null===(e=this.scrollRef.current)||void 0===e?void 0:e.containerRef.current;if(!t)return;const n=t.getBoundingClientRect();let s=!1;for(const e of this.categories){const i=t.querySelector(`[data-category-id="${e.id}"]`);if(!i){var o;e.visible=!1,null===(o=e.ref.current)||void 0===o||o.classList.remove("mx_EmojiPicker_anchor_visible");continue}const r=i.getBoundingClientRect(),a=r.y-n.y,l=r.y+r.height-n.y;e.visible=a<n.height&&l>0,e.visible&&!s?(s=!0,e.firstVisible=!0):e.firstVisible=!1,e.ref.current&&(e.visible?(e.ref.current.classList.add("mx_EmojiPicker_anchor_visible"),e.ref.current.setAttribute("aria-selected","true")):(e.ref.current.classList.remove("mx_EmojiPicker_anchor_visible"),e.ref.current.setAttribute("aria-selected","false")),e.firstVisible?e.ref.current.setAttribute("tabindex","0"):e.ref.current.setAttribute("tabindex","-1"))}}),(0,s.A)(this,"scrollToCategory",e=>{var t;null===(t=this.scrollRef.current)||void 0===t||null===(t=t.containerRef.current)||void 0===t||null===(t=t.querySelector(`[data-category-id="${e}"]`))||void 0===t||t.scrollIntoView()}),(0,s.A)(this,"onChangeFilter",e=>{const t=e.toLowerCase().trim();t&&!this.state.showHighlight?this.setState({showHighlight:!0}):!t&&this.state.showHighlight&&this.setState({showHighlight:!1});for(const e of this.categories){let n;n=t.includes(this.state.filter)?this.memoizedDataByCategory[e.id]:"recent"===e.id?this.recentlyUsed:i.DATA_BY_CATEGORY[e.id],""!==t&&(n=n.filter(e=>this.emojiMatchesFilter(e,t)),n=[...n].sort((e,n)=>{const s=e.shortcodes[0].indexOf(t),o=n.shortcodes[0].indexOf(t);return-1==s||-1==o?o-s:0==s&&0==o?e.shortcodes[0].length-n.shortcodes[0].length:s-o})),this.memoizedDataByCategory[e.id]=n,e.enabled=n.length>0,e.ref.current&&(e.ref.current.disabled=!e.enabled)}this.setState({filter:e}),window.setTimeout(this.updateVisibility,0)}),(0,s.A)(this,"emojiMatchesFilter",(e,t)=>{var n;return t.includes("")&&(t=t.split("",2)[0]),e.label.toLowerCase().includes(t)||(Array.isArray(e.emoticon)?e.emoticon.some(e=>e.includes(t)):null===(n=e.emoticon)||void 0===n?void 0:n.includes(t))||e.shortcodes.some(e=>e.toLowerCase().includes(t))||e.unicode.split("").includes(t)}),(0,s.A)(this,"onEnterFilter",()=>{var e;if(!this.state.showHighlight)return;const t=null===(e=this.scrollRef.current)||void 0===e||null===(e=e.containerRef.current)||void 0===e?void 0:e.querySelector('.mx_EmojiPicker_item_wrapper [tabindex="0"]');null==t||t.click(),this.props.onFinished()}),(0,s.A)(this,"onHoverEmoji",e=>{this.setState({previewEmoji:e})}),(0,s.A)(this,"onHoverEmojiEnd",()=>{this.setState({previewEmoji:void 0})}),(0,s.A)(this,"onClickEmoji",(e,t)=>{!1!==this.props.onChoose(t.unicode)&&d.W(t.unicode),e.key===N.Uz.ENTER&&this.props.onFinished()}),this.state={filter:"",scrollTop:0,viewportHeight:280,showHighlight:!1},this.recentlyUsed=Array.from(new Set((0,M.Bo)(d.J().map(i.getEmojiFromUnicode)))),this.memoizedDataByCategory=D({recent:this.recentlyUsed},i.DATA_BY_CATEGORY);const t=this.recentlyUsed.length>0,n=[{id:"recent",name:(0,c._t)("emoji|category_frequently_used"),emoji:"🕒"},{id:"people",name:(0,c._t)("emoji|category_smileys_people"),emoji:"😀"},{id:"nature",name:(0,c._t)("emoji|category_animals_nature"),emoji:"🐕"},{id:"foods",name:(0,c._t)("emoji|category_food_drink"),emoji:"🍎"},{id:"activity",name:(0,c._t)("emoji|category_activities"),emoji:"⚽️"},{id:"places",name:(0,c._t)("emoji|category_travel_places"),emoji:"🚗"},{id:"objects",name:(0,c._t)("emoji|category_objects"),emoji:"💡"},{id:"symbols",name:(0,c._t)("emoji|category_symbols"),emoji:"⁉️"},{id:"flags",name:(0,c._t)("emoji|category_flags"),emoji:"🏁"}];this.categories=n.map(e=>{let n=!0,s=!1,i=!1;return"recent"===e.id?(n=t,s=t,i=t):"people"===e.id&&(s=!0,i=!t),D(D({},e),{},{enabled:n,visible:s,firstVisible:i,ref:o.createRef()})})}getRow(e){var t,n;return null!==(t=null===(n=this.getGridcell(e))||void 0===n?void 0:n.parentElement)&&void 0!==t?t:void 0}getGridcell(e){var t;return null!==(t=null==e?void 0:e.parentElement)&&void 0!==t?t:void 0}getRovingNode(e){return null==e?void 0:e.children[0]}keyboardNavigation(e,t,n){const s=this.getRow(t.activeNode),o=this.getGridcell(t.activeNode);if(!s||!o||!t.activeNode)return;const i=Array.from(s.children).indexOf(o),a=t.nodes.indexOf(t.activeNode);let l,c;switch(e.key){case N.Uz.ARROW_LEFT:l=t.nodes[a-1],c=this.getRow(l);break;case N.Uz.ARROW_RIGHT:l=t.nodes[a+1],c=this.getRow(l);break;case N.Uz.ARROW_UP:case N.Uz.ARROW_DOWN:{const n=e.key===N.Uz.ARROW_UP?t.nodes[a-i-1]:t.nodes[a-i+L];if(c=this.getRow(n),c){var d;const e=(0,r.qE)(i,0,c.children.length-1),n=this.getRovingNode(null===(d=c)||void 0===d?void 0:d.children[e]);l=t.nodes.find(e=>e===n)}break}}if(l){var u,m;if(document.activeElement!==document.querySelector(".mx_EmojiPicker_search input"))null===(u=l)||void 0===u||u.focus();if(n({type:_.ZU.SetFocus,payload:{node:l}}),s!==c)null===(m=l)||void 0===m||m.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}e.preventDefault(),e.stopPropagation()}static categoryHeightForEmojiCount(e){return 0===e?0:U+Math.ceil(e/L)*F}render(){return o.createElement(_.Se,{onKeyDown:this.onKeyDown},({onKeyDownHandler:e})=>{let t=0;return o.createElement("section",{className:"mx_EmojiPicker",onKeyDown:e,"aria-label":(0,c._t)("a11y|emoji_picker")},o.createElement(g,{categories:this.categories,onAnchorClick:this.scrollToCategory}),o.createElement(b,{query:this.state.filter,onChange:this.onChangeFilter,onEnter:this.onEnterFilter,onKeyDown:e}),o.createElement(u.A,{id:"mx_EmojiPicker_body",className:l()("mx_EmojiPicker_body",{mx_EmojiPicker_body_showHighlight:this.state.showHighlight}),ref:this.scrollRef,onScroll:this.onScroll},this.categories.map(e=>{const n=this.memoizedDataByCategory[e.id],s=o.createElement(O,{key:e.id,id:e.id,name:e.name,heightBefore:t,viewportHeight:this.state.viewportHeight,scrollTop:this.state.scrollTop,emojis:n,onClick:this.onClickEmoji,onMouseEnter:this.onHoverEmoji,onMouseLeave:this.onHoverEmojiEnd,isEmojiDisabled:this.props.isEmojiDisabled,selectedEmojis:this.props.selectedEmojis}),i=B.categoryHeightForEmojiCount(n.length);return t+=i,s})),this.state.previewEmoji?o.createElement(E,{emoji:this.state.previewEmoji}):o.createElement(R,{onClick:this.onClickEmoji,selectedEmojis:this.props.selectedEmojis}))})}}const V=B},"./src/components/views/emojipicker/ReactionPicker.tsx"(e,t,n){"use strict";n.d(t,{A:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/components/views/emojipicker/EmojiPicker.tsx"),a=n("./src/MatrixClientPeg.ts"),l=n("./src/dispatcher/dispatcher.ts"),c=n("./src/dispatcher/actions.ts"),d=n("./src/contexts/RoomContext.ts");class u extends o.Component{constructor(e){super(e),(0,s.A)(this,"onReactionsChange",()=>{this.setState({selectedEmojis:new Set(Object.keys(this.getReactions()))})}),(0,s.A)(this,"onChoose",e=>{this.componentWillUnmount(),this.props.onFinished();const t=this.getReactions();return t.hasOwnProperty(e)?(this.props.mxEvent.isRedacted()||!this.context.canSelfRedact||(a.J.safeGet().redactEvent(this.props.mxEvent.getRoomId(),t[e]),l.A.dispatch({action:c.r.FocusAComposer,context:this.context.timelineRenderingType})),!1):(a.J.safeGet().sendEvent(this.props.mxEvent.getRoomId(),i.EventType.Reaction,{"m.relates_to":{rel_type:i.RelationType.Annotation,event_id:this.props.mxEvent.getId(),key:e}}),l.A.dispatch({action:"message_sent"}),l.A.dispatch({action:c.r.FocusAComposer,context:this.context.timelineRenderingType}),!0)}),(0,s.A)(this,"isEmojiDisabled",e=>!!this.getReactions()[e]&&!this.context.canSelfRedact),this.state={selectedEmojis:new Set(Object.keys(this.getReactions()))}}componentDidMount(){this.addListeners()}componentDidUpdate(e){e.reactions!==this.props.reactions&&(this.addListeners(),this.onReactionsChange())}addListeners(){this.props.reactions&&(this.props.reactions.on(i.RelationsEvent.Add,this.onReactionsChange),this.props.reactions.on(i.RelationsEvent.Remove,this.onReactionsChange),this.props.reactions.on(i.RelationsEvent.Redaction,this.onReactionsChange))}componentWillUnmount(){this.props.reactions&&(this.props.reactions.removeListener(i.RelationsEvent.Add,this.onReactionsChange),this.props.reactions.removeListener(i.RelationsEvent.Remove,this.onReactionsChange),this.props.reactions.removeListener(i.RelationsEvent.Redaction,this.onReactionsChange))}getReactions(){var e,t;if(!this.props.reactions)return{};const n=a.J.safeGet().getSafeUserId(),s=null!==(e=null===(t=this.props.reactions.getAnnotationsBySender())||void 0===t?void 0:t[n])&&void 0!==e?e:new Set;return Object.fromEntries([...s].filter(e=>!e.isRedacted()).map(e=>{var t;return[null===(t=e.getRelation())||void 0===t?void 0:t.key,e.getId()]}))}render(){return o.createElement(r.Ay,{onChoose:this.onChoose,isEmojiDisabled:this.isEmojiDisabled,onFinished:this.props.onFinished,selectedEmojis:this.state.selectedEmojis})}}(0,s.A)(u,"contextType",d.Ay);const m=u},"./src/components/views/location/MapError.tsx"(e,t,n){"use strict";n.d(t,{p:()=>u});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error.js"),a=n("./src/languageHandler.tsx"),l=n("./src/utils/location/index.ts"),c=n("./src/components/views/elements/AccessibleButton.tsx"),d=n("./src/components/views/typography/Heading.tsx");const u=({error:e,isMinimised:t,className:n,onFinished:o,onClick:u})=>s.createElement("div",{className:i()("mx_MapError",n,{mx_MapError_isMinimised:t}),onClick:u},s.createElement(r.A,{className:"mx_MapError_icon"}),s.createElement(d.A,{className:"mx_MapError_heading",size:"3"},(0,a._t)("location_sharing|failed_load_map")),s.createElement("p",{className:"mx_MapError_message"},(0,l.CZ)(e)),o&&s.createElement(c.A,{element:"button",kind:"primary",onClick:o},(0,a._t)("action|ok")))},"./src/components/views/location/MapFallback.tsx"(e,t,n){"use strict";n.d(t,{A:()=>v});var s,o,i=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),r=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),a=n("./node_modules/react/index.js"),l=n("./node_modules/classnames/index.js"),c=n.n(l),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/location-pin-solid.js");function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},u.apply(null,arguments)}var m=function(e,t){return a.createElement("svg",u({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 848 556",role:"presentation","aria-hidden":!0,ref:t},e),a.createElement("mask",{id:"map_svg__a",width:848,height:556,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},s||(s=a.createElement("path",{fill:"currentColor",d:"M0 0h847.147v555.685H0z"}))),o||(o=a.createElement("g",{mask:"url(#map_svg__a)"},a.createElement("circle",{cx:424.936,cy:277.842,r:495.758}),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M424.935 874.689c329.63 0 596.845-267.217 596.845-596.847S754.565-319.005 424.935-319.005c-329.629 0-596.846 267.218-596.846 596.847 0 329.63 267.217 596.847 596.846 596.847M-46.544 6.905 920.48 442.347l-47.338 105.126-434.953-195.856-219.202 482.882-104.982-47.656L333.061 304.28-93.881 112.031z",clipRule:"evenodd"}))))},p=(0,a.forwardRef)(m);var h=n("./src/components/views/elements/Spinner.tsx");const g=["className","isLoading","children"],v=e=>{let{className:t,isLoading:n,children:s}=e,o=(0,r.A)(e,g);return a.createElement("div",(0,i.A)({className:c()("mx_MapFallback",t)},o),a.createElement(p,{className:"mx_MapFallback_bg"}),n?a.createElement(h.A,{size:32}):a.createElement(d.A,{className:"mx_MapFallback_icon"}),s)}},"./src/components/views/location/index.tsx"(e,t,n){"use strict";n.d(t,{He:()=>m,T5:()=>r,U3:()=>l,Uo:()=>d});var s=n("./node_modules/react/index.js"),o=n("./src/components/views/elements/Spinner.tsx");const i=(0,s.lazy)(()=>Promise.all([n.e(927),n.e(395)]).then(n.bind(n,"./src/components/views/location/Map.tsx")));function r(e){return s.createElement(s.Suspense,{fallback:s.createElement(o.A,null)},s.createElement(i,e))}const a=(0,s.lazy)(()=>Promise.all([n.e(927),n.e(8227)]).then(n.bind(n,"./src/components/views/location/SmartMarker.tsx")));function l(e){return s.createElement(s.Suspense,{fallback:s.createElement(o.A,null)},s.createElement(a,e))}const c=(0,s.lazy)(()=>Promise.all([n.e(927),n.e(9483),n.e(1422)]).then(n.bind(n,"./src/components/views/location/LocationButton.tsx")));function d(e){return s.createElement(s.Suspense,{fallback:s.createElement(o.A,null)},s.createElement(c,e))}const u=(0,s.lazy)(()=>Promise.all([n.e(927),n.e(4006)]).then(n.bind(n,"./src/components/views/location/LocationViewDialog.tsx")));function m(e){return s.createElement(s.Suspense,{fallback:s.createElement(o.A,null)},s.createElement(u,e))}},"./src/components/views/messages/DateSeparator.tsx"(e,t,n){"use strict";n.d(t,{A:()=>I});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./node_modules/lodash/capitalize.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-down.js"),d=n("./packages/shared-components/dist/element-web-shared-components.js"),u=n("./src/languageHandler.tsx"),m=n("./src/DateUtils.ts"),p=n("./src/MatrixClientPeg.ts"),h=n("./src/dispatcher/dispatcher.ts"),g=n("./src/dispatcher/actions.ts"),v=n("./src/settings/SettingsStore.ts"),f=n("./src/settings/UIFeature.ts"),_=n("./src/Modal.tsx"),y=n("./src/components/views/dialogs/ErrorDialog.tsx"),b=n("./src/components/views/dialogs/BugReportDialog.tsx"),w=n("./src/components/views/elements/AccessibleButton.tsx"),E=n("./src/components/views/rooms/RoomTile.tsx"),A=n("./src/components/structures/ContextMenu.tsx"),x=n("./src/components/views/context_menus/IconizedContextMenu.tsx"),S=n("./src/components/views/elements/Field.tsx"),C=n("./src/accessibility/RovingTabIndex.tsx");const k=({ts:e,onDatePicked:t})=>{const n=new Date(e),s=(0,m.rm)(n),[o,r]=(0,i.useState)(s),[a,l,c]=(0,C.A9)(),d=e=>{e.preventDefault(),t(o)};return i.createElement("form",{className:"mx_JumpToDatePicker_form",onSubmit:d},i.createElement("span",{className:"mx_JumpToDatePicker_label"},(0,u._t)("room|jump_to_date")),i.createElement(S.A,{element:"input",type:"date",onInput:e=>r(e.currentTarget.value),value:o,max:(0,m.rm)(new Date),className:"mx_JumpToDatePicker_datePicker",label:(0,u._t)("room|jump_to_date_prompt"),onFocus:a,inputRef:c,tabIndex:l?0:-1}),i.createElement(C.k,{element:"button",type:"submit",kind:"primary",className:"mx_JumpToDatePicker_submitButton",onClick:d},(0,u._t)("action|go")))};var R=n("./src/contexts/RoomContext.ts");class I extends i.Component{constructor(e){super(e),(0,o.A)(this,"settingWatcherRef",void 0),(0,o.A)(this,"onContextMenuOpenClick",e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this.setState({contextMenuPosition:t.getBoundingClientRect()})}),(0,o.A)(this,"onContextMenuCloseClick",()=>{this.closeMenu()}),(0,o.A)(this,"closeMenu",()=>{this.setState({contextMenuPosition:void 0})}),(0,o.A)(this,"pickDate",async e=>{const t=new Date(e).getTime(),n=this.props.roomId;try{const e=p.J.safeGet(),{event_id:s,origin_server_ts:o}=await e.timestampToEvent(n,t,r.Direction.Forward);a.vF.log(`/timestamp_to_event: found ${s} (${o}) for timestamp=${t} (looking forward)`);const i=this.context.roomViewStore.getRoomId();i===n?h.A.dispatch({action:g.r.ViewRoom,event_id:s,highlighted:!0,room_id:n,metricsTrigger:void 0}):a.vF.debug(`No longer navigating to date in room (jump to date) because the user already switched to another room: currentRoomId=${i}, roomIdForJumpRequest=${n}`)}catch(e){a.vF.error(`Error occured while trying to find event in ${n} at timestamp=${t}:`,e);if(this.context.roomViewStore.getRoomId()===n){let n="An error occured while trying to find and jump to the given date.",s=i.createElement(i.Fragment,null);e instanceof r.ConnectionError?n=(0,u._t)("room|error_jump_to_date_connection"):e instanceof r.MatrixError?n="M_NOT_FOUND"===(null==e?void 0:e.errcode)?(0,u._t)("room|error_jump_to_date_not_found",{dateString:(0,m.ej)(new Date(t))}):(0,u._t)("room|error_jump_to_date",{statusCode:(null==e?void 0:e.httpStatus)||(0,u._t)("room|unknown_status_code_for_timeline_jump"),errorCode:(null==e?void 0:e.errcode)||(0,u._t)("common|unavailable")}):e instanceof r.HTTPError?n=e.message:s=i.createElement("p",null,(0,u._t)("room|error_jump_to_date_send_logs_prompt",{},{debugLogsLink:t=>i.createElement(w.A,{element:"a",kind:"link",onClick:()=>this.onBugReport(e instanceof Error?e:void 0)},t)})),_.Ay.createDialog(y.A,{title:(0,u._t)("room|error_jump_to_date_title"),description:i.createElement("div",null,i.createElement("p",null,n),s,i.createElement("details",null,i.createElement("summary",null,(0,u._t)("room|error_jump_to_date_details")),i.createElement("p",null,String(e))))})}}}),(0,o.A)(this,"onBugReport",e=>{_.Ay.createDialog(b.A,{error:e,initialText:"Error occured while using jump to date #jump-to-date"})}),(0,o.A)(this,"onLastWeekClicked",()=>{const e=new Date;e.setDate(e.getDate()-7),this.pickDate(e),this.closeMenu()}),(0,o.A)(this,"onLastMonthClicked",()=>{const e=new Date;e.setMonth(e.getMonth()-1,1),this.pickDate(e),this.closeMenu()}),(0,o.A)(this,"onTheBeginningClicked",()=>{const e=new Date(0);this.pickDate(e),this.closeMenu()}),(0,o.A)(this,"onDatePicked",e=>{this.pickDate(e),this.closeMenu()}),this.state={jumpToDateEnabled:v.A.getValue("feature_jump_to_date")}}componentDidMount(){this.settingWatcherRef=v.A.watchSetting("feature_jump_to_date",null,(e,t,n,s,o)=>{this.setState({jumpToDateEnabled:o})})}componentWillUnmount(){v.A.unwatchSetting(this.settingWatcherRef)}get relativeTimeFormat(){return new Intl.RelativeTimeFormat((0,u.mf)(),{style:"long",numeric:"auto"})}getLabel(){try{const e=new Date(this.props.ts),t=!v.A.getValue(f.f.TimelineEnableRelativeDates);if(this.props.forExport||t)return(0,m.VG)(e);const n=new Date,s=new Date,o=(0,m.F0)("long");return s.setDate(n.getDate()-1),e.toDateString()===n.toDateString()?this.relativeTimeFormat.format(0,"day"):e.toDateString()===s.toDateString()?this.relativeTimeFormat.format(-1,"day"):n.getTime()-e.getTime()<5184e5?o[e.getDay()]:(0,m.VG)(e)}catch{return(0,u._t)("common|message_timestamp_invalid")}}renderJumpToDateMenu(){let e;if(this.state.contextMenuPosition){const t=this.relativeTimeFormat;e=i.createElement(x.Ay,(0,s.A)({},(0,E._)(this.state.contextMenuPosition),{onFinished:this.onContextMenuCloseClick}),i.createElement(x.tx,{first:!0},i.createElement(x.R$,{label:(0,l.A)(t.format(-1,"week")),onClick:this.onLastWeekClicked}),i.createElement(x.R$,{label:(0,l.A)(t.format(-1,"month")),onClick:this.onLastMonthClicked}),i.createElement(x.R$,{label:(0,u._t)("room|jump_to_date_beginning"),onClick:this.onTheBeginningClicked})),i.createElement(x.tx,null,i.createElement(k,{ts:this.props.ts,onDatePicked:this.onDatePicked})))}return i.createElement(A.oW,{className:"mx_DateSeparator_jumpToDateMenu mx_DateSeparator_dateContent",onClick:this.onContextMenuOpenClick,isExpanded:!!this.state.contextMenuPosition,title:(0,u._t)("room|jump_to_date")},i.createElement("h2",{className:"mx_DateSeparator_dateHeading","aria-hidden":"true"},this.getLabel()),i.createElement(c.A,{className:"mx_DateSeparator_chevron"}),e)}render(){const e=this.getLabel();let t;return t=this.state.jumpToDateEnabled&&!this.props.forExport?this.renderJumpToDateMenu():i.createElement("div",{className:"mx_DateSeparator_dateContent"},i.createElement("h2",{className:"mx_DateSeparator_dateHeading","aria-hidden":"true"},e)),i.createElement(d.nn,{label:e,className:"mx_TimelineSeparator"},t)}}(0,o.A)(I,"contextType",R.Ay)},"./src/components/views/messages/EncryptionEvent.tsx"(e,t,n){"use strict";n.d(t,{A:()=>h});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error-solid.js"),i=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock-solid.js"),r=n("./packages/shared-components/dist/element-web-shared-components.js"),a=n("./src/languageHandler.tsx"),l=n("./src/contexts/MatrixClientContext.tsx"),c=n("./src/utils/DMRoomMap.ts"),d=n("./src/utils/objects.ts"),u=n("./src/utils/localRoom/isLocalRoom.ts"),m=n("./src/utils/crypto/index.ts"),p=n("./src/hooks/useIsEncrypted.ts");const h=({mxEvent:e,timestamp:t,ref:n})=>{const h=(0,l.nH)(),g=e.getRoomId(),v=(0,p.g)(h,h.getRoom(g)||void 0),f=e.getPrevContent(),_=e.getContent();if(!(0,d.No)(f,_))return null;if(_.algorithm===m.Q&&v){let e;const n=c.A.shared().getUserIdForRoomId(g),o=null==h?void 0:h.getRoom(g),l=_["io.element.msc4362.encrypt_state_events"]&&h.enableEncryptedStateEvents;if(f.algorithm===m.Q)e=(0,a._t)("timeline|m.room.encryption|parameters_changed");else if(n){var y;const t=(null==o||null===(y=o.getMember(n))||void 0===y?void 0:y.rawDisplayName)||n;e=(0,a._t)("timeline|m.room.encryption|enabled_dm",{displayName:t})}else e=o&&(0,u.F)(o)?(0,a._t)("timeline|m.room.encryption|enabled_local"):l?(0,a._t)("timeline|m.room.encryption|state_enabled"):(0,a._t)("timeline|m.room.encryption|enabled");return s.createElement(r.pc,{icon:s.createElement(i.A,null),className:"mx_EventTileBubble mx_cryptoEvent mx_cryptoEvent_icon",title:l?(0,a._t)("common|state_encryption_enabled"):(0,a._t)("common|encryption_enabled"),subtitle:e},t)}return v?s.createElement(r.pc,{icon:s.createElement(i.A,null),className:"mx_EventTileBubble mx_cryptoEvent mx_cryptoEvent_icon",title:(0,a._t)("common|encryption_enabled"),subtitle:(0,a._t)("timeline|m.room.encryption|disable_attempt")},t):s.createElement(r.pc,{icon:s.createElement(o.A,{color:"var(--cpd-color-icon-critical-primary)"}),className:"mx_EventTileBubble mx_cryptoEvent",title:(0,a._t)("timeline|m.room.encryption|disabled"),subtitle:(0,a._t)("timeline|m.room.encryption|unsupported"),ref:n},t)}},"./src/components/views/messages/HiddenMediaPlaceholder.tsx"(e,t,n){"use strict";n.d(t,{Q:()=>i});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/visibility-on.js");const i=({onClick:e,children:t})=>s.createElement("button",{onClick:e,className:"mx_HiddenMediaPlaceholder"},s.createElement("div",null,s.createElement(o.A,null),s.createElement("span",null,t)))},"./src/components/views/messages/LegacyCallEvent.tsx"(e,t,n){"use strict";n.d(t,{A:()=>S,d:()=>x});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/webrtc/call.ts"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./packages/shared-components/dist/element-web-shared-components.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/end-call.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-declined-solid.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-missed-solid.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-solid.js"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/voice-call-missed-solid.js"),h=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/voice-call-solid.js"),g=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/volume-off-solid.js"),v=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/volume-on-solid.js"),f=n("./src/languageHandler.tsx"),_=n("./src/components/views/avatars/MemberAvatar.tsx"),y=n("./src/components/structures/LegacyCallEventGrouper.ts"),b=n("./src/components/views/elements/AccessibleButton.tsx"),w=n("./src/components/views/elements/InfoTooltip.tsx"),E=n("./src/DateUtils.ts");const A=450/70*100;function x(e,t){let n=e?o.createElement(h.A,null):o.createElement(m.A,null);return"missed"===t?n=e?o.createElement(p.A,null):o.createElement(u.A,null):"declined"===t&&(n=e?o.createElement(c.A,null):o.createElement(d.A,null)),o.createElement("div",{className:"mx_LegacyCallEvent_type_icon"},n)}class S extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"wrapperElement",(0,o.createRef)()),(0,s.A)(this,"resizeObserver",void 0),(0,s.A)(this,"onLengthChanged",e=>{this.setState({length:e})}),(0,s.A)(this,"resizeObserverCallback",e=>{const t=e.find(e=>e.target===this.wrapperElement.current);t&&this.setState({narrow:t.contentRect.width<A})}),(0,s.A)(this,"onSilencedChanged",e=>{this.setState({silenced:e})}),(0,s.A)(this,"onStateChanged",e=>{this.setState({callState:e})}),this.state={callState:this.props.callEventGrouper.state,silenced:!1,narrow:!1,length:0}}componentDidMount(){this.props.callEventGrouper.addListener(y.Cj.StateChanged,this.onStateChanged),this.props.callEventGrouper.addListener(y.Cj.SilencedChanged,this.onSilencedChanged),this.props.callEventGrouper.addListener(y.Cj.LengthChanged,this.onLengthChanged),this.resizeObserver=new ResizeObserver(this.resizeObserverCallback),this.wrapperElement.current&&this.resizeObserver.observe(this.wrapperElement.current)}componentWillUnmount(){var e;this.props.callEventGrouper.removeListener(y.Cj.StateChanged,this.onStateChanged),this.props.callEventGrouper.removeListener(y.Cj.SilencedChanged,this.onSilencedChanged),this.props.callEventGrouper.removeListener(y.Cj.LengthChanged,this.onLengthChanged),null===(e=this.resizeObserver)||void 0===e||e.disconnect()}renderCallBackButton(e){return o.createElement(b.A,{className:"mx_LegacyCallEvent_content_button",onClick:this.props.callEventGrouper.callBack,kind:"primary"},this.props.callEventGrouper.isVoice?o.createElement(h.A,null):o.createElement(m.A,null),e)}renderSilenceIcon(){return o.createElement(b.A,{className:"mx_LegacyCallEvent_iconButton",onClick:this.props.callEventGrouper.toggleSilenced,title:this.state.silenced?(0,f._t)("voip|unsilence"):(0,f._t)("voip|silence")},this.state.silenced?o.createElement(g.A,null):o.createElement(v.A,null))}renderContent(){if(this.state.callState===i.iP.Ringing){let e;return this.state.narrow||(e=this.renderSilenceIcon()),o.createElement("div",{className:"mx_LegacyCallEvent_content"},e,o.createElement(b.A,{className:"mx_LegacyCallEvent_content_button",onClick:this.props.callEventGrouper.rejectCall,kind:"danger"},o.createElement(c.A,null),(0,f._t)("action|decline")),o.createElement(b.A,{className:"mx_LegacyCallEvent_content_button",onClick:this.props.callEventGrouper.answerCall,kind:"primary"},this.props.callEventGrouper.isVoice?o.createElement(h.A,null):o.createElement(m.A,null),(0,f._t)("action|accept")),this.props.timestamp)}if(this.state.callState===i.iP.Ended){const e=this.props.callEventGrouper.hangupReason;if(this.props.callEventGrouper.gotRejected)return o.createElement("div",{className:"mx_LegacyCallEvent_content"},(0,f._t)("timeline|m.call.invite|declined"),this.renderCallBackButton((0,f._t)("timeline|m.call.invite|call_back_prompt")),this.props.timestamp);if(e===i.Il.AnsweredElsewhere)return o.createElement("div",{className:"mx_LegacyCallEvent_content"},(0,f._t)("timeline|m.call.invite|answered_elsewhere"),this.props.timestamp);if(this.props.callEventGrouper.callWasMissed)return o.createElement("div",{className:"mx_LegacyCallEvent_content"},(0,f._t)("timeline|m.call.invite|missed_call"),this.renderCallBackButton((0,f._t)("timeline|m.call.invite|call_back_prompt")),this.props.timestamp);if(!e||[i.Il.UserHangup,"user hangup"].includes(e)){const e=this.props.callEventGrouper.duration;let t=(0,f._t)("timeline|m.call.hangup|dm");return e&&(t+=" • "+(0,E.DE)(e)),o.createElement("div",{className:"mx_LegacyCallEvent_content"},t,this.props.timestamp)}if(e===i.Il.InviteTimeout)return o.createElement("div",{className:"mx_LegacyCallEvent_content"},(0,f._t)("timeline|m.call.invite|no_answer"),this.renderCallBackButton((0,f._t)("timeline|m.call.invite|call_back_prompt")),this.props.timestamp);let t;return t=e===i.Il.IceFailed?(0,f._t)("timeline|m.call.invite|failed_connect_media"):"ice_timeout"===e?(0,f._t)("timeline|m.call.invite|failed_connection"):e===i.Il.NoUserMedia?(0,f._t)("timeline|m.call.invite|failed_opponent_media"):"unknown_error"===e?(0,f._t)("timeline|m.call.invite|unknown_error"):e===i.Il.UserBusy?(0,f._t)("voip|user_busy_description"):(0,f._t)("timeline|m.call.invite|unknown_failure",{reason:e}),o.createElement("div",{className:"mx_LegacyCallEvent_content"},o.createElement(w.A,{tooltip:t,className:"mx_LegacyCallEvent_content_tooltip",kind:w.y.Warning}),(0,f._t)("timeline|m.call.invite|failed_connection"),this.renderCallBackButton((0,f._t)("action|retry")),this.props.timestamp)}return this.state.callState===i.iP.Connected?o.createElement("div",{className:"mx_LegacyCallEvent_content"},o.createElement(l.zD,{seconds:this.state.length,"aria-live":"off"}),this.props.timestamp):this.state.callState===i.iP.Connecting?o.createElement("div",{className:"mx_LegacyCallEvent_content"},(0,f._t)("voip|connecting"),this.props.timestamp):o.createElement("div",{className:"mx_LegacyCallEvent_content"},(0,f._t)("timeline|m.call.invite|unknown_state"),this.props.timestamp)}render(){const e=this.props.mxEvent,t=e.sender?e.sender.name:e.getSender(),n=this.props.callEventGrouper.isVoice,s=n?(0,f._t)("voip|voice_call"):(0,f._t)("voip|video_call"),r=this.state.callState,l=this.props.callEventGrouper.hangupReason,c=this.renderContent(),d=a()("mx_LegacyCallEvent",{mx_LegacyCallEvent_voice:n,mx_LegacyCallEvent_video:!n,mx_LegacyCallEvent_narrow:this.state.narrow});let u,m;return this.state.narrow&&this.state.callState===i.iP.Ringing&&(u=this.renderSilenceIcon()),this.props.callEventGrouper.callWasMissed?m="missed":r!==i.iP.Ended||l!==i.Il.InviteTimeout&&!this.props.callEventGrouper.gotRejected||(m="declined"),o.createElement("div",{className:"mx_LegacyCallEvent_wrapper",ref:this.wrapperElement},o.createElement("div",{className:d},u,o.createElement("div",{className:"mx_LegacyCallEvent_info"},o.createElement(_.A,{member:e.sender,size:"32px"}),o.createElement("div",{className:"mx_LegacyCallEvent_info_basic"},o.createElement("div",{className:"mx_LegacyCallEvent_sender"},t),o.createElement("div",{className:"mx_LegacyCallEvent_type"},x(!!n,m),s))),c))}}},"./src/components/views/messages/MAudioBody.tsx"(e,t,n){"use strict";n.d(t,{A:()=>b});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./packages/shared-components/dist/element-web-shared-components.js"),l=n("./src/components/views/elements/InlineSpinner.tsx"),c=n("./src/languageHandler.tsx"),d=n("./src/components/views/messages/MFileBody.tsx"),u=n("./src/audio/PlaybackManager.ts"),m=n("./src/contexts/RoomContext.ts"),p=n("./src/components/views/messages/shared/MediaProcessingError.tsx"),h=n("./src/stores/AsyncStore.ts"),g=n("./src/KeyBindingsManager.ts"),v=n("./src/accessibility/KeyboardShortcuts.ts");function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function _(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class y extends a.oY{constructor(e){super(e,y.computeSnapshot(e.playback,e.mediaName)),(0,o.A)(this,"error",!1),(0,o.A)(this,"setSnapshot",()=>{this.snapshot.set(y.computeSnapshot(this.props.playback,this.props.mediaName,this.error))}),(0,o.A)(this,"onKeyDown",e=>{let t=!0;switch((0,g.zM)().getAccessibilityAction(e)){case v.bY.Space:this.togglePlay();break;case v.bY.ArrowLeft:this.props.playback.skipTo(this.props.playback.timeSeconds-5);break;case v.bY.ArrowRight:this.props.playback.skipTo(this.props.playback.timeSeconds+5);break;default:t=!1}t&&e.stopPropagation()}),(0,o.A)(this,"togglePlay",async()=>{await this.props.playback.toggle()}),(0,o.A)(this,"onSeekbarChange",async e=>{await this.props.playback.skipTo(Number(e.target.value)/100*this.props.playback.durationSeconds)}),this.disposables.trackListener(e.playback,h.H,this.setSnapshot),this.props.playback.clockInfo.liveData.onUpdate(this.setSnapshot),this.preparePlayback()}async preparePlayback(){try{await this.props.playback.prepare()}catch(e){r.vF.error("Error processing audio file:",e,this.props.playback.currentState),this.error=!0,this.setSnapshot()}}setProps(e){this.props=_(_({},this.props),e),this.setSnapshot()}}(0,o.A)(y,"computeSnapshot",(e,t,n=!1)=>{const s=100*(0,a.s5)(e.timeSeconds,0,e.durationSeconds);return{mediaName:t,sizeBytes:e.sizeBytes,playbackState:e.currentState,durationSeconds:e.durationSeconds,percentComplete:s,playedSeconds:e.timeSeconds,error:n}});class b extends i.PureComponent{constructor(...e){super(...e),(0,o.A)(this,"state",{})}async componentDidMount(){var e;let t;try{try{const e=await this.props.mediaEventHelper.sourceBlob.value;t=await e.arrayBuffer()}catch(e){return this.setState({error:!0}),void r.vF.warn("Unable to decrypt audio message",e)}}catch(e){return this.setState({error:!0}),void r.vF.warn("Unable to decrypt/download audio message",e)}const n=this.props.mxEvent.getContent(),s=null==n||null===(e=n["org.matrix.msc1767.audio"])||void 0===e||null===(e=e.waveform)||void 0===e?void 0:e.map(e=>e/1024),o=u.T.instance.createPlaybackInstance(t,s);o.clockInfo.populatePlaceholdersFrom(this.props.mxEvent),this.setState({playback:o}),this.onMount(o)}onMount(e){}componentWillUnmount(){var e;null===(e=this.state.playback)||void 0===e||e.destroy()}get showFileBody(){return this.context.timelineRenderingType!==m.Ae.Room&&this.context.timelineRenderingType!==m.Ae.Pinned&&this.context.timelineRenderingType!==m.Ae.Search}render(){if(this.state.error)return i.createElement(p.A,{className:"mx_MAudioBody"},(0,c._t)("timeline|m.audio|error_processing_audio"));if(this.props.forExport){var e;const t=this.props.mxEvent.getContent(),n=(null===(e=t.file)||void 0===e?void 0:e.url)||t.url;return i.createElement("span",{className:"mx_MAudioBody"},i.createElement("audio",{src:n,controls:!0}))}return this.state.playback?i.createElement("span",{className:"mx_MAudioBody"},i.createElement(w,{playback:this.state.playback,mediaName:this.props.mxEvent.getContent().body}),this.showFileBody&&i.createElement(d.Ay,(0,s.A)({},this.props,{showGenericPlaceholder:!1}))):i.createElement("span",{className:"mx_MAudioBody"},i.createElement(l.A,null))}}function w({playback:e,mediaName:t}){const n=(0,a.s2)(()=>new y({playback:e,mediaName:t}));return(0,i.useEffect)(()=>{n.setProps({playback:e,mediaName:t})},[e,t,n]),i.createElement(a.Ni,{vm:n})}(0,o.A)(b,"contextType",m.Ay)},"./src/components/views/messages/MFileBody.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>x});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./node_modules/matrix-js-sdk/src/matrix.ts"),l=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/attachment.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/download.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-solid.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/volume-on-solid.js"),p=n("./src/languageHandler.tsx"),h=n("./src/Modal.tsx"),g=n("./src/components/views/elements/AccessibleButton.tsx"),v=n("./src/customisations/Media.ts"),f=n("./src/components/views/dialogs/ErrorDialog.tsx"),_=n("./src/utils/FileUtils.ts"),y=n("./src/utils/FileDownloader.ts"),b=n("./src/components/views/elements/TextWithTooltip.tsx"),w=n("./src/contexts/RoomContext.ts");let E;function A(e){if(!e)return"";const t=window.getComputedStyle(e,null);let n=t.cssText;if(""==n)for(const e of t)n+=e+":",n+=t.getPropertyValue(e)+";";return n}!async function(){if(E)return;const e=await fetch(n("./node_modules/@vector-im/compound-design-tokens/icons/download.svg").A).then(e=>e.text());E="data:image/svg+xml;base64,"+window.btoa(e)}();class x extends i.Component{constructor(...e){super(...e),(0,o.A)(this,"state",{}),(0,o.A)(this,"iframe",(0,i.createRef)()),(0,o.A)(this,"dummyLink",(0,i.createRef)()),(0,o.A)(this,"userDidClick",!1),(0,o.A)(this,"fileDownloader",new y.s(()=>this.iframe.current)),(0,o.A)(this,"decryptFile",async()=>{if(!this.state.decryptedBlob)try{this.userDidClick=!0,this.setState({decryptedBlob:await this.props.mediaEventHelper.sourceBlob.value})}catch(e){r.vF.warn("Unable to decrypt attachment: ",e),h.Ay.createDialog(f.A,{title:(0,p._t)("common|error"),description:(0,p._t)("timeline|m.file|error_decrypting")})}}),(0,o.A)(this,"onPlaceholderClick",async()=>{const e=this.props.mediaEventHelper;null!=e&&e.media.isEncrypted?(await this.decryptFile(),this.downloadFile(this.fileName,this.linkText)):this.fileDownloader.download({blob:await e.sourceBlob.value,name:this.fileName})})}getContentUrl(){if(this.props.forExport)return null;return(0,v.mediaFromContent)(this.props.mxEvent.getContent()).srcHttp}get content(){return this.props.mxEvent.getContent()}get fileName(){var e;return(null===(e=this.props.mediaEventHelper)||void 0===e?void 0:e.fileName)||(0,p._t)("common|attachment")}get linkText(){return(0,_.eB)(this.content,!0)}downloadFile(e,t){this.state.decryptedBlob&&this.fileDownloader.download({blob:this.state.decryptedBlob,name:e,autoDownload:this.userDidClick,opts:{imgSrc:E,imgStyle:null,style:A(this.dummyLink.current),textContent:t}})}render(){var e,t,n,o;const h=null===(e=this.props.mediaEventHelper)||void 0===e?void 0:e.media.isEncrypted,v=this.getContentUrl(),f=null!==(t=null===(n=this.content.info)||void 0===n?void 0:n.mimetype)&&void 0!==t?t:"application/octet-stream",y=null===(o=this.props.showGenericPlaceholder)||void 0===o||o;let E=!y||this.context.timelineRenderingType!==w.Ae.Room&&this.context.timelineRenderingType!==w.Ae.Search&&this.context.timelineRenderingType!==w.Ae.Pinned,A=null;if(y){let e=i.createElement(c.A,null);this.content.msgtype===a.MsgType.Audio?e=i.createElement(m.A,null):this.content.msgtype===a.MsgType.Video&&(e=i.createElement(u.A,null)),A=i.createElement(g.A,{className:"mx_MediaBody mx_MFileBody_info",onClick:this.onPlaceholderClick},i.createElement("span",{className:"mx_MFileBody_info_icon"},e),i.createElement(b.A,{tooltip:(0,_.q)(this.content,(0,p._t)("common|attachment"),!0)},i.createElement("span",{className:"mx_MFileBody_info_filename"},(0,_.q)(this.content,(0,p._t)("common|attachment"),!0,!0)))),E=!1}if(this.props.forExport){var x;const e=this.props.mxEvent.getContent();return i.createElement("span",{className:"mx_MFileBody"},i.createElement("a",{href:(null===(x=e.file)||void 0===x?void 0:x.url)||e.url},A))}if(this.context.timelineRenderingType===w.Ae.Thread&&(E=!1),h){if(!this.state.decryptedBlob)return i.createElement("span",{className:"mx_MFileBody"},A,E&&i.createElement("div",{className:"mx_MFileBody_download"},i.createElement(l.$,{size:"sm",kind:"secondary",Icon:d.A,onClick:this.decryptFile},this.linkText)));const e="usercontent/";return i.createElement("span",{className:"mx_MFileBody"},A,E&&i.createElement("div",{className:"mx_MFileBody_download"},i.createElement("div",{"aria-hidden":!0,style:{display:"none"}},i.createElement(l.$,{size:"sm",kind:"secondary",Icon:d.A,as:"a",ref:this.dummyLink})),i.createElement("iframe",{"aria-hidden":!0,title:(0,_.q)(this.content,(0,p._t)("common|attachment"),!0,!0),src:e,onLoad:()=>this.downloadFile(this.fileName,this.linkText),ref:this.iframe,sandbox:"allow-scripts allow-downloads"})))}if(v){const e={target:"_blank",rel:"noreferrer noopener",onClick:e=>{var t;r.vF.log(`Downloading ${f} as blob (unencrypted)`),e.preventDefault(),e.stopPropagation(),null===(t=this.props.mediaEventHelper)||void 0===t||t.sourceBlob.value.then(e=>{const t=URL.createObjectURL(e),n=document.createElement("a");n.download=this.fileName,n.href=t,document.body.appendChild(n),n.click(),n.remove()})}};return i.createElement("span",{className:"mx_MFileBody"},A,E&&i.createElement("div",{className:"mx_MFileBody_download"},i.createElement(l.$,(0,s.A)({size:"sm",kind:"secondary",Icon:d.A,as:"a"},e),this.linkText)))}return i.createElement("span",{className:"mx_MFileBody"},A,(0,p._t)("timeline|m.file|error_invalid"))}}(0,o.A)(x,"contextType",w.Ay)},"./src/components/views/messages/MImageBody.tsx"(e,t,n){"use strict";n.d(t,{A:()=>D,R:()=>j});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/react-blurhash/dist/esm/index.js"),a=n("./node_modules/classnames/index.js"),l=n.n(a),c=n("./node_modules/react-transition-group/esm/CSSTransition.js"),d=n("./node_modules/react-transition-group/esm/SwitchTransition.js"),u=n("./node_modules/matrix-js-sdk/src/logger.ts"),m=n("./node_modules/matrix-js-sdk/src/matrix.ts"),p=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),h=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/image-error.js"),g=n("./src/components/views/messages/MFileBody.tsx"),v=n("./src/Modal.tsx"),f=n("./src/languageHandler.tsx"),_=n("./src/settings/SettingsStore.ts"),y=n("./src/components/views/elements/Spinner.tsx"),b=n("./src/customisations/Media.ts"),w=n("./src/utils/image-media.ts"),E=n("./src/components/views/elements/ImageView.tsx"),A=n("./src/settings/enums/ImageSize.ts"),x=n("./src/MatrixClientPeg.ts"),S=n("./src/contexts/RoomContext.ts"),C=n("./src/utils/Image.ts"),k=n("./src/utils/FileUtils.ts"),R=n("./src/utils/connection.ts"),I=n("./src/components/views/messages/shared/MediaProcessingError.tsx"),P=n("./src/utils/DecryptFile.ts"),T=n("./src/components/views/messages/HiddenMediaPlaceholder.tsx"),O=n("./src/hooks/useMediaVisible.ts"),M=n("./src/utils/blobs.ts"),N=function(e){return e[e.NoImage=0]="NoImage",e[e.Blurhash=1]="Blurhash",e}(N||{});class j extends i.Component{constructor(...e){super(...e),(0,o.A)(this,"unmounted",!1),(0,o.A)(this,"image",(0,i.createRef)()),(0,o.A)(this,"placeholder",(0,i.createRef)()),(0,o.A)(this,"timeout",void 0),(0,o.A)(this,"sizeWatcher",void 0),(0,o.A)(this,"state",{contentUrl:null,thumbUrl:null,imgError:!1,imgLoaded:!1,hover:!1,focus:!1,placeholder:N.NoImage}),(0,o.A)(this,"onClick",e=>{if(0===e.button&&!e.metaKey){var t,n,s;if(e.preventDefault(),!this.props.mediaVisible)return void this.props.setMediaVisible(!0);const o=this.props.mxEvent.getContent();let i=this.state.contentUrl;if(null!==(t=this.props.mediaEventHelper)&&void 0!==t&&t.media.isEncrypted&&!(0,M.n)(null!==(n=null===(s=this.props.mediaEventHelper.sourceBlob.cachedValue)||void 0===s?void 0:s.type)&&void 0!==n?n:"")&&(i=this.state.thumbUrl),!i)return;const r={src:i,name:o.body&&o.body.length>0?o.body:(0,f._t)("common|attachment"),mxEvent:this.props.mxEvent,permalinkCreator:this.props.permalinkCreator};if(o.info&&(r.width=o.info.w,r.height=o.info.h,r.fileSize=o.info.size),this.image.current){const e=this.image.current.getBoundingClientRect();r.thumbnailInfo={width:e.width,height:e.height,positionX:e.x,positionY:e.y}}v.Ay.createDialog(E.A,r,"mx_Dialog_lightbox",void 0,!0)}}),(0,o.A)(this,"onImageEnter",()=>{this.setState({hover:!0})}),(0,o.A)(this,"onImageLeave",()=>{this.setState({hover:!1})}),(0,o.A)(this,"onFocus",()=>{this.setState({focus:!0})}),(0,o.A)(this,"onBlur",()=>{this.setState({focus:!1})}),(0,o.A)(this,"reconnectedListener",(0,R.x)(()=>{var e;null===(e=x.J.get())||void 0===e||e.off(m.ClientEvent.Sync,this.reconnectedListener),this.setState({imgError:!1})})),(0,o.A)(this,"onImageError",()=>{this.state.thumbUrl?this.setState({thumbUrl:null}):(this.clearBlurhashTimeout(),this.setState({imgError:!0}),x.J.safeGet().on(m.ClientEvent.Sync,this.reconnectedListener))}),(0,o.A)(this,"onImageLoad",()=>{let e;if(this.clearBlurhashTimeout(),this.image.current){const{naturalWidth:t,naturalHeight:n}=this.image.current;e={naturalWidth:t,naturalHeight:n}}this.setState({imgLoaded:!0,loadedImageDimensions:e})})}get shouldAutoplay(){return!(!this.state.contentUrl||!this.props.mediaVisible||!this.state.isAnimated||_.A.getValue("autoplayGifs"))}getContentUrl(){return this.props.forExport?this.media.srcMxc:this.media.srcHttp}get media(){return(0,b.mediaFromContent)(this.props.mxEvent.getContent())}getThumbUrl(){const e=800,t=600,n=this.props.mxEvent.getContent(),s=(0,b.mediaFromContent)(n),o=n.info;if("image/svg+xml"===(null==o?void 0:o.mimetype)&&s.hasThumbnail)return s.getThumbnailHttp(e,t,"scale");if(this.state.isAnimated||1===window.devicePixelRatio||!o||!o.w||!o.h||!o.size)return s.getThumbnailOfSourceHttp(e,t);const i=o.w>e||o.h>t;return o.size>1048576&&i?s.getThumbnailOfSourceHttp(e,t):s.srcHttp}async downloadImage(){var e,t,n,s;if(this.state.contentUrl)return;let o,i;if(null!==(e=this.props.mediaEventHelper)&&void 0!==e&&e.media.isEncrypted)try{[i,o]=await Promise.all([this.props.mediaEventHelper.sourceUrl.value,this.props.mediaEventHelper.thumbnailUrl.value])}catch(e){if(this.unmounted)return;return e instanceof P.sR?u.vF.error("Unable to decrypt attachment: ",e):e instanceof P.nV?u.vF.error("Unable to download attachment to decrypt it: ",e):u.vF.error("Error encountered when downloading encrypted attachment: ",e),void this.setState({error:e})}else o=this.getThumbUrl(),i=this.getContentUrl();const r=this.props.mxEvent.getContent();let a=null!==(t=null===(n=r.info)||void 0===n?void 0:n["org.matrix.msc4230.is_animated"])&&void 0!==t?t:(0,C.C)(null===(s=r.info)||void 0===s?void 0:s.mimetype);var l;if(a&&!_.A.getValue("autoplayGifs")&&(!o||null==r||null===(l=r.info)||void 0===l||!l.thumbnail_info||(0,C.C)(r.info.thumbnail_info.mimetype))){const e=document.createElement("img"),t=new Promise((t,n)=>{e.onload=t,e.onerror=n});e.crossOrigin="Anonymous",e.src=null!=i?i:"";try{await t}catch(e){return u.vF.error("Unable to download attachment: ",e),void this.setState({error:e})}try{var c;if(!1!==(null===(c=r.info)||void 0===c?void 0:c["org.matrix.msc4230.is_animated"])&&!1!==await(0,C.t)(await this.props.mediaEventHelper.sourceBlob.value)||(a=!1),a){var d,m;const t=await(0,w.p)(e,e.width,e.height,null!==(d=null===(m=r.info)||void 0===m?void 0:m.mimetype)&&void 0!==d?d:"image/jpeg",!1);o=URL.createObjectURL(t.thumbnail)}}catch(e){u.vF.warn("Unable to generate thumbnail for animated image: ",e)}}this.unmounted||this.setState({contentUrl:i,thumbUrl:o,isAnimated:a})}clearBlurhashTimeout(){this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)}componentDidMount(){var e;this.unmounted=!1,this.props.mediaVisible&&this.downloadImage(),null!==(e=this.props.mxEvent.getContent().info)&&void 0!==e&&e[w.f]&&(this.clearBlurhashTimeout(),this.timeout=window.setTimeout(()=>{this.state.imgLoaded&&this.state.imgError||this.setState({placeholder:N.Blurhash})},150)),this.sizeWatcher=_.A.watchSetting("Images.size",null,()=>{this.forceUpdate()})}componentDidUpdate(e){!e.mediaVisible&&this.props.mediaVisible&&this.downloadImage()}componentWillUnmount(){var e;this.unmounted=!0,null===(e=x.J.get())||void 0===e||e.off(m.ClientEvent.Sync,this.reconnectedListener),this.clearBlurhashTimeout(),_.A.unwatchSetting(this.sizeWatcher),this.state.isAnimated&&this.state.thumbUrl&&URL.revokeObjectURL(this.state.thumbUrl)}getBanner(e){return[S.Ae.ThreadsList,S.Ae.File].includes(this.context.timelineRenderingType)?null:i.createElement("span",{className:"mx_MImageBody_banner"},(0,k.q)(e,(0,f._t)("common|image"),!0,!0))}messageContent(e,t,n,o){var r,a;t||(t=e);let u=500,m=500,h=!1;if(null!==(r=n.info)&&void 0!==r&&r.w&&null!==(a=n.info)&&void 0!==a&&a.h)u=n.info.w,m=n.info.h,h="image/svg+xml"===n.info.mimetype;else if(t&&e){if(!this.state.loadedImageDimensions){let s;return s=this.props.mediaVisible?i.createElement("img",{style:{display:"none"},src:t,ref:this.image,alt:n.body,onError:this.onImageError,onLoad:this.onImageLoad}):i.createElement(T.Q,{onClick:this.onClick},(0,f._t)("timeline|m.image|show_image")),this.wrapImage(e,s)}u=this.state.loadedImageDimensions.naturalWidth,m=this.state.loadedImageDimensions.naturalHeight}const{w:g,h:v}=(0,A.P)(_.A.getValue("Images.size"),{w:u,h:m},null!=o?o:this.props.maxImageHeight);let y,b,E;if(!this.props.forExport&&!this.state.imgLoaded){var x;const e=l()("mx_MImageBody_placeholder",{"mx_MImageBody_placeholder--blurhash":null===(x=this.props.mxEvent.getContent().info)||void 0===x?void 0:x[w.f]});b=i.createElement("div",{className:e,ref:this.placeholder},this.getPlaceholder(g,v))}let S=Boolean(b);const C=this.state.hover||this.state.focus;if(t&&!this.state.imgError){let e=t;C&&this.shouldAutoplay&&(e=this.state.contentUrl),y=i.createElement("img",{className:"mx_MImageBody_thumbnail",src:e,ref:this.image,alt:n.body,onError:this.onImageError,onLoad:this.onImageLoad,onMouseEnter:this.onImageEnter,onMouseLeave:this.onImageLeave})}let k;this.props.mediaVisible||(y=i.createElement("div",{style:{width:g,height:v}},i.createElement(T.Q,{onClick:this.onClick},(0,f._t)("timeline|m.image|show_image"))),S=!1),!this.state.isAnimated||_.A.getValue("autoplayGifs")||C||(E=i.createElement("p",{className:"mx_MImageBody_gifLabel"},"GIF")),this.props.mediaVisible&&C&&(k=this.getBanner(n));const R=h?{maxHeight:v,maxWidth:g,width:g}:{maxHeight:v,maxWidth:g};this.props.forExport||(b=i.createElement(d.A,{mode:"out-in"},i.createElement(c.A,{classNames:"mx_rtg--fade",key:`img-${S}`,timeout:300,nodeRef:this.placeholder},S?b:i.createElement("div",{ref:this.placeholder}))));const I=this.getTooltipProps();let P=i.createElement("div",{className:"mx_MImageBody_thumbnail_container",style:{maxHeight:v,maxWidth:g,aspectRatio:`${u}/${m}`},tabIndex:I?0:void 0},b,i.createElement("div",{style:R},y,E,k),!this.props.forExport&&!this.state.imgLoaded&&!b&&i.createElement("div",{style:{height:v,width:g}}));return I&&(P=i.createElement(p.m,(0,s.A)({},I,{isTriggerInteractive:!0}),P)),this.wrapImage(e,P)}wrapImage(e,t){return e?i.createElement("a",{href:e,target:this.props.forExport?"_blank":void 0,onClick:this.onClick,onFocus:this.onFocus,onBlur:this.onBlur},t):t}getPlaceholder(e,t){var n;const s=null===(n=this.props.mxEvent.getContent().info)||void 0===n?void 0:n[w.f];if(s){if(this.state.placeholder===N.NoImage)return null;if(this.state.placeholder===N.Blurhash)return i.createElement(r.Q,{className:"mx_Blurhash",hash:s,width:e,height:t})}return i.createElement(y.A,{size:32})}getTooltipProps(){return null}getFileBody(){if(this.props.forExport)return null;return this.context.timelineRenderingType===S.Ae.Room||this.context.timelineRenderingType===S.Ae.Pinned||this.context.timelineRenderingType===S.Ae.Search||this.context.timelineRenderingType===S.Ae.Thread||this.context.timelineRenderingType===S.Ae.ThreadsList?void 0:i.createElement(g.Ay,(0,s.A)({},this.props,{showGenericPlaceholder:!1}))}render(){var e,t,n,s;const o=this.props.mxEvent.getContent();if(null!==(e=this.props.mediaEventHelper)&&void 0!==e&&e.media.isEncrypted&&!(0,M.n)(null!==(t=null===(n=o.info)||void 0===n?void 0:n.mimetype)&&void 0!==t?t:"")&&(null===(s=o.info)||void 0===s||!s.thumbnail_info))return i.createElement(g.Ay,this.props);if(this.state.error){let e=(0,f._t)("timeline|m.image|error");return this.state.error instanceof P.sR?e=(0,f._t)("timeline|m.image|error_decrypting"):this.state.error instanceof P.nV&&(e=(0,f._t)("timeline|m.image|error_downloading")),i.createElement(I.A,{className:"mx_MImageBody",Icon:h.A},e)}let r,a=this.state.contentUrl;var l,c;if(this.props.forExport)a=null!==(l=this.props.mxEvent.getContent().url)&&void 0!==l?l:null===(c=this.props.mxEvent.getContent().file)||void 0===c?void 0:c.url,r=a;else if(this.state.isAnimated&&_.A.getValue("autoplayGifs"))r=a;else{var d;r=null!==(d=this.state.thumbUrl)&&void 0!==d?d:this.state.contentUrl}const u=this.messageContent(a,r,o),m=this.getFileBody();return i.createElement("div",{className:"mx_MImageBody"},u,m)}}(0,o.A)(j,"contextType",S.Ay);const D=e=>{const[t,n]=(0,O.E)(e.mxEvent);return i.createElement(j,(0,s.A)({mediaVisible:t,setMediaVisible:n},e))}},"./src/components/views/messages/MPollBody.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>x,B0:()=>I,Ev:()=>w,Fr:()=>b,cc:()=>A,hJ:()=>R,jx:()=>k});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/models/related-relations.ts"),l=n("./node_modules/matrix-js-sdk/src/extensible_events_v1/PollResponseEvent.ts"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/polls.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/polls-end.js"),u=n("./src/languageHandler.tsx"),m=n("./src/Modal.tsx"),p=n("./src/utils/FormattingUtils.ts"),h=n("./src/contexts/MatrixClientContext.tsx"),g=n("./src/components/views/dialogs/ErrorDialog.tsx"),v=n("./src/components/views/elements/PollCreateDialog.tsx"),f=n("./src/MatrixClientPeg.ts"),_=n("./src/components/views/elements/Spinner.tsx"),y=n("./src/components/views/polls/PollOption.tsx");function b(e,t){if(!e.getId())return i.vF.warn("findTopAnswer: Poll event needs an event ID to fetch relations in order to determine the top answer - assuming no best answer"),"";const n=e.unstableExtensibleEvent;if(null==n||!n.isEquivalentTo(r.M_POLL_START))return i.vF.warn("Failed to parse poll to determine top answer - assuming no best answer"),"";const s=I(R(k(t)),n),o=Math.max(...s.values()),a=[];for(const[e,t]of s)t==o&&a.push(e);const l=a.map(e=>{var t,s;return null!==(t=null===(s=n.answers.find(t=>t.id===e))||void 0===s?void 0:s.text)&&void 0!==t?t:""});return(0,p.ki)(l,3)}function w(e,t){const n=t.getRoom(e.getRoomId()),s=null==n?void 0:n.polls.get(e.getId());return!(!s||s.isFetchingResponses)&&s.isEnded}function E(e,t){if(!t)return!1;const n=e.getId();if(!n)return!1;const s=function(e,t){const n=[],s=e(t,"m.reference",r.M_POLL_RESPONSE.name);s&&n.push(s);const o=e(t,"m.reference",r.M_POLL_RESPONSE.altName);return o&&n.push(o),new a.T(n)}(t,n);return s.getRelations().length>0}function A(e,t){const n=f.J.safeGet().getRoom(e.getRoomId());if(E(e,t))m.Ay.createDialog(g.A,{title:(0,u._t)("poll|unable_edit_title"),description:(0,u._t)("poll|unable_edit_description")});else if(n){var s;m.Ay.createDialog(v.A,{room:n,threadId:null===(s=e.getThread())||void 0===s?void 0:s.id,editingMxEvent:e},"mx_CompoundDialog",!1,!0)}}class x extends o.Component{constructor(e){super(e),(0,s.A)(this,"seenEventIds",[]),(0,s.A)(this,"onResponsesChange",e=>{this.setState({voteRelations:e}),this.onRelationsChange()}),(0,s.A)(this,"onRelationsChange",()=>{this.unselectIfNewEventFromMe()}),this.state={selected:null,pollInitialised:!1}}componentDidMount(){var e;const t=null===(e=this.context)||void 0===e?void 0:e.getRoom(this.props.mxEvent.getRoomId()),n=null==t?void 0:t.polls.get(this.props.mxEvent.getId());n?this.setPollInstance(n):null==t||t.on(r.PollEvent.New,this.setPollInstance.bind(this))}componentWillUnmount(){this.removeListeners()}async setPollInstance(e){if(e.pollId!==this.props.mxEvent.getId())return;this.setState({poll:e},()=>{this.addListeners()});const t=await e.getResponses();this.setState({pollInitialised:!0,voteRelations:t})}addListeners(){var e,t,n;null===(e=this.state.poll)||void 0===e||e.on(r.PollEvent.Responses,this.onResponsesChange),null===(t=this.state.poll)||void 0===t||t.on(r.PollEvent.End,this.onRelationsChange),null===(n=this.state.poll)||void 0===n||n.on(r.PollEvent.UndecryptableRelations,this.render.bind(this))}removeListeners(){this.state.poll&&(this.state.poll.off(r.PollEvent.Responses,this.onResponsesChange),this.state.poll.off(r.PollEvent.End,this.onRelationsChange),this.state.poll.off(r.PollEvent.UndecryptableRelations,this.render.bind(this)))}selectOption(e){var t,n;if(null!==(t=this.state.poll)&&void 0!==t&&t.isEnded)return;const s=this.collectUserVotes(),o=this.context.getSafeUserId();if(e===(null===(n=s.get(o))||void 0===n?void 0:n.answers[0]))return;const i=l.P.from([e],this.props.mxEvent.getId()).serialize();this.context.sendEvent(this.props.mxEvent.getRoomId(),i.type,i.content).catch(e=>{console.error("Failed to submit poll response event:",e),m.Ay.createDialog(g.A,{title:(0,u._t)("poll|error_voting_title"),description:(0,u._t)("poll|error_voting_description")})}),this.setState({selected:e})}collectUserVotes(){return this.state.voteRelations&&this.context?R(k(this.state.voteRelations),this.context.getUserId(),this.state.selected):new Map}unselectIfNewEventFromMe(){var e;const t=((null===(e=this.state.voteRelations)||void 0===e?void 0:e.getRelations())||[]).filter(e=>!this.seenEventIds.includes(e.getId()));let n=this.state.selected;if(t.length>0)for(const e of t)e.getSender()===this.context.getUserId()&&(n=null);const s=t.map(e=>e.getId());this.seenEventIds=this.seenEventIds.concat(s),this.setState({selected:n})}totalVotes(e){let t=0;for(const n of e.values())t+=n;return t}render(){var e;const{poll:t,pollInitialised:n}=this.state;if(null==t||!t.pollEvent)return null;const s=t.pollEvent,i=this.props.mxEvent.getId(),a=!n||t.isFetchingResponses,l=this.collectUserVotes(),m=I(l,s),p=this.totalVotes(m),h=Math.max(...m.values()),g=this.context.getSafeUserId(),v=null==l||null===(e=l.get(g))||void 0===e?void 0:e.answers[0],f=r.M_POLL_KIND_DISCLOSED.matches(s.kind.name),b=t.isEnded||f&&void 0!==v;let w;w=b&&t.undecryptableRelationsCount?(0,u._t)("poll|total_decryption_errors"):t.isEnded?(0,u._t)("right_panel|poll|final_result",{count:p}):f?void 0===v?0===p?(0,u._t)("poll|total_no_votes"):(0,u._t)("poll|total_n_votes",{count:p}):(0,u._t)("poll|total_n_votes_voted",{count:p}):(0,u._t)("poll|total_not_ended");const E=this.props.mxEvent.replacingEvent()?o.createElement("span",{className:"mx_MPollBody_edited"}," (",(0,u._t)("common|edited"),")"):null,A=t.isEnded?d.A:c.A,x=t.isEnded?(0,u._t)("poll|ended_poll_label"):(0,u._t)("poll|poll_label");return o.createElement("fieldset",{className:"mx_MPollBody"},o.createElement("legend",null,o.createElement(A,{width:"20",height:"20","aria-label":x}),s.question.text,E),o.createElement("div",{className:"mx_MPollBody_allOptions"},s.answers.map((e,n)=>{let s=0;var r;b&&(s=null!==(r=m.get(e.id))&&void 0!==r?r:0);const a=!t.isEnded&&v===e.id||t.isEnded&&s===h;return o.createElement(y.h,{key:e.id,pollId:i,answer:e,optionNumber:n+1,isChecked:a,isEnded:t.isEnded,voteCount:s,totalVoteCount:p,displayVoteCount:b,onOptionSelected:this.selectOption.bind(this)})})),o.createElement("div",{className:"mx_MPollBody_totalVotes"},w,a&&o.createElement(_.A,{size:16})))}}(0,s.A)(x,"contextType",h.Ay);class S{constructor(e,t,n){this.ts=e,this.sender=t,this.answers=n}}function C(e){const t=e.unstableExtensibleEvent;if(null==t||!t.isEquivalentTo(r.M_POLL_RESPONSE))throw new Error("Failed to parse Poll Response Event to determine user response");return new S(e.getTs(),e.getSender(),t.answerIds)}function k(e){return e?e.getRelations().filter(e=>!e.isRedacted()).map(C):[]}function R(e,t,n){const s=new Map;for(const t of e){const e=s.get(t.sender);(!e||e.ts<t.ts)&&s.set(t.sender,t)}return n&&t&&s.set(t,new S(0,t,[n])),s}function I(e,t){const n=new Map;for(const s of e.values()){const e=l.P.from(s.answers,"$irrelevant");if(e.validateAgainst(t),!e.spoiled)for(const t of e.answerIds)n.has(t)?n.set(t,n.get(t)+1):n.set(t,1)}return n}},"./src/components/views/messages/MVoiceMessageBody.tsx"(e,t,n){"use strict";n.d(t,{A:()=>E});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./src/components/views/elements/InlineSpinner.tsx"),a=n("./src/languageHandler.tsx"),l=n("./src/components/views/audio_messages/RecordingPlayback.tsx"),c=n("./src/components/views/messages/MAudioBody.tsx"),d=n("./src/components/views/messages/MFileBody.tsx"),u=n("./src/components/views/messages/shared/MediaProcessingError.tsx"),m=n("./src/utils/EventUtils.ts"),p=n("./node_modules/matrix-js-sdk/src/matrix.ts"),h=n("./node_modules/matrix-js-sdk/src/logger.ts"),g=n("./src/audio/Playback.ts"),v=n("./src/stores/AsyncStore.ts"),f=n("./src/MatrixClientPeg.ts"),_=n("./src/utils/arrays.ts"),y=n("./src/audio/PlaybackManager.ts");class b{constructor(e,t){(0,o.A)(this,"playbacks",new Map),(0,o.A)(this,"clockStates",new Map),(0,o.A)(this,"playbackIdOrder",[]),(0,o.A)(this,"currentPlaybackId",null),(0,o.A)(this,"recentFullPlays",new Set),this.room=e,this.roomViewStore=t,this.loadClocks(),this.roomViewStore.addRoomListener(this.room.roomId,e=>{e&&(this.currentPlaybackId=null,this.recentFullPlays=new Set,this.playbackIdOrder=[])})}static forRoom(e,t){const n=f.J.safeGet().getRoom(e);if(!n)throw new Error("Unknown room");if(b.queues.has(n.roomId))return b.queues.get(n.roomId);const s=new b(n,t);return b.queues.set(n.roomId,s),s}persistClocks(){localStorage.setItem(`mx_voice_message_clocks_${this.room.roomId}`,JSON.stringify(Array.from(this.clockStates.entries())))}loadClocks(){const e=localStorage.getItem(`mx_voice_message_clocks_${this.room.roomId}`);if(e){this.clockStates=new Map(JSON.parse(e));for(const[e,t]of this.clockStates.entries())null==t&&this.clockStates.delete(e)}}unsortedEnqueue(e,t){this.playbacks.set(e.getId(),t),t.on(v.H,n=>this.onPlaybackStateChange(t,e,n)),t.clockInfo.liveData.onUpdate(n=>this.onPlaybackClock(t,e,n))}onPlaybackStateChange(e,t,n){const s=this.currentPlaybackId===t.getId(),o=this.clockStates.get(t.getId());if(n!==g.d.Stopped||void 0===o||s){if(n===g.d.Stopped&&(this.clockStates.delete(t.getId()),s&&this.currentPlaybackId)){this.recentFullPlays.add(this.currentPlaybackId);const e=(0,_.PF)(this.playbackIdOrder),n=e.pop();if(n===this.currentPlaybackId){const s=e.pop();if(s){const t=this.playbacks.get(s);t?(this.playbackIdOrder=e,y.T.instance.pauseAllExcept(t),t.play()):h.vF.warn(`Voice message queue desync: Missing playback for next message: Current=${this.currentPlaybackId} Last=${n} Next=${s}`)}else{const n=(0,_.PF)(this.room.getLiveTimeline().getEvents());let s,o=!1;for(const e of n){if(e.getId()===t.getId()){o=!0;continue}if(!o)continue;if(!(0,m.Mp)(e)){const t=e.getType();if(t!==p.EventType.RoomMessage&&t!==p.EventType.Sticker)continue;break}const n=this.playbacks.has(e.getId()),i=this.recentFullPlays.has(e.getId());if(n&&!i){s=e;break}}if(s){this.playbackIdOrder=e;const t=this.playbacks.get(s.getId());y.T.instance.pauseAllExcept(t),null==t||t.play()}else this.recentFullPlays=new Set,this.playbackIdOrder=[]}}else h.vF.warn(`Voice message queue desync: Expected playback stop to be last in order. Current=${this.currentPlaybackId} Last=${n} EventID=${t.getId()}`)}}else e.skipTo(o);if(n===g.d.Playing){const e=this.playbackIdOrder;if(this.currentPlaybackId!==t.getId()&&this.currentPlaybackId&&(0===e.length||e[e.length-1]!==this.currentPlaybackId)){const t=this.playbacks.get(this.currentPlaybackId);t&&[g.d.Playing,g.d.Paused].includes(t.currentState)&&e.push(this.currentPlaybackId)}this.currentPlaybackId=t.getId(),0!==e.length&&e[e.length-1]===this.currentPlaybackId||e.push(this.currentPlaybackId)}n!==g.d.Paused&&n!==g.d.Stopped||this.persistClocks()}onPlaybackClock(e,t,n){e.currentState!==g.d.Playing&&e.currentState!==g.d.Paused||this.clockStates.set(t.getId(),n[0])}}(0,o.A)(b,"queues",new Map);var w=n("./src/contexts/RoomContext.ts");class E extends c.A{onMount(e){(0,m.Mp)(this.props.mxEvent)&&b.forRoom(this.props.mxEvent.getRoomId(),this.context.roomViewStore).unsortedEnqueue(this.props.mxEvent,e)}render(){return this.state.error?i.createElement(u.A,{className:"mx_MVoiceMessageBody"},(0,a._t)("timeline|m.audio|error_processing_voice_message")):this.state.playback?i.createElement("span",{className:"mx_MVoiceMessageBody"},i.createElement(l.A,{playback:this.state.playback}),this.showFileBody&&i.createElement(d.Ay,(0,s.A)({},this.props,{showGenericPlaceholder:!1}))):i.createElement("span",{className:"mx_MVoiceMessageBody"},i.createElement(r.A,null))}}(0,o.A)(E,"contextType",w.Ay)},"./src/components/views/messages/MessageEvent.tsx"(e,t,n){"use strict";n.d(t,{A:()=>Xt});var s=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),o=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),i=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),r=n("./node_modules/mime/dist/src/index.js"),a=n("./node_modules/react/index.js"),l=n("./node_modules/matrix-js-sdk/src/logger.ts"),c=n("./node_modules/matrix-js-sdk/src/matrix.ts"),d=n("./packages/shared-components/dist/element-web-shared-components.js"),u=n("./src/contexts/LocalDeviceVerificationStateContext.ts"),m=n("./src/settings/SettingsStore.ts"),p=n("./src/mjolnir/Mjolnir.ts"),h=n("./src/components/views/messages/RedactedBody.tsx");const g=({mxEvent:e,ref:t})=>{const n=e.getContent().body;return a.createElement("div",{className:"mx_UnknownBody",ref:t},n)};var v=n("./src/utils/MediaEventHelper.ts"),f=n("./node_modules/html-react-parser/esm/index.mjs"),_=n("./node_modules/matrix-js-sdk/src/pushprocessor.ts"),y=n("./src/HtmlUtils.tsx"),b=n("./src/PlatformPeg.ts"),w=n("./src/components/views/elements/TextWithTooltip.tsx");const E=["children","tooltip"];class A extends a.Component{render(){const e=this.props,{children:t,tooltip:n}=e,i=(0,s.A)(e,E);return a.createElement(w.A,(0,o.A)({tabIndex:-1,tooltip:n,onClick:e=>e.target.blur()},i),t)}}function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach(function(t){(0,i.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const C={a:(e,{isHtml:t})=>{if(!t)return;const n=e.attribs.href;if(n&&n!==(1===(s=e).childNodes.length&&"text"===s.childNodes[0].type?s.childNodes[0].data:null)){let t=n;try{t=new URL(n,window.location.href).toString()}catch{}return a.createElement(A,{tooltip:t},(0,f.zd)([e]))}var s}};var k=n("./node_modules/domutils/lib/esm/index.js"),R=n("./node_modules/react-string-replace/index.js"),I=n.n(R),P=n("./src/components/views/elements/Pill.tsx"),T=n("./src/utils/permalinks/Permalinks.ts");const O=_.j.getPushRuleGlobRegex("@room",!0,"gmi"),M=e=>"PRE"===(null==e?void 0:e.tagName)||"CODE"===(null==e?void 0:e.tagName),N={a:(e,{room:t,shouldShowPillAvatar:n,isHtml:s})=>{if(!t)return;const o=e.attribs.href;return o&&!((e,t)=>{let n=e.parentNode;for(;n;){if(t(n))return!0;n=n.parentNode}return!1})(e,M)&&((e,t,n,s)=>{if(!n)return!1;const o=(0,k.P_)(e);return(!n.eventId||t===o)&&(t===o||s)})(e,o,(0,T.$N)(o),s)?a.createElement(P.a,{url:o,inMessage:!0,room:t,shouldShowPillAvatar:n}):void 0},[Node.TEXT_NODE]:(e,{room:t,mxEvent:n,shouldShowPillAvatar:s})=>{if(!t||!n)return;const o=t.client.pushProcessor.getPushRuleById(void 0!==n.getContent()["m.mentions"]?c.RuleId.IsRoomMention:c.RuleId.AtRoomNotification);if(o&&t.client.pushProcessor.ruleMatchesEvent(o,n)){const n=I()(e.data,O,(e,n)=>a.createElement(P.a,{key:n,type:P.y.AtRoomMention,inMessage:!0,room:t,shouldShowPillAvatar:s}));if(n.length<=1)return;return a.createElement(a.Fragment,null,n)}}},j={[Node.TEXT_NODE]:(e,{keywordRegexpPattern:t})=>{if(!t)return;const n=I()(e.data,t,(e,t)=>a.createElement(P.a,{key:t,text:e,type:P.y.Keyword}));return n.length<=1?void 0:a.createElement(a.Fragment,null,n)}};class D extends a.Component{constructor(e){super(e),(0,i.A)(this,"toggleVisible",e=>{this.state.visible||(e.preventDefault(),e.stopPropagation()),this.setState({visible:!this.state.visible})}),this.state={visible:!1}}render(){const e=this.props.reason?a.createElement("span",{className:"mx_EventTile_spoiler_reason"},"("+this.props.reason+")"):null;return a.createElement("button",{className:"mx_EventTile_spoiler"+(this.state.visible?" visible":""),onClick:this.toggleVisible},e," ",a.createElement("span",{className:"mx_EventTile_spoiler_content"},this.props.children))}}const U={span:(e,t)=>{const n=e.attribs["data-mx-spoiler"];if("string"==typeof n)return a.createElement(D,{reason:n},(0,f.zd)(e.children,{replace:t.replace}))}};var F=n("./node_modules/classnames/index.js"),L=n.n(F),B=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/collapse.js"),V=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/expand.js"),H=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/copy.js"),z=n("./src/hooks/useSettings.ts"),W=n("./src/components/views/elements/CopyableText.tsx");const K=({expanded:e,onClick:t})=>a.createElement("span",{className:"mx_EventTile_button",onClick:t},e?a.createElement(B.A,null):a.createElement(V.A,null)),$=({preNode:e})=>{const t=(0,z.ti)("enableSyntaxHighlightLanguageDetection"),s=(0,z.ti)("showCodeLineNumbers"),o=(0,z.ti)("expandCodeByDefault"),[i,r]=(0,a.useState)(o),l=(0,k.P_)(e);let c;l.split("\n").length>=5&&(c=a.createElement(K,{expanded:i,onClick:()=>{r(!i)}}));const d=(0,k.sV)(e);let u;if(s){const e=d.replace(/\n(<\/code>)?$/,"").split(/\n/).length;u=a.createElement("span",{className:"mx_EventTile_lineNumbers"},Array.from({length:e},(e,t)=>t+1).map(e=>a.createElement("span",{key:e},e)))}let m=(0,f.zd)(e.children);return e.children.some(e=>e instanceof f.Hg&&"CODE"===e.tagName.toUpperCase())||(m=a.createElement("code",null,m)),a.createElement("div",{className:"mx_EventTile_pre_container"},a.createElement("pre",{className:L()({mx_EventTile_collapsedCodeBlock:!i})},u,a.createElement("div",{style:{display:"contents"},ref:function(e){!async function(e){const s=null==e?void 0:e.getElementsByTagName("code")[0];if(!s)return;const{default:o}=await n.e(458).then(n.bind(n,"./node_modules/highlight.js/es/index.js"));if(s.textContent&&s.textContent.length>4096)return void console.log(`Code block is bigger than highlight limit (${s.textContent.length} > 4096): not highlighting`);let i;for(const e of s.className.split(/\s+/))if(e.startsWith("language-")){const t=e.split("-",2)[1];if(o.getLanguage(t)){i=t;break}}var r;if(i)s.innerHTML=o.highlight(null!==(r=s.textContent)&&void 0!==r?r:"",{language:i}).value;else if(t){var a;s.innerHTML=o.highlightAuto(null!==(a=s.textContent)&&void 0!==a?a:"").value}}(e)}},m)),c,a.createElement(W.l,{getTextToCopy:()=>l,className:L()("mx_EventTile_button mx_EventTile_copyButton",{mx_EventTile_buttonBottom:!!c})},a.createElement(H.A,null)))},J={pre:e=>a.createElement($,{preNode:e})};var G=n("./src/contexts/MatrixClientContext.tsx"),q=n("./src/utils/arrays.ts"),Y=n("./src/hooks/useMediaVisible.ts");const Z=["as","mxEvent","stripReply","content","linkify","highlights","includeDir","ref"],Q=(e,t,n)=>{var s;const o=null!==(s=(0,a.useContext)(G.Ay).getRoom(null==t?void 0:t.getRoomId()))&&void 0!==s?s:void 0,i=(0,z.ti)("Pill.shouldShowPillAvatar"),r="org.matrix.custom.html"===e.format,l=(0,a.useMemo)(()=>{var e;const s=t?(e=>{var t;const n=e.getPushDetails();if(null!==(t=n.rule)&&void 0!==t&&t.enabled&&n.rule.kind===c.PushRuleKind.ContentSpecific&&n.rule.pattern)return _.j.getPushRuleGlobRegex(n.rule.pattern,!0,"gi")})(t):void 0;return((...e)=>t=>{const n=(t,n)=>{if("text"===t.type)for(const i of e){var o;const e=null===(o=i[Node.TEXT_NODE])||void 0===o?void 0:o.call(i,t,s,n);if(e)return e}if(t instanceof f.Hg){const o=t.tagName.toLowerCase();for(const r of e){var i;const e=null===(i=r[o])||void 0===i?void 0:i.call(r,t,s,n);if(e)return e}}},s=S(S({},t),{},{replace:n});return n})(...(0,q.Bo)([n.renderMentionPills?N:void 0,n.renderKeywordPills&&s?j:void 0,n.renderTooltipsForAmbiguousLinks&&null!==(e=b.A.get())&&void 0!==e&&e.needsUrlTooltips()?C:void 0,n.renderSpoilers?U:void 0,n.renderCodeBlocks?J:void 0]))({isHtml:r,mxEvent:t,room:o,shouldShowPillAvatar:i,keywordRegexpPattern:s})},[t,n.renderMentionPills,n.renderKeywordPills,n.renderTooltipsForAmbiguousLinks,n.renderSpoilers,n.renderCodeBlocks,r,o,i]);return l},X=(0,a.memo)(e=>{let{as:t,mxEvent:n,stripReply:o,content:i,linkify:r,highlights:l,includeDir:d=!0,ref:u}=e,m=(0,s.A)(e,Z);const p=(0,z.ti)("TextualBody.enableBigEmoji"),[h]=(0,Y.E)(n),g=Q(i,n,m),v=i.msgtype===c.MsgType.Emote,{strippedBody:_,formattedBody:b,emojiBodyElements:w,className:E}=(0,a.useMemo)(()=>(0,y.qy)(i,l,{disableBigEmoji:v||!p,stripReplyFallback:o,mediaIsVisible:h,linkify:r}),[i,h,p,l,v,o,r]);"div"===t&&(d=!0);const A=t,x=b?a.createElement(A,{ref:u,className:E,dir:d?"auto":void 0},(0,f.Ay)(b,{replace:g})):a.createElement(A,{ref:u,className:E,dir:d?"auto":void 0},function(e,t){return t?(Array.isArray(e)?e:[e]).map((e,n)=>"string"==typeof e?a.createElement(a.Fragment,{key:n},t(new f.EY(e),0)||e):e):e}(w||_,g));return x});var ee=n("./src/DateUtils.ts"),te=n("./src/Modal.tsx"),ne=n("./src/dispatcher/dispatcher.ts"),se=n("./src/languageHandler.tsx"),oe=n("./src/integrations/IntegrationManagers.ts"),ie=n("./src/dispatcher/actions.ts"),re=n("./src/components/views/dialogs/QuestionDialog.tsx"),ae=n("./src/MatrixClientPeg.ts"),le=n("./src/components/views/dialogs/BaseDialog.tsx"),ce=n("./src/components/structures/ScrollPanel.tsx"),de=n("./src/components/views/elements/Spinner.tsx"),ue=n("./node_modules/diff-match-patch/index.js"),me=n.n(ue),pe=n("./node_modules/diff-dom/dist/module.js"),he=n("./node_modules/lodash/unescape.js");function ge(e){const t={stripReplyFallback:!0};return"org.matrix.custom.html"===e.format?(0,y.rR)(e,void 0,t):function(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}((0,y.rR)(e,void 0,t))}function ve(e){const t=document.createElement((0,y.aA)(e)?"div":"span");return t.className="mx_EditHistoryMessage_insertion",t.appendChild(e),t}function fe(e){const t=document.createElement((0,y.aA)(e)?"div":"span");return t.className="mx_EditHistoryMessage_deletion",t.appendChild(e),t}function _e(e){if("#text"===e.nodeName)return Ee(e.data);{const t=document.createElement(e.nodeName);for(const[n,s]of Object.entries(e.attributes))t.setAttribute(n,s.value);if(e.childNodes)for(const n of e.childNodes)t.appendChild(_e(n));return t}}function ye(e,t,n){t?e.insertBefore(n,t):e.appendChild(n)}function be(e,t){for(let n=0;n<e.length-1;++n)if(e[n]!==t[n])return!1;const n=e.length-1;return t[n]>=e[n]}function we(e,t){if("removeTextElement"===e.action||"removeElement"===e.action){const n=1;for(const s of t)be(e.route,s.route)&&(s.route[e.route.length-1]+=n)}}function Ee(e){return document.createTextNode((0,he.A)(e))}function Ae(e,t,n){const{refNode:s,refParentNode:o}=function(e,t,n=!1){let s,o=e;const i=n?t.length-1:t.length;for(let e=0;e<i;++e){var r;s=o,o=null===(r=o)||void 0===r?void 0:r.childNodes[t[e]]}return{refNode:o,refParentNode:s}}(e,t.route);switch(t.action){case"replaceElement":{if(!s)return void console.warn("Unable to apply replaceElement operation due to missing node");const e=document.createElement("span"),n=fe(_e(t.oldValue)),o=ve(_e(t.newValue));e.appendChild(n),e.appendChild(o),s.parentNode.replaceChild(e,s);break}case"removeTextElement":{if(!s)return void console.warn("Unable to apply removeTextElement operation due to missing node");const e=fe(Ee(t.value));s.parentNode.replaceChild(e,s);break}case"removeElement":{if(!s)return void console.warn("Unable to apply removeElement operation due to missing node");const e=fe(_e(t.element));s.parentNode.replaceChild(e,s);break}case"modifyTextElement":{if(!s)return void console.warn("Unable to apply modifyTextElement operation due to missing node");const e=n.diff_main(t.oldValue,t.newValue);n.diff_cleanupSemantic(e);const o=document.createElement("span");for(const[t,n]of e){let e=Ee(n);t<0?e=fe(e):t>0&&(e=ve(e)),o.appendChild(e)}s.parentNode.replaceChild(o,s);break}case"addElement":if(!o)return void console.warn("Unable to apply addElement operation due to missing node");ye(o,s,ve(_e(t.element)));break;case"addTextElement":if(!o)return void console.warn("Unable to apply addTextElement operation due to missing node");ye(o,s,ve(Ee("\n"!==t.value?t.value:"")));break;case"removeAttribute":case"addAttribute":case"modifyAttribute":{if(!s)return void console.warn(`Unable to apply ${t.action} operation due to missing node`);const e=fe(s.cloneNode(!0)),n=s.cloneNode(!0);"addAttribute"===t.action||"modifyAttribute"===t.action?n.setAttribute(t.name,t.newValue):n.removeAttribute(t.name);const o=ve(n),i=document.createElement((0,y.aA)(s)?"div":"span");i.appendChild(e),i.appendChild(o),s.parentNode.replaceChild(i,s);break}default:l.vF.warn("MessageDiffUtils::editBodyDiffToHtml: diff action not supported atm",t)}}var xe=n("./src/components/views/elements/AccessibleButton.tsx"),Se=n("./src/components/views/dialogs/ConfirmRedactDialog.tsx"),Ce=n("./src/components/views/dialogs/ErrorDialog.tsx");class ke extends a.PureComponent{constructor(e){super(e),(0,i.A)(this,"onParentFinished",async e=>{if(e){this.setState({isRedacting:!0});try{await this.props.redact(),this.props.onFinished(!0)}catch(e){let t;e instanceof c.MatrixError?t=e.errcode:e instanceof c.HTTPError&&(t=e.httpStatus),void 0!==t?this.setState({redactionErrorCode:t}):this.props.onFinished(!0)}}else this.props.onFinished(!1)}),this.state={isRedacting:!1,redactionErrorCode:null}}render(){if(this.state.isRedacting){if(this.state.redactionErrorCode){const e=this.state.redactionErrorCode;return a.createElement(Ce.A,{onFinished:this.props.onFinished,title:(0,se._t)("common|error"),description:(0,se._t)("redact|error",{code:e})})}return a.createElement(le.A,{onFinished:this.props.onFinished,hasCancel:!1,title:(0,se._t)("redact|ongoing")},a.createElement(de.A,null))}return a.createElement(Se.A,{event:this.props.event,onFinished:this.onParentFinished})}}var Re=n("./src/components/structures/ViewSource.tsx");function Ie(e){const t=e.getOriginalContent();return t["m.new_content"]||t}class Pe extends a.PureComponent{constructor(e,t){var n,s;super(e,t),(0,i.A)(this,"content",(0,a.createRef)()),(0,i.A)(this,"onAssociatedStatusChanged",()=>{this.setState({sendStatus:this.props.mxEvent.getAssociatedStatus()})}),(0,i.A)(this,"onRedactClick",async()=>{const e=this.props.mxEvent,t=this.context;te.Ay.createDialog(ke,{event:e,redact:async()=>{await t.redactEvent(e.getRoomId(),e.getId())}},"mx_Dialog_confirmredact")}),(0,i.A)(this,"onViewSourceClick",()=>{te.Ay.createDialog(Re.A,{mxEvent:this.props.mxEvent,ignoreEdits:!0},"mx_Dialog_viewsource")});const o=this.context,r=o.getSafeUserId(),l=this.props.mxEvent,d=o.getRoom(l.getRoomId());null===(n=l.localRedactionEvent())||void 0===n||n.on(c.MatrixEventEvent.Status,this.onAssociatedStatusChanged);const u=null!==(s=null==d?void 0:d.currentState.maySendRedactionForEvent(l,r))&&void 0!==s&&s;this.state={canRedact:u,sendStatus:l.getAssociatedStatus()}}componentWillUnmount(){var e;null===(e=this.props.mxEvent.localRedactionEvent())||void 0===e||e.off(c.MatrixEventEvent.Status,this.onAssociatedStatusChanged)}renderActionBar(){let e,t;return this.props.mxEvent.isRedacted()||this.props.isBaseEvent||!this.state.canRedact||(e=a.createElement(xe.A,{onClick:this.onRedactClick},(0,se._t)("action|remove"))),m.A.getValue("developerMode")&&(t=a.createElement(xe.A,{onClick:this.onViewSourceClick},(0,se._t)("action|view_source"))),e||t?a.createElement("div",{className:"mx_MessageActionBar"},e,t):null}render(){const{mxEvent:e}=this.props,t=Ie(e);let n;if(e.isRedacted())n=a.createElement(h.A,{mxEvent:this.props.mxEvent});else{let s;if(s=this.props.previousEdit?function(e,t){const n=`<div>${ge(e)}</div>`,s=`<div>${ge(t)}</div>`,o=(new pe.ad).diff(n,s),i=new(me()),r=(new DOMParser).parseFromString(n,"text/html").body.children[0];for(let e=0;e<o.length;++e){const t=o[e];Ae(r,t,i),we(t,o.slice(e+1))}const l=r.innerHTML,c=L()({mx_EventTile_body:!0,"markdown-body":!0});return a.createElement("span",{key:"body",className:c,dangerouslySetInnerHTML:{__html:l},dir:"auto"})}(Ie(this.props.previousEdit),t):a.createElement(X,{as:"span",mxEvent:e,content:t,highlights:[],stripReply:!0,renderTooltipsForAmbiguousLinks:!0,renderMentionPills:!0,renderCodeBlocks:!0,renderSpoilers:!0,linkify:!0}),e.getContent().msgtype===c.MsgType.Emote){const t=e.sender?e.sender.name:e.getSender();n=a.createElement("div",{className:"mx_EventTile_content",ref:this.content},"* ",a.createElement("span",{className:"mx_MEmoteBody_sender"},t)," ",s)}else n=a.createElement("div",{className:"mx_EventTile_content",ref:this.content},s)}const s=(0,ee.fU)(new Date(e.getTs()),this.props.isTwelveHour),o=["sending","queued","encrypting"].includes(this.state.sendStatus),i=L()("mx_EventTile",{mx_EventTile_sending:o});return a.createElement("li",null,a.createElement("div",{className:i},a.createElement("div",{className:"mx_EventTile_line"},a.createElement("span",{className:"mx_MessageTimestamp"},s),n,this.renderActionBar())))}}(0,i.A)(Pe,"contextType",G.Ay);var Te=n("./src/components/views/messages/DateSeparator.tsx");class Oe extends a.PureComponent{constructor(e){super(e),(0,i.A)(this,"loadMoreEdits",async e=>{var t,n,s,o;if(e||!this.state.nextBatch&&!this.state.isLoading)return!1;const i={from:null!==(t=this.state.nextBatch)&&void 0!==t?t:void 0},r=this.props.mxEvent.getRoomId(),a=this.props.mxEvent.getId(),d=ae.J.safeGet(),{resolve:u,reject:m,promise:p}=Promise.withResolvers();let h;try{h=await d.relations(r,a,c.RelationType.Replace,c.EventType.RoomMessage,i)}catch(e){return e instanceof c.MatrixError&&e.errcode&&l.vF.error("fetching /relations failed with error",e),this.setState({error:e},()=>m(e)),p}const g=h.events;return this.locallyRedactEventsIfNeeded(g),this.setState({originalEvent:null!==(n=null!==(s=this.state.originalEvent)&&void 0!==s?s:h.originalEvent)&&void 0!==n?n:null,events:this.state.events.concat(g),nextBatch:null!==(o=h.nextBatch)&&void 0!==o?o:null,isLoading:!1},()=>{const e=!!this.state.nextBatch;u(e)}),p}),this.state={originalEvent:null,error:null,events:[],nextBatch:null,isLoading:!0,isTwelveHour:m.A.getValue("showTwelveHourTimestamps")}}locallyRedactEventsIfNeeded(e){const t=this.props.mxEvent.getRoomId(),n=ae.J.safeGet().getRoom(t);if(!n)return;const s=n.getPendingEvents();for(const t of e){const e=s.find(e=>e.getType()===c.EventType.RoomRedaction&&e.getAssociatedId()===t.getId());e&&t.markLocallyRedacted(e)}}componentDidMount(){this.loadMoreEdits()}renderEdits(){const e=[];let t,n=this.state.events;this.state.originalEvent&&!this.state.nextBatch&&(n=n.concat(this.state.originalEvent));const s=this.props.mxEvent.getId();return n.forEach((o,i)=>{t&&!(0,ee.fq)(t.getDate()||void 0,o.getDate()||void 0)||e.push(a.createElement("li",{key:o.getTs()+"~"},a.createElement(Te.A,{roomId:o.getRoomId(),ts:o.getTs()})));const r=o.getId()===s;e.push(a.createElement(Pe,{key:o.getId(),previousEdit:r?void 0:n[i+1],isBaseEvent:r,mxEvent:o,isTwelveHour:this.state.isTwelveHour})),t=o}),e}render(){let e;if(this.state.error){const{error:t}=this.state;e="M_UNRECOGNIZED"===t.errcode?a.createElement("p",{className:"mx_MessageEditHistoryDialog_error"},(0,se._t)("error|edit_history_unsupported")):t.errcode?a.createElement("p",{className:"mx_MessageEditHistoryDialog_error"},(0,se._t)("error|something_went_wrong")):a.createElement("p",{className:"mx_MessageEditHistoryDialog_error"},(0,se._t)("cannot_reach_homeserver"),a.createElement("br",null),(0,se._t)("cannot_reach_homeserver_detail"))}else e=this.state.isLoading?a.createElement(de.A,null):a.createElement(ce.A,{className:"mx_MessageEditHistoryDialog_scrollPanel",onFillRequest:this.loadMoreEdits,stickyBottom:!1,startAtBottom:!1},a.createElement("ul",{className:"mx_MessageEditHistoryDialog_edits"},this.renderEdits()));return a.createElement(le.A,{className:"mx_MessageEditHistoryDialog",hasCancel:!0,onFinished:this.props.onFinished,title:(0,se._t)("message_edit_dialog_title")},e)}}var Me=n("./src/editor/model.ts"),Ne=n("./src/editor/dom.ts"),je=n("./src/editor/serialize.ts"),De=n("./src/utils/EventUtils.ts"),Ue=n("./src/editor/deserialize.ts"),Fe=n("./src/editor/parts.ts"),Le=n("./src/components/views/rooms/BasicMessageComposer.tsx"),Be=n("./src/slash-commands/SlashCommands.tsx"),Ve=n("./src/KeyBindingsManager.ts"),He=n("./src/SendHistoryManager.ts"),ze=n("./src/contexts/RoomContext.ts"),We=n("./src/dispatcher/payloads/ComposerInsertPayload.ts"),Ke=n("./src/editor/commands.tsx"),$e=n("./src/accessibility/KeyboardShortcuts.ts"),Je=n("./src/PosthogAnalytics.ts"),Ge=n("./src/Editing.ts"),qe=n("./src/utils/messages.ts");function Ye(e,t,n){const s=(0,je.ID)(e);s&&(e=(0,je.k$)(e));const o=(0,je.OA)(e),i={msgtype:s?c.MsgType.Emote:c.MsgType.Text,body:o},r={msgtype:i.msgtype,body:`* ${o}`,"m.new_content":i},a=(0,je.MN)(e,{useMarkdown:m.A.getValue("MessageComposerInput.useMarkdown")});return a&&(i.format="org.matrix.custom.html",i.formatted_body=a,r.format=i.format,r.formatted_body=`* ${a}`),(0,qe.L)(t.sender.userId,r,e,n,t.getContent()),(0,qe.g)(r,{rel_type:"m.replace",event_id:t.getId()}),r}class Ze extends a.Component{constructor(e,t){var n;super(e,t),(0,i.A)(this,"editorRef",(0,a.createRef)()),(0,i.A)(this,"dispatcherRef",void 0),(0,i.A)(this,"replyToEvent",void 0),(0,i.A)(this,"model",void 0),(0,i.A)(this,"onKeyDown",e=>{var t;if(null!==(t=this.editorRef.current)&&void 0!==t&&t.isComposing(e))return;switch((0,Ve.zM)().getMessageComposerAction(e)){case $e.bY.SendMessage:this.sendEdit(),e.stopPropagation(),e.preventDefault();break;case $e.bY.CancelReplyOrEdit:e.stopPropagation(),this.cancelEdit();break;case $e.bY.EditPrevMessage:{var n,s;if(null!==(n=this.editorRef.current)&&void 0!==n&&n.isModified()||null===(s=this.editorRef.current)||void 0===s||!s.isCaretAtStart())return;const t=(0,De.Iy)({events:this.events,isForward:!1,fromEventId:this.props.editState.getEvent().getId(),matrixClient:ae.J.safeGet()});t&&(ne.A.dispatch({action:ie.r.EditEvent,event:t,timelineRenderingType:this.context.timelineRenderingType}),e.preventDefault());break}case $e.bY.EditNextMessage:{var o,i;if(null!==(o=this.editorRef.current)&&void 0!==o&&o.isModified()||null===(i=this.editorRef.current)||void 0===i||!i.isCaretAtEnd())return;const t=(0,De.Iy)({events:this.events,isForward:!0,fromEventId:this.props.editState.getEvent().getId(),matrixClient:ae.J.safeGet()});t?ne.A.dispatch({action:ie.r.EditEvent,event:t,timelineRenderingType:this.context.timelineRenderingType}):this.cancelEdit(),e.preventDefault();break}}}),(0,i.A)(this,"cancelEdit",()=>{this.endEdit()}),(0,i.A)(this,"saveStoredEditorState",()=>{const e=He.A.createItem(this.model);this.clearPreviousEdit(),localStorage.setItem(this.editorRoomKey,this.props.editState.getEvent().getId()),localStorage.setItem(this.editorStateKey,JSON.stringify(e))}),(0,i.A)(this,"sendEdit",async()=>{if(this.state.saveDisabled)return;const e=this.props.editState.getEvent();if(Je.Vo.instance.trackEvent({eventName:"Composer",isEditing:!0,messageType:"Text",inThread:!(null==e||!e.getThread()),isReply:!!e.replyEventId}),m.A.getValue("MessageComposerInput.autoReplaceEmoji")&&this.editorRef.current){const e=this.editorRef.current.getCaret(),t=this.model.positionForOffset(e.offset,e.atNodeEnd);this.editorRef.current.replaceEmoticon(t,Le.v)}const t=Ye(this.model,e,this.replyToEvent),n=t["m.new_content"];let s=!0;if(""===(null==n?void 0:n.body))return this.cancelPreviousPendingEdit(),void(0,Se.Q)({mxEvent:e,onCloseDialog:()=>{this.cancelEdit()}});if(this.isContentModified(n)){const n=e.getRoomId();if(!(0,je.ID)(this.model)&&(0,Ke.nU)(this.model)){const[i,r,a]=(0,Ke.Dr)(n,this.model);if(i){var o;const a=(null==e||null===(o=e.getThread())||void 0===o?void 0:o.id)||null,[l,c]=await(0,Ke.m8)(ae.J.safeGet(),i,r,n,a);if(!c)return;i.category===Be.ge.messages||i.category===Be.ge.effects?t["m.new_content"]=l:s=!1}else{const e=await(0,Ke.d8)(a);if(ne.A.dispatch({action:ie.r.FocusAComposer,context:this.context.timelineRenderingType}),!e)return}}if(s){this.cancelPreviousPendingEdit();const e=this.props.editState.getEvent().threadRootId||null;this.props.mxClient.sendMessage(n,e,t),ne.A.dispatch({action:"message_sent"})}}this.endEdit()}),(0,i.A)(this,"onChange",()=>{var e;this.state.saveDisabled&&null!==(e=this.editorRef.current)&&void 0!==e&&e.isModified()&&this.setState({saveDisabled:!1})}),(0,i.A)(this,"onAction",e=>{if(this.editorRef.current)if(e.action===ie.r.ComposerInsert){if(e.timelineRenderingType!==this.context.timelineRenderingType)return;if(e.composerType!==We.D.Edit)return;var t;if(e.userId)null===(t=this.editorRef.current)||void 0===t||t.insertMention(e.userId);else if(e.event){var n;null===(n=this.editorRef.current)||void 0===n||n.insertQuotedMessage(e.event)}else if(e.text){var s;null===(s=this.editorRef.current)||void 0===s||s.insertPlaintext(e.text)}}else e.action===ie.r.FocusEditMessageComposer&&this.editorRef.current.focus()});const s=this.createEditorModel(),o=this.props.editState.getEvent();this.replyToEvent=o.replyEventId?null===(n=this.context.room)||void 0===n?void 0:n.findEventById(o.replyEventId):void 0;const r=Ye(this.model,o,this.replyToEvent);this.state={saveDisabled:!s||!this.isContentModified(r["m.new_content"])}}componentDidMount(){window.addEventListener("beforeunload",this.saveStoredEditorState),this.dispatcherRef=ne.A.register(this.onAction)}getRoom(){if(!this.context.room)throw new Error("Cannot render without room");return this.context.room}endEdit(){localStorage.removeItem(this.editorRoomKey),localStorage.removeItem(this.editorStateKey),ne.A.dispatch({action:ie.r.EditEvent,event:null,timelineRenderingType:this.context.timelineRenderingType}),ne.A.dispatch({action:ie.r.FocusSendMessageComposer,context:this.context.timelineRenderingType})}get editorRoomKey(){return(0,Ge.O)(this.props.editState.getEvent().getRoomId(),this.context.timelineRenderingType)}get editorStateKey(){return(0,Ge.S)(this.props.editState.getEvent().getId())}get events(){var e;const t=null===(e=this.context.liveTimeline)||void 0===e?void 0:e.getEvents(),n=this.getRoom();if(!t||!n)return[];const s=n.getPendingEvents(),o=Boolean(this.props.editState.getEvent().getThread());return t.concat(o?[]:s)}get shouldSaveStoredEditorState(){return null!==localStorage.getItem(this.editorRoomKey)}restoreStoredEditorState(e){const t=localStorage.getItem(this.editorStateKey);if(t)try{const{parts:n}=JSON.parse(t);return n.map(t=>e.deserializePart(t))}catch(e){l.vF.error("Error parsing editing state: ",e)}}clearPreviousEdit(){localStorage.getItem(this.editorRoomKey)&&localStorage.removeItem(`mx_edit_state_${localStorage.getItem(this.editorRoomKey)}`)}isContentModified(e){const t=this.props.editState.getEvent().getContent();return t.msgtype!==e.msgtype||t.body!==e.body||t.format!==e.format||t.formatted_body!==e.formatted_body}cancelPreviousPendingEdit(){const e=this.props.editState.getEvent().replacingEvent();!e||e.status!==c.EventStatus.QUEUED&&e.status!==c.EventStatus.NOT_SENT||this.props.mxClient.cancelPendingEvent(e)}componentWillUnmount(){var e;const t=document.getSelection();let n;t.focusNode&&null!==(e=this.editorRef.current)&&void 0!==e&&e.editorRef.current&&(n=(0,Ne.xo)(this.editorRef.current.editorRef.current,t).caret);const s=this.model.serializeParts();this.props.editState.setEditorState(null!=n?n:null,s),window.removeEventListener("beforeunload",this.saveStoredEditorState),this.shouldSaveStoredEditorState&&this.saveStoredEditorState(),ne.A.unregister(this.dispatcherRef)}createEditorModel(){const{editState:e}=this.props,t=this.getRoom(),n=new Fe.dK(t,this.props.mxClient);let s,o=!1;if(e.hasEditorState())s=(0,q.Bo)(e.getSerializedParts().map(e=>n.deserializePart(e)));else{const t=this.restoreStoredEditorState(n);s=t||(0,Ue.wj)(e.getEvent(),n,{shouldEscape:m.A.getValue("MessageComposerInput.useMarkdown")}),o=!!t}return this.model=new Me.A(s,n),this.saveStoredEditorState(),o}render(){var e,t;const n=this.getRoom();return n?a.createElement("div",{className:L()("mx_EditMessageComposer",this.props.className),onKeyDown:this.onKeyDown},a.createElement(Le.A,{ref:this.editorRef,model:this.model,room:n,threadId:null===(e=this.props.editState)||void 0===e||null===(e=e.getEvent())||void 0===e||null===(e=e.getThread())||void 0===e?void 0:e.id,initialCaret:null!==(t=this.props.editState.getCaret())&&void 0!==t?t:void 0,label:(0,se._t)("composer|edit_composer_label"),onChange:this.onChange}),a.createElement("div",{className:"mx_EditMessageComposer_buttons"},a.createElement(xe.A,{kind:"secondary",onClick:this.cancelEdit},(0,se._t)("action|cancel")),a.createElement(xe.A,{kind:"primary",onClick:this.sendEdit,disabled:this.state.saveDisabled},(0,se._t)("action|save")))):null}}(0,i.A)(Ze,"contextType",ze.Ay);const Qe=(0,G.dt)(Ze);var Xe=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),et=n("./src/hooks/useStateToggle.ts"),tt=n("./node_modules/html-entities/dist/esm/index.js");var nt=n("./src/customisations/Media.ts"),st=n("./src/components/views/elements/ImageView.tsx");class ot extends a.Component{constructor(...e){super(...e),(0,i.A)(this,"image",(0,a.createRef)()),(0,i.A)(this,"onImageClick",e=>{var t;const n=this.props.preview;if(0!=e.button||e.metaKey)return;e.preventDefault();let s=n["og:image"];if(null!==(t=s)&&void 0!==t&&t.startsWith("mxc://")&&(s=(0,nt.mediaFromMxc)(s).srcHttp),!s)return;const o={src:s,width:n["og:image:width"],height:n["og:image:height"],name:n["og:title"]||n["og:description"]||this.props.link,fileSize:n["matrix:image:size"],link:this.props.link};if(this.image.current){const e=this.image.current.getBoundingClientRect();o.thumbnailInfo={width:e.width,height:e.height,positionX:e.x,positionY:e.y}}te.Ay.createDialog(st.A,o,"mx_Dialog_lightbox",void 0,!0)})}render(){var e,t,n,s,o;const i=this.props.preview;let r=null!==(e=i["og:image"])&&void 0!==e?e:null;this.props.mediaVisible||(r=null);const l=100;r&&r.startsWith("mxc://")&&(r=(0,nt.mediaFromMxc)(r).getThumbnailOfSourceHttp(100,l,"scale"));const c=null!==(t=function(e,t,n,s){if(!e||!t)return null;if(e<n&&t<s)return t;const o=n/e,i=s/t;return o<i?Math.floor(o*t):Math.floor(i*t)}(i["og:image:width"],i["og:image:height"],100,l))&&void 0!==t?t:l;let d;r&&(d=a.createElement("div",{className:"mx_LinkPreviewWidget_image",style:{height:c}},a.createElement("img",{ref:this.image,style:{maxWidth:100,maxHeight:l},src:r,onClick:this.onImageClick,alt:""})));const u=(0,tt.D4)(i["og:description"]||""),m=null!==(n=null===(s=i["og:title"])||void 0===s?void 0:s.trim())&&void 0!==n?n:"",p=a.createElement("a",{href:this.props.link,target:"_blank",rel:"noreferrer noopener"},m),h=(null===(o=b.A.get())||void 0===o?void 0:o.needsUrlTooltips())&&this.props.link!==m;return a.createElement("div",{className:"mx_LinkPreviewWidget"},a.createElement("div",{className:"mx_LinkPreviewWidget_wrapImageCaption"},d,a.createElement("div",{className:"mx_LinkPreviewWidget_caption"},a.createElement("div",{className:"mx_LinkPreviewWidget_title"},h?a.createElement(A,{tooltip:new URL(this.props.link,window.location.href).toString()},p):p,i["og:site_name"]&&a.createElement("span",{className:"mx_LinkPreviewWidget_siteName"}," - "+i["og:site_name"])),a.createElement("div",{className:"mx_LinkPreviewWidget_description"},a.createElement(y.XZ,null,u)))),this.props.children)}}var it=n("./src/hooks/useAsyncMemo.ts");const rt=(e,t,n)=>Promise.all(t.map(async t=>{try{var s;const o=await e.getUrlPreview(t,n);if(null!=o&&null!==(s=o["og:image"])&&void 0!==s&&s.startsWith("mxc://")||null!=o&&o["og:description"]||null!=o&&o["og:title"])return[t,o]}catch(e){e instanceof c.MatrixError&&404===e.httpStatus?l.vF.debug("Failed to get URL preview: ",e):l.vF.error("Failed to get URL preview: ",e)}})).then(e=>e.filter(Boolean)),at=({links:e,mxEvent:t,onCancelClick:n})=>{const s=(0,a.useContext)(G.Ay),[o,i]=(0,et.X)(),[r]=(0,Y.E)(t),l=t.getTs(),c=(0,it.e)(async()=>rt(s,e,l),[e,l],[]),d=o?c:c.slice(0,2);let u;return c.length>2&&(u=a.createElement(xe.A,{onClick:i},o?(0,se._t)("action|collapse"):(0,se._t)("timeline|url_preview|show_n_more",{count:c.length-d.length}))),a.createElement("div",{className:"mx_LinkPreviewGroup"},d.map(([e,s],o)=>a.createElement(ot,{mediaVisible:r,key:e,link:e,preview:s,mxEvent:t},0===o?a.createElement(xe.A,{className:"mx_LinkPreviewGroup_hide",onClick:n,"aria-label":(0,se._t)("timeline|url_preview|close")},a.createElement(Xe.A,{width:"20px",height:"20px"})):void 0)),u)};var lt=n("./src/linkify-matrix.ts"),ct=n("./src/utils/Reply.ts"),dt=n("./src/components/views/rooms/wysiwyg_composer/index.ts");class ut extends a.Component{constructor(...e){super(...e),(0,i.A)(this,"contentRef",(0,a.createRef)()),(0,i.A)(this,"state",{links:[],widgetHidden:!1}),(0,i.A)(this,"onCancelClick",()=>{this.setState({widgetHidden:!0}),n.g.localStorage&&n.g.localStorage.setItem("hide_preview_"+this.props.mxEvent.getId(),"1"),this.forceUpdate()}),(0,i.A)(this,"onEmoteSenderClick",()=>{const e=this.props.mxEvent;ne.A.dispatch({action:ie.r.ComposerInsert,userId:e.getSender(),timelineRenderingType:this.context.timelineRenderingType})}),(0,i.A)(this,"onBodyLinkClick",e=>{let t=e.target;if(t.classList.contains(lt.fF.className))return;if("A"!==t.nodeName&&(t=t.closest("a")),!t)return;const n=(0,T.uK)(t.href);n!==t.href&&(e.preventDefault(),window.location.hash=n)}),(0,i.A)(this,"getEventTileOps",()=>({isWidgetHidden:()=>this.state.widgetHidden,unhideWidget:()=>{this.setState({widgetHidden:!1}),n.g.localStorage&&n.g.localStorage.removeItem("hide_preview_"+this.props.mxEvent.getId())}})),(0,i.A)(this,"onStarterLinkClick",(e,t)=>{t.preventDefault();const n=oe.J.sharedInstance();if(!n.hasManager())return void n.openNoManagerDialog();const s=n.getPrimaryManager(),o=null==s?void 0:s.getScalarClient();null==o||o.connect().then(()=>{const t=o.getStarterLink(e),n=s.uiUrl,{finished:i}=te.Ay.createDialog(re.A,{title:(0,se._t)("timeline|scalar_starter_link|dialog_title"),description:a.createElement("div",null,(0,se._t)("timeline|scalar_starter_link|dialog_description",{integrationsUrl:n})),button:(0,se._t)("action|continue")});i.then(([e])=>{if(!e)return;const n=window.screen.width>1024?1024:window.screen.width,s=window.screen.height>800?800:window.screen.height,o=(window.screen.width-n)/2,i=`height=${s}, width=${n}, top=${(window.screen.height-s)/2}, left=${o},`;window.open(t,"_blank",i).opener=null})})}),(0,i.A)(this,"openHistoryDialog",async()=>{te.Ay.createDialog(Oe,{mxEvent:this.props.mxEvent})})}componentDidMount(){this.props.editState||this.applyFormatting()}applyFormatting(){this.calculateUrlPreview()}componentDidUpdate(e){if(!this.props.editState){const t=e.editState&&!this.props.editState,n=e.replacingEventId!==this.props.replacingEventId,s=e.showUrlPreview!==this.props.showUrlPreview;(n||t||s)&&this.applyFormatting()}}shouldComponentUpdate(e,t){return e.mxEvent.getId()!==this.props.mxEvent.getId()||e.highlights!==this.props.highlights||e.replacingEventId!==this.props.replacingEventId||e.highlightLink!==this.props.highlightLink||e.showUrlPreview!==this.props.showUrlPreview||e.editState!==this.props.editState||t.links!==this.state.links||t.widgetHidden!==this.state.widgetHidden||e.isSeeingThroughMessageHiddenForModeration!==this.props.isSeeingThroughMessageHiddenForModeration}calculateUrlPreview(){if(this.props.showUrlPreview&&this.contentRef.current){let e=this.findLinks([this.contentRef.current]);if(e.length){if(e=Array.from(new Set(e)),this.setState({links:e}),window.localStorage){const e=!!window.localStorage.getItem("hide_preview_"+this.props.mxEvent.getId());this.setState({widgetHidden:e})}}else this.state.links.length&&this.setState({links:[]})}}findLinks(e){let t=[];for(let n=0;n<e.length;n++){const s=e[n];if("A"===s.tagName&&s.getAttribute("href"))this.isLinkPreviewable(s)&&t.push(s.getAttribute("href"));else{if("PRE"===s.tagName||"CODE"===s.tagName||"BLOCKQUOTE"===s.tagName)continue;s.children&&s.children.length&&(t=t.concat(this.findLinks(s.children)))}}return t}isLinkPreviewable(e){var t,n,s,o;const i=null!==(t=e.getAttribute("href"))&&void 0!==t?t:"";if(!i.startsWith("http://")&&!i.startsWith("https://"))return!1;const r=e.getAttribute("href"),a=null==r||null===(n=r.match(/^https?:\/\/(.*?)(\/|$)/))||void 0===n?void 0:n[1];return!(!a||(0,T.aW)(a))&&(!(null===(s=e.textContent)||void 0===s||!s.includes("/"))||(null===(o=e.textContent)||void 0===o||!o.toLowerCase().trim().startsWith(a.toLowerCase())))}renderEditedMarker(){const e=this.props.mxEvent.replacingEventDate(),t=e&&(0,ee.Yq)(e);return a.createElement(xe.A,{className:"mx_EventTile_edited",onClick:this.openHistoryDialog,"aria-label":(0,se._t)("timeline|edits|tooltip_label",{date:t}),title:(0,se._t)("timeline|edits|tooltip_title",{date:t}),caption:(0,se._t)("timeline|edits|tooltip_sub")},a.createElement("span",null,`(${(0,se._t)("common|edited")})`))}renderPendingModerationMarker(){let e;const t=this.props.mxEvent.messageVisibility();switch(t.visible){case!0:throw new Error("renderPendingModerationMarker should only be applied to hidden messages");case!1:e=t.reason?(0,se._t)("timeline|pending_moderation_reason",{reason:t.reason}):(0,se._t)("timeline|pending_moderation")}return a.createElement("span",{className:"mx_EventTile_pendingModeration"},`(${e})`)}render(){if(this.props.editState){return m.A.getValue("feature_wysiwyg_composer")?a.createElement(dt.q_,{editorStateTransfer:this.props.editState,className:"mx_EventTile_content"}):a.createElement(Qe,{editState:this.props.editState,className:"mx_EventTile_content"})}const e=this.props.mxEvent,t=e.getContent(),n=t.msgtype===c.MsgType.Notice,s=t.msgtype===c.MsgType.Emote,o=[c.MsgType.Image,c.MsgType.File,c.MsgType.Audio,c.MsgType.Video].includes(t.msgtype),i=this.props.replacingEventId||this.props.isSeeingThroughMessageHiddenForModeration||s,r=!e.replacingEvent()&&!!(0,ct.Ul)(e);let l,d=a.createElement(X,{as:i?"span":"div",includeDir:!1,mxEvent:e,content:t,stripReply:r,linkify:!0,highlights:this.props.highlights,ref:this.contentRef,renderTooltipsForAmbiguousLinks:!0,renderKeywordPills:!0,renderMentionPills:!0,renderCodeBlocks:!0,renderSpoilers:!0});return this.props.replacingEventId&&(d=a.createElement("div",{dir:"auto",className:"mx_EventTile_annotated"},d,this.renderEditedMarker())),this.props.isSeeingThroughMessageHiddenForModeration&&(d=a.createElement("div",{dir:"auto",className:"mx_EventTile_annotated"},d,this.renderPendingModerationMarker())),this.props.highlightLink?d=a.createElement("a",{href:this.props.highlightLink},d):t.data&&"string"==typeof t.data["org.matrix.neb.starter_link"]&&(d=a.createElement(xe.A,{kind:"link_inline",onClick:this.onStarterLinkClick.bind(this,t.data["org.matrix.neb.starter_link"])},d)),this.state.links.length&&!this.state.widgetHidden&&this.props.showUrlPreview&&(l=a.createElement(at,{links:this.state.links,mxEvent:this.props.mxEvent,onCancelClick:this.onCancelClick})),s?a.createElement("div",{id:this.props.id,className:"mx_MEmoteBody mx_EventTile_content",onClick:this.onBodyLinkClick,dir:"auto"},"* ",a.createElement("span",{className:"mx_MEmoteBody_sender",onClick:this.onEmoteSenderClick},e.sender?e.sender.name:e.getSender())," ",d,l):n?a.createElement("div",{id:this.props.id,className:"mx_MNoticeBody mx_EventTile_content",onClick:this.onBodyLinkClick},d,l):o?a.createElement("div",{id:this.props.id,className:"mx_MTextBody mx_EventTile_caption",onClick:this.onBodyLinkClick},d,l):a.createElement("div",{id:this.props.id,className:"mx_MTextBody mx_EventTile_content",onClick:this.onBodyLinkClick},d,l)}}(0,i.A)(ut,"contextType",ze.Ay);var mt=n("./src/components/views/messages/MImageBody.tsx"),pt=n("./src/components/views/messages/MFileBody.tsx"),ht=n("./src/components/views/messages/MAudioBody.tsx"),gt=n("./src/components/views/messages/MVoiceMessageBody.tsx");class vt extends a.PureComponent{render(){return!this.props.forExport&&(0,De.Mp)(this.props.mxEvent)?a.createElement(gt.A,this.props):a.createElement(ht.A,this.props)}}var ft=n("./node_modules/blurhash/dist/esm/index.js"),_t=n("./src/components/views/elements/InlineSpinner.tsx"),yt=n("./src/utils/image-media.ts"),bt=n("./src/settings/enums/ImageSize.ts"),wt=n("./src/components/views/messages/shared/MediaProcessingError.tsx"),Et=n("./src/components/views/messages/HiddenMediaPlaceholder.tsx");class At extends a.PureComponent{constructor(...e){super(...e),(0,i.A)(this,"videoRef",a.createRef()),(0,i.A)(this,"sizeWatcher",void 0),(0,i.A)(this,"state",{fetchingData:!1,decryptedUrl:null,decryptedThumbnailUrl:null,decryptedBlob:null,error:null,posterLoading:!1,blurhashUrl:null}),(0,i.A)(this,"onClick",()=>{this.props.setMediaVisible(!0)}),(0,i.A)(this,"videoOnPlay",async()=>{this.hasContentUrl()||this.state.fetchingData||this.state.error||(this.setState({fetchingData:!0}),this.props.mediaEventHelper.media.isEncrypted?this.setState({decryptedUrl:await this.props.mediaEventHelper.sourceUrl.value,decryptedBlob:await this.props.mediaEventHelper.sourceBlob.value,fetchingData:!1},()=>{this.videoRef.current&&this.videoRef.current.play()}):this.setState({error:"No file given in content"}))}),(0,i.A)(this,"getFileBody",()=>this.props.forExport?null:this.showFileBody&&a.createElement(pt.Ay,(0,o.A)({},this.props,{showGenericPlaceholder:!1})))}getContentUrl(){var e,t;const n=this.props.mxEvent.getContent();if(this.props.forExport)return null!==(e=null===(t=n.file)||void 0===t?void 0:t.url)&&void 0!==e?e:n.url;const s=(0,nt.mediaFromContent)(n);var o,i;return s.isEncrypted?null!==(o=this.state.decryptedUrl)&&void 0!==o?o:void 0:null!==(i=s.srcHttp)&&void 0!==i?i:void 0}hasContentUrl(){const e=this.getContentUrl();return!!e&&!e.startsWith("data:")}getThumbUrl(){if(this.props.forExport)return null;const e=this.props.mxEvent.getContent(),t=(0,nt.mediaFromContent)(e);return t.isEncrypted&&this.state.decryptedThumbnailUrl?this.state.decryptedThumbnailUrl:this.state.posterLoading?this.state.blurhashUrl:t.hasThumbnail?t.thumbnailHttp:null}loadBlurhash(){var e;const t=null===(e=this.props.mxEvent.getContent())||void 0===e?void 0:e.info;if(!t[yt.f])return;const n=document.createElement("canvas"),{w:s,h:o}=(0,bt.P)(m.A.getValue("Images.size"),{w:t.w,h:t.h});n.width=s,n.height=o;const i=(0,ft.D4)(t[yt.f],s,o),r=n.getContext("2d"),a=r.createImageData(s,o);a.data.set(i),r.putImageData(a,0,0),this.setState({blurhashUrl:n.toDataURL(),posterLoading:!0});const l=this.props.mxEvent.getContent(),c=(0,nt.mediaFromContent)(l);if(c.hasThumbnail){const e=new Image;e.onload=()=>{this.setState({posterLoading:!1})},e.src=c.thumbnailHttp}}async downloadVideo(){var e;try{this.loadBlurhash()}catch(e){l.vF.error("Failed to load blurhash",e)}if(null!==(e=this.props.mediaEventHelper)&&void 0!==e&&e.media.isEncrypted&&null===this.state.decryptedUrl)try{const e=m.A.getValue("autoplayVideo"),n=await this.props.mediaEventHelper.thumbnailUrl.value;if(e)l.vF.log("Preloading video"),this.setState({decryptedUrl:await this.props.mediaEventHelper.sourceUrl.value,decryptedThumbnailUrl:n,decryptedBlob:await this.props.mediaEventHelper.sourceBlob.value});else{var t;l.vF.log("NOT preloading video");const e=this.props.mxEvent.getContent();let s=null==e||null===(t=e.info)||void 0===t?void 0:t.mimetype;"video/quicktime"==s&&(s="video/mp4"),this.setState({decryptedUrl:`data:${s},`,decryptedThumbnailUrl:n||`data:${s},`,decryptedBlob:null})}}catch(e){l.vF.warn("Unable to decrypt attachment: ",e),this.setState({error:e})}}async componentDidMount(){this.sizeWatcher=m.A.watchSetting("Images.size",null,()=>{this.forceUpdate()}),this.props.mediaVisible&&await this.downloadVideo()}async componentDidUpdate(e){!e.mediaVisible&&this.props.mediaVisible&&await this.downloadVideo()}componentWillUnmount(){m.A.unwatchSetting(this.sizeWatcher)}get showFileBody(){return this.context.timelineRenderingType!==ze.Ae.Room&&this.context.timelineRenderingType!==ze.Ae.Pinned&&this.context.timelineRenderingType!==ze.Ae.Search}render(){var e,t,n,s;const o=this.props.mxEvent.getContent(),i=!this.props.inhibitInteraction&&m.A.getValue("autoplayVideo");let r;null!==(e=o.info)&&void 0!==e&&e.w&&null!==(t=o.info)&&void 0!==t&&t.h&&(r=`${o.info.w}/${o.info.h}`);const{w:l,h:c}=(0,bt.P)(m.A.getValue("Images.size"),{w:null===(n=o.info)||void 0===n?void 0:n.w,h:null===(s=o.info)||void 0===s?void 0:s.h}),d=a.createElement("div",{style:{width:l,height:c}});if(null!==this.state.error)return a.createElement(wt.A,{className:"mx_MVideoBody"},(0,se._t)("timeline|m.video|error_decrypting"));if(!this.props.mediaVisible)return a.createElement("span",{className:"mx_MVideoBody"},a.createElement("div",{className:"mx_MVideoBody_container",style:{width:l,height:c,aspectRatio:r}},a.createElement(Et.Q,{onClick:this.onClick},(0,se._t)("timeline|m.video|show_video"))));if(!this.props.forExport&&void 0!==o.file&&null===this.state.decryptedUrl&&i)return a.createElement("span",{className:"mx_MVideoBody"},a.createElement("div",{className:"mx_MVideoBody_container",style:{maxWidth:l,maxHeight:c,aspectRatio:r}},a.createElement(_t.A,null)),d);const u=this.getContentUrl(),p=this.getThumbUrl();let h,g="metadata";o.info&&p&&(h=p,g="none");const v=this.getFileBody();return a.createElement("span",{className:"mx_MVideoBody"},a.createElement("div",{className:"mx_MVideoBody_container",style:{maxWidth:l,maxHeight:c,aspectRatio:r}},a.createElement("video",{className:"mx_MVideoBody",ref:this.videoRef,src:u,title:o.body,controls:!this.props.inhibitInteraction,controlsList:"nodownload",crossOrigin:"anonymous",preload:g,muted:i,autoPlay:i,poster:h,onPlay:this.videoOnPlay}),d),v)}}(0,i.A)(At,"contextType",ze.Ay);const xt=e=>{const[t,n]=(0,Y.E)(e.mxEvent);return a.createElement(At,(0,o.A)({mediaVisible:t,setMediaVisible:n},e))};class St extends mt.R{constructor(...e){super(...e),(0,i.A)(this,"onClick",e=>{e.preventDefault(),this.props.mediaVisible||this.props.setMediaVisible(!0)})}wrapImage(e,t){let n;return this.props.mediaVisible||(n=this.onClick),a.createElement("div",{className:"mx_MStickerBody_wrapper",onClick:n}," ",t," ")}getPlaceholder(e,t){var n;return null!==(n=this.props.mxEvent.getContent().info)&&void 0!==n&&n[yt.f]?super.getPlaceholder(e,t):a.createElement("img",{"aria-hidden":!0,alt:"",className:"mx_MStickerBody_placeholder",src:"img/icons-show-stickers.f790079.svg",width:"80",height:"80",onMouseEnter:this.onImageEnter,onMouseLeave:this.onImageLeave})}getTooltipProps(){var e;const t=this.props.mxEvent&&this.props.mxEvent.getContent();return null!=t&&t.body&&null!==(e=t.info)&&void 0!==e&&e.w?{placement:"right",description:t.body}:null}getFileBody(){return null}getBanner(e){return null}}const Ct=e=>{const[t,n]=(0,Y.E)(e.mxEvent);return a.createElement(St,(0,o.A)({mediaVisible:t,setMediaVisible:n},e))};var kt=n("./src/components/views/messages/MPollBody.tsx"),Rt=n("./node_modules/matrix-js-sdk/src/randomstring.ts"),It=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),Pt=n("./src/utils/location/index.ts"),Tt=n("./src/components/views/location/index.tsx"),Ot=n("./src/utils/connection.ts");class Mt extends a.Component{constructor(e){super(e),(0,i.A)(this,"unmounted",!1),(0,i.A)(this,"mapId",void 0),(0,i.A)(this,"reconnectedListener",void 0),(0,i.A)(this,"onClick",()=>{te.Ay.createDialog(Tt.He,{matrixClient:this.context,mxEvent:this.props.mxEvent},"mx_LocationViewDialog_wrapper",!1,!0)}),(0,i.A)(this,"clearError",()=>{this.context.off(c.ClientEvent.Sync,this.reconnectedListener),this.setState({error:void 0})}),(0,i.A)(this,"onError",e=>{this.unmounted||(this.setState({error:e}),this.context.off(c.ClientEvent.Sync,this.reconnectedListener),this.context.on(c.ClientEvent.Sync,this.reconnectedListener))});const t=`${e.mxEvent.getId()}_${(0,Rt.US)(8)}`;this.mapId=`mx_MLocationBody_${t}`,this.reconnectedListener=(0,Ot.x)(this.clearError),this.state={}}componentDidMount(){this.unmounted=!1}componentWillUnmount(){this.unmounted=!0,this.context.off(c.ClientEvent.Sync,this.reconnectedListener)}render(){return this.state.error?a.createElement(Nt,{error:this.state.error,event:this.props.mxEvent}):a.createElement(jt,{mxEvent:this.props.mxEvent,mapId:this.mapId,onError:this.onError,tooltip:(0,se._t)("location_sharing|expand_map"),onClick:this.onClick})}}(0,i.A)(Mt,"contextType",G.Ay);const Nt=({error:e,event:t})=>{var n,s;const o=null==e?void 0:e.message,i=`${(0,se._t)("location_sharing|failed_load_map")}: ${(0,Pt.CZ)(o)}`,r=(0,Pt.qy)(t.getContent())?(0,se._t)("timeline|m.location|self_location")+(null===(n=t.getContent())||void 0===n?void 0:n.body):(0,se._t)("timeline|m.location|location")+(null===(s=t.getContent())||void 0===s?void 0:s.body);return a.createElement("div",{className:"mx_EventTile_body mx_MLocationBody"},a.createElement("span",{className:o!==Pt.$X.MapStyleUrlNotConfigured?"mx_EventTile_tileError":""},i),a.createElement("br",null),r)},jt=({mxEvent:e,mapId:t,tooltip:n,onError:s,onClick:o})=>{const i=(0,Pt.qy)(e.getContent())?e.sender:void 0,r=(0,Pt.jm)(e),l=a.createElement(Tt.T5,{id:t,centerGeoUri:r,onClick:o,onError:s,className:"mx_MLocationBody_map"},({map:e})=>a.createElement(Tt.U3,{map:e,id:`${t}-marker`,geoUri:r,roomMember:null!=i?i:void 0}));return a.createElement("div",{className:"mx_MLocationBody"},a.createElement(It.m,{label:n},a.createElement("div",{className:"mx_MLocationBody_map"},l)))};class Dt extends a.Component{constructor(...e){super(...e),(0,i.A)(this,"onAllowClick",e=>{var t,n;e.preventDefault(),e.stopPropagation();const s=`mx_mjolnir_render_${this.props.mxEvent.getRoomId()}__${this.props.mxEvent.getId()}`;localStorage.setItem(s,"true"),null===(t=(n=this.props).onMessageAllowed)||void 0===t||t.call(n)})}render(){return a.createElement("div",{className:"mx_MjolnirBody"},a.createElement("i",null,(0,se._t)("timeline|mjolnir|message_hidden",{},{a:e=>a.createElement(xe.A,{kind:"link_inline",onClick:this.onAllowClick},e)})))}}var Ut=n("./src/hooks/useEventEmitter.ts"),Ft=n("./src/utils/beacon/index.ts"),Lt=n("./src/components/views/beacon/displayStatus.ts"),Bt=n("./src/components/views/beacon/BeaconStatus.tsx"),Vt=n("./src/components/views/beacon/OwnBeaconStatus.tsx"),Ht=n("./src/components/views/location/MapError.tsx"),zt=n("./src/components/views/location/MapFallback.tsx");const Wt=(0,a.lazy)(()=>Promise.all([n.e(927),n.e(9963)]).then(n.bind(n,"./src/components/views/beacon/BeaconViewDialog.tsx")));function Kt(e){return a.createElement(a.Suspense,{fallback:a.createElement(de.A,null)},a.createElement(Wt,e))}const $t=({mxEvent:e,getRelationsForEvent:t,ref:n})=>{const{beacon:s,isLive:o,latestLocationState:i,waitingToStart:r}=(e=>{const t=(0,Ft.dK)(e),n=(0,Ut.dF)(t,c.BeaconEvent.LivenessChange,()=>null==t?void 0:t.isLive),s=(0,Ut.dF)(t,c.BeaconEvent.LocationUpdate,()=>null==t?void 0:t.latestLocationState);if(!t)return{};const o=!!t&&(0,Ft.R$)(t),{description:i}=t.beaconInfo;return{beacon:t,description:i,isLive:n,waitingToStart:o,latestLocationState:s}})(e),l=(e=>{const[t,n]=(0,a.useState)(`${e}_${(0,Rt.US)(8)}`);return(0,a.useEffect)(()=>{n(`${e}_${(0,Rt.US)(8)}`)},[e]),t})(e.getId()),d=(0,a.useContext)(G.Ay),[u,m]=(0,a.useState)(),p=(null==u?void 0:u.message)===Pt.$X.MapStyleUrlNotConfigured||(null==u?void 0:u.message)===Pt.$X.MapStyleUrlNotReachable,h=(0,Lt.n)(!!o,i,p?void 0:u,r),g=(0,Pt.qy)(e.getContent())?e.sender:void 0,v=(null==s?void 0:s.beaconInfoOwner)===d.getUserId();((e,t,n)=>{const s=(0,a.useCallback)((s,o)=>{var i;const r=n?n(e.getId(),c.RelationType.Reference,c.M_BEACON.name):void 0;null==r||null===(i=r.getRelations())||void 0===i||i.forEach(e=>{t.redactEvent(e.getRoomId(),e.getId(),void 0,o.getContent())})},[e,t,n]);(0,a.useEffect)(()=>(e.addListener(c.MatrixEventEvent.BeforeRedaction,s),()=>{e.removeListener(c.MatrixEventEvent.BeforeRedaction,s)}),[e,s])})(e,d,t);const f=()=>{h===Lt.T.Active&&te.Ay.createDialog(Kt,{roomId:e.getRoomId(),matrixClient:d,initialFocusedBeacon:s},"mx_BeaconViewDialog_wrapper",!1,!0)};let _;return _=h===Lt.T.Active&&!p&&null!=i&&i.uri?a.createElement(Tt.T5,{id:l,centerGeoUri:i.uri,onError:m,onClick:f,className:"mx_MBeaconBody_map"},({map:e})=>a.createElement(Tt.U3,{map:e,id:`${l}-marker`,geoUri:i.uri,roomMember:null!=g?g:void 0,useMemberColor:!0})):p?a.createElement(Ht.p,{error:u.message,onClick:f,className:L()("mx_MBeaconBody_mapError",{mx_MBeaconBody_mapErrorInteractive:h===Lt.T.Active}),isMinimised:!0}):a.createElement(zt.A,{isLoading:h===Lt.T.Loading,className:"mx_MBeaconBody_map mx_MBeaconBody_mapFallback"}),a.createElement("div",{className:"mx_MBeaconBody",ref:n},_,v?a.createElement(Vt.A,{className:"mx_MBeaconBody_chin",beacon:s,displayStatus:h,withIcon:!0}):a.createElement(Bt.A,{className:"mx_MBeaconBody_chin",beacon:s,displayStatus:h,label:(0,se._t)("timeline|m.beacon_info|view_live_location"),withIcon:!0}))};var Jt=n("./src/viewmodels/message-body/DecryptionFailureBodyViewModel.ts");const Gt=["WrappedBodyType"];function qt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function Yt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qt(Object(n),!0).forEach(function(t){(0,i.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const Zt=new Map([[c.MsgType.Text,ut],[c.MsgType.Notice,ut],[c.MsgType.Emote,ut],[c.MsgType.Image,mt.A],[c.MsgType.File,pt.Ay],[c.MsgType.Audio,vt],[c.MsgType.Video,xt]]),Qt=new Map([[c.EventType.Sticker,Ct],[c.M_POLL_START.name,kt.Ay],[c.M_POLL_START.altName,kt.Ay],[c.M_BEACON_INFO.name,$t],[c.M_BEACON_INFO.altName,$t]]);class Xt extends a.Component{constructor(e){super(e),(0,i.A)(this,"body",(0,a.createRef)()),(0,i.A)(this,"mediaHelper",void 0),(0,i.A)(this,"bodyTypes",new Map(Zt.entries())),(0,i.A)(this,"evTypes",new Map(Qt.entries())),(0,i.A)(this,"getEventTileOps",()=>{var e,t;return(null===(e=this.body.current)||void 0===e||null===(t=e.getEventTileOps)||void 0===t?void 0:t.call(e))||null}),(0,i.A)(this,"onDecrypted",()=>{var e;v.j.isEligible(this.props.mxEvent)&&(null===(e=this.mediaHelper)||void 0===e||e.destroy(),this.mediaHelper=new v.j(this.props.mxEvent))}),(0,i.A)(this,"onTileUpdate",()=>{this.forceUpdate()}),(0,i.A)(this,"validateImageOrVideoMimetype",e=>{var t,n,s;const o=null!==(t=e.filename)&&void 0!==t?t:e.body;if(!o)return l.vF.log("Failed to validate image/video content, filename null"),!1;if(!this.validateThumbnailMimetype(e))return l.vF.log("Failed to validate file/image thumbnail"),!1;const i=null!==(n=r.A.getType(o))&&void 0!==n?n:void 0,a=this.parseMajorMimetype(i);if(!i||!this.validateAllowedMimetype(i,["image","video"]))return l.vF.log("Failed to validate image/video content, invalid or missing extension"),!1;const c=null===(s=e.info)||void 0===s?void 0:s.mimetype;if(c){const e=this.parseMajorMimetype(c);if(!this.validateAllowedMimetype(c,["image","video"])||a!==e)return l.vF.log("Failed to validate image/video content, invalid or missing mimetype"),!1}return!0}),(0,i.A)(this,"validateStickerMimetype",e=>{var t;if(!this.validateThumbnailMimetype(e))return l.vF.log("Failed to validate sticker thumbnail"),!1;const n=null===(t=e.info)||void 0===t?void 0:t.mimetype;return!(n&&!this.validateAllowedMimetype(n,["image"]))||(l.vF.log("Failed to validate image/video content, invalid or missing mimetype/extensions"),!1)}),(0,i.A)(this,"validateThumbnailMimetype",e=>{var t;const n=null===(t=e.info)||void 0===t||null===(t=t.thumbnail_info)||void 0===t?void 0:t.mimetype;return!n||this.validateAllowedMimetype(n,["image"])}),(0,i.A)(this,"validateAllowedMimetype",(e,t)=>{const n=this.parseMajorMimetype(e);return!!n&&t.includes(n)}),v.j.isEligible(this.props.mxEvent)&&(this.mediaHelper=new v.j(this.props.mxEvent)),this.updateComponentMaps()}componentDidMount(){this.props.mxEvent.addListener(c.MatrixEventEvent.Decrypted,this.onDecrypted)}componentWillUnmount(){var e;this.props.mxEvent.removeListener(c.MatrixEventEvent.Decrypted,this.onDecrypted),null===(e=this.mediaHelper)||void 0===e||e.destroy()}componentDidUpdate(e){var t;this.props.mxEvent!==e.mxEvent&&v.j.isEligible(this.props.mxEvent)&&(null===(t=this.mediaHelper)||void 0===t||t.destroy(),this.mediaHelper=new v.j(this.props.mxEvent));this.updateComponentMaps()}updateComponentMaps(){this.bodyTypes=new Map(Zt.entries());for(const[t,n]of Object.entries(null!==(e=this.props.overrideBodyTypes)&&void 0!==e?e:{})){var e;this.bodyTypes.set(t,n)}this.evTypes=new Map(Qt.entries());for(const[e,n]of Object.entries(null!==(t=this.props.overrideEventTypes)&&void 0!==t?t:{})){var t;this.evTypes.set(e,n)}}getMediaHelper(){return this.mediaHelper}parseMajorMimetype(e){return null==e?void 0:e.split("/")[0]}render(){const e=this.props.mxEvent.getContent(),t=this.props.mxEvent.getType(),n=e.msgtype;let s=h.A;if(this.props.mxEvent.isRedacted()||(s=this.props.mxEvent.isDecryptionFailure()?tn:t&&this.evTypes.has(t)?this.evTypes.get(t):n&&this.bodyTypes.has(n)?this.bodyTypes.get(n):e.url?this.bodyTypes.get(c.MsgType.File):g,(s!==mt.A&&s!=xt||this.validateImageOrVideoMimetype(e))&&(s!==Ct||this.validateStickerMimetype(e))||(s=this.bodyTypes.get(c.MsgType.File)),(c.M_LOCATION.matches(t)||t===c.EventType.RoomMessage&&n===c.MsgType.Location)&&(s=Mt)),m.A.getValue("feature_mjolnir")){const e=`mx_mjolnir_render_${this.props.mxEvent.getRoomId()}__${this.props.mxEvent.getId()}`;if(!("true"===localStorage.getItem(e))){var i;const e=null===(i=this.props.mxEvent.getSender())||void 0===i?void 0:i.split(":").slice(1).join(":"),t=p.u.sharedInstance().isUserBanned(this.props.mxEvent.getSender()),n=e&&p.u.sharedInstance().isServerBanned(e);(t||n)&&(s=Dt)}}const r=[c.MsgType.Image,c.MsgType.File,c.MsgType.Audio,c.MsgType.Video].includes(n)&&e.filename&&e.filename!==e.body,l={ref:this.body,mxEvent:this.props.mxEvent,highlights:this.props.highlights,highlightLink:this.props.highlightLink,showUrlPreview:this.props.showUrlPreview,forExport:this.props.forExport,maxImageHeight:this.props.maxImageHeight,replacingEventId:this.props.replacingEventId,editState:this.props.editState,onMessageAllowed:this.onTileUpdate,permalinkCreator:this.props.permalinkCreator,mediaEventHelper:this.mediaHelper,getRelationsForEvent:this.props.getRelationsForEvent,isSeeingThroughMessageHiddenForModeration:this.props.isSeeingThroughMessageHiddenForModeration,inhibitInteraction:this.props.inhibitInteraction,id:this.props.id};return r?a.createElement(en,(0,o.A)({},l,{WrappedBodyType:s})):s?a.createElement(s,l):null}}const en=e=>{let{WrappedBodyType:t}=e,n=(0,s.A)(e,Gt);return a.createElement("div",{className:"mx_EventTile_content"},a.createElement(t,n),a.createElement(ut,Yt(Yt({},n),{},{ref:void 0})))};function tn({mxEvent:e,ref:t}){const n=(0,a.useContext)(u.f),s=(0,d.s2)(()=>new Jt.y({decryptionFailureCode:e.decryptionFailureReason,verificationState:n}));return(0,a.useEffect)(()=>{s.setVerificationState(n)},[n,s]),a.createElement(d.Vd,{vm:s,ref:t})}},"./src/components/views/messages/MessageTimestamp.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u});var s,o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),r=n("./src/DateUtils.ts"),a=n("./src/languageHandler.tsx");function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},l.apply(null,arguments)}var c=function(e,t){return o.createElement("svg",l({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 12 12",role:"presentation","aria-hidden":!0,ref:t},e),s||(s=o.createElement("path",{fill:"currentColor",d:"M2.638 9.363a4.7 4.7 0 0 1-1.033-1.507 4.6 4.6 0 0 1-.374-1.848q0-.998.372-1.859a5 5 0 0 1 1.022-1.524l.588.587a4.1 4.1 0 0 0-.838 1.258 3.8 3.8 0 0 0-.306 1.525q0 .81.306 1.527t.85 1.253zM3.9 8.1a3.2 3.2 0 0 1-.633-.944 2.8 2.8 0 0 1-.236-1.15q0-.626.235-1.16A3.2 3.2 0 0 1 3.9 3.9l.588.587a2.3 2.3 0 0 0-.453.682q-.165.386-.166.833 0 .448.166.832.165.384.453.679zm2.097-1.081q-.422 0-.719-.3a1 1 0 0 1-.297-.722q0-.422.3-.719a1 1 0 0 1 .722-.297q.422 0 .719.3t.297.722-.3.719a1 1 0 0 1-.722.297m2.09 1.069-.574-.575a2.14 2.14 0 0 0 .618-1.515 2.1 2.1 0 0 0-.618-1.51L8.1 3.9q.4.412.634.947.235.534.235 1.161 0 .615-.236 1.15a2.9 2.9 0 0 1-.645.93m1.276 1.275-.588-.588a3.84 3.84 0 0 0 1.156-2.77q0-.824-.31-1.533a4.3 4.3 0 0 0-.833-1.26l.587-.587q.65.663 1.022 1.524a4.6 4.6 0 0 1 .372 1.859q0 .986-.374 1.848a4.7 4.7 0 0 1-1.032 1.507"})))},d=(0,o.forwardRef)(c);class u extends o.Component{render(){const e=new Date(this.props.ts);let t;t=this.props.showRelative?(0,r.fw)(e,this.props.showTwelveHour):this.props.showFullDate?(0,r.Lu)(e,this.props.showTwelveHour,this.props.showSeconds):this.props.showSeconds?(0,r.GX)(e,this.props.showTwelveHour):(0,r.fU)(e,this.props.showTwelveHour);let n,s,l,c=(0,r.Lu)(e,this.props.showTwelveHour);if(void 0!==this.props.receivedTs){c=(0,a._t)("timeline|message_timestamp_sent_at",{dateTime:c});const e=new Date(this.props.receivedTs);n=(0,a._t)("timeline|message_timestamp_received_at",{dateTime:(0,r.Lu)(e,this.props.showTwelveHour)}),s=o.createElement(d,{className:"mx_MessageTimestamp_lateIcon",width:"16",height:"16"})}return l=this.props.href?o.createElement("a",{href:this.props.href,onClick:this.props.onClick,onContextMenu:this.props.onContextMenu,className:"mx_MessageTimestamp","aria-live":"off"},s,t):o.createElement("span",{onClick:this.props.onClick,onContextMenu:this.props.onContextMenu,className:"mx_MessageTimestamp","aria-hidden":!0,"aria-live":"off",tabIndex:this.props.onClick||!this.props.inhibitTooltip?0:void 0},s,t),this.props.inhibitTooltip?l:o.createElement(i.m,{description:c,caption:n},l)}}},"./src/components/views/messages/RedactedBody.tsx"(e,t,n){"use strict";n.d(t,{A:()=>c});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/delete.js"),i=n("./src/languageHandler.tsx"),r=n("./src/contexts/MatrixClientContext.tsx"),a=n("./src/DateUtils.ts"),l=n("./src/settings/SettingsStore.ts");const c=({mxEvent:e,ref:t})=>{const n=(0,s.useContext)(r.Ay);let c=(0,i._t)("timeline|self_redaction");const d=e.getUnsigned(),u=d&&d.redacted_because&&d.redacted_because.sender;if(u&&u!==e.getSender()){const t=n.getRoom(e.getRoomId()),s=t&&t.getMember(u);c=(0,i._t)("timeline|redaction",{name:s?s.name:u})}const m=l.A.getValue("showTwelveHourTimestamps"),p=d.redacted_because?(0,a.Lu)(new Date(d.redacted_because.origin_server_ts),m):void 0,h=p?(0,i._t)("timeline|redacted|tooltip",{date:p}):void 0;return s.createElement("span",{className:"mx_RedactedBody",ref:t,title:h},s.createElement(o.A,null),c)}},"./src/components/views/messages/shared/MediaProcessingError.tsx"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/file-error.js");const i=({className:e,children:t,Icon:n=o.A})=>s.createElement("span",{className:e},s.createElement(n,{className:"mx_MediaProcessingError_Icon",width:"16",height:"16"}),t)},"./src/components/views/polls/PollOption.tsx"(e,t,n){"use strict";n.d(t,{h:()=>g});var s,o=n("./node_modules/react/index.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),l=n("./src/languageHandler.tsx");function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},c.apply(null,arguments)}var d=function(e,t){return o.createElement("svg",c({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 12 12",role:"presentation","aria-hidden":!0,ref:t},e),s||(s=o.createElement("path",{fill:"currentColor",d:"M10.667 1.333H9.333V.667C9.333.3 9.033 0 8.667 0H3.333c-.366 0-.666.3-.666.667v.666H1.333C.6 1.333 0 1.933 0 2.667v.666c0 1.7 1.28 3.087 2.927 3.294A3.34 3.34 0 0 0 5.333 8.6v2.067h-2c-.366 0-.666.3-.666.666s.3.667.666.667h5.334c.366 0 .666-.3.666-.667 0-.366-.3-.666-.666-.666h-2V8.6a3.34 3.34 0 0 0 2.406-1.973C10.72 6.42 12 5.033 12 3.333v-.666c0-.734-.6-1.334-1.333-1.334m-9.334 2v-.666h1.334v2.546a2.01 2.01 0 0 1-1.334-1.88m9.334 0c0 .867-.56 1.6-1.334 1.88V2.667h1.334z"})))},u=(0,o.forwardRef)(d);var m=n("./src/components/views/elements/StyledRadioButton.tsx");const p=({isWinner:e,answer:t,voteCount:n,displayVoteCount:s})=>{const i=s?(0,l._t)("timeline|m.poll|count_of_votes",{count:n}):"";return o.createElement("div",{className:"mx_PollOption_content"},o.createElement("div",{className:"mx_PollOption_optionText"},t.text),o.createElement("div",{className:"mx_PollOption_optionVoteCount"},e&&o.createElement(u,{className:"mx_PollOption_winnerIcon"}),i))},h=({pollId:e,isChecked:t,isEnded:n,optionNumber:s,isWinner:i,voteCount:r,displayVoteCount:c,children:d,answer:u,onOptionSelected:p})=>{let h;return h=c&&i?(0,l._t)("poll|option_label_winning_with_total",{number:s,answer:u.text,count:r}):c?(0,l._t)("poll|option_label_with_total",{number:s,answer:u.text,count:r}):(0,l._t)("poll|option_label",{number:s,answer:u.text}),o.createElement(m.A,{className:"mx_PollOption_live-option",name:`poll_answer_select-${e}`,value:u.id,checked:t,disabled:n,"aria-label":h,onChange:()=>null==p?void 0:p(u.id),icon:t?o.createElement(a.A,null):void 0},o.createElement("div",{"aria-hidden":"true"},d))},g=({pollId:e,answer:t,voteCount:n,totalVoteCount:s,optionNumber:i,displayVoteCount:a,isEnded:l,isChecked:c,onOptionSelected:d})=>{const u=r()({mx_PollOption:!0,mx_PollOption_checked:c,mx_PollOption_ended:l}),m=l&&c,g=0===s?0:Math.round(100*n/s);return o.createElement("div",{className:u,onClick:()=>null==d?void 0:d(t.id)},o.createElement(h,{pollId:e,answer:t,optionNumber:i,isChecked:c,isEnded:l,isWinner:m,voteCount:n,displayVoteCount:a,onOptionSelected:d},o.createElement(p,{isWinner:m,answer:t,voteCount:n,displayVoteCount:a})),o.createElement("div",{className:"mx_PollOption_popularityBackground"},o.createElement("div",{className:"mx_PollOption_popularityAmount",style:{width:`${g}%`}})))}},"./src/components/views/polls/pollHistory/PollHistory.tsx"(e,t,n){"use strict";n.d(t,{a:()=>z});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),l=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js");const c=["name","value","tabs","onFilterChange"],d=e=>{let{name:t,value:n,tabs:o,onFilterChange:i}=e,r=(0,l.A)(e,c);return s.createElement("fieldset",(0,a.A)({},r,{className:"mx_FilterTabGroup"}),o.map(({label:e,id:o})=>s.createElement("label",{key:o},s.createElement("input",{type:"radio",name:t,value:o,onChange:()=>i(o),checked:n===o}),s.createElement("span",null,e))))};var u=n("./src/components/views/elements/InlineSpinner.tsx"),m=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/polls.js"),h=n("./src/DateUtils.ts");const g=({event:e,onClick:t})=>{const n=e.unstableExtensibleEvent;if(!n)return null;const i=(0,h.Pr)(e.getTs());return s.createElement("li",{className:"mx_PollListItem",onClick:t},s.createElement(m.m,{label:(0,o._t)("right_panel|poll|view_poll"),placement:"top",isTriggerInteractive:!1},s.createElement("div",{className:"mx_PollListItem_content"},s.createElement("span",null,i),s.createElement(p.A,{className:"mx_PollListItem_icon"}),s.createElement("span",{className:"mx_PollListItem_question"},n.question.text))))};var v=n("./node_modules/matrix-js-sdk/src/matrix.ts"),f=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/polls-end.js"),_=n("./src/components/views/messages/MPollBody.tsx"),y=n("./src/components/views/polls/PollOption.tsx"),b=n("./src/components/views/typography/Caption.tsx");const w=(e,t)=>{const n=(0,_.hJ)((0,_.jx)(t)),s=(0,_.B0)(n,e.pollEvent),o=[...s.values()].reduce((e,t)=>e+t,0),i=Math.max(...s.values());return{totalVoteCount:o,winningAnswers:e.pollEvent.answers.map((e,t)=>({answerIndex:t,answer:e})).filter(({answer:e})=>s.get(e.id)===i).map(({answer:e,answerIndex:t})=>({answer:e,voteCount:s.get(e.id)||0,optionNumber:t+1}))}},E=({event:e,poll:t,onClick:n})=>{const i=t.pollEvent,{winningAnswers:r,totalVoteCount:a}=(e=>{const[t,n]=(0,s.useState)({totalVoteCount:0});return(0,s.useEffect)(()=>{const t=t=>n(w(e,t));return e.on(v.PollEvent.Responses,t),(async()=>{const t=await e.getResponses();n(w(e,t))})(),()=>{e.off(v.PollEvent.Responses,t)}},[e]),t})(t);if(!i)return null;const l=(0,h.Pr)(e.getTs());return s.createElement("li",{className:"mx_PollListItemEnded",onClick:n},s.createElement(m.m,{label:(0,o._t)("right_panel|poll|view_poll"),placement:"top",isTriggerInteractive:!1},s.createElement("div",{className:"mx_PollListItemEnded_content"},s.createElement("div",{className:"mx_PollListItemEnded_title"},s.createElement(f.A,{className:"mx_PollListItemEnded_icon"}),s.createElement("span",{className:"mx_PollListItemEnded_question"},i.question.text),s.createElement(b.H,null,l)),!(null==r||!r.length)&&s.createElement("div",{className:"mx_PollListItemEnded_answers"},null==r?void 0:r.map(({answer:e,voteCount:n,optionNumber:o})=>s.createElement(y.h,{key:e.id,answer:e,voteCount:n,totalVoteCount:a,pollId:t.pollId,optionNumber:o,displayVoteCount:!0,isChecked:!0,isEnded:!0}))),s.createElement("div",{className:"mx_PollListItemEnded_voteCount"},s.createElement(b.H,null,(0,o._t)("right_panel|poll|final_result",{count:a}))))))};var A=n("./src/components/views/elements/AccessibleButton.tsx");const x=({noResultsYet:e})=>s.createElement("div",{className:r()("mx_PollHistoryList_loading",{mx_PollHistoryList_noResultsYet:e})},s.createElement(u.A,null),(0,o._t)("right_panel|poll|loading")),S=({isLoading:e,loadMorePolls:t})=>t?s.createElement(A.A,{className:"mx_PollHistoryList_loadMorePolls",kind:"link_inline",onClick:()=>t()},(0,o._t)("right_panel|poll|load_more"),e&&s.createElement(u.A,null)):null,C=({filter:e,isLoading:t,oldestFetchedEventTimestamp:n,loadMorePolls:i})=>!i&&t?s.createElement(x,{noResultsYet:!0}):s.createElement("span",{className:"mx_PollHistoryList_noResults"},((e,t,n)=>{if(!n)return"ACTIVE"===e?(0,o._t)("right_panel|poll|empty_active"):(0,o._t)("right_panel|poll|empty_past");if(!t)return"ACTIVE"===e?(0,o._t)("right_panel|poll|empty_active_load_more"):(0,o._t)("right_panel|poll|empty_past_load_more");const s=Math.ceil((Date.now()-t)/864e5);return"ACTIVE"===e?(0,o._t)("right_panel|poll|empty_active_load_more_n_days",{count:s}):(0,o._t)("right_panel|poll|empty_past_load_more_n_days",{count:s})})(e,n,i),!!i&&s.createElement(S,{loadMorePolls:i,isLoading:t})),k=({pollStartEvents:e,polls:t,filter:n,isLoading:i,oldestFetchedEventTimestamp:a,onFilterChange:l,loadMorePolls:c,onItemClick:u})=>s.createElement("div",{className:"mx_PollHistoryList"},s.createElement(d,{name:"PollHistory_filter",value:n,onFilterChange:l,tabs:[{id:"ACTIVE",label:(0,o._t)("right_panel|poll|active_heading")},{id:"ENDED",label:(0,o._t)("right_panel|poll|past_heading")}]}),!!e.length&&s.createElement("ol",{className:r()("mx_PollHistoryList_list",`mx_PollHistoryList_list_${n}`)},e.map(e=>"ACTIVE"===n?s.createElement(g,{key:e.getId(),event:e,onClick:()=>u(e.getId())}):s.createElement(E,{key:e.getId(),event:e,poll:t.get(e.getId()),onClick:()=>u(e.getId())})),i&&!c&&s.createElement(x,null),!!c&&s.createElement(S,{loadMorePolls:c,isLoading:i})),!e.length&&s.createElement(C,{oldestFetchedEventTimestamp:a,isLoading:i,filter:n,loadMorePolls:c}));var R=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-left.js");const I=({filter:e,onNavigateBack:t})=>s.createElement(A.A,{kind:"content_inline",onClick:t,className:"mx_PollDetailHeader"},s.createElement(R.A,{className:"mx_PollDetailHeader_icon"}),"ACTIVE"===e?(0,o._t)("right_panel|poll|active_heading"):(0,o._t)("right_panel|poll|past_heading"));var P=n("./src/dispatcher/dispatcher.ts"),T=n("./src/dispatcher/actions.ts");const O=({poll:e,permalinkCreator:t,requestModalClose:n})=>{const i=e.isEnded?e.endEventId:e.pollId,r=t.forEvent(i);return s.createElement(s.Fragment,null,s.createElement(_.Ay,{mxEvent:e.rootEvent,permalinkCreator:t,mediaEventHelper:{}}),s.createElement("br",null),s.createElement("div",null,s.createElement(A.A,{kind:"link_inline",element:"a",href:r,onClick:t=>{t.ctrlKey||t.metaKey||(t.preventDefault(),P.A.dispatch({action:T.r.ViewRoom,event_id:i,highlighted:!0,room_id:e.roomId,metricsTrigger:void 0}),n())},rel:"noreferrer noopener"},(0,o._t)("right_panel|poll|view_in_timeline"))))};var M=n("./src/hooks/useEventEmitter.ts");const N=(e,t)=>{const{polls:n}=((e,t)=>{const n=t.getRoom(e);if(!n)throw new Error("Cannot find room");return{polls:(0,M.dF)(n,v.PollEvent.New,()=>new Map(n.polls))}})(e,t),[o,i]=(0,s.useState)(n);return(0,s.useEffect)(()=>{const e=async()=>{i(new Map(n))};if(n){for(const t of n.values())t.on(v.PollEvent.End,e),t.on(v.PollEvent.Responses,e),t.getResponses();i(n)}return()=>{if(n)for(const t of n.values())t.off(v.PollEvent.End,e),t.off(v.PollEvent.Responses,e)}},[n,i]),{polls:o}};var j=n("./node_modules/matrix-js-sdk/src/logger.ts");const D=e=>{var t;if(!e)return;return null===(t=(null==e?void 0:e.getLiveTimeline()).getEvents()[0])||void 0===t?void 0:t.getTs()},U=async(e,t)=>{if(!e)return{canPageBackward:!1};const n=e.getLiveTimeline();return await t.paginateEventTimeline(n,{backwards:!0}),{oldestEventTimestamp:D(e),canPageBackward:!!n.getPaginationToken(v.EventTimeline.BACKWARDS)}},F=async(e,t,n,s,o)=>{if(!e||!s||o&&o<n)return;const i=await U(e,t);return F(e,t,n,i.canPageBackward,i.oldestEventTimestamp)},L={room:{timeline:{types:[v.M_POLL_START.name,v.M_POLL_START.altName]}}},B=(e,t,n=30)=>{const[o,i]=(0,s.useState)(void 0);(0,s.useEffect)(()=>{const n=new v.Filter(t.getSafeUserId());n.setDefinition(L);(async()=>{const s=await t.getOrCreateFilter(`POLL_HISTORY_FILTER_${e.roomId}}`,n);n.filterId=s;const o=e.getOrCreateFilteredTimelineSet(n);i(o)})()},[e,t]);const{isLoading:r,oldestEventTimestamp:a,loadMorePolls:l,loadTimelineHistory:c}=((e,t,n)=>{const[o,i]=(0,s.useState)(!0),[r,a]=(0,s.useState)(void 0),[l,c]=(0,s.useState)(!1),d=(0,s.useCallback)(async()=>{const s=Date.now()-864e5*n;i(!0);try{var o;const n=null==e?void 0:e.getLiveTimeline(),i=!(null==n||!n.getPaginationToken(v.Direction.Backward)),r=D(e);await F(e,t,s,i,r),c(!(null==e||null===(o=e.getLiveTimeline())||void 0===o||!o.getPaginationToken(v.EventTimeline.BACKWARDS))),a(D(e))}catch(e){j.vF.error("Failed to fetch room polls history",e)}finally{i(!1)}},[n,e,t]),u=(0,s.useCallback)(async()=>{if(e){i(!0);try{const n=await U(e,t);c(n.canPageBackward),a(n.oldestEventTimestamp)}catch(e){j.vF.error("Failed to fetch room polls history",e)}finally{i(!1)}}},[e,t]);return{isLoading:o,oldestEventTimestamp:r,loadTimelineHistory:d,loadMorePolls:l?u:void 0}})(o,t,n);return(0,s.useEffect)(()=>{c()},[c]),{isLoading:r,oldestEventTimestamp:a,loadMorePolls:l}};var V=n("./src/components/views/typography/Heading.tsx");const H=(e,t)=>t.getTs()-e.getTs(),z=({room:e,matrixClient:t,permalinkCreator:n,onFinished:i})=>{const{polls:r}=N(e.roomId,t),{isLoading:a,loadMorePolls:l,oldestEventTimestamp:c}=B(e,t),[d,u]=(0,s.useState)("ACTIVE"),[m,p]=(0,s.useState)(null),h=((e,t)=>[...e.values()].filter((e=>t=>!t.isFetchingResponses&&"ACTIVE"===e!==t.isEnded)(t)).map(e=>e.rootEvent).sort(H))(r,d),g=[...r.values()].some(e=>e.isFetchingResponses),v=m?r.get(m):void 0,f=v?s.createElement(I,{filter:d,onNavigateBack:()=>p(null)}):(0,o._t)("right_panel|polls_button");return s.createElement("div",{className:"mx_PollHistory_content"},s.createElement(V.A,{className:"mx_PollHistory_header",size:"2"},f),v?s.createElement(O,{poll:v,permalinkCreator:n,requestModalClose:i}):s.createElement(k,{onItemClick:p,pollStartEvents:h,isLoading:a||g,oldestFetchedEventTimestamp:c,polls:r,filter:d,onFilterChange:u,loadMorePolls:l}))}},"./src/components/views/right_panel/BaseCard.tsx"(e,t,n){"use strict";n.d(t,{A:()=>v});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Text.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Button/IconButton/IconButton.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-left.js"),d=n("./src/components/structures/AutoHideScrollbar.tsx"),u=n("./src/languageHandler.tsx"),m=n("./src/stores/right-panel/RightPanelStore.ts"),p=n("./src/stores/right-panel/RightPanelStorePhases.ts"),h=n("./src/components/views/right_panel/context.ts");function g(e){e.preventDefault(),e.stopPropagation(),m.A.instance.popCard()}const v=({closeLabel:e,onClose:t,onBack:n,className:o,id:v,ariaLabelledBy:f,role:_,hideHeaderButtons:y,header:b,footer:w,withoutScrollContainer:E,children:A,onKeyDown:x,closeButtonRef:S,ref:C})=>{let k;const R=m.A.instance.roomPhaseHistory;if(R.length>1&&!y){var I;const e=R[R.length-2],t=e=>{null==n||n(e),m.A.instance.popCard()},o=null!==(I=(0,p.s)(e.phase))&&void 0!==I?I:(0,u._t)("action|back");k=s.createElement(a.K,{size:"28px",onClick:t,tooltip:o,kind:"secondary"},s.createElement(c.A,null))}let P;y||(P=s.createElement(a.K,{size:"28px",onClick:null!=t?t:g,ref:S,tooltip:null!=e?e:(0,u._t)("action|close"),kind:"secondary"},s.createElement(l.A,null))),E||(A=s.createElement(d.A,null,A));const T=b||!y;return s.createElement(h.E.Provider,{value:{isCard:!0}},s.createElement("div",{id:v,"aria-labelledby":f,role:_,className:i()("mx_BaseCard",o),ref:C,onKeyDown:x},T&&s.createElement("div",{className:"mx_BaseCard_header"},k,"string"==typeof b?s.createElement("div",{className:"mx_BaseCard_header_title"},s.createElement(r.E,{size:"md",weight:"medium",className:"mx_BaseCard_header_title_heading",role:"heading"},b)):null!=b?b:s.createElement("div",{className:"mx_BaseCard_header_spacer"}),P),A,w&&s.createElement("div",{className:"mx_BaseCard_footer"},w)))}},"./src/components/views/right_panel/EncryptionInfo.tsx"(e,t,n){"use strict";n.d(t,{A:()=>l,Z:()=>a});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./src/components/views/elements/AccessibleButton.tsx"),r=n("./src/components/views/elements/Spinner.tsx");const a=({text:e})=>s.createElement("div",{className:"mx_EncryptionInfo_spinner"},s.createElement(r.A,null),e),l=({waitingForOtherParty:e,waitingForNetwork:t,member:n,onStartVerification:r,isRoomEncrypted:l,inDialog:c,isSelfVerification:d})=>{let u,m;if(e&&d)u=s.createElement("div",null,(0,o._t)("encryption|verification|once_accepted_can_continue"));else if(e||t){let t;t=e?(0,o._t)("encryption|verification|waiting_for_user_accept",{displayName:n.displayName||n.name||n.userId}):(0,o._t)("encryption|verification|accepting"),u=s.createElement(a,{text:t})}else u=s.createElement(i.A,{kind:"primary",className:"mx_UserInfo_wideButton mx_UserInfo_startVerification",onClick:r},(0,o._t)("encryption|verification|start_button"));return m=l?s.createElement("div",null,s.createElement("p",null,(0,o._t)("user_info|room_encrypted")),s.createElement("p",null,(0,o._t)("user_info|room_encrypted_detail"))):s.createElement("div",null,s.createElement("p",null,(0,o._t)("user_info|room_unencrypted")),s.createElement("p",null,(0,o._t)("user_info|room_unencrypted_detail"))),c?u:s.createElement(s.Fragment,null,s.createElement("div",{className:"mx_UserInfo_container"},s.createElement("h3",null,(0,o._t)("settings|security|encryption_section")),m),s.createElement("div",{className:"mx_UserInfo_container"},s.createElement("h3",null,(0,o._t)("user_info|verify_button")),s.createElement("div",null,s.createElement("p",null,(0,o._t)("user_info|verify_explainer")),s.createElement("p",null,(0,o._t)("encryption|verification|in_person")),u)))}},"./src/components/views/right_panel/EncryptionPanel.tsx"(e,t,n){"use strict";n.d(t,{A:()=>P});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/crypto-api/index.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./node_modules/@vector-im/compound-design-tokens/icons/error-solid.svg"),a=n("./src/components/views/right_panel/EncryptionInfo.tsx"),l=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),c=n("./node_modules/matrix-js-sdk/src/types.ts"),d=n("./src/MatrixClientPeg.ts"),u=n("./src/components/views/elements/QRCode.tsx");class m extends s.PureComponent{render(){return s.createElement(u.A,{data:void 0===this.props.qrCodeBytes?null:[{data:this.props.qrCodeBytes,mode:"byte"}],className:"mx_VerificationQRCode",width:196})}}var p=n("./src/languageHandler.tsx"),h=n("./src/SdkConfig.ts"),g=n("./src/components/views/rooms/E2EIcon.tsx"),v=n("./src/components/views/elements/Spinner.tsx"),f=n("./src/components/views/elements/AccessibleButton.tsx"),_=n("./src/components/views/verification/VerificationShowSas.tsx"),y=n("./src/utils/crypto/deviceInfo.ts"),b=n("./src/utils/ShieldUtils.ts");class w extends s.PureComponent{constructor(e){super(e),(0,l.A)(this,"hasVerifier",void 0),(0,l.A)(this,"haveCheckedDevice",!1),(0,l.A)(this,"haveFetchedQRCode",!1),(0,l.A)(this,"onReciprocateYesClick",()=>{var e;this.state.reciprocateQREvent&&(this.setState({reciprocateButtonClicked:!0}),null===(e=this.state.reciprocateQREvent)||void 0===e||e.confirm())}),(0,l.A)(this,"onReciprocateNoClick",()=>{var e;this.state.reciprocateQREvent&&(this.setState({reciprocateButtonClicked:!0}),null===(e=this.state.reciprocateQREvent)||void 0===e||e.cancel())}),(0,l.A)(this,"startSAS",async()=>{this.setState({emojiButtonClicked:!0}),await this.props.request.startVerification(c.V.Sas)}),(0,l.A)(this,"onSasMatchesClick",()=>{var e;null===(e=this.state.sasEvent)||void 0===e||e.confirm()}),(0,l.A)(this,"onSasMismatchesClick",()=>{var e;null===(e=this.state.sasEvent)||void 0===e||e.mismatch()}),(0,l.A)(this,"updateVerifierState",()=>{const e=this.props.request.verifier,t=e.getShowSasCallbacks(),n=e.getReciprocateQrCodeCallbacks();e.off(o.Ji.ShowSas,this.updateVerifierState),e.off(o.Ji.ShowReciprocateQr,this.updateVerifierState),this.setState({sasEvent:t,reciprocateQREvent:n})}),(0,l.A)(this,"onRequestChange",async()=>{const{request:e}=this.props;this.maybeGetOtherDevice(),e.phase!==o.X9.Ready||this.haveFetchedQRCode||(this.haveFetchedQRCode=!0,e.generateQRCode().then(e=>{this.setState({qrCodeBytes:e})},e=>{console.error("Error generating QR code:",e)}));const t=this.hasVerifier;if(this.hasVerifier=!!e.verifier,!t&&this.hasVerifier){var n,s;null===(n=e.verifier)||void 0===n||n.on(o.Ji.ShowSas,this.updateVerifierState),null===(s=e.verifier)||void 0===s||s.on(o.Ji.ShowReciprocateQr,this.updateVerifierState);try{var r;await(null===(r=e.verifier)||void 0===r?void 0:r.verify())}catch(e){i.vF.error("error verify",e)}}}),this.state={qrCodeBytes:void 0,sasEvent:null,reciprocateQREvent:null},this.hasVerifier=!1}renderQRPhase(){const{member:e,request:t}=this.props,n=t.otherPartySupportsMethod(c.V.Sas),o=t.otherPartySupportsMethod(c.V.ScanQrCode),i=h.Ay.get().brand,r=n||o?null:s.createElement("p",null,(0,p._t)("encryption|verification|no_support_qr_emoji",{brand:i}));if("dialog"===this.props.layout){let e,t;o&&(e=s.createElement("div",{className:"mx_VerificationPanel_QRPhase_startOption"},s.createElement("p",null,(0,p._t)("encryption|verification|qr_prompt")),s.createElement(m,{qrCodeBytes:this.state.qrCodeBytes}))),n&&(t=s.createElement("div",{className:"mx_VerificationPanel_QRPhase_startOption"},s.createElement("p",null,(0,p._t)("encryption|verification|sas_prompt")),s.createElement("span",{className:"mx_VerificationPanel_QRPhase_helpText"},(0,p._t)("encryption|verification|sas_description")),s.createElement(f.A,{disabled:this.state.emojiButtonClicked,onClick:this.startSAS,kind:"primary"},(0,p._t)("action|start"))));const i=e&&t?s.createElement("div",{className:"mx_VerificationPanel_QRPhase_betweenText"},(0,p._t)("encryption|verification|qr_or_sas",{emojiCompare:"",qrCode:""})):null;return s.createElement("div",null,(0,p._t)("encryption|verification|verify_by_completing_one_of"),s.createElement("div",{className:"mx_VerificationPanel_QRPhase_startOptions"},e,i,t,r))}let a,l;if(o&&(a=s.createElement("div",{className:"mx_UserInfo_container"},s.createElement("h3",null,(0,p._t)("encryption|verification|scan_qr")),s.createElement("p",null,(0,p._t)("encryption|verification|scan_qr_explainer",{displayName:e.displayName||e.name||e.userId})),s.createElement("div",{className:"mx_VerificationPanel_qrCode"},s.createElement(m,{qrCodeBytes:this.state.qrCodeBytes})))),n){const e=this.state.emojiButtonClicked,t=o?(0,p._t)("encryption|verification|verify_emoji_prompt_qr"):(0,p._t)("encryption|verification|verify_emoji_prompt");l=s.createElement("div",{className:"mx_UserInfo_container"},s.createElement("h3",null,(0,p._t)("encryption|verification|verify_emoji")),s.createElement("p",null,t),s.createElement(f.A,{disabled:e,kind:"primary",className:"mx_UserInfo_wideButton mx_VerificationPanel_verifyByEmojiButton",onClick:this.startSAS},(0,p._t)("encryption|verification|verify_emoji")))}const d=r?s.createElement("div",{className:"mx_UserInfo_container"},r):null;return s.createElement(s.Fragment,null,a,l,d)}async maybeGetOtherDevice(){var e;if(this.haveCheckedDevice)return;const t=d.J.safeGet(),n=null===(e=this.props.request)||void 0===e?void 0:e.otherDeviceId,s=t.getUserId();n&&s&&(this.haveCheckedDevice=!0,this.setState({otherDeviceDetails:await(0,y.G)(t,s,n)}))}renderQRReciprocatePhase(){const{member:e,request:t}=this.props,n=t.isSelfVerification?(0,p._t)("encryption|verification|qr_reciprocate_check_again_device"):(0,p._t)("encryption|verification|qr_reciprocate_same_shield_user",{displayName:e.displayName||e.name||e.userId});let o;return o=this.state.reciprocateQREvent?s.createElement(s.Fragment,null,s.createElement("p",null,n),s.createElement(g.A,{isUser:!0,status:b.z.Verified,size:128,hideTooltip:!0}),s.createElement("div",{className:"mx_VerificationPanel_reciprocateButtons"},s.createElement(f.A,{kind:"primary",disabled:this.state.reciprocateButtonClicked,onClick:this.onReciprocateYesClick},(0,p._t)("encryption|verification|qr_reciprocate_yes")),s.createElement(f.A,{disabled:this.state.reciprocateButtonClicked,onClick:this.onReciprocateNoClick},(0,p._t)("encryption|verification|qr_reciprocate_no")))):s.createElement("p",null,s.createElement(v.A,null)),s.createElement("div",{className:"mx_UserInfo_container mx_VerificationPanel_reciprocate_section"},o)}renderVerifiedPhase(){const{member:e,request:t}=this.props;let n,o;return t.isSelfVerification||(n=this.props.isRoomEncrypted?(0,p._t)("encryption|verification|prompt_encrypted"):(0,p._t)("encryption|verification|prompt_unencrypted")),o=t.isSelfVerification?(0,p._t)("encryption|verification|now_you_can"):(0,p._t)("encryption|verification|successful_user",{displayName:e.displayName||e.name||e.userId}),s.createElement("div",{className:"mx_UserInfo_container mx_VerificationPanel_verified_section"},s.createElement("p",null,o),s.createElement(g.A,{isUser:!0,status:b.z.Verified,size:128,hideTooltip:!0}),n?s.createElement("p",null,n):null,s.createElement(f.A,{kind:"primary",className:"mx_UserInfo_wideButton",onClick:this.props.onClose},(0,p._t)("action|got_it")))}renderCancelledPhase(){return s.createElement("div",{className:"mx_UserInfo_container"},s.createElement("p",null,(0,p._t)("encryption|verification|cancelled_verification")),s.createElement(f.A,{kind:"primary",className:"mx_UserInfo_wideButton",onClick:this.props.onClose},(0,p._t)("action|got_it")))}render(){const{member:e,phase:t,request:n}=this.props,r=e.displayName||e.name||e.userId;switch(t){case o.X9.Ready:return this.renderQRPhase();case o.X9.Started:switch(n.chosenMethod){case c.V.Reciprocate:return this.renderQRReciprocatePhase();case c.V.Sas:{const e=this.state.sasEvent?s.createElement(_.A,{displayName:r,otherDeviceDetails:this.state.otherDeviceDetails,sas:this.state.sasEvent.sas,onCancel:this.onSasMismatchesClick,onDone:this.onSasMatchesClick,inDialog:this.props.inDialog,isSelf:n.isSelfVerification}):s.createElement(v.A,null);return s.createElement("div",{className:"mx_UserInfo_container"},e)}default:return null}case o.X9.Done:return this.renderVerifiedPhase();case o.X9.Cancelled:return this.renderCancelledPhase()}return i.vF.error("VerificationPanel unhandled phase:",t),null}componentDidMount(){const{request:e}=this.props;if(e.on(o.FM.Change,this.onRequestChange),e.verifier){const t=e.verifier.getShowSasCallbacks(),n=e.verifier.getReciprocateQrCodeCallbacks();this.setState({sasEvent:t,reciprocateQREvent:n})}this.onRequestChange()}componentWillUnmount(){const{request:e}=this.props;e.verifier&&(e.verifier.off(o.Ji.ShowSas,this.updateVerifierState),e.verifier.off(o.Ji.ShowReciprocateQr,this.updateVerifierState)),e.off(o.FM.Change,this.onRequestChange)}}var E=n("./src/createRoom.ts"),A=n("./src/hooks/useEventEmitter.ts"),x=n("./src/Modal.tsx"),S=n("./src/stores/right-panel/RightPanelStorePhases.ts"),C=n("./src/stores/right-panel/RightPanelStore.ts"),k=n("./src/components/views/dialogs/ErrorDialog.tsx"),R=n("./src/contexts/MatrixClientContext.tsx");const I=["m.key_mismatch","m.user_error","m.mismatched_sas"],P=e=>{const t=(0,R.nH)(),{verificationRequest:n,verificationRequestPromise:l,member:c,onClose:d,layout:u,isRoomEncrypted:m}=e,[h,g]=(0,s.useState)(n),[v,f]=(0,s.useState)(!1),[_,y]=(0,s.useState)(null==h?void 0:h.phase),b=e=>{i.vF.debug(`EncryptionPanel: phase now ${void 0===e?e:o.X9[e]}`),y(e)};(0,s.useEffect)(()=>{g(n),n&&(f(!1),b(n.phase))},[n]),(0,s.useEffect)(()=>{l&&async function(){f(!0);const e=await l;f(!1),g(e),b(null==e?void 0:e.phase)}()},[l]);const P=(0,s.useRef)(!1),T=(0,s.useCallback)(()=>{var e;if(!P.current&&(null==h?void 0:h.phase)===o.X9.Cancelled&&I.includes(null!==(e=h.cancellationCode)&&void 0!==e?e:""))return P.current=!0,void x.Ay.createDialog(k.A,{headerImage:r.A,title:(0,p._t)("encryption|messages_not_secure|title"),description:s.createElement("div",null,(0,p._t)("encryption|messages_not_secure|heading"),s.createElement("ul",null,s.createElement("li",null,(0,p._t)("encryption|messages_not_secure|cause_1")),s.createElement("li",null,(0,p._t)("encryption|messages_not_secure|cause_2")),s.createElement("li",null,(0,p._t)("encryption|messages_not_secure|cause_3")),s.createElement("li",null,(0,p._t)("encryption|messages_not_secure|cause_4")))),onFinished:d});h&&b(h.phase)},[d,h]);(0,A.YK)(h,o.FM.Change,T);const O=(0,s.useCallback)(async()=>{let e;f(!0);try{const n=await(0,E.EP)(t,c.userId);if(!n)throw new Error("Unable to create Room for verification");e=await t.getCrypto().requestVerificationDM(c.userId,n)}catch(e){return console.error("Error starting verification",e),f(!1),void x.Ay.createDialog(k.A,{headerImage:r.A,title:(0,p._t)("encryption|verification|error_starting_title"),description:(0,p._t)("encryption|verification|error_starting_description")})}g(e),b(e.phase),C.A.instance.currentCard.phase!=S.n.EncryptionPanel&&C.A.instance.pushCard({phase:S.n.EncryptionPanel,state:{member:c,verificationRequest:e}}),C.A.instance.isOpen||C.A.instance.togglePanel(null)},[t,c]),M=!h&&v||!!h&&(_===o.X9.Requested||_===o.X9.Unsent||void 0===_),N=h?h.isSelfVerification:c.userId===t.getUserId();if(!h||M){const e=!h&&v||!!h&&h.initiatedByMe;return s.createElement(a.A,{isRoomEncrypted:m,onStartVerification:O,member:c,isSelfVerification:N,waitingForOtherParty:M&&e,waitingForNetwork:M&&!e,inDialog:"dialog"===u})}return s.createElement(w,{isRoomEncrypted:m,layout:u,onClose:d,member:c,request:h,key:h.transactionId,inDialog:"dialog"===u,phase:_})}},"./src/components/views/right_panel/UserInfo.tsx"(e,t,n){"use strict";n.d(t,{mc:()=>nt,Ay:()=>it,lr:()=>tt});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./node_modules/matrix-js-sdk/src/crypto-api/index.ts"),c=n("./src/Modal.tsx"),d=n("./src/languageHandler.tsx"),u=n("./src/contexts/MatrixClientContext.tsx"),m=n("./src/stores/right-panel/RightPanelStorePhases.ts"),p=n("./src/components/views/right_panel/EncryptionPanel.tsx"),h=n("./src/hooks/useIsEncrypted.ts"),g=n("./src/components/views/right_panel/BaseCard.tsx"),v=n("./src/components/views/dialogs/QuestionDialog.tsx"),f=n("./src/stores/right-panel/RightPanelStore.ts"),_=n("./src/PosthogTrackers.ts"),y=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Heading.js"),b=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),w=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Text.js"),E=n("./packages/shared-components/dist/element-web-shared-components.js"),A=n("./node_modules/matrix-js-sdk/src/matrix.ts"),x=n("./src/customisations/Media.ts"),S=n("./src/components/views/elements/ImageView.tsx"),C=n("./src/SdkConfig.ts"),k=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),R=n("./node_modules/matrix-js-sdk/src/logger.ts"),I=n("./src/DateUtils.ts"),P=n("./src/hooks/useSettings.ts");function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach(function(t){(0,k.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const M=R.vF.getChild("useUserTimezone");var N=n("./src/customisations/UserIdentifier.ts");function j({member:e,roomId:t}){var n;const s=(0,i.useContext)(u.Ay);let o=!0;const r={lastActiveAgo:void 0,currentlyActive:void 0,state:void 0},a=C.Ay.get("enable_presence_by_hs_url"),l=((e,t)=>{const[n,s]=(0,i.useState)(),[o,r]=(0,i.useState)(),[a,l]=(0,i.useState)(),[c,d]=(0,i.useState)(),u=(0,P.ti)("showTwelveHourTimestamps");return(0,i.useEffect)(()=>{e&&void 0===c&&e.doesServerSupportExtendedProfiles().then(d).catch(e=>{console.warn("Unable to determine if extended profiles are supported",e)})},[c,e]),(0,i.useEffect)(()=>()=>{o&&clearInterval(o)},[o]),(0,i.useEffect)(()=>{!0===c&&(async()=>{M.debug("Trying to fetch TZ for",t);try{var n;const o=await e.getExtendedProfile(t),i=null!==(n=o[A.ProfileKeyTimezone])&&void 0!==n?n:o[A.ProfileKeyMSC4175Timezone];if("string"!=typeof i)throw Error("Timezone value was not a string");Intl.DateTimeFormat(void 0,{timeZone:i});const a=()=>{const e=new Date,t=e.toLocaleString(void 0,O(O({},(0,I.Ak)(u)),{},{timeZone:i,hour:"2-digit",minute:"2-digit",timeZoneName:"shortOffset"}));s(i),l(t),r(setTimeout(a,1e3*(60-e.getSeconds())))};a()}catch(e){if(s(void 0),l(void 0),r(void 0),e instanceof A.MatrixError&&"M_NOT_FOUND"===e.errcode)return;M.warn(`Could not render current timezone for ${t}`,e)}})()},[c,t,e,u]),n&&a?{friendly:a,timezone:n}:null})(s,e.userId),d=null===(n=N.A.getDisplayUserIdentifier)||void 0===n?void 0:n.call(N.A,e.userId,{roomId:t,withDisplayName:!0}),m=(0,i.useCallback)(()=>{const t=e.getMxcAvatarUrl?e.getMxcAvatarUrl():e.avatarUrl,n=(0,x.mediaFromMxc)(t).srcHttp;if(!n)return;const s={src:n,name:e.name||e.displayName};c.Ay.createDialog(S.A,s,"mx_Dialog_lightbox",void 0,!0)},[e]);return e instanceof A.RoomMember&&e.user&&(r.state=e.user.presence,r.lastActiveAgo=e.user.lastActiveAgo,r.currentlyActive=e.user.currentlyActive),a&&void 0!==a[s.baseUrl]&&(o=a[s.baseUrl]),{onMemberAvatarClick:m,showPresence:o,precenseInfo:r,timezoneInfo:l,userIdentifier:d}}var D=n("./src/components/views/avatars/MemberAvatar.tsx"),U=n("./src/components/views/rooms/PresenceLabel.tsx"),F=n("./src/components/views/elements/CopyableText.tsx"),L=n("./node_modules/@vector-im/compound-web/dist/components/Badge/Badge.js"),B=n("./node_modules/@vector-im/compound-web/dist/components/InlineSpinner/InlineSpinner.js"),V=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),H=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/verified.js"),z=n("./src/hooks/useAsyncMemo.ts"),W=n("./src/verification.ts");const K=(e,t)=>{const n=(0,i.useContext)(u.Ay),s=(0,z.e)(async()=>{var t;return null===(t=n.getCrypto())||void 0===t?void 0:t.getUserVerificationStatus(e.userId)},[e.userId],void 0),o=Boolean(s),r=Boolean(null==s?void 0:s.isVerified()),a=e.userId===n.getUserId(),l=o&&!r&&!a&&t&&t.length>0,c=((e,t,n)=>(0,z.e)(async()=>{var s;if(n)return null===(s=e.getCrypto())||void 0===s?void 0:s.userHasCrossSigningKeys(t.userId,!0)},[e,t,n]))(n,e,l);return{canVerify:l,hasCrossSigningKeys:c,isUserVerified:r,verifySelectedUser:()=>(0,W.F)(n,e)}},$=({member:e,devices:t})=>{let n;const s=K(e,t);return n=s.isUserVerified?i.createElement(L.E,{kind:"green",className:"mx_UserInfo_verified_badge"},i.createElement(H.A,{className:"mx_UserInfo_verified_icon",height:"16px",width:"16px"}),i.createElement(w.E,{size:"sm",weight:"medium",className:"mx_UserInfo_verified_label"},(0,d._t)("common|verified"))):void 0===s.hasCrossSigningKeys?i.createElement(B.Z,{size:24}):s.canVerify&&s.hasCrossSigningKeys?i.createElement("div",{className:"mx_UserInfo_container_verifyButton"},i.createElement(V.$,{className:"mx_UserInfo_verify_button",kind:"tertiary",size:"sm",onClick:()=>s.verifySelectedUser()},(0,d._t)("user_info|verify_button"))):i.createElement(w.E,{className:"mx_UserInfo_verification_unavailable",size:"sm"},"(",(0,d._t)("user_info|verification_unavailable"),")"),i.createElement(E.so,{justify:"center",align:"center",className:"mx_UserInfo_verification"},n)},J=({member:e,devices:t,roomId:n,hideVerificationSection:s})=>{var o,r,a,l;const c=j({member:e,roomId:n}),d=e.avatarUrl,u=e.rawDisplayName;let m;return c.showPresence&&(m=i.createElement(U.A,{activeAgo:c.precenseInfo.lastActiveAgo,currentlyActive:c.precenseInfo.currentlyActive,presenceState:c.precenseInfo.state,className:"mx_UserInfo_profileStatus",coloured:!0})),i.createElement(i.Fragment,null,i.createElement("div",{className:"mx_UserInfo_avatar"},i.createElement("div",{className:"mx_UserInfo_avatar_transition"},i.createElement("div",{className:"mx_UserInfo_avatar_transition_child"},i.createElement(D.A,{key:e.userId,member:e,size:"120px",resizeMethod:"scale",fallbackUserId:e.userId,onClick:c.onMemberAvatarClick,urls:d?[d]:void 0})))),i.createElement(nt,{className:"mx_UserInfo_header"},i.createElement(E.so,{direction:"column",align:"center",className:"mx_UserInfo_profile"},i.createElement(y.D,{size:"sm",weight:"semibold",as:"h1",dir:"auto"},i.createElement(E.so,{className:"mx_UserInfo_profile_name",direction:"row-reverse",align:"center"},u)),m,c.timezoneInfo&&i.createElement(b.m,{label:null!==(o=null===(r=c.timezoneInfo)||void 0===r?void 0:r.timezone)&&void 0!==o?o:""},i.createElement(E.so,{align:"center",className:"mx_UserInfo_timezone"},i.createElement(w.E,{size:"sm",weight:"regular"},null!==(a=null===(l=c.timezoneInfo)||void 0===l?void 0:l.friendly)&&void 0!==a?a:""))),i.createElement(w.E,{size:"sm",weight:"semibold",className:"mx_UserInfo_profile_mxid"},i.createElement(F.A,{getTextToCopy:()=>c.userIdentifier,border:!1},c.userIdentifier))),!s&&i.createElement($,{member:e,devices:t})))};var G=n("./node_modules/@vector-im/compound-web/dist/components/Menu/MenuItem.js"),q=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/delete.js"),Y=n("./src/hooks/useEventEmitter.ts"),Z=n("./src/components/views/dialogs/ErrorDialog.tsx"),Q=n("./src/utils/DMRoomMap.ts");const X=e=>{var t;return(null==e||null===(t=e.currentState)||void 0===t||null===(t=t.getStateEvents(A.EventType.RoomPowerLevels,""))||void 0===t?void 0:t.getContent())||{}},ee=(e,t,n)=>{const[s,o]=(0,i.useState)({modifyLevelMax:-1,canEdit:!1,canInvite:!1}),r=(0,i.useCallback)(()=>{var s,i;const r=null==t||null===(s=t.currentState.getStateEvents(A.EventType.RoomPowerLevels,""))||void 0===s?void 0:s.getContent();if(!r)return;const a=t.getMember(e.getUserId()||"");if(!a)return;const l=n,c=a.userId===l.userId;let d=-1;if(l.powerLevel<a.powerLevel||c){var u,m,p;const e=null!==(u=null!==(m=null===(p=r.events)||void 0===p?void 0:p[A.EventType.RoomPowerLevels])&&void 0!==m?m:r.state_default)&&void 0!==u?u:50;a.powerLevel>=e&&(d=a.powerLevel)}o({canInvite:a.powerLevel>=(null!==(i=r.invite)&&void 0!==i?i:0),canEdit:d>=0,modifyLevelMax:d})},[e,n,t]);return(0,Y.YK)(e,A.RoomStateEvent.Update,r),(0,i.useEffect)(()=>(r(),()=>{o({modifyLevelMax:-1,canEdit:!1,canInvite:!1})}),[r]),s},te=(e,t)=>{const n=(0,u.nH)(),s=((e,t)=>{const[n,s]=(0,i.useState)(X(t)),o=(0,i.useCallback)(e=>{t&&(e&&e.getType()!==A.EventType.RoomPowerLevels||s(X(t)))},[t]);return(0,Y.YK)(e,A.RoomStateEvent.Events,o),(0,i.useEffect)(()=>(o(),()=>{s({})}),[o]),n})(n,e),o=(e=>(0,z.e)(async()=>!!e&&e.isSynapseAdministrator().catch(()=>!1),[e],!1))(n),[r,a]=(0,i.useState)(0),l=ee(n,e,t),m=t.userId===n.getUserId(),p=!!Q.A.shared().getUserIdForRoomId(t.roomId),h=t.userId.endsWith(`:${n.getDomain()}`),g=o&&h,f=(0,i.useCallback)(()=>{a(r+1)},[r]),_=(0,i.useCallback)(()=>{a(r-1)},[r]),y=(0,i.useCallback)(async()=>{const{finished:e}=c.Ay.createDialog(v.A,{title:(0,d._t)("user_info|deactivate_confirm_title"),description:i.createElement("div",null,(0,d._t)("user_info|deactivate_confirm_description")),button:(0,d._t)("user_info|deactivate_confirm_action"),danger:!0}),[s]=await e;if(s)try{await n.deactivateSynapseUser(t.userId)}catch(e){R.vF.error("Failed to deactivate user"),R.vF.error(e);const t=e instanceof Error?e.message:(0,d._t)("invite|failed_generic");c.Ay.createDialog(Z.A,{title:(0,d._t)("user_info|error_deactivate"),description:t})}},[n,t.userId]);return{showDeactivateButton:g,powerLevels:s,roomPermissions:l,pendingUpdateCount:r,isMe:m,isRoomDMForMember:p,onSynapseDeactivate:y,startUpdating:f,stopUpdating:_}};var ne=n("./src/Roles.ts"),se=n("./src/components/views/elements/PowerSelector.tsx"),oe=n("./node_modules/@sentry/core/build/esm/logs/public-api.js");const ie=({user:e,room:t,roomPermissions:n})=>{const s=((e,t)=>{const[n,s]=(0,i.useState)(e.powerLevel);(0,i.useEffect)(()=>{s(e.powerLevel)},[e]);const o=(0,i.useContext)(u.Ay),r=(0,i.useCallback)(async n=>{s(n);const r=e.roomId,a=e.userId,l=t.currentState.getStateEvents("m.room.power_levels","");if(!l)return;const u=o.getUserId(),m=l.getContent().users[u||""];if(m&&parseInt(m)<=n&&u!==a){const{finished:e}=c.Ay.createDialog(v.A,{title:(0,d._t)("common|warning"),description:i.createElement("div",null,(0,d._t)("user_info|promote_warning"),i.createElement("br",null),(0,d._t)("common|are_you_sure")),button:(0,d._t)("action|continue")}),[t]=await e;if(!t)return}else if(u===a&&m&&parseInt(m)>n)try{if(!await tt(null==t?void 0:t.isSpaceRoom()))return}catch(e){oe.z3("Failed to warn about self demotion: "+e)}await((e,t,n)=>o.setPowerLevel(e,t,n).then(function(){oe.pq("Power change success")},function(e){oe.z3("Failed to change power level "+e),c.Ay.createDialog(Z.A,{title:(0,d._t)("common|error"),description:(0,d._t)("error|update_power_level")})}))(r,a,n)},[e.roomId,e.userId,o,t]),a=t.currentState.getStateEvents("m.room.power_levels","");return{powerLevelUsersDefault:a?a.getContent().users_default:0,onPowerChange:r,selectedPowerLevel:n}})(e,t);if(n.canEdit)return i.createElement(re,{vm:s,roomPermissions:n});const o=e.powerLevel,r=(0,ne.X)(o,s.powerLevelUsersDefault);return i.createElement("div",{className:"mx_UserInfo_profileField"},i.createElement("div",{className:"mx_UserInfo_roleDescription"},r))},re=({vm:e,roomPermissions:t})=>i.createElement("div",{className:"mx_UserInfo_profileField"},i.createElement(se.A,{label:void 0,value:e.selectedPowerLevel,maxValue:t.modifyLevelMax,usersDefault:e.powerLevelUsersDefault,onChange:e.onPowerChange}));var ae=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/block.js");const le=({member:e})=>{const t=(e=>{const t=(0,i.useContext)(u.Ay),n=(0,i.useCallback)(()=>{const n=t.getIgnoredUsers(),s=n.indexOf(e.userId);-1!==s&&n.splice(s,1),t.setIgnoredUsers(n)},[t,e]),s=(0,i.useCallback)(async()=>{const n=(e instanceof A.User?e.displayName:e.name)||e.userId,{finished:s}=c.Ay.createDialog(v.A,{title:(0,d._t)("user_info|ignore_confirm_title",{user:n}),description:i.createElement("div",null,(0,d._t)("user_info|ignore_confirm_description")),button:(0,d._t)("action|ignore")}),[o]=await s;if(o){const n=t.getIgnoredUsers();n.push(e.userId),t.setIgnoredUsers(n)}},[t,e]),[o,r]=(0,i.useState)(t.isUserIgnored(e.userId));(0,i.useEffect)(()=>{r(t.isUserIgnored(e.userId))},[t,e.userId]);const a=(0,i.useCallback)(n=>{"m.ignored_user_list"===n.getType()&&r(t.isUserIgnored(e.userId))},[t,e.userId]);return(0,Y.YK)(t,A.ClientEvent.AccountData,a),{ignoreButtonClick:e=>{e.preventDefault(),o?n():s()},isIgnored:o}})(e);return i.createElement(G.D,{role:"button",onSelect:async e=>t.ignoreButtonClick(e),label:t.isIgnored?(0,d._t)("user_info|unignore_button"):(0,d._t)("user_info|ignore_button"),kind:"critical",Icon:ae.A})};var ce=n("./src/components/views/elements/Spinner.tsx"),de=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),ue=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chat-problem.js"),me=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/visibility-off.js"),pe=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/leave.js");var he=n("./node_modules/matrix-js-sdk/src/types.ts");var ge=n("./src/utils/space.tsx"),ve=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/info-solid.js"),fe=n("./src/components/views/dialogs/ConfirmUserActionDialog.tsx"),_e=n("./src/stores/spaces/SpaceStore.ts"),ye=n("./src/components/views/spaces/SpaceChildrenPicker.tsx");const be=["space","spaceChildFilter","allLabel","specificLabel","noneLabel","warningMessage","onFinished"],we=e=>{let{space:t,spaceChildFilter:n,allLabel:r,specificLabel:a,noneLabel:l,warningMessage:c,onFinished:d}=e,u=(0,o.A)(e,be);const m=(0,i.useMemo)(()=>{const e=_e.Ay.instance.getChildren(t.roomId);return n?e.filter(n):e},[t.roomId,n]),[p,h]=(0,i.useState)([]),g=(0,i.useMemo)(()=>new Set(p),[p]);let v;return c&&(v=i.createElement("div",{className:"mx_ConfirmSpaceUserActionDialog_warning"},i.createElement(ve.A,null),c)),i.createElement(fe.A,(0,s.A)({},u,{onFinished:(e,t)=>{d(e,t,p)},className:"mx_ConfirmSpaceUserActionDialog",roomId:t.roomId}),v,i.createElement(ye.A,{space:t,spaceChildren:m,selected:g,allLabel:r,specificLabel:a,noneLabel:l,onChange:h}))};function Ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function Ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(n),!0).forEach(function(t){(0,k.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ee(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const xe=e=>{const{isUpdating:t,startUpdating:n,stopUpdating:s,room:o,member:i}=e,r=(0,u.nH)(),a=i.membership===he.O.Ban;let l=o.isSpaceRoom()?(0,d._t)("user_info|ban_button_space"):(0,d._t)("user_info|ban_button_room");a&&(l=o.isSpaceRoom()?(0,d._t)("user_info|unban_button_space"):(0,d._t)("user_info|unban_button_room"));return{onBanOrUnbanClick:async()=>{if(t)return;n();const e={member:i,action:o.isSpaceRoom()?a?(0,d._t)("user_info|unban_button_space"):(0,d._t)("user_info|ban_button_space"):a?(0,d._t)("user_info|unban_button_room"):(0,d._t)("user_info|ban_button_room"),title:a?(0,d._t)("user_info|unban_room_confirm_title",{roomName:o.name}):(0,d._t)("user_info|ban_room_confirm_title",{roomName:o.name}),askReason:!a,danger:!a};let l;o.isSpaceRoom()?({finished:l}=c.Ay.createDialog(we,Ae(Ae({},e),{},{space:o,spaceChildFilter:a?e=>{const t=e.getMember(r.credentials.userId||""),n=e.getMember(i.userId);return!!t&&!!n&&n.membership===he.O.Ban&&t.powerLevel>n.powerLevel&&e.currentState.hasSufficientPowerLevelFor("ban",t.powerLevel)}:e=>{const t=e.getMember(r.credentials.userId||""),n=e.getMember(i.userId);return!!t&&!!n&&n.membership!==he.O.Ban&&t.powerLevel>n.powerLevel&&e.currentState.hasSufficientPowerLevelFor("ban",t.powerLevel)},allLabel:a?(0,d._t)("user_info|unban_space_everything"):(0,d._t)("user_info|ban_space_everything"),specificLabel:a?(0,d._t)("user_info|unban_space_specific"):(0,d._t)("user_info|ban_space_specific"),warningMessage:a?(0,d._t)("user_info|unban_space_warning"):(0,d._t)("user_info|kick_space_warning")}),"mx_ConfirmSpaceUserActionDialog_wrapper")):({finished:l}=c.Ay.createDialog(fe.A,e));const[u,m,p=[]]=await l;if(!u)return void s();(0,ge.Yt)(o,p,e=>{return t=e.roomId,a?r.unban(t,i.userId):r.ban(t,i.userId,m||void 0);var t}).then(()=>{oe.pq("Ban success")},function(e){oe.z3("Ban error: "+e),c.Ay.createDialog(Z.A,{title:(0,d._t)("common|error"),description:(0,d._t)("user_info|error_ban_user")})}).finally(()=>{s()})},banLabel:l}};function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function Ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Se(Object(n),!0).forEach(function(t){(0,k.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Se(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var ke=n("./src/dispatcher/dispatcher.ts"),Re=n("./src/dispatcher/actions.ts"),Ie=n("./src/components/views/dialogs/BaseDialog.tsx"),Pe=n("./src/components/views/dialogs/InfoDialog.tsx"),Te=n("./src/components/views/elements/DialogButtons.tsx"),Oe=n("./src/components/views/elements/StyledCheckbox.tsx");const Me=e=>{const{matrixClient:t,room:n,member:s,onFinished:o}=e,[r,a]=(0,i.useState)(!0);let l=n.getLiveTimeline(),c=[];for(;l;)c=[...c,...l.getEvents().filter(e=>e.getSender()===s.userId&&!e.isRedacted()&&!e.isRedaction()&&e.getType()!==A.EventType.RoomCreate&&e.getType()!==A.EventType.RoomServerAcl&&e.getType()!==A.EventType.RoomEncryption)],l=l.getNeighbouringTimeline(A.EventTimeline.BACKWARDS);if(0===c.length)return i.createElement(Pe.A,{onFinished:o,title:(0,d._t)("user_info|redact|no_recent_messages_title",{user:s.name}),description:i.createElement("div",null,i.createElement("p",null,(0,d._t)("user_info|redact|no_recent_messages_description")))});{c=c.filter(e=>!(r&&e.isState()));const e=c.length,l=s.name,u=async()=>{R.vF.info(`Started redacting recent ${e} messages for ${s.userId} in ${n.roomId}`),ke.A.dispatch({action:Re.r.BulkRedactStart,room_id:n.roomId}),await Promise.resolve(),await Promise.all(c.reverse().map(async e=>{try{await t.redactEvent(n.roomId,e.getId())}catch(t){R.vF.error("Could not redact",e.getId()),R.vF.error(t)}})),R.vF.info(`Finished redacting recent ${e} messages for ${s.userId} in ${n.roomId}`),ke.A.dispatch({action:Re.r.BulkRedactEnd,room_id:n.roomId})};return i.createElement(Ie.A,{className:"mx_BulkRedactDialog",onFinished:o,title:(0,d._t)("user_info|redact|confirm_title",{user:l}),contentId:"mx_Dialog_content"},i.createElement("div",{className:"mx_Dialog_content",id:"mx_Dialog_content"},i.createElement("p",null,(0,d._t)("user_info|redact|confirm_description_1",{count:e,user:l})),i.createElement("p",null,(0,d._t)("user_info|redact|confirm_description_2")),i.createElement(Oe.A,{description:(0,d._t)("user_info|redact|confirm_keep_state_explainer"),checked:r,onChange:e=>a(e.target.checked)},(0,d._t)("user_info|redact|confirm_keep_state_label"))),i.createElement(Te.A,{primaryButton:(0,d._t)("user_info|redact|confirm_button",{count:e}),primaryButtonClass:"danger",primaryDisabled:0===e,onPrimaryButtonClick:()=>{setTimeout(u,0),o(!0)},onCancel:()=>o(!1)}))}},Ne=({children:e,className:t})=>{const n=a()("mx_UserInfo_container",t);return i.createElement("div",{className:n},e)},je=({room:e,member:t,isUpdating:n,startUpdating:s,stopUpdating:o})=>{const r=function(e){const{isUpdating:t,startUpdating:n,stopUpdating:s,room:o,member:i}=e,r=(0,u.nH)();return{onKickClick:async()=>{if(t)return;n();const e={member:i,action:o.isSpaceRoom()?i.membership===he.O.Invite?(0,d._t)("user_info|disinvite_button_space"):(0,d._t)("user_info|kick_button_space"):i.membership===he.O.Invite?(0,d._t)("user_info|disinvite_button_room"):(0,d._t)("user_info|kick_button_room"),title:i.membership===he.O.Invite?(0,d._t)("user_info|disinvite_button_room_name",{roomName:o.name}):(0,d._t)("user_info|kick_button_room_name",{roomName:o.name}),askReason:i.membership===he.O.Join,danger:!0};let a;o.isSpaceRoom()?({finished:a}=c.Ay.createDialog(we,Ce(Ce({},e),{},{space:o,spaceChildFilter:e=>{const t=e.getMember(r.credentials.userId||""),n=e.getMember(i.userId);return!!t&&!!n&&n.membership===i.membership&&t.powerLevel>n.powerLevel&&e.currentState.hasSufficientPowerLevelFor("kick",t.powerLevel)},allLabel:(0,d._t)("user_info|kick_button_space_everything"),specificLabel:(0,d._t)("user_info|kick_space_specific"),warningMessage:(0,d._t)("user_info|kick_space_warning")}),"mx_ConfirmSpaceUserActionDialog_wrapper")):({finished:a}=c.Ay.createDialog(fe.A,e));const[l,u,m=[]]=await a;l?(0,ge.Yt)(o,m,e=>r.kick(e.roomId,i.userId,u||void 0)).then(()=>{oe.pq("Kick success")},function(e){var t;oe.z3("Kick error: "+e),c.Ay.createDialog(Z.A,{title:(0,d._t)("user_info|error_kicking_user"),description:null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Operation failed"})}).finally(()=>{s()}):s()},canUserBeKicked:i.membership===he.O.Invite||i.membership===he.O.Join,kickLabel:o.isSpaceRoom()?i.membership===he.O.Invite?(0,d._t)("user_info|disinvite_button_space"):(0,d._t)("user_info|kick_button_space"):i.membership===he.O.Invite?(0,d._t)("user_info|disinvite_button_room"):(0,d._t)("user_info|kick_button_room")}}({room:e,member:t,isUpdating:n,startUpdating:s,stopUpdating:o});return r.canUserBeKicked?i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),r.onKickClick()},disabled:n,label:r.kickLabel,kind:"critical",Icon:pe.A}):i.createElement(i.Fragment,null)},De=({member:e})=>{const t=(e=>{const t=(0,u.nH)();return{onRedactAllMessagesClick:()=>{const n=t.getRoom(e.roomId);n&&c.Ay.createDialog(Me,{matrixClient:t,room:n,member:e})}}})(e);return i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),t.onRedactAllMessagesClick()},label:(0,d._t)("user_info|redact_button"),kind:"critical",Icon:de.A})},Ue=({room:e,member:t,isUpdating:n,startUpdating:s,stopUpdating:o})=>{const r=xe({room:e,member:t,isUpdating:n,startUpdating:s,stopUpdating:o});return i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),r.onBanOrUnbanClick()},disabled:n,label:r.banLabel,kind:"critical",Icon:ue.A})},Fe=({member:e,room:t,powerLevels:n,isUpdating:s,startUpdating:o,stopUpdating:r})=>{const a=(e=>{var t;const{isUpdating:n,startUpdating:s,stopUpdating:o,room:i,member:r}=e,a=(0,u.nH)(),l=((e,t)=>{if(!t||!e)return!1;const n=(t.events?t.events["m.room.message"]:null)||t.events_default;return void 0!==n&&e.powerLevel<n})(r,(null===(t=i.currentState.getStateEvents("m.room.power_levels",""))||void 0===t?void 0:t.getContent())||{}),m=l?(0,d._t)("common|unmute"):(0,d._t)("common|mute");return{isMemberInTheRoom:r.membership==he.O.Join,onMuteButtonClick:async()=>{var e,t;if(n)return;s();const u=r.roomId,m=r.userId,p=i.currentState.getStateEvents("m.room.power_levels",""),h=null==p?void 0:p.getContent(),g=null!==(e=null==h||null===(t=h.events)||void 0===t?void 0:t["m.room.message"])&&void 0!==e?e:null==h?void 0:h.events_default;let v;v=l?g:g-1,v=parseInt(v),console.log("level",v),isNaN(v)?o():a.setPowerLevel(u,m,v).then(()=>{oe.pq("Mute toggle success")},function(e){oe.z3("Mute error: "+e),c.Ay.createDialog(Z.A,{title:(0,d._t)("common|error"),description:(0,d._t)("user_info|error_mute_user")})}).finally(()=>{o()})},muteLabel:m}})({room:t,member:e,isUpdating:s,startUpdating:o,stopUpdating:r});return a.isMemberInTheRoom?i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),a.onMuteButtonClick()},disabled:s,label:a.muteLabel,kind:"critical",Icon:me.A}):null},Le=({room:e,children:t,member:n,isUpdating:s,startUpdating:o,stopUpdating:r,powerLevels:a})=>{let l,c,d,m;const p=(e=>{const t=(0,u.nH)(),{room:n,member:s,powerLevels:o}=e,i=(o.events?o.events["m.room.power_levels"]:null)||o.state_default,{ban:r=50,kick:a=50,redact:l=50}=o,c=n.getMember(t.getUserId()||""),d=null!==c;if(!d)return{shouldShowKickButton:!1,shouldShowBanButton:!1,shouldShowMuteButton:!1,shouldShowRedactButton:!1,isCurrentUserInTheRoom:!1};const m=c.userId===s.userId,p=s.powerLevel<c.powerLevel||m;return{shouldShowKickButton:!m&&p&&c.powerLevel>=a,shouldShowRedactButton:c.powerLevel>=l&&!n.isSpaceRoom(),shouldShowBanButton:!m&&p&&c.powerLevel>=r,shouldShowMuteButton:!m&&p&&c.powerLevel>=Number(i)&&!n.isSpaceRoom(),isCurrentUserInTheRoom:d}})({room:e,member:n,powerLevels:a});return p.isCurrentUserInTheRoom?(p.shouldShowKickButton&&(l=i.createElement(je,{room:e,member:n,isUpdating:s,startUpdating:o,stopUpdating:r})),p.shouldShowRedactButton&&(m=i.createElement(De,{member:n,isUpdating:s,startUpdating:o,stopUpdating:r})),p.shouldShowBanButton&&(c=i.createElement(Ue,{room:e,member:n,isUpdating:s,startUpdating:o,stopUpdating:r})),p.shouldShowMuteButton&&(d=i.createElement(Fe,{member:n,room:e,powerLevels:a,isUpdating:s,startUpdating:o,stopUpdating:r})),l||c||d||m||t?i.createElement(Ne,null,d,m,l,c,t):i.createElement("div",null)):i.createElement("div",null)};var Be=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chat.js"),Ve=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check.js"),He=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/mention.js"),ze=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/share.js"),We=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-add.js"),Ke=n("./src/components/views/dialogs/ShareDialog.tsx"),$e=n("./src/contexts/RoomContext.ts"),Je=n("./src/utils/MultiInviter.ts"),Ge=n("./src/utils/direct-messages.ts");var qe=n("./src/customisations/helpers/UIComponents.ts"),Ye=n("./src/settings/UIFeature.ts");const Ze=({member:e,openDMForUser:t})=>{const[n,s]=(0,i.useState)(!1);return i.createElement(G.D,{role:"button",onSelect:async o=>{o.preventDefault(),n||(s(!0),await t(e),s(!1))},disabled:n,label:(0,d._t)("user_info|send_message"),Icon:Be.A})},Qe=({room:e,member:t,children:n})=>{const s=((e,t)=>{var n;const s=(0,i.useContext)(u.Ay),o=t.userId===s.getUserId(),r=ee(s,e,t),a=null==e?void 0:e.isSpaceRoom(),l=a||!(null!=e&&e.getEventReadUpTo(t.userId)),m=t instanceof A.RoomMember&&t.roomId&&!a;return{isMe:o,showInviteButton:t instanceof A.RoomMember&&r.canInvite&&(null!==(n=null==t?void 0:t.membership)&&void 0!==n?n:A.KnownMembership.Leave)===A.KnownMembership.Leave,showInsertPillButton:m,readReceiptButtonDisabled:l,onReadReceiptButton:function(){const e=t instanceof A.RoomMember?s.getRoom(t.roomId):null;e&&!l&&ke.A.dispatch({action:Re.r.ViewRoom,highlighted:!0,event_id:e.getEventReadUpTo(t.userId)||void 0,room_id:e.roomId,metricsTrigger:void 0})},onInsertPillButton:function(){ke.A.dispatch({action:Re.r.ComposerInsert,userId:t.userId,timelineRenderingType:$e.Ae.Room})},onInviteUserButton:async(e,n)=>{try{const n=t instanceof A.RoomMember&&t.roomId?t.roomId:e,o=new Je.Ay(s,n||"");await o.invite([t.userId]).then(()=>{if("invited"!==o.getCompletionState(t.userId)){const e=o.getErrorText(t.userId);throw e?new Error(e):new d.P7("slash_command|invite_failed",{user:t.userId,roomId:n,cause:void 0})}})}catch(e){const t=e instanceof Error?e.message:(0,d._t)("invite|failed_generic");c.Ay.createDialog(Z.A,{title:(0,d._t)("invite|failed_title"),description:t})}_.A.trackInteraction("WebRightPanelRoomUserInfoInviteButton",n)},onShareUserClick:()=>{c.Ay.createDialog(Ke.G,{target:t})},onOpenDmForUser:async e=>{const t=e instanceof A.User?e.avatarUrl:e.getMxcAvatarUrl(),n=new Ge.qv({user_id:e.userId,display_name:e.rawDisplayName,avatar_url:t});await(0,Ge.UZ)(s,[n])}}})(e,t);let o,r,a;s.isMe||(a=i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),s.onReadReceiptButton()},label:(0,d._t)("user_info|jump_to_rr_button"),disabled:s.readReceiptButtonDisabled,Icon:Ve.A}),s.showInsertPillButton&&(o=i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),s.onInsertPillButton()},label:(0,d._t)("action|mention"),Icon:He.A})),s.showInviteButton&&(0,qe.g)(Ye.C.InviteUsers)&&(r=i.createElement(G.D,{role:"button",onSelect:async t=>{t.preventDefault(),s.onInviteUserButton(e.roomId,t)},label:(0,d._t)("action|invite"),Icon:We.A})));const l=i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),s.onShareUserClick()},label:(0,d._t)("user_info|share_button"),Icon:ze.A}),m=s.isMe||!(0,qe.g)(Ye.C.CreateRooms)?null:i.createElement(Ze,{member:t,openDMForUser:s.onOpenDmForUser});return i.createElement(nt,null,n,m,r,a,l,o)},Xe=({room:e,member:t})=>{const n=te(e,t);let s,o,r,a;return n.showDeactivateButton&&(s=i.createElement(G.D,{role:"button",onSelect:async e=>{e.preventDefault(),n.onSynapseDeactivate()},label:(0,d._t)("user_info|deactivate_confirm_action"),kind:"critical",Icon:q.A})),e&&t.roomId?(n.isRoomDMForMember||(r=i.createElement(ie,{user:t,room:e,roomPermissions:n.roomPermissions})),a=i.createElement(Le,{powerLevels:n.powerLevels,member:t,room:e,isUpdating:n.pendingUpdateCount>0,startUpdating:n.startUpdating,stopUpdating:n.stopUpdating},s)):s&&(a=i.createElement(nt,null,s)),n.pendingUpdateCount>0&&(o=i.createElement(ce.A,null)),i.createElement(i.Fragment,null,i.createElement(Qe,{room:e,member:t},r),a,!n.isMe&&i.createElement(nt,null,i.createElement(le,{member:t})),o)},et=["user","room","onClose","phase"],tt=async e=>{const{finished:t}=c.Ay.createDialog(v.A,{title:(0,d._t)("user_info|demote_self_confirm_title"),description:i.createElement("div",null,e?(0,d._t)("user_info|demote_self_confirm_description_space"):(0,d._t)("user_info|demote_self_confirm_room")),button:(0,d._t)("user_info|demote_button")}),[n]=await t;return!!n},nt=({children:e,className:t})=>{const n=a()("mx_UserInfo_container",t);return i.createElement("div",{className:n},e)};async function st(e,t,n=!1){var s;const o=await(null===(s=t.getCrypto())||void 0===s?void 0:s.getUserDeviceInfo([e],n)),i=null==o?void 0:o.get(e);if(i)return Array.from(i.values())}const ot=e=>{const t=(0,i.useContext)(u.Ay),[n,s]=(0,i.useState)(void 0);return(0,i.useEffect)(()=>{s(void 0);let n=!1;return async function(){try{const o=await st(e,t,!0);if(n||!o)return;(e=>{const t=Object.create(null);for(let s=0;s<e.length;s++){var n;const o=null!==(n=e[s].displayName)&&void 0!==n?n:"",i=t[o]||[];i.push(s),t[o]=i}for(const n in t)t[n].length>1&&t[n].forEach(t=>{e[t].ambiguous=!0})})(o),s(o)}catch{s(null)}}(),()=>{n=!0}},[t,e]),(0,i.useEffect)(()=>{let n=!1;const o=async()=>{const o=await st(e,t);!n&&o&&s(o)},i=t=>{t.includes(e)&&o()},r=(t,n)=>{t===e&&o()};return t.on(l.cr.DevicesUpdated,i),t.on(l.cr.UserTrustStatusChanged,r),()=>{n=!0,t.removeListener(l.cr.DevicesUpdated,i),t.removeListener(l.cr.UserTrustStatusChanged,r)}},[t,e]),n},it=e=>{var t;let{user:n,room:r,onClose:a,phase:l=m.n.MemberInfo}=e,c=(0,o.A)(e,et);const v=(0,i.useContext)(u.Ay),y=(0,i.useMemo)(()=>r&&r.getMember(n.userId)||n,[r,n]),b=(0,h.g)(v,r),w=null!==(t=ot(n.userId))&&void 0!==t?t:[],E=["mx_UserInfo"];let A={};r&&l===m.n.EncryptionPanel&&(A={member:y});const x=()=>{f.A.instance.popCard()};let S,C;switch(l){case m.n.MemberInfo:S=i.createElement(Xe,{room:r,member:y});break;case m.n.EncryptionPanel:E.push("mx_UserInfo_smallAvatar"),S=i.createElement(p.A,(0,s.A)({},c,{member:y,onClose:x,isRoomEncrypted:Boolean(b)}))}if(l===m.n.EncryptionPanel){const e=c.verificationRequest;e&&e.pending&&(C=(0,d._t)("action|cancel"))}const k=i.createElement(i.Fragment,null,i.createElement(J,{hideVerificationSection:l===m.n.EncryptionPanel,member:y,devices:w,roomId:null==r?void 0:r.roomId}));return i.createElement(g.A,{className:E.join(" "),header:(0,d._t)("common|profile"),onClose:a,closeLabel:C,cardState:A,onBack:e=>{f.A.instance.previousCard.phase===m.n.MemberList&&_.A.trackInteraction("WebRightPanelRoomUserInfoBackButton",e)}},k,S)}},"./src/components/views/right_panel/context.ts"(e,t,n){"use strict";n.d(t,{E:()=>s});const s=n("./node_modules/react/index.js").createContext({isCard:!1})},"./src/components/views/right_panel/types.ts"(e,t,n){"use strict";n.d(t,{M:()=>s});const s="im.vector.room.read_pins"},"./src/components/views/room_settings/AliasSettings.tsx"(e,t,n){"use strict";n.d(t,{A:()=>x});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),l=n("./src/languageHandler.tsx"),c=n("./src/components/views/elements/Field.tsx"),d=n("./src/components/views/elements/AccessibleButton.tsx");class u extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"state",{verifyRemove:!1}),(0,s.A)(this,"onRemove",e=>{e.stopPropagation(),e.preventDefault(),this.setState({verifyRemove:!0})}),(0,s.A)(this,"onDontRemove",e=>{e.stopPropagation(),e.preventDefault(),this.setState({verifyRemove:!1})}),(0,s.A)(this,"onActuallyRemove",e=>{e.stopPropagation(),e.preventDefault(),this.props.onRemove&&this.props.onRemove(this.props.index),this.setState({verifyRemove:!1})})}render(){return this.state.verifyRemove?o.createElement("div",{className:"mx_EditableItem"},o.createElement("span",{className:"mx_EditableItem_promptText"},(0,l._t)("common|are_you_sure")),o.createElement(d.A,{onClick:this.onActuallyRemove,kind:"primary_sm",className:"mx_EditableItem_confirmBtn"},(0,l._t)("action|yes")),o.createElement(d.A,{onClick:this.onDontRemove,kind:"danger_sm",className:"mx_EditableItem_confirmBtn"},(0,l._t)("action|no"))):o.createElement("div",{className:"mx_EditableItem"},o.createElement(d.A,{onClick:this.onRemove,className:"mx_EditableItem_delete",title:(0,l._t)("action|remove"),role:"button"},o.createElement(a.A,null)),o.createElement("span",{className:"mx_EditableItem_item"},this.props.value))}}class m extends o.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"onItemAdded",e=>{var t,n;e.stopPropagation(),e.preventDefault(),null===(t=(n=this.props).onItemAdded)||void 0===t||t.call(n,this.props.newItem)}),(0,s.A)(this,"onItemRemoved",e=>{var t,n;null===(t=(n=this.props).onItemRemoved)||void 0===t||t.call(n,e)}),(0,s.A)(this,"onNewItemChanged",e=>{var t,n;null===(t=(n=this.props).onNewItemChanged)||void 0===t||t.call(n,e.target.value)})}renderNewItemField(){return o.createElement("form",{onSubmit:this.onItemAdded,autoComplete:"off",noValidate:!0,className:"mx_EditableItemList_newItem"},o.createElement(c.A,{label:this.props.placeholder,type:"text",autoComplete:"off",value:this.props.newItem||"",onChange:this.onNewItemChanged,list:this.props.suggestionsListId}),o.createElement(d.A,{onClick:this.onItemAdded,kind:"primary",disabled:!this.props.newItem},(0,l._t)("action|add")))}render(){const e=this.props.items.map((e,t)=>this.props.canRemove?o.createElement(u,{key:e,index:t,value:e,onRemove:this.onItemRemoved}):o.createElement("li",{key:e},e)),t=this.props.canRemove?e:o.createElement("ul",null,e),n=this.props.items.length>0?this.props.itemsLabel:this.props.noItemsLabel;return o.createElement("div",{className:"mx_EditableItemList",id:this.props.id},o.createElement("div",{className:"mx_EditableItemList_label"},n),t,this.props.canEdit?this.renderNewItemField():o.createElement("div",null))}}var p=n("./src/components/views/elements/Spinner.tsx"),h=n("./src/components/views/dialogs/ErrorDialog.tsx"),g=n("./src/Modal.tsx"),v=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),f=n("./src/MatrixClientPeg.ts"),_=n("./src/customisations/Directory.ts");class y extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"onRoomPublishChange",async e=>{const t=e.target.checked;this.setState({busy:!0});const n=f.J.safeGet();try{await n.setRoomDirectoryVisibility(this.props.roomId,t?i.Visibility.Public:i.Visibility.Private),this.setState({isRoomPublished:t})}catch(e){r.vF.error("Error while setting room directory visibility",e),this.showError()}finally{this.setState({busy:!1})}}),this.state={isRoomPublished:!1,busy:!1}}showError(){g.Ay.createDialog(h.A,{title:(0,l._t)("room_settings|general|error_publishing"),description:(0,l._t)("room_settings|general|error_publishing_detail")})}componentDidMount(){f.J.safeGet().getRoomDirectoryVisibility(this.props.roomId).then(e=>{this.setState({isRoomPublished:"public"===e.visibility})})}render(){var e;const t=f.J.safeGet(),n=t.getRoom(this.props.roomId),s=n&&n.getJoinRule()!==i.JoinRule.Invite,r=!1===(null===(e=_.A.requireCanonicalAliasAccessToPublish)||void 0===e?void 0:e.call(_.A))||this.props.canSetCanonicalAlias;let a;s?r||(a=(0,l._t)("room_settings|general|publish_warn_no_canonical_permission")):a=(0,l._t)("room_settings|general|publish_warn_invite_only");const c=r&&(s||this.state.isRoomPublished);return o.createElement(v.I,{name:"room-publish",checked:this.state.isRoomPublished,onChange:this.onRoomPublishChange,disabled:!c||this.state.busy,disabledMessage:a,label:(0,l._t)("room_settings|general|publish_toggle",{domain:t.getDomain()})})}}var b=n("./src/components/views/elements/RoomAliasField.tsx"),w=n("./src/contexts/MatrixClientContext.tsx"),E=n("./src/components/views/settings/SettingsFieldset.tsx");class A extends m{constructor(...e){super(...e),(0,s.A)(this,"aliasField",(0,o.createRef)()),(0,s.A)(this,"onAliasAdded",async e=>{e.preventDefault(),this.aliasField.current&&(await this.aliasField.current.validate({allowEmpty:!1}),this.aliasField.current.isValid?this.props.onItemAdded&&this.props.onItemAdded(this.props.newItem):(this.aliasField.current.focus(),this.aliasField.current.validate({allowEmpty:!1,focused:!0})))})}renderNewItemField(){return o.createElement("form",{onSubmit:this.onAliasAdded,autoComplete:"off",noValidate:!0,className:"mx_EditableItemList_newItem"},o.createElement(b.A,{ref:this.aliasField,onChange:e=>{var t,n;return null===(t=(n=this.props).onNewItemChanged)||void 0===t?void 0:t.call(n,e)},value:this.props.newItem||"",domain:this.props.domain,roomId:this.props.roomId}),o.createElement(d.A,{onClick:this.onAliasAdded,kind:"primary"},(0,l._t)("action|add")))}}class x extends o.Component{constructor(e){super(e),(0,s.A)(this,"onNewAliasChanged",e=>{this.setState({newAlias:e})}),(0,s.A)(this,"onLocalAliasAdded",e=>{if(!e||0===e.length)return;const t=this.context.getDomain();e.includes(":")||(e+=":"+t),this.context.createAlias(e,this.props.roomId).then(()=>{this.setState({localAliases:this.state.localAliases.concat(e),newAlias:void 0}),this.state.canonicalAlias||this.changeCanonicalAlias(e)}).catch(e=>{r.vF.error(e),g.Ay.createDialog(h.A,{title:(0,l._t)("room_settings|general|error_creating_alias_title"),description:(0,l._t)("room_settings|general|error_creating_alias_description")})})}),(0,s.A)(this,"onLocalAliasDeleted",e=>{const t=this.state.localAliases[e];this.context.deleteAlias(t).then(()=>{const e=this.state.localAliases.filter(e=>e!==t);this.setState({localAliases:e}),this.state.canonicalAlias===t&&this.changeCanonicalAlias(null)}).catch(e=>{let t;r.vF.error(e),t="M_FORBIDDEN"===e.errcode?(0,l._t)("room_settings|general|error_deleting_alias_description_forbidden"):(0,l._t)("room_settings|general|error_deleting_alias_description"),g.Ay.createDialog(h.A,{title:(0,l._t)("room_settings|general|error_deleting_alias_title"),description:t})})}),(0,s.A)(this,"onLocalAliasesToggled",e=>{e.currentTarget.open&&(this.props.canSetCanonicalAlias||0!==this.state.localAliases.length||this.loadLocalAliases()),this.setState({detailsOpen:e.currentTarget.open})}),(0,s.A)(this,"onCanonicalAliasChange",e=>{this.changeCanonicalAlias(e.target.value)}),(0,s.A)(this,"onNewAltAliasChanged",e=>{this.setState({newAltAlias:e})}),(0,s.A)(this,"onAltAliasAdded",e=>{const t=this.state.altAliases.slice();t.some(t=>t.trim()===e.trim())||(t.push(e.trim()),this.changeAltAliases(t),this.setState({newAltAlias:""}))}),(0,s.A)(this,"onAltAliasDeleted",e=>{const t=this.state.altAliases.slice();t.splice(e,1),this.changeAltAliases(t)});const t={altAliases:[],localAliases:[],canonicalAlias:null,updatingCanonicalAlias:!1,localAliasesLoading:!1,detailsOpen:!1};if(e.canonicalAliasEvent){const n=e.canonicalAliasEvent.getContent(),s=n.alt_aliases;Array.isArray(s)&&(t.altAliases=s.slice()),t.canonicalAlias=n.alias}this.state=t}componentDidMount(){this.props.canSetCanonicalAlias&&this.loadLocalAliases()}async loadLocalAliases(){this.setState({localAliasesLoading:!0});try{const e=this.context;let t=[];const n=await e.getLocalAliases(this.props.roomId);Array.isArray(null==n?void 0:n.aliases)&&(t=n.aliases),this.setState({localAliases:t}),0===t.length&&this.setState({detailsOpen:!0})}finally{this.setState({localAliasesLoading:!1})}}changeCanonicalAlias(e){if(!this.props.canSetCanonicalAlias)return;const t=this.state.canonicalAlias;this.setState({canonicalAlias:e,updatingCanonicalAlias:!0});const n={alt_aliases:this.state.altAliases};e&&(n.alias=e),this.context.sendStateEvent(this.props.roomId,i.EventType.RoomCanonicalAlias,n,"").catch(e=>{r.vF.error(e),g.Ay.createDialog(h.A,{title:(0,l._t)("room_settings|general|error_updating_canonical_alias_title"),description:(0,l._t)("room_settings|general|error_updating_canonical_alias_description")}),this.setState({canonicalAlias:t})}).finally(()=>{this.setState({updatingCanonicalAlias:!1})})}changeAltAliases(e){if(!this.props.canSetCanonicalAlias)return;this.setState({updatingCanonicalAlias:!0});const t={};this.state.canonicalAlias&&(t.alias=this.state.canonicalAlias),e&&(t.alt_aliases=e),this.context.sendStateEvent(this.props.roomId,i.EventType.RoomCanonicalAlias,t,"").then(()=>{this.setState({altAliases:e})}).catch(e=>{r.vF.error(e),g.Ay.createDialog(h.A,{title:(0,l._t)("room_settings|general|error_updating_canonical_alias_title"),description:(0,l._t)("room_settings|general|error_updating_alias_description")})}).finally(()=>{this.setState({updatingCanonicalAlias:!1})})}getAliases(){return this.state.altAliases.concat(this.getLocalNonAltAliases())}getLocalNonAltAliases(){const{altAliases:e}=this.state;return this.state.localAliases.filter(t=>!e.includes(t))}render(){var e;const t=this.context,n=t.getDomain(),s=null===(e=t.getRoom(this.props.roomId))||void 0===e?void 0:e.isSpaceRoom();let i=!1;const r=this.state.canonicalAlias||"",a=o.createElement(c.A,{onChange:this.onCanonicalAliasChange,value:r,disabled:this.state.updatingCanonicalAlias||!this.props.canSetCanonicalAlias,element:"select",id:"canonicalAlias",label:(0,l._t)("room_settings|general|canonical_alias_field_label")},o.createElement("option",{value:"",key:"unset"},(0,l._t)("room_settings|alias_not_specified")),this.getAliases().map((e,t)=>(e===this.state.canonicalAlias&&(i=!0),o.createElement("option",{value:e,key:t},e))),i||!this.state.canonicalAlias?"":o.createElement("option",{value:this.state.canonicalAlias,key:"arbitrary"},this.state.canonicalAlias));let d;return d=this.state.localAliasesLoading?o.createElement(p.A,null):o.createElement(A,{id:"roomAliases",items:this.state.localAliases,newItem:this.state.newAlias,onNewItemChanged:this.onNewAliasChanged,canRemove:this.props.canSetAliases,canEdit:this.props.canSetAliases,onItemAdded:this.onLocalAliasAdded,onItemRemoved:this.onLocalAliasDeleted,noItemsLabel:s?(0,l._t)("room_settings|general|no_aliases_space"):(0,l._t)("room_settings|general|no_aliases_room"),placeholder:(0,l._t)("room_settings|general|local_alias_field_label"),domain:n}),o.createElement(o.Fragment,null,o.createElement(E.A,{legend:(0,l._t)("room_settings|general|published_aliases_section"),description:o.createElement(o.Fragment,null,s?(0,l._t)("room_settings|general|published_aliases_explainer_space"):(0,l._t)("room_settings|general|published_aliases_explainer_room")," ",(0,l._t)("room_settings|general|published_aliases_description"))},a,this.props.hidePublishSetting?null:o.createElement(y,{roomId:this.props.roomId,canSetCanonicalAlias:this.props.canSetCanonicalAlias}),o.createElement("datalist",{id:"mx_AliasSettings_altRecommendations"},this.getLocalNonAltAliases().map(e=>o.createElement("option",{value:e,key:e}))),o.createElement(A,{id:"roomAltAliases",items:this.state.altAliases,newItem:this.state.newAltAlias,onNewItemChanged:this.onNewAltAliasChanged,canRemove:this.props.canSetCanonicalAlias,canEdit:this.props.canSetCanonicalAlias,onItemAdded:this.onAltAliasAdded,onItemRemoved:this.onAltAliasDeleted,suggestionsListId:"mx_AliasSettings_altRecommendations",itemsLabel:(0,l._t)("room_settings|general|aliases_items_label"),noItemsLabel:(0,l._t)("room_settings|general|aliases_no_items_label"),placeholder:(0,l._t)("room_settings|general|new_alias_placeholder"),roomId:this.props.roomId})),o.createElement(E.A,{legend:(0,l._t)("room_settings|general|local_aliases_section"),description:s?(0,l._t)("room_settings|general|local_aliases_explainer_space",{localDomain:n}):(0,l._t)("room_settings|general|local_aliases_explainer_room",{localDomain:n})},o.createElement("details",{onToggle:this.onLocalAliasesToggled,open:this.state.detailsOpen},o.createElement("summary",{className:"mx_AliasSettings_localAddresses"},this.state.detailsOpen?(0,l._t)("room_list|show_less"):(0,l._t)("common|show_more")),d)))}}(0,s.A)(x,"contextType",w.Ay),(0,s.A)(x,"defaultProps",{canSetAliases:!1,canSetCanonicalAlias:!1})},"./src/components/views/rooms/Autocomplete.tsx"(e,t,n){"use strict";n.d(t,{A:()=>B,D:()=>L});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/lodash/flatMap.js"),l=n("./src/autocomplete/CommandProvider.tsx"),c=n("./node_modules/lodash/sortBy.js"),d=n("./node_modules/lodash/uniqBy.js"),u=n("./src/languageHandler.tsx"),m=n("./src/autocomplete/AutocompleteProvider.tsx"),p=n("./src/MatrixClientPeg.ts"),h=n("./src/autocomplete/QueryMatcher.ts"),g=n("./src/autocomplete/Components.tsx"),v=n("./src/utils/permalinks/Permalinks.ts"),f=n("./src/components/views/avatars/RoomAvatar.tsx"),_=n("./src/settings/SettingsStore.ts");const y=/\B#\S*/g;function b(e,t,n=""){return{room:e,matchName:n,displayedAlias:t}}class w extends m.A{constructor(e,t){super({commandRegex:y,renderingType:t}),(0,s.A)(this,"matcher",void 0),this.room=e,this.matcher=new h.A([],{keys:["displayedAlias","matchName"]})}getRooms(){return p.J.safeGet().getVisibleRooms(_.A.getValue("feature_dynamic_room_predecessors")).filter(e=>!e.isSpaceRoom())}async getCompletions(e,t,n=!1,s=-1){const{command:i,range:r}=this.getCurrentCommand(e,t,n);if(i){let e=this.getRooms().reduce((e,t)=>{if(t.getCanonicalAlias()&&(e=e.concat(b(t,t.getCanonicalAlias(),t.name))),t.getAltAliases().length){const n=t.getAltAliases().map(e=>b(t,e));e=e.concat(n)}return e},[]);e=e.filter(t=>{const n=t.room.currentState.getStateEvents("m.room.tombstone","");if(n&&n.getContent()&&n.getContent().replacement_room){return!e.some(e=>e.room.roomId===n.getContent().replacement_room)}return!0}),this.matcher.setObjects(e);const t=i[0];let n=this.matcher.match(t,s);return n=(0,c.A)(n,[e=>{return t=e.displayedAlias,n=e.room,t===n.getCanonicalAlias()?0:1;var t,n},e=>e.displayedAlias.length]),n=(0,d.A)(n,e=>e.room),n.map(e=>({completion:e.displayedAlias,completionId:e.room.roomId,type:"room",suffix:" ",href:(0,v.B4)(this.room.client,e.displayedAlias),component:o.createElement(g.i,{title:e.room.name,description:e.displayedAlias},o.createElement(f.A,{size:"24px",room:e.room})),range:r})).filter(e=>!!e.completion&&e.completion.length>0)}return[]}getName(){return(0,u._t)("common|rooms")}renderCompletions(e){return o.createElement("div",{className:"mx_Autocomplete_Completion_container_pill mx_Autocomplete_Completion_container_truncate",role:"presentation","aria-label":(0,u._t)("composer|autocomplete|room_a11y")},e)}}var E=n("./src/autocomplete/UserProvider.tsx"),A=n("./node_modules/lodash/uniq.js"),x=n("./node_modules/emojibase-regex/emoticon.js"),S=n.n(x),C=n("./node_modules/@matrix-org/emojibase-bindings/build/emoji.js"),k=n("./src/emojipicker/recent.ts"),R=n("./src/utils/arrays.ts");const I=new RegExp("("+S().source+"|(?:^|\\s):[+-\\w]*:?)$","g"),P=C.EMOJI.sort((e,t)=>e.group===t.group?e.order-t.order:e.group-t.group).map((e,t)=>({emoji:e,_orderBy:t}));function T(e,t){if(Array.isArray(t))return Math.min(...t.map(t=>T(e,t)));const n=t.indexOf(e);return-1===n?1/0:n}class O extends m.A{constructor(e,t){super({commandRegex:I,renderingType:t}),(0,s.A)(this,"matcher",void 0),(0,s.A)(this,"nameMatcher",void 0),(0,s.A)(this,"recentlyUsed",void 0),this.matcher=new h.A(P,{keys:[],funcs:[e=>e.emoji.shortcodes.map(e=>`:${e}:`)],shouldMatchWordsOnly:!1}),this.nameMatcher=new h.A(P,{keys:["emoji.label"],shouldMatchWordsOnly:!0}),this.recentlyUsed=Array.from(new Set((0,R.Bo)(k.J().map(C.getEmojiFromUnicode))))}async getCompletions(e,t,n,s=-1){if(!_.A.getValue("MessageComposerInput.suggestEmoji"))return[];let i=[];const{command:r,range:a}=this.getCurrentCommand(e,t);if(r&&r[0].length>2){const e=r[0];i=this.matcher.match(e,s),i=i.concat(this.nameMatcher.match(e));const t=[];t.push(t=>T(e,t.emoji.emoticon||"")),t.push(t=>T(e,t.emoji.shortcodes[0]));const n=e.replace(/^:(.*?):?$/,"$1");t.push(e=>Math.min(...e.emoji.shortcodes.map(e=>T(n,e)))),e.length>1&&t.push(e=>e.emoji.shortcodes[0].length),t.push(e=>e._orderBy),i=(0,c.A)((0,A.A)(i),t),i=i.slice(0,20);const l=[];this.recentlyUsed.forEach(e=>{0===e.shortcodes[0].indexOf(n)&&l.push({emoji:e,_orderBy:0})});for(let e=0;e<l.length;e++)if(l[e].emoji.shortcodes[0]===n){const t=l[e];for(let t=e;t>0;t--)l[t]=l[t-1];l[0]=t;break}return i=l.concat(i),i=(0,d.A)(i,"emoji"),i.map(e=>({completion:e.emoji.unicode,component:o.createElement(g.i,{title:`:${e.emoji.shortcodes[0]}:`,"aria-label":e.emoji.unicode},o.createElement("span",null,e.emoji.unicode)),range:a}))}return[]}getName(){return"😃 "+(0,u._t)("common|emoji")}renderCompletions(e){return o.createElement("div",{className:"mx_Autocomplete_Completion_container_pill",role:"presentation","aria-label":(0,u._t)("composer|autocomplete|emoji_a11y")},e)}}const M=/@\S*/g;class N extends m.A{constructor(e,t){super({commandRegex:M,renderingType:t}),this.room=e}async getCompletions(e,t,n=!1,s=-1){const i=p.J.safeGet();if(!this.room.currentState.mayTriggerNotifOfType("room",i.getSafeUserId()))return[];const{command:r,range:a}=this.getCurrentCommand(e,t,n);return null!=r&&r[0]&&r[0].length>1&&["@room","@channel","@everyone","@here"].some(e=>e.startsWith(r[0]))?[{completion:"@room",completionId:"@room",type:"at-room",suffix:" ",component:o.createElement(g.i,{title:"@room",description:(0,u._t)("composer|autocomplete|@room_description")},o.createElement(f.A,{size:"24px",room:this.room})),range:a}]:[]}getName(){return"❗️ "+(0,u._t)("composer|autocomplete|notification_description")}renderCompletions(e){return o.createElement("div",{className:"mx_Autocomplete_Completion_container_pill mx_Autocomplete_Completion_container_truncate",role:"presentation","aria-label":(0,u._t)("composer|autocomplete|notification_a11y")},e)}}var j=n("./src/utils/promise.ts");var D=n("./src/contexts/RoomContext.ts");const U=[E.A,w,O,N,l.A,class extends w{getRooms(){return p.J.safeGet().getVisibleRooms(_.A.getValue("feature_dynamic_room_predecessors")).filter(e=>e.isSpaceRoom())}getName(){return(0,u._t)("common|spaces")}renderCompletions(e){return o.createElement("div",{className:"mx_Autocomplete_Completion_container_pill mx_Autocomplete_Completion_container_truncate",role:"listbox","aria-label":(0,u._t)("composer|autocomplete|space_a11y")},e)}}];class F{constructor(e,t=D.Ae.Room){(0,s.A)(this,"room",void 0),(0,s.A)(this,"providers",void 0),this.room=e,this.providers=U.map(n=>new n(e,t))}destroy(){this.providers.forEach(e=>{e.destroy()})}async getCompletions(e,t,n=!1,s=-1){const o=await Promise.all(this.providers.map(async o=>(0,j.wR)(o.getCompletions(e,t,n,s),null,3e3)));return(0,R.Bo)(o.map((s,o)=>{if(s&&s.length)return{completions:s,provider:this.providers[o],command:this.providers[o].getCurrentCommand(e,t,n)}}))}}const L=e=>`mx_Autocomplete_Completion_${e}`;class B extends o.PureComponent{constructor(e){super(e),(0,s.A)(this,"autocompleter",void 0),(0,s.A)(this,"queryRequested",void 0),(0,s.A)(this,"debounceCompletionsRequest",void 0),(0,s.A)(this,"containerRef",(0,o.createRef)()),(0,s.A)(this,"completionRefs",{}),(0,s.A)(this,"hide",()=>{this.setState({hide:!0,selectionOffset:1,completions:[],completionList:[]})}),(0,s.A)(this,"onConfirmCompletion",()=>{this.onCompletionClicked(this.state.selectionOffset)}),(0,s.A)(this,"onCompletionClicked",e=>{const t=this.countCompletions();return!(0===t||e<1||e>t)&&(this.props.onConfirm(this.state.completionList[e-1]),this.hide(),!0)}),this.state={completions:[],completionList:[],selectionOffset:1,shouldShowCompletions:!0,hide:!1,forceComplete:!1}}componentDidMount(){this.autocompleter=new F(this.props.room,this.context.timelineRenderingType),this.applyNewProps()}applyNewProps(e,t){var n;t&&this.props.room.roomId!==t.roomId&&(null===(n=this.autocompleter)||void 0===n||n.destroy(),this.autocompleter=new F(this.props.room));e!==this.props.query&&this.complete(this.props.query,this.props.selection)}componentWillUnmount(){var e;null===(e=this.autocompleter)||void 0===e||e.destroy()}complete(e,t){if(this.queryRequested=e,this.debounceCompletionsRequest&&clearTimeout(this.debounceCompletionsRequest),""===e)return this.setState({completions:[],completionList:[],selectionOffset:1,hide:!0}),Promise.resolve();let n=_.A.getValue("autocompleteDelay");return(this.state.completions.length>0||this.state.forceComplete)&&(n=0),new Promise(s=>{this.debounceCompletionsRequest=window.setTimeout(()=>{s(this.processQuery(e,t))},n)})}async processQuery(e,t){if(!this.autocompleter)return;const n=await this.autocompleter.getCompletions(e,t,this.state.forceComplete,20);e===this.queryRequested&&await this.processCompletions(n)}async processCompletions(e){const t=(0,a.A)(e,e=>e.completions);let n=1;if(t.length>0){const e=this.state.selectionOffset<=1?null:this.state.completionList[this.state.selectionOffset-1].completion;n=t.findIndex(t=>t.completion===e),-1===n?n=1:n++}let s=!0;e.some(e=>!!e.command.command)&&(s=!1,this.props.onSelectionChange&&this.props.onSelectionChange(n-1));const o=Promise.withResolvers();this.setState({completions:e,completionList:t,selectionOffset:n,hide:s,forceComplete:!1},o.resolve),await o.promise}hasSelection(){return this.countCompletions()>0&&0!==this.state.selectionOffset}countCompletions(){return this.state.completionList.length}moveSelection(e){const t=this.countCompletions();if(0===t)return;const n=(this.state.selectionOffset+e+t-1)%t;this.setSelection(1+n)}onEscape(e){0!==this.countCompletions()&&(e.preventDefault(),this.hide())}forceComplete(){return new Promise(e=>{this.setState({forceComplete:!0,hide:!1},()=>{this.complete(this.props.query,this.props.selection).then(()=>{e(this.countCompletions())})})})}setSelection(e){this.setState({selectionOffset:e,hide:!1}),this.props.onSelectionChange&&this.props.onSelectionChange(e-1)}componentDidUpdate(e){var t;this.applyNewProps(e.query,e.room);const n=null===(t=this.completionRefs[`completion${this.state.selectionOffset}`])||void 0===t?void 0:t.current;n?n.scrollIntoView({behavior:"auto",block:"nearest"}):this.containerRef.current&&this.containerRef.current.scrollTo({top:0})}render(){let e=1;const t=this.state.completions.map((t,n)=>{const s=t.completions.map((t,n)=>{const s=e===this.state.selectionOffset,i=r()("mx_Autocomplete_Completion",{selected:s}),a=e;e++;const l=`completion${a}`;return this.completionRefs[l]||(this.completionRefs[l]=(0,o.createRef)()),o.cloneElement(t.component,{key:n,ref:this.completionRefs[l],id:L(a-1),className:i,onClick:()=>{this.onCompletionClicked(a)},"aria-selected":s})});return s.length>0?o.createElement("div",{key:n,className:"mx_Autocomplete_ProviderSection",role:"presentation"},o.createElement("div",{className:"mx_Autocomplete_provider_name"},t.provider.getName()),t.provider.renderCompletions(s)):null}).filter(e=>!!e);return!this.state.hide&&t.length>0?o.createElement("div",{id:"mx_Autocomplete",className:"mx_Autocomplete",ref:this.containerRef,role:"listbox"},t):null}}(0,s.A)(B,"contextType",D.Ay)},"./src/components/views/rooms/BasicMessageComposer.tsx"(e,t,n){"use strict";n.d(t,{v:()=>Q,A:()=>se});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/react/index.js"),a=n("./node_modules/emojibase-regex/emoticon.js"),l=n.n(a),c=n("./node_modules/matrix-js-sdk/src/logger.ts"),d=n("./node_modules/@matrix-org/emojibase-bindings/build/emoji.js");class u{constructor(){(0,s.A)(this,"stack",[]),(0,s.A)(this,"newlyTypedCharCount",0),(0,s.A)(this,"currentIndex",-1),(0,s.A)(this,"changedSinceLastPush",!1),(0,s.A)(this,"lastCaret",void 0),(0,s.A)(this,"nonWordBoundarySinceLastPush",!1),(0,s.A)(this,"addedSinceLastPush",!1),(0,s.A)(this,"removedSinceLastPush",!1)}clear(){this.stack=[],this.newlyTypedCharCount=0,this.currentIndex=-1,this.changedSinceLastPush=!1,this.lastCaret=void 0,this.nonWordBoundarySinceLastPush=!1,this.addedSinceLastPush=!1,this.removedSinceLastPush=!1}shouldPush(e,t){if(t&&("insertText"===e||"deleteContentForward"===e||"deleteContentBackward"===e)){if(t.added&&(this.addedSinceLastPush=!0),t.removed&&(this.removedSinceLastPush=!0),this.addedSinceLastPush!==this.removedSinceLastPush){const e=t.added?t.added:t.removed,n=" "===e||"\t"===e||"\n"===e;return!(!this.nonWordBoundarySinceLastPush||!n)||(n||(this.nonWordBoundarySinceLastPush=!0),this.newlyTypedCharCount+=e.length,this.newlyTypedCharCount>10)}return!0}return!0}pushState(e,t){for(;this.currentIndex<this.stack.length-1;)this.stack.pop();const n=e.serializeParts();this.stack.push({parts:n,caret:t}),this.currentIndex=this.stack.length-1,this.lastCaret=void 0,this.changedSinceLastPush=!1,this.newlyTypedCharCount=0,this.nonWordBoundarySinceLastPush=!1,this.addedSinceLastPush=!1,this.removedSinceLastPush=!1}tryPush(e,t,n,s){if("historyUndo"===n||"historyRedo"===n)return!1;const o=this.shouldPush(n,s);return o?this.pushState(e,t):(this.lastCaret=t,this.changedSinceLastPush=!0),o}ensureLastChangesPushed(e){this.changedSinceLastPush&&this.lastCaret&&this.pushState(e,this.lastCaret)}canUndo(){return this.currentIndex>=1||this.changedSinceLastPush}canRedo(){return this.currentIndex<this.stack.length-1}undo(e){if(this.canUndo())return this.ensureLastChangesPushed(e),this.currentIndex-=1,this.stack[this.currentIndex]}redo(){if(this.canRedo())return this.changedSinceLastPush=!1,this.currentIndex+=1,this.stack[this.currentIndex]}}var m=n("./src/editor/render.ts"),p=n("./src/editor/range.ts"),h=n("./src/editor/parts.ts");function g(e,t,n){n instanceof p.A?function(e,t,n){const s=document.getSelection();s.removeAllRanges();const o=document.createRange(),i=v(e,t,n.start);o.setStart(i.node,i.offset);const r=v(e,t,n.end);o.setEnd(r.node,r.offset),s.addRange(o)}(e,t,n):function(e,t,n){if(t.isEmpty)return;const s=document.createRange(),{node:o,offset:i}=v(e,t,n);s.setStart(o,i),s.collapse(!0);const r=document.getSelection();if(1===r.rangeCount){const e=r.getRangeAt(0);if(e.startContainer===s.startContainer&&e.startOffset===s.startOffset&&e.collapsed===s.collapsed)return}r.removeAllRanges(),r.addRange(s)}(e,t,n)}function v(e,t,n){const{offset:s,lineIndex:o,nodeIndex:i}=function(e,t){const{parts:n}=e,s=t.index;let{offset:o}=t;const i=function(e,t,n){let s,o=0,i=-1;for(let r=0;r<=t;++r){const a=e[r];if(a.type===h.ZU.Newline){if(r==t&&0===n)continue;o+=1,i=-1,s=void 0}else{if(i+=1,(0,m.UE)(a,s)&&(i+=1),r<t){const t=e[r+1],n=!t||t.type===h.ZU.Newline;(0,m.dO)(a,n)&&(i+=1)}s=a}}return{lineIndex:o,nodeIndex:i}}(n,s,o),{lineIndex:r}=i;let{nodeIndex:a}=i;-1===a?o=0:({nodeIndex:a,offset:o}=function(e,t,n,s){const o=e[t];if(o&&!o.acceptsCaret)if(0===s){n-=1;const i=e[t-1];(0,m.UE)(o,i)||(s=i.text.length)}else n+=1,s=0;return{nodeIndex:n,offset:s}}(n,s,a,o));return{lineIndex:r,nodeIndex:a,offset:o}}(t,n),r=e.childNodes[o];let a;return-1===i?a=r:(a=r.childNodes[i],a.nodeType===Node.ELEMENT_NODE&&a.firstChild&&(a=a.firstChild)),{node:a,offset:s}}var f=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/bold.js"),_=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/italic.js"),y=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/strikethrough.js"),b=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/inline-code.js"),w=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/quote.js"),E=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/link.js"),A=n("./src/languageHandler.tsx"),x=n("./src/accessibility/RovingTabIndex.tsx"),S=n("./src/accessibility/Toolbar.tsx");let C=function(e){return e.Bold="bold",e.Italics="italics",e.Strikethrough="strikethrough",e.Code="code",e.Quote="quote",e.InsertLink="insert_link",e}({});class k extends r.PureComponent{constructor(e){super(e),(0,s.A)(this,"formatBarRef",(0,r.createRef)()),(0,s.A)(this,"BAR_HEIGHT",34),this.state={visible:!1}}render(){const e=i()("mx_MessageComposerFormatBar",{mx_MessageComposerFormatBar_shown:this.state.visible});return r.createElement(S.A,{className:e,ref:this.formatBarRef,"aria-label":(0,A._t)("composer|formatting_toolbar_label")},r.createElement(R,{label:(0,A._t)("composer|format_bold"),onClick:()=>this.props.onAction(C.Bold),icon:r.createElement(f.A,null),shortcut:this.props.shortcuts.bold,visible:this.state.visible}),r.createElement(R,{label:(0,A._t)("composer|format_italics"),onClick:()=>this.props.onAction(C.Italics),icon:r.createElement(_.A,null),shortcut:this.props.shortcuts.italics,visible:this.state.visible}),r.createElement(R,{label:(0,A._t)("composer|format_strikethrough"),onClick:()=>this.props.onAction(C.Strikethrough),icon:r.createElement(y.A,null),visible:this.state.visible}),r.createElement(R,{label:(0,A._t)("composer|format_code_block"),onClick:()=>this.props.onAction(C.Code),icon:r.createElement(b.A,null),shortcut:this.props.shortcuts.code,visible:this.state.visible}),r.createElement(R,{label:(0,A._t)("action|quote"),onClick:()=>this.props.onAction(C.Quote),icon:r.createElement(w.A,null),shortcut:this.props.shortcuts.quote,visible:this.state.visible}),r.createElement(R,{label:(0,A._t)("composer|format_insert_link"),onClick:()=>this.props.onAction(C.InsertLink),icon:r.createElement(E.A,null),shortcut:this.props.shortcuts.insert_link,visible:this.state.visible}))}showAt(e){var t;if(null===(t=this.formatBarRef.current)||void 0===t||!t.parentElement)return;this.setState({visible:!0});const n=this.formatBarRef.current.parentElement.getBoundingClientRect();this.formatBarRef.current.style.left=e.left-n.left+"px";const s=this.BAR_HEIGHT/2,o=s+(s+2),i=Math.max(e.top-n.top-o,-o);this.formatBarRef.current.style.top=`${i}px`}hide(){this.setState({visible:!1})}}class R extends r.PureComponent{render(){return r.createElement(x.k,{element:"button",type:"button",onClick:this.props.onClick,"aria-label":this.props.label,title:this.props.label,caption:this.props.shortcut,className:"mx_MessageComposerFormatBar_button"},this.props.icon)}}var I=n("./src/editor/deserialize.ts");function P(e,t){if(e.wasInitializedEmpty()?function(e){e.expandForwardsWhile(M),e.expandBackwardsWhile(M),e.trim()}(e):e.trim(),0!==e.length)switch(t){case C.Bold:L(e,"**");break;case C.Italics:L(e,"*");break;case C.Strikethrough:L(e,"<del>","</del>");break;case C.Code:!function(e){const{model:t,parts:n}=e,{partCreator:s}=t,o=e.length>0&&e.text.startsWith("```")&&e.text.endsWith("```")&&e.text.includes("\n"),i=n.some(e=>e.type===h.ZU.Newline);if(o){var r,a;n.shift(),n.pop(),"\n"===(null===(r=n[0])||void 0===r?void 0:r.text)&&"\n"===(null===(a=n[n.length-1])||void 0===a?void 0:a.text)&&(n.shift(),n.pop())}else{if(!i){const t=(0,I.SL)(e.text),n=e.text.startsWith("`")&&e.text.endsWith("`");return void L(e,"`".repeat(n?t:t+1))}n.unshift(s.plain("```"),s.newline()),N(e)||n.unshift(s.newline()),n.push(s.newline(),s.plain("```")),j(e)||n.push(s.newline())}T(e,n)}(e);break;case C.Quote:!function(e){const{model:t,parts:n}=e,{partCreator:s}=t;for(let e=0;e<n.length;++e){n[e].type===h.ZU.Newline&&n.splice(e+1,0,s.plain("> "))}n.unshift(s.plain("> ")),N(e)||n.unshift(s.newline());j(e)||n.push(s.newline());n.push(s.newline()),T(e,n)}(e);break;case C.InsertLink:D(e)}}function T(e,t){const{model:n}=e;n.transform(()=>{const s=e.length,o=e.replace(t),i=e.start.asOffset(n),r=i.add(s+o);return n.startRange(i.asPosition(n),r.asPosition(n))})}function O(e,t,n=0,s=!1){const{model:o}=e;o.transform(()=>{const i=e.length,r=e.replace(t);return e.start.asOffset(o).add(i+r+n,s).asPosition(o)})}const M=(e,t,n)=>" "!==n.text[t]&&n.type===h.ZU.Plain;function N(e){const{model:t}=e,n=0!==e.start.offset,s=0===e.start.index,o=!s&&t.parts[e.start.index-1].type===h.ZU.Newline;return!n&&(s||o)}function j(e){const{model:t}=e,n=t.parts[e.end.index],s=e.end.offset!==n.text.length,o=e.end.index===t.parts.length-1,i=!o&&t.parts[e.end.index+1].type===h.ZU.Newline;return!s&&(o||i)}function D(e,t){const{model:n}=e,{partCreator:s}=n,o=/\[(.*?)]\(.*?\)/g;if(o.test(e.text)){const t=e.text.replace(o,"$1");O(e,[s.plain(t)],0)}else O(e,[s.plain("["+e.text+"]("+(null!=t?t:"")+")")],-1)}const U=e=>!e.text||!/\S/.test(e.text),F=e=>e.type===h.ZU.Newline;function L(e,t,n=t){const{model:s,parts:o}=e,{partCreator:i}=s,r=[];let a=0;for(let e=2;e<o.length;e++)U(o[e-2])&&F(o[e-1])&&!F(o[e])&&!U(o[e])&&(a=e),F(o[e-1])&&F(o[e])?(r.push([a,e-1]),a=e+1):F(o[e-2])&&U(o[e-1])&&F(o[e])&&(r.push([a,e-2]),a=e+1);const l=o.map(U).lastIndexOf(!1);a<=l&&r.push([a,l+1]);let c=0;if(r.forEach(([e,s])=>{const r=e+c,a=s+c;if(a-r>0&&o[r].text.startsWith(t)&&o[a-1].text.endsWith(n)){const e=o[r].serialize();e.text=e.text.slice(t.length);let s=i.deserializePart(e);s&&(o[r]=s);const l=o[a-1].serialize(),c=l.text;l.text=c.substring(0,c.length-n.length),s=i.deserializePart(l),s&&(o[a-1]=s)}else o.splice(a,0,i.plain(n)),o.splice(r,0,i.plain(t)),c+=2}),e.wasInitializedEmpty()&&t===n){const s=e.text.startsWith(t)&&e.text.endsWith(n);!function(e,t,n=!1,s,o=s){const{model:i}=e,r=e.getLastStartingPosition(),a=r.offset-e.start.offset,l=e.length-a;if(n){if(a<s)return void O(e,t,-(e.length-2*o));if(l<o)return void O(e,t,0,!0)}i.transform(()=>{const n=Math.sign(e.replace(t)),a=l===o;return r.asOffset(i).add(n*s,a).asPosition(i)})}(e,o,s,t.length)}else T(e,o)}var B=n("./src/editor/dom.ts"),V=n("./src/components/views/rooms/Autocomplete.tsx"),H=n("./src/settings/SettingsStore.ts"),z=n("./src/Keyboard.ts"),W=n("./src/slash-commands/SlashCommands.tsx"),K=n("./src/KeyBindingsManager.ts"),$=n("./src/accessibility/KeyboardShortcuts.ts"),J=n("./src/linkify-matrix.ts"),G=n("./src/contexts/SDKContext.ts"),q=n("./src/MatrixClientPeg.ts"),Y=n("./src/accessibility/LandmarkNavigation.ts");const Z=new RegExp("(?:^|\\s)("+l().source+")\\s|:^$"),Q=new RegExp("(?:^|\\s)("+l().source+")$"),X=['"',"_","`","'","*","~","$"],ee=new Map([["(",")"],["[","]"],["{","}"],["<",">"]]);function te(e,t=!1,n=!1){return(z.vL?"⌘":(0,A._t)($.hm[z.Uz.CONTROL]))+(t?"+"+(0,A._t)($.hm[z.Uz.SHIFT]):"")+(n?"+"+(0,A._t)($.hm[z.Uz.ALT]):"")+"+"+e}function ne(e){return{anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset,isCollapsed:e.isCollapsed,rangeCount:e.rangeCount,type:e.type}}class se extends r.Component{constructor(e){super(e),(0,s.A)(this,"editorRef",(0,r.createRef)()),(0,s.A)(this,"autocompleteRef",(0,r.createRef)()),(0,s.A)(this,"formatBarRef",(0,r.createRef)()),(0,s.A)(this,"modifiedFlag",!1),(0,s.A)(this,"isIMEComposing",!1),(0,s.A)(this,"hasTextSelected",!1),(0,s.A)(this,"isSafari",void 0),(0,s.A)(this,"_isCaretAtEnd",!1),(0,s.A)(this,"lastCaret",void 0),(0,s.A)(this,"lastSelection",null),(0,s.A)(this,"useMarkdownHandle",void 0),(0,s.A)(this,"emoticonSettingHandle",void 0),(0,s.A)(this,"shouldShowPillAvatarSettingHandle",void 0),(0,s.A)(this,"surroundWithHandle",void 0),(0,s.A)(this,"historyManager",new u),(0,s.A)(this,"updateEditorState",(e,t,n)=>{var s,o,i,r;if(!this.editorRef.current)return;if((0,m.e7)(this.editorRef.current,this.props.model),e){try{g(this.editorRef.current,this.props.model,e)}catch(e){c.vF.error(e)}const t=e instanceof p.A?e.end:e;this.setLastCaretFromPosition(t)}const{isEmpty:a}=this.props.model;var l;(this.props.placeholder&&(a?this.showPlaceholder():this.hidePlaceholder()),a)&&(null===(l=this.formatBarRef.current)||void 0===l||l.hide());this.setState({autoComplete:null!==(s=this.props.model.autoComplete)&&void 0!==s?s:void 0,showVisualBell:!n&&this.state.showVisualBell}),this.historyManager.tryPush(this.props.model,e,t,n);let d=!this.props.model.isEmpty&&!!t;if(d&&"command"===this.props.model.parts[0].type){const{cmd:e}=(0,W.SY)(this.props.model.parts[0].text),t=W.yc.get(e);null!=t&&t.isEnabled(q.J.get(),this.props.room.roomId)&&t.category===W.ge.messages||(d=!1)}G.M.instance.typingStore.setSelfTyping(this.props.room.roomId,null!==(o=this.props.threadId)&&void 0!==o?o:null,d),null===(i=(r=this.props).onChange)||void 0===i||i.call(r,e,t,n)}),(0,s.A)(this,"onCompositionStart",()=>{this.isIMEComposing=!0,this.hidePlaceholder()}),(0,s.A)(this,"onCompositionEnd",()=>{this.isIMEComposing=!1,this.isSafari?this.onInput({inputType:"insertCompositionText"}):Promise.resolve().then(()=>{this.onInput({inputType:"insertCompositionText"})})}),(0,s.A)(this,"onCutCopy",(e,t)=>{const n=document.getSelection(),s=n.toString();if(s&&this.editorRef.current){const{model:o}=this.props,i=(0,B.Bh)(this.editorRef.current,o,n),r=i.parts.map(e=>e.serialize());e.clipboardData.setData("application/x-element-composer",JSON.stringify(r)),e.clipboardData.setData("text/plain",s),"cut"===t&&(this.modifiedFlag=!0,O(i,[])),e.preventDefault()}}),(0,s.A)(this,"onCopy",e=>{this.onCutCopy(e,"copy")}),(0,s.A)(this,"onCut",e=>{this.onCutCopy(e,"cut")}),(0,s.A)(this,"onPasteHandler",(e,t)=>{var n,s;if(e.preventDefault(),!this.editorRef.current)return;if(null!==(n=(s=this.props).onPaste)&&void 0!==n&&n.call(s,e,t,this.props.model))return!0;const{model:o}=this.props,{partCreator:i}=o,r=t.getData("text/plain"),a=t.getData("application/x-element-composer");let l;if(a){l=JSON.parse(a).map(e=>i.deserializePart(e))}else l=(0,I.OZ)(r,i,{shouldEscape:!1});this.modifiedFlag=!0;const c=(0,B.Bh)(this.editorRef.current,o,document.getSelection());r&&c.length>0&&J.Bu.test(r)&&!J.Bu.test(c.text)?D(c,r):O(c,l)}),(0,s.A)(this,"onPaste",e=>this.onPasteHandler(e,e.clipboardData)),(0,s.A)(this,"onBeforeInput",e=>{this.isIMEComposing||"insertFromPaste"===e.inputType&&e.dataTransfer&&this.onPasteHandler(e,e.dataTransfer)}),(0,s.A)(this,"onInput",e=>{if(!this.editorRef.current)return;if(this.isIMEComposing)return;this.modifiedFlag=!0;const t=document.getSelection(),{caret:n,text:s}=(0,B.xo)(this.editorRef.current,t);this.props.model.update(s,e.inputType,n)}),(0,s.A)(this,"onBlur",()=>{document.removeEventListener("selectionchange",this.onSelectionChange)}),(0,s.A)(this,"onFocus",()=>{document.addEventListener("selectionchange",this.onSelectionChange),this.lastSelection=null,this.refreshLastCaretIfNeeded()}),(0,s.A)(this,"onSelectionChange",()=>{if(!this.editorRef.current)return;const{isEmpty:e}=this.props.model;this.refreshLastCaretIfNeeded();const t=document.getSelection();var n;if(this.hasTextSelected&&t.isCollapsed)this.hasTextSelected=!1,null===(n=this.formatBarRef.current)||void 0===n||n.hide();else if(!t.isCollapsed&&!e){this.hasTextSelected=!0;const e=(0,B.Bh)(this.editorRef.current,this.props.model,t);if(this.formatBarRef.current&&this.state.useMarkdown&&e.text.trim()){const e=t.getRangeAt(0).getBoundingClientRect();this.formatBarRef.current.showAt(e)}}}),(0,s.A)(this,"onKeyDown",e=>{var t;if(!this.editorRef.current)return;if(this.isComposing(e))return;if(this.isSafari&&229==e.which)return void e.stopPropagation();const n=this.props.model;let s=!1;if(this.state.surroundWith&&"Caret"!==document.getSelection().type){const t=(0,B.Bh)(this.editorRef.current,this.props.model,document.getSelection());t.trim(),[...ee.keys(),...X].includes(e.key)&&(this.historyManager.ensureLastChangesPushed(this.props.model),this.modifiedFlag=!0,L(t,e.key,ee.get(e.key)),s=!0)}const o=(0,K.zM)().getNavigationAction(e);o!==$.bY.NextLandmark&&o!==$.bY.PreviousLandmark||(Y.r.findAndFocusNextLandmark(Y.H.MESSAGE_COMPOSER_OR_HOME,o===$.bY.PreviousLandmark),s=!0);const i=(0,K.zM)().getAutocompleteAction(e),r=(0,K.zM)().getAccessibilityAction(e);if(null!==(t=n.autoComplete)&&void 0!==t&&t.hasCompletions()){const t=n.autoComplete;switch(i){case $.bY.ForceCompleteAutocomplete:case $.bY.CompleteAutocomplete:this.historyManager.ensureLastChangesPushed(this.props.model),this.modifiedFlag=!0,t.confirmCompletion(),s=!0;break;case $.bY.PrevSelectionInAutocomplete:t.selectPreviousSelection(),s=!0;break;case $.bY.NextSelectionInAutocomplete:t.selectNextSelection(),s=!0;break;case $.bY.CancelAutocomplete:t.onEscape(e),s=!0}}else if(i!==$.bY.ForceCompleteAutocomplete||this.state.showVisualBell){if([$.bY.Delete,$.bY.Backspace].includes(r)){var a;null===(a=this.formatBarRef.current)||void 0===a||a.hide()}}else this.tabCompleteName(),s=!0;if(s)return e.preventDefault(),void e.stopPropagation();switch((0,K.zM)().getMessageComposerAction(e)){case $.bY.FormatBold:this.onFormatAction(C.Bold),s=!0;break;case $.bY.FormatItalics:this.onFormatAction(C.Italics),s=!0;break;case $.bY.FormatCode:this.onFormatAction(C.Code),s=!0;break;case $.bY.FormatQuote:this.onFormatAction(C.Quote),s=!0;break;case $.bY.FormatLink:this.onFormatAction(C.InsertLink),s=!0;break;case $.bY.EditRedo:{const e=this.historyManager.redo();if(e){const{parts:t,caret:s}=e;n.reset(t,s,"historyRedo")}s=!0;break}case $.bY.EditUndo:{const e=this.historyManager.undo(this.props.model);if(e){const{parts:t,caret:s}=e;n.reset(t,s,"historyUndo")}s=!0;break}case $.bY.NewLine:this.insertText("\n"),s=!0;break;case $.bY.MoveCursorToStart:g(this.editorRef.current,n,{index:0,offset:0}),s=!0;break;case $.bY.MoveCursorToEnd:g(this.editorRef.current,n,{index:n.parts.length-1,offset:n.parts[n.parts.length-1].text.length}),s=!0}s&&(e.preventDefault(),e.stopPropagation())}),(0,s.A)(this,"onAutoCompleteConfirm",e=>{var t;this.modifiedFlag=!0,null===(t=this.props.model.autoComplete)||void 0===t||t.onComponentConfirm(e)}),(0,s.A)(this,"onAutoCompleteSelectionChange",e=>{this.modifiedFlag=!0,this.setState({completionIndex:e})}),(0,s.A)(this,"configureUseMarkdown",()=>{const e=H.A.getValue("MessageComposerInput.useMarkdown");this.setState({useMarkdown:e}),!e&&this.formatBarRef.current&&this.formatBarRef.current.hide()}),(0,s.A)(this,"configureEmoticonAutoReplace",()=>{this.props.model.setTransformCallback(this.transform)}),(0,s.A)(this,"configureShouldShowPillAvatar",()=>{const e=H.A.getValue("Pill.shouldShowPillAvatar");this.setState({showPillAvatar:e})}),(0,s.A)(this,"surroundWithSettingChanged",()=>{const e=H.A.getValue("MessageComposerInput.surroundWith");this.setState({surroundWith:e})}),(0,s.A)(this,"transform",e=>{H.A.getValue("MessageComposerInput.autoReplaceEmoji")&&this.replaceEmoticon(e,Z)}),(0,s.A)(this,"onFormatAction",e=>{if(!this.state.useMarkdown||!this.editorRef.current)return;const t=(0,B.Bh)(this.editorRef.current,this.props.model,document.getSelection());this.historyManager.ensureLastChangesPushed(this.props.model),this.modifiedFlag=!0,P(t,e)}),this.state={showPillAvatar:H.A.getValue("Pill.shouldShowPillAvatar"),useMarkdown:H.A.getValue("MessageComposerInput.useMarkdown"),surroundWith:H.A.getValue("MessageComposerInput.surroundWith"),showVisualBell:!1};const t=navigator.userAgent.toLowerCase();this.isSafari=t.includes("safari/")&&!t.includes("chrome/"),this.configureEmoticonAutoReplace()}componentDidUpdate(e){const t=this.props.disabled!==e.disabled,n=this.props.placeholder!==e.placeholder;if(this.props.placeholder&&(n||t)){const{isEmpty:e}=this.props.model;e?this.showPlaceholder():this.hidePlaceholder()}}replaceEmoticon(e,t){const{model:n}=this.props,s=n.startRange(e);let o=9;s.expandBackwardsWhile((e,t)=>{const s=n.parts[e];return o-=1,o>=0&&[h.ZU.Plain,h.ZU.PillCandidate,h.ZU.Newline].includes(s.type)});const i=t.exec(s.text);if(i&&(o>=0||0!==i.index)){const e=i[1],t=d.EMOTICON_TO_EMOJI.get(e);if(t){const{partCreator:e}=n,o=i[0],r=" "===o[0]?1:0;return s.moveStartForwards(i.index+r),["\n"," "].includes(o[o.length-1])&&s.moveEndBackwards(1),s.replace([e.emoji(t.unicode)])}}}showPlaceholder(){var e,t,n;null===(e=this.editorRef.current)||void 0===e||e.style.setProperty("--placeholder",`'${CSS.escape(null!==(t=this.props.placeholder)&&void 0!==t?t:"")}'`),null===(n=this.editorRef.current)||void 0===n||n.classList.add("mx_BasicMessageComposer_inputEmpty")}hidePlaceholder(){var e,t;null===(e=this.editorRef.current)||void 0===e||e.classList.remove("mx_BasicMessageComposer_inputEmpty"),null===(t=this.editorRef.current)||void 0===t||t.style.removeProperty("--placeholder")}isComposing(e){return!!(this.isIMEComposing||e.nativeEvent&&e.nativeEvent.isComposing)}insertText(e,t="insertText"){if(!this.editorRef.current)return;const n=document.getSelection(),{caret:s,text:o}=(0,B.xo)(this.editorRef.current,n),i=o.slice(0,s.offset)+e+o.slice(s.offset);s.offset+=e.length,this.modifiedFlag=!0,this.props.model.update(i,t,s)}setLastCaretFromPosition(e){const{model:t}=this.props;this._isCaretAtEnd=e.isAtEnd(t),this.lastCaret=e.asOffset(t),this.lastSelection=ne(document.getSelection())}refreshLastCaretIfNeeded(){if(!this.editorRef.current)return;const e=document.getSelection();if(!this.lastSelection||(t=this.lastSelection,n=e,t.anchorNode!==n.anchorNode||t.anchorOffset!==n.anchorOffset||t.focusNode!==n.focusNode||t.focusOffset!==n.focusOffset||t.isCollapsed!==n.isCollapsed||t.rangeCount!==n.rangeCount||t.type!==n.type)){this.lastSelection=ne(e);const{caret:t,text:n}=(0,B.xo)(this.editorRef.current,e);this.lastCaret=t,this._isCaretAtEnd=t.offset===n.length}var t,n;return this.lastCaret}clearUndoHistory(){this.historyManager.clear()}getCaret(){return this.lastCaret}isSelectionCollapsed(){return!this.lastSelection||!!this.lastSelection.isCollapsed}isCaretAtStart(){return 0===this.getCaret().offset}isCaretAtEnd(){return this._isCaretAtEnd}async tabCompleteName(){try{await new Promise(e=>this.setState({showVisualBell:!1},e));const{model:e}=this.props,t=this.getCaret(),n=e.positionForOffset(t.offset,t.atNodeEnd),s=e.startRange(n);s.expandBackwardsWhile((e,t,n)=>" "!==n.text[t]&&"+"!==n.text[t]&&(n.type===h.ZU.Plain||n.type===h.ZU.PillCandidate||n.type===h.ZU.Command));const{partCreator:o}=e;await e.transform(()=>{const n=s.replace([o.pillCandidate(s.text)]);return e.positionForOffset(t.offset+n,!0)}),e.autoComplete?(await e.autoComplete.startSelection(),e.autoComplete.hasSelection()||(this.setState({showVisualBell:!0}),e.autoComplete.close())):this.setState({showVisualBell:!0})}catch(e){c.vF.error(e)}}isModified(){return this.modifiedFlag}componentWillUnmount(){var e,t,n,s;document.removeEventListener("selectionchange",this.onSelectionChange),null===(e=this.editorRef.current)||void 0===e||e.removeEventListener("beforeinput",this.onBeforeInput,!0),null===(t=this.editorRef.current)||void 0===t||t.removeEventListener("input",this.onInput,!0),null===(n=this.editorRef.current)||void 0===n||n.removeEventListener("compositionstart",this.onCompositionStart,!0),null===(s=this.editorRef.current)||void 0===s||s.removeEventListener("compositionend",this.onCompositionEnd,!0),H.A.unwatchSetting(this.useMarkdownHandle),H.A.unwatchSetting(this.emoticonSettingHandle),H.A.unwatchSetting(this.shouldShowPillAvatarSettingHandle),H.A.unwatchSetting(this.surroundWithHandle)}componentDidMount(){var e,t,n,s,o;this.useMarkdownHandle=H.A.watchSetting("MessageComposerInput.useMarkdown",null,this.configureUseMarkdown),this.emoticonSettingHandle=H.A.watchSetting("MessageComposerInput.autoReplaceEmoji",null,this.configureEmoticonAutoReplace),this.shouldShowPillAvatarSettingHandle=H.A.watchSetting("Pill.shouldShowPillAvatar",null,this.configureShouldShowPillAvatar),this.surroundWithHandle=H.A.watchSetting("MessageComposerInput.surroundWith",null,this.surroundWithSettingChanged);const i=this.props.model;i.setUpdateCallback(this.updateEditorState);i.partCreator.setAutoCompleteCreator((0,h.NY)(()=>this.autocompleteRef.current,e=>new Promise(t=>this.setState({query:e},t)))),this.updateEditorState(this.getInitialCaretPosition()),null===(e=this.editorRef.current)||void 0===e||e.addEventListener("beforeinput",this.onBeforeInput,!0),null===(t=this.editorRef.current)||void 0===t||t.addEventListener("input",this.onInput,!0),null===(n=this.editorRef.current)||void 0===n||n.addEventListener("compositionstart",this.onCompositionStart,!0),null===(s=this.editorRef.current)||void 0===s||s.addEventListener("compositionend",this.onCompositionEnd,!0),null===(o=this.editorRef.current)||void 0===o||o.focus()}getInitialCaretPosition(){let e;if(this.props.initialCaret){const t=this.props.initialCaret;e=this.props.model.positionForOffset(t.offset,t.atNodeEnd)}else e=this.props.model.getPositionAtEnd();return e}render(){var e;let t;if(this.state.autoComplete&&this.state.query){const e=this.state.query,n=e.length;t=r.createElement("div",{className:"mx_BasicMessageComposer_AutoCompleteWrapper"},r.createElement(V.A,{ref:this.autocompleteRef,query:e,onConfirm:this.onAutoCompleteConfirm,onSelectionChange:this.onAutoCompleteSelectionChange,selection:{beginning:!0,end:n,start:n},room:this.props.room}))}const n=i()("mx_BasicMessageComposer",{mx_BasicMessageComposer_input_error:this.state.showVisualBell}),s=i()("mx_BasicMessageComposer_input",{mx_BasicMessageComposer_input_shouldShowPillAvatar:this.state.showPillAvatar,mx_BasicMessageComposer_input_disabled:this.props.disabled}),o={[C.Bold]:te("B"),[C.Italics]:te("I"),[C.Code]:te("E"),[C.Quote]:te(">",!0),[C.InsertLink]:te("L",!0)},{completionIndex:a}=this.state,l=!!this.state.autoComplete;let c;return l&&a>=0&&(c=(0,V.D)(a)),r.createElement("div",{className:n},t,r.createElement(k,{ref:this.formatBarRef,onAction:this.onFormatAction,shortcuts:o}),r.createElement("div",{className:s,contentEditable:!this.props.disabled||void 0,tabIndex:0,onBlur:this.onBlur,onFocus:this.onFocus,onCopy:this.onCopy,onCut:this.onCut,onPaste:this.onPaste,onKeyDown:this.onKeyDown,ref:this.editorRef,"aria-label":this.props.label,role:"textbox","aria-multiline":"true","aria-autocomplete":"list","aria-haspopup":"listbox","aria-expanded":l?!(null!==(e=this.autocompleteRef.current)&&void 0!==e&&e.state.hide):void 0,"aria-owns":l?"mx_Autocomplete":void 0,"aria-activedescendant":c,dir:"auto","aria-disabled":this.props.disabled,translate:"no"}))}focus(){var e;null===(e=this.editorRef.current)||void 0===e||e.focus()}insertMention(e){this.modifiedFlag=!0;const{model:t}=this.props,{partCreator:n}=t,s=this.props.room.getMember(e),o=s?s.rawDisplayName:e,i=this.getCaret(),r=t.positionForOffset(i.offset,i.atNodeEnd),a=n.createMentionParts(0===i.offset,o,e);t.transform(()=>{const e=t.insert(a,r);return t.positionForOffset(i.offset+e,!0)}),this.focus()}insertQuotedMessage(e){this.modifiedFlag=!0;const{model:t}=this.props,{partCreator:n}=t,s=(0,I.wj)(e,n,{isQuotedMessage:!0});s.push(n.newline()),s.push(n.newline()),t.transform(()=>{const e=t.insert(s,t.positionForOffset(0));return t.positionForOffset(e,!0)}),this.focus()}insertPlaintext(e){this.modifiedFlag=!0;const{model:t}=this.props,{partCreator:n}=t,s=this.getCaret(),o=t.positionForOffset(s.offset,s.atNodeEnd);t.transform(()=>{const i=t.insert(n.plainWithEmoji(e),o);return t.positionForOffset(s.offset+i,!0)})}}},"./src/components/views/rooms/E2EIcon.tsx"(e,t,n){"use strict";n.d(t,{A:()=>v,g:()=>p});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error-solid.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock-solid.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/shield.js"),d=n("./src/languageHandler.tsx"),u=n("./src/components/views/elements/AccessibleButton.tsx"),m=n("./src/utils/ShieldUtils.ts");const p={[m.z.Warning]:(0,d.AO)("encryption|cross_signing_user_warning"),[m.z.Normal]:(0,d.AO)("encryption|cross_signing_user_normal"),[m.z.Verified]:(0,d.AO)("encryption|cross_signing_user_verified")},h={[m.z.Warning]:(0,d.AO)("encryption|cross_signing_room_warning"),[m.z.Normal]:(0,d.AO)("encryption|cross_signing_room_normal"),[m.z.Verified]:(0,d.AO)("encryption|cross_signing_room_verified")},g={[m.z.Warning]:s.createElement(a.A,{color:"var(--cpd-color-icon-critical-primary)"}),[m.z.Normal]:s.createElement(l.A,{color:"var(--cpd-color-icon-tertiary)"}),[m.z.Verified]:s.createElement(c.A,{color:"var(--cpd-color-icon-success-primary)"})},v=({isUser:e,status:t,className:n,size:o,onClick:a,hideTooltip:l,tooltipPlacement:c})=>{const m=g[t],v=i()("mx_E2EIcon",n);let f,_;f=e?p[t]:h[t],o&&(_={width:`${o}px`,height:`${o}px`});const y=f?(0,d._t)(f):"";let b;return b=a?s.createElement(u.A,{onClick:a,className:v,style:_},m):s.createElement("div",{className:v,style:_},m),!f||l?b:s.createElement(r.m,{label:y,placement:c,isTriggerInteractive:!!a},b)}},"./src/components/views/rooms/LegacyRoomList.tsx"(e,t,n){"use strict";n.d(t,{Q:()=>q,A:()=>X});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/react/index.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-add-solid.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/share.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/plus.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/search.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-solid.js"),m=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/room.js"),p=n("./src/accessibility/RovingTabIndex.tsx"),h=n("./src/contexts/MatrixClientContext.tsx"),g=n("./src/customisations/helpers/UIComponents.ts"),v=n("./src/dispatcher/actions.ts"),f=n("./src/dispatcher/dispatcher.ts"),_=n("./src/hooks/useEventEmitter.ts"),y=n("./src/languageHandler.tsx"),b=n("./src/MatrixClientPeg.ts"),w=n("./src/PosthogTrackers.ts"),E=n("./src/settings/SettingsStore.ts"),A=n("./src/hooks/useSettings.ts"),x=n("./src/settings/UIFeature.ts"),S=n("./src/stores/notifications/RoomNotificationStateStore.ts"),C=n("./src/stores/room-list/models.ts"),k=n("./src/stores/AsyncStore.ts"),R=n("./src/stores/room-list/RoomListStore.ts"),I=n("./src/stores/spaces/index.ts"),P=n("./src/stores/spaces/SpaceStore.ts"),T=n("./src/utils/arrays.ts"),O=n("./src/utils/objects.ts"),M=n("./src/utils/space.tsx"),N=n("./src/components/structures/ContextMenu.tsx"),j=n("./src/components/views/avatars/RoomAvatar.tsx"),D=n("./src/components/views/beta/BetaCard.tsx"),U=n("./src/components/views/context_menus/IconizedContextMenu.tsx"),F=n("./node_modules/classnames/index.js"),L=n.n(F),B=n("./src/components/views/rooms/NotificationBadge.tsx");function V({isSelected:e,isMinimized:t,notificationState:n,displayName:s,onClick:o,avatar:i}){const[,{onMouseOver:a,onMouseLeave:l}]=function(e){const[t,n]=(0,r.useState)(!1);return[t,{onMouseOver:()=>n(!0),onMouseLeave:()=>n(!1),onMouseMove:t=>{n(!e(t))}}]}(()=>!1),c=L()({mx_ExtraTile:!0,mx_RoomTile:!0,mx_RoomTile_selected:e,mx_RoomTile_minimized:t});let d=null;n&&(d=r.createElement(B.A,{notification:n}));let u=s;"string"!=typeof u&&(u=""),u=u.replace(":",":");const m=L()({mx_RoomTile_title:!0,mx_RoomTile_titleHasUnreadEvents:null==n?void 0:n.isUnread});let h=r.createElement("div",{className:"mx_RoomTile_titleContainer"},r.createElement("div",{title:u,className:m,tabIndex:-1,dir:"auto"},u));return t&&(h=null),r.createElement(p.k,{className:c,onMouseEnter:a,onMouseLeave:l,onClick:o,role:"treeitem",title:u,disableTooltip:!t},r.createElement("div",{className:"mx_RoomTile_avatarContainer"},i),r.createElement("div",{className:"mx_RoomTile_details"},r.createElement("div",{className:"mx_RoomTile_primaryDetails"},h,r.createElement("div",{className:"mx_RoomTile_badgeContainer"},d))))}var H=n("./src/components/views/rooms/RoomSublist.tsx"),z=n("./src/contexts/SDKContext.ts"),W=n("./src/accessibility/KeyboardShortcuts.ts"),K=n("./src/KeyBindingsManager.ts"),$=n("./src/components/views/elements/AccessibleButton.tsx"),J=n("./src/accessibility/LandmarkNavigation.ts"),G=n("./src/LegacyCallHandler.tsx");const q=[C.zO.Invite,C.zO.Favourite,C.zO.DM,C.zO.Untagged,C.zO.Conference,C.zO.LowPriority,C.zO.ServerNotice,C.zO.Suggested],Y=[C.zO.DM,C.zO.Untagged],Z=e=>{const t=e.getBoundingClientRect();return{chevronFace:N.t4.None,left:t.left-7,top:t.top+t.height}},Q={[C.zO.Invite]:{sectionLabel:(0,y.AO)("action|invites_list"),isInvite:!0,defaultHidden:!1},[C.zO.Favourite]:{sectionLabel:(0,y.AO)("common|favourites"),isInvite:!1,defaultHidden:!1},[C.zO.DM]:{sectionLabel:(0,y.AO)("common|people"),isInvite:!1,defaultHidden:!1,AuxButtonComponent:({tabIndex:e,dispatcher:t=f.A})=>{const[n,s,i,d]=(0,N.EF)(),u=(0,_.dF)(P.Ay.instance,I.tw,()=>P.Ay.instance.activeSpaceRoom),m=(0,g.g)(x.C.CreateRooms),p=(0,g.g)(x.C.InviteUsers);if(u&&(m||p)){let t;if(n&&s.current){const e=(0,M.MI)(u);t=r.createElement(U.Ay,(0,o.A)({},Z(s.current),{onFinished:d,compact:!0}),r.createElement(U.tx,{first:!0},m&&r.createElement(U.R$,{label:(0,y._t)("action|start_new_chat"),icon:r.createElement(a.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),d(),f.A.dispatch({action:v.r.CreateChat}),w.A.trackInteraction("WebRoomListRoomsSublistPlusMenuCreateChatItem",e)}}),p&&r.createElement(U.R$,{label:(0,y._t)("action|invite_to_space"),icon:r.createElement(l.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),d(),(0,M.Lo)(u)},disabled:!e,title:e?void 0:(0,y._t)("spaces|error_no_permission_invite")})))}return r.createElement(r.Fragment,null,r.createElement(N.oW,{tabIndex:e,onClick:i,className:"mx_RoomSublist_auxButton","aria-label":(0,y._t)("action|add_people"),title:(0,y._t)("action|add_people"),isExpanded:n,ref:s},r.createElement(c.A,null)),t)}return!u&&m?r.createElement($.A,{tabIndex:e,onClick:e=>{t.dispatch({action:v.r.CreateChat}),w.A.trackInteraction("WebRoomListRoomsSublistPlusMenuCreateChatItem",e)},className:"mx_RoomSublist_auxButton","aria-label":(0,y._t)("action|start_chat"),title:(0,y._t)("action|start_chat")},r.createElement(c.A,null)):null}},[C.zO.Conference]:{sectionLabel:(0,y.AO)("voip|metaspace_video_rooms|conference_room_section"),isInvite:!1,defaultHidden:!1},[C.zO.Untagged]:{sectionLabel:(0,y.AO)("common|rooms"),isInvite:!1,defaultHidden:!1,AuxButtonComponent:({tabIndex:e})=>{const[t,n,s,a]=(0,N.EF)(),l=(0,_.dF)(P.Ay.instance,I.tw,()=>P.Ay.instance.activeSpaceRoom),p=(0,g.g)(x.C.CreateRooms),h=(0,g.g)(x.C.ExploreRooms),E=(0,A.ny)("feature_video_rooms"),S=(0,A.ny)("feature_element_call_video_rooms");let C;if(t&&l){const e=l.currentState.maySendStateEvent(i.EventType.SpaceChild,b.J.safeGet().getSafeUserId());C=r.createElement(U.tx,{first:!0},r.createElement(U.R$,{label:(0,y._t)("action|explore_rooms"),icon:r.createElement(d.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),f.A.dispatch({action:v.r.ViewRoom,room_id:l.roomId,metricsTrigger:void 0}),w.A.trackInteraction("WebRoomListRoomsSublistPlusMenuExploreRoomsItem",e)}}),p?r.createElement(r.Fragment,null,r.createElement(U.R$,{label:(0,y._t)("action|new_room"),icon:r.createElement(c.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),(0,M.PT)(l),w.A.trackInteraction("WebRoomListRoomsSublistPlusMenuCreateRoomItem",e)},disabled:!e,title:e?void 0:(0,y._t)("spaces|error_no_permission_create_room")}),E&&r.createElement(U.R$,{label:(0,y._t)("action|new_video_room"),icon:r.createElement(u.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),(0,M.PT)(l,S?i.RoomType.UnstableCall:i.RoomType.ElementVideo)},disabled:!e,title:e?void 0:(0,y._t)("spaces|error_no_permission_create_room")},r.createElement(D.s,null)),r.createElement(U.R$,{label:(0,y._t)("action|add_existing_room"),icon:r.createElement(m.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),(0,M.yV)(l)},disabled:!e,title:e?void 0:(0,y._t)("spaces|error_no_permission_add_room")})):null)}else t&&(C=r.createElement(U.tx,{first:!0},p&&r.createElement(r.Fragment,null,r.createElement(U.R$,{label:(0,y._t)("action|new_room"),icon:r.createElement(c.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),f.A.dispatch({action:v.r.CreateRoom}),w.A.trackInteraction("WebRoomListRoomsSublistPlusMenuCreateRoomItem",e)}}),E&&r.createElement(U.R$,{label:(0,y._t)("action|new_video_room"),icon:r.createElement(u.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),f.A.dispatch({action:v.r.CreateRoom,type:S?i.RoomType.UnstableCall:i.RoomType.ElementVideo})}},r.createElement(D.s,null))),h?r.createElement(U.R$,{label:(0,y._t)("action|explore_public_rooms"),icon:r.createElement(d.A,null),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(),w.A.trackInteraction("WebRoomListRoomsSublistPlusMenuExploreRoomsItem",e),f.A.fire(v.r.ViewRoomDirectory)}}):null));let k=null;return t&&n.current&&(k=r.createElement(U.Ay,(0,o.A)({},Z(n.current),{onFinished:a,compact:!0}),C)),p||h?r.createElement(r.Fragment,null,r.createElement(N.oW,{tabIndex:e,onClick:s,className:"mx_RoomSublist_auxButton","aria-label":(0,y._t)("room_list|add_room_label"),title:(0,y._t)("room_list|add_room_label"),isExpanded:t,ref:n},r.createElement(c.A,null)),k):null}},[C.zO.LowPriority]:{sectionLabel:(0,y.AO)("common|low_priority"),isInvite:!1,defaultHidden:!1},[C.zO.ServerNotice]:{sectionLabel:(0,y.AO)("common|system_alerts"),isInvite:!1,defaultHidden:!1},[C.zO.Archived]:{sectionLabel:(0,y.AO)("common|historical"),isInvite:!1,defaultHidden:!0},[C.zO.Suggested]:{sectionLabel:(0,y.AO)("room_list|suggested_rooms_heading"),isInvite:!1,defaultHidden:!1}};class X extends r.PureComponent{constructor(e){super(e),(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"treeRef",(0,r.createRef)()),(0,s.A)(this,"updateProtocolSupport",()=>{this.updateLists()}),(0,s.A)(this,"onRoomViewStoreUpdate",()=>{var e;this.setState({currentRoomId:null!==(e=z.M.instance.roomViewStore.getRoomId())&&void 0!==e?e:void 0})}),(0,s.A)(this,"onAction",e=>{if(e.action===v.r.ViewRoomDelta){const t=e,n=z.M.instance.roomViewStore.getRoomId();if(!n)return;const s=this.getRoomDelta(n,t.delta,t.unread);s&&f.A.dispatch({action:v.r.ViewRoom,room_id:s.roomId,show_room_tile:!0,metricsTrigger:"WebKeyboardShortcut",metricsViaKeyboard:!0})}}),(0,s.A)(this,"getRoomDelta",(e,t,n=!1)=>{const s=R.Ay.instance.orderedLists,o=[];q.forEach(t=>{let i=s[t];n&&(i=i.filter(t=>{const n=S.n.instance.getRoomState(t);return n.room.roomId===e||n.isUnread})),o.push(...i)});const i=o.findIndex(t=>t.roomId===e),[r]=o.slice((i+t)%o.length);return r}),(0,s.A)(this,"updateSuggestedRooms",e=>{this.setState({suggestedRooms:e})}),(0,s.A)(this,"updateLists",()=>{const e=R.Ay.instance.orderedLists,t=Object.keys(this.state.sublists),n=Object.keys(e);let s=(0,T.dc)(t,n);if(!s)for(const t of n){const n=this.state.sublists[t],o=e[t];if(n.length!==o.length){s=!0;break}}if(s){const t=(0,O.aG)(e,n),s=(0,O.tn)(t,(e,t)=>(0,T.PF)(t));this.setState({sublists:s},()=>{this.props.onResize()})}}),this.state={sublists:{},suggestedRooms:P.Ay.instance.suggestedRooms}}componentDidMount(){this.dispatcherRef=f.A.register(this.onAction),z.M.instance.roomViewStore.on(k.H,this.onRoomViewStoreUpdate),P.Ay.instance.on(I.b4,this.updateSuggestedRooms),R.Ay.instance.on(R.lA,this.updateLists),G.Ay.instance.on(G.uv.ProtocolSupport,this.updateProtocolSupport),this.updateLists()}componentWillUnmount(){P.Ay.instance.off(I.b4,this.updateSuggestedRooms),R.Ay.instance.off(R.lA,this.updateLists),f.A.unregister(this.dispatcherRef),z.M.instance.roomViewStore.off(k.H,this.onRoomViewStoreUpdate),G.Ay.instance.off(G.uv.ProtocolSupport,this.updateProtocolSupport)}renderSuggestedRooms(){return this.state.suggestedRooms.map(e=>{var t;const n=e.name||e.canonical_alias||(null===(t=e.aliases)||void 0===t?void 0:t[0])||(0,y._t)("empty_room"),s=r.createElement(j.A,{oobData:{name:n,avatarUrl:e.avatar_url},size:"32px"});return r.createElement(V,{isMinimized:this.props.isMinimized,isSelected:this.state.currentRoomId===e.room_id,displayName:n,avatar:s,onClick:t=>{var s;f.A.dispatch({action:v.r.ViewRoom,room_alias:e.canonical_alias||(null===(s=e.aliases)||void 0===s?void 0:s[0]),room_id:e.room_id,via_servers:e.viaServers,oob_data:{avatarUrl:e.avatar_url,name:n},metricsTrigger:"RoomList",metricsViaKeyboard:"click"!==t.type})},key:`suggestedRoomTile_${e.room_id}`})})}renderSublists(){var e;const t=!(null!==(e=this.state.suggestedRooms)&&void 0!==e&&e.length)&&Object.values(R.Ay.instance.orderedLists).every(e=>!(null!=e&&e.length));return q.map(e=>{let n;e===C.zO.Suggested&&(n=this.renderSuggestedRooms());const s=Q[e];if(!s)throw new Error(`Tag ${e} does not have aesthetics`);let o=Y.includes(e);(this.props.activeSpace===I._b.Favourites&&e!==C.zO.Favourite||this.props.activeSpace===I._b.People&&e!==C.zO.DM||this.props.activeSpace===I._b.Orphans&&e===C.zO.DM||this.props.activeSpace===I._b.VideoRooms&&e===C.zO.DM||!(0,I.ww)(this.props.activeSpace)&&e===C.zO.DM&&!E.A.getValue("Spaces.showPeopleInSpace",this.props.activeSpace))&&(o=!1);let i=!1;return(this.props.activeSpace===I._b.Favourites&&e===C.zO.Favourite||this.props.activeSpace===I._b.People&&e===C.zO.DM)&&(i=!0),r.createElement(H.A,{key:`sublist-${e}`,tagId:e,forRooms:!0,startAsHidden:s.defaultHidden,label:s.sectionLabelRaw?s.sectionLabelRaw:(0,y._t)(s.sectionLabel),AuxButtonComponent:s.AuxButtonComponent,isMinimized:this.props.isMinimized,showSkeleton:t,extraTiles:n,resizeNotifier:this.props.resizeNotifier,alwaysVisible:o,onListCollapse:this.props.onListCollapse,forceExpanded:i})})}focus(){var e,t;const n=null===(e=this.treeRef.current)||void 0===e?void 0:e.querySelectorAll('[role="treeitem"]');n&&(null===(t=[...n].find(e=>null!==e.offsetParent))||void 0===t||t.focus())}render(){const e=this.renderSublists();return r.createElement(p.Se,{handleHomeEnd:!0,handleUpDown:!0,onKeyDown:this.props.onKeyDown},({onKeyDownHandler:t})=>r.createElement("div",{onFocus:this.props.onFocus,onBlur:this.props.onBlur,onKeyDown:e=>{const n=(0,K.zM)().getNavigationAction(e);if(n===W.bY.NextLandmark||n===W.bY.PreviousLandmark)return J.r.findAndFocusNextLandmark(J.H.ROOM_LIST,n===W.bY.PreviousLandmark),e.stopPropagation(),void e.preventDefault();t(e)},className:"mx_LegacyRoomList",role:"tree","aria-label":(0,y._t)("common|rooms"),ref:this.treeRef},e))}}(0,s.A)(X,"contextType",h.Ay)},"./src/components/views/rooms/LiveContentSummary.tsx"(e,t,n){"use strict";n.d(t,{I:()=>d,m:()=>u});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/group.js"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-solid.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/voice-call-solid.js"),c=n("./src/languageHandler.tsx");let d=function(e){return e[e.Video=0]="Video",e[e.Voice=1]="Voice",e}({});const u=({type:e,text:t,active:n,participantCount:o})=>s.createElement("span",{className:"mx_LiveContentSummary"},s.createElement("span",{className:i()("mx_LiveContentSummary_text",{mx_LiveContentSummary_text_active:n})},e===d.Video?s.createElement(a.A,null):s.createElement(l.A,null),t),o>0&&s.createElement(s.Fragment,null," • ",s.createElement("span",{className:"mx_LiveContentSummary_participants","aria-label":(0,c._t)("voip|n_people_joined",{count:o})},s.createElement(r.A,null),o)))},"./src/components/views/rooms/NotificationBadge.tsx"(e,t,n){"use strict";n.d(t,{A:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),a=n("./src/settings/SettingsStore.ts"),l=n("./src/stores/notifications/NotificationState.ts"),c=n("./src/languageHandler.tsx"),d=n("./src/stores/notifications/NotificationLevel.ts"),u=n("./src/components/views/rooms/NotificationBadge/StatelessNotificationBadge.tsx");class m extends i.PureComponent{constructor(e){super(e),(0,o.A)(this,"countWatcherRef",void 0),(0,o.A)(this,"countPreferenceChanged",()=>{this.setState({showCounts:a.A.getValue("Notifications.alwaysShowBadgeCounts",this.roomId)})}),(0,o.A)(this,"onNotificationUpdate",()=>{this.forceUpdate()}),this.state={showCounts:a.A.getValue("Notifications.alwaysShowBadgeCounts",this.roomId)}}get roomId(){return this.props.roomId||null}componentDidMount(){this.props.notification.on(l.ce.Update,this.onNotificationUpdate),this.countWatcherRef=a.A.watchSetting("Notifications.alwaysShowBadgeCounts",this.roomId,this.countPreferenceChanged)}componentWillUnmount(){a.A.unwatchSetting(this.countWatcherRef),this.props.notification.off(l.ce.Update,this.onNotificationUpdate)}componentDidUpdate(e){e.notification&&e.notification.off(l.ce.Update,this.onNotificationUpdate),this.props.notification.on(l.ce.Update,this.onNotificationUpdate)}render(){const{notification:e,showUnsentTooltip:t,hideIfDot:n,onClick:o,tabIndex:a}=this.props;if(e.isIdle&&!e.knocked)return null;if(n&&e.level<d.S.Notification)return null;const l={symbol:e.symbol,count:e.count,level:e.level,knocked:e.knocked};let m;return m=o?i.createElement(u.V,(0,s.A)({},l,{onClick:o,tabIndex:a})):i.createElement(u.V,l),t&&e.level===d.S.Unsent?i.createElement(r.m,{label:(0,c._t)("notifications|message_didnt_send"),placement:"right"},m):m}}},"./src/components/views/rooms/NotificationBadge/StatelessNotificationBadge.tsx"(e,t,n){"use strict";n.d(t,{V:()=>g});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/ask-to-join.js"),c=n("./src/utils/FormattingUtils.ts"),d=n("./src/components/views/elements/AccessibleButton.tsx"),u=n("./src/stores/notifications/NotificationLevel.ts"),m=n("./src/hooks/useSettings.ts"),p=n("./src/languageHandler.tsx");const h=["symbol","count","level","knocked","forceDot"],g=e=>{let{symbol:t,count:n,level:r,knocked:g,forceDot:v=!1}=e,f=(0,o.A)(e,h);const _=(0,m.ti)("feature_hidebold");if((r===u.S.None||_&&r==u.S.Activity)&&!g)return i.createElement(i.Fragment,null);const y=r>=u.S.Notification&&(!!n||!!t),b=null===t&&0===n;let w;null===t&&n>0&&(t=(0,c.B4)(n)),g&&(w=i.createElement(l.A,{"aria-label":(0,p._t)("room|knock_sent")}));const E=v||r<=u.S.Activity&&!w?"dot":!t||t.length<3?"badge_2char":"badge_3char",A=a()({mx_NotificationBadge:!0,mx_NotificationBadge_visible:!(!b&&!g)||y,mx_NotificationBadge_level_notification:r==u.S.Notification,mx_NotificationBadge_level_highlight:r>=u.S.Highlight,mx_NotificationBadge_knocked:g,mx_NotificationBadge_dot:"dot"===E,mx_NotificationBadge_2char:"badge_2char"===E,mx_NotificationBadge_3char:"badge_3char"===E,"cpd-theme-light":"dot"!==E}),x=w||i.createElement("span",{className:"mx_NotificationBadge_count"},t);return f.onClick?i.createElement(d.A,(0,s.A)({},f,{className:A,onClick:f.onClick,ref:f.ref}),x,f.children):i.createElement("div",{className:A,ref:f.ref},x)}},"./src/components/views/rooms/PresenceLabel.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u,I:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/NamespacedValue.ts"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./src/languageHandler.tsx"),c=n("./src/DateUtils.ts");const d=new i.qr("busy","org.matrix.msc3026.busy");class u extends o.Component{getPrettyPresence(e,t,n){if(e&&d.matches(e))return(0,l._t)("presence|busy");if("io.element.unreachable"===e)return(0,l._t)("presence|unreachable");if(!n&&void 0!==t&&t>0){const n=(0,c.a3)(t);return"online"===e?(0,l._t)("presence|online_for",{duration:n}):"unavailable"===e?(0,l._t)("presence|idle_for",{duration:n}):"offline"===e?(0,l._t)("presence|offline_for",{duration:n}):(0,l._t)("presence|unknown_for",{duration:n})}return"online"===e?(0,l._t)("presence|online"):"unavailable"===e?(0,l._t)("presence|idle"):"offline"===e?(0,l._t)("presence|offline"):(0,l._t)("presence|unknown")}render(){return o.createElement("div",{className:a()("mx_PresenceLabel",this.props.className,{mx_PresenceLabel_online:this.props.coloured&&"online"===this.props.presenceState})},this.getPrettyPresence(this.props.presenceState,this.props.activeAgo,this.props.currentlyActive))}}(0,s.A)(u,"defaultProps",{activeAgo:-1})},"./src/components/views/rooms/RoomHeader/toggle/useToggled.tsx"(e,t,n){"use strict";n.d(t,{K:()=>i});var s=n("./node_modules/react/index.js"),o=n("./src/contexts/CurrentRightPanelPhaseContext.tsx");function i(e){const t=(0,s.useContext)(o.I);if(!t)return!1;const{currentPhase:n,isPanelOpen:i}=t;return!(!i||n!==e)}},"./src/components/views/rooms/RoomSublist.tsx"(e,t,n){"use strict";n.d(t,{u:()=>I,A:()=>T});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/re-resizable/lib/index.js"),a=n("./node_modules/react/index.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/overflow-horizontal.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-right.js"),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-down.js"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-up.js");var m=n("./src/accessibility/KeyboardShortcuts.ts"),p=n("./src/accessibility/RovingTabIndex.tsx"),h=n("./src/dispatcher/actions.ts"),g=n("./src/dispatcher/dispatcher.ts"),v=n("./src/KeyBindingsManager.ts"),f=n("./src/languageHandler.tsx"),_=n("./src/stores/notifications/RoomNotificationStateStore.ts"),y=n("./src/stores/room-list/algorithms/models.ts"),b=n("./src/stores/room-list/models.ts"),w=n("./src/stores/room-list/RoomListLayoutStore.ts"),E=n("./src/stores/room-list/RoomListStore.ts"),A=n("./src/utils/arrays.ts"),x=n("./src/utils/objects.ts"),S=n("./src/components/structures/ContextMenu.tsx"),C=n("./src/components/views/elements/AccessibleButton.tsx"),k=n("./src/components/views/rooms/NotificationBadge.tsx"),R=n("./src/components/views/rooms/RoomTile.tsx");const I=32;function P(e){return`mx_RoomSublist_label_${e}`}window.TouchEvent||(window.TouchEvent=class extends UIEvent{get altKey(){return!1}get changedTouches(){return[]}get ctrlKey(){return!1}get metaKey(){return!1}get shiftKey(){return!1}get targetTouches(){return[]}get touches(){return[]}get rotation(){return 0}get scale(){return 0}constructor(e,t){super(e,t)}});class T extends a.Component{constructor(e){super(e),(0,s.A)(this,"headerButton",(0,a.createRef)()),(0,s.A)(this,"sublistRef",(0,a.createRef)()),(0,s.A)(this,"tilesRef",(0,a.createRef)()),(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"layout",void 0),(0,s.A)(this,"heightAtStart",void 0),(0,s.A)(this,"notificationState",void 0),(0,s.A)(this,"onListsLoading",(e,t)=>{this.props.tagId===e&&this.setState({roomsLoading:t})}),(0,s.A)(this,"onListsUpdated",()=>{const e={},t=this.state.rooms,n=(0,A.PF)(E.Ay.instance.orderedLists[this.props.tagId]||[]);(0,A.Oj)(t,n)&&(e.rooms=n),Object.keys(e).length>0&&this.setState(e)}),(0,s.A)(this,"onAction",e=>{e.action===h.r.ViewRoom&&e.show_room_tile&&this.state.rooms&&setTimeout(()=>{const t=this.state.rooms.findIndex(t=>t.roomId===e.room_id);!this.state.isExpanded&&t>-1&&this.toggleCollapsed(),t>=this.numVisibleTiles&&(this.layout.visibleTiles=this.layout.tilesWithPadding(t+1,32),this.forceUpdate())},0)}),(0,s.A)(this,"onResize",(e,t,n,s)=>{const o=this.heightAtStart+s.height;this.applyHeightChange(o),this.setState({height:o})}),(0,s.A)(this,"onResizeStart",()=>{this.heightAtStart=this.state.height,this.setState({isResizing:!0})}),(0,s.A)(this,"onResizeStop",(e,t,n,s)=>{const o=this.heightAtStart+s.height;this.applyHeightChange(o),this.setState({isResizing:!1,height:o})}),(0,s.A)(this,"onShowAllClick",async()=>{const e=this.numVisibleTiles,t=this.layout.tilesToPixelsWithPadding(this.numTiles,this.padding);this.applyHeightChange(t),this.setState({height:t},()=>{this.focusRoomTile(e)})}),(0,s.A)(this,"onShowLessClick",()=>{const e=this.layout.tilesToPixelsWithPadding(this.layout.defaultVisibleTiles,this.padding);this.applyHeightChange(e),this.setState({height:e})}),(0,s.A)(this,"focusRoomTile",e=>{if(!this.sublistRef.current)return;const t=this.sublistRef.current.querySelectorAll(".mx_RoomTile"),n=t&&t[e];n&&n.focus()}),(0,s.A)(this,"onOpenMenuClick",e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this.setState({contextMenuPosition:t.getBoundingClientRect()})}),(0,s.A)(this,"onContextMenu",e=>{e.preventDefault(),e.stopPropagation(),this.setState({contextMenuPosition:{left:e.clientX,top:e.clientY,height:0}})}),(0,s.A)(this,"onCloseMenu",()=>{this.setState({contextMenuPosition:void 0})}),(0,s.A)(this,"onUnreadFirstChanged",()=>{const e=E.Ay.instance.getListOrder(this.props.tagId)===y.K.Importance?y.K.Natural:y.K.Importance;E.Ay.instance.setListOrder(this.props.tagId,e),this.forceUpdate()}),(0,s.A)(this,"onTagSortChanged",async e=>{E.Ay.instance.setTagSorting(this.props.tagId,e),this.forceUpdate()}),(0,s.A)(this,"onMessagePreviewChanged",()=>{this.layout.showPreviews=!this.layout.showPreviews,this.forceUpdate()}),(0,s.A)(this,"onBadgeClick",e=>{let t;e.preventDefault(),e.stopPropagation(),t=this.props.tagId===b.zO.Invite?this.state.rooms&&this.state.rooms[0]:E.Ay.instance.orderedLists[this.props.tagId].find(e=>{const t=this.notificationState.getForRoom(e);return t.count>0&&t.level===this.notificationState.level}),t&&g.A.dispatch({action:h.r.ViewRoom,room_id:t.roomId,show_room_tile:!0,metricsTrigger:"WebRoomListNotificationBadge",metricsViaKeyboard:"click"!==e.type})}),(0,s.A)(this,"onHeaderClick",()=>{var e,t,n;const s=null===(e=this.headerButton.current)||void 0===e?void 0:e.parentElement,o=null==s||null===(t=s.parentElement)||void 0===t?void 0:t.parentElement,i=null==o||null===(n=o.parentElement)||void 0===n?void 0:n.parentElement;if(!s||!i)return;const r=Math.round(i.scrollTop),a=r<=Math.round(I),l=r>=Math.round(i.scrollHeight-i.offsetHeight),c=s.classList.contains("mx_RoomSublist_headerContainer_stickyTop"),d=s.classList.contains("mx_RoomSublist_headerContainer_stickyBottom");if(d&&!l||c&&!a)o.scrollIntoView({behavior:"smooth"});else{const e=this.state.isExpanded;this.toggleCollapsed(),!e&&d&&setTimeout(()=>{o.scrollIntoView({behavior:"smooth"})},0)}}),(0,s.A)(this,"toggleCollapsed",()=>{this.props.forceExpanded||(this.layout.isCollapsed=this.state.isExpanded,this.setState({isExpanded:!this.layout.isCollapsed}),this.props.onListCollapse&&this.props.onListCollapse(!this.layout.isCollapsed))}),(0,s.A)(this,"onHeaderKeyDown",e=>{switch((0,v.zM)().getRoomListAction(e)){case m.bY.CollapseRoomListSection:e.stopPropagation(),this.state.isExpanded&&this.toggleCollapsed();break;case m.bY.ExpandRoomListSection:if(e.stopPropagation(),this.state.isExpanded){if(this.sublistRef.current){const e=this.sublistRef.current.querySelector(".mx_RoomTile");e&&e.focus()}}else this.toggleCollapsed()}}),(0,s.A)(this,"onKeyDown",e=>{var t;switch((0,v.zM)().getAccessibilityAction(e)){case m.bY.ArrowLeft:e.stopPropagation(),null===(t=this.headerButton.current)||void 0===t||t.focus();break;case m.bY.ArrowRight:e.stopPropagation()}}),this.layout=w.A.instance.getLayoutFor(this.props.tagId),this.heightAtStart=0,this.notificationState=_.n.instance.getListState(this.props.tagId),this.state={isResizing:!1,isExpanded:!this.layout.isCollapsed,height:0,rooms:(0,A.PF)(E.Ay.instance.orderedLists[this.props.tagId]||[]),roomsLoading:!1},this.state=Object.assign(this.state,{height:this.calculateInitialHeight()})}calculateInitialHeight(){const e=Math.max(Math.floor(this.layout.visibleTiles),this.layout.minVisibleTiles),t=Math.min(this.numTiles,e);return this.layout.tilesToPixelsWithPadding(t,this.padding)}get padding(){let e=4;const t=this.numTiles>this.numVisibleTiles,n=this.numTiles>this.layout.defaultVisibleTiles;return(t||n)&&(e+=28),e}get extraTiles(){var e;return null!==(e=this.props.extraTiles)&&void 0!==e?e:null}get numTiles(){return T.calcNumTiles(this.state.rooms,this.extraTiles)}static calcNumTiles(e,t){return(e||[]).length+(t||[]).length}get numVisibleTiles(){const e=Math.ceil(this.layout.visibleTiles);return Math.min(e,this.numTiles)}componentDidUpdate(e,t){const n=e.extraTiles;T.calcNumTiles(t.rooms,n)!==this.numTiles&&this.setState({height:this.calculateInitialHeight()})}shouldComponentUpdate(e,t){if((0,x.No)(this.props,e))return!0;const n=(0,x.hn)(this.state,["rooms"]),s=(0,x.hn)(t,["rooms"]);if((0,x.No)(n,s))return!0;const o=this.props.extraTiles||[],i=e.extraTiles||[];if(o.length>0||i.length>0)return!0;if(T.calcNumTiles(t.rooms,i)!==this.numTiles)return!0;if(!t.isExpanded)return!1;if(this.state.rooms.length!==t.rooms.length)return!0;const r=this.state.rooms.slice(0,this.numVisibleTiles),a=t.rooms.slice(0,this.numVisibleTiles);return!!(0,A.Oj)(r,a)}componentDidMount(){var e;this.dispatcherRef=g.A.register(this.onAction),E.Ay.instance.on(E.lA,this.onListsUpdated),E.Ay.instance.on(E.Ov,this.onListsLoading),null===(e=this.tilesRef.current)||void 0===e||e.addEventListener("scroll",this.onScrollPrevent,{passive:!0})}componentWillUnmount(){var e;g.A.unregister(this.dispatcherRef),E.Ay.instance.off(E.lA,this.onListsUpdated),E.Ay.instance.off(E.Ov,this.onListsLoading),null===(e=this.tilesRef.current)||void 0===e||e.removeEventListener("scroll",this.onScrollPrevent)}applyHeightChange(e){const t=Math.ceil(this.layout.pixelsToTiles(e-this.padding));this.layout.visibleTiles=Math.min(this.numTiles,t)}renderVisibleTiles(){if(!this.state.isExpanded&&!this.props.forceExpanded)return[];const e=[];if(this.state.rooms){let t=this.state.rooms;this.props.forceExpanded||(t=t.slice(0,this.numVisibleTiles));for(const n of t)e.push(a.createElement(R.A,{room:n,key:`room-${n.roomId}`,showMessagePreview:this.layout.showPreviews,isMinimized:this.props.isMinimized,tag:this.props.tagId}))}return this.extraTiles&&e.push(...this.extraTiles),e.length>this.numVisibleTiles&&!this.props.forceExpanded?e.slice(0,this.numVisibleTiles):e}renderMenu(){if(this.props.tagId===b.zO.Suggested)return null;let e;if(this.state.contextMenuPosition){const t=E.Ay.instance.getTagSorting(this.props.tagId)===y.G.Alphabetic,n=E.Ay.instance.getListOrder(this.props.tagId)===y.K.Importance;let s;this.props.tagId!==b.zO.Invite&&(s=a.createElement(a.Fragment,null,a.createElement("hr",null),a.createElement("fieldset",null,a.createElement("legend",{className:"mx_RoomSublist_contextMenu_title"},(0,f._t)("common|appearance")),a.createElement(S.HQ,{onClose:this.onCloseMenu,onChange:this.onUnreadFirstChanged,checked:n},(0,f._t)("room_list|sort_unread_first")),a.createElement(S.HQ,{onClose:this.onCloseMenu,onChange:this.onMessagePreviewChanged,checked:this.layout.showPreviews},(0,f._t)("room_list|show_previews"))))),e=a.createElement(S.Ay,{chevronFace:S.t4.None,left:this.state.contextMenuPosition.left,top:this.state.contextMenuPosition.top+this.state.contextMenuPosition.height,onFinished:this.onCloseMenu},a.createElement("div",{className:"mx_RoomSublist_contextMenu"},a.createElement("fieldset",null,a.createElement("legend",{className:"mx_RoomSublist_contextMenu_title"},(0,f._t)("room_list|sort_by")),a.createElement(S.P$,{onClose:this.onCloseMenu,onChange:()=>this.onTagSortChanged(y.G.Recent),checked:!t,name:`mx_${this.props.tagId}_sortBy`},(0,f._t)("room_list|sort_by_activity")),a.createElement(S.P$,{onClose:this.onCloseMenu,onChange:()=>this.onTagSortChanged(y.G.Alphabetic),checked:t,name:`mx_${this.props.tagId}_sortBy`},(0,f._t)("room_list|sort_by_alphabet"))),s))}return a.createElement(a.Fragment,null,a.createElement(S.oW,{className:"mx_RoomSublist_menuButton",onClick:this.onOpenMenuClick,title:(0,f._t)("room_list|sublist_options"),isExpanded:!!this.state.contextMenuPosition},a.createElement(l.A,null)),e)}renderHeader(){return a.createElement(p.Ix,{inputRef:this.headerButton},({onFocus:e,isActive:t,ref:n})=>{const s=t?0:-1;let o=(0,f._t)("a11y_jump_first_unread_room");this.props.tagId===b.zO.Invite&&(o=(0,f._t)("a11y|jump_first_invite"));const r=a.createElement(k.A,{hideIfDot:!0,notification:this.notificationState,onClick:this.onBadgeClick,tabIndex:s,"aria-label":o,showUnsentTooltip:!0});let l;if(this.props.AuxButtonComponent){const e=this.props.AuxButtonComponent;l=a.createElement(e,{tabIndex:s})}const u=!this.state.isExpanded&&!this.props.forceExpanded,m=i()({mx_RoomSublist_headerContainer:!0,mx_RoomSublist_headerContainer_withAux:!!l}),p=a.createElement("div",{className:"mx_RoomSublist_badgeContainer"},r);return a.createElement("div",{className:m,onKeyDown:this.onHeaderKeyDown,onFocus:e,"aria-label":this.props.label,role:"treeitem","aria-expanded":this.state.isExpanded,"aria-level":1,"aria-selected":"false"},a.createElement("div",{className:"mx_RoomSublist_stickableContainer"},a.createElement("div",{className:"mx_RoomSublist_stickable"},a.createElement(C.A,{onFocus:e,ref:n,tabIndex:s,className:"mx_RoomSublist_headerText","aria-expanded":this.state.isExpanded,onClick:this.onHeaderClick,onContextMenu:this.onContextMenu,title:this.props.isMinimized?this.props.label:void 0},a.createElement("span",{className:"mx_RoomSublist_collapseBtn"},u?a.createElement(c.A,null):a.createElement(d.A,null)),a.createElement("span",{id:P(this.props.tagId)},this.props.label)),this.renderMenu(),this.props.isMinimized?null:p,this.props.isMinimized?null:l)),this.props.isMinimized?p:null,this.props.isMinimized?l:null)})}onScrollPrevent(e){e.target.scrollTop=0}render(){var e;const t=this.renderVisibleTiles(),n=!(this.state.rooms.length||null!==(e=this.props.extraTiles)&&void 0!==e&&e.length||!0===this.props.alwaysVisible),s=i()({mx_RoomSublist:!0,mx_RoomSublist_hasMenuOpen:!!this.state.contextMenuPosition,mx_RoomSublist_minimized:this.props.isMinimized,mx_RoomSublist_hidden:n});let o;if(this.state.roomsLoading)o=a.createElement("div",{className:"mx_RoomSublist_skeletonUI"});else if(t.length>0&&this.props.forceExpanded)o=a.createElement("div",{className:"mx_RoomSublist_resizeBox mx_RoomSublist_resizeBox_forceExpanded"},a.createElement("div",{className:"mx_RoomSublist_tiles",ref:this.tilesRef},t));else if(t.length>0){const e=this.layout,n=Math.min(e.minVisibleTiles,this.numTiles),s=4+(n<this.numTiles?28:0),l=e.tilesToPixelsWithPadding(n,s),c=e.tilesToPixelsWithPadding(this.numTiles,this.padding),m=i()({mx_RoomSublist_showNButton:!0});let h;if(c>this.state.height){const e=this.state.height-4-28,t=Math.floor(e/this.layout.tileHeight),n=this.numTiles-t,s=(0,f._t)("room_list|show_n_more",{count:n});let o=a.createElement("span",{className:"mx_RoomSublist_showNButtonText"},s);this.props.isMinimized&&(o=null),h=a.createElement(p.k,{role:"treeitem",onClick:this.onShowAllClick,className:m,"aria-label":s},a.createElement(d.A,{className:"mx_RoomSublist_showNButtonChevron"}),o)}else if(this.numTiles>this.layout.defaultVisibleTiles){const e=(0,f._t)("room_list|show_less");let t=a.createElement("span",{className:"mx_RoomSublist_showNButtonText"},e);this.props.isMinimized&&(t=null),h=a.createElement(p.k,{role:"treeitem",onClick:this.onShowLessClick,className:m,"aria-label":e},a.createElement(u.A,{className:"mx_RoomSublist_showNButtonChevron"}),t)}const g={bottom:!0,bottomLeft:!1,bottomRight:!1,left:!1,right:!1,top:!1,topLeft:!1,topRight:!1};e.visibleTiles>=this.numTiles&&this.numTiles<=e.minVisibleTiles&&(g.bottom=!1);const v=i()({mx_RoomSublist_resizerHandles:!0,mx_RoomSublist_resizerHandles_showNButton:!!h});o=a.createElement(a.Fragment,null,a.createElement(r.c,{size:{height:this.state.height},minHeight:l,maxHeight:c,onResizeStart:this.onResizeStart,onResizeStop:this.onResizeStop,onResize:this.onResize,handleWrapperClass:v,handleClasses:{bottom:"mx_RoomSublist_resizerHandle"},className:"mx_RoomSublist_resizeBox",enable:g},a.createElement("div",{className:"mx_RoomSublist_tiles",ref:this.tilesRef},t),h))}else this.props.showSkeleton&&this.state.isExpanded&&(o=a.createElement("div",{className:"mx_RoomSublist_skeletonUI"}));return a.createElement("div",{ref:this.sublistRef,className:s,role:"group","aria-hidden":n,"aria-labelledby":P(this.props.tagId),onKeyDown:this.onKeyDown},this.renderHeader(),o)}}},"./src/components/views/rooms/RoomTile.tsx"(e,t,n){"use strict";n.d(t,{_:()=>J,A:()=>q});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/types.ts"),l=n("./node_modules/classnames/index.js"),c=n.n(l),d=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/overflow-horizontal.js"),u=n("./src/accessibility/RovingTabIndex.tsx"),m=n("./src/components/views/elements/AccessibleButton.tsx"),p=n("./src/dispatcher/dispatcher.ts"),h=n("./src/dispatcher/actions.ts"),g=n("./src/languageHandler.tsx"),v=n("./src/components/structures/ContextMenu.tsx"),f=n("./src/stores/room-list/models.ts"),_=n("./src/stores/room-list/MessagePreviewStore.ts"),y=n("./src/components/views/avatars/DecoratedRoomAvatar.tsx"),b=n("./src/RoomNotifs.ts"),w=n("./src/MatrixClientPeg.ts"),E=n("./src/components/views/context_menus/RoomNotificationContextMenu.tsx"),A=n("./src/components/views/rooms/NotificationBadge.tsx"),x=n("./src/stores/notifications/RoomNotificationStateStore.ts"),S=n("./src/stores/notifications/NotificationState.ts"),C=n("./src/stores/local-echo/EchoChamber.ts"),k=n("./src/stores/local-echo/RoomEchoChamber.ts"),R=n("./src/stores/local-echo/GenericEchoChamber.ts"),I=n("./src/PosthogTrackers.ts"),P=n("./src/accessibility/KeyboardShortcuts.ts"),T=n("./src/KeyBindingsManager.ts"),O=n("./src/components/views/context_menus/RoomGeneralContextMenu.tsx"),M=n("./src/stores/CallStore.ts"),N=n("./src/contexts/SDKContext.ts"),j=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/threads.js"),D=n("./src/hooks/useCall.ts"),U=n("./src/models/Call.ts"),F=n("./src/components/views/rooms/LiveContentSummary.tsx");const L=({call:e})=>{let t,n;switch((0,D.jd)(e)){case U.KN.Disconnected:t=(0,g._t)("common|video"),n=!1;break;case U.KN.Connected:case U.KN.Disconnecting:t=(0,g._t)("common|joined"),n=!0}return i.createElement(F.m,{type:F.I.Video,text:t,active:n,participantCount:(0,D.q0)(e)})},B=e=>`mx_RoomTile_messagePreview_${e}`,V=({call:e,messagePreview:t,roomId:n,showMessagePreview:s})=>{if(e)return i.createElement("div",{className:"mx_RoomTile_subtitle"},i.createElement(L,{call:e}));if(s&&t){const e=c()("mx_RoomTile_subtitle",{"mx_RoomTile_subtitle--thread-reply":t.isThreadReply}),s=t.isThreadReply?i.createElement(j.A,{className:"mx_Icon mx_Icon_12"}):null;return i.createElement("div",{className:e,id:B(n),title:t.text},s,i.createElement("span",{className:"mx_RoomTile_subtitle_text"},t.text))}return null};var H=n("./src/customisations/helpers/UIComponents.ts"),z=n("./src/settings/UIFeature.ts"),W=n("./src/utils/membership.ts"),K=n("./src/settings/SettingsStore.ts"),$=n("./src/components/views/dialogs/spotlight/RoomResultContextMenus.tsx");const J=e=>({left:e.left+window.scrollX-9,top:e.bottom+window.scrollY+17,chevronFace:v.t4.None});class G extends i.PureComponent{constructor(e){super(e),(0,o.A)(this,"dispatcherRef",void 0),(0,o.A)(this,"roomTileRef",(0,i.createRef)()),(0,o.A)(this,"notificationState",void 0),(0,o.A)(this,"roomProps",void 0),(0,o.A)(this,"onRoomNameUpdate",e=>{this.forceUpdate()}),(0,o.A)(this,"onNotificationUpdate",()=>{this.forceUpdate()}),(0,o.A)(this,"onRoomPropertyUpdate",e=>{e===k.Z.NotificationVolume&&this.onNotificationUpdate()}),(0,o.A)(this,"onAction",e=>{e.action===h.r.ViewRoom&&e.room_id===this.props.room.roomId&&e.show_room_tile&&setTimeout(()=>{this.scrollIntoView()})}),(0,o.A)(this,"onRoomPreviewChanged",e=>{this.props.room&&e.roomId===this.props.room.roomId&&this.generatePreview()}),(0,o.A)(this,"onCallChanged",(e,t)=>{var n;t===(null===(n=this.props.room)||void 0===n?void 0:n.roomId)&&this.setState({call:e})}),(0,o.A)(this,"scrollIntoView",()=>{this.roomTileRef.current&&this.roomTileRef.current.scrollIntoView({block:"nearest",behavior:"auto"})}),(0,o.A)(this,"onTileClick",async e=>{e.preventDefault(),e.stopPropagation();const t=(0,T.zM)().getAccessibilityAction(e),n=[P.bY.Enter,P.bY.Space].includes(t);p.A.dispatch({action:h.r.ViewRoom,show_room_tile:!0,room_id:this.props.room.roomId,clear_search:n,metricsTrigger:"RoomList",metricsViaKeyboard:"click"!==e.type})}),(0,o.A)(this,"onActiveRoomUpdate",e=>{this.setState({selected:e})}),(0,o.A)(this,"onNotificationsMenuOpenClick",e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this.setState({notificationsMenuPosition:t.getBoundingClientRect()}),I.A.trackInteraction("WebRoomListRoomTileNotificationsMenu",e)}),(0,o.A)(this,"onCloseNotificationsMenu",()=>{this.setState({notificationsMenuPosition:null})}),(0,o.A)(this,"onGeneralMenuOpenClick",e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this.setState({generalMenuPosition:t.getBoundingClientRect()})}),(0,o.A)(this,"onContextMenu",e=>{this.showContextMenu&&(e.preventDefault(),e.stopPropagation(),this.setState({generalMenuPosition:{left:e.clientX,bottom:e.clientY}}))}),(0,o.A)(this,"onCloseGeneralMenu",()=>{this.setState({generalMenuPosition:null})}),this.state={selected:N.M.instance.roomViewStore.getRoomId()===this.props.room.roomId,notificationsMenuPosition:null,generalMenuPosition:null,call:M.e.instance.getCall(this.props.room.roomId),messagePreview:null},this.notificationState=x.n.instance.getRoomState(this.props.room),this.roomProps=C.s.forRoom(this.props.room)}get showContextMenu(){return this.props.tag!==f.zO.Invite&&this.props.room.getMyMembership()!==a.O.Knock&&!(0,W.yE)(this.props.room)&&(0,H.g)(z.C.RoomOptionsMenu)}get showMessagePreview(){return!this.props.isMinimized&&this.props.showMessagePreview}componentDidUpdate(e,t){var n,s;const o=e.showMessagePreview!==this.props.showMessagePreview,i=e.isMinimized!==this.props.isMinimized;var a,l;((o||i)&&this.generatePreview(),(null===(n=e.room)||void 0===n?void 0:n.roomId)!==(null===(s=this.props.room)||void 0===s?void 0:s.roomId))&&(_.X.instance.off(_.X.getPreviewChangedEventName(e.room),this.onRoomPreviewChanged),_.X.instance.on(_.X.getPreviewChangedEventName(this.props.room),this.onRoomPreviewChanged),null===(a=e.room)||void 0===a||a.off(r.RoomEvent.Name,this.onRoomNameUpdate),null===(l=this.props.room)||void 0===l||l.on(r.RoomEvent.Name,this.onRoomNameUpdate))}componentDidMount(){this.generatePreview(),this.state.selected&&this.scrollIntoView(),N.M.instance.roomViewStore.addRoomListener(this.props.room.roomId,this.onActiveRoomUpdate),this.dispatcherRef=p.A.register(this.onAction),_.X.instance.on(_.X.getPreviewChangedEventName(this.props.room),this.onRoomPreviewChanged),this.notificationState.on(S.ce.Update,this.onNotificationUpdate),this.roomProps.on(R.Qj,this.onRoomPropertyUpdate),this.props.room.on(r.RoomEvent.Name,this.onRoomNameUpdate),M.e.instance.on(M.s.Call,this.onCallChanged),this.setState({call:M.e.instance.getCall(this.props.room.roomId)})}componentWillUnmount(){N.M.instance.roomViewStore.removeRoomListener(this.props.room.roomId,this.onActiveRoomUpdate),_.X.instance.off(_.X.getPreviewChangedEventName(this.props.room),this.onRoomPreviewChanged),this.props.room.off(r.RoomEvent.Name,this.onRoomNameUpdate),p.A.unregister(this.dispatcherRef),this.notificationState.off(S.ce.Update,this.onNotificationUpdate),this.roomProps.off(R.Qj,this.onRoomPropertyUpdate),M.e.instance.off(M.s.Call,this.onCallChanged)}async generatePreview(){var e;if(!this.showMessagePreview)return;const t=null!==(e=await _.X.instance.getPreviewForRoom(this.props.room,this.props.tag))&&void 0!==e?e:null;this.setState({messagePreview:t})}renderNotificationsMenu(e){if(w.J.safeGet().isGuest()||this.props.tag===f.zO.Archived||!this.showContextMenu||this.props.isMinimized)return null;const t=this.roomProps.notificationVolume,n=c()("mx_RoomTile_notificationsButton",{mx_RoomTile_notificationsButton_show:t===b.dC.Mute});return i.createElement(i.Fragment,null,i.createElement(v.oW,{className:n,onClick:this.onNotificationsMenuOpenClick,title:(0,g._t)("room_list|notification_options"),isExpanded:!!this.state.notificationsMenuPosition,tabIndex:e?0:-1},(0,$.B)(t)),this.state.notificationsMenuPosition&&i.createElement(E.f,(0,s.A)({},J(this.state.notificationsMenuPosition),{onFinished:this.onCloseNotificationsMenu,room:this.props.room})))}renderGeneralMenu(){return this.showContextMenu?i.createElement(i.Fragment,null,i.createElement(v.oW,{className:"mx_RoomTile_menuButton",onClick:this.onGeneralMenuOpenClick,title:(0,g._t)("room|context_menu|title"),isExpanded:!!this.state.generalMenuPosition},i.createElement(d.A,null)),this.state.generalMenuPosition&&i.createElement(O.e,(0,s.A)({},J(this.state.generalMenuPosition),{onFinished:this.onCloseGeneralMenu,room:this.props.room,onPostFavoriteClick:e=>I.A.trackInteraction("WebRoomListRoomTileContextMenuFavouriteToggle",e),onPostInviteClick:e=>I.A.trackInteraction("WebRoomListRoomTileContextMenuInviteItem",e),onPostSettingsClick:e=>I.A.trackInteraction("WebRoomListRoomTileContextMenuSettingsItem",e),onPostLeaveClick:e=>I.A.trackInteraction("WebRoomListRoomTileContextMenuLeaveItem",e),onPostMarkAsReadClick:e=>I.A.trackInteraction("WebRoomListRoomTileContextMenuMarkRead",e),onPostMarkAsUnreadClick:e=>I.A.trackInteraction("WebRoomListRoomTileContextMenuMarkUnread",e)}))):null}get shouldRenderSubtitle(){return!!this.state.call||this.props.showMessagePreview&&!!this.state.messagePreview}render(){const e=c()({mx_RoomTile:!0,mx_RoomTile_sticky:K.A.getValue("feature_ask_to_join")&&(this.props.room.getMyMembership()===a.O.Knock||(0,W.yE)(this.props.room)),mx_RoomTile_selected:this.state.selected,mx_RoomTile_hasMenuOpen:!(!this.state.generalMenuPosition&&!this.state.notificationsMenuPosition),mx_RoomTile_minimized:this.props.isMinimized});let t,n=this.props.room.name;"string"!=typeof n&&(n=""),n=n.replace(":",":"),!this.props.isMinimized&&this.notificationState&&(t=i.createElement("div",{className:"mx_RoomTile_badgeContainer","aria-hidden":"true"},i.createElement(A.A,{notification:this.notificationState,roomId:this.props.room.roomId})));const s=this.shouldRenderSubtitle?i.createElement(V,{call:this.state.call,messagePreview:this.state.messagePreview,roomId:this.props.room.roomId,showMessagePreview:this.props.showMessagePreview}):null,o=c()({mx_RoomTile_title:!0,mx_RoomTile_titleWithSubtitle:!!s,mx_RoomTile_titleHasUnreadEvents:this.notificationState.isUnread}),r=this.props.isMinimized?null:i.createElement("div",{className:"mx_RoomTile_titleContainer"},i.createElement("div",{title:n,className:o,tabIndex:-1},i.createElement("span",{dir:"auto"},n)),s);let l,d=n;var p;return this.props.tag===f.zO.Invite||(this.notificationState.hasMentions?d+=" "+(0,g._t)("a11y|n_unread_messages_mentions",{count:this.notificationState.count}):this.notificationState.hasUnreadCount?d+=" "+(0,g._t)("a11y|n_unread_messages",{count:this.notificationState.count}):this.notificationState.isUnread&&(d+=" "+(0,g._t)("a11y|unread_messages"))),this.showMessagePreview&&(p=this.props.room.roomId,l=`mx_RoomTile_messagePreview_${p}`),i.createElement(i.Fragment,null,i.createElement(u.Ix,{inputRef:this.roomTileRef},({onFocus:s,isActive:o,ref:a})=>i.createElement(m.A,{onFocus:s,tabIndex:o?0:-1,ref:a,className:e,onClick:this.onTileClick,onContextMenu:this.onContextMenu,role:"treeitem","aria-label":d,"aria-selected":this.state.selected,"aria-describedby":l,title:this.props.isMinimized&&!this.state.generalMenuPosition?n:void 0},i.createElement(y.A,{room:this.props.room,size:"32px",displayBadge:this.props.isMinimized,tooltipProps:{tabIndex:o?0:-1}}),r,t,this.renderGeneralMenu(),this.renderNotificationsMenu(o))))}}const q=G},"./src/components/views/rooms/wysiwyg_composer/index.ts"(e,t,n){"use strict";n.d(t,{q_:()=>c,W1:()=>l,Os:()=>a,_z:()=>r});var s=n("./node_modules/react/index.js");const o=(0,s.lazy)(()=>Promise.all([n.e(9924),n.e(9483),n.e(1385),n.e(1188)]).then(n.bind(n,"./src/components/views/rooms/wysiwyg_composer/SendWysiwygComposer.tsx"))),i=(0,s.lazy)(()=>Promise.all([n.e(9924),n.e(9483),n.e(1385),n.e(6311)]).then(n.bind(n,"./src/components/views/rooms/wysiwyg_composer/EditWysiwygComposer.tsx"))),r=async(e,t,s)=>{const{sendMessage:o}=await Promise.all([n.e(9924),n.e(7014)]).then(n.bind(n,"./src/components/views/rooms/wysiwyg_composer/utils/message.ts"));return o(e,t,s)},a=async()=>{const{richToPlain:e,plainToRich:t}=await n.e(9924).then(n.bind(n,"./node_modules/@vector-im/matrix-wysiwyg/dist/matrix-wysiwyg.js"));return{richToPlain:e,plainToRich:t}};function l(e){return s.createElement(s.Suspense,{fallback:s.createElement("div",null)},s.createElement(o,e))}function c(e){return s.createElement(s.Suspense,{fallback:s.createElement("div",null)},s.createElement(i,e))}},"./src/components/views/settings/AvatarSetting.tsx"(e,t,n){"use strict";n.d(t,{A:()=>b,B:()=>y});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/edit.js"),i=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/share.js"),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/delete.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Menu/Menu.js"),l=n("./node_modules/@vector-im/compound-web/dist/components/Menu/MenuItem.js"),c=n("./node_modules/classnames/index.js"),d=n.n(c),u=n("./src/languageHandler.tsx"),m=n("./src/customisations/Media.ts"),p=n("./src/utils/BrowserWorkarounds.ts"),h=n("./src/components/views/elements/AccessibleButton.tsx"),g=n("./src/components/views/avatars/BaseAvatar.tsx"),v=n("./src/Modal.tsx"),f=n("./src/components/views/dialogs/ErrorDialog.tsx");const _=({trigger:e,onUploadSelect:t,onRemoveSelect:n,menuOpen:o,onOpenChange:c})=>s.createElement(a.W,{trigger:e,title:(0,u._t)("action|set_avatar"),showTitle:!1,open:o,onOpenChange:c},s.createElement(l.D,{as:"div",Icon:s.createElement(i.A,{width:"24px",height:"24px"}),label:(0,u._t)("action|upload_file"),onSelect:t}),n&&s.createElement(l.D,{as:"div",Icon:s.createElement(r.A,{width:"24px",height:"24px"}),className:"mx_AvatarSetting_removeMenuItem",label:(0,u._t)("action|remove"),onSelect:n}));function y(e){var t;if(null===(t=e.target.files)||void 0===t||!t.length)return null;const n=e.target.files[0];return n.type.startsWith("image/")?n:(v.Ay.createDialog(f.A,{title:(0,u._t)("upload_failed_title"),description:(0,u._t)("upload_file|not_image")}),null)}const b=({avatar:e,avatarAccessibleName:t,onChange:n,removeAvatar:i,disabled:r,placeholderId:a,placeholderName:l})=>{const c=(0,s.createRef)(),[v,f]=(0,s.useState)(void 0);(0,s.useEffect)(()=>{if(e instanceof File){const t=new FileReader;t.onload=()=>{f(t.result)},t.readAsDataURL(e)}else if(e){var t;f(null!==(t=(0,m.mediaFromMxc)(e).getSquareThumbnailHttp(96))&&void 0!==t?t:void 0)}else f(void 0)},[e]);const b=(0,s.useCallback)(e=>{const t=y(e);t&&(null==n||n(t))},[n]),w=(0,s.useCallback)(()=>{var e;null===(e=c.current)||void 0===e||e.click()},[c]),[E,A]=(0,s.useState)(!1),x=(0,s.useCallback)(e=>{A(e)},[]),S=s.createElement(h.A,{element:"div",onClick:()=>{},className:"mx_AvatarSetting_avatarDisplay",disabled:r},s.createElement(g.A,{idName:a,name:l,size:"90px",url:v,altText:t}));let C;if(!r){const e=d()("mx_AvatarSetting_uploadButton",{mx_AvatarSetting_uploadButton_active:E});C=s.createElement("div",{className:e,role:"button","aria-label":(0,u._t)("settings|general|avatar_open_menu"),tabIndex:0,"aria-haspopup":"menu"},s.createElement(o.A,{"aria-hidden":!0,width:"20px",height:"20px"}))}const k=s.createElement("div",{className:"mx_AvatarSetting_avatar",role:"group","aria-label":t},S,C);return r?k:s.createElement(s.Fragment,null,s.createElement(_,{trigger:k,onUploadSelect:w,onRemoveSelect:i,menuOpen:E,onOpenChange:x}),s.createElement("input",{type:"file",style:{display:"none"},ref:c,onClick:p.e,onChange:b,accept:"image/*",alt:(0,u._t)("action|upload")}))}},"./src/components/views/settings/JoinRuleSettings.tsx"(e,t,n){"use strict";n.d(t,{A:()=>N});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/components/views/elements/StyledRadioGroup.tsx"),a=n("./src/languageHandler.tsx"),l=n("./src/components/views/elements/AccessibleButton.tsx"),c=n("./src/components/views/avatars/RoomAvatar.tsx"),d=n("./src/stores/spaces/SpaceStore.ts"),u=n("./src/Modal.tsx"),m=n("./node_modules/matrix-js-sdk/src/types.ts"),p=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/info-solid.js"),h=n("./src/components/views/dialogs/BaseDialog.tsx"),g=n("./src/components/structures/SearchBox.tsx"),v=n("./src/components/structures/AutoHideScrollbar.tsx"),f=n("./src/components/views/elements/StyledCheckbox.tsx"),_=n("./src/contexts/MatrixClientContext.tsx"),y=n("./src/utils/arrays.ts");const b=({room:e,checked:t,onChange:n})=>{const s=e instanceof i.Room;let r;if(s){r=(0,a._t)("common|n_members",{count:e.getJoinedMemberCount()});const t=d.Ay.instance.getChildRooms(e.roomId).length;t>0&&(r+=" · "+(0,a._t)("common|n_rooms",{count:t}))}return o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_entry"},o.createElement(f.A,{onChange:n?e=>n(e.target.checked):void 0,checked:t,disabled:!n,description:r},o.createElement("div",null,s?o.createElement(c.A,{role:"none",room:e,size:"20px"}):o.createElement(c.A,{oobData:e,size:"20px"}),o.createElement("span",{className:"mx_ManageRestrictedJoinRuleDialog_entry_name"},e.name))))},w=(e,t)=>{const n=t.client;Array.from(d.Ay.instance.getKnownParents(t.roomId)).map(e=>n.getRoom(e)).forEach(t=>{t&&!e.has(t)&&(e.add(t),w(e,t))})},E=({room:e,selected:t=[],onFinished:n})=>{const s=e.client,[i,r]=(0,o.useState)(new Set(t)),[c,u]=(0,o.useState)(""),f=c.toLowerCase().trim(),[E,A,x]=(0,o.useMemo)(()=>{const n=new Set;return w(n,e),[Array.from(n),d.Ay.instance.spacePanelSpaces.filter(e=>!n.has(e)),(0,y.Bo)(t.map(e=>{const t=s.getRoom(e);return t?t.getMyMembership()===m.O.Join&&t.isSpaceRoom()?void 0:t:{roomId:e,name:e}}))]},[s,t,e]),[S,C,k]=(0,o.useMemo)(()=>[E.filter(e=>e.name.toLowerCase().includes(f)),A.filter(e=>e.name.toLowerCase().includes(f)),x.filter(e=>e.name.toLowerCase().includes(f))],[E,A,x,f]),R=(e,t)=>{e?i.add(t.roomId):i.delete(t.roomId),r(new Set(i))};let I;i.size<1&&(I=o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_section_info"},o.createElement(p.A,null),(0,a._t)("room_settings|security|join_rule_restricted_dialog_empty_warning")));const P=S.length+C.length+k.length;return o.createElement(h.A,{title:(0,a._t)("room_settings|security|join_rule_restricted_dialog_title"),className:"mx_ManageRestrictedJoinRuleDialog",onFinished:n,fixedWidth:!1},o.createElement("p",null,(0,a._t)("room_settings|security|join_rule_restricted_dialog_description",{},{RoomName:()=>o.createElement("strong",null,e.name)})),o.createElement(_.Ay.Provider,{value:s},o.createElement(g.A,{className:"mx_textinput_icon mx_textinput_search",placeholder:(0,a._t)("room_settings|security|join_rule_restricted_dialog_filter_placeholder"),onSearch:u,autoFocus:!0}),o.createElement(v.A,{className:"mx_ManageRestrictedJoinRuleDialog_content"},S.length>0?o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_section"},o.createElement("h3",null,e.isSpaceRoom()?(0,a._t)("room_settings|security|join_rule_restricted_dialog_heading_space"):(0,a._t)("room_settings|security|join_rule_restricted_dialog_heading_room")),S.map(e=>o.createElement(b,{key:e.roomId,room:e,checked:i.has(e.roomId),onChange:t=>{R(t,e)}}))):void 0,k.length>0?o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_section"},o.createElement("h3",null,(0,a._t)("room_settings|security|join_rule_restricted_dialog_heading_other")),o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_section_info"},o.createElement(p.A,null),(0,a._t)("room_settings|security|join_rule_restricted_dialog_heading_unknown")),k.map(e=>o.createElement(b,{key:e.roomId,room:e,checked:i.has(e.roomId),onChange:t=>{R(t,e)}}))):null,C.length>0?o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_section"},o.createElement("h3",null,(0,a._t)("room_settings|security|join_rule_restricted_dialog_heading_known")),C.map(e=>o.createElement(b,{key:e.roomId,room:e,checked:i.has(e.roomId),onChange:t=>{R(t,e)}}))):null,P<1?o.createElement("span",{className:"mx_ManageRestrictedJoinRuleDialog_noResults"},(0,a._t)("common|no_results")):void 0),o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_footer"},I,o.createElement("div",{className:"mx_ManageRestrictedJoinRuleDialog_footer_buttons"},o.createElement(l.A,{kind:"primary_outline",onClick:()=>n()},(0,a._t)("action|cancel")),o.createElement(l.A,{kind:"primary",onClick:()=>n(Array.from(i))},(0,a._t)("action|confirm"))))))};var A=n("./src/components/views/dialogs/RoomUpgradeWarningDialog.tsx"),x=n("./src/utils/RoomUpgrade.ts"),S=n("./src/hooks/useLocalEcho.ts"),C=n("./src/dispatcher/dispatcher.ts"),k=n("./src/components/views/dialogs/RoomSettingsDialog.tsx"),R=n("./src/dispatcher/actions.ts"),I=n("./src/utils/PreferredRoomVersions.ts"),P=n("./src/settings/SettingsStore.ts"),T=n("./src/components/views/elements/LabelledCheckbox.tsx");function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const N=({room:e,promptUpgrade:t,onError:n,beforeChange:s,closeSettingsFn:m,disabledOptions:p,hiddenOptions:h,recommendedOption:g})=>{var v;const f=e.client,_=P.A.getValue("feature_ask_to_join"),b=(0,I.Y)(e.getVersion(),I.W.KnockRooms),w=!b&&t?I.W.KnockRooms:void 0,O=(0,I.Y)(e.getVersion(),I.W.RestrictedRooms),N=!O&&t?I.W.RestrictedRooms:void 0,j=!e.currentState.mayClientSendStateEvent(i.EventType.RoomJoinRules,f),[D,U]=(0,S.W)(()=>{var t;return null===(t=e.currentState.getStateEvents(i.EventType.RoomJoinRules,""))||void 0===t?void 0:t.getContent()},t=>f.sendStateEvent(e.roomId,i.EventType.RoomJoinRules,t,""),n),{join_rule:F=i.JoinRule.Invite}=D||{},L=F===i.JoinRule.Restricted?null==D||null===(v=D.allow)||void 0===v?void 0:v.filter(e=>e.type===i.RestrictedAllowType.RoomMembership).map(e=>e.room_id):void 0,[B,V]=(0,o.useState)(!1);(0,o.useEffect)(()=>{F===i.JoinRule.Knock&&f.getRoomDirectoryVisibility(e.roomId).then(({visibility:e})=>V(e===i.Visibility.Public)).catch(n)},[f,F,n,e.roomId]);const H=t=>{f.setRoomDirectoryVisibility(e.roomId,t?i.Visibility.Public:i.Visibility.Private).then(()=>V(t)).catch(n)},z=async()=>{var t;let n=L;null!==(t=n)&&void 0!==t&&t.length||!d.Ay.instance.activeSpaceRoom||(n=[d.Ay.instance.activeSpaceRoom.roomId]);const{finished:s}=u.Ay.createDialog(E,{room:e,selected:n},"mx_ManageRestrictedJoinRuleDialog_wrapper"),[o]=await s;return o},W=(t,n)=>{u.Ay.createDialog(A.A,{roomId:e.roomId,targetVersion:t,description:n,doUpgrade:async(n,s)=>{const o=await(0,x.W)(e,t,n.invite,!0,!0,!0,e=>{const t=2+e.updateSpacesTotal+e.inviteUsersTotal;if(e.roomUpgraded)if(e.roomSynced){if(void 0!==e.inviteUsersProgress&&e.inviteUsersProgress<e.inviteUsersTotal)s((0,a._t)("room_settings|security|join_rule_upgrade_sending_invites",{progress:e.inviteUsersProgress,count:e.inviteUsersTotal}),2+e.inviteUsersProgress,t);else if(void 0!==e.updateSpacesProgress&&e.updateSpacesProgress<e.updateSpacesTotal){var n;s((0,a._t)("room_settings|security|join_rule_upgrade_updating_spaces",{progress:e.updateSpacesProgress,count:e.updateSpacesTotal}),2+(null!==(n=e.inviteUsersProgress)&&void 0!==n?n:0)+e.updateSpacesProgress,t)}}else s((0,a._t)("room_settings|security|join_rule_upgrade_awaiting_room"),1,t);else s((0,a._t)("room_settings|security|join_rule_upgrade_upgrading_room"),0,t)},!0);null==m||m(),C.A.dispatch({action:R.r.ViewRoom,room_id:o,metricsTrigger:void 0}),C.A.dispatch({action:"open_room_settings",initial_tab_id:k.e.Security})}})},K=o.createElement("span",{className:"mx_JoinRuleSettings_upgradeRequired"},(0,a._t)("room_settings|security|join_rule_upgrade_required")),$=(e,t)=>t===g?o.createElement(o.Fragment,null,e," (",o.createElement("span",{className:"mx_JoinRuleSettings_recommended"},(0,a._t)("common|recommended")),")"):e,J=[{value:i.JoinRule.Invite,label:$((0,a._t)("room_settings|security|join_rule_invite"),i.JoinRule.Invite),description:(0,a._t)("room_settings|security|join_rule_invite_description"),checked:F===i.JoinRule.Invite||F===i.JoinRule.Restricted&&!(null!=L&&L.length)},{value:i.JoinRule.Public,label:$((0,a._t)("common|public"),i.JoinRule.Public),description:o.createElement(o.Fragment,null,(0,a._t)("room_settings|security|join_rule_public_description"))}];if(O||N||F===i.JoinRule.Restricted){let e;if(F===i.JoinRule.Restricted&&null!=L&&L.length){const t=L.map(e=>f.getRoom(e)).filter(e=>null==e?void 0:e.isSpaceRoom()).slice(0,4);let n;t.length<L.length&&(n=t.length>0?(0,a._t)("room_settings|security|join_rule_restricted_n_more",{count:L.length-t.length}):(0,a._t)("room_settings|security|join_rule_restricted_summary",{count:L.length}));const s=e=>{(0,y.dc)(L||[],e)&&(e.length?U({join_rule:i.JoinRule.Restricted,allow:e.map(e=>({type:i.RestrictedAllowType.RoomMembership,room_id:e}))}):U({join_rule:i.JoinRule.Invite}))},r=async()=>{const e=await z();Array.isArray(e)&&(e.length>0?s(e):G(i.JoinRule.Invite))};e=o.createElement("div",null,o.createElement("span",null,(0,a._t)("room_settings|security|join_rule_restricted_description",{},{a:e=>o.createElement(l.A,{disabled:j,onClick:r,kind:"link_inline"},e)})),o.createElement("div",{className:"mx_JoinRuleSettings_spacesWithAccess"},o.createElement("h4",null,(0,a._t)("room_settings|security|join_rule_restricted_description_spaces")),t.map(e=>o.createElement("span",{key:e.roomId},o.createElement(c.A,{room:e,size:"32px"}),e.name)),n&&o.createElement("span",null,n)))}else e=d.Ay.instance.activeSpaceRoom?(0,a._t)("room_settings|security|join_rule_restricted_description_active_space",{},{spaceName:()=>o.createElement("strong",null,d.Ay.instance.activeSpaceRoom.name)}):(0,a._t)("room_settings|security|join_rule_restricted_description_prompt");J.splice(1,0,{value:i.JoinRule.Restricted,label:o.createElement(o.Fragment,null,$((0,a._t)("room_settings|security|join_rule_restricted"),i.JoinRule.Restricted),N&&K),description:e,checked:F===i.JoinRule.Restricted&&!(null==L||!L.length)})}_&&(b||w)&&J.splice(Math.max(0,J.length-1),0,{value:i.JoinRule.Knock,label:o.createElement(o.Fragment,null,$((0,a._t)("room_settings|security|join_rule_knock"),i.JoinRule.Knock),w&&K),description:o.createElement(o.Fragment,null,(0,a._t)("room_settings|security|join_rule_knock_description"),o.createElement(T.A,{className:"mx_JoinRuleSettings_labelledCheckbox",disabled:F!==i.JoinRule.Knock,label:e.isSpaceRoom()?(0,a._t)("room_settings|security|publish_space"):(0,a._t)("room_settings|security|publish_room"),onChange:H,value:B}))});const G=async t=>{const n=null==D?void 0:D.join_rule;let r;if(t===i.JoinRule.Restricted){var l;if(n===i.JoinRule.Restricted||O){if(r=await z(),!Array.isArray(r))return}else if(N){const t=N;let n;const s=f.getUserId();return Array.from(d.Ay.instance.getKnownParents(e.roomId)).some(e=>{var t;return!(null!==(t=f.getRoom(e))&&void 0!==t&&t.currentState.maySendStateEvent(i.EventType.SpaceChild,s))})&&(n=o.createElement("strong",null,(0,a._t)("room_settings|security|join_rule_restricted_upgrade_warning"))),void W(t,o.createElement(o.Fragment,null,(0,a._t)("room_settings|security|join_rule_restricted_upgrade_description"),n))}null!==(l=r)&&void 0!==l&&l.length||(t=i.JoinRule.Invite)}else if(t===i.JoinRule.Knock&&w)return void W(w);if(n===t&&!r)return;if(s&&!await s(t))return;const c={join_rule:t};var u;t===i.JoinRule.Restricted&&(c.allow=null===(u=r)||void 0===u?void 0:u.map(e=>({type:i.RestrictedAllowType.RoomMembership,room_id:e})));U(c)};return o.createElement(r.A,{name:"joinRule",value:F,onChange:G,definitions:J.map(e=>null!=p&&p.has(e.value)?M(M({},e),{},{disabled:!0}):e).filter(e=>!(null!=h&&h.has(e.value))),disabled:j,className:"mx_JoinRuleSettings_radioButton"})}},"./src/components/views/settings/SettingsFieldset.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r),l=n("./src/components/views/settings/shared/SettingsSubsection.tsx");const c=["legend","className","children","description"],d=e=>{let{legend:t,className:n,children:r,description:d}=e,u=(0,o.A)(e,c);return i.createElement("fieldset",(0,s.A)({},u,{className:a()("mx_SettingsFieldset",n)}),i.createElement("legend",{className:"mx_SettingsFieldset_legend"},t),d&&i.createElement("div",{className:"mx_SettingsFieldset_description"},i.createElement(l.s,null,d)),i.createElement("div",{className:"mx_SettingsFieldset_content"},r))}},"./src/components/views/settings/SettingsHeader.tsx"(e,t,n){"use strict";n.d(t,{r:()=>a});var s=n("./node_modules/react/index.js"),o=n("./node_modules/classnames/index.js"),i=n.n(o),r=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Heading.js");function a({hasRecommendedTag:e=!1,label:t}){const n=i()("mx_SettingsHeader",{mx_SettingsHeader_recommended:e});return s.createElement(r.D,{className:n,as:"h2",size:"sm",weight:"semibold"},t)}},"./src/components/views/settings/encryption/EncryptionCard.tsx"(e,t,n){"use strict";n.d(t,{g:()=>l});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Heading.js"),i=n("./node_modules/@vector-im/compound-web/dist/components/Icon/BigIcon/BigIcon.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r);function l({title:e,description:t,className:n,destructive:r=!1,Icon:l,children:c}){return s.createElement("div",{className:a()("mx_EncryptionCard",n)},s.createElement("div",{className:"mx_EncryptionCard_header"},s.createElement(i.Y,{destructive:r},s.createElement(l,null)),s.createElement(o.D,{as:"h2",size:"sm",weight:"semibold"},e),t&&s.createElement("span",null,t)),c)}},"./src/components/views/settings/encryption/EncryptionCardButtons.tsx"(e,t,n){"use strict";n.d(t,{D:()=>o});var s=n("./node_modules/react/index.js");function o({children:e}){return s.createElement("div",{className:"mx_EncryptionCard_buttons"},e)}},"./src/components/views/settings/shared/SettingsSection.tsx"(e,t,n){"use strict";n.d(t,{X:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/react/index.js"),l=n("./src/components/views/typography/Heading.tsx"),c=n("./src/components/views/settings/SettingsHeader.tsx");const d=["className","heading","subHeading","legacy","children"];function u(e,t){switch(typeof e){case"string":return t?a.createElement(l.A,{as:"h2",size:"3"},e):a.createElement(c.r,{label:e});case"undefined":return;default:return e}}const m=e=>{let{className:t,heading:n,subHeading:i,legacy:l=!0,children:c}=e,m=(0,o.A)(e,d);return a.createElement("div",(0,s.A)({},m,{className:r()("mx_SettingsSection",t,{mx_SettingsSection_newUi:!l})}),n&&(i?a.createElement("div",{className:"mx_SettingsSection_header"},u(n,l),i):u(n,l)),l?a.createElement("div",{className:"mx_SettingsSection_subSections"},c):c)}},"./src/components/views/settings/shared/SettingsSubsection.tsx"(e,t,n){"use strict";n.d(t,{P:()=>h,s:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/react/index.js"),l=n("./node_modules/@vector-im/compound-web/dist/components/Separator/Separator.js"),c=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),d=n("./src/components/views/settings/shared/SettingsSubsectionHeading.tsx");const u=["children"],m=["heading","description","children","stretchContent","legacy","formWrap"],p=e=>{let{children:t}=e,n=(0,o.A)(e,u);return a.createElement("div",(0,s.A)({},n,{className:"mx_SettingsSubsection_text"}),t)},h=e=>{let{heading:t,description:n,children:i,stretchContent:u,legacy:h=!0,formWrap:g}=e,v=(0,o.A)(e,m);const f=a.createElement("div",(0,s.A)({},v,{className:r()("mx_SettingsSubsection",{mx_SettingsSubsection_newUi:!h})}),"string"==typeof t?a.createElement(d.r,{heading:t}):a.createElement(a.Fragment,null,t),!!n&&a.createElement("div",{className:"mx_SettingsSubsection_description"},a.createElement(p,null,n)),!!i&&a.createElement("div",{className:r()("mx_SettingsSubsection_content",{mx_SettingsSubsection_contentStretch:!!u,mx_SettingsSubsection_noHeading:!t&&!n,mx_SettingsSubsection_content_newUi:!h})},i),!h&&a.createElement(l.w,null));return g?a.createElement(c.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},f):f}},"./src/components/views/settings/shared/SettingsSubsectionHeading.tsx"(e,t,n){"use strict";n.d(t,{r:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./src/components/views/typography/Heading.tsx");const a=["heading","as","children"],l=e=>{let{heading:t,as:n="h3",children:l}=e,c=(0,o.A)(e,a);return i.createElement("div",(0,s.A)({},c,{className:"mx_SettingsSubsectionHeading"}),i.createElement(r.A,{className:"mx_SettingsSubsectionHeading_heading",size:"4",as:n},t),l)}},"./src/components/views/settings/tabs/SettingsTab.tsx"(e,t,n){"use strict";n.d(t,{A:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r);const l=["children","className"],c=e=>{let{children:t,className:n}=e,r=(0,o.A)(e,l);return i.createElement("div",(0,s.A)({},r,{className:a()("mx_SettingsTab",n)}),i.createElement("div",{className:"mx_SettingsTab_sections"},t))}},"./src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.tsx"(e,t,n){"use strict";n.d(t,{A:()=>_});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/languageHandler.tsx"),a=n("./src/components/views/elements/AccessibleButton.tsx"),l=n("./src/components/views/dialogs/RoomUpgradeDialog.tsx"),c=n("./src/Modal.tsx"),d=n("./src/dispatcher/dispatcher.ts"),u=n("./src/dispatcher/actions.ts"),m=n("./src/components/views/elements/CopyableText.tsx"),p=n("./src/settings/SettingsStore.ts"),h=n("./src/components/views/settings/tabs/SettingsTab.tsx"),g=n("./src/components/views/settings/shared/SettingsSection.tsx"),v=n("./src/components/views/settings/shared/SettingsSubsection.tsx");function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}class _ extends o.Component{constructor(e){super(e),(0,s.A)(this,"upgradeRoom",()=>{c.Ay.createDialog(l.A,{room:this.props.room})}),(0,s.A)(this,"onOldRoomClicked",e=>{e.preventDefault(),e.stopPropagation(),d.A.dispatch({action:u.r.ViewRoom,room_id:this.state.oldRoomId,event_id:this.state.oldEventId,via_servers:this.state.oldViaServers,metricsTrigger:"WebPredecessorSettings",metricsViaKeyboard:"click"!==e.type}),this.props.closeSettingsFn()}),this.state={}}componentDidMount(){const e=p.A.getValue("feature_dynamic_room_predecessors"),t=this.props.room;t.getRecommendedVersion().then(n=>{const o=t.currentState.getStateEvents(i.EventType.RoomTombstone,""),r={},a=t.findPredecessor(e);a&&(r.oldRoomId=a.roomId,r.oldEventId=a.eventId,r.oldViaServers=a.viaServers),this.setState(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({upgraded:!(null==o||!o.getContent().replacement_room),upgradeRecommendation:n},r))})}render(){var e;const t=this.props.room,n=t.isSpaceRoom();let s,l,c;if(!1===(null===(e=t.currentState.getStateEvents(i.EventType.RoomCreate,""))||void 0===e?void 0:e.getContent()["m.federate"])&&(s=o.createElement("div",null,(0,r._t)("room_settings|advanced|unfederated"))),this.state.upgradeRecommendation&&this.state.upgradeRecommendation.needsUpgrade&&!this.state.upgraded&&(l=o.createElement("div",null,o.createElement("p",{className:"mx_SettingsTab_warningText"},(0,r._t)("room_settings|advanced|room_upgrade_warning",{},{b:e=>o.createElement("strong",null,e),i:e=>o.createElement("i",null,e)})),o.createElement(a.A,{onClick:this.upgradeRoom,kind:"primary"},n?(0,r._t)("room_settings|advanced|space_upgrade_button"):(0,r._t)("room_settings|advanced|room_upgrade_button")))),this.state.oldRoomId){let e;var d,u;if(n)e=(0,r._t)("room_settings|advanced|space_predecessor",{spaceName:null!==(d=t.name)&&void 0!==d?d:this.state.oldRoomId});else e=(0,r._t)("room_settings|advanced|room_predecessor",{roomName:null!==(u=t.name)&&void 0!==u?u:this.state.oldRoomId});c=o.createElement(a.A,{element:"a",onClick:this.onOldRoomClicked},e)}return o.createElement(h.A,null,o.createElement(g.X,{heading:(0,r._t)("common|advanced")},o.createElement(v.P,{heading:t.isSpaceRoom()?(0,r._t)("room_settings|advanced|information_section_space"):(0,r._t)("room_settings|advanced|information_section_room")},o.createElement("div",null,o.createElement("span",null,(0,r._t)("room_settings|advanced|room_id")),o.createElement(m.A,{getTextToCopy:()=>this.props.room.roomId},this.props.room.roomId)),s),o.createElement(v.P,{heading:(0,r._t)("room_settings|advanced|room_version_section")},o.createElement("div",null,o.createElement("span",null,(0,r._t)("room_settings|advanced|room_version"))," ",t.getVersion()),c,l)))}}},"./src/components/views/settings/tabs/room/RolesRoomSettingsTab.tsx"(e,t,n){"use strict";n.d(t,{A:()=>$});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./node_modules/lodash/throttle.js"),l=n("./node_modules/lodash/set.js"),c=n("./node_modules/lodash/get.js"),d=n("./node_modules/matrix-js-sdk/src/types.ts"),u=n("./src/languageHandler.tsx"),m=n("./src/components/views/elements/AccessibleButton.tsx"),p=n("./src/Modal.tsx"),h=n("./src/components/views/dialogs/ErrorDialog.tsx"),g=n("./src/components/views/elements/PowerSelector.tsx"),v=n("./src/components/views/settings/SettingsFieldset.tsx"),f=n("./src/settings/SettingsStore.ts"),_=n("./src/SdkConfig.ts"),y=n("./src/autocomplete/UserProvider.tsx"),b=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),w=n("./node_modules/classnames/index.js"),E=n.n(w),A=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/search.js"),x=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/close.js"),S=n("./src/Keyboard.ts"),C=n("./src/hooks/useFocus.ts");const k=({provider:e,renderSuggestion:t,renderSelection:n,maxSuggestions:s=5,placeholder:i,onSelectionChange:r,selection:a,additionalFilter:l})=>{var c;const[d,u]=(0,o.useState)(""),[m,p]=(0,o.useState)([]),[h,g]=(0,C.A)(),v=(0,o.useRef)(null),f=(0,o.useRef)(null),_=()=>{var e;null==f||null===(e=f.current)||void 0===e||e.focus()},y=e=>{const t=[...a],n=a.findIndex(t=>t.completionId===e.completionId);n>=0?t.splice(n,1):t.push(e),r(t),_(),u(""),p([])},w=e=>{const t=[...a],n=a.findIndex(t=>t.completionId===e.completionId);n>=0&&(t.splice(n,1),r(t))};return o.createElement("div",{className:"mx_AutocompleteInput"},o.createElement("div",{ref:v,className:E()({mx_AutocompleteInput_editor:!0,"mx_AutocompleteInput_editor--focused":h,"mx_AutocompleteInput_editor--has-suggestions":m.length>0}),onClick:()=>{_()}},o.createElement(A.A,{className:"mx_AutocompleteInput_search_icon",width:"18px",height:"18px"}),a.map(e=>o.createElement(R,{key:e.completionId,item:e,onClick:w,render:n})),o.createElement("input",(0,b.A)({ref:f,type:"text",onKeyDown:e=>{const t=e.ctrlKey||e.shiftKey||e.metaKey;!d&&a.length>0&&e.key===S.Uz.BACKSPACE&&!t&&w(a[a.length-1])},onChange:async t=>{const n=t.target.value.trim();u(n);let o=await e.getCompletions(d,{start:d.length,end:d.length},!0,s);l&&(o=o.filter(l)),p(o)},value:d,autoComplete:"off",placeholder:0===a.length&&0===d.length?i:void 0},g))),h&&m.length?o.createElement("div",{className:"mx_AutocompleteInput_matches",style:{top:null===(c=v.current)||void 0===c?void 0:c.clientHeight}},m.map(e=>o.createElement(I,{key:e.completionId,item:e,selection:a,onClick:y,render:t}))):null)},R=({item:e,onClick:t,render:n})=>{const s=n=>o.createElement("span",{className:"mx_AutocompleteInput_editor_selection"},o.createElement("span",{className:"mx_AutocompleteInput_editor_selection_pill"},n),o.createElement(m.A,{className:"mx_AutocompleteInput_editor_selection_remove_button",onClick:()=>t(e)},o.createElement(x.A,{width:"16px",height:"16px"})));return s(n?n(e):o.createElement("span",{className:"mx_AutocompleteInput_editor_selection_text"},e.completion))},I=({item:e,selection:t,onClick:n,render:s})=>{const i=t.some(t=>t.completionId===e.completionId),r=E()({mx_AutocompleteInput_suggestion:!0,"mx_AutocompleteInput_suggestion--selected":i}),a=t=>o.createElement("div",{className:r,onMouseDown:t=>{t.preventDefault(),n(e)}},t);return a(s?s(e):o.createElement(o.Fragment,null,o.createElement("span",{className:"mx_AutocompleteInput_suggestion_title"},e.completion),o.createElement("span",{className:"mx_AutocompleteInput_suggestion_description"},e.completionId)))};var P=n("./src/contexts/MatrixClientContext.tsx");const T=({room:e,defaultUserLevel:t})=>{const n=(0,o.useContext)(P.Ay),s=(0,o.useRef)(new y.A(e)),[r,a]=(0,o.useState)(!1),[l,c]=(0,o.useState)(t),[d,f]=(0,o.useState)([]),_=(0,o.useCallback)(n=>O(e,n,t),[e,t]);return o.createElement("form",{style:{display:"flex"},onSubmit:async s=>{s.preventDefault(),a(!0);const o=M(d);if(null!==e.currentState.getStateEvents(i.EventType.RoomPowerLevels,""))try{await n.setPowerLevel(e.roomId,o,l),f([]),c(t)}catch{p.Ay.createDialog(h.A,{title:(0,u._t)("common|error"),description:(0,u._t)("error|update_power_level")})}finally{a(!1)}else p.Ay.createDialog(h.A,{title:(0,u._t)("common|error"),description:(0,u._t)("error|update_power_level")})}},o.createElement(v.A,{legend:(0,u._t)("room_settings|permissions|add_privileged_user_heading"),description:(0,u._t)("room_settings|permissions|add_privileged_user_description"),style:{flexGrow:1}},o.createElement(k,{provider:s.current,placeholder:(0,u._t)("room_settings|permissions|add_privileged_user_filter_placeholder"),onSelectionChange:f,selection:d,additionalFilter:_}),o.createElement(g.A,{value:l,onChange:c}),o.createElement(m.A,{type:"submit",element:"button",kind:"primary",disabled:!d.length||r,onClick:null},(0,u._t)("action|apply"))))},O=(e,t,n)=>{if(void 0===t.completionId)return!1;const s=e.getMember(t.completionId);return null!==s&&s.powerLevel<=n},M=e=>e.filter(e=>void 0!==e.completionId).map(e=>e.completionId);var N=n("./src/components/views/settings/tabs/SettingsTab.tsx"),j=n("./src/components/views/settings/shared/SettingsSection.tsx"),D=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),U=n("./src/components/views/dialogs/QuestionDialog.tsx");function F({userLevels:e,canChangeLevels:t,currentUserLevel:n,onClick:s,filter:i,title:r,children:a}){const l=(0,P.nH)(),[c,d]=(0,o.useState)(null),m=Boolean(c&&c.value!==e[null==c?void 0:c.userId]),h=new Intl.Collator,f=Object.keys(e).sort((t,n)=>function(e,t,n,s){const o=s[t]-s[n];return 0!==o?o:e.compare(t.toLocaleLowerCase(),n.toLocaleLowerCase())}(h,t,n,e)).filter(i);if(!f.length)return o.createElement(o.Fragment,null,a);return o.createElement(v.A,{legend:r},f.map(s=>{if(!Number.isInteger(e[s]))return;const i=s===l.getUserId(),r=t&&(e[s]<n||i),a=(null==c?void 0:c.userId)===s?null==c?void 0:c.value:e[s];return o.createElement(g.A,{value:a,disabled:!r,label:s,key:s,maxValue:n,onChange:async t=>{const n=Object.assign({},e);if(n[s]=t,i=n,!Object.values(i).some(e=>100===e)){const{finished:t}=p.Ay.createDialog(U.A,{title:(0,u._t)("common|warning"),description:o.createElement("div",null,(0,u._t)("user_info|demote_self_confirm_room")),button:(0,u._t)("action|continue")}),[n]=await t;if(!n)return void d({value:e[s],userId:s})}var i;d({value:t,userId:s})}})}),o.createElement(D.$,{size:"sm",kind:"primary",className:"mx_Dialog_nonDialogButton mx_PowerLevelSelector_Button",onClick:()=>{null!==c&&(s(c.value,c.userId),d(null))},disabled:!m,"aria-label":(0,u._t)("action|apply")},(0,u._t)("action|apply")))}var L=n("./src/call-types.ts"),B=n("./src/utils/objects.ts");function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}const H={[i.EventType.RoomAvatar]:{isState:!0},[i.EventType.RoomName]:{isState:!0},[i.EventType.RoomCanonicalAlias]:{isState:!0},[i.EventType.SpaceChild]:{isState:!0,hideForRoom:!0},[i.EventType.RoomHistoryVisibility]:{isState:!0,hideForSpace:!0},[i.EventType.RoomPowerLevels]:{isState:!0},[i.EventType.RoomTopic]:{isState:!0},[i.EventType.RoomTombstone]:{isState:!0,hideForSpace:!0},[i.EventType.RoomEncryption]:{isState:!0,hideForSpace:!0},[i.EventType.RoomServerAcl]:{isState:!0,hideForSpace:!0},[i.EventType.RoomPinnedEvents]:{isState:!0,hideForSpace:!0},[i.EventType.Reaction]:{isState:!1,hideForSpace:!0},[i.EventType.RoomRedaction]:{isState:!1,hideForSpace:!0},[L.Fm.name]:{isState:!0,hideForSpace:!0},[L.Vj.name]:{isState:!0,hideForSpace:!0},"im.vector.modular.widgets":{isState:!0,hideForSpace:!0}};function z(e,t){const n=parseInt(e);return isNaN(n)?t:n}class W extends o.Component{constructor(...e){super(...e),(0,s.A)(this,"onUnbanClick",()=>{this.context.unban(this.props.member.roomId,this.props.member.userId).catch(e=>{r.vF.error("Failed to unban: "+e),p.Ay.createDialog(h.A,{title:(0,u._t)("common|error"),description:(0,u._t)("room_settings|permissions|error_unbanning")})})})}render(){let e;this.props.canUnban&&(e=o.createElement(m.A,{className:"mx_RolesRoomSettingsTab_unbanBtn",kind:"danger_sm",onClick:this.onUnbanClick},(0,u._t)("action|unban")));const t=this.props.member.name===this.props.member.userId?null:this.props.member.userId;return o.createElement("li",null,e,o.createElement("span",{title:(0,u._t)("room_settings|permissions|banned_by",{displayName:this.props.by})},o.createElement("strong",null,this.props.member.name)," ",t,this.props.reason?" "+(0,u._t)("room_settings|permissions|ban_reason")+": "+this.props.reason:""))}}(0,s.A)(W,"contextType",P.Ay);const K="event_levels_";class $ extends o.Component{constructor(e){super(e),(0,s.A)(this,"onRoomStateUpdate",e=>{e.roomId===this.props.room.roomId&&this.onThisRoomMembership()}),(0,s.A)(this,"onThisRoomMembership",(0,a.A)(()=>{this.forceUpdate()},200,{leading:!0,trailing:!0})),(0,s.A)(this,"onPowerLevelsChanged",async(e,t)=>{var n;const s=this.context,o=this.props.room.currentState.getStateEvents(i.EventType.RoomPowerLevels,"");let a=null!==(n=null==o?void 0:o.getContent())&&void 0!==n?n:{};a=Object.assign({},a),t.startsWith(K)?(0,l.A)(a,["events",t.slice(13)],e):(0,l.A)(a,t.split("."),e);try{await s.sendStateEvent(this.props.room.roomId,i.EventType.RoomPowerLevels,a)}catch(e){throw r.vF.error(e),p.Ay.createDialog(h.A,{title:(0,u._t)("room_settings|permissions|error_changing_pl_reqs_title"),description:(0,u._t)("room_settings|permissions|error_changing_pl_reqs_description")}),e}}),(0,s.A)(this,"onUserPowerLevelChanged",async(e,t)=>{var n;const o=this.context,a=this.props.room.currentState.getStateEvents(i.EventType.RoomPowerLevels,"");let l=null!==(n=null==a?void 0:a.getContent())&&void 0!==n?n:{};l=(0,B.ZV)(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?V(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):V(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({users:{}},l)),l.users[t]=e;try{await o.sendStateEvent(this.props.room.roomId,i.EventType.RoomPowerLevels,l)}catch(e){r.vF.error(e),p.Ay.createDialog(h.A,{title:(0,u._t)("room_settings|permissions|error_changing_pl_title"),description:(0,u._t)("room_settings|permissions|error_changing_pl_description")})}}),this.state={isReady:!1,isRoomEncrypted:!1}}async componentDidMount(){var e;this.context.on(i.RoomStateEvent.Update,this.onRoomStateUpdate),this.setState({isRoomEncrypted:await(null===(e=this.context.getCrypto())||void 0===e?void 0:e.isEncryptionEnabledInRoom(this.props.room.roomId))||!1,isReady:!0})}componentWillUnmount(){const e=this.context;e&&e.removeListener(i.RoomStateEvent.Update,this.onRoomStateUpdate)}populateDefaultPlEvents(e,t,n){for(const s of Object.keys(H))s in e||(e[s]=H[s].isState?t:n)}render(){var e,t;const n=this.context,s=this.props.room,r=s.isSpaceRoom(),a=s.currentState.getStateEvents(i.EventType.RoomPowerLevels,""),l=a&&a.getContent()||{},m=s.currentState.mayClientSendStateEvent(i.EventType.RoomPowerLevels,n),p={[i.EventType.RoomAvatar]:r?(0,u.AO)("room_settings|permissions|m.room.avatar_space"):(0,u.AO)("room_settings|permissions|m.room.avatar"),[i.EventType.RoomName]:r?(0,u.AO)("room_settings|permissions|m.room.name_space"):(0,u.AO)("room_settings|permissions|m.room.name"),[i.EventType.RoomCanonicalAlias]:r?(0,u.AO)("room_settings|permissions|m.room.canonical_alias_space"):(0,u.AO)("room_settings|permissions|m.room.canonical_alias"),[i.EventType.SpaceChild]:(0,u.AO)("room_settings|permissions|m.space.child"),[i.EventType.RoomHistoryVisibility]:(0,u.AO)("room_settings|permissions|m.room.history_visibility"),[i.EventType.RoomPowerLevels]:(0,u.AO)("room_settings|permissions|m.room.power_levels"),[i.EventType.RoomTopic]:r?(0,u.AO)("room_settings|permissions|m.room.topic_space"):(0,u.AO)("room_settings|permissions|m.room.topic"),[i.EventType.RoomTombstone]:(0,u.AO)("room_settings|permissions|m.room.tombstone"),[i.EventType.RoomEncryption]:(0,u.AO)("room_settings|permissions|m.room.encryption"),[i.EventType.RoomServerAcl]:(0,u.AO)("room_settings|permissions|m.room.server_acl"),[i.EventType.Reaction]:(0,u.AO)("room_settings|permissions|m.reaction"),[i.EventType.RoomRedaction]:(0,u.AO)("room_settings|permissions|m.room.redaction"),[i.EventType.RoomPinnedEvents]:(0,u.AO)("room_settings|permissions|m.room.pinned_events"),"im.vector.modular.widgets":r?null:(0,u.AO)("room_settings|permissions|m.widget")};f.A.getValue("feature_group_calls")&&(p[L.Fm.name]=(0,u.AO)("room_settings|permissions|m.call"),p[L.Vj.name]=(0,u.AO)("room_settings|permissions|m.call.member"));const h={users_default:{desc:(0,u._t)("room_settings|permissions|users_default"),defaultValue:0},events_default:{desc:(0,u._t)("room_settings|permissions|events_default"),defaultValue:0,hideForSpace:!0},invite:{desc:(0,u._t)("room_settings|permissions|invite"),defaultValue:0},state_default:{desc:(0,u._t)("room_settings|permissions|state_default"),defaultValue:50},kick:{desc:(0,u._t)("room_settings|permissions|kick"),defaultValue:50},ban:{desc:(0,u._t)("room_settings|permissions|ban"),defaultValue:50},redact:{desc:(0,u._t)("room_settings|permissions|redact"),defaultValue:50,hideForSpace:!0},"notifications.room":{desc:(0,u._t)("room_settings|permissions|notifications.room"),defaultValue:50,hideForSpace:!0}},y=l.events||{},b=l.users||{},w=z(l.ban,h.ban.defaultValue),E=z(l.users_default,h.users_default.defaultValue),A=null!==(e=null===(t=s.getMember(n.getSafeUserId()))||void 0===t?void 0:t.powerLevel)&&void 0!==e?e:E;this.populateDefaultPlEvents(y,z(l.state_default,h.state_default.defaultValue),z(l.events_default,h.events_default.defaultValue));let x,S=o.createElement("div",null,(0,u._t)("room_settings|permissions|no_privileged_users"));Object.keys(b).length&&(S=o.createElement(F,{title:(0,u._t)("room_settings|permissions|privileged_users_section"),userLevels:b,canChangeLevels:m,currentUserLevel:A,onClick:this.onUserPowerLevelChanged,filter:e=>b[e]>E},o.createElement("div",null,(0,u._t)("room_settings|permissions|no_privileged_users"))),x=o.createElement(F,{title:(0,u._t)("room_settings|permissions|muted_users_section"),userLevels:b,canChangeLevels:m,currentUserLevel:A,onClick:this.onUserPowerLevelChanged,filter:e=>b[e]<E}));const C=s.getMembersWithMembership(d.O.Ban);let k;if(null!=C&&C.length){const e=A>=w;k=o.createElement(v.A,{legend:(0,u._t)("room_settings|permissions|banned_users_section")},o.createElement("ul",{className:"mx_RolesRoomSettingsTab_bannedList"},C.map(t=>{var n,i;const r=null===(n=t.events.member)||void 0===n?void 0:n.getContent(),a=null===(i=t.events.member)||void 0===i?void 0:i.getSender(),l=a?s.getMember(a):void 0,c=(null==l?void 0:l.name)||a;return o.createElement(W,{key:t.userId,canUnban:e,member:t,reason:null==r?void 0:r.reason,by:c})})))}const R=Object.keys(h).map((e,t)=>{const n=h[e];if(r&&n.hideForSpace)return null;const s=z((0,c.A)(l,e),n.defaultValue);return o.createElement("div",{key:t,className:""},o.createElement(g.A,{label:n.desc,value:s,usersDefault:E,disabled:!m||A<s,powerLevelKey:e,onChange:this.onPowerLevelsChanged}))}).filter(Boolean);this.state.isRoomEncrypted&&delete y[i.EventType.RoomEncryption];const I=Object.keys(y).map((e,t)=>{var n,s;if(r&&null!==(n=H[e])&&void 0!==n&&n.hideForSpace)return null;if(!r&&null!==(s=H[e])&&void 0!==s&&s.hideForRoom)return null;const i=p[e];let a;if(i){var l;const e=null!==(l=_.Ay.get("element_call").brand)&&void 0!==l?l:_.zY.element_call.brand;a=(0,u._t)(i,{brand:e})}else a=(0,u._t)("room_settings|permissions|send_event_type",{eventType:e});return o.createElement("div",{key:e},o.createElement(g.A,{label:a,value:y[e],usersDefault:E,disabled:!m||A<y[e],powerLevelKey:K+e,onChange:this.onPowerLevelsChanged}))}).filter(Boolean);return o.createElement(N.A,null,o.createElement(j.X,{heading:(0,u._t)("room_settings|permissions|title")},S,m&&o.createElement(T,{room:s,defaultUserLevel:E}),x,k,this.state.isReady&&o.createElement(v.A,{legend:(0,u._t)("room_settings|permissions|permissions_section"),description:r?(0,u._t)("room_settings|permissions|permissions_section_description_space"):(0,u._t)("room_settings|permissions|permissions_section_description_room")},R,I)))}}(0,s.A)($,"contextType",P.Ay)},"./src/components/views/settings/tabs/user/MediaPreviewAccountSettings.tsx"(e,t,n){"use strict";n.d(t,{H:()=>y});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/Radio/Radio.js"),r=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Form/Message.js"),l=n("./node_modules/@vector-im/compound-web/dist/components/Form/Field.js"),c=n("./node_modules/@vector-im/compound-web/dist/components/Form/InlineField.js"),d=n("./node_modules/@vector-im/compound-web/dist/components/Form/Label.js"),u=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),m=n("./src/@types/media_preview.ts"),p=n("./src/languageHandler.tsx"),h=n("./src/hooks/useSettings.ts"),g=n("./src/settings/SettingsStore.ts"),v=n("./src/settings/SettingLevel.ts");function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function _(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const y=({roomId:e})=>{const t=(0,h.ti)("mediaPreviewConfig",e),n=(0,o.useCallback)(t=>{g.A.setValue("mediaPreviewConfig",null!=e?e:null,e?v.p.ROOM_ACCOUNT:v.p.ACCOUNT,t)},[e]),s=(0,o.useCallback)(e=>{n(_(_({},t),{},{invite_avatars:e.target.checked?m.M.Off:m.M.On}))},[n,t]),f=(0,o.useCallback)(e=>{e.target.checked&&n(_(_({},t),{},{media_previews:m.M.Off}))},[n,t]),y=(0,o.useCallback)(e=>{e.target.checked&&n(_(_({},t),{},{media_previews:m.M.Private}))},[n,t]),b=(0,o.useCallback)(e=>{e.target.checked&&n(_(_({},t),{},{media_previews:m.M.On}))},[n,t]);return o.createElement(r.b,{className:"mx_MediaPreviewAccountSetting_Form"},!e&&o.createElement(u.I,{name:"hide_avatars",label:(0,p._t)("settings|media_preview|hide_avatars"),checked:t.invite_avatars===m.M.Off,onChange:s}),o.createElement(l.D,{id:"mx_media_previews",role:"radiogroup",name:"media_previews","aria-label":(0,p._t)("settings|media_preview|media_preview_label")},o.createElement(d.J,null,(0,p._t)("settings|media_preview|media_preview_label")),o.createElement(a.po,{className:"mx_MediaPreviewAccountSetting_RadioHelp"},(0,p._t)("settings|media_preview|media_preview_description")),o.createElement(c.I,{name:"media_preview_off",className:"mx_MediaPreviewAccountSetting_Radio",control:o.createElement(i.A,{id:"mx_media_previews_off",checked:t.media_previews===m.M.Off,onChange:f})},o.createElement(d.J,{htmlFor:"mx_media_previews_off"},(0,p._t)("settings|media_preview|hide_media"))),!e&&o.createElement(c.I,{name:"mx_media_previews_private",className:"mx_MediaPreviewAccountSetting_Radio",control:o.createElement(i.A,{id:"mx_media_previews_private",checked:t.media_previews===m.M.Private,onChange:y})},o.createElement(d.J,{htmlFor:"mx_media_previews_private"},(0,p._t)("settings|media_preview|show_in_private"))),o.createElement(c.I,{name:"media_preview_on",className:"mx_MediaPreviewAccountSetting_Radio",control:o.createElement(i.A,{id:"mx_media_previews_on",checked:t.media_previews===m.M.On,onChange:b})},o.createElement(d.J,{htmlFor:"mx_media_previews_on"},(0,p._t)("settings|media_preview|show_media")))))}},"./src/components/views/spaces/SpaceBasicSettings.tsx"(e,t,n){"use strict";n.d(t,{A:()=>d,U:()=>c});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/take-photo-solid.js"),i=n("./src/languageHandler.tsx"),r=n("./src/components/views/elements/AccessibleButton.tsx"),a=n("./src/components/views/elements/Field.tsx"),l=n("./src/utils/BrowserWorkarounds.ts");const c=({avatarUrl:e,avatarDisabled:t=!1,setAvatar:n})=>{const a=(0,s.useRef)(null),[c,d]=(0,s.useState)(e);let u;return u=t?c?s.createElement("img",{className:"mx_SpaceBasicSettings_avatar",src:c,alt:""}):s.createElement("div",{className:"mx_SpaceBasicSettings_avatar"}):c?s.createElement(s.Fragment,null,s.createElement(r.A,{className:"mx_SpaceBasicSettings_avatar",onClick:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.click()},element:"img",src:c,alt:""}),s.createElement(r.A,{onClick:()=>{a.current&&(a.current.value=""),d(void 0),n(void 0)},kind:"link",className:"mx_SpaceBasicSettings_avatar_remove","aria-label":(0,i._t)("room_settings|delete_avatar_label")},(0,i._t)("action|delete"))):s.createElement(s.Fragment,null,s.createElement(r.A,{className:"mx_SpaceBasicSettings_avatar",onClick:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.click()}},s.createElement(o.A,null)),s.createElement(r.A,{onClick:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.click()},kind:"link","aria-label":(0,i._t)("room_settings|upload_avatar_label")},(0,i._t)("action|upload"))),s.createElement("div",{className:"mx_SpaceBasicSettings_avatarContainer"},u,s.createElement("input",{type:"file",ref:a,onClick:l.e,onChange:e=>{var t;if(null===(t=e.target.files)||void 0===t||!t.length)return;const s=e.target.files[0];n(s);const o=new FileReader;o.onload=e=>{var t;d(null===(t=e.target)||void 0===t?void 0:t.result)},o.readAsDataURL(s)},accept:"image/*"}))},d=({avatarUrl:e,avatarDisabled:t=!1,setAvatar:n,name:o="",nameDisabled:r=!1,setName:l,topic:d="",topicDisabled:u=!1,setTopic:m})=>s.createElement("div",{className:"mx_SpaceBasicSettings"},s.createElement(c,{avatarUrl:e,avatarDisabled:t,setAvatar:n}),s.createElement(a.A,{name:"spaceName",label:(0,i._t)("common|name"),autoFocus:!0,value:o,onChange:e=>l(e.target.value),disabled:r}),s.createElement(a.A,{name:"spaceTopic",element:"textarea",label:(0,i._t)("common|description"),value:d,onChange:e=>m(e.target.value),rows:3,disabled:u}))},"./src/components/views/spaces/SpaceChildrenPicker.tsx"(e,t,n){"use strict";n.d(t,{A:()=>p});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./src/components/views/elements/StyledRadioGroup.tsx"),r=n("./src/autocomplete/QueryMatcher.ts"),a=n("./src/components/structures/SearchBox.tsx"),l=n("./src/components/structures/AutoHideScrollbar.tsx"),c=n("./src/components/views/dialogs/AddExistingToSpaceDialog.tsx"),d=n("./src/utils/arrays.ts"),u=function(e){return e.All="All",e.Specific="Specific",e.None="None",e}(u||{});const m=({filterPlaceholder:e,rooms:t,selected:n,onChange:i})=>{const[u,m]=(0,s.useState)(""),p=u.toLowerCase().trim(),h=(0,s.useMemo)(()=>{if(!p)return t;return new r.A(t,{keys:["name"],funcs:[e=>(0,d.Bo)([e.getCanonicalAlias(),...e.getAltAliases()])],shouldMatchWordsOnly:!1}).match(p)},[t,p]);return s.createElement("div",{className:"mx_SpaceChildrenPicker"},s.createElement(a.A,{className:"mx_textinput_icon mx_textinput_search",placeholder:e,onSearch:m,autoFocus:!0}),s.createElement(l.A,null,h.map(e=>s.createElement(c.HK,{key:e.roomId,room:e,checked:n.has(e),onChange:t=>{i(t,e)}})),h.length<1?s.createElement("span",{className:"mx_SpaceChildrenPicker_noResults"},(0,o._t)("common|no_results")):void 0))},p=({space:e,spaceChildren:t,selected:n,onChange:r,noneLabel:a,allLabel:l,specificLabel:c})=>{const[d,p]=(0,s.useState)(a?u.None:u.All);return(0,s.useEffect)(()=>{d===u.All?r(t):r([])},[r,d,t]),s.createElement(s.Fragment,null,s.createElement("div",{className:"mx_SpaceChildrenPicker"},s.createElement(i.A,{name:"roomsToLeave",value:d,onChange:p,definitions:[{value:u.None,label:a},{value:u.All,label:l},{value:u.Specific,label:c}].filter(e=>e.label)})),d===u.Specific&&s.createElement(m,{filterPlaceholder:(0,o._t)("space|search_children",{spaceName:e.name}),rooms:t,selected:n,onChange:(e,t)=>{r(e?[t,...n]:[...n].filter(e=>e!==t))}}))}},"./src/components/views/spaces/SpaceCreateMenu.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>M,R7:()=>O,bz:()=>I});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chevron-left.js"),l=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock-solid.js"),c=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/public.js"),d=n("./src/languageHandler.tsx"),u=n("./src/components/structures/ContextMenu.tsx"),m=n("./src/createRoom.ts"),p=n("./src/contexts/MatrixClientContext.tsx"),h=n("./src/components/views/spaces/SpaceBasicSettings.tsx"),g=n("./src/components/views/elements/AccessibleButton.tsx"),v=n("./src/components/views/elements/Field.tsx"),f=n("./src/components/views/elements/Validation.tsx"),_=n("./src/components/views/elements/RoomAliasField.tsx"),y=n("./src/KeyBindingsManager.ts"),b=n("./src/accessibility/KeyboardShortcuts.ts"),w=n("./src/dispatcher/dispatcher.ts"),E=n("./src/dispatcher/actions.ts"),A=n("./src/components/views/dialogs/spotlight/Filter.ts"),x=n("./src/hooks/useSettings.ts"),S=n("./src/settings/UIFeature.ts"),C=n("./src/components/structures/SpacePillButton.tsx");function k(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?k(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const I=async(e,t,n,s,o,r,a={},l={})=>(0,m.Ay)(e,R({createOpts:R({name:t,preset:n?i.Preset.PublicChat:i.Preset.PrivateChat,visibility:n&&await e.doesServerSupportUnstableFeature("org.matrix.msc3827.stable")?i.Visibility.Public:i.Visibility.Private,power_level_content_override:{events_default:100,invite:n?0:50},room_alias_name:n&&s?s.substring(1,s.indexOf(":")):void 0,topic:o},a),avatar:r,roomType:i.RoomType.Space,historyVisibility:n?i.HistoryVisibility.WorldReadable:i.HistoryVisibility.Invited,spinner:!1,encryption:!1,andView:!0,inlineErrors:!0},l)),P=(0,f.A)({rules:[{key:"required",test:async({value:e})=>!!e,invalid:()=>(0,d._t)("create_space|name_required")}]}),T=e=>e.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9_-]+/gi,""),O=({busy:e,onSubmit:t,avatarUrl:n,setAvatar:s,name:i,setName:r,nameFieldRef:a,alias:l,aliasFieldRef:c,setAlias:u,showAliasField:m,topic:g,setTopic:f,children:w})=>{var E;const A=null!==(E=(0,o.useContext)(p.Ay).getDomain())&&void 0!==E?E:void 0,x=e=>{if((0,y.zM)().getAccessibilityAction(e)===b.bY.Enter)t(e)};return o.createElement("form",{className:"mx_SpaceBasicSettings",onSubmit:t},o.createElement(h.U,{avatarUrl:n,setAvatar:s,avatarDisabled:e}),o.createElement(v.A,{name:"spaceName",label:(0,d._t)("common|name"),autoFocus:!0,value:i,onChange:e=>{const t=e.target.value;var n;l&&l!==`#${T(i)}:${A}`||(u(`#${T(t)}:${A}`),null===(n=c.current)||void 0===n||n.validate({allowEmpty:!0}));r(t)},onKeyDown:x,ref:a,onValidate:P,disabled:e,autoComplete:"off"}),m?o.createElement(_.A,{ref:c,onChange:u,domain:A,value:l,placeholder:i?T(i):(0,d._t)("create_space|address_placeholder"),label:(0,d._t)("create_space|address_label"),disabled:e,onKeyDown:x}):null,o.createElement(v.A,{name:"spaceTopic",element:"textarea",label:(0,d._t)("common|description"),value:null!=g?g:"",onChange:e=>f(e.target.value),rows:3,disabled:e}),w)},M=({onFinished:e})=>{const t=(0,p.nH)(),n=(0,x.ti)(S.f.AllowCreatingPublicSpaces),[s,m]=(0,o.useState)(!1===n?i.Visibility.Private:null),[h,v]=(0,o.useState)(!1),[f,_]=(0,o.useState)(""),y=(0,o.useRef)(null),[b,k]=(0,o.useState)(""),R=(0,o.useRef)(null),[P,T]=(0,o.useState)(void 0),[M,N]=(0,o.useState)(""),[j,D]=(0,o.useState)(!0);(0,o.useEffect)(()=>{t.isVersionSupported("v1.4").then(e=>e||t.doesServerSupportUnstableFeature("org.matrix.msc3827.stable")).then(e=>{D(e)})},[t]);const U=async n=>{if(n.preventDefault(),!h){if(v(!0),y.current&&!await y.current.validate({allowEmpty:!1}))return y.current.focus(),y.current.validate({allowEmpty:!1,focused:!0}),void v(!1);if(R.current&&s===i.Visibility.Public&&!await R.current.validate({allowEmpty:!1}))return R.current.focus(),R.current.validate({allowEmpty:!1,focused:!0}),void v(!1);try{await I(t,f,s===i.Visibility.Public,b,M,P),e()}catch(n){r.vF.error(n)}}},F=()=>{w.A.dispatch({action:E.r.OpenSpotlight,initialFilter:A.d.PublicSpaces})};let L;return L=null===s?o.createElement(o.Fragment,null,o.createElement("h2",null,(0,d._t)("create_space|label")),o.createElement("p",null,(0,d._t)("create_space|explainer")),o.createElement(C.A,{icon:o.createElement(c.A,null),title:(0,d._t)("common|public"),description:(0,d._t)("create_space|public_description"),onClick:()=>m(i.Visibility.Public)}),o.createElement(C.A,{icon:o.createElement(l.A,null),title:(0,d._t)("common|private"),description:(0,d._t)("create_space|private_description"),onClick:()=>m(i.Visibility.Private)}),j&&o.createElement(g.A,{kind:"primary_outline",onClick:F},(0,d._t)("create_space|search_public_button"))):o.createElement(o.Fragment,null,n&&o.createElement(g.A,{className:"mx_SpaceCreateMenu_back",onClick:()=>m(null),title:(0,d._t)("action|go_back")},o.createElement(a.A,null)),o.createElement("h2",null,s===i.Visibility.Public?(0,d._t)("create_space|public_heading"):n?(0,d._t)("create_space|private_heading"):(0,d._t)("create_space|private_only_heading")),o.createElement("p",null,(0,d._t)("create_space|add_details_prompt")," ",(0,d._t)("create_space|add_details_prompt_2")),o.createElement(O,{busy:h,onSubmit:U,setAvatar:T,name:f,setName:_,nameFieldRef:y,topic:M,setTopic:N,alias:b,setAlias:k,showAliasField:s===i.Visibility.Public,aliasFieldRef:R}),o.createElement(g.A,{kind:"primary",onClick:U,disabled:h},h?(0,d._t)("create_space|creating"):(0,d._t)("action|create"))),o.createElement(u.Ay,{left:72,top:62,chevronOffset:0,chevronFace:u.t4.None,onFinished:e,wrapperClassName:"mx_SpaceCreateMenu_wrapper",managed:!1,focusLock:!0},L)}},"./src/components/views/spaces/SpacePublicShare.tsx"(e,t,n){"use strict";n.d(t,{A:()=>g});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/utils.ts"),i=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/link.js"),r=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-add.js"),a=n("./src/languageHandler.tsx"),l=n("./src/utils/strings.ts"),c=n("./src/utils/permalinks/Permalinks.ts"),d=n("./src/RoomInvite.tsx"),u=n("./src/MatrixClientPeg.ts"),m=n("./src/customisations/helpers/UIComponents.ts"),p=n("./src/settings/UIFeature.ts"),h=n("./src/components/structures/SpacePillButton.tsx");const g=({space:e,onFinished:t})=>{const[n,g]=(0,s.useState)((0,a._t)("action|click_to_copy"));return s.createElement("div",{className:"mx_SpacePublicShare"},s.createElement(h.A,{icon:s.createElement(i.A,null),title:(0,a._t)("space|invite_link"),description:n,onClick:async()=>{const t=new c.pE(e);t.load();const s=await(0,l.nC)(t.forShareableRoom())?(0,a._t)("common|copied"):(0,a._t)("error|failed_copy");g(s),await(0,o.yy)(5e3),n===s&&g((0,a._t)("action|click_to_copy"))}}),e.canInvite(u.J.safeGet().getSafeUserId())&&(0,m.g)(p.C.InviteUsers)?s.createElement(h.A,{icon:s.createElement(r.A,null),title:(0,a._t)("space|invite"),description:(0,a._t)("space|invite_description"),onClick:()=>{t&&t(),(0,d._7)(e.roomId)}}):null)}},"./src/components/views/toasts/GenericToast.tsx"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js");const i=({description:e,detail:t,primaryLabel:n,PrimaryIcon:i,secondaryLabel:r,SecondaryIcon:a,destructive:l,onPrimaryClick:c,onSecondaryClick:d,overrideWidth:u})=>{const m=t?s.createElement("div",{className:"mx_Toast_detail"},t):null;return s.createElement("div",null,s.createElement("div",{className:"mx_Toast_description",style:{maxWidth:u}},e,m),s.createElement("div",{className:"mx_Toast_buttons","aria-live":"off"},d&&r&&s.createElement(o.$,{onClick:d,kind:"secondary"===l?"destructive":"secondary",Icon:a,size:"sm"},r),s.createElement(o.$,{onClick:c,kind:"primary"===l?"destructive":"primary",Icon:i,size:"sm"},n)))}},"./src/components/views/typography/Caption.tsx"(e,t,n){"use strict";n.d(t,{H:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/classnames/index.js"),r=n.n(i),a=n("./node_modules/react/index.js");const l=["children","isError"],c=e=>{let{children:t,isError:n}=e,i=(0,o.A)(e,l);return a.createElement("span",(0,s.A)({className:r()("mx_Caption",{mx_Caption_error:n})},i),t)}},"./src/components/views/typography/Heading.tsx"(e,t,n){"use strict";n.d(t,{A:()=>u});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),i=n("./node_modules/react/index.js"),r=n("./node_modules/classnames/index.js"),a=n.n(r);const l=["as","size","className","children"];function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const u=e=>{let{as:t,size:n="1",className:s,children:r}=e,c=(0,o.A)(e,l);return i.createElement(t||`h${n}`,d(d({},c),{},{className:a()(`mx_Heading_h${n}`,s),children:r}))}},"./src/components/views/verification/VerificationShowSas.tsx"(e,t,n){"use strict";n.d(t,{A:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./packages/shared-components/dist/element-web-shared-components.js"),r=n("./src/languageHandler.tsx"),a=n("./src/components/views/right_panel/EncryptionInfo.tsx"),l=n("./src/components/views/elements/AccessibleButton.tsx");class c extends o.Component{constructor(e){super(e),(0,s.A)(this,"onMatchClick",()=>{this.setState({pending:!0}),this.props.onDone()}),(0,s.A)(this,"onDontMatchClick",()=>{this.setState({cancelling:!0}),this.props.onCancel()}),this.state={pending:!1}}render(){let e,t,n;if(this.props.sas.emoji)e=o.createElement(i.op,{className:"mx_VerificationShowSas_emojiSas",emoji:this.props.sas.emoji.map(e=>e[0])}),t=this.props.isSelf?(0,r._t)("encryption|verification|confirm_the_emojis"):(0,r._t)("encryption|verification|sas_emoji_caption_user");else{if(!this.props.sas.decimal)return o.createElement("div",null,(0,r._t)("encryption|verification|unsupported_method"),o.createElement(l.A,{kind:"primary",onClick:this.props.onCancel},(0,r._t)("action|cancel")));{const n=this.props.sas.decimal.map((e,t)=>o.createElement("span",{key:t},e));e=o.createElement("div",{className:"mx_VerificationShowSas_decimalSas"},n),t=this.props.isSelf?(0,r._t)("encryption|verification|sas_caption_self"):(0,r._t)("encryption|verification|sas_caption_user")}}if(this.state.pending&&this.props.isSelf){let e;const t=this.props.otherDeviceDetails;e=t?(0,r._t)("encryption|verification|waiting_other_device_details",{deviceName:t.displayName,deviceId:t.deviceId}):(0,r._t)("encryption|verification|waiting_other_device"),n=o.createElement("p",null,e)}else if(this.state.pending||this.state.cancelling){let e;if(this.state.pending){const{displayName:t}=this.props;e=(0,r._t)("encryption|verification|waiting_other_user",{displayName:t})}else e=(0,r._t)("encryption|verification|cancelling");n=o.createElement(a.Z,{text:e})}else n=o.createElement("div",{className:"mx_VerificationShowSas_buttonRow"},o.createElement(l.A,{onClick:this.onMatchClick,kind:"primary"},(0,r._t)("encryption|verification|sas_match")),o.createElement(l.A,{onClick:this.onDontMatchClick,kind:"secondary"},(0,r._t)("encryption|verification|sas_no_match")));return o.createElement("div",{className:"mx_VerificationShowSas"},o.createElement("p",null,t),e,o.createElement("p",null,this.props.isSelf?"":(0,r._t)("encryption|verification|in_person")),n)}}},"./src/components/views/voip/DialPad.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/voice-call-solid.js"),r=n("./src/components/views/elements/AccessibleButton.tsx"),a=n("./src/languageHandler.tsx");const l=["1","2","3","4","5","6","7","8","9","*","0","#"],c=["","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ","","+",""];var d=function(e){return e[e.Digit=0]="Digit",e[e.Dial=1]="Dial",e}(d||{});class u extends o.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"onClick",e=>{switch(this.props.kind){case d.Digit:this.props.onButtonPress(this.props.digit,e);break;case d.Dial:this.props.onButtonPress()}})}render(){switch(this.props.kind){case d.Digit:return o.createElement(r.A,{className:"mx_DialPad_button",onClick:this.onClick},this.props.digit,o.createElement("div",{className:"mx_DialPad_buttonSubText"},this.props.digitSubtext));case d.Dial:return o.createElement(r.A,{className:"mx_DialPad_button mx_DialPad_dialButton",onClick:this.onClick,"aria-label":(0,a._t)("voip|dial")},o.createElement(i.A,null))}}}class m extends o.PureComponent{render(){const e=[];for(let t=0;t<l.length;t++){const n=l[t],s=c[t];e.push(o.createElement(u,{key:n,kind:d.Digit,digit:n,digitSubtext:s,onButtonPress:this.props.onDigitPress}))}return this.props.hasDial&&e.push(o.createElement(u,{key:"dial",kind:d.Dial,onButtonPress:this.props.onDialPress})),o.createElement("div",{className:"mx_DialPad"},e)}}},"./src/contexts/CurrentRightPanelPhaseContext.tsx"(e,t,n){"use strict";n.d(t,{I:()=>a,L:()=>l});var s=n("./node_modules/react/index.js"),o=n("./src/contexts/SDKContext.ts"),i=n("./src/hooks/useEventEmitter.ts"),r=n("./src/stores/AsyncStore.ts");const a=(0,s.createContext)(null),l=({roomId:e,children:t})=>{const{currentPhase:n,isOpen:l}=function(e){const t=(0,s.useContext)(o.A),n=()=>(e?t.rightPanelStore.currentCardForRoom(e):t.rightPanelStore.currentCard).phase,a=()=>e?t.rightPanelStore.isOpenForRoom(e):t.rightPanelStore.isOpen,[l,c]=(0,s.useState)(n()),[d,u]=(0,s.useState)(a());return(0,i.ml)(t.rightPanelStore,r.H,()=>{c(n()),u(a())}),{currentPhase:l,isOpen:d}}(e);return s.createElement(a.Provider,{value:{currentPhase:n,isPanelOpen:l}},t)}},"./src/contexts/LocalDeviceVerificationStateContext.ts"(e,t,n){"use strict";n.d(t,{f:()=>s});const s=(0,n("./node_modules/react/index.js").createContext)(!1)},"./src/contexts/MatrixClientContext.tsx"(e,t,n){"use strict";n.d(t,{Ay:()=>r,dt:()=>l,nH:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/react/index.js");const i=(0,o.createContext)(null);i.displayName="MatrixClientContext";const r=i;function a(){return(0,o.useContext)(i)}const l=e=>t=>{const n=(0,o.useContext)(i);return o.createElement(e,(0,s.A)({},t,{mxClient:n}))}},"./src/contexts/RoomContext.ts"(e,t,n){"use strict";n.d(t,{Ae:()=>i,Ay:()=>l,DZ:()=>r});var s=n("./node_modules/react/index.js"),o=n("./src/settings/enums/Layout.ts");let i=function(e){return e.Room="Room",e.Thread="Thread",e.ThreadsList="ThreadsList",e.File="File",e.Notification="Notification",e.Search="Search",e.Pinned="Pinned",e}({}),r=function(e){return e[e.Timeline=0]="Timeline",e[e.MaximisedWidget=1]="MaximisedWidget",e[e.Call=2]="Call",e}({});const a=(0,s.createContext)({roomLoading:!0,peekLoading:!1,shouldPeek:!0,membersLoaded:!1,numUnreadMessages:0,canPeek:!1,showApps:!1,isPeeking:!1,showRightPanel:!0,joining:!1,showTopUnreadMessagesBar:!1,statusBarVisible:!1,canReact:!1,canSelfRedact:!1,canSendMessages:!1,resizing:!1,layout:o.P.Group,lowBandwidth:!1,alwaysShowTimestamps:!1,showTwelveHourTimestamps:!1,userTimezone:void 0,readMarkerInViewThresholdMs:3e3,readMarkerOutOfViewThresholdMs:3e4,showHiddenEvents:!1,showReadReceipts:!0,showRedactions:!0,showJoinLeaves:!0,showAvatarChanges:!0,showDisplaynameChanges:!0,matrixClientIsReady:!1,showUrlPreview:!1,timelineRenderingType:i.Room,mainSplitContentType:r.Timeline,threadId:void 0,liveTimeline:void 0,narrow:!1,msc3946ProcessDynamicPredecessor:!1,canAskToJoin:!1,promptAskToJoin:!1,viewRoomOpts:{buttons:[]},isRoomEncrypted:null,roomViewStore:void 0});a.displayName="RoomContext";const l=a},"./src/contexts/SDKContext.ts"(e,t,n){"use strict";n.d(t,{A:()=>le,M:()=>ce});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./src/dispatcher/dispatcher.ts"),r=n("./src/LegacyCallHandler.tsx"),a=n("./src/PosthogAnalytics.ts"),l=n("./src/SlidingSyncManager.ts"),c=n("./node_modules/matrix-js-sdk/src/types.ts"),d=n("./src/settings/SettingsStore.ts"),u=n("./src/SdkConfig.ts");const m=/[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]+/g;class p{constructor(e){(0,s.A)(this,"sortNames",new Map),(0,s.A)(this,"loadedRooms",new Set),(0,s.A)(this,"collator",void 0),this.stores=e}async loadMemberList(e,t){if(!this.stores.client)return{joined:[],invited:[]};const n=d.A.getValue("language");this.collator=new Intl.Collator(n,{sensitivity:"base",ignorePunctuation:!1});const s=await this.loadMembers(e),o=this.filterMembers(s,t);return o.joined.sort((e,t)=>this.sortMembers(e,t)),o.invited.sort((e,t)=>this.sortMembers(e,t)),{joined:o.joined,invited:o.invited}}async loadMembers(e){const t=this.stores.client.getRoom(e);if(!t)return[];if(this.loadedRooms.has(e)||!await this.isLazyLoadingEnabled(e))return this.loadMembersInRoom(t);if(this.isLazyMemberStorageEnabled())try{await t.loadMembersIfNeeded()}catch{}else{t.currentState.markOutOfBandMembersStarted();const n=(await this.stores.client.members(e,void 0,c.O.Leave)).chunk.map(this.stores.client.getEventMapper());t.currentState.setOutOfBandMembers(n)}return this.loadedRooms.add(e),this.loadMembersInRoom(t)}loadMembersInRoom(e){const t=Object.values(e.currentState.members);return t.forEach(e=>{e.user||(e.user=this.stores.client.getUser(e.userId)||void 0)}),t}async isLazyLoadingEnabled(e){var t;return d.A.getValue("feature_simplified_sliding_sync")?!await(null===(t=this.stores.client)||void 0===t||null===(t=t.getCrypto())||void 0===t?void 0:t.isEncryptionEnabledInRoom(e)):this.stores.client.hasLazyLoadMembersEnabled()}isLazyMemberStorageEnabled(){return!d.A.getValue("feature_simplified_sliding_sync")&&this.stores.client.hasLazyLoadMembersEnabled()}isPresenceEnabled(){var e;if(!this.stores.client)return!0;const t=u.Ay.get("enable_presence_by_hs_url");return null===(e=null==t?void 0:t[this.stores.client.baseUrl])||void 0===e||e}filterMembers(e,t){const n={joined:[],invited:[]};return e.forEach(e=>{if(e.membership===c.O.Join||e.membership===c.O.Invite){if(t){t=t.toLowerCase();const n=e.name.toLowerCase().includes(t),s=e.userId.toLowerCase().includes(t);if(!n&&!s)return}switch(e.membership){case c.O.Join:n.joined.push(e);break;case c.O.Invite:n.invited.push(e)}}}),n}sortMembers(e,t){const n=e.user,s=t.user;if(!n&&!s)return 0;if(n&&!s)return-1;if(!n&&s)return 1;const o=this.isPresenceEnabled();if(o){const e=e=>"unavailable"===e?"online":e,t=t=>{const n=["active","online","offline"],s=n.indexOf(e(t));return-1===s?n.length:s},o=t(n.currentlyActive?"active":n.presence),i=t(s.currentlyActive?"active":s.presence);if(o!==i)return o-i}return e.powerLevel!==t.powerLevel?t.powerLevel-e.powerLevel:o&&n.getLastActiveTs()!==s.getLastActiveTs()?s.getLastActiveTs()-n.getLastActiveTs():this.collator.compare(this.canonicalisedName(e.name),this.canonicalisedName(t.name))}canonicalisedName(e){let t=this.sortNames.get(e);return t||(t=("@"===e[0]?e.slice(1):e).replace(m,""),this.sortNames.set(e,t),t)}}var h=n("./src/stores/notifications/RoomNotificationStateStore.ts"),g=n("./src/stores/right-panel/RightPanelStore.ts"),v=n("./node_modules/matrix-js-sdk/src/utils.ts"),f=n("./node_modules/matrix-js-sdk/src/matrix.ts"),_=n("./node_modules/matrix-js-sdk/src/logger.ts"),y=n("./node_modules/events/events.js"),b=n.n(y),w=n("./node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/RoomViewLifecycle.js"),E=n("./src/MatrixClientPeg.ts"),A=n("./src/Modal.tsx"),x=n("./src/languageHandler.tsx"),S=n("./src/RoomAliasCache.ts"),C=n("./src/dispatcher/actions.ts"),k=n("./src/utils/promise.ts"),R=n("./src/contexts/RoomContext.ts"),I=n("./src/utils/DMRoomMap.ts"),P=n("./src/stores/spaces/index.ts"),T=n("./src/components/views/dialogs/ErrorDialog.tsx"),O=n("./src/utils/RoomUpgrade.ts"),M=n("./src/stores/AsyncStore.ts"),N=n("./src/stores/CallStore.ts"),j=n("./src/modules/ModuleRunner.ts"),D=n("./src/utils/notifications.ts"),U=n("./src/models/Call.ts"),F=n("./src/utils/video-rooms.ts"),L=n("./src/modules/Api.ts");function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const H={joining:!1,joinError:null,roomId:null,threadId:null,subscribingRoomId:null,initialEventId:null,initialEventPixelOffset:null,isInitialEventHighlighted:!1,initialEventScrollIntoView:!0,roomAlias:null,roomLoading:!1,roomLoadError:null,replyingToEvent:null,shouldPeek:!1,viaServers:[],wasContextSwitch:!1,viewingCall:!1,promptAskToJoin:!1,viewRoomOpts:{buttons:[]}};class z extends(b()){constructor(e,t,n){super(),(0,s.A)(this,"state",v.A4(H)),(0,s.A)(this,"dis",void 0),(0,s.A)(this,"dispatchToken",void 0),this.stores=t,this.lockedToRoomId=n,this.resetDispatcher(e)}addRoomListener(e,t){this.on(e,t)}removeRoomListener(e,t){this.off(e,t)}emitForRoom(e,t){this.emit(e,t)}setState(e){let t=!1;for(const n of Object.keys(e))if(this.state[n]!==e[n]){t=!0;break}if(!t)return;const n=this.state.roomId;var s;(this.state=Object.assign(this.state,e),this.lockedToRoomId||n===this.state.roomId)||(n&&this.emitForRoom(n,!1),this.state.roomId&&this.emitForRoom(this.state.roomId,!0),null===(s=this.dis)||void 0===s||s.dispatch({action:C.r.ActiveRoomChanged,oldRoomId:n,newRoomId:this.state.roomId}));this.emit(M.H)}onDispatch(e){if(!this.lockedToRoomId||!e.room_id||this.lockedToRoomId===e.room_id)switch(e.action){case C.r.ViewRoom:this.viewRoom(e);break;case C.r.ViewThread:this.viewThread(e);break;case"view_welcome_page":case C.r.ViewHomePage:this.setState({roomId:null,roomAlias:null,viaServers:[],wasContextSwitch:!1,viewingCall:!1});break;case C.r.ViewRoomError:this.viewRoomError(e);break;case"will_join":this.setState({joining:!0});break;case"cancel_join":this.setState({joining:!1});break;case C.r.JoinRoom:this.joinRoom(e);break;case C.r.JoinRoomError:this.joinRoomError(e);break;case C.r.JoinRoomReady:this.state.roomId===e.roomId&&this.setState({shouldPeek:!1}),(0,O.R)(E.J.safeGet(),e.roomId).then(t=>{const n=t.getJoinedMemberCount(),s=n>1e3?"MoreThanAThousand":n>100?"OneHundredAndOneToAThousand":n>10?"ElevenToOneHundred":n>2?"ThreeToTen":n>1?"Two":"One";this.stores.posthogAnalytics.trackEvent({eventName:"JoinedRoom",trigger:e.metricsTrigger,roomSize:s,isDM:!!I.A.shared().getUserIdForRoomId(t.roomId),isSpace:t.isSpaceRoom()})});break;case C.r.ClientNotViable:case C.r.OnLoggedOut:this.reset();break;case"reply_to_event":if(R.Ae.Thread!==e.context){var t;const s=null===(t=e.event)||void 0===t?void 0:t.getRoomId();if(e.event&&s!==this.state.roomId){var n;if(s&&this.isRoomDisplayedInModule(s))return;null===(n=this.dis)||void 0===n||n.dispatch({action:C.r.ViewRoom,room_id:e.event.getRoomId(),replyingToEvent:e.event,metricsTrigger:void 0})}else this.setState({replyingToEvent:e.event})}break;case C.r.PromptAskToJoin:this.setState({promptAskToJoin:!0});break;case C.r.SubmitAskToJoin:this.submitAskToJoin(e);break;case C.r.CancelAskToJoin:this.cancelAskToJoin(e);break;case C.r.RoomLoaded:this.setViewRoomOpts()}}async viewRoom(e){if(e.room_id){var t,n,s,o,i,r,a,l;const h=E.J.safeGet().getRoom(e.room_id);if(null!==e.metricsTrigger&&e.room_id!==this.state.roomId){let t;if(this.stores.spaceStore.activeSpace===P._b.Home)t="Home";else if((0,P.ww)(this.stores.spaceStore.activeSpace))t="Meta";else{var c;t=(null===(c=this.stores.spaceStore.activeSpaceRoom)||void 0===c?void 0:c.getJoinRule())===f.JoinRule.Public?"Public":"Private"}this.stores.posthogAnalytics.trackEvent({eventName:"ViewRoom",trigger:e.metricsTrigger,viaKeyboard:e.metricsViaKeyboard,isDM:!!I.A.shared().getUserIdForRoomId(e.room_id),isSpace:null==h?void 0:h.isSpaceRoom(),activeSpace:t})}let g=e.view_call;if(void 0===g&&(g=e.room_id===this.state.roomId?this.state.viewingCall:!(!h||!(0,F.j)(h))||null!==N.e.instance.getActiveCall(e.room_id)),h&&g){let t=N.e.instance.getCall(e.room_id);null===t&&(U.Ho.create(h),t=N.e.instance.getCall(e.room_id)),t.presented=!0,t.connectionState===U.KN.Disconnected&&t.start({skipLobby:e.skipLobby,voiceOnly:e.voiceOnly})}const v=this.state.roomId?N.e.instance.getCall(this.state.roomId):null;var u,m;if(null===v||e.view_call&&e.room_id===this.state.roomId||(v.presented=!1),d.A.getValue("feature_simplified_sliding_sync")&&this.state.roomId!==e.room_id)return this.setState({subscribingRoomId:e.room_id,roomId:e.room_id,initialEventId:null,initialEventPixelOffset:null,initialEventScrollIntoView:!0,roomAlias:null,roomLoading:!0,roomLoadError:null,viaServers:e.via_servers,wasContextSwitch:e.context_switch,viewingCall:null!==(u=e.view_call)&&void 0!==u&&u}),await this.stores.slidingSyncManager.setRoomVisible(e.room_id),void(null===(m=this.dis)||void 0===m||m.dispatch(V({},e)));const _={roomId:e.room_id,roomAlias:null!==(t=e.room_alias)&&void 0!==t?t:null,initialEventId:null!==(n=e.event_id)&&void 0!==n?n:null,isInitialEventHighlighted:null!==(s=e.highlighted)&&void 0!==s&&s,initialEventScrollIntoView:null===(o=e.scroll_into_view)||void 0===o||o,roomLoading:!1,roomLoadError:null,shouldPeek:void 0===e.should_peek||e.should_peek,joining:e.joining||!1,replyingToEvent:null,viaServers:null!==(i=e.via_servers)&&void 0!==i?i:[],wasContextSwitch:null!==(r=e.context_switch)&&void 0!==r&&r,viewingCall:g};if((null===(a=e.replyingToEvent)||void 0===a?void 0:a.getRoomId())===e.room_id?_.replyingToEvent=e.replyingToEvent:(null===(l=this.state.replyingToEvent)||void 0===l?void 0:l.getRoomId())===e.room_id&&(_.replyingToEvent=this.state.replyingToEvent),this.setState(_),e.auto_join){var p;const t=V(V({},e),{},{action:C.r.JoinRoom,roomId:e.room_id,metricsTrigger:e.metricsTrigger,canAskToJoin:d.A.getValue("feature_ask_to_join")});e.via_servers&&(t.opts={viaServers:e.via_servers}),null===(p=this.dis)||void 0===p||p.dispatch(t)}h&&await(0,D.bR)(h,E.J.safeGet(),!1)}else if(e.room_alias){var h;let t,n;const s=(0,S.K)(e.room_alias);if(s)t=s.roomId,n=s.viaServers;else{var g;this.setState({roomId:null,initialEventId:null,initialEventPixelOffset:null,isInitialEventHighlighted:!1,initialEventScrollIntoView:!0,roomAlias:e.room_alias,roomLoading:!0,roomLoadError:null,viaServers:e.via_servers,wasContextSwitch:e.context_switch,viewingCall:null!==(g=e.view_call)&&void 0!==g&&g});try{const s=await E.J.safeGet().getRoomIdForAlias(e.room_alias);(0,S.i)(e.room_alias,s.room_id,s.servers),t=s.room_id,n=s.servers}catch(t){var v;return _.vF.error("RVS failed to get room id for alias: ",t),void(null===(v=this.dis)||void 0===v||v.dispatch({action:C.r.ViewRoomError,room_id:null,room_alias:e.room_alias,err:t instanceof f.MatrixError?t:void 0}))}}null===(h=this.dis)||void 0===h||h.dispatch(V(V({},e),{},{room_id:t,via_servers:n}))}}viewThread(e){this.setState({threadId:e.thread_id})}viewRoomError(e){this.setState({roomId:e.room_id,roomAlias:e.room_alias,roomLoading:!1,roomLoadError:e.err})}async joinRoom(e){var t;this.setState({joining:!0});const{roomAlias:n,roomId:s=e.roomId,viaServers:o=[]}=this.state,i=n||s,r=V({viaServers:o},null!==(t=e.opts)&&void 0!==t?t:{});d.A.getValue("feature_share_history_on_invite")&&(r.acceptSharedHistory=!0);try{var a;const t=E.J.safeGet();await(0,k.L5)(()=>t.joinRoom(i,r),5,e=>504===e.httpStatus||524===e.httpStatus),null===(a=this.dis)||void 0===a||a.dispatch({action:C.r.JoinRoomReady,roomId:s,metricsTrigger:e.metricsTrigger})}catch(t){var l,c;if(null===(l=this.dis)||void 0===l||l.dispatch({action:C.r.JoinRoomError,roomId:s,err:t,canAskToJoin:e.canAskToJoin}),e.canAskToJoin&&t instanceof f.MatrixError&&403===t.httpStatus)null===(c=this.dis)||void 0===c||c.dispatch({action:C.r.PromptAskToJoin})}}getInvitingUserId(e){const t=E.J.safeGet(),n=t.getRoom(e);if((null==n?void 0:n.getMyMembership())===c.O.Invite){const e=n.getMember(t.getSafeUserId()),s=e?e.events.member:null;return null==s?void 0:s.getSender()}}showJoinRoomError(e,t){let n=e.message?e.message:JSON.stringify(e);if(_.vF.log("Failed to join room:",n),"ConnectionError"===e.name)n=(0,x._t)("room|error_join_connection");else if("M_INCOMPATIBLE_ROOM_VERSION"===e.errcode)n=o.createElement("div",null,(0,x._t)("room|error_join_incompatible_version_1"),o.createElement("br",null),(0,x._t)("room|error_join_incompatible_version_2"));else if(404===e.httpStatus){const e=this.getInvitingUserId(t);e&&(n=e.endsWith(`:${E.J.safeGet().getDomain()}`)?(0,x._t)("room|error_join_404_invite_same_hs"):(0,x._t)("room|error_join_404_invite")),t===this.state.roomId&&0===this.state.viaServers.length&&(n=o.createElement("div",null,(0,x._t)("room|error_join_404_1"),o.createElement("br",null),o.createElement("br",null),(0,x._t)("room|error_join_404_2")))}A.Ay.createDialog(T.A,{title:(0,x._t)("room|error_join_title"),description:n})}joinRoomError(e){this.setState({joining:!1,joinError:e.err}),e.err&&!e.canAskToJoin&&this.showJoinRoomError(e.err,e.roomId)}reset(){this.state=Object.assign({},H)}resetDispatcher(e){var t;this.dispatchToken&&(null===(t=this.dis)||void 0===t||t.unregister(this.dispatchToken));this.dis=e,e&&(this.dispatchToken=this.dis.register(this.onDispatch.bind(this)))}getRoomId(){return this.state.roomId}getThreadId(){return this.state.threadId}getInitialEventId(){return this.state.initialEventId}isInitialEventHighlighted(){return this.state.isInitialEventHighlighted}initialEventScrollIntoView(){return this.state.initialEventScrollIntoView}getRoomAlias(){return this.state.roomAlias}isRoomLoading(){return this.state.roomLoading}getRoomLoadError(){return this.state.roomLoadError}isJoining(){return this.state.joining}getJoinError(){return this.state.joinError}getQuotingEvent(){return this.state.replyingToEvent}shouldPeek(){return this.state.shouldPeek}getWasContextSwitch(){return this.state.wasContextSwitch}isViewingCall(){return this.state.viewingCall}promptAskToJoin(){return this.state.promptAskToJoin}submitAskToJoin(e){E.J.safeGet().knockRoom(e.roomId,V({viaServers:this.state.viaServers},e.opts)).catch(e=>A.Ay.createDialog(T.A,{title:(0,x._t)("room|error_join_title"),description:403===e.httpStatus?(0,x._t)("room|error_join_403"):e.message})).finally(()=>this.setState({promptAskToJoin:!1}))}cancelAskToJoin(e){E.J.safeGet().leave(e.roomId).catch(e=>A.Ay.createDialog(T.A,{title:(0,x._t)("room|error_cancel_knock_title"),description:e.message}))}getViewRoomOpts(){return this.state.viewRoomOpts}setViewRoomOpts(){const e={buttons:[]};j.r.instance.invoke(w.J.ViewRoom,e,this.getRoomId()),this.setState({viewRoomOpts:e})}isRoomDisplayedInModule(e){const t=this.stores.spaceStore.activeSpace,n=L.r.instance.extras.visibleRoomBySpaceKey.get(t);return!!n&&n().includes(e)}}var W=n("./src/stores/spaces/SpaceStore.ts"),K=n("./src/utils/localRoom/isLocalRoom.ts"),$=n("./src/utils/Timer.ts");class J{constructor(e){(0,s.A)(this,"typingStates",{}),this.context=e,this.reset()}reset(){this.typingStates={}}setSelfTyping(e,t,n){var s,o;if((0,K.F)(e))return;if(!d.A.getValue("sendTypingNotifications"))return;if(d.A.getValue("lowBandwidth"))return;if(t)return;let i=this.typingStates[e];(n||i)&&(null===(s=i)||void 0===s?void 0:s.isTyping)!==n&&(i||(i=this.typingStates[e]={isTyping:n,serverTimer:new $.A(3e4),userTimer:new $.A(1e4)}),i.isTyping=n,n&&(i.serverTimer.isRunning()?i.serverTimer.restart():i.serverTimer.restart().finished().then(()=>{const t=this.typingStates[e];t&&(t.isTyping=!1)}),i.userTimer.isRunning()?i.userTimer.restart():i.userTimer.restart().finished().then(()=>{this.setSelfTyping(e,t,!1)})),null===(o=this.context.client)||void 0===o||o.sendTyping(e,n,3e4))}}class G{constructor(e){if((0,s.A)(this,"head",null),(0,s.A)(this,"tail",null),(0,s.A)(this,"map",void 0),this.capacity=e,this.capacity<1)throw new Error("Cache capacity must be at least 1");this.map=new Map}has(e){try{return void 0!==this.getItem(e)}catch(e){return this.onError(e),!1}}get(e){try{var t;return null===(t=this.getItem(e))||void 0===t?void 0:t.value}catch(e){return void this.onError(e)}}set(e,t){try{this.safeSet(e,t)}catch(e){this.onError(e)}}delete(e){const t=this.map.get(e);if(t)try{this.removeItemFromList(t),this.map.delete(e)}catch(e){this.onError(e)}}clear(){this.map=new Map,this.head=null,this.tail=null}*values(){for(const e of this.map.values())yield e.value}safeSet(e,t){const n=this.getItem(e);if(n)return void(n.value=t);const s={key:e,value:t,next:null,prev:null};this.head&&(this.head.prev=s,s.next=this.head),this.setHeadTail(s),this.map.set(e,s),this.tail&&this.map.size>this.capacity&&this.delete(this.tail.key)}onError(e){_.vF.warn("LruCache error",e),this.clear()}getItem(e){const t=this.map.get(e);if(t)return t===this.head||(this.removeItemFromList(t),this.head&&(this.head.prev=t),t.prev=null,t.next=this.head,this.setHeadTail(t)),t}setHeadTail(e){null===e.prev&&(this.head=e),null===e.next&&(this.tail=e)}removeItemFromList(e){e===this.head&&(this.head=e.next),e===this.tail&&(this.tail=e.prev),e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev)}}const q=500;class Y{constructor(e){(0,s.A)(this,"profiles",new G(q)),(0,s.A)(this,"profileLookupErrors",new G(q)),(0,s.A)(this,"knownProfiles",new G(q)),(0,s.A)(this,"onRoomMembershipEvent",(e,t)=>{const n=this.profiles.get(t.userId);!n||n.displayname===t.rawDisplayName&&n.avatar_url===t.getMxcAvatarUrl()||this.profiles.delete(t.userId);const s=this.knownProfiles.get(t.userId);!s||s.displayname===t.rawDisplayName&&s.avatar_url===t.getMxcAvatarUrl()||this.knownProfiles.delete(t.userId)}),this.client=e,e.on(f.RoomMemberEvent.Membership,this.onRoomMembershipEvent)}getProfile(e){return this.profiles.get(e)}async getOrFetchProfile(e,t){const n=this.profiles.get(e);return n||this.fetchProfile(e,t)}getProfileLookupError(e){return this.profileLookupErrors.get(e)}getOnlyKnownProfile(e){return this.knownProfiles.get(e)}async fetchProfile(e,t){const n=await this.fetchProfileFromApi(e,t);return this.profiles.set(e,n),n}async fetchOnlyKnownProfile(e){if(!this.knownProfiles.has(e)&&!this.isUserIdKnown(e))return;const t=await this.fetchProfileFromApi(e);return this.knownProfiles.set(e,t),t}flush(){this.profiles=new G(q),this.profileLookupErrors=new G(q),this.knownProfiles=new G(q)}async fetchProfileFromApi(e,t){this.profileLookupErrors.delete(e);try{var n;return null!==(n=await this.client.getProfileInfo(e))&&void 0!==n?n:null}catch(n){if(_.vF.warn(`Error retrieving profile for userId ${e}`,n),n instanceof f.MatrixError&&this.profileLookupErrors.set(e,n),null!=t&&t.shouldThrow)throw n}return null}isUserIdKnown(e){return this.client.getRooms().some(t=>!!t.getMember(e))}}var Z=n("./src/stores/widgets/WidgetLayoutStore.ts"),Q=n("./src/stores/widgets/WidgetPermissionStore.ts"),X=n("./node_modules/oidc-client-ts/dist/umd/oidc-client-ts.js"),ee=n("./src/utils/oidc/persistOidcSettings.ts"),te=n("./src/PlatformPeg.ts");class ne{constructor(e){(0,s.A)(this,"oidcClient",void 0),(0,s.A)(this,"initialisingOidcClientPromise",void 0),(0,s.A)(this,"authenticatedIssuer",void 0),(0,s.A)(this,"_accountManagementEndpoint",void 0),(0,s.A)(this,"_accountManagementActionsSupported",void 0),(0,s.A)(this,"readyPromise",void 0),this.matrixClient=e,this.readyPromise=this.init()}async init(){if(this.authenticatedIssuer=(0,ee.HB)(),this.authenticatedIssuer)await this.getOidcClient();else try{const e=await this.matrixClient.getAuthMetadata();this.setAccountManagementEndpoint(e.account_management_uri,e.issuer,e.account_management_actions_supported)}catch(e){console.log("Auth issuer not found",e)}}get isUserAuthenticatedWithOidc(){return!!this.authenticatedIssuer}setAccountManagementEndpoint(e,t,n){const s=new URL(null!=e?e:t),o=(0,ee.X5)();o&&s.searchParams.set("id_token_hint",o),this._accountManagementEndpoint=s.toString(),this._accountManagementActionsSupported=n}get accountManagementEndpoint(){return this._accountManagementEndpoint}get accountManagementActionsSupported(){return this._accountManagementActionsSupported}async revokeTokens(e,t){const n=await this.getOidcClient();if(!n)throw new Error("No OIDC client");if((await Promise.all([this.tryRevokeToken(n,e,"access_token"),this.tryRevokeToken(n,t,"refresh_token")])).some(e=>!e))throw new Error("Failed to revoke tokens")}async tryRevokeToken(e,t,n){try{return!!t&&(await e.revokeToken(t,n),!0)}catch(e){return _.vF.error(`Failed to revoke ${n}`,e),!1}}async getOidcClient(){return this.oidcClient||this.initialisingOidcClientPromise||(this.initialisingOidcClientPromise=this.initOidcClient()),await this.initialisingOidcClientPromise,this.initialisingOidcClientPromise=void 0,this.oidcClient}async initOidcClient(){if(this.authenticatedIssuer)try{var e;const t=(0,ee.rW)(),n=await(0,f.discoverAndValidateOIDCIssuerWellKnown)(this.authenticatedIssuer);this.setAccountManagementEndpoint(n.account_management_uri,n.issuer,n.account_management_actions_supported),this.oidcClient=new X.OidcClient({authority:n.issuer,signingKeys:null!==(e=n.signingKeys)&&void 0!==e?e:void 0,redirect_uri:te.A.get().getOidcCallbackUrl().href,client_id:t})}catch(e){_.vF.error("Failed to initialise OidcClientStore",e)}else _.vF.error("Cannot initialise OIDC client without issuer.")}}var se,oe=n("./src/stores/WidgetStore.ts"),ie=n("./node_modules/lodash/throttle.js");class re extends y.EventEmitter{constructor(...e){super(...e),(0,s.A)(this,"_isResizing",!1),(0,s.A)(this,"throttledMiddlePanel",(0,ie.A)(()=>this.emit("middlePanelResized"),200))}get isResizing(){return this._isResizing}startResizing(){this._isResizing=!0,this.emit("isResizing",!0)}stopResizing(){this._isResizing=!1,this.emit("isResizing",!1)}noisyMiddlePanel(){this.emit("middlePanelResizedNoisy")}updateMiddlePanel(){this.throttledMiddlePanel(),this.noisyMiddlePanel()}notifyLeftHandleResized(){this.updateMiddlePanel()}notifyRightHandleResized(){this.updateMiddlePanel()}notifyTimelineHeightChanged(){this.updateMiddlePanel()}notifyWindowResized(){this.updateMiddlePanel()}}class ae{constructor(e,t){(0,s.A)(this,"stores",new Map),this.dispatcher=e,this.sdkContextClass=t}getRoomViewStoreForRoom(e){const t=this.stores.has(e)?this.stores.get(e):new z(this.dispatcher,this.sdkContextClass,e);return t.viewRoom({action:C.r.ViewRoom,room_id:e,metricsTrigger:void 0}),this.stores.set(e,t),t}removeRoomViewStore(e){this.stores.delete(e)||_.vF.warn(`removeRoomViewStore called with ${e} but no store exists for this room.`)}dispose(){for(const e of this.stores.keys())this.removeRoomViewStore(e)}}const le=(0,o.createContext)(null);le.displayName="SDKContext";class ce{constructor(){(0,s.A)(this,"client",void 0),(0,s.A)(this,"_WidgetPermissionStore",void 0),(0,s.A)(this,"_MemberListStore",void 0),(0,s.A)(this,"_RightPanelStore",void 0),(0,s.A)(this,"_RoomNotificationStateStore",void 0),(0,s.A)(this,"_RoomViewStore",void 0),(0,s.A)(this,"_WidgetLayoutStore",void 0),(0,s.A)(this,"_WidgetStore",void 0),(0,s.A)(this,"_PosthogAnalytics",void 0),(0,s.A)(this,"_SlidingSyncManager",void 0),(0,s.A)(this,"_SpaceStore",void 0),(0,s.A)(this,"_LegacyCallHandler",void 0),(0,s.A)(this,"_TypingStore",void 0),(0,s.A)(this,"_UserProfilesStore",void 0),(0,s.A)(this,"_OidcClientStore",void 0),(0,s.A)(this,"_ResizeNotifier",void 0),(0,s.A)(this,"_MultiRoomViewStore",void 0)}constructEagerStores(){this._RoomViewStore=this.roomViewStore}get legacyCallHandler(){return this._LegacyCallHandler||(this._LegacyCallHandler=r.Ay.instance),this._LegacyCallHandler}get rightPanelStore(){return this._RightPanelStore||(this._RightPanelStore=g.A.instance),this._RightPanelStore}get roomNotificationStateStore(){return this._RoomNotificationStateStore||(this._RoomNotificationStateStore=h.n.instance),this._RoomNotificationStateStore}get roomViewStore(){return this._RoomViewStore||(this._RoomViewStore=new z(i.A,this)),this._RoomViewStore}get widgetLayoutStore(){return this._WidgetLayoutStore||(this._WidgetLayoutStore=Z.aK.instance),this._WidgetLayoutStore}get widgetPermissionStore(){return this._WidgetPermissionStore||(this._WidgetPermissionStore=new Q.r(this)),this._WidgetPermissionStore}get widgetStore(){return this._WidgetStore||(this._WidgetStore=oe.Ay.instance),this._WidgetStore}get posthogAnalytics(){return this._PosthogAnalytics||(this._PosthogAnalytics=a.Vo.instance),this._PosthogAnalytics}get memberListStore(){return this._MemberListStore||(this._MemberListStore=new p(this)),this._MemberListStore}get slidingSyncManager(){return this._SlidingSyncManager||(this._SlidingSyncManager=l.f.instance),this._SlidingSyncManager}get spaceStore(){return this._SpaceStore||(this._SpaceStore=W.Ay.instance),this._SpaceStore}get typingStore(){return this._TypingStore||(this._TypingStore=new J(this),window.mxTypingStore=this._TypingStore),this._TypingStore}get userProfilesStore(){if(!this.client)throw new Error("Unable to create UserProfilesStore without a client");return this._UserProfilesStore||(this._UserProfilesStore=new Y(this.client)),this._UserProfilesStore}get oidcClientStore(){if(!this.client)throw new Error("Unable to create OidcClientStore without a client");return this._OidcClientStore||(this._OidcClientStore=new ne(this.client)),this._OidcClientStore}get resizeNotifier(){return this._ResizeNotifier||(this._ResizeNotifier=new re),this._ResizeNotifier}get multiRoomViewStore(){return this._MultiRoomViewStore||(this._MultiRoomViewStore=new ae(i.A,this)),this._MultiRoomViewStore}onLoggedOut(){this._UserProfilesStore=void 0}}se=ce,(0,s.A)(ce,"instance",new se)},"./src/contexts/ScopedRoomContext.tsx"(e,t,n){"use strict";n.d(t,{ME:()=>h,yw:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/react/index.js"),r=n("./src/utils/objects.ts"),a=n("./src/hooks/useEventEmitter.ts"),l=n("./src/contexts/RoomContext.ts");const c=["children"];let d=function(e){return e.Update="update",e}({});class u extends o.TypedEventEmitter{constructor(e){super(),this.state=e}setState(e){var t;const n=(0,r.Eg)(null!==(t=this.state)&&void 0!==t?t:{},e);this.state=e,this.emit(d.Update,n)}}const m=(0,i.createContext)(void 0),p=(0,i.memo)(e=>{let{children:t}=e,n=(0,s.A)(e,c);const o=(0,i.useMemo)(()=>new u(n),[]);return(0,i.useEffect)(()=>{o.setState(n)},[o,n]),i.createElement(l.Ay.Provider,{value:n},i.createElement(m.Provider,{value:o},t))});function h(...e){var t;const n=(0,i.useContext)(m),[s,o]=(0,i.useState)(null!==(t=null==n?void 0:n.state)&&void 0!==t?t:{});return(0,a.YK)(n,d.Update,t=>{null!=n&&n.state&&t.some(t=>e.includes(t))&&o(n.state)}),s}},"./src/createRoom.ts"(e,t,n){"use strict";n.d(t,{Ay:()=>I,EP:()=>T,e:()=>O,qX:()=>P});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/Modal.tsx"),a=n("./src/languageHandler.tsx"),l=n("./src/dispatcher/dispatcher.ts"),c=n("./src/Rooms.ts"),d=n("./src/UserAddress.ts"),u=n("./src/stores/spaces/SpaceStore.ts"),m=n("./src/utils/space.tsx"),p=n("./src/models/Call.ts"),h=n("./src/dispatcher/actions.ts"),g=n("./src/components/views/dialogs/ErrorDialog.tsx"),v=n("./src/components/views/elements/Spinner.tsx"),f=n("./src/utils/dm/findDMForUser.ts"),_=n("./src/utils/rooms.ts"),y=n("./src/utils/crypto/shouldForceDisableEncryption.ts"),b=n("./src/utils/membership.ts"),w=n("./src/utils/PreferredRoomVersions.ts"),E=n("./src/settings/SettingsStore.ts"),A=n("./src/utils/crypto/index.ts"),x=n("./src/call-types.ts"),S=n("./src/editor/serialize.ts");function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?C(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const R={[o.EventType.RoomName]:50,[o.EventType.RoomAvatar]:50,[o.EventType.RoomPowerLevels]:100,[o.EventType.RoomHistoryVisibility]:100,[o.EventType.RoomCanonicalAlias]:50,[o.EventType.RoomTombstone]:100,[o.EventType.RoomServerAcl]:100,[o.EventType.RoomEncryption]:100};async function I(e,t){var n,s;if(void 0===(t=t||{}).spinner&&(t.spinner=!0),void 0===t.guestAccess&&(t.guestAccess=!0),void 0===t.encryption&&(t.encryption=!1),void 0===t.stateEncryption&&(t.stateEncryption=!1),e.isGuest())return l.A.dispatch({action:"require_registration"}),null;const f=t.dmUserId?o.Preset.TrustedPrivateChat:o.Preset.PrivateChat,_=t.createOpts||{};if(_.preset=_.preset||f,_.visibility=_.visibility||o.Visibility.Private,t.dmUserId&&t.dmUserId!==e.getUserId()&&void 0===_.invite)switch((0,d.Z)(t.dmUserId)){case"mx-user-id":_.invite=[t.dmUserId];break;case"email":{const n=e.getIdentityServerUrl(!0);if(!n)throw new a.P7("cannot_invite_without_identity_server");_.invite_3pid=[{id_server:n,medium:"email",address:t.dmUserId}];break}}if(t.dmUserId&&void 0===_.is_direct&&(_.is_direct=!0),t.roomType?(_.creation_content=k(k({},_.creation_content),{},{[o.RoomCreateTypeField]:t.roomType}),t.roomType!==o.RoomType.ElementVideo&&t.roomType!==o.RoomType.UnstableCall||(_.power_level_content_override={events:k(k({},R),{},{[t.roomType===o.RoomType.ElementVideo?p.am.MEMBER_EVENT_TYPE:x.Vj.name]:0,"im.vector.modular.widgets":100})})):E.A.getValue("feature_group_calls")&&(_.power_level_content_override={events:k(k({},R),{},{[x.Vj.name]:0})}),void 0===t.andView&&(t.andView=!0),_.initial_state=_.initial_state||[],t.guestAccess&&_.initial_state.push({type:"m.room.guest_access",state_key:"",content:{guest_access:"can_join"}}),t.encryption){const e={algorithm:A.Q};t.stateEncryption&&(e["io.element.msc4362.encrypt_state_events"]=!0),_.initial_state.push({type:"m.room.encryption",state_key:"",content:e})}const y=null!==(n=null===(s=(await e.getCapabilities())["m.room_versions"])||void 0===s?void 0:s.default)&&void 0!==n?n:"1";if(t.joinRule!==o.JoinRule.Knock||(0,w.Y)(y,w.W.KnockRooms)||(_.room_version=w.W.KnockRooms),t.parentSpace&&(_.initial_state.push((0,m.Dz)(t.parentSpace,!0)),t.joinRule===o.JoinRule.Restricted&&((0,w.Y)(y,w.W.KnockRooms)||(_.room_version=w.W.RestrictedRooms),_.initial_state.push({type:o.EventType.RoomJoinRules,content:{join_rule:o.JoinRule.Restricted,allow:[{type:o.RestrictedAllowType.RoomMembership,room_id:t.parentSpace.roomId}]}}))),t.joinRule&&t.joinRule!==o.JoinRule.Restricted&&_.initial_state.push({type:o.EventType.RoomJoinRules,content:{join_rule:t.joinRule}}),!t.stateEncryption&&(t.name&&(_.name=t.name),t.topic&&(_.topic=t.topic),t.avatar)){let n=t.avatar;t.avatar instanceof File&&({content_uri:n}=await e.uploadContent(t.avatar)),_.initial_state.push({type:o.EventType.RoomAvatar,content:{url:n}})}let b,C,I,P=t.historyVisibility;if(!P){const e=t.joinRule===o.JoinRule.Public||_.preset===o.Preset.PublicChat;!t.dmUserId&&e||(P=o.HistoryVisibility.Invited)}return P&&_.initial_state.push({type:o.EventType.RoomHistoryVisibility,content:{history_visibility:P}}),t.spinner&&(b=r.Ay.createDialog(v.A,void 0,"mx_Dialog_spinner")),e.createRoom(_).catch(function(t){return 403===t.httpStatus&&"M_UNKNOWN"===t.errcode&&"Not allowed to publish room"===t.data.error?(i.vF.warn("Failed to publish room, try again without publishing it"),_.visibility=o.Visibility.Private,e.createRoom(_)):Promise.reject(t)}).then(async n=>{C=n.room_id,I=new Promise(t=>{const n=e.getRoom(C);if(n)t(n);else{const n=s=>{s.roomId===C&&(t(s),e.off(o.ClientEvent.Room,n))};e.on(o.ClientEvent.Room,n)}}),t.dmUserId&&await c.FZ(e,C,t.dmUserId)}).then(async()=>{t.encryption&&t.stateEncryption&&await async function(e,t,n){await async function(e,t){if(e.hasEncryptionStateEvent())return;const{promise:n,resolve:s}=Promise.withResolvers(),r=setTimeout(s,t,"timed_out"),a=e.getLiveTimeline().getState(o.Direction.Forward),{promise:l,resolve:c}=Promise.withResolvers(),d=e=>{e.getStateEvents(o.EventType.RoomEncryption,"")&&c("received_encryption_state")};a.on(o.RoomStateEvent.Update,d);const u=await Promise.race([n,l]);if(a.off(o.RoomStateEvent.Update,d),clearTimeout(r),"timed_out"===u)throw i.vF.warn("Timed out while waiting for room to enable encryption"),new Error("Timed out while waiting for room to enable encryption")}(t,3e4),n.name&&await e.setRoomName(t.roomId,n.name);if(n.topic){const s=(0,S.Ro)(n.topic,{forceHTML:!1});await e.setRoomTopic(t.roomId,n.topic,s)}if(n.avatar){let s;n.avatar instanceof File?({content_uri:s}=await e.uploadContent(n.avatar)):s=n.avatar,await e.sendStateEvent(t.roomId,o.EventType.RoomAvatar,{url:s},"")}}(e,await I,t)}).finally(function(){b&&b.close()}).then(()=>{if(t.parentSpace)return u.Ay.instance.addRoomToSpace(t.parentSpace,C,[e.getDomain()],t.suggested)}).then(async()=>{t.roomType===o.RoomType.ElementVideo?await p.am.create(await I):t.roomType===o.RoomType.UnstableCall&&p.Ho.create(await I)}).then(function(){return t.andView&&l.A.dispatch({action:h.r.ViewRoom,room_id:C,should_peek:!1,joining:!0,justCreatedOpts:t,metricsTrigger:"Created"}),C},function(e){if(t.inlineErrors)throw e;l.A.dispatch({action:h.r.JoinRoomError,roomId:C}),i.vF.error("Failed to create room "+C+" "+e);let n=(0,a._t)("create_room|generic_error");return"M_UNSUPPORTED_ROOM_VERSION"===e.errcode&&(n=(0,a._t)("create_room|unsupported_version")),r.Ay.createDialog(g.A,{title:(0,a._t)("create_room|error_title"),description:n}),null})}async function P(e,t){try{var n;const s=await(null===(n=e.getCrypto())||void 0===n?void 0:n.getUserDeviceInfo(t,!0));if(!s)return!1;for(const e of s.values())if(0===e.size)return!1}catch(e){return i.vF.error("Error determining if it's possible to encrypt to all users: ",e),!1}return!0}async function T(e,t){const n=(0,f.D)(e,t);let s;if(n)s=n.roomId;else{let n;if((0,_.u)(e)&&(n=await P(e,[t])),s=await I(e,{encryption:n,dmUserId:t,spinner:!1,andView:!1}),!s)return null;await(0,b.vB)(e,s,t)}return s}async function O(e,t){const n=await e.doesServerForceEncryptionForPreset(t),s=(0,y.I)(e);return n&&s&&console.warn(`Conflicting e2ee settings: server config and .well-known configuration disagree. Using server forced encryption setting for chat type ${t}`),n?{allowChange:!1,forcedValue:!0}:s?{allowChange:!1,forcedValue:!1}:{allowChange:!0}}},"./src/customisations/Alias.ts"(e,t,n){"use strict";n.d(t,{A:()=>s});const s={}},"./src/customisations/ChatExport.ts"(e,t,n){"use strict";n.d(t,{A:()=>s});const s={getForceChatExportParameters:()=>({})}},"./src/customisations/ComponentVisibility.ts"(e,t,n){"use strict";n.d(t,{N:()=>s});const s={}},"./src/customisations/Directory.ts"(e,t,n){"use strict";n.d(t,{A:()=>s});const s={}},"./src/customisations/Lifecycle.ts"(e,t,n){"use strict";n.d(t,{A:()=>s});const s={}},"./src/customisations/Media.ts"(e,t,n){"use strict";n.r(t),n.d(t,{mediaFromContent:()=>l,mediaFromMxc:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/MatrixClientPeg.ts");var r=n("./src/languageHandler.tsx");class a{constructor(e,t){if((0,s.A)(this,"client",void 0),this.prepared=e,this.client=null!=t?t:i.J.safeGet(),!this.client)throw new Error("No possible MatrixClient for media resolution. Please provide one or log in.")}get isEncrypted(){return!!this.prepared.file}get srcMxc(){return this.prepared.mxc}get thumbnailMxc(){var e;return null===(e=this.prepared.thumbnail)||void 0===e?void 0:e.mxc}get hasThumbnail(){return!!this.thumbnailMxc}get srcHttp(){return this.client.mxcUrlToHttp(this.srcMxc,void 0,void 0,void 0,!1,!0)||null}get thumbnailHttp(){return this.hasThumbnail?this.client.mxcUrlToHttp(this.thumbnailMxc,void 0,void 0,void 0,!1,!0):null}getThumbnailHttp(e,t,n="scale"){return this.hasThumbnail?(e=Math.floor(e*window.devicePixelRatio),t=Math.floor(t*window.devicePixelRatio),this.client.mxcUrlToHttp(this.thumbnailMxc,e,t,n,!1,!0)):null}getThumbnailOfSourceHttp(e,t,n="scale"){return e=Math.floor(e*window.devicePixelRatio),t=Math.floor(t*window.devicePixelRatio),this.client.mxcUrlToHttp(this.srcMxc,e,t,n,!1,!0)}getSquareThumbnailHttp(e){return e=Math.floor(e*window.devicePixelRatio),this.hasThumbnail?this.getThumbnailHttp(e,e,"crop"):this.getThumbnailOfSourceHttp(e,e,"crop")}async downloadSource(){const e=this.srcHttp;if(!e)throw new r.P7("error|download_media");const t=await fetch(e);if(!t.ok)throw(0,o.parseErrorResponse)(t,await t.text());return t}}const l=(e,t)=>new a(function(e){var t,n,s;let o;if("object"==typeof(null==e?void 0:e.info)&&"thumbnail_url"in e.info&&e.info.thumbnail_url?o={mxc:e.info.thumbnail_url,file:e.info.thumbnail_file}:"object"==typeof(null==e?void 0:e.info)&&"thumbnail_file"in e.info&&"object"==typeof(null==e||null===(t=e.info)||void 0===t?void 0:t.thumbnail_file)&&null!=e&&null!==(n=e.info)&&void 0!==n&&null!==(n=n.thumbnail_file)&&void 0!==n&&n.url&&(o={mxc:e.info.thumbnail_file.url,file:e.info.thumbnail_file}),null!=e&&e.url)return{thumbnail:o,mxc:e.url,file:e.file};if(null!=e&&null!==(s=e.file)&&void 0!==s&&s.url)return{thumbnail:o,mxc:e.file.url,file:e.file};throw new Error("Invalid file provided: cannot determine MXC URI. Has it been redacted?")}(e),t),c=(e,t)=>l({url:e},t)},"./src/customisations/RoomList.ts"(e,t,n){"use strict";n.d(t,{B:()=>s});const s={}},"./src/customisations/UserIdentifier.ts"(e,t,n){"use strict";n.d(t,{A:()=>s});const s={getDisplayUserIdentifier:function(e,{roomId:t,withDisplayName:n}){return e}}},"./src/customisations/WidgetPermissions.ts"(e,t,n){"use strict";n.d(t,{l:()=>s});const s={}},"./src/customisations/WidgetVariables.ts"(e,t,n){"use strict";n.d(t,{c:()=>s});const s={}},"./src/customisations/helpers/UIComponents.ts"(e,t,n){"use strict";n.d(t,{g:()=>o});var s=n("./src/customisations/ComponentVisibility.ts");function o(e){var t,n;return null===(t=null===(n=s.N.shouldShowComponent)||void 0===n?void 0:n.call(s.N,e))||void 0===t||t}},"./src/dispatcher/actions.ts"(e,t,n){"use strict";n.d(t,{r:()=>s});let s=function(e){return e.ViewUser="view_user",e.Share="share",e.ViewUserSettings="view_user_settings",e.ViewUserDeviceSettings="view_user_device_settings",e.ViewRoomDirectory="view_room_directory",e.ViewRoomError="view_room_error",e.ViewHomePage="view_home_page",e.RecheckTheme="recheck_theme",e.CheckUpdates="check_updates",e.FocusSendMessageComposer="focus_send_message_composer",e.ClearAndFocusSendMessageComposer="clear_focus_send_message_composer",e.FocusEditMessageComposer="focus_edit_message_composer",e.FocusAComposer="focus_a_composer",e.FocusThreadsPanel="focus_threads_panel",e.ToggleUserMenu="toggle_user_menu",e.ToggleSpacePanel="toggle_space_panel",e.MigrateBaseFontSize="migrate_base_font_size",e.UpdateFontSizeDelta="update_font_size_delta",e.UpdateSystemFont="update_system_font",e.ViewRoom="view_room",e.ViewThread="view_thread",e.ViewRoomDelta="view_room_delta",e.OpenDialPad="open_dial_pad",e.UploadStarted="upload_started",e.UploadProgress="upload_progress",e.UploadFinished="upload_finished",e.UploadFailed="upload_failed",e.UploadCanceled="upload_canceled",e.JoinRoom="join_room",e.JoinRoomReady="join_room_ready",e.JoinRoomError="join_room_error",e.BulkRedactStart="bulk_redact_start",e.BulkRedactEnd="bulk_redact_end",e.ComposerInsert="composer_insert",e.SwitchSpace="switch_space",e.UpdateSpaceHierarchy="update_space_hierarchy",e.SettingUpdated="setting_updated",e.EditEvent="edit_event",e.PseudonymousAnalyticsAccept="pseudonymous_analytics_accept",e.PseudonymousAnalyticsReject="pseudonymous_analytics_reject",e.AfterLeaveRoom="after_leave_room",e.AfterForgetRoom="after_forget_room",e.DoAfterSyncPrepared="do_after_sync_prepared",e.ViewStartChatOrReuse="view_start_chat_or_reuse",e.ActiveRoomChanged="active_room_changed",e.OpenForwardDialog="open_forward_dialog",e.OpenReportEventDialog="open_report_event_dialog",e.TriggerLogout="trigger_logout",e.OpenSpacePreferences="open_space_preferences",e.OpenSpaceSettings="open_space_settings",e.OpenInviteDialog="open_invite_dialog",e.OpenAddToExistingSpaceDialog="open_add_to_existing_space_dialog",e.DumpDebugLogs="dump_debug_logs",e.ShowRoomTopic="show_room_topic",e.ClientNotViable="client_not_viable",e.OnLoggedOut="on_logged_out",e.OnLoggedIn="on_logged_in",e.WillStartClient="will_start_client",e.ClientStarted="client_started",e.OverwriteLogin="overwrite_login",e.ShowThread="show_thread",e.PromptAskToJoin="prompt_ask_to_join",e.SubmitAskToJoin="submit_ask_to_join",e.CancelAskToJoin="cancel_ask_to_join",e.OpenSpotlight="open_spotlight",e.RoomLoaded="room_loaded",e.View3pidInvite="view_3pid_invite",e.FocusMessageSearch="focus_search",e.CreateChat="view_create_chat",e.CreateRoom="view_create_room",e.UserActivity="user_activity",e}({})},"./src/dispatcher/dispatcher.ts"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/dispatcher/payloads.ts");function i(e,t){if(!e)throw new Error(t)}const r=new class{constructor(){(0,s.A)(this,"callbacks",new Map),(0,s.A)(this,"isHandled",new Map),(0,s.A)(this,"isPending",new Map),(0,s.A)(this,"pendingPayload",void 0),(0,s.A)(this,"lastId",1),(0,s.A)(this,"_dispatch",e=>{i(!this.isDispatching(),"Dispatch.dispatch(...): Cannot dispatch in the middle of a dispatch."),this.startDispatching(e);try{for(const[e]of this.callbacks)this.isPending.get(e)||this.invokeCallback(e)}finally{this.stopDispatching()}})}register(e){const t="ID_"+this.lastId++;return this.callbacks.set(t,e),this.isDispatching()&&(this.isPending.set(t,!0),this.isHandled.set(t,!0)),t}unregister(e){e&&(i(this.callbacks.has(e),`Dispatcher.unregister(...): '${e}' does not map to a registered callback.`),this.callbacks.delete(e))}waitFor(e){i(this.isDispatching(),"Dispatcher.waitFor(...): Must be invoked while dispatching.");for(const t of e)this.isPending.get(t)?i(this.isHandled.get(t),`Dispatcher.waitFor(...): Circular dependency detected while waiting for '${t}'.`):(i(this.callbacks.get(t),`Dispatcher.waitFor(...): '${t}' does not map to a registered callback.`),this.invokeCallback(t))}isDispatching(){return!!this.pendingPayload}invokeCallback(e){this.isPending.set(e,!0),this.callbacks.get(e)(this.pendingPayload),this.isHandled.set(e,!0)}startDispatching(e){for(const[e]of this.callbacks)this.isPending.set(e,!1),this.isHandled.set(e,!1);this.pendingPayload=e}stopDispatching(){this.pendingPayload=void 0}dispatch(e,t=!1){e instanceof o.n?e.fn(e=>{this.dispatch(e,t)}):t?this._dispatch(e):window.setTimeout(this._dispatch,0,e)}fire(e,t=!1){this.dispatch({action:e},t)}};window.mxDispatcher||(window.mxDispatcher=r);const a=r},"./src/dispatcher/payloads.ts"(e,t,n){"use strict";n.d(t,{n:()=>o});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{get action(){return"NOT_USED"}constructor(e){(0,s.A)(this,"fn",void 0),this.fn=e}}},"./src/dispatcher/payloads/ComposerInsertPayload.ts"(e,t,n){"use strict";n.d(t,{D:()=>s});let s=function(e){return e.Send="send",e.Edit="edit",e}({})},"./src/editor/commands.tsx"(e,t,n){"use strict";n.d(t,{Dr:()=>m,d8:()=>h,m8:()=>p,nU:()=>u});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/editor/parts.ts"),r=n("./src/slash-commands/SlashCommands.tsx"),a=n("./src/languageHandler.tsx"),l=n("./src/Modal.tsx"),c=n("./src/components/views/dialogs/ErrorDialog.tsx"),d=n("./src/components/views/dialogs/QuestionDialog.tsx");function u(e){const t=e.parts[0];if(t){if(t.type===i.ZU.Command&&t.text.startsWith("/")&&!t.text.startsWith("//"))return!0;if(t.text.startsWith("/")&&!t.text.startsWith("//")&&(t.type===i.ZU.Plain||t.type===i.ZU.PillCandidate))return!0}return!1}function m(e,t){const n=t.parts.reduce((e,t)=>t.type===i.ZU.UserPill||t.type===i.ZU.RoomPill?e+t.resourceId:e+t.text,""),{cmd:s,args:o}=(0,r.OE)(e,n);return[s,o,n]}async function p(e,t,n,s,i){const d=t.run(e,s,i,n);let u=null,m=d.error;if(d.promise)try{var p;if(t.category===r.ge.messages||t.category===r.ge.effects)u=null!==(p=await d.promise)&&void 0!==p?p:null;else await d.promise}catch(e){m=e}if(m){o.vF.error(`Command failure: ${m}`);const e=!!d.promise?(0,a.AO)("slash_command|server_error"):(0,a.AO)("slash_command|command_error");let t;return t="string"==typeof m?m:m instanceof a.P7?m.translatedMessage:m.message?m.message:(0,a._t)("slash_command|server_error_detail"),l.Ay.createDialog(c.A,{title:(0,a._t)(e),description:t}),[null,!1]}return o.vF.log("Command success."),[u,!0]}async function h(e){const{finished:t}=l.Ay.createDialog(d.A,{title:(0,a._t)("slash_command|unknown_command"),description:s.createElement("div",null,s.createElement("p",null,(0,a._t)("slash_command|unknown_command_detail",{commandText:e})),s.createElement("p",null,(0,a._t)("slash_command|unknown_command_help",{},{code:e=>s.createElement("code",null,e)})),s.createElement("p",null,(0,a._t)("slash_command|unknown_command_hint",{},{code:e=>s.createElement("code",null,e)}))),button:(0,a._t)("slash_command|unknown_command_button")}),[n]=await t;return n||!1}},"./src/editor/deserialize.ts"(e,t,n){"use strict";n.d(t,{OZ:()=>_,SL:()=>m,wj:()=>y});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/HtmlUtils.tsx"),i=n("./src/utils/permalinks/Permalinks.ts"),r=n("./src/editor/parts.ts"),a=n("./src/SdkConfig.ts"),l=n("./src/utils/colour.ts"),c=n("./src/utils/Reply.ts");const d=["UL","OL","LI"];function u(e){return e.replace(/[\\*_[\]`<]|^>/g,e=>`\\${e}`)}function m(e){let t=0,n=0;for(const s of e)"`"===s?n++:(t=Math.max(t,n),n=0);return Math.max(t,n)}function p(e){var t;return d.includes((null===(t=e.parentNode)||void 0===t?void 0:t.nodeName)||"")}function h(e,t,n){const s="@room",o=[];return e.split(s).forEach((e,i,r)=>{e.length&&o.push(...t.plainWithEmoji(n.shouldEscape?u(e):e));i===r.length-1||o.push(t.atRoomPill(s))}),o}function g(e,t,n){e.unshift(n.plain(t));for(let s=0;s<e.length;s++)e[s].type===r.ZU.Newline&&(e.splice(s+1,0,n.plain(t)),s+=1)}function v(e,t,n,s){let i;return Array.from(e.childNodes).flatMap(e=>{const r=f(e,t,n,s);return r.length&&i&&((0,o.aA)(i)||(0,o.aA)(e))&&(p(e)?r.unshift(t.newline()):r.unshift(t.newline(),t.newline())),r.length&&(i=e),r})}function f(e,t,n,s){var o;if(function(e){return e.nodeType===Node.TEXT_NODE?"\n"===e.nodeValue:e.nodeType!==Node.ELEMENT_NODE||"MX-REPLY"===e.nodeName}(e))return[];switch(e.nodeType){case Node.TEXT_NODE:return h(e.nodeValue||"",t,n);case Node.ELEMENT_NODE:switch(e.nodeName){case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":return function(e,t,n){const s=parseInt(e.nodeName.slice(1),10);return[t.plain("#".repeat(s)+" "),...v(e,t,n)]}(e,t,n);case"A":return function(e,t,n){const{href:s}=e,o=(0,i.h3)(s);switch(null==o?void 0:o[0]){case"@":return[t.userPill(e.textContent||"",o)];case"#":return[t.roomPill(o)]}const r=Array.from(e.childNodes);return s===e.textContent&&r.every(e=>e.nodeType===Node.TEXT_NODE)?h(e.textContent,t,n):[t.plain("["),...v(e,t,n),t.plain(`](${s})`)]}(e,t,n);case"IMG":return function(e,t){const{alt:n,src:s}=e;return t.plainWithEmoji(``)}(e,t);case"BR":return[t.newline()];case"HR":return[t.plain("---")];case"EM":return[t.plain("_"),...v(e,t,n),t.plain("_")];case"STRONG":return[t.plain("**"),...v(e,t,n),t.plain("**")];case"DEL":return[t.plain("<del>"),...v(e,t,n),t.plain("</del>")];case"S":return[t.plain("<s>"),...v(e,t,n),t.plain("</s>")];case"SUB":return[t.plain("<sub>"),...v(e,t,n),t.plain("</sub>")];case"SUP":return[t.plain("<sup>"),...v(e,t,n),t.plain("</sup>")];case"U":return[t.plain("<u>"),...v(e,t,n),t.plain("</u>")];case"PRE":return function(e,t){var n;if(!e.textContent)return[];let s="";if("CODE"===(null===(n=e.firstChild)||void 0===n?void 0:n.nodeName))for(const t of e.firstChild.classList)if(t.startsWith("language-")&&!t.startsWith("language-_")){s=t.slice(9);break}const o=e.textContent.replace(/\n$/,""),i="`".repeat(Math.max(3,m(o)+1)),r=[...t.plainWithEmoji(i+s),t.newline()];return o.split("\n").forEach(e=>{r.push(...t.plainWithEmoji(e)),r.push(t.newline())}),r.push(t.plain(i)),r}(e,t);case"CODE":{const n="`".repeat(m(e.textContent||"")+1);return t.plainWithEmoji(`${n}${e.textContent}${n}`)}case"BLOCKQUOTE":{const s=v(e,t,n);return g(s,"> ",t),s}case"LI":return null!==(o=null==s?void 0:s(e))&&void 0!==o?o:v(e,t,n);case"UL":{const s=v(e,t,n,e=>[t.plain("- "),...v(e,t,n)]);return p(e)&&g(s," ",t),s}case"OL":{var r;let s=null!==(r=e.start)&&void 0!==r?r:1;const o=v(e,t,n,e=>{const o=[t.plain(`${s}. `),...v(e,t,n)];return s++,o});return p(e)&&g(o," ",t),o}case"DIV":case"SPAN":if(e.hasAttribute("data-mx-maths")){var l,c,d,f,_,y,b,w;const n=a.Ay.get().latex_maths_delims,s="SPAN"===e.nodeName?null!==(l=null==n||null===(c=n.inline)||void 0===c?void 0:c.left)&&void 0!==l?l:"\\(":null!==(d=null==n||null===(f=n.display)||void 0===f?void 0:f.left)&&void 0!==d?d:"\\[",o="SPAN"===e.nodeName?null!==(_=null==n||null===(y=n.inline)||void 0===y?void 0:y.right)&&void 0!==_?_:"\\)":null!==(b=null==n||null===(w=n.display)||void 0===w?void 0:w.right)&&void 0!==b?b:"\\]",i=e.getAttribute("data-mx-maths");return t.plainWithEmoji(`${s}${i}${o}`)}if(e.hasAttribute("data-mx-spoiler"))return[t.plain("/spoiler "),...v(e,t,n)]}}return v(e,t,n)}function _(e,t,n){const s=e.split(/\r\n|\r|\n/g);return s.reduce((e,o,i)=>{n.isQuotedMessage&&e.push(t.plain("> ")),e.push(...h(o,t,n));return i===s.length-1||e.push(t.newline()),e},[])}function y(e,t,n={shouldEscape:!0}){const o=e.getContent();let i;const r=o.msgtype===s.MsgType.Emote;let a=!1;if("org.matrix.custom.html"===o.format)i=function(e,t,n){const s=f((new DOMParser).parseFromString(e,"text/html").body,t,n);return n.isQuotedMessage&&g(s,"> ",t),s}(o.formatted_body||"",t,n),o.body&&o.formatted_body&&(0,l.a)(o.body)===o.formatted_body&&(a=!0);else{let s=o.body||"";e.replyEventId&&(s=(0,c.fJ)(s)),i=_(s,t,n)}return r&&a?i.unshift(t.plain("/rainbowme ")):a?i.unshift(t.plain("/rainbow ")):r&&i.unshift(t.plain("/me ")),i}},"./src/editor/dom.ts"(e,t,n){"use strict";n.d(t,{Bh:()=>a,xo:()=>i});var s=n("./src/editor/render.ts"),o=n("./src/editor/offset.ts");function i(e,t){const{offset:n,text:s}=r(e,t.focusNode,t.focusOffset);return{caret:n,text:s}}function r(e,t,n){const{node:i,characterOffset:r}=function(e,t){for(;e&&e.nodeType===Node.ELEMENT_NODE;){const o=e.childNodes.length;if(!o)break;var n,s;t>=o?t=(null===(n=e=e.lastChild)||void 0===n?void 0:n.nodeType)===Node.TEXT_NODE?(null===(s=e.textContent)||void 0===s?void 0:s.length)||0:Number.MAX_SAFE_INTEGER:(e=e.childNodes[t],t=0)}return{node:e,characterOffset:t}}(t,n),{text:a,offsetToNode:l}=function(e,t){let n=0,o=!1,i="";function r(e){o||e===t&&(o=!0),e instanceof HTMLElement&&"BR"===e.tagName&&e.nextSibling&&(o||(n+=1),i+="\n");const r=e.nodeType===Node.TEXT_NODE&&function(e){const t=e.nodeValue;if(!t)return"";if((0,s.eK)(e.parentElement))return 1!==t.length?t.replace(s.UW,""):"";return t}(e);return r&&(o||(n+=r.length),i+=r),!0}function a(e){var t;e instanceof HTMLElement&&"DIV"===e.tagName&&"DIV"===(null===(t=e.nextSibling)||void 0===t?void 0:t.tagName)&&(i+="\n",o||(n+=1))}return function(e,t,n){let s=e.firstChild;for(;s&&s!==e;)if(t(s)&&s.firstChild)s=s.firstChild;else if(s.nextSibling)s=s.nextSibling;else{for(;s&&!s.nextSibling&&s!==e;)s=s.parentElement,s&&s!==e&&n(s);s&&s!==e&&(s=s.nextSibling)}}(e,r,a),{text:i,offsetToNode:n}}(e,i),c=function(e,t,n){var i;if(!e)return new o.A(0,!1);let r=n===(null===(i=e.textContent)||void 0===i?void 0:i.length);if(e.nodeType===Node.TEXT_NODE&&(0,s.eK)(e.parentElement)){const t=(e.nodeValue||"").indexOf(s.UW);-1!==t&&t<n&&(n-=1),r=!0}return new o.A(t+n,r)}(i,l,r);return{offset:c,text:a}}function a(e,t,n){const s=r(e,n.focusNode,n.focusOffset).offset,o=r(e,n.anchorNode,n.anchorOffset).offset,i=s.asPosition(t),a=o.asPosition(t);return t.startRange(i,a)}},"./src/editor/model.ts"(e,t,n){"use strict";n.d(t,{A:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");function o(e,t){const n=Math.min(e.length,t.length);for(let s=0;s<n;++s)if(e[s]!==t[s])return s;return n}function i(e,t,n){const s=n-(t.length-e.length);return function(e,t){const n=Math.min(e.length,t.length),s=e.slice(0,n)===t.slice(0,n);if(s&&e.length>t.length)return{removed:e.slice(n),at:n};if(s&&e.length<t.length)return{added:t.slice(n),at:n};{const n=o(e,t);return{removed:e.slice(n),added:t.slice(n),at:n}}}(e.substring(0,s),t.substring(0,n))}var r=n("./src/editor/position.ts"),a=n("./src/editor/range.ts");class l{constructor(e,t,n=null){(0,s.A)(this,"_parts",void 0),(0,s.A)(this,"_partCreator",void 0),(0,s.A)(this,"activePartIdx",null),(0,s.A)(this,"_autoComplete",null),(0,s.A)(this,"autoCompletePartIdx",null),(0,s.A)(this,"autoCompletePartCount",0),(0,s.A)(this,"transformCallback",null),(0,s.A)(this,"onAutoComplete",({replaceParts:e,close:t,range:n})=>{var s;let o;if(e){var i,a;const t=this.autoCompletePartIdx||0;this.replaceRange(new r.A(t,null!==(i=null==n?void 0:n.start)&&void 0!==i?i:0),new r.A(t+this.autoCompletePartCount-1,null!==(a=null==n?void 0:n.end)&&void 0!==a?a:this.parts[t+this.autoCompletePartCount-1].text.length),e),this.autoCompletePartCount=e.length;const s=e[e.length-1],l=this.parts.indexOf(s);o=new r.A(l,s.text.length)}t&&(this._autoComplete=null,this.autoCompletePartIdx=null,this.autoCompletePartCount=0),null===(s=this.updateCallback)||void 0===s||s.call(this,o)}),this.updateCallback=n,this._parts=e,this._partCreator=t,this.transformCallback=null}setTransformCallback(e){this.transformCallback=e}setUpdateCallback(e){this.updateCallback=e}get partCreator(){return this._partCreator}get isEmpty(){return 0===this._parts.reduce((e,t)=>e+t.text.length,0)}clone(){const e=this.parts.map(e=>this.partCreator.deserializePart(e.serialize())).filter(e=>Boolean(e));return new l(e,this._partCreator,this.updateCallback)}insertPart(e,t){this._parts.splice(e,0,t),null!==this.activePartIdx&&this.activePartIdx>=e&&++this.activePartIdx,null!==this.autoCompletePartIdx&&this.autoCompletePartIdx>=e&&++this.autoCompletePartIdx}removePart(e){this._parts.splice(e,1),e===this.activePartIdx?this.activePartIdx=null:null!==this.activePartIdx&&this.activePartIdx>e&&--this.activePartIdx,e===this.autoCompletePartIdx?this.autoCompletePartIdx=null:null!==this.autoCompletePartIdx&&this.autoCompletePartIdx>e&&--this.autoCompletePartIdx}replacePart(e,t){this._parts.splice(e,1,t)}get parts(){return this._parts}get autoComplete(){return this.activePartIdx===this.autoCompletePartIdx?this._autoComplete:null}getPositionAtEnd(){if(this._parts.length){const e=this._parts.length-1,t=this._parts[e];return new r.A(e,t.text.length)}return new r.A(-1,0)}serializeParts(){return this._parts.map(e=>e.serialize())}diff(e,t,n){const s=this.parts.reduce((e,t)=>e+t.text,"");return"deleteByDrag"===t?function(e,t){if(e===t)return{};const n=o(e,t),s=e.length-t.length;return{at:n,removed:e.slice(n,n+s)}}(s,e):i(s,e,n.offset)}reset(e,t,n){var s;this._parts=e.map(e=>this._partCreator.deserializePart(e)).filter(e=>Boolean(e)),t||(t=this.getPositionAtEnd()),this._autoComplete&&(this._autoComplete=null,this.autoCompletePartIdx=null),null===(s=this.updateCallback)||void 0===s||s.call(this,t,n)}insert(e,t){const n=this.splitAt(t);let s=0;for(let t=0;t<e.length;++t){const o=e[t];s+=o.text.length,this.insertPart(n+t,o)}return s}update(e,t,n){var s;const o=this.diff(e,t,n),i=this.positionForOffset(o.at||0,n.atNodeEnd);let r=0;o.removed&&(r=this.removeText(i,o.removed.length));let a=0;o.added&&(a=this.addText(i,o.added,t)),this.mergeAdjacentParts();const l=(o.at||0)-r+a;let c=this.positionForOffset(l,!0);const d="insertFromPaste"!==t&&"insertFromDrop"!==t,u=this.setActivePart(c,d);if(this.transformCallback){const e=this.getTransformAddedLen(c,t,o);c=this.positionForOffset(l+e,!0)}return null===(s=this.updateCallback)||void 0===s||s.call(this,c,t,o),u}getTransformAddedLen(e,t,n){var s;const o=null===(s=this.transformCallback)||void 0===s?void 0:s.call(this,e,t,n);return Number.isFinite(o)?o:0}setActivePart(e,t){const{index:n}=e,s=this._parts[n];if(s){if(n!==this.activePartIdx&&(this.activePartIdx=n,t&&this.activePartIdx!==this.autoCompletePartIdx)){const e=s.createAutoComplete(this.onAutoComplete);e&&(this._autoComplete=e,this.autoCompletePartIdx=n,this.autoCompletePartCount=1)}if(this.autoComplete)return this.autoComplete.onPartUpdate(s,e)}else this.activePartIdx=null,this._autoComplete=null,this.autoCompletePartIdx=null,this.autoCompletePartCount=0;return Promise.resolve()}mergeAdjacentParts(){let e;for(let s=0;s<this._parts.length;++s){var t,n;let o=this._parts[s];const i=!o.text.length,r=!i&&e&&(null===(t=(n=e).merge)||void 0===t?void 0:t.call(n,o));(i||r)&&(o=e,this.removePart(s),--s),e=o}}removeText(e,t){let{index:n,offset:s}=e,o=0;for(;t>0;){let e=this._parts[n];const i=Math.min(t,e.text.length-s);if(i)if(e.canEdit){const t=e.remove(s,i);"string"==typeof t&&this.replacePart(n,this._partCreator.createDefaultPart(t)),e=this._parts[n],e.text.length?n+=1:this.removePart(n)}else o+=s,this.removePart(n);else n+=1;t-=i,s=0}return o}splitAt(e){if(-1===e.index)return 0;if(0===e.offset)return e.index;const t=this._parts[e.index];if(e.offset>=t.text.length)return e.index+1;const n=t.split(e.offset);return this.insertPart(e.index+1,n),e.index+1}addText(e,t,n){let{index:s}=e;const{offset:o}=e;let i=t.length;const r=this._parts[s];let a=t;if(r)if(r.canEdit)if(r.validateAndInsert(o,t,n))a=void 0;else{const e=r.split(o);s+=1,this.insertPart(s,e)}else 0!==o&&(i+=r.text.length-o,s+=1);else s<0&&(s=0);for(;a;){const e=this._partCreator.createPartForInput(a,s,n),t=a;if(a=e.appendUntilRejected(a,n),a===t){console.error(`Failed to update model for input (str ${a}) (type ${n})`);break}this.insertPart(s,e),s+=1}return i}positionForOffset(e,t=!1){let n=0;const s=this._parts.findIndex(s=>{const o=s.text.length;return!!(t&&n+o>=e||!t&&n+o>e)||(n+=o,!1)});return-1===s?this.getPositionAtEnd():new r.A(s,e-n)}startRange(e,t=e){return new a.A(this,e,t)}replaceRange(e,t,n){const s=t.asOffset(this),o=this.splitAt(e);t=s.asPosition(this);for(let e=this.splitAt(t)-1;e>=o;--e)this.removePart(e);let i=o;for(const e of n)this.insertPart(i,e),i+=1;this.mergeAdjacentParts()}transform(e){var t;const n=e();let s;return s=n instanceof a.A?Promise.resolve():this.setActivePart(n,!0),null===(t=this.updateCallback)||void 0===t||t.call(this,n),s}}},"./src/editor/offset.ts"(e,t,n){"use strict";n.d(t,{A:()=>s});class s{constructor(e,t){this.offset=e,this.atNodeEnd=t}asPosition(e){return e.positionForOffset(this.offset,this.atNodeEnd)}add(e,t=!1){return new s(this.offset+e,t)}}},"./src/editor/parts.ts"(e,t,n){"use strict";n.d(t,{dK:()=>S,ZU:()=>m,NY:()=>A});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{constructor(e,t,n,o){(0,s.A)(this,"partIndex",void 0),this.updateCallback=e,this.getAutocompleterComponent=t,this.updateQuery=n,this.partCreator=o}onEscape(e){var t;null===(t=this.getAutocompleterComponent())||void 0===t||t.onEscape(e)}close(){this.updateCallback({close:!0})}hasSelection(){var e;return!(null===(e=this.getAutocompleterComponent())||void 0===e||!e.hasSelection())}hasCompletions(){const e=this.getAutocompleterComponent();return!!e&&e.countCompletions()>0}confirmCompletion(){var e;null===(e=this.getAutocompleterComponent())||void 0===e||e.onConfirmCompletion(),this.updateCallback({close:!0})}async startSelection(){const e=this.getAutocompleterComponent();e&&0===e.countCompletions()&&await e.forceComplete()}selectPreviousSelection(){var e;null===(e=this.getAutocompleterComponent())||void 0===e||e.moveSelection(-1)}selectNextSelection(){var e;null===(e=this.getAutocompleterComponent())||void 0===e||e.moveSelection(1)}onPartUpdate(e,t){return this.partIndex=t.index,this.updateQuery(e.text)}onComponentConfirm(e){this.updateCallback({replaceParts:this.partForCompletion(e),close:!0,range:e.range})}partForCompletion(e){const{completionId:t}=e,n=e.completion;switch(e.type){case"room":return[this.partCreator.roomPill(n,t),this.partCreator.plain(e.suffix||"")];case"at-room":return[this.partCreator.atRoomPill(t||""),this.partCreator.plain(e.suffix||"")];case"user":return this.partCreator.createMentionParts(0===this.partIndex,n,t||"");case"command":return[this.partCreator.command(n)];default:return this.partCreator.plainWithEmoji(n)}}}var i=n("./src/HtmlUtils.tsx"),r=n("./src/Avatar.ts"),a=n("./src/dispatcher/dispatcher.ts"),l=n("./src/dispatcher/actions.ts"),c=n("./src/settings/SettingsStore.ts"),d=n("./src/utils/strings.ts");const u=String.fromCodePoint(8203);let m=function(e){return e.Plain="plain",e.Newline="newline",e.Emoji="emoji",e.Command="command",e.UserPill="user-pill",e.RoomPill="room-pill",e.AtRoomPill="at-room-pill",e.PillCandidate="pill-candidate",e}({});class p{constructor(e=""){(0,s.A)(this,"_text",void 0),this._text=e}acceptsInsertion(e,t,n){return!0}acceptsRemoval(e,t){return!0}merge(e){return!1}split(e){const t=this.text.slice(e);return this._text=this.text.slice(0,e),new g(t)}remove(e,t){const n=this.text.slice(0,e)+this.text.slice(e+t);for(let s=e;s<t+e;++s){const e=this.text.charAt(s);if(!this.acceptsRemoval(s,e))return n}this._text=n}appendUntilRejected(e,t){const n=this.text.length;let s=e;for(;s;){const o=(0,d.Ee)(s);if(!this.acceptsInsertion(o,n+e.length-s.length,t))break;s=s.slice(o.length)}return this._text+=e.slice(0,e.length-s.length),s||void 0}validateAndInsert(e,t,n){for(let s=0;s<t.length;++s){const o=t.charAt(s);if(!this.acceptsInsertion(o,e+s,n))return!1}const s=this._text.slice(0,e),o=this._text.slice(e);return this._text=s+t+o,!0}createAutoComplete(e){}trim(e){const t=this._text.slice(e);return this._text=this._text.slice(0,e),t}get text(){return this._text}get canEdit(){return!0}get acceptsCaret(){return this.canEdit}toString(){return`${this.type}(${this.text})`}serialize(){return{type:this.type,text:this.text}}}class h extends p{acceptsInsertion(e,t,n){return"\n"!==e&&!i.nr.test(e)&&("insertFromPaste"===n||"insertFromDrop"===n||("@"!==e&&"#"!==e&&":"!==e&&"+"!==e||0!==t&&(" "!==this._text[t-1]&&this._text[t-1]!==u&&("+"!==this._text[t-1]||":"!==e))))}toDOMNode(){return document.createTextNode(this.text)}merge(e){return e.type===this.type&&(this._text=this.text+e.text,!0)}updateDOMNode(e){e.textContent!==this.text&&(e.textContent=this.text)}canUpdateDOMNode(e){return e.nodeType===Node.TEXT_NODE}}class g extends h{get type(){return m.Plain}}class v extends p{constructor(e,t){super(t),(0,s.A)(this,"onClick",void 0),this.resourceId=e}acceptsInsertion(e){return" "!==e}acceptsRemoval(e,t){return 0!==e}toDOMNode(){const e=document.createElement("span");return e.setAttribute("spellcheck","false"),e.setAttribute("contentEditable","false"),this.onClick&&(e.onclick=this.onClick),e.className=this.className,e.appendChild(document.createTextNode(this.text)),this.setAvatar(e),e}updateDOMNode(e){const t=e.childNodes[0];t.textContent!==this.text&&(t.textContent=this.text),e.className!==this.className&&(e.className=this.className),this.onClick&&e.onclick!==this.onClick&&(e.onclick=this.onClick),this.setAvatar(e)}canUpdateDOMNode(e){return e.nodeType===Node.ELEMENT_NODE&&"SPAN"===e.nodeName&&1===e.childNodes.length&&e.childNodes[0].nodeType===Node.TEXT_NODE}setAvatarVars(e,t,n,s){const o=`url('${t}')`,i=`'${n}'`;e.style.getPropertyValue("--avatar-background")!==o&&e.style.setProperty("--avatar-background",o),e.style.getPropertyValue("--avatar-letter")!==i&&e.style.setProperty("--avatar-letter",i),s&&e.style.getPropertyValue("--avatar-color")!==s&&e.style.setProperty("--avatar-color",s)}serialize(){return{type:this.type,text:this.text,resourceId:this.resourceId}}get canEdit(){return!1}}class f extends p{acceptsInsertion(e,t){return 0===t&&"\n"===e}acceptsRemoval(e,t){return!0}toDOMNode(){return document.createElement("br")}merge(){return!1}updateDOMNode(){}canUpdateDOMNode(e){return"BR"===e.tagName}get type(){return m.Newline}get canEdit(){return!1}}class _ extends p{acceptsInsertion(e,t){return i.nr.test(e)}acceptsRemoval(e,t){return!1}toDOMNode(){const e=document.createElement("span");return e.className="mx_Emoji",e.setAttribute("title",(0,i.aS)(this.text)),e.appendChild(document.createTextNode(this.text)),e}updateDOMNode(e){const t=e.childNodes[0];t.textContent!==this.text&&(e.setAttribute("title",(0,i.aS)(this.text)),t.textContent=this.text)}canUpdateDOMNode(e){return"mx_Emoji"===e.className}get type(){return m.Emoji}get canEdit(){return!1}get acceptsCaret(){return!0}}class y extends v{constructor(e,t,n){super(e,t),this.room=n}setAvatar(e){var t;let n,s="",o=r.ze(null!==(t=this.room)&&void 0!==t?t:null,16,16,"crop");var i,a,l,c,d,u;o||(s=null!==(i=r.$R((null===(a=this.room)||void 0===a?void 0:a.name)||this.resourceId))&&void 0!==i?i:"",o=r.iv(null!==(l=null===(c=this.room)||void 0===c?void 0:c.roomId)&&void 0!==l?l:this.resourceId),n=r.gx(null!==(d=null===(u=this.room)||void 0===u?void 0:u.roomId)&&void 0!==d?d:this.resourceId));this.setAvatarVars(e,o,s,n)}get type(){return m.RoomPill}get className(){var e;return"mx_Pill "+(null!==(e=this.room)&&void 0!==e&&e.isSpaceRoom()?"mx_SpacePill":"mx_RoomPill")}}class b extends y{constructor(e,t){super(e,e,t)}get type(){return m.AtRoomPill}serialize(){return{type:this.type,text:this.text}}}class w extends v{constructor(e,t,n){super(e,t),(0,s.A)(this,"onClick",()=>{a.A.dispatch({action:l.r.ViewUser,member:this.member})}),this.member=n}get type(){return m.UserPill}get className(){return"mx_UserPill mx_Pill"}setAvatar(e){if(!this.member)return;const t=this.member.name||this.member.userId,n=r.iv(this.member.userId),s=r._V(this.member,16,16,"crop");let o,i="";var a;s===n&&(i=null!==(a=r.$R(t))&&void 0!==a?a:"",o=r.gx(this.member.userId));this.setAvatarVars(e,s,i,o)}}class E extends h{constructor(e,t){super(e),this.autoCompleteCreator=t}createAutoComplete(e){var t,n;return null===(t=(n=this.autoCompleteCreator).create)||void 0===t?void 0:t.call(n,e)}acceptsInsertion(e,t,n){return 0===t||super.acceptsInsertion(e,t,n)}merge(){return!1}acceptsRemoval(e,t){return!0}get type(){return m.PillCandidate}}function A(e,t){return n=>s=>new o(s,e,t,n)}class x{constructor(e,t,n=null){(0,s.A)(this,"autoCompleteCreator",void 0),this.room=e,this.client=t,this.autoCompleteCreator={create:null==n?void 0:n(this)}}setAutoCompleteCreator(e){this.autoCompleteCreator.create=e(this)}createPartForInput(e,t,n){switch(e[0]){case"#":case"@":case":":case"+":return this.pillCandidate("");case"\n":return new f;default:return i.nr.test((0,d.Ee)(e))?new _:new g}}createDefaultPart(e){return this.plain(e)}deserializePart(e){switch(e.type){case m.Plain:return this.plain(e.text);case m.Newline:return this.newline();case m.Emoji:return this.emoji(e.text);case m.AtRoomPill:return this.atRoomPill(e.text);case m.PillCandidate:return this.pillCandidate(e.text);case m.RoomPill:return e.resourceId?this.roomPill(e.resourceId):void 0;case m.UserPill:return e.resourceId?this.userPill(e.text,e.resourceId):void 0}}plain(e){return new g(e)}newline(){return new f("\n")}emoji(e){return new _(e)}pillCandidate(e){return new E(e,this.autoCompleteCreator)}roomPill(e,t){let n;var s;t||"#"!==e[0]?n=null!==(s=this.client.getRoom(t||e))&&void 0!==s?s:void 0:n=this.client.getRooms().find(t=>t.getCanonicalAlias()===e||t.getAltAliases().includes(e));return new y(e,n?n.name:e,n)}atRoomPill(e){return new b(e,this.room)}userPill(e,t){const n=this.room.getMember(t);return new w(t,e,n||void 0)}static isRegionalIndicator(e){var t;const n=null!==(t=e.codePointAt(0))&&void 0!==t?t:0;return 0!=n&&2==e.length&&127462<=n&&n<=127487}plainWithEmoji(e){const t=[];let n="";for(const s of d.eL.segment(e))i.nr.test(s.segment)?(n&&(t.push(this.plain(n)),n=""),t.push(this.emoji(s.segment)),x.isRegionalIndicator(e)&&t.push(this.plain(u))):n+=s.segment;return n&&t.push(this.plain(n)),t}createMentionParts(e,t,n){const s=this.userPill(t,n);c.A.getValue("MessageComposerInput.insertTrailingColon")||(e=!1);return[s,this.plain(e?": ":" ")]}}class S extends x{createPartForInput(e,t){return 0===t&&"/"===e[0]?this.command(""):super.createPartForInput(e,t)}command(e){return new C(e,this.autoCompleteCreator)}deserializePart(e){return e.type===m.Command?this.command(e.text):super.deserializePart(e)}}class C extends E{get type(){return m.Command}}},"./src/editor/position.ts"(e,t,n){"use strict";n.d(t,{A:()=>o});var s=n("./src/editor/offset.ts");class o{constructor(e,t){this.index=e,this.offset=t}compare(e){return this.index===e.index?this.offset-e.offset:this.index-e.index}iteratePartsBetween(e,t,n){if(-1===this.index||-1===e.index)return;const[s,o]=this.compare(e)<0?[this,e]:[e,this];if(s.index===o.index)n(t.parts[this.index],s.offset,o.offset);else{const e=t.parts[s.index];n(e,s.offset,e.text.length);for(let e=s.index+1;e<o.index;++e){const s=t.parts[e];n(s,0,s.text.length)}n(t.parts[o.index],0,o.offset)}}forwardsWhile(e,t){if(-1===this.index)return this;let{index:n,offset:s}=this;const{parts:i}=e;for(;n<i.length;){const e=i[n];for(;s<e.text.length;){if(!t(n,s,e))return new o(n,s);s+=1}if(n===i.length-1)return new o(n,s);n+=1,s=0}return this}backwardsWhile(e,t){if(-1===this.index)return this;let{index:n,offset:s}=this;const i=e.parts;for(;n>=0;){const e=i[n];for(;s>0;){if(!t(n,s-1,e))return new o(n,s);s-=1}if(0===n)return new o(n,s);n-=1,s=i[n].text.length}return this}asOffset(e){if(-1===this.index)return new s.A(0,!0);let t=0;for(let n=0;n<this.index;++n)t+=e.parts[n].text.length;t+=this.offset;const n=e.parts[this.index],o=!n||t>=n.text.length;return new s.A(t,o)}isAtEnd(e){if(0===e.parts.length)return!0;const t=e.parts.length-1,n=e.parts[t];return this.index===t&&this.offset===n.text.length}isAtStart(){return 0===this.index&&0===this.offset}}},"./src/editor/range.ts"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");const o=(e,t,n)=>""===n.text[t].trim();class i{constructor(e,t,n=t){(0,s.A)(this,"_start",void 0),(0,s.A)(this,"_end",void 0),(0,s.A)(this,"_lastStart",void 0),(0,s.A)(this,"_initializedEmpty",void 0),this.model=e;const o=t.compare(n)<0;this._start=o?t:n,this._end=o?n:t,this._lastStart=this._start,this._initializedEmpty=this._start.index===this._end.index&&this._start.offset==this._end.offset}moveStartForwards(e){this._start=this._start.forwardsWhile(this.model,()=>(e-=1)>=0)}wasInitializedEmpty(){return this._initializedEmpty}setWasEmpty(e){this._initializedEmpty=e}getLastStartingPosition(){return this._lastStart}setLastStartingPosition(e){this._lastStart=e}moveEndBackwards(e){this._end=this._end.backwardsWhile(this.model,()=>(e-=1)>=0)}trim(){""!==this.text.trim()?(this._start=this._start.forwardsWhile(this.model,o),this._end=this._end.backwardsWhile(this.model,o)):this._start=this._end}expandBackwardsWhile(e){this._start=this._start.backwardsWhile(this.model,e)}expandForwardsWhile(e){this._end=this._end.forwardsWhile(this.model,e)}get text(){let e="";return this._start.iteratePartsBetween(this._end,this.model,(t,n,s)=>{const o=t.text.substring(n,s);e+=o}),e}replace(e){const t=e.reduce((e,t)=>e+t.text.length,0);let n=0;return this._start.iteratePartsBetween(this._end,this.model,(e,t,s)=>{n+=s-t}),this.model.replaceRange(this._start,this._end,e),t-n}get parts(){const e=[];return this._start.iteratePartsBetween(this._end,this.model,(t,n,s)=>{const o=t.serialize();o.text=t.text.substring(n,s);const i=this.model.partCreator.deserializePart(o);i&&e.push(i)}),e}get length(){let e=0;return this._start.iteratePartsBetween(this._end,this.model,(t,n,s)=>{e+=s-n}),e}get start(){return this._start}get end(){return this._end}}},"./src/editor/render.ts"(e,t,n){"use strict";n.d(t,{UE:()=>o,UW:()=>a,dO:()=>i,e7:()=>m,eK:()=>d});var s=n("./src/editor/parts.ts");function o(e,t){const n=!t||t.type===s.ZU.Newline;return!e.acceptsCaret&&(n||!t.acceptsCaret)}function i(e,t){return!e.acceptsCaret&&t}function r(e,t){const n=e.nextSibling;n?e.parentElement.insertBefore(t,n):e.parentElement.appendChild(t)}const a="\ufeff";function l(){const e=document.createElement("span");return e.className="caretNode",e.appendChild(document.createTextNode(a)),e}function c(e){e.textContent!==a&&(e.textContent=a)}function d(e){return!!e&&e instanceof HTMLElement&&"SPAN"===e.tagName&&"caretNode"===e.className}function u(e){if(e)for(e=e.nextSibling;e;){const t=e;e=e.nextSibling,t.remove()}}function m(e,t){const n=t.parts.reduce((e,t)=>{if(t.type===s.ZU.Newline)e.push([]);else{e[e.length-1].push(t)}return e},[[]]);n.forEach((t,n)=>{let s=e.childNodes[n];for(;s&&("DIV"!==s.tagName||s.className);)e.removeChild(s),s=e.childNodes[n];s||(s=document.createElement("div"),e.appendChild(s)),t.length?function(e,t){let n,s=null;const a=t[t.length-1];for(const u of t){for(s=n?s.nextSibling:e.firstChild,o(u,n)&&(d(s)?(c(s),s=s.nextSibling):e.insertBefore(l(),s));s&&!u.canUpdateDOMNode(s);){const t=s.nextSibling;e.removeChild(s),s=t}var m;if(s&&u?u.updateDOMNode(s):u&&(s=u.toDOMNode(),e.appendChild(s)),i(u,u===a))if(d(null===(m=s)||void 0===m?void 0:m.nextSibling))s=s.nextSibling,c(s);else{const e=l();r(s,e),s=e}n=u}u(s)}(s,t):function(e){let t=!1,n=e.firstChild;for(;n;){const e=n.nextSibling;t||"BR"!==n.tagName?n.remove():t=!0,n=e}t||e.appendChild(document.createElement("br"))}(s)}),n.length?u(e.children[n.length-1]):function(e){const t=e.firstChild;t&&(u(t),t.remove())}(e)}},"./src/editor/serialize.ts"(e,t,n){"use strict";n.d(t,{GE:()=>_,ID:()=>h,MN:()=>u,OA:()=>p,Ro:()=>m,k$:()=>v,tk:()=>f,w1:()=>g});var s=n("./node_modules/html-entities/dist/esm/index.js"),o=n("./node_modules/escape-html/index.js"),i=n.n(o),r=n("./src/Markdown.ts"),a=n("./src/utils/permalinks/Permalinks.ts"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/SdkConfig.ts"),d=n("./src/editor/parts.ts");function u(e,{forceHTML:t=!1,useMarkdown:n=!0}={}){if(!n)return i()(p(e)).replace(/\n/g,"<br/>");const s=function(e){return e.parts.reduce((e,t)=>{switch(t.type){case d.ZU.Newline:return e+"\n";case d.ZU.Plain:case d.ZU.Emoji:case d.ZU.Command:case d.ZU.PillCandidate:case d.ZU.AtRoomPill:return e+t.text;case d.ZU.RoomPill:{const n=(0,a.rl)(t.resourceId,!0);return e+`[${t.resourceId.replace(/[[\\\]]/g,e=>"\\"+e)}](${n})`}case d.ZU.UserPill:{const n=(0,a.rl)(t.resourceId,!0);return e+`[${t.text.replace(/[[\\\]]/g,e=>"\\"+e).replace(/\n/g,"<br>")}](${n})`}}},"")}(e);return m(s,{forceHTML:t})}function m(e,{forceHTML:t=!1}={}){const n=e;if(l.A.getValue("feature_latex_maths")){const t=["display","inline"],n={tex:{display:"(^)\\$\\$(([^$]|\\\\\\$)+?)\\$\\$$",inline:"(^|\\s|[.,!?:;])(?!\\\\)\\$(?!\\s)(([^$\\n]|\\\\\\$)*([^\\\\\\s\\$]|\\\\\\$)(?:\\\\\\$)?)\\$"},latex:{display:"(^)\\\\\\[(?!\\\\\\])(.*?)\\\\\\]$",inline:"(^|[^\\\\])\\\\\\((?!\\\\\\))(.*?)\\\\\\)"}};["tex","latex"].forEach(function(o){t.forEach(function(t){var i;const r=(null===(i=c.Ay.get("latex_maths_delims"))||void 0===i||null===(i=i[t])||void 0===i||null===(i=i.pattern)||void 0===i?void 0:i[o])||n[o][t];e=e.replace(RegExp(r,"gms"),function(e,n,o){const i=(0,s.lF)(o);switch(t){case"display":return`${n}<div data-mx-maths="${i}">\n\n</div>\n\n`;case"inline":return`${n}<span data-mx-maths="${i}"></span>`}})})}),e=e.replace(/(.)<div/g,function(e,t){return`${t}\n<div`})}const o=new r.A(e);if(!o.isPlainText()||t){const e=(new DOMParser).parseFromString(o.toHTML(),"text/html");if(l.A.getValue("feature_latex_maths")){const t=new r.A(n);[...(new DOMParser).parseFromString(t.toHTML(),"text/html").getElementsByTagName("code")].forEach((t,n)=>{e.getElementsByTagName("code").item(n).textContent=t.textContent}),[...e.querySelectorAll("div, span")].forEach((e,t)=>{const n=e.getAttribute("data-mx-maths");n&&(e.innerHTML=`<code>${n}</code>`)})}return e.body.innerHTML}if(e.indexOf("\\")>-1)return o.toPlaintext()}function p(e){return e.parts.reduce((e,t)=>{switch(t.type){case d.ZU.Newline:return e+"\n";case d.ZU.Plain:case d.ZU.Emoji:case d.ZU.Command:case d.ZU.PillCandidate:case d.ZU.AtRoomPill:return e+t.text;case d.ZU.RoomPill:return e+`${t.resourceId}`;case d.ZU.UserPill:return e+`${t.text}`}},"")}function h(e){var t;const n=g(e,"/me ",!1),s=(null===(t=e.parts[0])||void 0===t||null===(t=t.text)||void 0===t?void 0:t.length)>4||e.parts.length>1;return n&&s}function g(e,t,n=!0){const s=e.parts[0];let o=(null==s?void 0:s.text)||"";return n||(t=t.toLowerCase(),o=o.toLowerCase()),s&&(s.type===d.ZU.Plain||s.type===d.ZU.Command)&&o.startsWith(t)}function v(e){return f(e,"/me ")}function f(e,t){return(e=e.clone()).removeText({index:0,offset:0},t.length),e}function _(e){const{parts:t}=e;if(t.length){const n=t[0];n.type===d.ZU.Plain&&n.text.startsWith("\\/")&&(e=e.clone()).removeText({index:0,offset:0},1)}return e}},"./src/effects/index.ts"(e,t,n){"use strict";n.d(t,{y:()=>o});var s=n("./src/languageHandler.tsx");const o=[{emojis:["🎊","🎉"],msgType:"nic.custom.confetti",command:"confetti",description:()=>(0,s.AO)("chat_effects|confetti_description"),fallbackMessage:()=>(0,s._t)("chat_effects|confetti_message")+" 🎉",options:{maxCount:150,speed:3,frameInterval:15,alpha:1,gradient:!1}},{emojis:["🎆"],msgType:"nic.custom.fireworks",command:"fireworks",description:()=>(0,s.AO)("chat_effects|fireworks_description"),fallbackMessage:()=>(0,s._t)("chat_effects|fireworks_message")+" 🎆",options:{maxCount:500,gravity:.05}},{emojis:["🌧️","⛈️","🌦️"],msgType:"io.element.effect.rainfall",command:"rainfall",description:()=>(0,s.AO)("chat_effects|rainfall_description"),fallbackMessage:()=>(0,s._t)("chat_effects|rainfall_message")+" 🌧️",options:{maxCount:600,speed:10}},{emojis:["❄","🌨"],msgType:"io.element.effect.snowfall",command:"snowfall",description:()=>(0,s.AO)("chat_effects|snowfall_description"),fallbackMessage:()=>(0,s._t)("chat_effects|snowfall_message")+" ❄",options:{maxCount:200,gravity:.05,maxDrift:5}},{emojis:["👾","🌌"],msgType:"io.element.effects.space_invaders",command:"spaceinvaders",description:()=>(0,s.AO)("chat_effects|spaceinvaders_description"),fallbackMessage:()=>(0,s._t)("chat_effects|spaceinvaders_message")+" 👾",options:{maxCount:50,gravity:.01}},{emojis:["💝"],msgType:"io.element.effect.hearts",command:"hearts",description:()=>(0,s.AO)("chat_effects|hearts_description"),fallbackMessage:()=>(0,s._t)("chat_effects|hearts_message")+" 💝",options:{maxCount:120,gravity:3.2}}]},"./src/effects/utils.ts"(e,t,n){"use strict";n.d(t,{_:()=>s});const s=(e,t)=>t.some(t=>e.body&&e.body.includes(t))},"./src/email.ts"(e,t,n){"use strict";n.d(t,{X:()=>o});const s=new RegExp("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","i");function o(e){return!(e.indexOf("@")<1)&&s.test(e)}},"./src/emojipicker/recent.ts"(e,t,n){"use strict";n.d(t,{J:()=>c,W:()=>l});var s=n("./node_modules/lodash/orderBy.js"),o=n("./src/settings/SettingsStore.ts"),i=n("./src/settings/SettingLevel.ts");const r="recent_emoji";function a(){return o.A.getValue(r)||[]}function l(e){const t=a(),n=t.findIndex(([t])=>t===e);let s;n>=0?([s]=t.splice(n,1),s[1]++):s=[e,1],o.A.setValue(r,null,i.p.ACCOUNT,[s,...t].slice(0,100))}function c(e=24){let t=a();t.length<1&&(!function(){const e=JSON.parse(window.localStorage.mx_reaction_count||"{}"),t=Object.entries(e).sort(([,[e,t]],[,[n,s]])=>s-t).map(([e,[t,n]])=>[e,t]);o.A.setValue(r,null,i.p.ACCOUNT,t.slice(0,100))}(),t=a());return(0,s.A)(t,"1","desc").slice(0,e).map(([e])=>e)}},"./src/events/EventTileFactory.tsx"(e,t,n){"use strict";n.d(t,{DD:()=>ge,ur:()=>he,bN:()=>xe,S8:()=>Ae,Sj:()=>ye,BP:()=>we,rd:()=>be});var s=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./packages/shared-components/dist/element-web-shared-components.js"),a=n("./src/settings/SettingsStore.ts"),l=n("./src/contexts/RoomContext.ts"),c=n("./src/components/views/messages/MessageEvent.tsx"),d=n("./src/components/views/messages/LegacyCallEvent.tsx"),u=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-solid.js"),m=n("./src/models/Call.ts"),p=n("./src/languageHandler.tsx"),h=n("./src/hooks/useCall.ts"),g=n("./src/dispatcher/dispatcher.ts"),v=n("./src/dispatcher/actions.ts"),f=n("./src/components/views/elements/AccessibleButton.tsx"),_=n("./src/components/views/avatars/MemberAvatar.tsx"),y=n("./src/components/views/rooms/LiveContentSummary.tsx"),b=n("./src/components/views/elements/FacePile.tsx"),w=n("./src/contexts/MatrixClientContext.tsx"),E=n("./src/DateUtils.ts");const A=(0,o.memo)(({delta:e})=>e<=0?null:o.createElement("div",{className:"mx_CallDuration"},(0,E.DE)(e))),x=({session:e})=>{var t;const[n,s]=(0,o.useState)(()=>Date.now());(0,o.useEffect)(()=>{const e=window.setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(e)},[]);const i=null==e||null===(t=e.getOldestMembership())||void 0===t?void 0:t.createdTs();return i?o.createElement(A,{delta:n-i}):o.createElement(A,{delta:0})},S=({mxEvent:e,call:t,participatingMembers:n,buttonText:s,buttonKind:i,buttonDisabledTooltip:r,onButtonClick:a,ref:l})=>{const c=(0,o.useMemo)(()=>{var t,n;return null!==(t=null===(n=e.sender)||void 0===n?void 0:n.name)&&void 0!==t?t:e.getSender()},[e]),d=(0,o.useMemo)(()=>n.slice(0,8),[n]),u=n.length>d.length;return o.createElement("div",{className:"mx_CallEvent_wrapper",ref:l},o.createElement("div",{className:"mx_CallEvent mx_CallEvent_active"},o.createElement(_.A,{member:e.sender,fallbackUserId:e.getSender(),viewUserOnClick:!0,size:"24px"}),o.createElement("div",{className:"mx_CallEvent_columns"},o.createElement("div",{className:"mx_CallEvent_details"},o.createElement("span",{className:"mx_CallEvent_title"},(0,p._t)("timeline|m.call|video_call_started_text",{name:c})),o.createElement(y.m,{type:y.I.Video,text:(0,p._t)("voip|video_call"),active:!1,participantCount:n.length}),o.createElement(b.A,{members:d,size:"24px",overflow:u})),t&&o.createElement(x,{session:t.session}),o.createElement(f.A,{className:"mx_CallEvent_button",kind:i,disabled:null===a||void 0!==r,onClick:a,title:r},s))))},C=({mxEvent:e,call:t,ref:n})=>{const s=(0,h.jd)(t),i=(0,h.IW)(t),r=(0,o.useCallback)(t=>{t.preventDefault(),g.A.dispatch({action:v.r.ViewRoom,room_id:e.getRoomId(),view_call:!0,metricsTrigger:void 0})},[e]),a=(0,o.useCallback)(e=>{e.preventDefault(),t.disconnect()},[t]),[l,c,d]=(0,o.useMemo)(()=>{switch(s){case m.KN.Disconnected:return[(0,p._t)("action|join"),"primary",r];case m.KN.Connected:return[(0,p._t)("action|leave"),"danger",a];case m.KN.Disconnecting:return[(0,p._t)("action|leave"),"danger",null]}},[s,r,a]);return o.createElement(S,{ref:n,mxEvent:e,call:t,participatingMembers:i,buttonText:l,buttonKind:c,onButtonClick:d})},k=({mxEvent:e,ref:t})=>{const n=(0,o.useContext)(w.Ay),s=(0,h.Gc)(e.getRoomId()),i=n.getRoom(e.getRoomId()).currentState.getStateEvents(e.getType(),e.getStateKey());return"m.terminated"in i.getContent()||i.isRedacted()?o.createElement("div",{className:"mx_CallEvent_wrapper",ref:t},o.createElement("div",{className:"mx_CallEvent mx_CallEvent_inactive"},o.createElement("div",{className:"mx_CallEvent_columns"},o.createElement("span",{className:"mx_CallEvent_title"},o.createElement(u.A,null),(0,p._t)("timeline|m.call|video_call_ended")),o.createElement(A,{delta:i.getTs()-e.getTs()})))):null===s?o.createElement(S,{ref:t,mxEvent:e,call:null,participatingMembers:[],buttonText:(0,p._t)("action|join"),buttonKind:"primary",onButtonClick:null}):o.createElement(C,{mxEvent:e,call:s,ref:t})};var R=n("./src/components/views/messages/EncryptionEvent.tsx"),I=n("./node_modules/matrix-js-sdk/src/logger.ts"),P=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/chat-solid.js"),T=n("./src/utils/permalinks/Permalinks.ts"),O=n("./src/MatrixClientPeg.ts"),M=n("./src/hooks/useRoomState.ts"),N=n("./src/utils/permalinks/MatrixToPermalinkConstructor.ts"),j=n("./src/contexts/ScopedRoomContext.tsx");const D=({mxEvent:e,timestamp:t})=>{var n;const s=a.A.getValue("feature_dynamic_room_predecessors"),i=(0,j.ME)("room"),l=(0,M.U)(i.room,(0,o.useCallback)(e=>e.findPredecessor(s),[s])),c=(0,o.useCallback)(e=>{e.preventDefault(),g.A.dispatch({action:v.r.ViewRoom,event_id:null==l?void 0:l.eventId,highlighted:!0,room_id:null==l?void 0:l.roomId,metricsTrigger:"Predecessor",metricsViaKeyboard:"click"!==e.type})},[null==l?void 0:l.eventId,null==l?void 0:l.roomId]);if(!i.room||i.room.roomId!==e.getRoomId())return I.vF.warn("RoomPredecessorTile unexpectedly used outside of the context of theroom containing this m.room.create event."),o.createElement(o.Fragment,null);if(!l)return I.vF.warn("RoomPredecessorTile unexpectedly used in a room with no predecessor."),o.createElement("div",null);const d=O.J.safeGet().getRoom(l.roomId);if(!d&&!l.viaServers){I.vF.warn(`Failed to find predecessor room with id ${l.roomId}`);const e=function(e){const t=function(e){const t=e.match(/^[^:]*:(.*)/);return t?t[1]:null}(e);return t?(new N.Ay).forRoom(e,[t]):null}(l.roomId);return o.createElement(r.pc,{icon:o.createElement(P.A,null),className:"mx_EventTileBubble mx_CreateEvent",title:(0,p._t)("timeline|m.room.create|continuation")},o.createElement(o.Fragment,null,o.createElement("div",{className:"mx_EventTile_body"},o.createElement("span",{className:"mx_EventTile_tileError"},e?o.createElement(o.Fragment,null,(0,p._t)("timeline|m.room.create|unknown_predecessor_guess_server",{roomId:l.roomId}),o.createElement("a",{href:e},e)):(0,p._t)("timeline|m.room.create|unknown_predecessor",{roomId:l.roomId}))),t))}const u=d?function(e,t,n){const s=new T.pE(e,t);return s.load(),n?s.forEvent(n):s.forRoom()}(d,l.roomId,l.eventId):function(e,t,n){const s=new N.Ay;return n?s.forEvent(e,n,t):s.forRoom(e,t)}(l.roomId,null!==(n=null==l?void 0:l.viaServers)&&void 0!==n?n:[],l.eventId),m=o.createElement("a",{href:u,onClick:c},(0,p._t)("timeline|m.room.create|see_older_messages"));return o.createElement(r.pc,{icon:o.createElement(P.A,null),className:"mx_EventTileBubble mx_CreateEvent",title:(0,p._t)("timeline|m.room.create|continuation"),subtitle:m},t)};var U=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),F=n("./src/Modal.tsx"),L=n("./src/customisations/Media.ts"),B=n("./src/components/views/avatars/RoomAvatar.tsx"),V=n("./src/components/views/elements/ImageView.tsx");class H extends o.Component{constructor(...e){super(...e),(0,U.A)(this,"onAvatarClick",()=>{const e=O.J.safeGet(),t=this.props.mxEvent,n=(0,L.mediaFromMxc)(t.getContent().url).srcHttp;if(!n)return;const s=e.getRoom(this.props.mxEvent.getRoomId()),o={src:n,name:(0,p._t)("timeline|m.room.avatar|lightbox_title",{senderDisplayName:t.sender&&t.sender.name?t.sender.name:t.getSender(),roomName:s?s.name:""})};F.Ay.createDialog(V.A,o,"mx_Dialog_lightbox",void 0,!0)})}render(){const e=this.props.mxEvent,t=e.sender&&e.sender.name?e.sender.name:e.getSender();if(!e.getContent().url||0===e.getContent().url.trim().length)return o.createElement("div",{className:"mx_TextualEvent"},(0,p._t)("timeline|m.room.avatar|removed",{senderDisplayName:t}));const n=O.J.safeGet().getRoom(e.getRoomId()),s={avatarUrl:e.getContent().url,name:n?n.name:""};return o.createElement(o.Fragment,null,(0,p._t)("timeline|m.room.avatar|changed_img",{senderDisplayName:t},{img:()=>o.createElement(f.A,{key:"avatar",className:"mx_RoomAvatarEvent_avatar",onClick:this.onAvatarClick},o.createElement(B.A,{room:null!=n?n:void 0,size:"14px",oobData:s}))}))}}var z=n("./src/stores/widgets/WidgetLayoutStore.ts"),W=n("./src/mjolnir/BanList.ts"),K=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock-solid.js"),$=n("./src/utils/KeyVerificationStateObserver.ts");const J=({mxEvent:e,timestamp:t})=>{const n=(0,w.nH)();if(!n)throw new Error("Attempting to render verification request without a client context!");const s=n.getSafeUserId(),i=e.getContent(),a=e.getSender(),l=i.to,c=e.getRoomId();if(!a)throw new Error("Verification request did not include a sender!");if(!c)throw new Error("Verification request did not include a room ID!");let d,u;if(a===s)d=(0,p._t)("timeline|m.key.verification.request|you_started"),u=(0,$.M)(n,l,c);else{const e=(0,$.q)(n,a,c);d=(0,p._t)("timeline|m.key.verification.request|user_wants_to_verify",{name:e}),u=(0,$.M)(n,a,c)}return o.createElement(r.pc,{icon:o.createElement(K.A,null),className:"mx_EventTileBubble mx_cryptoEvent mx_cryptoEvent_icon",title:d,subtitle:u},t)};var G=n("./src/widgets/WidgetType.ts"),q=n("./src/stores/WidgetStore.ts");class Y extends o.PureComponent{render(){var e;const t=this.props.mxEvent.getContent().url,n=this.props.mxEvent.getPrevContent().url,s=(null===(e=this.props.mxEvent.sender)||void 0===e?void 0:e.name)||this.props.mxEvent.getSender(),i=O.J.safeGet().getRoom(this.props.mxEvent.getRoomId());if(!i)return null;const a=this.props.mxEvent.getStateKey(),l=q.Ay.instance.getRoom(i.roomId,!0).widgets.find(e=>e.id===a);let c=(0,p._t)("timeline|m.widget|jitsi_join_top_prompt");return l&&z.aK.instance.isInContainer(i,l,z.mc.Right)?c=(0,p._t)("timeline|m.widget|jitsi_join_right_prompt"):l||(c=null),t?n?o.createElement(r.pc,{icon:o.createElement(u.A,null),className:"mx_EventTileBubble mx_MJitsiWidgetEvent",title:(0,p._t)("timeline|m.widget|jitsi_updated",{senderName:s}),subtitle:c},this.props.timestamp):o.createElement(r.pc,{icon:o.createElement(u.A,null),className:"mx_EventTileBubble mx_MJitsiWidgetEvent",title:(0,p._t)("timeline|m.widget|jitsi_started",{senderName:s}),subtitle:c},this.props.timestamp):o.createElement(r.pc,{icon:o.createElement(u.A,null),className:"mx_EventTileBubble mx_MJitsiWidgetEvent",title:(0,p._t)("timeline|m.widget|jitsi_ended",{senderName:s})},this.props.timestamp)}}var Z=n("./src/TextForEvent.tsx"),Q=n("./src/utils/EventUtils.ts"),X=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/visibility-off.js");const ee=({mxEvent:e,ref:t})=>{let n;const s=e.messageVisibility();switch(s.visible){case!0:throw new Error("HiddenBody should only be applied to hidden messages");case!1:n=s.reason?(0,p._t)("timeline|pending_moderation_reason",{reason:s.reason}):(0,p._t)("timeline|pending_moderation")}return o.createElement("span",{className:"mx_HiddenBody",ref:t},o.createElement(X.A,null),n)};var te=n("./node_modules/classnames/index.js"),ne=n.n(te),se=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/collapse.js"),oe=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/expand.js");class ie extends o.PureComponent{constructor(e){super(e),(0,U.A)(this,"onToggle",e=>{e.preventDefault();const{expanded:t}=this.state;this.setState({expanded:!t})}),this.state={expanded:!1}}componentDidMount(){const{mxEvent:e}=this.props;O.J.safeGet().decryptEventIfNeeded(e),e.isBeingDecrypted()&&e.once(i.MatrixEventEvent.Decrypted,()=>this.forceUpdate())}render(){const{mxEvent:e}=this.props,{expanded:t}=this.state;let n;n=t?o.createElement("pre",null,JSON.stringify(e,null,4)):o.createElement("code",null,`{ "type": ${e.getType()} }`);const s=ne()("mx_ViewSourceEvent mx_EventTile_content",{mx_ViewSourceEvent_expanded:t});return o.createElement("span",{className:s},n,o.createElement(f.A,{kind:"link",title:(0,p._t)("devtools|toggle_event"),className:"mx_ViewSourceEvent_toggle",onClick:this.onToggle},t?o.createElement(se.A,null):o.createElement(oe.A,null)))}}var re=n("./src/modules/Api.ts");class ae extends r.oY{constructor(e){super(e,{content:""}),(0,U.A)(this,"setTextFromEvent",()=>{const e=(0,Z.Rd)(this.props.mxEvent,O.J.safeGet(),!0,this.props.showHiddenEvents);this.snapshot.set({content:e})}),this.setTextFromEvent(),this.disposables.trackListener(this.props.mxEvent,i.MatrixEventEvent.SentinelUpdated,this.setTextFromEvent)}}var le=n("./src/call-types.ts");const ce=(e,t)=>o.createElement(c.A,(0,s.A)({ref:e},t)),de=(e,t)=>o.createElement(k,(0,s.A)({ref:e},t)),ue=(e,t)=>{const n=new ae(t);return o.createElement(r.RU,{vm:n})},me=(e,t)=>o.createElement(J,t),pe=(e,t)=>o.createElement(ee,(0,s.A)({ref:e},t)),he=(e,t)=>o.createElement(Y,(0,s.A)({ref:e},t)),ge=(e,t)=>o.createElement(ie,(0,s.A)({ref:e},t)),ve=new Map([[i.EventType.RoomMessage,ce],[i.EventType.Sticker,ce],[i.M_POLL_START.name,ce],[i.M_POLL_START.altName,ce],[i.M_POLL_END.name,ce],[i.M_POLL_END.altName,ce],[i.EventType.CallInvite,(e,t)=>o.createElement(d.A,(0,s.A)({ref:e},t))]]),fe=new Map([[i.EventType.RoomEncryption,(e,t)=>o.createElement(R.A,(0,s.A)({ref:e},t))],[i.EventType.RoomCanonicalAlias,ue],[i.EventType.RoomCreate,(e,t)=>o.createElement(D,t)],[i.EventType.RoomMember,ue],[i.EventType.RoomName,ue],[i.EventType.RoomAvatar,(e,t)=>o.createElement(H,(0,s.A)({ref:e},t))],[i.EventType.RoomThirdPartyInvite,ue],[i.EventType.RoomHistoryVisibility,ue],[i.EventType.RoomTopic,ue],[i.EventType.RoomPowerLevels,ue],[i.EventType.RoomPinnedEvents,ue],[i.EventType.RoomServerAcl,ue],["im.vector.modular.widgets",ue],[z.SQ,ue],[i.EventType.RoomTombstone,ue],[i.EventType.RoomJoinRules,ue],[i.EventType.RoomGuestAccess,ue]]);for(const e of le.Fm.names)fe.set(e,de);for(const e of W.Pd)fe.set(e,ue);const _e=new Set([i.EventType.RoomEncryption,i.EventType.RoomCanonicalAlias,i.EventType.RoomCreate,i.EventType.RoomName,i.EventType.RoomAvatar,i.EventType.RoomHistoryVisibility,i.EventType.RoomTopic,i.EventType.RoomPowerLevels,i.EventType.RoomPinnedEvents,i.EventType.RoomServerAcl,z.SQ,i.EventType.RoomTombstone,i.EventType.RoomJoinRules,i.EventType.RoomGuestAccess]);function ye(e,t,n,s){var o;const r=e.getType();if(s&&n)return ge;const l=()=>n?ge:void 0;if((0,Q.$k)(e,t)===Q.H3.HIDDEN_TO_CURRENT_USER)return pe;if(r===i.EventType.RoomMessage){const n=e.getContent();if((null==n?void 0:n.msgtype)===i.MsgType.KeyVerificationRequest){const s=t.getUserId();return e.getSender()!==s&&n.to!==s?l():me}}if(r===i.EventType.RoomCreate){var c;const n=a.A.getValue("feature_dynamic_room_predecessors");if(!(null===(c=t.getRoom(e.getRoomId()))||void 0===c?void 0:c.findPredecessor(n)))return l()}if("im.vector.modular.widgets"===r){let t=e.getContent().type;if(t||(t=e.getPrevContent().type),G.x.JITSI.matches(t))return he}var d,u,m;return e.isState()?(u=e,i.M_BEACON_INFO.matches(u.getType())&&((null===(m=u.getContent())||void 0===m?void 0:m.live)||u.isRedacted())?ce:_e.has(r)&&""!==e.getStateKey()?l():(fe.get(r)!==ue||(0,Z.I3)(e,t,n))&&null!==(d=fe.get(r))&&void 0!==d?d:l()):e.isRedacted()?ce:e.isRelation(i.RelationType.Replace)?l():null!==(o=ve.get(r))&&void 0!==o?o:l()}function be(e,t,n){n=null!=n?n:O.J.safeGet();const s=ye(t.mxEvent,n,t.showHiddenEvents);if(!s)return re.r.instance.customComponents.renderMessage({mxEvent:t.mxEvent});const{ref:o,mxEvent:i,forExport:r,replacingEventId:a,editState:c,highlights:d,highlightLink:u,showUrlPreview:m,permalinkCreator:p,callEventGrouper:h,getRelationsForEvent:g,isSeeingThroughMessageHiddenForModeration:v,inhibitInteraction:f,showHiddenEvents:_}=t;switch(e){case l.Ae.File:case l.Ae.Notification:case l.Ae.Thread:return re.r.instance.customComponents.renderMessage({mxEvent:t.mxEvent},e=>{var n;return s(t.ref,{mxEvent:i,highlights:d,highlightLink:u,showUrlPreview:null!==(n=null==e?void 0:e.showUrlPreview)&&void 0!==n?n:m,editState:c,replacingEventId:a,getRelationsForEvent:g,isSeeingThroughMessageHiddenForModeration:v,permalinkCreator:p,inhibitInteraction:f,showHiddenEvents:_})});default:return re.r.instance.customComponents.renderMessage({mxEvent:t.mxEvent},e=>{var t;return s(o,{mxEvent:i,forExport:r,replacingEventId:a,editState:c,highlights:d,highlightLink:u,showUrlPreview:null!==(t=null==e?void 0:e.showUrlPreview)&&void 0!==t?t:m,permalinkCreator:p,callEventGrouper:h,getRelationsForEvent:g,isSeeingThroughMessageHiddenForModeration:v,inhibitInteraction:f,showHiddenEvents:_})})}}function we(e,t,n){n=null!=n?n:O.J.safeGet();const s=ye(e.mxEvent,n,t);if(!s)return re.r.instance.customComponents.renderMessage({mxEvent:e.mxEvent});const{ref:o,mxEvent:i,highlights:r,highlightLink:a,showUrlPreview:l,overrideBodyTypes:c,overrideEventTypes:d,replacingEventId:u,maxImageHeight:m,getRelationsForEvent:p,isSeeingThroughMessageHiddenForModeration:h,permalinkCreator:g}=e;return re.r.instance.customComponents.renderMessage({mxEvent:e.mxEvent},e=>{var n;return s(o,{mxEvent:i,highlights:r,highlightLink:a,showUrlPreview:null!==(n=null==e?void 0:e.showUrlPreview)&&void 0!==n?n:l,overrideBodyTypes:c,overrideEventTypes:d,replacingEventId:u,maxImageHeight:m,getRelationsForEvent:p,isSeeingThroughMessageHiddenForModeration:h,permalinkCreator:g,showHiddenEvents:t})})}const Ee=[i.EventType.RoomMessage,i.EventType.Sticker];function Ae(e){return Ee.includes(e.getType())||i.M_POLL_START.matches(e.getType())||i.M_POLL_END.matches(e.getType())}function xe(e,t,n){if(e.isRedacted()&&!e.isEncrypted()&&!Ae(e)&&!e.isState())return!1;if(re.r.instance.customComponents.getHintsForMessage(e))return!0;if(e.isRelation(i.RelationType.Replace))return!1;const s=ye(e,t,n);if(!s)return!1;if(s===ue)return(0,Z.I3)(e,t,n);if(s===fe.get(i.EventType.RoomCreate)){var o;const n=a.A.getValue("feature_dynamic_room_predecessors"),s=null===(o=t.getRoom(e.getRoomId()))||void 0===o?void 0:o.findPredecessor(n);return Boolean(s)}if(le.Fm.names.some(e=>s===fe.get(e))){const t=e.getContent()["m.intent"];return 0===Object.keys(e.getPrevContent()).length&&"string"==typeof t&&t!==i.GroupCallIntent.Room}return s!==ge}},"./src/events/forward/getForwardableEvent.ts"(e,t,n){"use strict";n.d(t,{e:()=>i});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/utils/beacon/getShareableLocation.ts");const i=(e,t)=>s.M_POLL_START.matches(e.getType())||s.M_POLL_END.matches(e.getType())?null:s.M_BEACON_INFO.matches(e.getType())?(0,o.q)(e,t):e},"./src/events/location/getShareableLocationEvent.ts"(e,t,n){"use strict";n.d(t,{V:()=>r});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/utils/beacon/getShareableLocation.ts"),i=n("./src/utils/EventUtils.ts");const r=(e,t)=>(0,i.wq)(e)?e:s.M_BEACON_INFO.matches(e.getType())?(0,o.q)(e,t):null},"./src/favicon.ts"(e,t,n){"use strict";n.d(t,{A:()=>d,J:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const r={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontWeight:"bold",isUp:!1,isLeft:!1};class a{constructor(e=r,t){(0,s.A)(this,"canvas",void 0),(0,s.A)(this,"context",void 0),this.params=e,this.baseImage=t,this.canvas=document.createElement("canvas");const n=this.canvas.getContext("2d");if(!n)throw Error("Could not get canvas context");this.context=n}options(e,t){const n={n:"number"==typeof e?Math.abs(0|e):e,len:(""+e).length,x:.4,y:.4,w:.6,h:.6};return t.isUp&&(n.y<.6?n.y=n.y-.4:n.y=n.y-2*n.y+(1-n.w)),t.isLeft&&(n.x<.6?n.x=n.x-.4:n.x=n.x-2*n.x+(1-n.h)),n.x=this.canvas.width*n.x,n.y=this.canvas.height*n.y,n.w=this.canvas.width*n.w,n.h=this.canvas.height*n.h,n}circle(e,t){const n=i(i({},this.params),t),s=this.options(e,n);let o=!1;this.baseImage||(s.x=0,s.y=0,s.w=this.canvas.width,s.h=this.canvas.height),2===s.len?(s.x=s.x-.4*s.w,s.w=1.4*s.w,o=!0):s.len>=3&&(s.x=s.x-.65*s.w,s.w=1.65*s.w,o=!0),this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.baseImage&&this.context.drawImage(this.baseImage,0,0,this.canvas.width,this.canvas.height),this.context.beginPath();const r=Math.floor(s.h*("number"==typeof s.n&&s.n>99?.85:1))+"px";if(this.context.font=`${n.fontWeight} ${r} ${n.fontFamily}`,this.context.textAlign="center",o?(this.context.moveTo(s.x+s.w/2,s.y),this.context.lineTo(s.x+s.w-s.h/2,s.y),this.context.quadraticCurveTo(s.x+s.w,s.y,s.x+s.w,s.y+s.h/2),this.context.lineTo(s.x+s.w,s.y+s.h-s.h/2),this.context.quadraticCurveTo(s.x+s.w,s.y+s.h,s.x+s.w-s.h/2,s.y+s.h),this.context.lineTo(s.x+s.h/2,s.y+s.h),this.context.quadraticCurveTo(s.x,s.y+s.h,s.x,s.y+s.h-s.h/2),this.context.lineTo(s.x,s.y+s.h/2),this.context.quadraticCurveTo(s.x,s.y,s.x+s.h/2,s.y)):this.context.arc(s.x+s.w/2,s.y+s.h/2,s.h/2,0,2*Math.PI),this.context.fillStyle=n.bgColor,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.stroke(),this.context.fillStyle=n.textColor,"number"==typeof s.n&&s.n>999){const e=(s.n>9999?9:Math.floor(s.n/1e3))+"k+";this.context.fillText(e,Math.floor(s.x+s.w/2),Math.floor(s.y+s.h-.2*s.h))}else this.context.fillText(""+s.n,Math.floor(s.x+s.w/2),Math.floor(s.y+s.h-.15*s.h));this.context.closePath()}}class l extends a{constructor(){super(),this.canvas.width=16,this.canvas.height=16}async render(e,t){return 0===e?null:(this.circle(e,i({},t?{bgColor:t}:void 0)),new Promise((e,t)=>{this.canvas.toBlob(n=>{n&&e(n.arrayBuffer()),t(new Error("Could not render badge overlay as blob"))},"image/png",1)}))}}const c=144;class d extends a{constructor(){const e=document.createElement("img");super(r,e),(0,s.A)(this,"browser",{ff:void 0!==window.InstallTrigger,opera:!!window.opera||navigator.userAgent.includes("Opera")}),(0,s.A)(this,"icons",void 0),(0,s.A)(this,"isReady",!1),(0,s.A)(this,"readyCb",void 0),this.icons=d.getIcons();const t=this.icons[this.icons.length-1];t.hasAttribute("href")?(e.setAttribute("crossOrigin","anonymous"),e.onload=()=>{this.canvas.height=e.height>0?e.height:c,this.canvas.width=e.width>0?e.width:c,this.ready()},e.setAttribute("src",t.getAttribute("href"))):(this.canvas.height=e.height=c,this.canvas.width=e.width=c,this.ready())}reset(){this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.context.drawImage(this.baseImage,0,0,this.canvas.width,this.canvas.height)}ready(){var e;this.isReady||(this.isReady=!0,null===(e=this.readyCb)||void 0===e||e.call(this))}setIcon(e){setTimeout(()=>{this.setIconSrc(e.toDataURL("image/png"))},0)}setIconSrc(e){if(this.browser.ff||this.browser.opera){var t;const n=this.icons[this.icons.length-1],s=window.document.createElement("link");this.icons=[s],s.setAttribute("rel","icon"),s.setAttribute("type","image/png"),window.document.getElementsByTagName("head")[0].appendChild(s),s.setAttribute("href",e),null===(t=n.parentNode)||void 0===t||t.removeChild(n)}else this.icons.forEach(t=>{t.setAttribute("href",e)})}badge(e,t){this.isReady?("string"==typeof e||e>0?this.circle(e,t):this.reset(),this.setIcon(this.canvas)):this.readyCb=()=>{this.badge(e,t)}}static getLinks(){const e=[],t=window.document.getElementsByTagName("head")[0].getElementsByTagName("link");for(const n of t)n.hasAttribute("rel")&&/(^|\s)icon(\s|$)/i.test(n.getAttribute("rel"))&&e.push(n);return e}static getIcons(){let e=d.getLinks();return 0===e.length&&(e=[window.document.createElement("link")],e[0].setAttribute("rel","icon"),window.document.getElementsByTagName("head")[0].appendChild(e[0])),e}}},"./src/hooks/room/useRoomMemberProfile.ts"(e,t,n){"use strict";n.d(t,{s:()=>a});var s=n("./node_modules/react/index.js"),o=n("./src/contexts/RoomContext.ts"),i=n("./src/hooks/useSettings.ts"),r=n("./src/contexts/ScopedRoomContext.tsx");function a({userId:e="",member:t,forceHistorical:n=!1}){const a=(0,r.ME)("room","timelineRenderingType"),l=(0,i.ti)("useOnlyCurrentProfiles");return(0,s.useMemo)(()=>{const s=[o.Ae.ThreadsList,o.Ae.Thread];if(!n&&l||s.includes(a.timelineRenderingType)){var i;const t=null===(i=a.room)||void 0===i?void 0:i.getMember(e);if(t)return t}return t},[n,t,a.room,a.timelineRenderingType,l,e])}},"./src/hooks/useAsyncMemo.ts"(e,t,n){"use strict";n.d(t,{e:()=>o});var s=n("./node_modules/react/index.js");function o(e,t,n){const[o,i]=(0,s.useState)(n);return(0,s.useEffect)(()=>{let t=!1;return e().then(e=>{t||i(e)}),()=>{t=!0}},t),o}},"./src/hooks/useCall.ts"(e,t,n){"use strict";n.d(t,{Gc:()=>a,IW:()=>m,Jf:()=>l,jd:()=>c,q0:()=>u});var s=n("./node_modules/react/index.js"),o=n("./src/models/Call.ts"),i=n("./src/hooks/useEventEmitter.ts"),r=n("./src/stores/CallStore.ts");const a=e=>{const[t,n]=(0,s.useState)(()=>r.e.instance.getCall(e));return(0,i.ml)(r.e.instance,r.s.Call,(t,s)=>{s===e&&n(t)}),(0,s.useEffect)(()=>{n(r.e.instance.getCall(e))},[e]),t},l=(e,t)=>{const n=a(t);return(null==n?void 0:n.widget.id)===e?n:null},c=e=>(0,i.DY)(null!=e?e:void 0,o.$E.ConnectionState,(0,s.useCallback)(t=>{var n;return null!==(n=null!=t?t:null==e?void 0:e.connectionState)&&void 0!==n?n:o.KN.Disconnected},[e])),d=e=>(0,i.DY)(null!=e?e:void 0,o.$E.Participants,(0,s.useCallback)(t=>{var n;return null!==(n=null!=t?t:null==e?void 0:e.participants)&&void 0!==n?n:[]},[e])),u=e=>{const t=d(e);return(0,s.useMemo)(()=>[...t.values()].reduce((e,t)=>e+t.size,0),[t])},m=e=>{const t=d(e);return(0,s.useMemo)(()=>{const e=[];for(const[n,s]of t)for(let t=0;t<s.size;t++)e.push(n);return e},[t])}},"./src/hooks/useDispatcher.ts"(e,t,n){"use strict";n.d(t,{F:()=>o});var s=n("./node_modules/react/index.js");const o=(e,t)=>{const n=(0,s.useRef)(e=>{});(0,s.useEffect)(()=>{n.current=t},[t]),(0,s.useEffect)(()=>{const t=e.register(e=>n.current(e));return()=>{e.unregister(t)}},[e])}},"./src/hooks/useDownloadMedia.ts"(e,t,n){"use strict";n.d(t,{Q:()=>m});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/components/views/dialogs/ErrorDialog.tsx"),a=n("./src/languageHandler.tsx"),l=n("./src/Modal.tsx"),c=n("./src/utils/FileDownloader.ts"),d=n("./src/utils/MediaEventHelper.ts"),u=n("./src/modules/Api.ts");function m(e,t,n){const m=(0,o.useRef)(new c.s).current,p=(0,o.useRef)(null),[h,g]=(0,o.useState)(!1),[v,f]=(0,o.useState)(!0),_=(0,o.useMemo)(()=>n?new d.j(n):void 0,[n]);(0,o.useEffect)(()=>{if(!n)return;const e=u.r.instance.customComponents.getHintsForMessage(n);null!=e&&e.allowDownloadingMedia?(f(!1),e.allowDownloadingMedia().then(f).catch(e=>{i.vF.error(`Failed to check media download permission for ${n.event.event_id}`,e),f(!1)})):f(!0)},[n]);const y=async e=>{var n,s;await m.download({blob:e,name:null!==(n=null!==(s=null==_?void 0:_.fileName)&&void 0!==s?s:t)&&void 0!==n?n:(0,a._t)("common|image")}),g(!1)},b=e=>{l.Ay.createDialog(r.A,{title:(0,a._t)("timeline|download_failed"),description:`${(0,a._t)("timeline|download_failed_description")}\n\n${String(e)}`}),g(!1)};return{download:async()=>{if(!h)try{if(g(!0),p.current)return y(p.current);if(_)p.current=await _.sourceBlob.value;else{const t=await fetch(e);if(!t.ok)throw(0,s.parseErrorResponse)(t,await t.text());p.current=await t.blob()}await y(p.current)}catch(e){b(e)}},loading:h,canDownload:v}}},"./src/hooks/useEventEmitter.ts"(e,t,n){"use strict";n.d(t,{DY:()=>r,E6:()=>c,H8:()=>l,YK:()=>o,dF:()=>a,ml:()=>i});var s=n("./node_modules/react/index.js");function o(e,t,n){i(e,t,n)}function i(e,t,n){const o=(0,s.useRef)(n);(0,s.useEffect)(()=>{o.current=n},[n]),(0,s.useEffect)(()=>{if(!e)return;const n=(...e)=>o.current(...e);return e.on(t,n),()=>{e.off(t,n)}},[t,e])}function r(e,t,n){return a(e,t,n)}function a(e,t,n){const[o,r]=(0,s.useState)(n),a=(0,s.useCallback)((...e)=>{r(n(...e))},[n]);return(0,s.useEffect)(a,[e]),i(e,t,a),o}function l(e,t,n,o,r){const[a,l]=(0,s.useState)(r);let d=!1;const u=[],m=(0,s.useCallback)((...e)=>{d?u.push(e):(d=!0,n(...e).then(e=>{e instanceof c||l(e)}).finally(()=>{d=!1,0!=u.length&&m(...u.shift())}))},[n,...o]);return(0,s.useEffect)(m,[e,m,...o]),i(e,t,m),a}class c{}},"./src/hooks/useFocus.ts"(e,t,n){"use strict";n.d(t,{A:()=>o});var s=n("./node_modules/react/index.js");function o(){const[e,t]=(0,s.useState)(!1);return[e,{onFocus:()=>t(!0),onBlur:()=>t(!1)}]}},"./src/hooks/useIsEncrypted.ts"(e,t,n){"use strict";n.d(t,{Y:()=>a,g:()=>l});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/hooks/useRoomState.ts"),i=n("./src/hooks/useAsyncMemo.ts"),r=n("./src/models/LocalRoom.ts");async function a(e,t){return e instanceof r.Np?e.isEncryptionEnabled():await t.isEncryptionEnabledInRoom(e.roomId)}function l(e,t){const n=(0,o.U)(t,e=>{var t;return null===(t=e.getStateEvents(s.EventType.RoomEncryption))||void 0===t?void 0:t[0]});return(0,i.e)(async()=>{const n=e.getCrypto();return t&&n?a(t,n):null},[t,n],null)}},"./src/hooks/useLocalEcho.ts"(e,t,n){"use strict";n.d(t,{W:()=>o});var s=n("./node_modules/react/index.js");const o=(e,t,n)=>{const[o,i]=(0,s.useState)(e);return[o,async s=>{i(s);try{await t(s)}catch(t){i(e()),n(t)}}]}},"./src/hooks/useMediaVisible.ts"(e,t,n){"use strict";n.d(t,{E:()=>g});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/settings/SettingLevel.ts"),a=n("./src/hooks/useSettings.ts"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/contexts/MatrixClientContext.tsx"),d=n("./src/@types/media_preview.ts"),u=n("./src/hooks/useRoomState.ts");function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const h=[i.JoinRule.Invite,i.JoinRule.Knock,i.JoinRule.Restricted];function g(e){var t;const n=null==e?void 0:e.getId(),s=(0,a.ti)("mediaPreviewConfig",null==e?void 0:e.getRoomId()),i=(0,c.nH)(),m=(0,a.ti)("showMediaEventIds"),g=null!==(t=i.getRoom(null==e?void 0:e.getRoomId()))&&void 0!==t?t:void 0,v=(0,u.U)(g,e=>e.getJoinRule()),f=(0,o.useCallback)(e=>{l.A.setValue("showMediaEventIds",null,r.p.DEVICE,p(p({},m),{},{[n]:e}))},[n,m]),_=!!v&&h.includes(v),y=n?m[n]:void 0;return void 0!==y?[y,f]:(null==e?void 0:e.getSender())===i.getUserId()?[!0,f]:s.media_previews===d.M.Off?[!1,f]:s.media_previews===d.M.On?[!0,f]:s.media_previews===d.M.Private?[_,f]:(console.warn("Invalid media visibility setting",s.media_previews),[!1,f])}},"./src/hooks/useRoomNotificationState.ts"(e,t,n){"use strict";n.d(t,{I:()=>l});var s=n("./node_modules/react/index.js"),o=n("./src/stores/local-echo/EchoChamber.ts"),i=n("./src/stores/local-echo/GenericEchoChamber.ts"),r=n("./src/stores/local-echo/RoomEchoChamber.ts"),a=n("./src/hooks/useEventEmitter.ts");const l=e=>{const t=(0,s.useMemo)(()=>o.s.forRoom(e),[e]),[n,l]=(0,s.useState)(t.notificationVolume);(0,a.ml)(t,i.Qj,e=>{e===r.Z.NotificationVolume&&void 0!==t.notificationVolume&&l(t.notificationVolume)});return[n,(0,s.useCallback)(e=>t.notificationVolume=e,[t])]}},"./src/hooks/useRoomState.ts"(e,t,n){"use strict";n.d(t,{U:()=>r});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/hooks/useEventEmitter.ts");function r(e,t){const n=(0,s.useRef)(t);(0,s.useEffect)(()=>{n.current=t},[t]);const[r,a]=(0,s.useState)(e?t(e.currentState):void 0),l=(0,s.useCallback)(()=>{e&&a(n.current(e.currentState))},[e]);return(0,i.YK)(null==e?void 0:e.currentState,o.RoomStateEvent.Update,l),(0,s.useEffect)(()=>(l(),()=>{a(e?n.current(e.currentState):void 0)}),[e,l]),r}},"./src/hooks/useSettings.ts"(e,t,n){"use strict";n.d(t,{ny:()=>a,ti:()=>i,wL:()=>r});var s=n("./node_modules/react/index.js"),o=n("./src/settings/SettingsStore.ts");function i(e,t=null,n=!1){const[i,r]=(0,s.useState)(o.A.getValue(e,t,n));return(0,s.useEffect)(()=>{const s=o.A.watchSetting(e,t,()=>{r(o.A.getValue(e,t,n))});return()=>{o.A.unwatchSetting(s)}},[e,t,n]),i}const r=(e,t,n=null,i=!1,r=!1)=>{const[a,l]=(0,s.useState)(o.A.getValueAt(e,t,n,i,r));return(0,s.useEffect)(()=>{const s=o.A.watchSetting(t,n,()=>{l(o.A.getValueAt(e,t,n,i,r))});return()=>{o.A.unwatchSetting(s)}},[e,t,n,i,r]),a},a=(e,t=null)=>{const[n,i]=(0,s.useState)(o.A.getValue(e,t));return(0,s.useEffect)(()=>{const n=o.A.watchSetting(e,t,()=>{i(o.A.getValue(e,t))});return()=>{o.A.unwatchSetting(n)}},[e,t]),n}},"./src/hooks/useStateToggle.ts"(e,t,n){"use strict";n.d(t,{X:()=>o});var s=n("./node_modules/react/index.js");const o=(e=!1)=>{const[t,n]=(0,s.useState)(e);return[t,()=>{n(!t)},n]}},"./src/hooks/useTimeout.ts"(e,t,n){"use strict";n.d(t,{$$:()=>o,kD:()=>i});var s=n("./node_modules/react/index.js");const o=(e,t)=>{const n=(0,s.useRef)(void 0);(0,s.useEffect)(()=>{n.current=e},[e]),(0,s.useEffect)(()=>{const e=window.setInterval(()=>{var e;null===(e=n.current)||void 0===e||e.call(n)},t);return()=>clearInterval(e)},[t])},i=(e,t,n)=>{const[i,r]=(0,s.useState)(n);return o(()=>r(e=>e-1),t),0===i&&e(),i}},"./src/hooks/useUnreadNotifications.ts"(e,t,n){"use strict";n.d(t,{X:()=>l});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/react/index.js"),i=n("./src/RoomNotifs.ts"),r=n("./src/stores/notifications/NotificationLevel.ts"),a=n("./src/hooks/useEventEmitter.ts");const l=(e,t)=>{const[n,l]=(0,o.useState)(null),[c,d]=(0,o.useState)(0),[u,m]=(0,o.useState)(r.S.None);(0,a.ml)(e,s.RoomEvent.UnreadNotifications,(e,n)=>{t&&t!==n||p()}),(0,a.ml)(e,s.RoomEvent.Receipt,()=>p()),(0,a.ml)(e,s.RoomEvent.Timeline,()=>p()),(0,a.ml)(e,s.RoomEvent.Redaction,()=>p()),(0,a.ml)(e,s.RoomEvent.LocalEchoUpdated,()=>p()),(0,a.ml)(e,s.RoomEvent.MyMembership,()=>p());const p=(0,o.useCallback)(()=>{const{symbol:n,count:s,level:o}=(0,i.m5)(e,t,!1);l(n),d(s),m(o)},[e,t]);return(0,o.useEffect)(()=>{p()},[p]),{symbol:n,count:c,level:u}}},"./src/integrations/IntegrationManagers.ts"(e,t,n){"use strict";n.d(t,{J:()=>T});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/SdkConfig.ts"),a=n("./src/Modal.tsx"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/Terms.ts"),d=n("./src/MatrixClientPeg.ts"),u=n("./src/utils/UrlUtils.ts");class m{constructor(e,t){(0,s.A)(this,"scalarToken",void 0),(0,s.A)(this,"termsInteractionCallback",void 0),(0,s.A)(this,"isDefaultManager",void 0),this.apiUrl=e,this.uiUrl=t,this.scalarToken=null,this.termsInteractionCallback=void 0;const n=r.Ay.get("integrations_rest_url"),o=r.Ay.get("integrations_ui_url");this.isDefaultManager=e===n&&o===t}writeTokenToStore(){var e;window.localStorage.setItem("mx_scalar_token_at_"+this.apiUrl,null!==(e=this.scalarToken)&&void 0!==e?e:""),this.isDefaultManager&&window.localStorage.removeItem("mx_scalar_token")}readTokenFromStore(){let e=window.localStorage.getItem("mx_scalar_token_at_"+this.apiUrl);return!e&&this.isDefaultManager&&(e=window.localStorage.getItem("mx_scalar_token")),e}readToken(){return this.scalarToken?this.scalarToken:this.readTokenFromStore()}setTermsInteractionCallback(e){this.termsInteractionCallback=e}connect(){return this.getScalarToken().then(e=>{this.scalarToken=e})}hasCredentials(){return null!=this.scalarToken}getScalarToken(){const e=this.readToken();return e?this.checkToken(e).catch(e=>{if(e instanceof c.lO)throw e;return this.registerForToken()}):this.registerForToken()}async getAccountName(e){const t=new URL(this.apiUrl+"/account");t.searchParams.set("scalar_token",e),t.searchParams.set("v","1.1");const n=await fetch(t,{method:"GET"}),s=await n.json();if("M_TERMS_NOT_SIGNED"===(null==s?void 0:s.errcode))throw new c.lO;if(!n.ok)throw s;if(null==s||!s.user_id)throw new Error("Missing user_id in response");return s.user_id}checkToken(e){return this.getAccountName(e).then(t=>{const n=d.J.safeGet().getUserId();if(t!==n)throw new Error("Scalar token is owned by someone else: "+n);return e}).catch(t=>{if(t instanceof c.lO){o.vF.log("Integration manager requires new terms to be agreed to");const t=(0,u.Dl)(this.apiUrl);return t.pathname="",(0,c.gw)(d.J.safeGet(),[new c.kl(i.SERVICE_TYPES.IM,t.toString(),e)],this.termsInteractionCallback).then(()=>e)}throw t})}registerForToken(){return d.J.safeGet().getOpenIdToken().then(e=>this.exchangeForScalarToken(e)).then(e=>this.checkToken(e)).then(e=>(this.scalarToken=e,this.writeTokenToStore(),e))}async exchangeForScalarToken(e){const t=new URL(this.apiUrl+"/register");t.searchParams.set("v","1.1");const n=await fetch(t,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}});if(!n.ok)throw new Error(`Scalar request failed: ${n.status}`);const s=await n.json();if(null==s||!s.scalar_token)throw new Error("Missing scalar_token in response");return s.scalar_token}async getScalarPageTitle(e){var t;const n=new URL(this.getStarterLink(this.apiUrl+"/widgets/title_lookup"));n.searchParams.set("curl",encodeURIComponent(e));const s=await fetch(n,{method:"GET"});if(!s.ok)throw new Error(`Scalar request failed: ${s.status}`);const o=await s.json();return null==o||null===(t=o.page_title_cache_item)||void 0===t?void 0:t.cached_title}async disableWidgetAssets(e,t){const n=new URL(this.getStarterLink(this.apiUrl+"/widgets/set_assets_state"));n.searchParams.set("widget_type",e.preferred),n.searchParams.set("widget_id",t),n.searchParams.set("state","disable");const s=await fetch(n,{method:"GET"});if(!s.ok)throw new Error(`Scalar request failed: ${s.status}`);if(!await s.text())throw new Error("Failed to set widget assets state")}getScalarInterfaceUrlForRoom(e,t,n){const s=e.roomId,o=e.name;let i=this.uiUrl;return this.scalarToken&&(i+="?scalar_token="+encodeURIComponent(this.scalarToken)),i+="&room_id="+encodeURIComponent(s),i+="&room_name="+encodeURIComponent(o),i+="&theme="+encodeURIComponent(l.A.getValue("theme")),n&&(i+="&integ_id="+encodeURIComponent(n)),t&&(i+="&screen="+encodeURIComponent(t)),i}getStarterLink(e){return this.scalarToken?e+"?scalar_token="+encodeURIComponent(this.scalarToken):e}}var p=n("./node_modules/react/index.js"),h=n("./src/languageHandler.tsx"),g=n("./src/dispatcher/dispatcher.ts"),v=n("./src/components/views/elements/Spinner.tsx"),f=n("./src/KeyBindingsManager.ts"),_=n("./src/accessibility/KeyboardShortcuts.ts"),y=n("./src/components/views/typography/Heading.tsx");class b extends p.Component{constructor(...e){super(...e),(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"state",{errored:!1}),(0,s.A)(this,"onKeyDown",e=>{if((0,f.zM)().getAccessibilityAction(e)===_.bY.Escape)e.stopPropagation(),e.preventDefault(),this.props.onFinished()}),(0,s.A)(this,"onAction",e=>{"close_scalar"===e.action&&this.props.onFinished()}),(0,s.A)(this,"onError",()=>{this.setState({errored:!0})})}componentDidMount(){this.dispatcherRef=g.A.register(this.onAction),document.addEventListener("keydown",this.onKeyDown)}componentWillUnmount(){g.A.unregister(this.dispatcherRef),document.removeEventListener("keydown",this.onKeyDown)}render(){return this.props.loading?p.createElement("div",{className:"mx_IntegrationManager_loading"},p.createElement(y.A,{size:"3"},(0,h._t)("integration_manager|connecting")),p.createElement(v.A,null)):!this.props.connected||this.state.errored?p.createElement("div",{className:"mx_IntegrationManager_error"},p.createElement(y.A,{size:"3"},(0,h._t)("integration_manager|error_connecting_heading")),p.createElement("p",null,(0,h._t)("integration_manager|error_connecting"))):p.createElement("iframe",{title:(0,h._t)("common|integration_manager"),src:this.props.url,onError:this.onError})}}(0,s.A)(b,"defaultProps",{connected:!0,loading:!1});let w=function(e){return e.Account="account",e.Config="config",e.Homeserver="homeserver",e}({});class E{constructor(e,t,n=t,s){this.kind=e,this.apiUrl=t,this.uiUrl=n,this.id=s}get name(){var e;return null!==(e=(0,u.Dl)(this.uiUrl).host)&&void 0!==e?e:""}get trimmedApiUrl(){const e=(0,u.Dl)(this.apiUrl);return e.pathname="",e.toString()}getScalarClient(){return new m(this.apiUrl,this.uiUrl)}async open(e,t,n){if(!l.A.getValue("integrationProvisioning"))return T.sharedInstance().showDisabledDialog();const s=a.Ay.createDialog(b,{loading:!0},"mx_IntegrationManager"),i=this.getScalarClient();i.setTermsInteractionCallback((e,t)=>(0,c.Lo)(e,t,"mx_TermsDialog_forIntegrationManager"));const r={};try{await i.connect(),i.hasCredentials()?r.url=i.getScalarInterfaceUrlForRoom(e,t,n):r.connected=!1}catch(e){if(e instanceof c.lO)return void s.close();o.vF.error(e),r.connected=!1}s.close(),a.Ay.createDialog(b,r,"mx_IntegrationManager")}}var A=n("./src/components/views/dialogs/BaseDialog.tsx"),x=n("./src/components/views/elements/DialogButtons.tsx");class S extends p.Component{constructor(...e){super(...e),(0,s.A)(this,"onAcknowledgeClick",()=>{this.props.onFinished()})}render(){const e=r.Ay.get().brand;return p.createElement(A.A,{className:"mx_IntegrationsImpossibleDialog",hasCancel:!1,onFinished:this.props.onFinished,title:(0,h._t)("integrations|impossible_dialog_title")},p.createElement("div",{className:"mx_IntegrationsImpossibleDialog_content"},p.createElement("p",null,(0,h._t)("integrations|impossible_dialog_description",{brand:e}))),p.createElement(x.A,{primaryButton:(0,h._t)("action|ok"),onPrimaryButtonClick:this.onAcknowledgeClick,hasCancel:!1}))}}var C=n("./src/dispatcher/actions.ts"),k=n("./src/components/views/dialogs/UserTab.ts");const R=({onFinished:e})=>{const t=(0,p.useCallback)(()=>{e(),g.A.dispatch({action:C.r.ViewUserSettings,initialTabId:k.v.Security})},[e]);return p.createElement(A.A,{className:"mx_IntegrationsDisabledDialog",hasCancel:!0,onFinished:e,title:(0,h._t)("integrations|disabled_dialog_title")},p.createElement("div",{className:"mx_IntegrationsDisabledDialog_content"},p.createElement("p",null,(0,h._t)("integrations|disabled_dialog_description",{manageIntegrations:(0,h._t)("integration_manager|manage_title")}))),p.createElement(x.A,{primaryButton:(0,h._t)("common|settings"),onPrimaryButtonClick:t,cancelButton:(0,h._t)("action|ok"),onCancel:e}))};var I=n("./src/utils/WidgetUtils.ts");const P=[w.Account,w.Homeserver,w.Config];class T{static sharedInstance(){return T.instance||(T.instance=new T),T.instance}constructor(){(0,s.A)(this,"managers",[]),(0,s.A)(this,"client",void 0),(0,s.A)(this,"primaryManager",null),(0,s.A)(this,"setupHomeserverManagers",async e=>{if(o.vF.log("Updating homeserver-configured integration managers..."),e&&e["m.integrations"]){let t=e["m.integrations"].managers;Array.isArray(t)||(t=[]),o.vF.log(`Homeserver has ${t.length} integration managers`),this.managers=this.managers.filter(e=>e.kind!==w.Homeserver);for(const e of t)e.api_url&&this.managers.push(new E(w.Homeserver,e.api_url,e.ui_url));this.primaryManager=null}else o.vF.log("Homeserver has no integration managers")}),(0,s.A)(this,"onAccountData",e=>{"m.widgets"===e.getType()&&this.compileManagers()}),this.compileManagers()}startWatching(){this.stopWatching(),this.client=d.J.safeGet(),this.client.on(i.ClientEvent.AccountData,this.onAccountData),this.client.on(i.ClientEvent.ClientWellKnown,this.setupHomeserverManagers),this.compileManagers()}stopWatching(){this.client&&(this.client.removeListener(i.ClientEvent.AccountData,this.onAccountData),this.client.removeListener(i.ClientEvent.ClientWellKnown,this.setupHomeserverManagers))}compileManagers(){this.managers=[],this.setupConfiguredManager(),this.setupAccountManagers()}setupConfiguredManager(){const e=r.Ay.get("integrations_rest_url"),t=r.Ay.get("integrations_ui_url");e&&t&&(this.managers.push(new E(w.Config,e,t)),this.primaryManager=null)}setupAccountManagers(){if(!this.client||!this.client.getUserId())return;I.A.getIntegrationManagerWidgets(this.client).forEach(e=>{const t=e.content.data;if(!t)return;const n=e.content.url,s=t.api_url;if(!s||!n)return;const o=new E(w.Account,s,n,e.id||e.state_key||"");this.managers.push(o)}),this.primaryManager=null}hasManager(){return this.managers.length>0}getOrderedManagers(){const e=new Intl.Collator,t=[];for(const n of P){const s=this.managers.filter(e=>e.kind===n);s&&s.length&&(n===w.Account&&s.sort((t,n)=>{var s,o;return e.compare(null!==(s=t.id)&&void 0!==s?s:"",null!==(o=n.id)&&void 0!==o?o:"")}),t.push(...s))}return t}getPrimaryManager(){return this.hasManager()?(this.primaryManager||(this.primaryManager=this.getOrderedManagers()[0]),this.primaryManager):null}openNoManagerDialog(){a.Ay.createDialog(S)}showDisabledDialog(){a.Ay.createDialog(R)}}(0,s.A)(T,"instance",void 0),window.mxIntegrationManagers=T},"./src/languageHandler.tsx"(e,t,n){"use strict";n.d(t,{AO:()=>l.AO,CO:()=>S,Ev:()=>l.Ev,P7:()=>y,UK:()=>x,_3:()=>l._3,_t:()=>l._t,mf:()=>b,om:()=>E,ot:()=>l.ot,w2:()=>l.w2,xC:()=>w,yR:()=>A});var s=n("./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./node_modules/matrix-js-sdk/src/utils.ts"),a=n("./node_modules/lodash/lodash.default.js"),l=n("./packages/shared-components/dist/element-web-shared-components.js"),c=n("./src/settings/SettingsStore.ts"),d=n("./src/PlatformPeg.ts"),u=n("./src/settings/SettingLevel.ts"),m=n("./src/utils/promise.ts"),p=n("./src/SdkConfig.ts"),h=n("./src/modules/ModuleRunner.ts");const g=["cause"];function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const _="i18n/";class y extends Error{constructor(e,t){const n=null!=t?t:{},{cause:i}=n,r=(0,s.A)(n,g),a={cause:i};super((0,l._t)(e,f(f({},r),{},{locale:"en"})),a),(0,o.A)(this,"translatedMessage",void 0),this.translatedMessage=(0,l._t)(e,r)}}function b(){const e=c.A.getValue("language",null,!0);return"string"==typeof e&&""!==e?e:(0,l.zv)(A()[0])}async function w(...e){var t;null===(t=d.A.get())||void 0===t||t.setLanguage(e);const n=await(0,l.ax)();let s=e.find(e=>n.hasOwnProperty(e));s||(s="en",i.vF.error("Unable to find an appropriate language, preferred: ",e));const o=await C(_+n[s]);if((0,l.od)(s,o),(0,l.xS)(s),await c.A.setValue("language",null,u.p.DEVICE,s),i.vF.log("set language to "+s),"en"!==s){const e=await C(_+n.en);(0,l.od)("en",e)}await async function({testOnlyIgnoreCustomTranslationsCache:e=!1}={}){P(h.r.instance.allTranslations);const t=p.Ay.get().custom_translations_url;if(!t)return;try{let n;if(e||Date.now()>=R?(n=I.lookupFn?I.lookupFn(t):await(await fetch(t)).json(),k=n,R=Date.now()+3e5):n=k,!n)return;P(n)}catch(e){i.vF.warn("Ignoring error while registering custom translations: ",e),R=Date.now()+3e5}}()}async function E(){const e=new Intl.DisplayNames([b()],{type:"language",style:"short"});return(await async function(){return Object.keys(await(0,l.ax)())}()).map(t=>({value:t,label:e.of(t),labelInTargetLanguage:new Intl.DisplayNames([t],{type:"language",style:"short"}).of(t)}))}function A(){var e;return navigator.languages&&navigator.languages.length?navigator.languages:[null!==(e=navigator.language)&&void 0!==e?e:"en"]}function x(){return(0,l.JK)()}function S(e){const t=x(),n=e.map(l.zv);{const s=n.indexOf(t);if(s>-1)return e[s]}{const s=n.findIndex(e=>e.slice(0,2)===t.slice(0,2));if(s>-1)return e[s]}{const t=n.findIndex(e=>e.startsWith("en"));if(t>-1)return e[t]}return e[0]}async function C(e,t=3){return(0,m.L5)(()=>async function(e){const t=await fetch(e,{method:"GET"});if(!t.ok)throw new Error(`Failed to load ${e}, got ${t.status}`);return t.json()}(e),t,t=>(i.vF.log("Failed to load i18n",e),i.vF.error(t),!0))}let k,R=0;class I{constructor(){}}function P(e){const t=new r.kG(()=>({}));for(const[n,s]of Object.entries(e))for(const[e,o]of Object.entries(s))a.A.set(t.getOrCreate(e),n.split(l.sf),o);for(const[e,n]of t)(0,l.od)(e,n)}(0,o.A)(I,"lookupFn",void 0)},"./src/linkify-matrix.ts"(e,t,n){"use strict";n.d(t,{Bu:()=>b,N4:()=>E,TP:()=>w,fF:()=>f,kD:()=>g});var s=n("./node_modules/linkifyjs/dist/linkify.mjs"),o=n("./node_modules/linkify-string/dist/linkify-string.mjs"),i=n("./node_modules/linkify-html/dist/linkify-html.mjs"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./src/utils/permalinks/Permalinks.ts"),l=n("./src/dispatcher/dispatcher.ts"),c=n("./src/dispatcher/actions.ts"),d=n("./src/MatrixClientPeg.ts"),u=n("./src/utils/UrlUtils.ts");let m=function(e){return e.URL="url",e.UserId="userid",e.RoomAlias="roomalias",e}({});function p({scanner:e,parser:t,token:n,name:o}){const{DOT:i,NUM:r,COLON:a,SYM:l,SLASH:c,EQUALS:d,HYPHEN:u,UNDERSCORE:m}=e.tokens,{domain:p}=e.tokens.groups,h=[i,l,c,d,m,u],g=[u],v=s.createTokenClass(o,{isLink:!0}),f=new s.State(v),_=s.createTokenClass(o,{isLink:!0}),y=new s.State(_),b=t.start.tt(n),w=new s.State;b.ta(p,w),b.ta(h,w),w.ta(p,w),w.ta(h,w);const E=w.tt(a);E.ta(p,f),E.ta(g,f),f.ta(p,f),f.ta(g,f),f.tt(i,E),f.tt(a).tt(r,y)}function h(e,t){e.preventDefault(),l.A.dispatch({action:c.r.ViewUser,member:new r.User(t)})}const g="^(?:vector://|https?://)?(?:"+((window.location.host+window.location.pathname).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"|(?:www\\.)?(?:riot|vector)\\.im/(?:app|beta|staging|develop)/|(?:app|beta|staging|develop)\\.element\\.io/)(#.*)");function v(e,t){switch(t){case m.URL:try{const t=(0,a.$N)(e);if(null!=t&&t.userId)return{click:function(e){h(e,t.userId)}};{const t=(0,a.uK)(e);if(t!==e)return{click:function(e){e.preventDefault(),window.location.hash=t}}}}catch{}break;case m.UserId:return{click:function(t){var n,s;t.preventDefault();const o=null!==(n=null===(s=(0,a.$N)(e))||void 0===s?void 0:s.userId)&&void 0!==n?n:e;o&&h(t,o)}};case m.RoomAlias:return{click:function(t){var n,s;t.preventDefault();const o=null!==(n=null===(s=(0,a.$N)(e))||void 0===s?void 0:s.roomIdOrAlias)&&void 0!==n?n:e;var i;o&&(i=o,t.preventDefault(),l.A.dispatch({action:c.r.ViewRoom,room_alias:i,metricsTrigger:"Timeline",metricsViaKeyboard:!1}))}}}return{}}const f={events:v,formatHref:function(e,t){switch(t){case"url":if(e.startsWith("mxc://")&&d.J.get())return(0,r.getHttpUriForMxc)(d.J.get().baseUrl,e,void 0,void 0,void 0,!1,!0);case m.RoomAlias:case m.UserId:default:var n;return null!==(n=(0,a.bP)(d.J.safeGet(),e))&&void 0!==n?n:""}},attributes:function(e,t){const n={rel:"noreferrer noopener"},s=v(e,t);return null!=s&&s.click&&(n.onClick=s.click),n},ignoreTags:["a","pre","code"],className:"linkified",target:function(e,t){if(t===m.URL)try{return(0,a.uK)(e)!==e||decodeURIComponent(e).match(g)?"":"_blank"}catch{}return""}};(0,s.registerPlugin)(m.RoomAlias,({scanner:e,parser:t})=>{p({scanner:e,parser:t,token:e.tokens.POUND,name:m.RoomAlias})}),(0,s.registerPlugin)(m.UserId,({scanner:e,parser:t})=>{p({scanner:e,parser:t,token:e.tokens.AT,name:m.UserId})});const _=["file","mailto","http","https","ftp","ftps"],y=["bitcoin","geo","im","magnet","mailto","matrix","news","openpgp4fpr","sip","sms","smsto","tel","urn","xmpp"];u._f.forEach(e=>{_.includes(e)||(0,s.registerCustomProtocol)(e,y.includes(e))}),(0,s.registerCustomProtocol)("mxc",!1);const b=s,w=o.A,E=i.A},"./src/mjolnir/BanList.ts"(e,t,n){"use strict";n.d(t,{Pd:()=>b,Ac:()=>E,B5:()=>_,fy:()=>v,ZZ:()=>h,t5:()=>y,zq:()=>f});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/models/invites-ignorer.ts"),r=n("./node_modules/glob-to-regexp/index.js"),a=n.n(r);class l{constructor(e){(0,s.A)(this,"regex",void 0);const t=a()(e,{extended:!1,globstar:!1}).toString().replace(/\\\?/g,".");this.regex=new RegExp(t.substring(1,t.length-1))}test(e){return this.regex.test(e)}}const c=i.Q5.Ban,d=[c,"org.matrix.mjolnir.ban"];function u(e,t=!0){return d.includes(e)?t?d[d.length-1]:c:null}class m{constructor(e,t,n,o){(0,s.A)(this,"_glob",void 0),(0,s.A)(this,"_entity",void 0),(0,s.A)(this,"_action",void 0),(0,s.A)(this,"_reason",void 0),(0,s.A)(this,"_kind",void 0),this._glob=new l(e),this._entity=e,this._action=u(t,!1),this._reason=n,this._kind=o}get entity(){return this._entity}get reason(){return this._reason}get kind(){return this._kind}get recommendation(){return this._action}isMatch(e){return this._glob.test(e)}}var p=n("./src/MatrixClientPeg.ts");const h=o.EventType.PolicyRuleUser,g=o.EventType.PolicyRuleRoom,v=o.EventType.PolicyRuleServer,f=[h,"m.room.rule.user","org.matrix.mjolnir.rule.user"],_=[g,"m.room.rule.room","org.matrix.mjolnir.rule.room"],y=[v,"m.room.rule.server","org.matrix.mjolnir.rule.server"],b=[...f,..._,...y];function w(e){return f.includes(e)?h:_.includes(e)?g:y.includes(e)?v:null}class E{constructor(e){(0,s.A)(this,"_rules",[]),(0,s.A)(this,"_roomId",void 0),this._roomId=e,this.updateList()}get roomId(){return this._roomId}get serverRules(){return this._rules.filter(e=>e.kind===v)}get userRules(){return this._rules.filter(e=>e.kind===h)}async banEntity(e,t,n){const s=w(e);s&&(await p.J.safeGet().sendStateEvent(this._roomId,s,{entity:t,reason:n,recommendation:u(c,!0)},"rule:"+t),this._rules.push(new m(t,c,n,s)))}async unbanEntity(e,t){const n=w(e);n&&(await p.J.safeGet().sendStateEvent(this._roomId,n,{},"rule:"+t),this._rules=this._rules.filter(n=>n.kind!==w(e)||n.entity!==t))}updateList(){this._rules=[];const e=p.J.safeGet().getRoom(this._roomId);if(e)for(const t of b){const n=e.currentState.getStateEvents(t);for(const e of n){if(!e.getStateKey())continue;const n=w(t);if(!n)continue;const s=e.getContent().entity,o=e.getContent().recommendation,i=e.getContent().reason;s&&o&&i&&this._rules.push(new m(s,o,i,n))}}}}},"./src/mjolnir/Mjolnir.ts"(e,t,n){"use strict";n.d(t,{u:()=>p});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/MatrixClientPeg.ts"),a=n("./src/mjolnir/BanList.ts"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/languageHandler.tsx"),d=n("./src/dispatcher/dispatcher.ts"),u=n("./src/settings/SettingLevel.ts"),m=n("./src/dispatcher/actions.ts");class p{constructor(){(0,s.A)(this,"_lists",[]),(0,s.A)(this,"_roomIds",[]),(0,s.A)(this,"mjolnirWatchRef",void 0),(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"onAction",e=>{"setup_mjolnir"===e.action&&(i.vF.log("Setting up Mjolnir: after sync"),this.setup())}),(0,s.A)(this,"onEvent",e=>{r.J.get()&&this._roomIds.includes(e.getRoomId())&&a.Pd.includes(e.getType())&&this.updateLists(this._roomIds)})}get roomIds(){return this._roomIds}get lists(){return this._lists}start(){this.mjolnirWatchRef=l.A.watchSetting("mjolnirRooms",null,this.onListsChanged.bind(this)),this.dispatcherRef=d.A.register(this.onAction),d.A.dispatch({action:m.r.DoAfterSyncPrepared,deferred_action:{action:"setup_mjolnir"}})}setup(){r.J.get()&&(this.updateLists(l.A.getValue("mjolnirRooms")),r.J.get().on(o.RoomStateEvent.Events,this.onEvent))}stop(){var e;l.A.unwatchSetting(this.mjolnirWatchRef),this.mjolnirWatchRef=void 0,d.A.unregister(this.dispatcherRef),this.dispatcherRef=void 0,null===(e=r.J.get())||void 0===e||e.removeListener(o.RoomStateEvent.Events,this.onEvent)}async getOrCreatePersonalList(){let e=l.A.getValue("mjolnirPersonalRoom");if(!e){const t=await r.J.safeGet().createRoom({name:(0,c._t)("labs_mjolnir|room_name"),topic:(0,c._t)("labs_mjolnir|room_topic"),preset:o.Preset.PrivateChat});e=t.room_id,await l.A.setValue("mjolnirPersonalRoom",null,u.p.ACCOUNT,e),await l.A.setValue("mjolnirRooms",null,u.p.ACCOUNT,[e,...this._roomIds])}if(!e)throw new Error("Error finding a room ID to use");let t=this._lists.find(t=>t.roomId===e);return t||(t=new a.Ac(e)),t}getPersonalList(){const e=l.A.getValue("mjolnirPersonalRoom");if(!e)return null;let t=this._lists.find(t=>t.roomId===e);return t||(t=new a.Ac(e)),t}async subscribeToList(e){const t=[...this._roomIds,e];await l.A.setValue("mjolnirRooms",null,u.p.ACCOUNT,t),this._lists.push(new a.Ac(e))}async unsubscribeFromList(e){const t=this._roomIds.filter(t=>t!==e);await l.A.setValue("mjolnirRooms",null,u.p.ACCOUNT,t),this._lists=this._lists.filter(t=>t.roomId!==e)}onListsChanged(e,t,n,s){this.updateLists(s)}updateLists(e){if(r.J.get()&&(i.vF.log("Updating Mjolnir ban lists to: "+e),this._lists=[],this._roomIds=e||[],e))for(const t of e)this._lists.push(new a.Ac(t))}isServerBanned(e){for(const t of this._lists)for(const n of t.serverRules)if(n.isMatch(e))return!0;return!1}isUserBanned(e){for(const t of this._lists)for(const n of t.userRules)if(n.isMatch(e))return!0;return!1}static sharedInstance(){return p.instance||(p.instance=new p),p.instance}}(0,s.A)(p,"instance",void 0)},"./src/models/Call.ts"(e,t,n){"use strict";n.d(t,{$E:()=>M,Ho:()=>U,Je:()=>N,KN:()=>T,am:()=>j});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/types.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./node_modules/matrix-js-sdk/src/randomstring.ts"),l=n("./node_modules/matrix-js-sdk/src/webrtc/call.ts"),c=n("./node_modules/matrix-js-sdk/src/matrixrtc/index.ts"),d=n("./src/settings/SettingsStore.ts"),u=n("./src/utils/promise.ts"),m=n("./src/utils/WidgetUtils.ts"),p=n("./src/widgets/WidgetType.ts"),h=n("./src/stores/widgets/ElementWidgetActions.ts"),g=n("./src/stores/WidgetStore.ts"),v=n("./src/stores/widgets/WidgetMessagingStore.ts"),f=n("./src/stores/ActiveWidgetStore.ts"),_=n("./src/languageHandler.tsx"),y=n("./src/PosthogAnalytics.ts"),b=n("./src/utils/video-rooms.ts"),w=n("./src/settings/watchers/FontWatcher.ts"),E=n("./src/call-types.ts"),A=n("./src/SdkConfig.ts"),x=n("./src/utils/DMRoomMap.ts"),S=n("./src/stores/widgets/WidgetMessaging.ts"),C=n("./src/IConfigOptions.ts");function k(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?k(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const I=r.vF.getChild("models/Call"),P=async(e,t,n=()=>!0,s)=>{let o;const i=new Promise(s=>{o=(...e)=>{n(...e)&&s()},e.on(t,o)});if(!1!==s){if(!1===await(0,u.wR)(i,!1,null!=s?s:16e3))throw new Error("Timed out")}else await i;e.off(t,o)};let T=function(e){return e.Disconnected="disconnected",e.Connected="connected",e.Disconnecting="disconnecting",e}({});const O=e=>e===T.Connected||e===T.Disconnecting;let M=function(e){return e.ConnectionState="connection_state",e.Participants="participants",e.Close="close",e.Destroy="destroy",e.CallTypeChanged="call_type_changed",e}({});class N extends o.TypedEventEmitter{get callType(){return this._callType}set callType(e){this._callType!==e&&this.emit(M.CallTypeChanged,e),this._callType=e}get widgetApi(){return this._widgetApi}set widgetApi(e){this._widgetApi=e}get roomId(){return this.widget.roomId}get connectionState(){return this._connectionState}set connectionState(e){const t=this._connectionState;this._connectionState=e,this.emit(M.ConnectionState,e,t)}get connected(){return O(this.connectionState)}get participants(){return this._participants}set participants(e){const t=this._participants;this._participants=e,this.emit(M.Participants,e,t)}get presented(){return this._presented}set presented(e){this._presented=e}constructor(e,t){super(),(0,s.A)(this,"widgetUid",void 0),(0,s.A)(this,"room",void 0),(0,s.A)(this,"_callType",l.JG.Video),(0,s.A)(this,"_widgetApi",null),(0,s.A)(this,"_connectionState",T.Disconnected),(0,s.A)(this,"_participants",new Map),(0,s.A)(this,"_presented",!1),(0,s.A)(this,"onMyMembership",async(e,t)=>{t!==i.O.Join&&this.setDisconnected()}),(0,s.A)(this,"onStopMessaging",e=>{e===this.widgetUid&&this.connected&&(I.debug("The widget died; treating this as a user hangup"),this.setDisconnected(),this.close())}),(0,s.A)(this,"beforeUnload",()=>{this.setDisconnected(),this.close()}),this.widget=e,this.client=t,this.widgetUid=m.A.getWidgetUid(this.widget),this.room=this.client.getRoom(this.roomId),v.c.instance.on(v.w.StopMessaging,this.onStopMessaging)}static get(e){var t;return null!==(t=U.get(e))&&void 0!==t?t:j.get(e)}async start(e){const t=v.c.instance,n=performance.now();let s=t.getMessagingForUid(this.widgetUid);for(;null===(o=s)||void 0===o||!o.widgetApi;){var o;s?I.debug(`Messaging present but not yet started for ${this.widgetUid}`):I.debug(`No messaging yet for ${this.widgetUid}`);const e=Promise.withResolvers(),i=s,r=()=>e.resolve();null==i||i.on(S.Tl.Start,r);const a=(n,o)=>{n===this.widgetUid&&(t.off(v.w.StoreMessaging,a),s=o,e.resolve())};t.on(v.w.StoreMessaging,a);const l=setTimeout(()=>e.reject(new Error(`Widget for call in ${this.roomId} not started; timed out`)),16e3-(performance.now()-n));try{await e.promise}finally{null==i||i.off(S.Tl.Start,r),t.off(v.w.StoreMessaging,a),clearTimeout(l)}}return I.debug(`Widget ${this.widgetUid} now ready`),this.widgetApi=s.widgetApi}setConnected(){this.room.on(o.RoomEvent.MyMembership,this.onMyMembership),window.addEventListener("beforeunload",this.beforeUnload),this.connectionState=T.Connected}setDisconnected(){this.room.off(o.RoomEvent.MyMembership,this.onMyMembership),window.removeEventListener("beforeunload",this.beforeUnload),this.connectionState=T.Disconnected}async disconnect(){if(!this.connected)throw new Error("Not connected");this.connectionState=T.Disconnecting,await this.performDisconnection(),this.setDisconnected(),this.close()}close(){this.widgetApi=null,this.emit(M.Close)}destroy(){this.connected&&(this.setDisconnected(),this.close()),v.c.instance.off(v.w.StopMessaging,this.onStopMessaging),this.emit(M.Destroy)}}class j extends N{constructor(e,t){super(e,t),(0,s.A)(this,"STUCK_DEVICE_TIMEOUT_MS",36e5),(0,s.A)(this,"resendDevicesTimer",null),(0,s.A)(this,"participantsExpirationTimer",null),(0,s.A)(this,"onRoomState",()=>this.updateParticipants()),(0,s.A)(this,"onConnectionState",async(e,t)=>{e!==T.Connected||O(t)?e===T.Disconnected&&O(t)&&(this.updateParticipants(),null!==this.resendDevicesTimer&&(clearInterval(this.resendDevicesTimer),this.resendDevicesTimer=null),await this.removeOurDevice()):(this.updateParticipants(),await this.addOurDevice(),this.resendDevicesTimer=window.setInterval(async()=>{I.debug(`Resending video member event for ${this.roomId}`),await this.addOurDevice()},3*this.STUCK_DEVICE_TIMEOUT_MS/4))}),(0,s.A)(this,"onDock",async()=>{await this.widgetApi.transport.send(h.k.TileLayout,{})}),(0,s.A)(this,"onUndock",async()=>{await this.widgetApi.transport.send(h.k.SpotlightLayout,{})}),(0,s.A)(this,"onJoin",e=>{e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),this.setConnected()}),(0,s.A)(this,"onHangup",async e=>{this.connectionState!==T.Disconnecting&&(e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),this.setDisconnected(),(0,b.j)(this.room)||this.close())}),this.room.on(o.RoomStateEvent.Update,this.onRoomState),this.on(M.ConnectionState,this.onConnectionState),this.updateParticipants()}static get(e){if(e.isElementVideoRoom()){const t=g.Ay.instance.getApps(e.roomId).find(e=>{var t;return p.x.JITSI.matches(e.type)&&(null===(t=e.data)||void 0===t?void 0:t.isVideoChannel)});if(t)return new j(t,e.client)}return null}static async create(e){await m.A.addJitsiWidget(e.client,e.roomId,l.JG.Video,"Group call",!0,e.name)}updateParticipants(){null!==this.participantsExpirationTimer&&(clearTimeout(this.participantsExpirationTimer),this.participantsExpirationTimer=null);const e=new Map,t=Date.now();let n=1/0;for(const s of this.room.currentState.getStateEvents(j.MEMBER_EVENT_TYPE)){const o=this.room.getMember(s.getStateKey()),r=s.getContent(),a="number"==typeof r.expires_ts?r.expires_ts:-1/0;let l=a>t&&Array.isArray(r.devices)?r.devices.filter(e=>"string"==typeof e):[];this.connected||(null==o?void 0:o.userId)!==this.client.getUserId()||(l=l.filter(e=>e!==this.client.getDeviceId())),l.length>0&&(null==o?void 0:o.membership)===i.O.Join&&(e.set(o,new Set(l)),a<n&&(n=a))}if(this.connected){const t=this.room.getMember(this.client.getUserId());let n=e.get(t);void 0===n&&(n=new Set,e.set(t,n)),n.add(this.client.getDeviceId())}this.participants=e,n<1/0&&(this.participantsExpirationTimer=window.setTimeout(()=>this.updateParticipants(),n-t))}async updateDevices(e){if(this.room.getMyMembership()!==i.O.Join)return;const t=this.room.currentState.getStateEvents(j.MEMBER_EVENT_TYPE,this.client.getUserId()),n=null==t?void 0:t.getContent(),s=e(("number"==typeof(null==n?void 0:n.expires_ts)?n.expires_ts:-1/0)>Date.now()&&Array.isArray(null==n?void 0:n.devices)?n.devices:[]);if(null!==s){const e={devices:s,expires_ts:Date.now()+this.STUCK_DEVICE_TIMEOUT_MS};await this.client.sendStateEvent(this.roomId,j.MEMBER_EVENT_TYPE,e,this.client.getUserId())}}async clean(){const e=Date.now(),{devices:t}=await this.client.getDevices(),n=new Map(t.map(e=>[e.device_id,e]));await this.updateDevices(t=>{const s=t.filter(t=>{const s=n.get(t);return void 0!==(null==s?void 0:s.last_seen_ts)&&!(t===this.client.getDeviceId()&&!this.connected)&&e-s.last_seen_ts<this.STUCK_DEVICE_TIMEOUT_MS});return s.length===t.length?null:s})}async addOurDevice(){await this.updateDevices(e=>Array.from(new Set(e).add(this.client.getDeviceId())))}async removeOurDevice(){await this.updateDevices(e=>{const t=new Set(e);return t.delete(this.client.getDeviceId()),Array.from(t)})}async start(){const e=await super.start();return e.on(`action:${h.k.JoinCall}`,this.onJoin),e.on(`action:${h.k.HangupCall}`,this.onHangup),f.A.instance.on(f.y.Dock,this.onDock),f.A.instance.on(f.y.Undock,this.onUndock),e}async performDisconnection(){const e=P(this.widgetApi,`action:${h.k.HangupCall}`,e=>(e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),!0)),t=this.widgetApi.transport.send(h.k.HangupCall,{});try{await Promise.all([t,e])}catch(e){throw new Error(`Failed to hangup call in room ${this.roomId}: ${e}`)}}close(){this.widgetApi.off(`action:${h.k.JoinCall}`,this.onJoin),this.widgetApi.off(`action:${h.k.HangupCall}`,this.onHangup),f.A.instance.off(f.y.Dock,this.onDock),f.A.instance.off(f.y.Undock,this.onUndock),super.close()}destroy(){this.room.off(o.RoomStateEvent.Update,this.onRoomState),this.off(M.ConnectionState,this.onConnectionState),null!==this.participantsExpirationTimer&&(clearTimeout(this.participantsExpirationTimer),this.participantsExpirationTimer=null),null!==this.resendDevicesTimer&&(clearInterval(this.resendDevicesTimer),this.resendDevicesTimer=null),super.destroy()}}(0,s.A)(j,"MEMBER_EVENT_TYPE",E.Gd);let D=function(e){return e.StartCall="start_call",e.JoinExisting="join_existing",e.StartCallDM="start_call_dm",e.StartCallDMVoice="start_call_dm_voice",e.JoinExistingDM="join_existing_dm",e.JoinExistingDMVoice="join_existing_dm_voice",e}({});class U extends N{get presented(){return super.presented}set presented(e){super.presented=e,this.checkDestroy()}static appendRoomParams(e,t,n,{voiceOnly:s}){const o=t.getRoom(n);if(!o)return;if((0,b.j)(o))return e.append("intent",D.JoinExisting),e.append("returnToLobby","true"),e.append("skipLobby","false"),void e.append("preload","false");const i=!!x.A.shared().getUserIdForRoomId(o.roomId),r=t.matrixRTC.getRoomSession(o).getOldestMembership(),a=!!r&&r.sender!==t.getSafeUserId();i?a?(e.append("intent",s?D.JoinExistingDMVoice:D.JoinExistingDM),e.append("preload","false")):(e.append("intent",s?D.StartCallDMVoice:D.StartCallDM),e.append("preload","false")):a?(e.append("intent",D.JoinExisting),e.append("preload","false")):(e.append("intent",D.StartCall),e.append("preload","false"))}static appendAnalyticsParams(e,t){var n;const s=A.Ay.get("posthog");if(!s||y.Vo.instance.getAnonymity()===y.NZ.Disabled)return;const o=null===(n=t.getAccountData(y.Vo.ANALYTICS_EVENT_TYPE))||void 0===n?void 0:n.getContent(),i=null!=o&&o.pseudonymousAnalyticsOptIn?null==o?void 0:o.id:"";e.append("analyticsID",i),e.append("posthogUserId",i),e.append("posthogApiHost",s.api_host),e.append("posthogApiKey",s.project_api_key);const r=A.Ay.get("sentry");var a;r&&(e.append("sentryDsn",r.dsn),e.append("sentryEnvironment",null!==(a=r.environment)&&void 0!==a?a:""))}static generateWidgetUrl(e,t,n={}){const s=d.A.getValue("Developer.elementCallUrl"),o=s?new URL(s):new URL("./widgets/element-call/index.html#",window.location.href),i=new URLSearchParams({perParticipantE2EE:"$perParticipantE2EE",userId:e.getUserId(),deviceId:e.getDeviceId(),roomId:t,baseUrl:e.baseUrl,lang:(0,_.UK)().replace("_","-"),fontScale:(w.g.getRootFontSize()/w.g.getBrowserDefaultFontSize()).toString(),theme:"$org.matrix.msc2873.client_theme"});"boolean"==typeof n.skipLobby&&i.set("skipLobby",n.skipLobby.toString());const r=A.Ay.get("bug_report_endpoint_url");r&&r!==C.m&&i.append("rageshakeSubmitUrl",r),d.A.getValue("fallbackICEServerAllowed")&&i.append("allowIceFallback","true");d.A.getValue("webrtc_audio_echoCancellation")||i.append("echoCancellation","false");d.A.getValue("webrtc_audio_noiseSuppression")||i.append("noiseSuppression","false"),d.A.getValue("useSystemFont")&&d.A.getValue("systemFont").split(",").map(e=>((e=e.trim()).startsWith('"')&&e.endsWith('"')&&(e=e.slice(1,-1)),e)).forEach(e=>i.append("font",e)),this.appendAnalyticsParams(i,e),this.appendRoomParams(i,e,t,n);const a=i.toString().replace(/%24/g,"$");return o.hash=`#?${a}`,o}static createOrGetCallWidget(e,t){const n=g.Ay.instance.getApps(e).find(e=>p.x.CALL.matches(e.type));var s;if(n)return n.data=U.getWidgetData(t,e,null!==(s=null==n?void 0:n.data)&&void 0!==s?s:{},{}),n;const o=U.generateWidgetUrl(t,e);return g.Ay.instance.addVirtualWidget({id:(0,a.US)(24),creatorUserId:t.getUserId(),name:"Element Call",type:p.x.CALL.preferred,url:o.toString(),waitForIframeLoad:!1,data:U.getWidgetData(t,e,{},{})},e)}static getWidgetIntent(e,t,n){const s=e.getRoom(t);if(null!==s&&!(0,b.j)(s)){const t=!!x.A.shared().getUserIdForRoomId(s.roomId),o=e.matrixRTC.getRoomSession(s).getOldestMembership(),i=!!o&&o.sender!==e.getSafeUserId();return t?i?n?D.JoinExistingDMVoice:D.JoinExistingDM:n?D.StartCallDMVoice:D.StartCallDM:i?D.JoinExisting:D.StartCall}return D.JoinExisting}static getWidgetData(e,t,n,s,o){var i;let r=!1;null!==(i=e.getRoom(t))&&void 0!==i&&i.hasEncryptionStateEvent()&&!d.A.getValue("feature_disable_call_per_sender_encryption")&&(r=!0);const a=U.getWidgetIntent(e,t,o);return R(R(R({},n),s),{},{intent:a,perParticipantE2EE:r})}onCallEncryptionSettingsChange(){var e;this.widget.data=U.getWidgetData(this.client,this.roomId,null!==(e=this.widget.data)&&void 0!==e?e:{},{})}constructor(e,t,n){super(t,n),(0,s.A)(this,"STUCK_DEVICE_TIMEOUT_MS",36e5),(0,s.A)(this,"settingsStoreCallEncryptionWatcher",void 0),(0,s.A)(this,"terminationTimer",void 0),(0,s.A)(this,"widgetGenerationParameters",{}),(0,s.A)(this,"checkDestroy",()=>{0!==this.session.memberships.length||this.presented||this.room.isCallRoom()||this.destroy()}),(0,s.A)(this,"onMembershipChanged",()=>{this.updateParticipants(),this.callType="audio"===this.session.getConsensusCallIntent()?l.JG.Voice:l.JG.Video}),(0,s.A)(this,"onDeviceMute",e=>{e.preventDefault(),this.widgetApi.transport.reply(e.detail,{})}),(0,s.A)(this,"onJoin",e=>{e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),this.setConnected()}),(0,s.A)(this,"onHangup",async e=>{this.connectionState!==T.Disconnecting&&(e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),this.setDisconnected())}),(0,s.A)(this,"onClose",async e=>{e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),this.setDisconnected(),this.close()}),this.session=e,this.session.on(c.X6.MembershipsChanged,this.onMembershipChanged),this.client.matrixRTC.on(c.JY.SessionEnded,this.checkDestroy),d.A.watchSetting("feature_disable_call_per_sender_encryption",null,this.onCallEncryptionSettingsChange.bind(this)),this.updateParticipants()}static get(e,t){const n=g.Ay.instance.getApps(e.roomId).some(e=>p.x.CALL.matches(e.type)),s=e.client.matrixRTC.getRoomSession(e);if(n||0!==s.memberships.length||e.isCallRoom()){const t=U.createOrGetCallWidget(e.roomId,e.client);return new U(s,t,e.client)}return null}static create(e){U.createOrGetCallWidget(e.roomId,e.client)}async start(e){this.widgetGenerationParameters=R(R({},this.widgetGenerationParameters),e),this.widget.url=U.generateWidgetUrl(this.client,this.roomId,this.widgetGenerationParameters).toString();const t=await super.start();return t.on(`action:${h.k.JoinCall}`,this.onJoin),t.on(`action:${h.k.HangupCall}`,this.onHangup),t.on(`action:${h.k.Close}`,this.onClose),t.on(`action:${h.k.DeviceMute}`,this.onDeviceMute),t}async performDisconnection(){const e=P(this.widgetApi,`action:${h.k.HangupCall}`,e=>(e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),!0)),t=this.widgetApi.transport.send(h.k.HangupCall,{});try{await Promise.all([t,e])}catch(e){throw new Error(`Failed to hangup call in room ${this.roomId}: ${e}`)}}close(){this.widgetApi.off(`action:${h.k.JoinCall}`,this.onJoin),this.widgetApi.off(`action:${h.k.HangupCall}`,this.onHangup),this.widgetApi.off(`action:${h.k.Close}`,this.onClose),this.widgetApi.off(`action:${h.k.DeviceMute}`,this.onDeviceMute),super.close()}destroy(){f.A.instance.destroyPersistentWidget(this.widget.id,this.widget.roomId),g.Ay.instance.removeVirtualWidget(this.widget.id,this.widget.roomId),this.session.off(c.X6.MembershipsChanged,this.onMembershipChanged),this.client.matrixRTC.off(c.JY.SessionEnded,this.checkDestroy),d.A.unwatchSetting(this.settingsStoreCallEncryptionWatcher),clearTimeout(this.terminationTimer),this.terminationTimer=void 0,super.destroy()}updateParticipants(){const e=new Map;for(const n of this.session.memberships){if(!n.sender)continue;const s=this.room.getMember(n.sender);var t;if(s)if(e.has(s))null===(t=e.get(s))||void 0===t||t.add(n.deviceId);else e.set(s,new Set([n.deviceId]))}this.participants=e}clean(){return Promise.resolve()}}},"./src/models/LocalRoom.ts"(e,t,n){"use strict";n.d(t,{Np:()=>a,TM:()=>i,cd:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts");const i="local+";let r=function(e){return e[e.NEW=0]="NEW",e[e.CREATING=1]="CREATING",e[e.CREATED=2]="CREATED",e[e.ERROR=3]="ERROR",e}({});class a extends o.Room{constructor(e,t,n){super(e,t,n,{pendingEventOrdering:o.PendingEventOrdering.Detached}),(0,s.A)(this,"encrypted",!1),(0,s.A)(this,"actualRoomId",void 0),(0,s.A)(this,"targets",[]),(0,s.A)(this,"afterCreateCallbacks",[]),(0,s.A)(this,"state",r.NEW),this.name=this.getDefaultRoomName(n)}get isNew(){return this.state===r.NEW}get isCreated(){return this.state===r.CREATED}get isError(){return this.state===r.ERROR}isEncryptionEnabled(){const e=this.getLiveTimeline().getState(o.Direction.Forward);if(!e)return!1;const t=e.getStateEvents(o.EventType.RoomEncryption);return 0!==t.length&&t[0]instanceof o.MatrixEvent}}},"./src/modules/Api.ts"(e,t,n){"use strict";n.d(t,{r:()=>te});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react-dom/client.js"),i=n("./packages/shared-components/dist/element-web-shared-components.js"),r=n("./src/modules/ModuleRunner.ts"),a=n("./src/customisations/Alias.ts"),l=n("./src/customisations/RoomList.ts"),c=n("./src/customisations/ChatExport.ts"),d=n("./src/customisations/ComponentVisibility.ts"),u=n("./src/customisations/Directory.ts"),m=n("./src/customisations/Lifecycle.ts"),p=n("./src/customisations/Media.ts"),h=n("./src/customisations/UserIdentifier.ts"),g=n("./src/customisations/WidgetPermissions.ts"),v=n("./src/customisations/WidgetVariables.ts"),f=n("./src/SdkConfig.ts");class _{get(e){return void 0===e?f.Ay.get():f.Ay.get(e)}}var y=n("./node_modules/matrix-js-sdk/src/logger.ts");function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class E{constructor(){(0,s.A)(this,"registeredMessageRenderers",[]),(0,s.A)(this,"_roomPreviewBarRenderer",void 0)}static getModuleMatrixEvent(e){const t=e.getId(),n=e.getRoomId(),s=e.sender;return t&&n&&s?{content:e.getContent(),eventId:t,originServerTs:e.getTs(),roomId:n,sender:s.userId,stateKey:e.getStateKey(),type:e.getType(),unsigned:e.getUnsigned()}:null}registerMessageRenderer(e,t,n={}){this.registeredMessageRenderers.push({eventTypeOrFilter:e,renderer:t,hints:n})}selectRenderer(e){return this.registeredMessageRenderers.find(t=>{if("string"==typeof t.eventTypeOrFilter)return t.eventTypeOrFilter===e.type;try{return t.eventTypeOrFilter(e)}catch(e){return y.vF.warn("Message renderer failed to process filter",e),!1}})}renderMessage(e,t){var n;const s=E.getModuleMatrixEvent(e.mxEvent),o=s&&this.selectRenderer(s);if(o)try{return o.renderer(w(w({},e),{},{mxEvent:s}),t)}catch(e){y.vF.warn("Message renderer failed to render",e)}return null!==(n=null==t?void 0:t())&&void 0!==n?n:null}getHintsForMessage(e){const t=E.getModuleMatrixEvent(e),n=t&&this.selectRenderer(t);return n?w(w({},n.hints),{},{allowDownloadingMedia:n.hints.allowDownloadingMedia?()=>n.hints.allowDownloadingMedia(t):void 0}):null}get roomPreviewBarRenderer(){return this._roomPreviewBarRenderer}registerRoomPreviewBar(e){this._roomPreviewBarRenderer=e}}var A=n("./node_modules/@element-hq/element-web-module-api/lib/element-web-plugin-engine.js"),x=n("./src/stores/OwnProfileStore.ts"),S=n("./src/stores/AsyncStore.ts");class C extends A.Co{constructor(){super({}),(0,s.A)(this,"onProfileChange",()=>{this.value=this.profile}),this.value=this.profile,x.V.instance.on(S.H,this.onProfileChange)}get profile(){var e,t,n,s,o;return{isGuest:null!==(e=null===(t=x.V.instance.matrixClient)||void 0===t?void 0:t.isGuest())&&void 0!==e&&e,userId:null!==(n=null===(s=x.V.instance.matrixClient)||void 0===s?void 0:s.getUserId())&&void 0!==n?n:void 0,displayName:null!==(o=x.V.instance.displayName)&&void 0!==o?o:void 0}}}var k=n("./src/utils/permalinks/navigator.ts"),R=n("./src/utils/permalinks/Permalinks.ts"),I=n("./src/dispatcher/dispatcher.ts"),P=n("./src/dispatcher/actions.ts");class T{constructor(){(0,s.A)(this,"locationRenderers",new Map)}async toMatrixToLink(e,t=!1){(0,k.O)(e);const n=(0,R.$N)(e);var s;null!=n&&n.roomIdOrAlias&&this.openRoom(n.roomIdOrAlias,{viaServers:null!==(s=n.viaServers)&&void 0!==s?s:void 0,autoJoin:t})}registerLocationRenderer(e,t){this.locationRenderers.set(e,t)}openRoom(e,t={}){const n=e.startsWith("#")?"room_alias":"room_id";I.A.dispatch({action:P.r.ViewRoom,[n]:e,via_servers:t.viaServers,auto_join:t.autoJoin,metricsTrigger:void 0})}}var O=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),M=n("./node_modules/react/index.js"),N=n("./src/Modal.tsx"),j=n("./src/components/views/dialogs/BaseDialog.tsx");const D=({title:e,Dialog:t,props:n,onFinished:s})=>{const o=(0,M.useCallback)(()=>s(!1,null),[s]),i=(0,M.useCallback)(e=>s(!0,e),[s]);return M.createElement(j.A,{onFinished:o,title:e},M.createElement(t,(0,O.A)({},n,{onSubmit:i,onCancel:o})))};function U(e,t,n){const{close:s,finished:o}=N.Ay.createDialog(D,{title:e.title,Dialog:t,props:n});return{finished:o.then(([e,t])=>({ok:null!=e&&e,model:null!=t?t:null})),close:()=>s(!1,null)}}var F=n("./node_modules/matrix-js-sdk/src/utils.ts");function L(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?L(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}async function V(e){const{promise:t,resolve:n}=Promise.withResolvers(),s=I.A.register(e=>{e.action===P.r.OnLoggedIn&&n()});I.A.dispatch({action:P.r.OverwriteLogin,credentials:B(B({},e),{},{guest:!1})},!0),await t,I.A.unregister(s),await(0,F.yy)(0)}var H=n("./src/modules/ExtrasApi.ts"),z=n("./src/MatrixClientPeg.ts");class W{constructor(){(0,s.A)(this,"_roomView",void 0),(0,s.A)(this,"_roomAvatar",void 0),(0,s.A)(this,"_notificationDecoration",void 0)}setComponents(e){this._roomView=e.roomView,this._roomAvatar=e.roomAvatar,this._notificationDecoration=e.notificationDecoration}getRoomViewComponent(){if(!this._roomView)throw new Error("No RoomView component has been set");return this._roomView}getRoomAvatarComponent(){if(!this._roomAvatar)throw new Error("No RoomAvatar component has been set");return this._roomAvatar}getNotificationDecorationComponent(){if(!this._notificationDecoration)throw new Error("No NotificationDecoration component has been set");return this._notificationDecoration}renderRoomView(e,t){const n=this.getRoomViewComponent();return M.createElement(n,(0,O.A)({roomId:e},t))}renderRoomAvatar(e,t){const n=z.J.safeGet().getRoom(e);if(!n)throw new Error(`No room such room: ${e}`);const s=this.getRoomAvatarComponent();return M.createElement(s,{room:n,size:t})}renderNotificationDecoration(e){const t=z.J.safeGet().getRoom(e);if(!t)throw new Error(`No room such room: ${e}`);const n=this.getNotificationDecorationComponent();return M.createElement(n,{room:t})}}var K=n("./node_modules/matrix-js-sdk/src/matrix.ts");class ${constructor(e){(0,s.A)(this,"name",void 0),this.sdkRoom=e,this.name=new J(e)}getLastActiveTimestamp(){return this.sdkRoom.getLastActiveTimestamp()}get id(){return this.sdkRoom.roomId}}class J extends A.Co{constructor(e){super(e.name),(0,s.A)(this,"onNameUpdate",()=>{super.value=this.sdkRoom.name}),this.sdkRoom=e}onFirstWatch(){this.sdkRoom.on(K.RoomEvent.Name,this.onNameUpdate)}onLastWatch(){this.sdkRoom.off(K.RoomEvent.Name,this.onNameUpdate)}}class G{get(e){const t=z.J.safeGet();return new q(t,e)}async set(e,t){const n=z.J.safeGet();await n.setAccountData(e,t)}async delete(e){const t=z.J.safeGet();await t.deleteAccountData(e)}}class q extends A.Co{constructor(e,t){var n;super(null===(n=e.getAccountData(t))||void 0===n?void 0:n.getContent()),(0,s.A)(this,"onAccountData",e=>{e.getType()===this.eventType&&(this.value=e.getContent())}),this.cli=e,this.eventType=t}onFirstWatch(){this.cli.on(K.ClientEvent.AccountData,this.onAccountData)}onLastWatch(){this.cli.off(K.ClientEvent.AccountData,this.onAccountData)}}class Y{constructor(){(0,s.A)(this,"accountData",new G)}getRoom(e){const t=z.J.safeGet().getRoom(e);return t?new $(t):null}}class Z{constructor(){(0,s.A)(this,"rls",void 0),(0,s.A)(this,"LISTS_LOADED_EVENT",void 0),(0,s.A)(this,"LISTS_UPDATE_EVENT",void 0),(0,s.A)(this,"moduleLoadPromise",void 0),this.moduleLoadPromise=this.init()}async init(){const e=await n.e(5189).then(n.bind(n,"./src/stores/room-list-v3/RoomListStoreV3.ts"));this.rls=e.default.instance,this.LISTS_LOADED_EVENT=e.LISTS_LOADED_EVENT,this.LISTS_UPDATE_EVENT=e.LISTS_UPDATE_EVENT}getRooms(){return new Q(this.roomListStore,this.events)}get events(){if(!this.LISTS_LOADED_EVENT||!this.LISTS_UPDATE_EVENT)throw new Error("Event type was not loaded correctly, did you forget to await waitForReady()?");return{LISTS_LOADED_EVENT:this.LISTS_LOADED_EVENT,LISTS_UPDATE_EVENT:this.LISTS_UPDATE_EVENT}}get roomListStore(){if(!this.rls)throw new Error("rls is undefined, did you forget to await waitForReady()?");return this.rls}async waitForReady(){if(await this.moduleLoadPromise,!this.roomListStore.isLoadingRooms)return;const{promise:e,resolve:t}=Promise.withResolvers(),{LISTS_LOADED_EVENT:n}=this.events;this.roomListStore.once(n,t),await e}}class Q extends A.Co{constructor(e,t){super(e.getSortedRooms().map(e=>new $(e))),(0,s.A)(this,"onRlsUpdate",()=>{this.value=this.rls.getSortedRooms().map(e=>new $(e))}),this.rls=e,this.events=t}onFirstWatch(){this.rls.on(this.events.LISTS_UPDATE_EVENT,this.onRlsUpdate)}onLastWatch(){this.rls.off(this.events.LISTS_UPDATE_EVENT,this.onRlsUpdate)}}class X{constructor(){(0,s.A)(this,"roomListStoreApi",void 0)}get roomListStore(){return this.roomListStoreApi||(this.roomListStoreApi=new Z),this.roomListStoreApi}}const ee=e=>{let t=!1;return n=>{if(t)throw new Error("Legacy customisations can only be registered by one module");Object.assign(e,n),t=!0}};class te{constructor(){(0,s.A)(this,"_registerLegacyAliasCustomisations",ee(a.A)),(0,s.A)(this,"_registerLegacyChatExportCustomisations",ee(c.A)),(0,s.A)(this,"_registerLegacyComponentVisibilityCustomisations",ee(d.N)),(0,s.A)(this,"_registerLegacyDirectoryCustomisations",ee(u.A)),(0,s.A)(this,"_registerLegacyLifecycleCustomisations",ee(m.A)),(0,s.A)(this,"_registerLegacyMediaCustomisations",ee(p)),(0,s.A)(this,"_registerLegacyRoomListCustomisations",ee(l.B)),(0,s.A)(this,"_registerLegacyUserIdentifierCustomisations",ee(h.A)),(0,s.A)(this,"_registerLegacyWidgetPermissionsCustomisations",ee(g.l)),(0,s.A)(this,"_registerLegacyWidgetVariablesCustomisations",ee(v.c)),(0,s.A)(this,"navigation",new T),(0,s.A)(this,"openDialog",U),(0,s.A)(this,"overwriteAccountAuth",V),(0,s.A)(this,"profile",new C),(0,s.A)(this,"config",new _),(0,s.A)(this,"i18n",new i.bi),(0,s.A)(this,"customComponents",new E),(0,s.A)(this,"extras",new H.q),(0,s.A)(this,"builtins",new W),(0,s.A)(this,"rootNode",document.getElementById("matrixchat")),(0,s.A)(this,"client",new Y),(0,s.A)(this,"stores",new X)}static get instance(){return te._instance||(te._instance=new te,window.mxModuleApi=te._instance),te._instance}async _registerLegacyModule(e){r.r.instance.registerModule(t=>new e(t))}createRoot(e){return(0,o.createRoot)(e)}}(0,s.A)(te,"_instance",void 0)},"./src/modules/ExtrasApi.ts"(e,t,n){"use strict";n.d(t,{a:()=>d,q:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/hooks/useEventEmitter.ts");function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}var l=function(e){return e.SpacePanelItemsChanged="SpacePanelItemsChanged",e}(l||{});class c extends i.TypedEventEmitter{constructor(...e){super(...e),(0,s.A)(this,"spacePanelItems",new Map),(0,s.A)(this,"visibleRoomBySpaceKey",new Map)}setSpacePanelItem(e,t){this.spacePanelItems.set(e,t),this.emit(l.SpacePanelItemsChanged)}getVisibleRoomBySpaceKey(e,t){this.visibleRoomBySpaceKey.set(e,t)}}function d(e){const t=()=>Array.from(e.spacePanelItems.entries()).map(([e,t])=>function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({spaceKey:e},t)),[n,i]=(0,o.useState)(t);return(0,r.YK)(e,l.SpacePanelItemsChanged,()=>{i(t())}),n}},"./src/modules/ModuleRunner.ts"(e,t,n){"use strict";n.d(t,{r:()=>j});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/utils.ts"),i=n("./node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.js"),r=n("./node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/ExperimentalExtensions.js"),a=n("./node_modules/matrix-js-sdk/src/matrix.ts"),l=n("./src/Modal.tsx"),c=n("./src/languageHandler.tsx"),d=n("./node_modules/react/index.js"),u=n("./node_modules/matrix-js-sdk/src/logger.ts"),m=n("./src/components/views/dialogs/ScrollableBaseModal.tsx");function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class g extends m.A{constructor(e){var t,n;super(e),(0,s.A)(this,"contentRef",(0,d.createRef)()),this.state={title:this.props.initialOptions.title,actionLabel:null!==(t=this.props.initialOptions.actionLabel)&&void 0!==t?t:(0,c._t)("action|ok"),cancelLabel:this.props.initialOptions.cancelLabel,canSubmit:null===(n=this.props.initialOptions.canSubmit)||void 0===n||n}}async submit(){try{const e=await this.contentRef.current.trySubmit();this.props.onFinished(!0,e)}catch(e){u.vF.error("Error during submission of module dialog:",e)}}cancel(){this.props.onFinished(!1)}setOptions(e){this.setState(t=>h(h({},t),e))}renderContent(){const e={moduleApi:this.props.moduleApi,setOptions:this.setOptions.bind(this),cancel:this.cancel.bind(this)},t=h(h({},this.props.additionalContentProps),e);return d.createElement("div",{className:"mx_ModuleUiDialog"},this.props.contentFactory(t,this.contentRef))}}var v=n("./src/SdkConfig.ts"),f=n("./src/PlatformPeg.ts"),_=n("./src/dispatcher/dispatcher.ts"),y=n("./src/utils/permalinks/navigator.ts"),b=n("./src/utils/permalinks/Permalinks.ts"),w=n("./src/MatrixClientPeg.ts"),E=n("./src/dispatcher/actions.ts"),A=n("./src/stores/WidgetStore.ts"),x=n("./src/stores/widgets/WidgetLayoutStore.ts");function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class k{constructor(){(0,s.A)(this,"cachedTranslations",void 0),(0,s.A)(this,"overrideLoginResolve",void 0),(0,s.A)(this,"onAction",e=>{var t;e.action===E.r.OnLoggedIn&&(null===(t=this.overrideLoginResolve)||void 0===t||t.call(this))}),_.A.register(this.onAction)}get translations(){return this.cachedTranslations}registerTranslations(e){this.cachedTranslations=e}translateString(e,t){return(0,c._t)(e,t)}openDialog(e,t,n){const s="string"==typeof e?{title:e}:e;return new Promise(e=>{l.Ay.createDialog(g,{initialOptions:s,contentFactory:t,moduleApi:this,additionalContentProps:n},"mx_CompoundDialog").finished.then(([t,n])=>{e({didOkOrSubmit:!!t,model:n})})})}async registerSimpleAccount(e,t,n){var s,o;const i=null===(s=v.Ay.get("validated_server_config"))||void 0===s?void 0:s.hsUrl;if(!i)throw new Error("Could not get homeserver url");const r=a.createClient({baseUrl:i}),l={username:e,password:t,initial_device_display_name:v.Ay.get("default_device_display_name")||(null===(o=f.A.get())||void 0===o?void 0:o.getDefaultDeviceDisplayName()),auth:void 0,inhibit_login:!1},c=await r.registerRequest(l).catch(e=>r.registerRequest(C(C({},l),{},{auth:{session:e.data.session,type:"m.login.dummy"}})));if(n){const e=a.createClient({baseUrl:i,userId:c.user_id,deviceId:c.device_id,accessToken:c.access_token});await e.setDisplayName(n)}return{homeserverUrl:i,userId:c.user_id,deviceId:c.device_id,accessToken:c.access_token}}async overwriteAccountAuth(e){const t=new Promise(e=>{this.overrideLoginResolve=e});_.A.dispatch({action:E.r.OverwriteLogin,credentials:C(C({},e),{},{guest:!1})},!0),await t}async navigatePermalink(e,t){(0,y.O)(e);const n=(0,b.$N)(e);var s,o;null!=n&&n.roomIdOrAlias&&(n.roomIdOrAlias.startsWith("#")?_.A.dispatch({action:E.r.ViewRoom,room_alias:n.roomIdOrAlias,via_servers:null!==(s=n.viaServers)&&void 0!==s?s:void 0,auto_join:null!=t&&t,metricsTrigger:void 0}):_.A.dispatch({action:E.r.ViewRoom,room_id:n.roomIdOrAlias,via_servers:null!==(o=n.viaServers)&&void 0!==o?o:void 0,auto_join:null!=t&&t,metricsTrigger:void 0}))}getConfigValue(e,t){const n=v.Ay.get(e);if(n&&"object"==typeof n)return n[t]}getApps(e){return A.Ay.instance.getApps(e)}getAppAvatarUrl(e,t,n,s){return e.avatar_url?w.J.safeGet().mxcUrlToHttp(e.avatar_url,t,n,s):null}isAppInContainer(e,t,n){const s=w.J.safeGet().getRoom(n);return!!s&&x.aK.instance.isInContainer(s,e,t)}moveAppToContainer(e,t,n){const s=w.J.safeGet().getRoom(n);s&&x.aK.instance.moveToContainer(s,e,t)}}class R{constructor(e){(0,s.A)(this,"module",void 0),(0,s.A)(this,"api",new k),this.module=e(this.api)}}var I,P=n("./node_modules/@matrix-org/react-sdk-module-api/lib/components/TextInputField.js"),T=n("./node_modules/@matrix-org/react-sdk-module-api/lib/components/Spinner.js"),O=n("./src/components/views/elements/Field.tsx"),M=n("./src/components/views/elements/Spinner.tsx");P.A.renderFactory=e=>d.createElement(O.A,{type:"text",value:e.value,onChange:t=>e.onChange(t.target.value),label:e.label,autoComplete:"off"}),T.y.renderFactory=()=>d.createElement(M.A,null);class N{constructor(){(0,s.A)(this,"cryptoSetupExtension",void 0),(0,s.A)(this,"experimentalExtension",void 0),(0,s.A)(this,"hasDefaultCryptoSetupExtension",!0),(0,s.A)(this,"hasDefaultExperimentalExtension",!0),this.cryptoSetupExtension=new i.Au,this.experimentalExtension=new r.gU}get cryptoSetup(){return this.cryptoSetupExtension}get experimental(){return this.experimentalExtension}addExtensions(e){var t,n;const s=e.module;if(null!==(t=s.extensions)&&void 0!==t&&t.cryptoSetup){if(!this.hasDefaultCryptoSetupExtension)throw new Error(`adding cryptoSetup extension implementation from module ${s.moduleName} but an implementation was already provided.`);var o;this.cryptoSetupExtension=null===(o=s.extensions)||void 0===o?void 0:o.cryptoSetup,this.hasDefaultCryptoSetupExtension=!1}if(null!==(n=s.extensions)&&void 0!==n&&n.experimental){if(!this.hasDefaultExperimentalExtension)throw new Error(`adding experimental extension implementation from module ${s.moduleName} but an implementation was already provided.`);var i;this.experimentalExtension=null===(i=s.extensions)||void 0===i?void 0:i.experimental,this.hasDefaultExperimentalExtension=!1}}}class j{constructor(){(0,s.A)(this,"extensionsManager",new N),(0,s.A)(this,"modules",[])}get extensions(){return this.extensionsManager}reset(){this.modules=[],this.extensionsManager=new N}get allTranslations(){const e={};for(const t of this.modules){const n=t.api.translations;if(n)for(const[t,s]of Object.entries(n)){(0,o.C6)(e,t,e[t]||{});for(const[n,i]of Object.entries(s))(0,o.C6)(e[t],n,i)}}return e}registerModule(e){const t=new R(e);this.modules.push(t),this.extensionsManager.addExtensions(t)}invoke(e,...t){for(const n of this.modules)n.module.emit(e,...t)}}I=j,(0,s.A)(j,"instance",new I)},"./src/rageshake/rageshake.ts"(e,t,n){"use strict";n.d(t,{tP:()=>m,bX:()=>u,vd:()=>p,Ts:()=>c,fd:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./node_modules/matrix-js-sdk/src/randomstring.ts");const r={log:"I",info:"I",warn:"W",error:"E",debug:"D"};class a{constructor(){(0,s.A)(this,"logs",""),(0,s.A)(this,"originalFunctions",{})}monkeyPatch(e){Object.keys(r).forEach(t=>{const n=r[t],s=e[t].bind(e);this.originalFunctions[t]=s,e[t]=(...e)=>{this.log(n,...e),s(...e)}})}bypassRageshake(e,...t){var n,s;null===(n=(s=this.originalFunctions)[e])||void 0===n||n.call(s,...t)}log(e,...t){let n=`${(new Date).toISOString()} ${e} ${(t=t.map(e=>e instanceof DOMException?e.message+` (${e.name} | ${e.code})`:e instanceof Error?e.message+(e.stack?`\n${e.stack}`:""):"object"==typeof e?JSON.stringify(e,(()=>{const e=new WeakSet;return(t,n)=>{if("object"==typeof n&&null!==n){if(e.has(n))return"<$ cycle-trimmed $>";e.add(n)}return n}})()):e)).join(" ")}\n`;n=n.replace(/token=[a-zA-Z0-9-]+/gm,"token=xxxxx"),this.logs+=n}flush(e){if(e)return this.logs;const t=this.logs;return this.logs="",t}}class l{constructor(e,t){(0,s.A)(this,"id",void 0),(0,s.A)(this,"index",0),(0,s.A)(this,"db",null),(0,s.A)(this,"flushPromise",null),(0,s.A)(this,"flushAgainPromise",null),this.indexedDB=e,this.logger=t,this.id="instance-"+(0,i.US)(16)}connect(){const e=this.indexedDB.open("logs");return new Promise((t,n)=>{e.onsuccess=()=>{this.db=e.result,window.setInterval(this.flush.bind(this),3e4),t()},e.onerror=()=>{var t;const s="Failed to open log database: "+(null===(t=e.error)||void 0===t?void 0:t.name);o.vF.error(s),n(new Error(s))},e.onupgradeneeded=()=>{const t=e.result,n=t.createObjectStore("logs",{keyPath:["id","index"]});n.createIndex("id","id",{unique:!1}),n.add(this.generateLogEntry(new Date+" ::: Log database was created."));t.createObjectStore("logslastmod",{keyPath:"id"}).add(this.generateLastModifiedTime())}})}flush(){return this.flushPromise?(this.flushAgainPromise||(this.flushAgainPromise=this.flushPromise.then(()=>this.flush()).then(()=>{this.flushAgainPromise=null})),this.flushAgainPromise):(this.flushPromise=new Promise((e,t)=>{if(!this.db)return void t(new Error("No connected database"));const n=this.logger.flush();if(0===n.length)return void e();const s=this.db.transaction(["logs","logslastmod"],"readwrite"),i=s.objectStore("logs");s.oncomplete=t=>{e()},s.onerror=()=>{var e;o.vF.error("Failed to flush logs : ",s.error),t(new Error("Failed to write logs: "+(null===(e=s.error)||void 0===e?void 0:e.message)))},i.add(this.generateLogEntry(n));s.objectStore("logslastmod").put(this.generateLastModifiedTime())}).then(()=>{this.flushPromise=null}),this.flushPromise)}async consume(){const e=await this.fetchLogIds();let t=[];const n=[];let s=0;for(let i=0;i<e.length;i++){const r=e[i],{lines:a,truncated:l}=await this.fetchLogs(r,s);if(n.push({lines:a,id:r}),s+=a.length,l){o.vF.log(`rageshake: reached size limit while processing instance ${i+1}/${e.length} (${r}), with ${s} bytes of logs: will drop further instances`),t=e.slice(i+1);break}}return t.length>0&&(o.vF.log(`rageshake: removing logs: ${t}`),Promise.all(t.map(e=>this.deleteLogs(e))).then(()=>{o.vF.log(`Removed ${t.length} old logs.`)},e=>{o.vF.error(e)})),n}fetchLogIds(){const e=this.db;if(!e)return Promise.reject("DB unavailable");return function(e,t,n){const s=e.openCursor(t);return new Promise((e,t)=>{const o=[];s.onerror=()=>{var e;t(new Error("Query failed: "+(null===(e=s.error)||void 0===e?void 0:e.message)))},s.onsuccess=()=>{const t=s.result;t?(o.push(n(t)),t.continue()):e(o)}})}(e.transaction("logslastmod","readonly").objectStore("logslastmod"),void 0,e=>({id:e.value.id,ts:e.value.ts})).then(e=>e.sort((e,t)=>t.ts-e.ts).map(e=>e.id))}fetchLogs(e,t){const n=this.db;if(!n)return Promise.reject("DB unavailable");const s=n.transaction("logs","readonly").objectStore("logs");return new Promise((n,o)=>{const i=s.index("id").openCursor(IDBKeyRange.only(e),"prev");let r="";i.onerror=()=>{var e;o(new Error("Query failed: "+(null===(e=i.error)||void 0===e?void 0:e.message)))},i.onsuccess=()=>{var e;const s=i.result;if(!s)return void n({lines:r,truncated:!1});const o=s.value.lines;r=o+r,!function(e,t){return e>=104857600||Date.now()-t>=864e5&&e>=5242880}(t+=o.length,null!==(e=s.value.ts)&&void 0!==e?e:0)?s.continue():n({lines:r,truncated:!0})}})}deleteLogs(e){const t=this.db;return t?new Promise((n,s)=>{const o=t.transaction(["logs","logslastmod"],"readwrite"),i=o.objectStore("logs"),r=i.index("id").openKeyCursor(IDBKeyRange.only(e));r.onsuccess=()=>{const e=r.result;e&&(i.delete(e.primaryKey),e.continue())},o.oncomplete=()=>{n()},o.onerror=()=>{var t;s(new Error(`Failed to delete logs for '${e}' : ${null===(t=r.error)||void 0===t?void 0:t.message}`))};o.objectStore("logslastmod").delete(e)}):Promise.reject("DB unavailable")}generateLogEntry(e){return{id:this.id,lines:e,index:this.index++,ts:Date.now()}}generateLastModifiedTime(){return{id:this.id,ts:Date.now()}}}function c(e=!0){return n.g.mx_rage_initPromise?n.g.mx_rage_initPromise:(n.g.mx_rage_logger=new a,n.g.mx_rage_logger.monkeyPatch(window.console),window.addEventListener("unhandledrejection",e=>{n.g.mx_rage_logger.log("error",`Unhandled promise rejection: ${e.reason}`)}),e?d():(n.g.mx_rage_initPromise=Promise.resolve(),n.g.mx_rage_initPromise))}function d(){if(n.g.mx_rage_initStoragePromise)return n.g.mx_rage_initStoragePromise;let e;o.vF.log("Configuring rageshake persistence...");try{e=window.indexedDB}catch{}return e?(n.g.mx_rage_store=new l(e,n.g.mx_rage_logger),n.g.mx_rage_initStoragePromise=n.g.mx_rage_store.connect(),n.g.mx_rage_initStoragePromise.then(()=>{n.g.mx_rage_store.consume().catch(e=>{o.vF.error("Error cleaning up rageshake store",e)})}),n.g.mx_rage_initStoragePromise):(n.g.mx_rage_initStoragePromise=Promise.resolve(),n.g.mx_rage_initStoragePromise)}function u(){n.g.mx_rage_store&&n.g.mx_rage_store.flush()}async function m(){n.g.mx_rage_store&&await n.g.mx_rage_store.consume()}async function p(){if(!n.g.mx_rage_logger)throw new Error("No console logger, did you forget to call init()?");return n.g.mx_rage_store?(await n.g.mx_rage_store.flush(),n.g.mx_rage_store.consume()):[{lines:n.g.mx_rage_logger.flush(!0),id:"-"}]}},"./src/rageshake/submit-rageshake.ts"(e,t,n){"use strict";n.d(t,{Ay:()=>v,U9:()=>p,VL:()=>f,Wz:()=>y,v0:()=>_});var s=n("./node_modules/matrix-js-sdk/src/logger.ts"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/MatrixClientPeg.ts"),r=n("./src/PlatformPeg.ts"),a=n("./src/languageHandler.tsx"),l=n("./src/rageshake/rageshake.ts"),c=n("./src/settings/SettingsStore.ts"),d=n("./src/SdkConfig.ts"),u=n("./src/components/views/dialogs/devtools/ServerInfo.tsx"),m=n("./src/IConfigOptions.ts");class p extends Error{constructor(e,t,n,s){super(`The rageshake server responded with an error ${e} (${n}): ${t}`),this.errorcode=e,this.error=t,this.statusCode=n,this.policyURL=s}}async function h(e={},t=!0){const d=e.progressCallback;null==d||d((0,a._t)("bug_reporting|collecting_information")),s.vF.log("Sending bug report.");const m=new FormData;await async function(e,t){var n,s;const o=await async function(){try{var e;return await(null===(e=r.A.get())||void 0===e?void 0:e.getAppVersion())}catch{}}(),i=null!==(n=null===(s=window.navigator)||void 0===s?void 0:s.userAgent)&&void 0!==n?n:"UNKNOWN",a=g("(display-mode: standalone)"),l=g("(pointer: coarse)");if(e.append("text",t.userText||"User did not supply any additional text."),e.append("app",t.customApp||"element-web"),e.append("version",null!=o?o:"UNKNOWN"),e.append("user_agent",i),e.append("installed_pwa",a),e.append("touch_input",l),t.customFields)for(const n in t.customFields)e.append(n,t.customFields[n])}(m,e);const p=i.J.get();return p&&await async function(e,t){t.append("user_id",e.credentials.userId),t.append("device_id",e.deviceId);const n=e.getCrypto();n&&(await async function(e,t){var n;t.append("crypto_version",e.getVersion());const s=await e.getOwnDeviceKeys(),o=[`curve25519:${s.curve25519}`,`ed25519:${s.ed25519}`];t.append("device_keys",o.join(", "));const i=await e.getCrossSigningStatus();t.append("cross_signing_ready",String(await e.isCrossSigningReady())),t.append("cross_signing_key",null!==(n=await e.getCrossSigningKeyId())&&void 0!==n?n:"n/a"),t.append("cross_signing_privkey_in_secret_storage",String(i.privateKeysInSecretStorage)),t.append("cross_signing_master_privkey_cached",String(i.privateKeysCachedLocally.masterKey)),t.append("cross_signing_self_signing_privkey_cached",String(i.privateKeysCachedLocally.selfSigningKey)),t.append("cross_signing_user_signing_privkey_cached",String(i.privateKeysCachedLocally.userSigningKey))}(n,t),await async function(e,t,n){const s=e.secretStorage;n.append("secret_storage_ready",String(await t.isSecretStorageReady())),n.append("secret_storage_key_in_account",String(await s.hasKey())),n.append("session_backup_key_in_secret_storage",String(!!await e.isKeyBackupKeyStored()));const o=await t.getSessionBackupPrivateKey();n.append("session_backup_key_cached",String(!!o)),n.append("session_backup_key_well_formed",String(o instanceof Uint8Array))}(e,n,t));await async function(e,t){try{const n=await e.http.request(o.Method.Get,"/server_version",void 0,void 0,{prefix:"/_synapse/admin/v1"});Object.keys(n).forEach(e=>{t.append(`matrix_hs_${e}`,n[e])})}catch{try{const n=await(0,u.p)(e);t.append("matrix_hs_name",n.server.name),t.append("matrix_hs_version",n.server.version)}catch{try{const n=await fetch(e.http.getUrl("/login"),{method:"GET",mode:"cors"});n.headers.has("server")&&t.append("matrix_hs_server",n.headers.get("server"))}catch{}}}}(e,t)}(p,m),function(e,t,n){if(t.labels)for(const e of t.labels)n.append("label",e)}(0,e,m),function(e){const t=c.A.getFeatureSettingNames().filter(e=>c.A.getValue(e));t.length&&e.append("enabled_labs",t.join(", "));c.A.getValue("lowBandwidth")&&e.append("lowBandwidth","enabled");e.append("mx_local_settings",c.A.exportForRageshake())}(m),await async function(e){if(navigator.storage&&navigator.storage.persisted)try{e.append("storageManager_persisted",String(await navigator.storage.persisted()))}catch{}else if(document.hasStorageAccess)try{e.append("storageManager_persisted",String(await document.hasStorageAccess()))}catch{}if(navigator.storage&&navigator.storage.estimate)try{const t=await navigator.storage.estimate();e.append("storageManager_quota",String(t.quota)),e.append("storageManager_usage",String(t.usage)),t.usageDetails&&Object.keys(t.usageDetails).forEach(n=>{e.append(`storageManager_usage_${n}`,String(t.usageDetails[n]))})}catch{}}(m),function(e){if(window.Modernizr){const t=Object.keys(window.Modernizr).filter(e=>!1===window.Modernizr[e]);t.length>0&&e.append("modernizr_missing_features",t.join(", "))}}(m),e.sendLogs&&await async function(e,t,s){let o;t&&(o=await n.e(3075).then(n.bind(n,"./node_modules/pako/dist/pako.esm.mjs")));null==s||s((0,a._t)("bug_reporting|collecting_logs"));const i=await l.vd();for(const n of i){let s=(new TextEncoder).encode(n.lines);t&&(s=o.gzip(s)),e.append("compressed-log",new Blob([s]),n.id)}}(m,t,d),m}function g(e){try{return String(window.matchMedia(e).matches)}catch{}return"UNKNOWN"}async function v(e,t={}){if(!e||e===m.m)throw new Error("No bug report endpoint has been set.");const n=t.progressCallback||(()=>{}),s=await h(t);return n((0,a._t)("bug_reporting|uploading_logs")),b(e,s,n)}async function f(e={}){const t=(await n.e(6717).then(n.t.bind(n,"./node_modules/tar-js/lib/tar.js",23))).default,s=e.progressCallback||(()=>{}),o=await h(e,!1);s((0,a._t)("bug_reporting|downloading_logs"));let i="";const r=new t;let l=0;for(const[e,t]of o.entries())"compressed-log"===e?await new Promise(e=>{const n=new FileReader;n.addEventListener("loadend",t=>{r.append(`log-${l++}.log`,(new TextDecoder).decode(n.result)),e()}),n.readAsArrayBuffer(t)}):i+=`${e} = ${t}\n`;return r.append("issue.txt",i),r}async function _(e={}){const t=await f(e),n=document.createElement("a");n.href=`data:application/octet-stream;base64,${btoa(function(e){let t="";for(let n=0;n<e.length;n+=1)t+=String.fromCharCode(e[n]);return t}(t.out))}`,n.download="rageshake.tar",document.body.appendChild(n),n.click(),document.body.removeChild(n)}async function y(e,t,n=!1,s={}){var o,a,l,c;const u=d.Ay.get().bug_report_endpoint_url;if(!u||u===m.m)throw new Error("Bug report URL is not set or local");let p;try{var h;p=await(null===(h=r.A.get())||void 0===h?void 0:h.getAppVersion())}catch{}const g=new FormData;e&&g.append("label",e),g.append("text",t),g.append("can_contact",n?"yes":"no"),g.append("app","element-web"),g.append("version",p||"UNKNOWN"),g.append("platform",null!==(o=null===(a=r.A.get())||void 0===a?void 0:a.getHumanReadableName())&&void 0!==o?o:"n/a"),g.append("user_id",null!==(l=null===(c=i.J.get())||void 0===c?void 0:c.getUserId())&&void 0!==l?l:"n/a");for(const e in s)g.append(e,JSON.stringify(s[e]));await b(u,g,()=>{})}async function b(e,t,n){var s,o;const i=fetch(e,{method:"POST",body:t,signal:null===(s=(o=AbortSignal).timeout)||void 0===s?void 0:s.call(o,3e5)});n((0,a._t)("bug_reporting|waiting_for_server"));const r=await i;if("application/json"!==r.headers.get("Content-Type"))throw new p("UNKNOWN","Rageshake server responded with unexpected type",r.status);const l=await r.json();if(r.status<200||r.status>=400){if("errcode"in l)throw new p(l.errcode,l.error,r.status,l.policy_url);throw new p("UNKNOWN","Rageshake server responded with unexpected type",r.status)}return l.report_url}},"./src/sentry.ts"(e,t,n){"use strict";n.d(t,{KB:()=>w,Tm:()=>E,ig:()=>A});var s=n("./node_modules/@sentry/browser/build/npm/esm/prod/sdk.js"),o=n("./node_modules/@sentry/browser/build/npm/esm/prod/integrations/breadcrumbs.js"),i=n("./node_modules/@sentry/core/build/esm/exports.js"),r=n("./node_modules/@sentry/browser/build/npm/esm/prod/integrations/globalhandlers.js"),a=n("./node_modules/@sentry/browser/build/npm/esm/prod/integrations/httpcontext.js"),l=n("./node_modules/@sentry/browser/build/npm/esm/prod/integrations/browserapierrors.js"),c=n("./node_modules/@sentry/core/build/esm/integrations/functiontostring.js"),d=n("./node_modules/@sentry/core/build/esm/integrations/eventFilters.js"),u=n("./node_modules/@sentry/core/build/esm/integrations/dedupe.js"),m=n("./src/SdkConfig.ts"),p=n("./src/MatrixClientPeg.ts"),h=n("./src/settings/SettingsStore.ts");async function g(){const e={};if(navigator.storage&&navigator.storage.persisted)try{e.storageManager_persisted=String(await navigator.storage.persisted())}catch{}else if(document.hasStorageAccess)try{e.storageManager_persisted=String(await document.hasStorageAccess())}catch{}if(navigator.storage&&navigator.storage.estimate)try{const t=await navigator.storage.estimate();if(e.storageManager_quota=String(t.quota),e.storageManager_usage=String(t.usage),t.usageDetails){const n=[];Object.keys(t.usageDetails).forEach(e=>{n.push(`${e}: ${String(t.usageDetails[e])}`)}),e.storageManager_usage=n.join(", ")}}catch{}return e}function v(e){return{username:e.credentials.userId,enabled_labs:f(),low_bandwidth:h.A.getValue("lowBandwidth")?"enabled":"disabled"}}function f(){const e=h.A.getFeatureSettingNames().filter(e=>h.A.getValue(e));return e.length?e.join(", "):""}async function _(e){var t;const n=e.getCrypto();if(!n)return{};const s=await n.getOwnDeviceKeys(),o=[`curve25519:${s.curve25519}`,`ed25519:${s.ed25519}`],i=await n.getCrossSigningStatus(),r=e.secretStorage,a=await n.getSessionBackupPrivateKey();return{crypto_version:n.getVersion(),device_keys:o.join(", "),cross_signing_ready:String(await n.isCrossSigningReady()),cross_signing_key:null!==(t=await n.getCrossSigningKeyId())&&void 0!==t?t:void 0,cross_signing_privkey_in_secret_storage:String(i.privateKeysInSecretStorage),cross_signing_master_privkey_cached:String(i.privateKeysCachedLocally.masterKey),cross_signing_user_signing_privkey_cached:String(i.privateKeysCachedLocally.userSigningKey),secret_storage_ready:String(await n.isSecretStorageReady()),secret_storage_key_in_account:String(await r.hasKey()),session_backup_key_in_secret_storage:String(!!await e.isKeyBackupKeyStored()),session_backup_key_cached:String(!!a),session_backup_key_well_formed:String(a instanceof Uint8Array)}}function y(e){var t;const n={device_id:null!==(t=null==e?void 0:e.deviceId)&&void 0!==t?t:void 0,mx_local_settings:h.A.exportForRageshake()};if(window.Modernizr){const e=Object.keys(window.Modernizr).filter(e=>!1===window.Modernizr[e]);e.length>0&&(n.modernizr_missing_features=e.join(", "))}return n}async function b(){const e=p.J.safeGet();return{user:v(e),crypto:await _(e),device:y(e),storage:await g()}}async function w(e,t,n){if(!m.Ay.getObject("sentry"))return;const s={contexts:await b(),extra:{user_text:e,issue_url:t}};n?i.Cp(n,s):t&&i.wd(`Issue: ${t}`,s)}function E(e){m.Ay.get().sentry&&h.A.getValue("automaticErrorReporting")&&i.gV({username:e})}async function A(e){if(!e)return;const t=[d.D(),c.Z(),o.F(),a.M(),u.s()];h.A.getValue("automaticErrorReporting")&&(t.push(r.LO({onerror:!1,onunhandledrejection:!0})),t.push(l.G())),s.Ts({dsn:e.dsn,release:"v1.12.11",environment:e.environment,defaultIntegrations:!1,integrations:t,tracesSampleRate:1})}window.mxSendSentryReport=w},"./src/settings/SettingLevel.ts"(e,t,n){"use strict";n.d(t,{p:()=>s});let s=function(e){return e.DEVICE="device",e.ROOM_DEVICE="room-device",e.ROOM_ACCOUNT="room-account",e.ACCOUNT="account",e.ROOM="room",e.PLATFORM="platform",e.CONFIG="config",e.DEFAULT="default",e}({})},"./src/settings/Settings.tsx"(e,t,n){"use strict";n.d(t,{O5:()=>ne,$q:()=>te,yy:()=>oe,WA:()=>$,B2:()=>se});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./packages/shared-components/dist/element-web-shared-components.js"),r=n("./src/settings/controllers/DeviceIsolationModeController.ts"),a=n("./src/settings/controllers/NotificationControllers.ts"),l=n("./src/settings/controllers/SettingController.ts"),c=n("./src/theme.ts");class d extends l.A{getValueOverride(e,t,n,s){if(!n)return null;return(0,c.v2)()[n]?null:c.SS}}var u=n("./src/settings/controllers/ReloadOnChangeController.ts"),m=n("./src/dispatcher/dispatcher.ts"),p=n("./src/dispatcher/actions.ts"),h=n("./src/settings/SettingLevel.ts");class g extends l.A{constructor(){super()}onChange(e,t,n){e===h.p.ACCOUNT||e===h.p.CONFIG?m.A.fire(p.r.MigrateBaseFontSize):""!==n&&m.A.dispatch({action:p.r.UpdateFontSizeDelta,delta:n})}}var v=n("./src/settings/SettingsStore.ts");class f extends l.A{constructor(){super()}onChange(){m.A.dispatch({action:p.r.UpdateSystemFont,useBundledEmojiFont:v.A.getValue("useBundledEmojiFont"),useSystemFont:v.A.getValue("useSystemFont"),font:v.A.getValue("systemFont")})}}var _=n("./src/Keyboard.ts");class y extends l.A{constructor(e,t=!1){super(),this.uiFeatureName=e,this.forcedValue=t}getValueOverride(e,t,n,s){return this.settingDisabled?this.forcedValue:null}get settingDisabled(){return!v.A.getValue(this.uiFeatureName)}}var b=n("./src/settings/UIFeature.ts"),w=n("./src/settings/enums/Layout.ts");class E extends l.A{getValueOverride(e,t,n,s){return!this.prefersReducedMotion()&&null}get settingDisabled(){return this.prefersReducedMotion()}prefersReducedMotion(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}}class A extends l.A{constructor(e,t=!1,n=!0){super(),this.settingName=e,this.forcedValue=t,this.incompatibleValue=n}getValueOverride(e,t,n,s){return this.incompatibleSetting?this.forcedValue:null}get settingDisabled(){return this.incompatibleSetting}get incompatibleSetting(){return"function"==typeof this.incompatibleValue?this.incompatibleValue(v.A.getValue(this.settingName)):v.A.getValue(this.settingName)===this.incompatibleValue}}var x=n("./src/settings/enums/ImageSize.ts"),S=n("./src/stores/spaces/index.ts"),C=n("./src/SdkConfig.ts"),k=n("./src/PlatformPeg.ts"),R=n("./src/languageHandler.tsx"),I=n("./src/SlidingSyncManager.ts");class P extends l.A{async onChange(){var e;null===(e=k.A.get())||void 0===e||e.reload()}get settingDisabled(){return v.A.getValue("feature_simplified_sliding_sync")?(0,R._t)("labs|sliding_sync_disabled_notice"):!I.f.serverSupportsSlidingSync&&(0,R._t)("labs|sliding_sync_server_no_support")}}var T=n("./src/settings/watchers/FontWatcher.ts"),O=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),M=n("./src/settings/controllers/MatrixClientBackedController.ts");class N extends M.A{constructor(e,t,n,s,o,i=!1){super(),(0,O.A)(this,"enabled",void 0),this.settingName=e,this.watchers=t,this.unstableFeatureGroups=n,this.stableVersion=s,this.disabledMessage=o,this.forcedValue=i}get disabled(){return!this.enabled}set disabled(e){if(!e===this.enabled)return;this.enabled=!e;const t=v.A.firstSupportedLevel(this.settingName);if(!t)return;const n=v.A.getValue(this.settingName,null);this.watchers.notifyUpdate(this.settingName,null,t,n)}async initMatrixClient(){if(this.stableVersion&&await this.client.isVersionSupported(this.stableVersion))return void(this.disabled=!1);let e=!1;for(const t of this.unstableFeatureGroups){if((await Promise.all(t.map(async e=>await this.client.doesServerSupportUnstableFeature(e)))).every(e=>e)){e=!0;break}}this.disabled=!e}getValueOverride(e,t,n,s){return this.settingDisabled?this.forcedValue:null}get settingDisabled(){return!!this.disabled&&(!this.disabledMessage||(0,R._t)(this.disabledMessage))}}var j=n("./src/PosthogTrackers.ts");class D extends l.A{constructor(e){super(),this.interactionName=e}onChange(e,t,n){j.A.trackInteraction(this.interactionName)}}class U extends M.A{constructor(){super(),(0,O.A)(this,"disabled",!1),(0,O.A)(this,"checkWellKnown",e=>{var t;this.disabled=!(null===(t=e["io.element.voip"])||void 0===t||!t.disable_fallback_ice)})}async initMatrixClient(e,t){null==t||t.off(o.ClientEvent.ClientWellKnown,this.checkWellKnown),e.on(o.ClientEvent.ClientWellKnown,this.checkWellKnown);const n=e.getClientWellKnown();n&&this.checkWellKnown(n)}getValueOverride(){return!this.disabled&&null}get settingDisabled(){return this.disabled}onChange(e,t,n){var s;null===(s=this.client)||void 0===s||s.setFallbackICEServerAllowed(!!v.A.getValue("fallbackICEServerAllowed"))}}var F=n("./src/stores/room-list-v3/skip-list/sorters/index.ts"),L=n("./src/@types/media_preview.ts");class B extends M.A{static getValidSettingData(e){const t=e.media_previews,n=e.invite_avatars,s=Object.values(L.M);return{invite_avatars:[L.M.Off,L.M.On].includes(n)?n:void 0,media_previews:s.includes(t)?t:void 0}}constructor(){super(),(0,O.A)(this,"getValue",e=>{var t,n,s,o,i;const r=e?null===(t=this.client)||void 0===t?void 0:t.getRoom(e):this.client,a=null!==(n=null==r||null===(s=r.getAccountData(L.E))||void 0===s?void 0:s.getContent())&&void 0!==n?n:{},l=B.getValidSettingData(a);if(l.invite_avatars&&l.media_previews)return l;if(e){var c,d,u,m;const e=this.getValue();return{invite_avatars:null!==(c=null!==(d=l.invite_avatars)&&void 0!==d?d:e.invite_avatars)&&void 0!==c?c:B.default.invite_avatars,media_previews:null!==(u=null!==(m=l.media_previews)&&void 0!==m?m:e.media_previews)&&void 0!==u?u:B.default.media_previews}}return{invite_avatars:null!==(o=l.invite_avatars)&&void 0!==o?o:B.default.invite_avatars,media_previews:null!==(i=l.media_previews)&&void 0!==i?i:B.default.media_previews}})}getValueOverride(e,t){return this.getValue(null!=t?t:void 0)}get settingDisabled(){return!1}async beforeChange(e,t,n){return!!this.client&&(t?(await this.client.setRoomAccountData(t,L.E,n),!0):(await this.client.setAccountData(L.E,n),!0))}}(0,O.A)(B,"default",{media_previews:L.M.On,invite_avatars:L.M.On});const V="org.matrix.msc4155.invite_permission_config",H="org.matrix.msc4380.invite_permission_config";function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach(function(t){(0,O.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class K extends M.A{static getValidSettingData(e){var t;return{allBlocked:!(null===(t=e.blocked_users)||void 0===t||!t.includes("*"))}}initMatrixClient(e){e.doesServerSupportUnstableFeature("org.matrix.msc4155").then(e=>{this.featureSupported=e})}constructor(){super(),(0,O.A)(this,"featureSupported",void 0),(0,O.A)(this,"getValue",()=>{var e,t;const n=null!==(e=null===(t=this.client)||void 0===t||null===(t=t.getAccountData(V))||void 0===t?void 0:t.getContent())&&void 0!==e?e:{};return K.getValidSettingData(n)}),this.featureSupported=!1}getValueOverride(e){return this.getValue()}get settingDisabled(){return!!this.featureSupported||(0,R._t)("settings|not_supported")}async beforeChange(e,t,n){var s,o,i;if(!this.client)return!1;const r=null===(s=this.client.getAccountData(V))||void 0===s?void 0:s.getContent(),a=W(W({},r),{},{blocked_users:[...null!==(o=null==r?void 0:r.blocked_users)&&void 0!==o?o:[]]});if(n.allBlocked&&!a.blocked_users.includes("*"))a.blocked_users.push("*");else{if(n.allBlocked||null===(i=a.blocked_users)||void 0===i||!i.includes("*"))return!1;a.blocked_users=a.blocked_users.filter(e=>"*"!==e)}return await this.client.setAccountData(V,a),!0}}(0,O.A)(K,"default",{allBlocked:!1});const $=new class{constructor(){(0,O.A)(this,"watchers",new Map)}watchSetting(e,t,n){this.watchers.has(e)||this.watchers.set(e,new Map),this.watchers.get(e).has(t)||this.watchers.get(e).set(t,[]),this.watchers.get(e).get(t).push(n)}unwatchSetting(e){this.watchers.forEach(t=>{t.forEach(t=>{let n;for(;-1!==(n=t.indexOf(e));)t.splice(n,1)})})}notifyUpdate(e,t,n,s){if(!this.watchers.has(e))return;const o=this.watchers.get(e),i=[];null!==t&&o.has(t)&&i.push(...o.get(t)),t?o.has(null)&&i.push(...o.get(null)):i.push(...Array.from(o.values()).flat(1));for(const e of i)e(t,n,s)}},J=[h.p.DEVICE,h.p.ROOM_DEVICE,h.p.ROOM_ACCOUNT,h.p.ACCOUNT,h.p.CONFIG],G=[h.p.ROOM_ACCOUNT,h.p.ACCOUNT],q=[h.p.DEVICE,h.p.ROOM_DEVICE,h.p.ROOM_ACCOUNT,h.p.ACCOUNT,h.p.CONFIG,h.p.ROOM],Y=[h.p.DEVICE,h.p.ACCOUNT,h.p.CONFIG],Z=[h.p.DEVICE],Q=[h.p.DEVICE,h.p.CONFIG],X=[h.p.CONFIG,h.p.DEVICE],ee=[h.p.CONFIG];let te=function(e){return e[e.Messaging=0]="Messaging",e[e.Profile=1]="Profile",e[e.Spaces=2]="Spaces",e[e.Widgets=3]="Widgets",e[e.Rooms=4]="Rooms",e[e.Threads=5]="Threads",e[e.VoiceAndVideo=6]="VoiceAndVideo",e[e.Moderation=7]="Moderation",e[e.Analytics=8]="Analytics",e[e.Themes=9]="Themes",e[e.Encryption=10]="Encryption",e[e.Experimental=11]="Experimental",e[e.Developer=12]="Developer",e[e.Ui=13]="Ui",e}({}),ne=function(e){return e.NotificationSettings2="feature_notification_settings2",e.ReleaseAnnouncement="feature_release_announcement",e}({});const se={[te.Messaging]:(0,i.AO)("labs|group_messaging"),[te.Profile]:(0,i.AO)("labs|group_profile"),[te.Spaces]:(0,i.AO)("labs|group_spaces"),[te.Widgets]:(0,i.AO)("labs|group_widgets"),[te.Rooms]:(0,i.AO)("labs|group_rooms"),[te.Threads]:(0,i.AO)("labs|group_threads"),[te.VoiceAndVideo]:(0,i.AO)("labs|group_voip"),[te.Moderation]:(0,i.AO)("labs|group_moderation"),[te.Analytics]:(0,i.AO)("common|analytics"),[te.Themes]:(0,i.AO)("labs|group_themes"),[te.Encryption]:(0,i.AO)("labs|group_encryption"),[te.Experimental]:(0,i.AO)("labs|group_experimental"),[te.Developer]:(0,i.AO)("labs|group_developer"),[te.Ui]:(0,i.AO)("labs|group_ui")},oe={feature_video_rooms:{isFeature:!0,labsGroup:te.VoiceAndVideo,displayName:(0,i.AO)("labs|video_rooms"),supportedLevels:Q,default:!1,controller:new u.A,betaInfo:{title:(0,i.AO)("labs|video_rooms"),caption:()=>s.createElement(s.Fragment,null,s.createElement("p",null,(0,i._t)("labs|video_rooms_a_new_way_to_chat",{brand:C.Ay.get().brand})),s.createElement("p",null,(0,i._t)("labs|video_rooms_always_on_voip_channels",{brand:C.Ay.get().brand}))),faq:()=>s.createElement(s.Fragment,null,s.createElement("h4",null,(0,i._t)("labs|video_rooms_faq1_question")),s.createElement("p",null,(0,i._t)("labs|video_rooms_faq1_answer")),s.createElement("h4",null,(0,i._t)("labs|video_rooms_faq2_question")),s.createElement("p",null,(0,i._t)("labs|video_rooms_faq2_answer"))),feedbackLabel:"video-room-feedback",feedbackSubheading:(0,i.AO)("labs|video_rooms_feedbackSubheading"),image:n("./res/img/betas/video_rooms.png"),requiresRefresh:!0}},[ne.NotificationSettings2]:{isFeature:!0,labsGroup:te.Experimental,supportedLevels:Q,displayName:(0,i.AO)("labs|notification_settings"),default:!1,betaInfo:{title:(0,i.AO)("labs|notification_settings_beta_title"),caption:()=>s.createElement(s.Fragment,null,s.createElement("p",null,(0,i._t)("labs|notification_settings_beta_caption",{brand:C.Ay.get().brand})))}},feature_msc3531_hide_messages_pending_moderation:{isFeature:!0,labsGroup:te.Moderation,controller:new u.A,displayName:(0,i.AO)("labs|msc3531_hide_messages_pending_moderation"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},mediaPreviewConfig:{controller:new B,supportedLevels:J,default:B.default},inviteRules:{controller:new K,supportedLevels:[h.p.ACCOUNT],default:K.default,shouldExportToRageshake:!1},blockInvites:{controller:new class extends N{constructor(e){super(e,$,[["org.matrix.msc4380"]],void 0,(0,R.AO)("settings|not_supported"))}getValueOverride(e){var t;const n=null===(t=this.client)||void 0===t||null===(t=t.getAccountData(H))||void 0===t?void 0:t.getContent();return"block"==(null==n?void 0:n.default_action)}async beforeChange(e,t,n){if(!this.client)return!1;const s=n?"block":"allow";return await this.client.setAccountData(H,{default_action:s}),!0}}("blockInvites"),supportedLevels:[h.p.ACCOUNT],default:!1},feature_report_to_moderators:{isFeature:!0,labsGroup:te.Moderation,displayName:(0,i.AO)("labs|report_to_moderators"),description:(0,i.AO)("labs|report_to_moderators_description"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_latex_maths:{isFeature:!0,labsGroup:te.Messaging,displayName:(0,i.AO)("labs|latex_maths"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_wysiwyg_composer:{isFeature:!0,labsGroup:te.Messaging,displayName:(0,i.AO)("labs|wysiwyg_composer"),description:(0,i.AO)("labs|feature_wysiwyg_composer_description"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_mjolnir:{isFeature:!0,labsGroup:te.Moderation,displayName:(0,i.AO)("labs|mjolnir"),description:(0,i.AO)("labs|currently_experimental"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_custom_themes:{isFeature:!0,labsGroup:te.Themes,displayName:(0,i.AO)("labs|custom_themes"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_exclude_insecure_devices:{isFeature:!0,labsGroup:te.Encryption,controller:new r.A,displayName:(0,i.AO)("labs|exclude_insecure_devices"),description:(0,i.AO)("labs|exclude_insecure_devices_description"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_share_history_on_invite:{isFeature:!0,labsGroup:te.Encryption,displayName:(0,i.AO)("labs|share_history_on_invite"),description:()=>s.createElement(s.Fragment,null,(0,i._t)("labs|share_history_on_invite_description"),s.createElement("div",{className:"mx_SettingsFlag_microcopy"},(0,i._t)("settings|warning",{},{w:e=>s.createElement("span",{className:"mx_SettingsTab_microcopy_warning"},e),description:(0,i._t)("labs|share_history_on_invite_warning")}))),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},useOnlyCurrentProfiles:{supportedLevels:Y,displayName:(0,i.AO)("settings|disable_historical_profile"),default:!0},mjolnirRooms:{supportedLevels:[h.p.ACCOUNT],default:[],shouldExportToRageshake:!1},mjolnirPersonalRoom:{supportedLevels:[h.p.ACCOUNT],default:null,shouldExportToRageshake:!1},feature_html_topic:{isFeature:!0,labsGroup:te.Rooms,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|html_topic"),default:!1},feature_bridge_state:{isFeature:!0,labsGroup:te.Rooms,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|bridge_state"),default:!1},feature_jump_to_date:{isFeature:!0,labsGroup:te.Messaging,displayName:(0,i.AO)("labs|jump_to_date"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1,controller:new N("feature_jump_to_date",$,[["org.matrix.msc3030"],["org.matrix.msc3030.stable"]],"v1.6",(0,i.AO)("labs|jump_to_date_msc_support"))},"RoomList.backgroundImage":{supportedLevels:Y,default:null},sendReadReceipts:{supportedLevels:Y,displayName:(0,i.AO)("settings|send_read_receipts"),default:!0,controller:new N("sendReadReceipts",$,[["org.matrix.msc2285.stable"]],"v1.4",(0,i.AO)("settings|send_read_receipts_unsupported"),!0)},feature_sliding_sync:{supportedLevels:X,supportedLevelsAreOrdered:!0,shouldWarn:!0,default:!1},feature_simplified_sliding_sync:{isFeature:!0,labsGroup:te.Developer,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|sliding_sync"),description:(0,i.AO)("labs|sliding_sync_description"),shouldWarn:!0,default:!1,controller:new P},feature_element_call_video_rooms:{isFeature:!0,labsGroup:te.VoiceAndVideo,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|element_call_video_rooms"),controller:new u.A,default:!1},feature_group_calls:{isFeature:!0,labsGroup:te.VoiceAndVideo,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|group_calls"),controller:new u.A,default:!1},feature_disable_call_per_sender_encryption:{isFeature:!0,labsGroup:te.VoiceAndVideo,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|feature_disable_call_per_sender_encryption"),default:!1},feature_location_share_live:{isFeature:!0,labsGroup:te.Messaging,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|location_share_live"),description:(0,i.AO)("labs|location_share_live_description"),shouldWarn:!0,default:!1},feature_dynamic_room_predecessors:{isFeature:!0,labsGroup:te.Rooms,supportedLevels:X,supportedLevelsAreOrdered:!0,displayName:(0,i.AO)("labs|dynamic_room_predecessors"),description:(0,i.AO)("labs|dynamic_room_predecessors_description"),shouldWarn:!0,default:!1},baseFontSize:{displayName:(0,i.AO)("settings|appearance|font_size"),supportedLevels:Y,default:"",controller:new g},feature_render_reaction_images:{isFeature:!0,labsGroup:te.Messaging,displayName:(0,i.AO)("labs|render_reaction_images"),description:(0,i.AO)("labs|render_reaction_images_description"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_new_room_list:{supportedLevels:X,labsGroup:te.Ui,displayName:(0,i.AO)("labs|new_room_list"),description:(0,i.AO)("labs|under_active_development"),isFeature:!0,default:!0,controller:new u.A},baseFontSizeV2:{displayName:(0,i.AO)("settings|appearance|font_size"),supportedLevels:[h.p.DEVICE],default:"",controller:new g},fontSizeDelta:{displayName:(0,i.AO)("settings|appearance|font_size"),supportedLevels:[h.p.DEVICE],default:T.g.DEFAULT_DELTA,controller:new g},useCustomFontSize:{displayName:(0,i.AO)("settings|appearance|custom_font_size"),supportedLevels:Y,default:!1},"MessageComposerInput.suggestEmoji":{supportedLevels:Y,displayName:(0,i.AO)("settings|emoji_autocomplete"),default:!0,invertedSettingName:"MessageComposerInput.dontSuggestEmoji"},"MessageComposerInput.showStickersButton":{supportedLevels:Y,displayName:(0,i.AO)("settings|show_stickers_button"),default:!0,controller:new y(b.f.Widgets,!1)},"MessageComposerInput.showPollsButton":{supportedLevels:Y,displayName:(0,i.AO)("settings|preferences|show_polls_button"),default:!0},"MessageComposerInput.insertTrailingColon":{supportedLevels:Y,displayName:(0,i.AO)("settings|insert_trailing_colon_mentions"),default:!0},"Notifications.alwaysShowBadgeCounts":{supportedLevels:G,default:!1},feature_hidebold:{supportedLevels:Q,displayName:(0,i.AO)("labs|hidebold"),default:!1},"Notifications.showbold":{supportedLevels:Q,displayName:(0,i.AO)("settings|showbold"),default:!1,invertedSettingName:"feature_hidebold",controller:new D("WebSettingsNotificationsShowBoldToggle")},"Notifications.tac_only_notifications":{supportedLevels:Q,displayName:(0,i.AO)("settings|tac_only_notifications"),default:!0,controller:new D("WebSettingsNotificationsTACOnlyNotificationsToggle")},feature_ask_to_join:{isFeature:!0,labsGroup:te.Rooms,default:!1,displayName:(0,i.AO)("labs|ask_to_join"),supportedLevels:X,supportedLevelsAreOrdered:!0},feature_notifications:{isFeature:!0,labsGroup:te.Messaging,displayName:(0,i.AO)("labs|notifications"),description:(0,i.AO)("labs|unrealiable_e2e"),supportedLevels:X,supportedLevelsAreOrdered:!0,default:!1},feature_msc4362_encrypted_state_events:{isFeature:!0,labsGroup:te.Encryption,displayName:(0,i.AO)("labs|encrypted_state_events"),description:(0,i.AO)("labs|encrypted_state_events_description"),supportedLevels:X,supportedLevelsAreOrdered:!0,shouldWarn:!0,default:!1},useCompactLayout:{supportedLevels:Z,displayName:(0,i.AO)("settings|preferences|compact_modern"),default:!1,controller:new A("layout",!1,e=>e!==w.P.Group)},showRedactions:{supportedLevels:q,displayName:(0,i.AO)("settings|show_redaction_placeholder"),default:!0,invertedSettingName:"hideRedactions"},showJoinLeaves:{supportedLevels:q,displayName:(0,i.AO)("settings|show_join_leave"),default:!0,invertedSettingName:"hideJoinLeaves"},showAvatarChanges:{supportedLevels:q,displayName:(0,i.AO)("settings|show_avatar_changes"),default:!0,invertedSettingName:"hideAvatarChanges"},showDisplaynameChanges:{supportedLevels:q,displayName:(0,i.AO)("settings|show_displayname_changes"),default:!0,invertedSettingName:"hideDisplaynameChanges"},showReadReceipts:{supportedLevels:J,displayName:(0,i.AO)("settings|show_read_receipts"),default:!0,invertedSettingName:"hideReadReceipts"},showTwelveHourTimestamps:{supportedLevels:Y,displayName:(0,i.AO)("settings|use_12_hour_format"),default:!1},alwaysShowTimestamps:{supportedLevels:Y,displayName:(0,i.AO)("settings|always_show_message_timestamps"),default:!1},userTimezone:{supportedLevels:Z,displayName:(0,i.AO)("settings|preferences|user_timezone"),default:"",shouldExportToRageshake:!1},userTimezonePublish:{supportedLevels:Z,displayName:(0,i.AO)("settings|preferences|publish_timezone"),default:!1,controller:new N("userTimezonePublish",$,[[o.UNSTABLE_MSC4133_EXTENDED_PROFILES],[o.STABLE_MSC4133_EXTENDED_PROFILES]],void 0,(0,i.AO)("labs|extended_profiles_msc_support"))},autoplayGifs:{supportedLevels:Y,displayName:(0,i.AO)("settings|autoplay_gifs"),default:!1},autoplayVideo:{supportedLevels:Y,displayName:(0,i.AO)("settings|autoplay_videos"),default:!1},enableSyntaxHighlightLanguageDetection:{supportedLevels:Y,displayName:(0,i.AO)("settings|automatic_language_detection_syntax_highlight"),default:!1},expandCodeByDefault:{supportedLevels:Y,displayName:(0,i.AO)("settings|code_block_expand_default"),default:!1},showCodeLineNumbers:{supportedLevels:Y,displayName:(0,i.AO)("settings|code_block_line_numbers"),default:!0},scrollToBottomOnMessageSent:{supportedLevels:Y,displayName:(0,i.AO)("settings|jump_to_bottom_on_send"),default:!0},"Pill.shouldShowPillAvatar":{supportedLevels:Y,displayName:(0,i.AO)("settings|preferences|show_avatars_pills"),default:!0,invertedSettingName:"Pill.shouldHidePillAvatar"},"TextualBody.enableBigEmoji":{supportedLevels:Y,displayName:(0,i.AO)("settings|big_emoji"),default:!0,invertedSettingName:"TextualBody.disableBigEmoji"},"MessageComposerInput.isRichTextEnabled":{supportedLevels:Y,default:!1},"MessageComposer.showFormatting":{supportedLevels:Y,default:!1},sendTypingNotifications:{supportedLevels:Y,displayName:(0,i.AO)("settings|send_typing_notifications"),default:!0,invertedSettingName:"dontSendTypingNotifications"},showTypingNotifications:{supportedLevels:Y,displayName:(0,i.AO)("settings|show_typing_notifications"),default:!0},ctrlFForSearch:{supportedLevels:Y,displayName:_.vL?(0,i.AO)("settings|use_command_f_search"):(0,i.AO)("settings|use_control_f_search"),default:!1},"MessageComposerInput.ctrlEnterToSend":{supportedLevels:Y,displayName:_.vL?(0,i.AO)("settings|use_command_enter_send_message"):(0,i.AO)("settings|use_control_enter_send_message"),default:!1},"MessageComposerInput.surroundWith":{supportedLevels:Y,displayName:(0,i.AO)("settings|preferences|surround_text"),default:!1},"MessageComposerInput.autoReplaceEmoji":{supportedLevels:Y,displayName:(0,i.AO)("settings|replace_plain_emoji"),default:!1},"MessageComposerInput.useMarkdown":{supportedLevels:Y,displayName:(0,i.AO)("settings|enable_markdown"),description:()=>(0,i._t)("settings|enable_markdown_description",{},{code:e=>s.createElement("code",null,e)}),default:!0},"VideoView.flipVideoHorizontally":{supportedLevels:Y,displayName:(0,i.AO)("settings|voip|mirror_local_feed"),default:!0},theme:{supportedLevels:Y,default:"light",controller:new d},custom_themes:{supportedLevels:Y,default:[],shouldExportToRageshake:!1},use_system_theme:{supportedLevels:Z,default:!0,displayName:(0,i.AO)("settings|appearance|match_system_theme")},useBundledEmojiFont:{supportedLevels:Z,default:!0,displayName:(0,i.AO)("settings|appearance|bundled_emoji_font"),controller:new f},useSystemFont:{supportedLevels:Z,default:!1,displayName:(0,i.AO)("settings|appearance|custom_font"),controller:new f,description:()=>(0,i._t)("settings|appearance|custom_font_description",{brand:C.Ay.get().brand})},systemFont:{supportedLevels:Z,default:"",displayName:(0,i.AO)("settings|appearance|custom_font_name"),controller:new f},webRtcAllowPeerToPeer:{supportedLevels:Q,displayName:(0,i.AO)("settings|voip|allow_p2p"),description:(0,i.AO)("settings|voip|allow_p2p_description"),default:!0,invertedSettingName:"webRtcForceTURN"},webrtc_audiooutput:{supportedLevels:Z,default:"default"},webrtc_audioinput:{supportedLevels:Z,default:"default"},webrtc_videoinput:{supportedLevels:Z,default:"default"},webrtc_audio_autoGainControl:{supportedLevels:Z,displayName:(0,i.AO)("settings|voip|auto_gain_control"),default:!0},webrtc_audio_echoCancellation:{supportedLevels:Z,displayName:(0,i.AO)("settings|voip|echo_cancellation"),default:!0},webrtc_audio_noiseSuppression:{supportedLevels:Z,displayName:(0,i.AO)("settings|voip|noise_suppression"),default:!0},language:{supportedLevels:Q,default:"en",shouldExportToRageshake:!1},breadcrumb_rooms:{supportedLevels:[h.p.ACCOUNT],default:[],shouldExportToRageshake:!1},recent_emoji:{supportedLevels:[h.p.ACCOUNT],default:[],shouldExportToRageshake:!1},"SpotlightSearch.recentSearches":{supportedLevels:[h.p.ACCOUNT],default:[],shouldExportToRageshake:!1},showMediaEventIds:{supportedLevels:[h.p.DEVICE],default:{},shouldExportToRageshake:!1},"SpotlightSearch.showNsfwPublicRooms":{supportedLevels:Y,displayName:(0,i.AO)("settings|show_nsfw_content"),default:!1},room_directory_servers:{supportedLevels:[h.p.ACCOUNT],default:[],shouldExportToRageshake:!1},integrationProvisioning:{supportedLevels:[h.p.ACCOUNT],default:!0},allowedWidgets:{supportedLevels:[h.p.ROOM_ACCOUNT,h.p.ROOM_DEVICE],supportedLevelsAreOrdered:!0,default:{},shouldExportToRageshake:!1},analyticsOptIn:{supportedLevels:Q,default:!1},pseudonymousAnalyticsOptIn:{supportedLevels:[h.p.ACCOUNT],displayName:(0,i.AO)("settings|security|send_analytics"),default:null},deviceClientInformationOptIn:{supportedLevels:[h.p.ACCOUNT],displayName:(0,i.AO)("settings|security|record_session_details"),default:!1},"Registration.mobileRegistrationHelper":{supportedLevels:[h.p.CONFIG],default:!1},autocompleteDelay:{supportedLevels:Q,default:200},readMarkerInViewThresholdMs:{supportedLevels:Q,default:3e3},readMarkerOutOfViewThresholdMs:{supportedLevels:Q,default:3e4},blacklistUnverifiedDevices:{supportedLevels:[h.p.ROOM_DEVICE,h.p.DEVICE],supportedLevelsAreOrdered:!0,displayName:{default:(0,i.AO)("settings|security|strict_encryption"),"room-device":(0,i.AO)("room_settings|security|strict_encryption")},default:!1,controller:new y(b.f.AdvancedEncryption)},urlPreviewsEnabled:{supportedLevels:q,displayName:{default:(0,i.AO)("settings|inline_url_previews_default"),"room-account":(0,i.AO)("settings|inline_url_previews_room_account"),room:(0,i.AO)("settings|inline_url_previews_room")},default:!0,controller:new y(b.f.URLPreviews)},urlPreviewsEnabled_e2ee:{supportedLevels:[h.p.ROOM_DEVICE],displayName:{"room-device":(0,i.AO)("settings|inline_url_previews_room_account")},default:!1,controller:new y(b.f.URLPreviews)},notificationsEnabled:{supportedLevels:Z,default:!1,controller:new a.Al,displayName:(0,i.AO)("settings|notifications|enable_desktop_notifications_session")},deviceNotificationsEnabled:{supportedLevels:[h.p.DEVICE],default:!0,displayName:(0,i.AO)("settings|notifications|enable_notifications_device")},notificationSound:{supportedLevels:G,default:!1,shouldExportToRageshake:!1},notificationBodyEnabled:{supportedLevels:Z,default:!0,controller:new a.ju,displayName:(0,i.AO)("settings|notifications|show_message_desktop_notification")},audioNotificationsEnabled:{supportedLevels:Z,default:!0,displayName:(0,i.AO)("settings|notifications|enable_audible_notifications_session")},enableWidgetScreenshots:{supportedLevels:Y,displayName:(0,i.AO)("devtools|widget_screenshots"),default:!1},promptBeforeInviteUnknownUsers:{supportedLevels:Y,displayName:(0,i.AO)("settings|prompt_invite"),default:!0},widgetOpenIDPermissions:{supportedLevels:Z,default:{allow:[],deny:[]},shouldExportToRageshake:!1},breadcrumbs:{supportedLevels:Y,displayName:(0,i.AO)("settings|show_breadcrumbs"),default:!0},showHiddenEventsInTimeline:{displayName:(0,i.AO)("devtools|show_hidden_events"),supportedLevels:Z,default:!1},lowBandwidth:{supportedLevels:Q,displayName:(0,i.AO)("devtools|low_bandwidth_mode"),description:(0,i.AO)("devtools|low_bandwidth_mode_description"),default:!1,controller:new u.A,shouldWarn:!0},fallbackICEServerAllowed:{supportedLevels:Z,description:(0,i.AO)("settings|voip|enable_fallback_ice_server_description"),default:null,controller:new U},"RoomList.preferredSorting":{supportedLevels:[h.p.DEVICE],default:F.U.Recency},"RoomList.showMessagePreview":{supportedLevels:Q,default:!1,displayName:(0,i.AO)("settings|show_message_previews")},"RightPanel.phasesGlobal":{supportedLevels:[h.p.DEVICE],default:null},"RightPanel.phases":{supportedLevels:[h.p.ROOM_DEVICE],default:null},enableEventIndexing:{supportedLevels:Z,displayName:(0,i.AO)("settings|security|enable_message_search"),default:!0},crawlerSleepTime:{supportedLevels:Z,displayName:(0,i.AO)("settings|security|message_search_sleep_time"),default:3e3},showCallButtonsInComposer:{supportedLevels:Q,default:!0,controller:new y(b.f.Voip)},ircDisplayNameWidth:{supportedLevels:[h.p.ROOM_DEVICE,h.p.DEVICE],supportedLevelsAreOrdered:!0,default:80},layout:{supportedLevels:Y,default:w.P.Group},"Images.size":{supportedLevels:Y,default:x.h.Normal},showChatEffects:{supportedLevels:q,displayName:(0,i.AO)("settings|show_chat_effects"),default:!0,controller:new E},"Performance.addSendMessageTimingMetadata":{supportedLevels:[h.p.CONFIG],default:!1},"Widgets.pinned":{supportedLevels:G,default:{},shouldExportToRageshake:!1},"Widgets.layout":{supportedLevels:G,default:{}},"Spaces.allRoomsInHome":{displayName:(0,i.AO)("settings|all_rooms_home"),description:(0,i.AO)("settings|all_rooms_home_description"),supportedLevels:Y,default:!1},"Spaces.enabledMetaSpaces":{supportedLevels:Y,default:{[S._b.Home]:!0}},"Spaces.showPeopleInSpace":{supportedLevels:[h.p.ROOM_ACCOUNT],default:!0},developerMode:{displayName:(0,i.AO)("devtools|developer_mode"),supportedLevels:Y,default:!1},automaticErrorReporting:{displayName:(0,i.AO)("labs|automatic_debug_logs"),supportedLevels:Y,default:!1,controller:new u.A},automaticDecryptionErrorReporting:{displayName:(0,i.AO)("labs|automatic_debug_logs_decryption"),supportedLevels:Z,default:!1,controller:new u.A},debug_scroll_panel:{supportedLevels:Z,default:!1},debug_timeline_panel:{supportedLevels:Z,default:!1},debug_registration:{supportedLevels:Z,default:!1},debug_animation:{supportedLevels:Z,default:!1},debug_legacy_call_handler:{supportedLevels:Z,default:!1},audioInputMuted:{supportedLevels:Z,default:!1},videoInputMuted:{supportedLevels:Z,default:!1},activeCallRoomIds:{supportedLevels:Z,default:[],shouldExportToRageshake:!1},[ne.ReleaseAnnouncement]:{isFeature:!0,labsGroup:te.Ui,supportedLevels:Q,default:!0,displayName:(0,i.AO)("labs|release_announcement")},releaseAnnouncementData:{supportedLevels:Y,default:{}},[b.f.RoomHistorySettings]:{supportedLevels:ee,default:!0},[b.f.AdvancedEncryption]:{supportedLevels:ee,default:!0},[b.f.URLPreviews]:{supportedLevels:ee,default:!0},[b.f.Widgets]:{supportedLevels:ee,default:!0},[b.f.LocationSharing]:{supportedLevels:ee,default:!0},[b.f.Voip]:{supportedLevels:ee,default:!0},[b.f.Feedback]:{supportedLevels:ee,default:!0},[b.f.Registration]:{supportedLevels:ee,default:!0},[b.f.PasswordReset]:{supportedLevels:ee,default:!0},[b.f.Deactivate]:{supportedLevels:ee,default:!0},[b.f.ShareQRCode]:{supportedLevels:ee,default:!0},[b.f.ShareSocial]:{supportedLevels:ee,default:!0},[b.f.IdentityServer]:{supportedLevels:ee,default:!0,controller:new y(b.f.ThirdPartyID)},[b.f.ThirdPartyID]:{supportedLevels:ee,default:!0},[b.f.AdvancedSettings]:{supportedLevels:ee,default:!0},[b.f.TimelineEnableRelativeDates]:{supportedLevels:ee,default:!0},[b.f.AllowCreatingPublicSpaces]:{supportedLevels:ee,default:!0},[b.f.AllowCreatingPublicRooms]:{supportedLevels:ee,default:!0},"Electron.autoLaunch":{supportedLevels:[h.p.PLATFORM],displayName:(0,i.AO)("settings|start_automatically|label"),options:[{value:"enabled",label:(0,i.AO)("settings|start_automatically|enabled")},{value:"disabled",label:(0,i.AO)("settings|start_automatically|disabled")},{value:"minimised",label:(0,i.AO)("settings|start_automatically|minimised")}],default:"disabled"},"Electron.warnBeforeExit":{supportedLevels:[h.p.PLATFORM],displayName:(0,i.AO)("settings|warn_quit"),default:!0},"Electron.alwaysShowMenuBar":{supportedLevels:[h.p.PLATFORM],displayName:(0,i.AO)("settings|preferences|always_show_menu_bar"),default:!1},"Electron.showTrayIcon":{supportedLevels:[h.p.PLATFORM],displayName:(0,i.AO)("settings|preferences|enable_tray_icon"),default:!0},"Electron.enableHardwareAcceleration":{supportedLevels:[h.p.PLATFORM],displayName:(0,i.AO)("settings|preferences|enable_hardware_acceleration"),default:!0},"Electron.enableContentProtection":{supportedLevels:[h.p.PLATFORM],displayName:(0,i.AO)("settings|preferences|enable_content_protection"),default:!1},"Developer.elementCallUrl":{supportedLevels:[h.p.DEVICE],displayName:(0,i.AO)("devtools|settings|elementCallUrl"),default:""}}},"./src/settings/SettingsStore.ts"(e,t,n){"use strict";n.d(t,{s:()=>K,A:()=>J});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./src/settings/SettingLevel.ts"),l=n("./src/settings/handlers/SettingsHandler.ts");class c extends l.A{static clear(){c.itemCache.clear(),c.objectCache.clear()}constructor(){super(),c.storageListenerBound||(c.storageListenerBound=!0,window.addEventListener("storage",c.onStorageEvent))}getItem(e){if(!c.itemCache.has(e)){const t=localStorage.getItem(e);return c.itemCache.set(e,t),t}return c.itemCache.get(e)}getBoolean(e){const t=this.getItem(e);return"true"===t||"false"!==t&&null}getObject(e){if(!c.objectCache.has(e))try{const t=JSON.parse(localStorage.getItem(e));return c.objectCache.set(e,t),t}catch(e){return console.error("Failed to parse localStorage object",e),null}return c.objectCache.get(e)}setItem(e,t){c.itemCache.set(e,t),localStorage.setItem(e,t)}setBoolean(e,t){this.setItem(e,`${t}`)}setObject(e,t){c.objectCache.set(e,t),localStorage.setItem(e,JSON.stringify(t))}removeItem(e){localStorage.removeItem(e),c.itemCache.delete(e),c.objectCache.delete(e)}isSupported(){return void 0!==localStorage&&null!==localStorage}reset(){c.clear()}}s=c,(0,o.A)(c,"itemCache",new Map),(0,o.A)(c,"objectCache",new Map),(0,o.A)(c,"storageListenerBound",!1),(0,o.A)(c,"onStorageEvent",e=>{null===e.key?s.clear():(s.itemCache.delete(e.key),s.objectCache.delete(e.key))});var d=n("./node_modules/matrix-js-sdk/src/utils.ts");class u extends l.A{constructor(e,t){super(),this.defaults=e,this.invertedDefaults=t}getValue(e,t){let n=this.defaults[e];return void 0===n&&(n=this.invertedDefaults[e]),n}async setValue(e,t,n){throw new Error("Cannot set values on the default level handler")}canSetValue(e,t){return!1}isSupported(){return!0}}var m=n("./src/settings/handlers/MatrixClientBackedSettingsHandler.ts"),p=n("./src/utils/objects.ts"),h=n("./src/@types/media_preview.ts");const g="im.vector.setting.allowed_widgets",v="im.vector.web.settings";class f extends m.A{constructor(e){super(),(0,o.A)(this,"onAccountData",(e,t,n)=>{const s=t.roomId;if("org.matrix.room.preview_urls"===e.getType()){let t=e.getContent().disable;t="boolean"!=typeof t?null:!t,this.watchers.notifyUpdate("urlPreviewsEnabled",s,a.p.ROOM_ACCOUNT,t)}else if(e.getType()===v){var o;const t=null!==(o=null==n?void 0:n.getContent())&&void 0!==o?o:{},i=(0,p.Eg)(t,e.getContent());for(const t of i){const n=e.getContent()[t];this.watchers.notifyUpdate(t,s,a.p.ROOM_ACCOUNT,n)}}else e.getType()===g?this.watchers.notifyUpdate("allowedWidgets",s,a.p.ROOM_ACCOUNT,e.getContent()):e.getType()===h.E&&this.watchers.notifyUpdate("mediaPreviewConfig",s,a.p.ROOM_ACCOUNT,e.getContent())}),this.watchers=e}initMatrixClient(e,t){e&&e.removeListener(r.RoomEvent.AccountData,this.onAccountData),t.on(r.RoomEvent.AccountData,this.onAccountData)}getValue(e,t){if("urlPreviewsEnabled"===e){const e=this.getSettings(t,"org.matrix.room.preview_urls")||{};return"boolean"!=typeof e.disable?null:!e.disable}if("allowedWidgets"===e)return this.getSettings(t,g);return(this.getSettings(t)||{})[e]}async setRoomAccountData(e,t,n,s){let o;null===n?o=s:(o=this.getSettings(e,t)||{},o[n]=s),await this.client.setRoomAccountData(e,t,o);const i=Promise.withResolvers(),a=(o,l)=>{l.roomId===e&&o.getType()===t&&(null!==n&&o.getContent()[n]!==s||(this.client.off(r.RoomEvent.AccountData,a),i.resolve()))};this.client.on(r.RoomEvent.AccountData,a),await i.promise}async setValue(e,t,n){switch(e){case"urlPreviewsEnabled":return this.setRoomAccountData(t,"org.matrix.room.preview_urls","disable",!n);case"allowedWidgets":return this.setRoomAccountData(t,g,null,n);case"mediaPreviewConfig":case"inviteRules":return;default:return this.setRoomAccountData(t,v,e,n)}}canSetValue(e,t){return!!this.client.getRoom(t)}isSupported(){return this.client&&!this.client.isGuest()}getSettings(e,t=v){var n;const s=null===(n=this.client.getRoom(e))||void 0===n?void 0:n.getAccountData(t);return s&&s.getContent()?(0,p.ZV)(s.getContent()):null}}var _=n("./node_modules/lodash/isEqual.js");const y="im.vector.riot.breadcrumb_rooms",b="im.vector.setting.breadcrumbs",w=[y,b],E="io.element.recent_emoji",A="im.vector.setting.integration_provisioning",x="im.vector.analytics",S="im.vector.web.settings";class C extends m.A{constructor(e){super(),(0,o.A)(this,"onAccountData",(e,t)=>{if("org.matrix.preview_urls"===e.getType()){let t=e.getContent().disable;t="boolean"!=typeof t?null:!t,this.watchers.notifyUpdate("urlPreviewsEnabled",null,a.p.ACCOUNT,t)}else if(e.getType()===S||e.getType()===x){var n;const s=null!==(n=null==t?void 0:t.getContent())&&void 0!==n?n:{},o=(0,p.Eg)(s,e.getContent());for(const t of o){const n=e.getContent()[t];this.watchers.notifyUpdate(t,null,a.p.ACCOUNT,n)}}else if(w.includes(e.getType()))this.notifyBreadcrumbsUpdate(e);else if(e.getType()===A){const t=e.getContent().enabled;this.watchers.notifyUpdate("integrationProvisioning",null,a.p.ACCOUNT,t)}else if(e.getType()===E){const t=e.getContent().enabled;this.watchers.notifyUpdate("recent_emoji",null,a.p.ACCOUNT,t)}else e.getType()===h.E&&this.watchers.notifyUpdate("mediaPreviewConfig",null,a.p.ROOM_ACCOUNT,e.getContent())}),this.watchers=e}get level(){return a.p.ACCOUNT}initMatrixClient(e,t){null==e||e.removeListener(r.ClientEvent.AccountData,this.onAccountData),t.on(r.ClientEvent.AccountData,this.onAccountData)}getValue(e,t){if("urlPreviewsEnabled"===e){const e=this.getSettings("org.matrix.preview_urls")||{};return"boolean"!=typeof e.disable?null:!e.disable}if("breadcrumb_rooms"===e){let e=this.getSettings(b);return e&&e.recent_rooms||(e=this.getSettings(y),e&&(e.recent_rooms=e.rooms)),e&&e.recent_rooms?e.recent_rooms:[]}if("recent_emoji"===e){const e=this.getSettings(E);return e?e.recent_emoji:null}if("integrationProvisioning"===e){const e=this.getSettings(A);return e?e.enabled:null}if("pseudonymousAnalyticsOptIn"===e){const t=this.getSettings(x)||{};return"boolean"!=typeof t[e]?null:t[e]}if("MessageComposerInput.insertTrailingColon"===e){const n=(this.getSettings()||{})[e];return null==n?(this.setValue(e,t,!0),!0):n}const n=this.getSettings()||{};let s=n[e];return null==s&&("hideAvatarChanges"!==e&&"hideDisplaynameChanges"!==e||(s=n.hideAvatarDisplaynameChanges)),s}async setAccountData(e,t,n,s){var o;let i=this.getSettings(e);!s||null!==(o=i)&&void 0!==o&&o[t]||(i=this.getSettings(s)),i||(i={}),i[t]=n;const a=Promise.withResolvers(),l=s=>{s.getType()===e&&(0,_.A)(s.getContent()[t],n)&&(this.client.off(r.ClientEvent.AccountData,l),a.resolve())};this.client.on(r.ClientEvent.AccountData,l),await this.client.setAccountData(e,i),await a.promise}async setValue(e,t,n){switch(e){case"urlPreviewsEnabled":return this.setAccountData("org.matrix.preview_urls","disable",!n);case"breadcrumb_rooms":return this.setAccountData(b,"recent_rooms",n,y);case"recent_emoji":return this.setAccountData(E,"recent_emoji",n);case"integrationProvisioning":return this.setAccountData(A,"enabled",n);case"pseudonymousAnalyticsOptIn":return this.setAccountData(x,"pseudonymousAnalyticsOptIn",n);case"mediaPreviewConfig":case"inviteRules":return;default:return this.setAccountData(S,e,n)}}canSetValue(e,t){return!0}isSupported(){return this.client&&!this.client.isGuest()}getSettings(e="im.vector.web.settings"){if(!this.client)return null;const t=this.client.getAccountData(e);return t&&t.getContent()?(0,p.ZV)(t.getContent()):null}notifyBreadcrumbsUpdate(e){let t=[];if(e.getType()===y){const n=this.getSettings(b);t=n?n.recent_rooms:e.getContent().rooms}else{if(e.getType()!==b)return;t=e.getContent().recent_rooms}this.watchers.notifyUpdate("breadcrumb_rooms",null,a.p.ACCOUNT,t||[])}}const k="im.vector.web.settings";class R extends m.A{constructor(e){super(),(0,o.A)(this,"onEvent",(e,t,n)=>{const s=e.getRoomId(),o=this.client.getRoom(s);if(o&&(!o||t===o.currentState))if("org.matrix.room.preview_urls"===e.getType()){let t=e.getContent().disable;t="boolean"!=typeof t?null:!t,this.watchers.notifyUpdate("urlPreviewsEnabled",s,a.p.ROOM,t)}else if(e.getType()===k){var i;const t=null!==(i=null==n?void 0:n.getContent())&&void 0!==i?i:{},o=(0,p.Eg)(t,e.getContent());for(const t of o)this.watchers.notifyUpdate(t,s,a.p.ROOM,e.getContent()[t])}}),this.watchers=e}initMatrixClient(e,t){e&&e.removeListener(r.RoomStateEvent.Events,this.onEvent),t.on(r.RoomStateEvent.Events,this.onEvent)}getValue(e,t){if("urlPreviewsEnabled"===e){const e=this.getSettings(t,"org.matrix.room.preview_urls")||{};return"boolean"!=typeof e.disable?null:!e.disable}return(this.getSettings(t)||{})[e]}async sendStateEvent(e,t,n,s){const o=this.getSettings(e,t)||{};o[n]=s;const{event_id:i}=await this.client.sendStateEvent(e,t,o),a=Promise.withResolvers(),l=e=>{e.getId()===i&&(this.client.off(r.RoomStateEvent.Events,l),a.resolve())};this.client.on(r.RoomStateEvent.Events,l),await a.promise}setValue(e,t,n){return"urlPreviewsEnabled"===e?this.sendStateEvent(t,"org.matrix.room.preview_urls","disable",!n):this.sendStateEvent(t,k,e,n)}canSetValue(e,t){var n;const s=this.client.getRoom(t);let o=k;return"urlPreviewsEnabled"===e&&(o="org.matrix.room.preview_urls"),null!==(n=null==s?void 0:s.currentState.maySendStateEvent(o,this.client.getUserId()))&&void 0!==n&&n}isSupported(){return!!this.client}getSettings(e,t=k){var n;const s=null===(n=this.client.getRoom(e))||void 0===n?void 0:n.currentState.getStateEvents(t,"");return null!=s&&s.getContent()?(0,p.ZV)(s.getContent()):null}}var I=n("./src/SdkConfig.ts"),P=n("./src/utils/SnakedObject.ts");class T extends l.A{constructor(e){super(),this.featureNames=e}getValue(e,t){const n=new P.Q(I.Ay.get());if(this.featureNames.includes(e)){const t=(n.get("features")||{})[e];return(0,d.hX)(t)?null:!0===t||!1===t?t:"enable"===t||"disable"!==t&&null}if("theme"===e)return n.get("default_theme");const s=n.get("setting_defaults");return!s||(0,d.hX)(s[e])?null:s[e]}async setValue(e,t,n){throw new Error("Cannot change settings at the config level")}canSetValue(e,t){return!1}isSupported(){return!0}}var O=n("./src/languageHandler.tsx"),M=n("./src/dispatcher/dispatcher.ts"),N=n("./src/settings/Settings.tsx");class j extends l.A{constructor(e,t){super(),(0,o.A)(this,"cache",{}),this.handler=e,this.level=t}getValue(e,t){const n=null!=t?t:"UNDEFINED",s=this.cache[e];return null!=s&&s.hasOwnProperty(n)?s[n]:this.handler.getValue(e,t)}async setValue(e,t,n){var s;this.cache[e]||(this.cache[e]={});const o=this.cache[e],i=null!=t?t:"UNDEFINED";o[i]=n;const r=this.handler.getValue(e,t),a=this.handler.setValue(e,t,n);null===(s=this.handler.watchers)||void 0===s||s.notifyUpdate(e,t,this.level,n);try{await a}catch{var l;null===(l=this.handler.watchers)||void 0===l||l.notifyUpdate(e,t,this.level,r)}finally{o[i]===n&&delete o[i]}}canSetValue(e,t){return this.handler.canSetValue(e,t)}isSupported(){return this.handler.isSupported()}reset(){this.cache={},this.handler.reset()}}var D=n("./src/dispatcher/actions.ts"),U=n("./src/PlatformPeg.ts");class F extends l.A{constructor(){super(),(0,o.A)(this,"store",{}),this.setup()}async setup(){const e=await U.A.platformPromise;await e.initialised,Object.entries(N.yy).forEach(([t,n])=>{var s;null!==(s=n.supportedLevels)&&void 0!==s&&s.includes(a.p.PLATFORM)&&e.supportsSetting(t)&&e.getSettingValue(t).then(e=>{this.store[t]=e})})}canSetValue(e,t){var n,s;return null!==(n=null===(s=U.A.get())||void 0===s?void 0:s.supportsSetting(e))&&void 0!==n&&n}getValue(e,t){return this.store[e]}async setValue(e,t,n){var s;this.store[e]=n,await(null===(s=U.A.get())||void 0===s?void 0:s.setSettingValue(e,n))}isSupported(){var e,t;return null!==(e=null===(t=U.A.get())||void 0===t?void 0:t.supportsSetting())&&void 0!==e&&e}}var L=n("./src/settings/controllers/ReloadOnChangeController.ts"),B=n("./src/MatrixClientPeg.ts");const V={},H={},z=[];for(const e in N.yy){const t=N.yy[e];V[e]=t.default,t.isFeature&&z.push(e),t.invertedSettingName&&(H[t.invertedSettingName]=!t.default)}const W={[a.p.DEVICE]:new class extends c{constructor(e,t){super(),this.featureNames=e,this.watchers=t}getValue(e,t){if(this.featureNames.includes(e))return this.readFeature(e);if("notificationsEnabled"===e)return this.getBoolean("notifications_enabled");if("notificationBodyEnabled"===e)return this.getBoolean("notifications_body_enabled");if("audioNotificationsEnabled"===e)return this.getBoolean("audio_notifications_enabled");return(this.getSettings()||{})[e]}setValue(e,t,n){if(this.featureNames.includes(e))return this.writeFeature(e,n),Promise.resolve();if("notificationsEnabled"===e)return this.setBoolean("notifications_enabled",n),this.watchers.notifyUpdate(e,null,a.p.DEVICE,n),Promise.resolve();if("notificationBodyEnabled"===e)return this.setBoolean("notifications_body_enabled",n),this.watchers.notifyUpdate(e,null,a.p.DEVICE,n),Promise.resolve();if("audioNotificationsEnabled"===e)return this.setBoolean("audio_notifications_enabled",n),this.watchers.notifyUpdate(e,null,a.p.DEVICE,n),Promise.resolve();if("layout"===e){const t=this.getSettings()||{};return delete t.useIRCLayout,t.layout=n,this.setObject("mx_local_settings",t),this.watchers.notifyUpdate(e,null,a.p.DEVICE,n),Promise.resolve()}const s=this.getSettings()||{};return s[e]=n,this.setObject("mx_local_settings",s),this.watchers.notifyUpdate(e,null,a.p.DEVICE,n),Promise.resolve()}canSetValue(e,t){return!0}watchSetting(e,t,n){this.watchers.watchSetting(e,t,n)}unwatchSetting(e){this.watchers.unwatchSetting(e)}getSettings(){return this.getObject("mx_local_settings")}readFeature(e){return this.getBoolean("mx_labs_feature_"+e)}writeFeature(e,t){this.setBoolean("mx_labs_feature_"+e,t),this.watchers.notifyUpdate(e,null,a.p.DEVICE,t)}}(z,N.WA),[a.p.ROOM_DEVICE]:new class extends c{constructor(e){super(),this.watchers=e}getValue(e,t){if("blacklistUnverifiedDevices"===e){const e=this.read("mx_local_settings");if(null!=e&&e.blacklistUnverifiedDevicesPerRoom)return e.blacklistUnverifiedDevicesPerRoom[t]}const n=this.read(this.getKey(e,t));return n?n.value:null}setValue(e,t,n){if("blacklistUnverifiedDevices"===e){let s=this.read("mx_local_settings");return s||(s={}),s.blacklistUnverifiedDevicesPerRoom||(s.blacklistUnverifiedDevicesPerRoom={}),(0,d.C6)(s.blacklistUnverifiedDevicesPerRoom,t,n),this.setObject("mx_local_settings",s),this.watchers.notifyUpdate(e,t,a.p.ROOM_DEVICE,n),Promise.resolve()}return null===n?this.removeItem(this.getKey(e,t)):this.setObject(this.getKey(e,t),{value:n}),this.watchers.notifyUpdate(e,t,a.p.ROOM_DEVICE,n),Promise.resolve()}canSetValue(e,t){return!0}read(e){return this.getObject(e)}getKey(e,t){return"mx_setting_"+e+"_"+t}}(N.WA),[a.p.ROOM_ACCOUNT]:new j(new f(N.WA),a.p.ROOM_ACCOUNT),[a.p.ACCOUNT]:new j(new C(N.WA),a.p.ACCOUNT),[a.p.ROOM]:new j(new R(N.WA),a.p.ROOM),[a.p.PLATFORM]:new j(new F,a.p.PLATFORM),[a.p.CONFIG]:new T(z),[a.p.DEFAULT]:new u(V,H)},K=[a.p.DEVICE,a.p.ROOM_DEVICE,a.p.ROOM_ACCOUNT,a.p.ACCOUNT,a.p.ROOM,a.p.CONFIG,a.p.DEFAULT];function $(e){return e.supportedLevelsAreOrdered||1===e.supportedLevels.length?[...e.supportedLevels]:K}class J{static reset(){for(const e of Object.values(W))e.reset()}static getFeatureSettingNames(){return Object.keys(N.yy).filter(e=>J.isFeature(e))}static watchSetting(e,t,n){var s;const o=N.yy[e];if(!o)throw new Error(`${e} is not a setting`);const r=null!==(s=o.invertedSettingName)&&void 0!==s?s:e,a=`${(new Date).getTime()}_${J.watcherCount++}_${r}_${t}`,l=(t,s,o)=>{var r;if(!J.doesSettingSupportLevel(e,s))return void i.vF.warn(`Setting handler notified for an update of an invalid setting level: ${e}@${s} - this likely means a weird setting value made it into the level's storage. The notification will be ignored.`);const a=J.getValue(e),l=null!==(r=J.getValueAt(s,e))&&void 0!==r?r:o;n(e,t,s,l,a)};return J.watchers.set(a,l),N.WA.watchSetting(r,t,l),a}static unwatchSetting(e){e&&(J.watchers.has(e)?(N.WA.unwatchSetting(J.watchers.get(e)),J.watchers.delete(e)):i.vF.warn(`Ending non-existent watcher ID ${e}`))}static monitorSetting(e,t){t=t||null,this.monitors.has(e)||this.monitors.set(e,new Map);const n=()=>{this.monitors.get(e).set(t,J.watchSetting(e,t,(e,t,n,s,o)=>{M.A.dispatch({action:D.r.SettingUpdated,settingName:e,roomId:t,level:n,newValueAtLevel:s,newValue:o})}))},s=Array.from(this.monitors.get(e).keys());s.find(e=>e===t||null===e)?null===t&&(s.forEach(t=>{J.unwatchSetting(this.monitors.get(e).get(t))}),this.monitors.get(e).clear(),n()):n()}static getDisplayName(e,t=a.p.DEFAULT){if(!N.yy[e]||!N.yy[e].displayName)return null;const n=N.yy[e].displayName;return"string"==typeof n?(0,O._t)(n):null!=n&&n[t]?(0,O._t)(n[t]):null!=n&&n.default?(0,O._t)(n.default):null}static getDescription(e){var t;const n=null===(t=N.yy[e])||void 0===t?void 0:t.description;return n?"string"!=typeof n?n():(0,O._t)(n):null}static isFeature(e){return!!N.yy[e]&&!!N.yy[e].isFeature}static shouldHaveWarning(e){var t;return!!N.yy[e]&&(null!==(t=N.yy[e].shouldWarn)&&void 0!==t&&t)}static getBetaInfo(e){if(J.isFeature(e)&&!1!==J.getValueAt(a.p.CONFIG,e,null,!0,!0)){const n=N.yy[e].betaInfo;var t;if(n)n.requiresRefresh=null!==(t=n.requiresRefresh)&&void 0!==t?t:N.yy[e].controller instanceof L.A;return n}}static getLabGroup(e){if(J.isFeature(e))return N.yy[e].labsGroup}static disabledMessage(e){var t;const n=null===(t=N.yy[e].controller)||void 0===t?void 0:t.settingDisabled;return"string"==typeof n?n:void 0}static getValue(e,t=null,n=!1){if(!N.yy[e])throw new Error("Setting '"+e+"' does not appear to be a setting.");const s=$(N.yy[e]);return J.getValueAt(s[0],e,t,!1,n)}static getValueAt(e,t,n=null,s=!1,o=!1){const i=N.yy[t];if(!i)throw new Error("Setting '"+t+"' does not appear to be a setting.");const r=$(i);r.includes(a.p.DEFAULT)||r.push(a.p.DEFAULT);const l=r.indexOf(e);if(-1===l)throw new Error(`Level "${e}" for setting "${t}" is not prioritized`);const c=J.getHandlers(t);let d=t;if(i.invertedSettingName&&(d=i.invertedSettingName),s){const t=c[e];if(!t)return J.getFinalValue(i,e,n,null,null);const s=t.getValue(d,n);return J.getFinalValue(i,e,n,s,e)}for(let t=l;t<r.length;t++){const s=c[r[t]];if(!s)continue;if(o&&"default"===r[t])continue;const a=s.getValue(d,n);if(null!=a)return J.getFinalValue(i,e,n,a,r[t])}return J.getFinalValue(i,e,n,null,null)}static getDefaultValue(e){if(!N.yy[e])throw new Error("Setting '"+e+"' does not appear to be a setting.");return N.yy[e].default}static getFinalValue(e,t,n,s,o){let i=s;if(e.controller){const r=e.controller.getValueOverride(t,n,s,o);null!=r&&(i=r)}return e.invertedSettingName&&(i=!i),i}static async setValue(e,t,n,s){var o;const i=N.yy[e];if(!i)throw new Error("Setting '"+e+"' does not appear to be a setting.");const r=J.getHandler(e,n);if(!r)throw new Error("Setting "+e+" does not have a handler for "+n);let a=e;if(i.invertedSettingName&&(a=i.invertedSettingName,s=!s),!r.canSetValue(a,t))throw new Error("User cannot set "+a+" at "+n+" in "+t);i.controller&&!await i.controller.beforeChange(n,t,s)||(await r.setValue(a,t,s),null===(o=i.controller)||void 0===o||o.onChange(n,t,s))}static canSetValue(e,t,n){var s;const o=N.yy[e];if(!o)throw new Error("Setting '"+e+"' does not appear to be a setting.");if(null!==(s=o.controller)&&void 0!==s&&s.settingDisabled)return!1;if(null!=o&&o.supportedLevelsAreOrdered&&J.settingIsOveriddenAtConfigLevel(e,t,n))return!1;const i=J.getHandler(e,n);return!!i&&i.canSetValue(e,t)}static settingIsOveriddenAtConfigLevel(e,t,n){const s=$(N.yy[e]),o=s.indexOf(a.p.CONFIG),i=s.indexOf(n);if(-1===o||-1===i||o>=i)return!1;const r=J.getValueAt(a.p.CONFIG,e,t,!0,!0);return!0===r||!1===r}static isLevelSupported(e){return!!W[e]&&W[e].isSupported()}static doesSettingSupportLevel(e,t){var n;const s=N.yy[e];if(!s)throw new Error("Setting '"+e+"' does not appear to be a setting.");return t===a.p.DEFAULT||!(null===(n=s.supportedLevels)||void 0===n||!n.includes(t))}static firstSupportedLevel(e){const t=N.yy[e];if(!t)throw new Error("Setting '"+e+"' does not appear to be a setting.");const n=$(t);n.includes(a.p.DEFAULT)||n.push(a.p.DEFAULT);const s=J.getHandlers(e);for(const e of n){if(s[e])return e}return null}static async migrateURLPreviewsE2EE(e){const t="url_previews_e2ee_migration_done";if(localStorage.getItem(t))return;if(e)return;const n=B.J.safeGet();for(;!n.isInitialSyncComplete();)await new Promise(e=>n.once(r.ClientEvent.Sync,e));i.vF.info("Performing one-time settings migration of URL previews in E2EE rooms");const s=W[a.p.ROOM_ACCOUNT];for(const e of n.getRooms()){const t=s.getValue("urlPreviewsEnabled_e2ee",e.roomId);void 0!==t&&await J.setValue("urlPreviewsEnabled_e2ee",e.roomId,a.p.ROOM_DEVICE,t)}localStorage.setItem(t,"true")}static migrateShowImagesToSettings(){const e="mx_show_images_migration_done";if(localStorage.getItem(e))return;i.vF.info("Performing one-time settings migration of shown images to settings store");const t=Object.fromEntries(Object.keys(localStorage).filter(e=>e.startsWith("mx_ShowImage_")).map(e=>[e.slice(13),!0]));this.setValue("showMediaEventIds",null,a.p.DEVICE,t),localStorage.setItem(e,"true")}static async migrateMediaControlsToSetting(e){if(e)return;const t=B.J.safeGet();for(;!t.isInitialSyncComplete();)await new Promise(e=>t.once(r.ClientEvent.Sync,e));if(t.getAccountData("io.element.msc4278.media_preview_config"))return;i.vF.info("Performing one-time settings migration of show images and invite avatars to account data");const n=W[a.p.ACCOUNT],s=n.getValue("showImages",null),o=n.getValue("showAvatarsOnInvites",null);"boolean"!=typeof s&&"boolean"!=typeof o||this.setValue("mediaPreviewConfig",null,a.p.ACCOUNT,{invite_avatars:!1===o?h.M.Off:h.M.On,media_previews:!1===s?h.M.Off:h.M.On})}static runMigrations(e){J.migrateURLPreviewsE2EE(e).catch(e=>{i.vF.error("Failed to migrate URL previews in E2EE rooms:",e)}),J.migrateShowImagesToSettings(),J.migrateMediaControlsToSetting(e).catch(e=>{i.vF.error("Failed to migrate media config settings",e)})}static debugSetting(e,t){i.vF.log(`--- DEBUG ${e}`);const n=N.yy[e];i.vF.log(`--- definition: ${n?JSON.stringify(n):"<NOT_FOUND>"}`),i.vF.log(`--- default level order: ${JSON.stringify(K)}`),i.vF.log(`--- registered handlers: ${JSON.stringify(Object.keys(W))}`);const s=e=>{for(const n of Object.keys(W)){const s=W[n];try{const o=s.getValue(e,t);i.vF.log(`--- ${n}@${t||"<no_room>"} = ${JSON.stringify(o)}`)}catch(e){i.vF.log(`--- ${s.constructor.name}@${t||"<no_room>"} THREW ERROR: ${e instanceof Error?e.message:e}`),i.vF.error(e)}if(t)try{const t=s.getValue(e,null);i.vF.log(`--- ${n}@<no_room> = ${JSON.stringify(t)}`)}catch(e){i.vF.log(`--- ${s.constructor.name}@<no_room> THREW ERROR: ${e instanceof Error?e.message:e}`),i.vF.error(e)}}i.vF.log("--- calculating as returned by SettingsStore"),i.vF.log("--- these might not match if the setting uses a controller - be warned!");try{const n=J.getValue(e,t);i.vF.log(`--- SettingsStore#generic@${t||"<no_room>"} = ${JSON.stringify(n)}`)}catch(e){i.vF.log(`--- SettingsStore#generic@${t||"<no_room>"} THREW ERROR: ${e instanceof Error?e.message:e}`),i.vF.error(e)}if(t)try{const t=J.getValue(e,null);i.vF.log(`--- SettingsStore#generic@<no_room> = ${JSON.stringify(t)}`)}catch(e){i.vF.log(`--- SettingsStore#generic@$<no_room> THREW ERROR: ${e instanceof Error?e.message:e}`),i.vF.error(e)}for(const n of K){try{const s=J.getValueAt(n,e,t);i.vF.log(`--- SettingsStore#${n}@${t||"<no_room>"} = ${JSON.stringify(s)}`)}catch(e){i.vF.log(`--- SettingsStore#${n}@${t||"<no_room>"} THREW ERROR: ${e instanceof Error?e.message:e}`),i.vF.error(e)}if(t)try{const t=J.getValueAt(n,e,null);i.vF.log(`--- SettingsStore#${n}@<no_room> = ${JSON.stringify(t)}`)}catch(e){i.vF.log(`--- SettingsStore#${n}@$<no_room> THREW ERROR: ${e instanceof Error?e.message:e}`),i.vF.error(e)}}};s(e),n.invertedSettingName&&(i.vF.log("--- TESTING INVERTED SETTING NAME"),i.vF.log(`--- inverted: ${n.invertedSettingName}`),s(n.invertedSettingName)),i.vF.log("--- END DEBUG")}static exportForRageshake(){const e={};for(const t of Object.keys(N.yy).filter(e=>!1!==N.yy[e].shouldExportToRageshake))try{e[t]=J.getValue(t)}catch(n){i.vF.warn("Failed to read setting",t,n),e[t]="Failed to read setting!"}return JSON.stringify(e)}static getHandler(e,t){const n=J.getHandlers(e);return n[t]?n[t]:null}static getHandlers(e){if(!N.yy[e])return{};const t={};for(const n of N.yy[e].supportedLevels){if(!W[n])throw new Error("Unexpected level "+n);J.isLevelSupported(n)&&(t[n]=W[n])}return t.default||(t.default=W.default),t}}(0,o.A)(J,"watchers",new Map),(0,o.A)(J,"monitors",new Map),(0,o.A)(J,"watcherCount",1),window.mxSettingsStore=J},"./src/settings/UIFeature.ts"(e,t,n){"use strict";n.d(t,{C:()=>o,f:()=>s});let s=function(e){return e.AdvancedEncryption="UIFeature.advancedEncryption",e.URLPreviews="UIFeature.urlPreviews",e.Widgets="UIFeature.widgets",e.LocationSharing="UIFeature.locationSharing",e.Voip="UIFeature.voip",e.Feedback="UIFeature.feedback",e.Registration="UIFeature.registration",e.PasswordReset="UIFeature.passwordReset",e.Deactivate="UIFeature.deactivate",e.ShareQRCode="UIFeature.shareQrCode",e.ShareSocial="UIFeature.shareSocial",e.IdentityServer="UIFeature.identityServer",e.ThirdPartyID="UIFeature.thirdPartyId",e.AdvancedSettings="UIFeature.advancedSettings",e.RoomHistorySettings="UIFeature.roomHistorySettings",e.TimelineEnableRelativeDates="UIFeature.timelineEnableRelativeDates",e.AllowCreatingPublicRooms="UIFeature.allowCreatingPublicRooms",e.AllowCreatingPublicSpaces="UIFeature.allowCreatingPublicSpaces",e}({}),o=function(e){return e.InviteUsers="UIComponent.sendInvites",e.CreateRooms="UIComponent.roomCreation",e.CreateSpaces="UIComponent.spaceCreation",e.ExploreRooms="UIComponent.exploreRooms",e.AddIntegrations="UIComponent.addIntegrations",e.FilterContainer="UIComponent.filterContainer",e.RoomOptionsMenu="UIComponent.roomOptionsMenu",e}({})},"./src/settings/controllers/DeviceIsolationModeController.ts"(e,t,n){"use strict";n.d(t,{A:()=>r,y:()=>a});var s=n("./node_modules/matrix-js-sdk/src/crypto-api/index.ts"),o=n("./src/settings/controllers/SettingController.ts"),i=n("./src/MatrixClientPeg.ts");class r extends o.A{onChange(e,t,n){a(i.J.safeGet(),n)}}function a(e,t){var n;null===(n=e.getCrypto())||void 0===n||n.setDeviceIsolationMode(t?new s.hI:new s.ux(!1))}},"./src/settings/controllers/MatrixClientBackedController.ts"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/settings/controllers/SettingController.ts");class i extends o.A{static set matrixClient(e){const t=i._matrixClient;i._matrixClient=e;for(const s of i.instances){var n;null===(n=s.initMatrixClient)||void 0===n||n.call(s,e,t)}}constructor(){super(),i.instances.push(this)}get client(){return i._matrixClient}}(0,s.A)(i,"_matrixClient",void 0),(0,s.A)(i,"instances",[])},"./src/settings/controllers/NotificationControllers.ts"(e,t,n){"use strict";n.d(t,{Al:()=>c,Mv:()=>a,ju:()=>d});var s=n("./node_modules/matrix-js-sdk/src/logger.ts"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/settings/controllers/SettingController.ts"),r=n("./src/MatrixClientPeg.ts");function a(){var e;const t=null===(e=r.J.get())||void 0===e?void 0:e.pushProcessor.getPushRuleById(".m.rule.master");return t?t.enabled&&!t.actions.includes(o.PushRuleActionName.Notify):(s.vF.warn("No master push rule! Notifications are disabled for this user."),!0)}function l(){let e=n("./src/Notifier.ts");return e.default&&(e=e.default),e}class c extends i.A{getValueOverride(e,t,n,s){return!!l().isPossible()&&(null===n||"default"===s?!a():n)}onChange(e,t,n){l().supportsDesktopNotifications()&&l().setEnabled(n)}}class d extends i.A{getValueOverride(e,t,n){return!!l().isPossible()&&(null===n?!a():n)}}},"./src/settings/controllers/ReloadOnChangeController.ts"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./src/settings/controllers/SettingController.ts"),o=n("./src/PlatformPeg.ts");class i extends s.A{onChange(e,t,n){var s;null===(s=o.A.get())||void 0===s||s.reload()}}},"./src/settings/controllers/SettingController.ts"(e,t,n){"use strict";n.d(t,{A:()=>s});class s{getValueOverride(e,t,n,s){return null}async beforeChange(e,t,n){return!0}onChange(e,t,n){}get settingDisabled(){return!1}}},"./src/settings/enums/ImageSize.ts"(e,t,n){"use strict";n.d(t,{P:()=>a,h:()=>r});const s={w:800,h:600},o={w:324,h:324},i={w:Math.ceil(182.25),h:324};let r=function(e){return e.Normal="normal",e.Large="large",e}({});function a(e,t,n){const a=t.w/t.h,l=a<1,c=e===r.Large?s:l?i:o;if(!t.w||!t.h)return c;const d={w:Math.min(c.w,t.w),h:n?Math.min(c.h,t.h,n):Math.min(c.h,t.h)};return d.h*a<d.w?{w:Math.floor(d.h*a),h:d.h}:{w:d.w,h:Math.floor(d.w/a)}}},"./src/settings/enums/Layout.ts"(e,t,n){"use strict";n.d(t,{P:()=>s});let s=function(e){return e.IRC="irc",e.Group="group",e.Bubble="bubble",e}({})},"./src/settings/handlers/MatrixClientBackedSettingsHandler.ts"(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/settings/handlers/SettingsHandler.ts");class i extends o.A{static set matrixClient(e){const t=i._matrixClient;i._matrixClient=e;for(const n of i.instances)n.initMatrixClient(t,e)}constructor(){super(),i.instances.push(this)}get client(){return i._matrixClient}}(0,s.A)(i,"_matrixClient",void 0),(0,s.A)(i,"instances",[])},"./src/settings/handlers/SettingsHandler.ts"(e,t,n){"use strict";n.d(t,{A:()=>o});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{constructor(){(0,s.A)(this,"watchers",void 0)}reset(){}}},"./src/settings/watchers/FontWatcher.ts"(e,t,n){"use strict";n.d(t,{g:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/dispatcher/dispatcher.ts"),i=n("./src/settings/SettingsStore.ts"),r=n("./src/utils/units.ts"),a=n("./src/dispatcher/actions.ts"),l=n("./src/settings/SettingLevel.ts");class c{constructor(){(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"onAction",e=>{e.action===a.r.MigrateBaseFontSize?this.migrateBaseFontSize():e.action===a.r.UpdateFontSizeDelta?this.setRootFontSize(e.delta):e.action===a.r.UpdateSystemFont?this.setSystemFont(e):e.action===a.r.OnLoggedOut?(this.setRootFontSize(c.DEFAULT_DELTA),this.setSystemFont({useBundledEmojiFont:!1,useSystemFont:!1,font:""})):e.action===a.r.OnLoggedIn&&this.updateFont()}),(0,s.A)(this,"setRootFontSize",async e=>{document.querySelector(":root").style.fontSize=`calc(${c.DEFAULT_SIZE} + ${(0,r.c)(e)})`}),(0,s.A)(this,"setSystemFont",({useBundledEmojiFont:e,useSystemFont:t,font:n})=>{if(t){let t=n.split(",").map(e=>((e=e.trim()).startsWith('"')||e.endsWith('"')||(e=`"${e}"`),e)).join(",");e&&(t+=", "+c.BUNDLED_EMOJI_FONT),document.body.style.setProperty(c.FONT_FAMILY_CUSTOM_PROPERTY,t)}else document.body.style.removeProperty(c.FONT_FAMILY_CUSTOM_PROPERTY),e?document.body.style.setProperty(c.EMOJI_FONT_FAMILY_CUSTOM_PROPERTY,c.BUNDLED_EMOJI_FONT):document.body.style.removeProperty(c.EMOJI_FONT_FAMILY_CUSTOM_PROPERTY)})}async start(){this.updateFont(),this.dispatcherRef=o.A.register(this.onAction),await this.migrateBaseFontSize()}async migrateBaseFontSize(){await this.migrateBaseFontV1toFontSizeDelta(),await this.migrateBaseFontV2toFontSizeDelta()}async migrateBaseFontV1toFontSizeDelta(){const e=i.A.getValue("baseFontSize");if(!e)return;console.log("Migrating base font size -> base font size V2 -> font size delta for Compound, current value",e);const t=this.computeBaseFontSizeV1toV2(e),n=this.computeFontSizeDeltaFromV2BaseFontSize(t);await i.A.setValue("fontSizeDelta",null,l.p.DEVICE,n),await i.A.setValue("baseFontSize",null,l.p.DEVICE,0),console.log("Migration complete, deleting legacy `baseFontSize`")}async migrateBaseFontV2toFontSizeDelta(){const e=i.A.getValue("baseFontSizeV2");if(!e)return;console.log("Migrating base font size V2 for Compound, current value",e);const t=this.computeFontSizeDeltaFromV2BaseFontSize(e);await i.A.setValue("fontSizeDelta",null,l.p.DEVICE,t),await i.A.setValue("baseFontSizeV2",null,l.p.DEVICE,0),console.log("Migration complete, deleting legacy `baseFontSizeV2`")}computeBaseFontSizeV1toV2(e){return e+1+5}computeFontSizeDeltaFromV2BaseFontSize(e){return e-c.getRootFontSize()}static getRootFontSize(){return parseInt(window.getComputedStyle(document.documentElement).getPropertyValue("font-size"),10)||16}static getBrowserDefaultFontSize(){return this.getRootFontSize()-i.A.getValue("fontSizeDelta")}stop(){o.A.unregister(this.dispatcherRef)}updateFont(){this.setRootFontSize(i.A.getValue("fontSizeDelta")),this.setSystemFont({useBundledEmojiFont:i.A.getValue("useBundledEmojiFont"),useSystemFont:i.A.getValue("useSystemFont"),font:i.A.getValue("systemFont")})}}(0,s.A)(c,"DEFAULT_SIZE","var(--cpd-font-size-root)"),(0,s.A)(c,"DEFAULT_DELTA",0),(0,s.A)(c,"FONT_FAMILY_CUSTOM_PROPERTY","--cpd-font-family-sans"),(0,s.A)(c,"EMOJI_FONT_FAMILY_CUSTOM_PROPERTY","--emoji-font-family"),(0,s.A)(c,"BUNDLED_EMOJI_FONT","Twemoji")},"./src/settings/watchers/ThemeWatcher.ts"(e,t,n){"use strict";n.d(t,{A:()=>m,S:()=>u});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/settings/SettingsStore.ts"),a=n("./src/dispatcher/dispatcher.ts"),l=n("./src/dispatcher/actions.ts"),c=n("./src/theme.ts"),d=n("./src/settings/SettingLevel.ts");let u=function(e){return e.Change="change",e}({});class m extends i.TypedEventEmitter{constructor(){super(),(0,s.A)(this,"themeWatchRef",void 0),(0,s.A)(this,"systemThemeWatchRef",void 0),(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"preferDark",void 0),(0,s.A)(this,"preferLight",void 0),(0,s.A)(this,"preferHighContrast",void 0),(0,s.A)(this,"currentTheme",void 0),(0,s.A)(this,"onChange",()=>{this.recheck()}),(0,s.A)(this,"onAction",e=>{e.action===l.r.RecheckTheme&&this.recheck(e.forceTheme)}),this.preferDark=n.g.matchMedia("(prefers-color-scheme: dark)"),this.preferLight=n.g.matchMedia("(prefers-color-scheme: light)"),this.preferHighContrast=n.g.matchMedia("(prefers-contrast: more)"),this.currentTheme=this.getEffectiveTheme()}start(){this.themeWatchRef=r.A.watchSetting("theme",null,this.onChange),this.systemThemeWatchRef=r.A.watchSetting("use_system_theme",null,this.onChange),this.preferDark.addEventListener("change",this.onChange),this.preferLight.addEventListener("change",this.onChange),this.preferHighContrast.addEventListener("change",this.onChange),this.dispatcherRef=a.A.register(this.onAction)}stop(){this.preferDark.removeEventListener("change",this.onChange),this.preferLight.removeEventListener("change",this.onChange),this.preferHighContrast.removeEventListener("change",this.onChange),r.A.unwatchSetting(this.systemThemeWatchRef),r.A.unwatchSetting(this.themeWatchRef),a.A.unregister(this.dispatcherRef)}recheck(e){const t=this.currentTheme;this.currentTheme=void 0===e?this.getEffectiveTheme():e,t!==this.currentTheme&&this.emit(u.Change,this.currentTheme)}getEffectiveTheme(){if(r.A.getValueAt(d.p.DEVICE,"use_system_theme",null,!1,!0)){o.vF.log("returning explicit system theme");const e=this.themeBasedOnSystem();if(e)return e}const e=r.A.getValueAt(d.p.DEVICE,"theme",null,!1,!0);if(e)return o.vF.log("returning explicit theme: "+e),e;if(r.A.getValue("use_system_theme")){const e=this.themeBasedOnSystem();if(e)return e}return r.A.getValue("theme")}themeBasedOnSystem(){let e;if(this.preferDark.matches?e="dark":this.preferLight.matches&&(e="light"),e&&this.preferHighContrast.matches){const t=(0,c.TJ)(e);t&&(e=t)}return e}isSystemThemeSupported(){return this.preferDark.matches||this.preferLight.matches}}},"./src/shouldHideEvent.ts"(e,t,n){"use strict";n.d(t,{A:()=>r});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/types.ts"),i=n("./src/settings/SettingsStore.ts");function r(e,t){if(s.M_POLL_END.matches(e.getType()))return!0;const n=t?e=>t[e]:t=>i.A.getValue(t,e.getRoomId());if(e.isRedacted()&&!n("showRedactions")&&!e.getThread())return!0;if(e.isRelation(s.RelationType.Replace))return!0;const r=function(e){const t={isMemberEvent:e.getType()===s.EventType.RoomMember};if(!t.isMemberEvent)return t;const n=e.getContent(),i=e.getPrevContent(),r=n.membership!==i.membership;t.isJoin=r&&n.membership===o.O.Join,t.isPart=r&&n.membership===o.O.Leave&&e.getStateKey()===e.getSender();const a=!r&&n.membership===o.O.Join;return t.isDisplaynameChange=a&&n.displayname!==i.displayname,t.isAvatarChange=a&&n.avatar_url!==i.avatar_url,t}(e);if(r.isMemberEvent){if((r.isJoin||r.isPart)&&!n("showJoinLeaves"))return!0;if(r.isAvatarChange&&!n("showAvatarChanges"))return!0;if(r.isDisplaynameChange&&!n("showDisplaynameChanges"))return!0}return!1}},"./src/slash-commands/SlashCommands.tsx"(e,t,n){"use strict";n.d(t,{ge:()=>q,yc:()=>pe,Ts:()=>me,OE:()=>ve,SY:()=>he});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./node_modules/matrix-js-sdk/src/types.ts"),l=n("./src/dispatcher/dispatcher.ts"),c=n("./src/languageHandler.tsx"),d=n("./src/Modal.tsx"),u=n("./src/utils/MultiInviter.ts"),m=n("./src/HtmlUtils.tsx"),p=n("./src/components/views/dialogs/QuestionDialog.tsx"),h=n("./src/utils/WidgetUtils.ts"),g=n("./src/utils/colour.ts"),v=n("./src/UserAddress.ts"),f=n("./src/utils/UrlUtils.ts"),_=n("./src/utils/IdentityServerUtils.ts"),y=n("./src/widgets/WidgetType.ts"),b=n("./src/widgets/Jitsi.ts"),w=n("./src/components/views/dialogs/BugReportDialog.tsx"),E=n("./src/createRoom.ts"),A=n("./src/dispatcher/actions.ts"),x=n("./src/SdkConfig.ts"),S=n("./src/settings/SettingsStore.ts"),C=n("./src/settings/UIFeature.ts"),k=n("./src/effects/index.ts"),R=n("./src/LegacyCallHandler.tsx"),I=n("./src/Rooms.ts"),P=n("./src/components/views/dialogs/DevtoolsDialog.tsx"),T=n("./src/components/views/dialogs/InfoDialog.tsx"),O=n("./src/MatrixClientPeg.ts");const M=({roomId:e,onFinished:t})=>{const n={};me.forEach(t=>{t.isEnabled(O.J.get(),e)&&(n[t.category]||(n[t.category]=[]),n[t.category].push(t))});const s=Object.values(q).filter(e=>n[e]).map(e=>{const t=[o.createElement("tr",{key:"_category_"+e,className:"mx_SlashCommandHelpDialog_headerRow"},o.createElement("td",{colSpan:3},o.createElement("h2",null,(0,c._t)(e))))];return n[e].forEach(e=>{t.push(o.createElement("tr",{key:e.command},o.createElement("td",null,o.createElement("strong",null,e.getCommand())),o.createElement("td",null,e.args),o.createElement("td",null,(0,c._t)(e.description))))}),t});return o.createElement(T.A,{className:"mx_SlashCommandHelpDialog",title:(0,c._t)("slash_command|help_dialog_title"),description:o.createElement("table",null,o.createElement("tbody",null,s)),hasCloseButton:!0,onFinished:t})};var N=n("./src/customisations/helpers/UIComponents.ts"),j=n("./src/contexts/RoomContext.ts"),D=n("./src/editor/serialize.ts"),U=n("./src/utils/leave-behaviour.ts"),F=n("./src/contexts/SDKContext.ts"),L=n("./src/utils/localRoom/isLocalRoom.ts"),B=n("./src/components/views/dialogs/UploadConfirmDialog.tsx");function V(e){return{error:e}}function H(e=Promise.resolve()){return{promise:e}}function z(e){return H(Promise.resolve(e))}const W=(e,t)=>{if(!e||!t)return!1;const n=null==e?void 0:e.getRoom(t);return!(null==n||!n.currentState.maySendStateEvent(i.EventType.RoomPowerLevels,e.getSafeUserId())||(0,L.F)(n))},K=async e=>new Promise(t=>{const n=document.createElement("input");n.setAttribute("type","file"),n.onchange=n=>{var s;const o=null===(s=n.target.files)||void 0===s?void 0:s[0];if(!o)return;const{finished:i}=d.Ay.createDialog(B.A,{file:o});i.then(async([n])=>{if(n){const{content_uri:n}=await e.uploadContent(o);t(n)}else t(null)})},n.click()}),$=e=>{const t=F.M.instance.roomViewStore.getRoomId();if(!t)return!1;const n=null==e?void 0:e.getRoom(t);return!!n&&(0,L.F)(n)};var J=n("./src/utils/membership.ts"),G=n("./src/components/views/right_panel/UserInfo.tsx");const q={messages:(0,c.AO)("slash_command|category_messages"),actions:(0,c.AO)("slash_command|category_actions"),admin:(0,c.AO)("slash_command|category_admin"),advanced:(0,c.AO)("slash_command|category_advanced"),effects:(0,c.AO)("slash_command|category_effects"),other:(0,c.AO)("slash_command|category_other")};var Y=n("./src/PosthogAnalytics.ts");class Z{constructor(e){var t;(0,s.A)(this,"command",void 0),(0,s.A)(this,"aliases",void 0),(0,s.A)(this,"args",void 0),(0,s.A)(this,"description",void 0),(0,s.A)(this,"runFn",void 0),(0,s.A)(this,"category",void 0),(0,s.A)(this,"hideCompletionAfterSpace",void 0),(0,s.A)(this,"renderingTypes",void 0),(0,s.A)(this,"analyticsName",void 0),(0,s.A)(this,"_isEnabled",void 0),this.command=e.command,this.aliases=e.aliases||[],this.args=e.args||"",this.description=e.description,this.runFn=null===(t=e.runFn)||void 0===t?void 0:t.bind(this),this.category=e.category||q.other,this.hideCompletionAfterSpace=e.hideCompletionAfterSpace||!1,this._isEnabled=e.isEnabled,this.renderingTypes=e.renderingTypes,this.analyticsName=e.analyticsName}getCommand(){return`/${this.command}`}getCommandWithArgs(){return this.getCommand()+" "+this.args}run(e,t,n,s){var o;if(!this.runFn)return V(new c.P7("slash_command|error_invalid_runfn"));const i=n?j.Ae.Thread:j.Ae.Room;return!this.renderingTypes||null!==(o=this.renderingTypes)&&void 0!==o&&o.includes(i)?(this.analyticsName&&Y.Vo.instance.trackEvent({eventName:"SlashCommand",command:this.analyticsName}),this.runFn(e,t,n,s)):V(new c.P7("slash_command|error_invalid_rendering_type",{renderingType:i,cause:void 0}))}getUsage(){return(0,c._t)("slash_command|usage")+": "+this.getCommandWithArgs()}isEnabled(e,t){var n,s;return null===(n=null===(s=this._isEnabled)||void 0===s?void 0:s.call(this,e,t))||void 0===n||n}}const Q=(e,t,n,s)=>{const o=e.getRoom(t);if(!o)return V(new c.P7("slash_command|error_invalid_room",{roomId:t,cause:void 0}));const i=o.getMember(n);return null!=i&&i.membership&&(0,J.Cs)(i.membership)!==J._T.Leave?H((async(e,t,n)=>{if(t.userId===e.client.getUserId()&&(void 0===n||t.powerLevel>n)&&!await(0,G.lr)(e.isSpaceRoom()))return;return e.client.setPowerLevel(e.roomId,t.userId,n)})(o,i,s)):V(new c.P7("slash_command|error_invalid_user_in_room"))},X=new Z({command:"op",args:"<user-id> [<power-level>]",description:(0,c.AO)("slash_command|op"),isEnabled:W,runFn:function(e,t,n,s){if(s){const n=s.match(/^(\S+?)( +(-?\d+))?$/);let o=50;if(n){const s=n[1];return 4===n.length&&void 0!==n[3]&&(o=parseInt(n[3],10)),Q(e,t,s,o)}}return V(this.getUsage())},category:q.admin,renderingTypes:[j.Ae.Room]}),ee=new Z({command:"deop",args:"<user-id>",description:(0,c.AO)("slash_command|deop"),isEnabled:W,runFn:function(e,t,n,s){if(s){if(s.match(/^(\S+)$/))return Q(e,t,s,void 0)}return V(this.getUsage())},category:q.admin,renderingTypes:[j.Ae.Room]});var te=n("./src/utils/permalinks/Permalinks.ts");function ne(e,t,n){if(!t)return;const s=t.split(" ");if(s.length<1)return;let o=!1;if(s[0].startsWith("http:")||s[0].startsWith("https:")){const e=new URL(s[0]),t=e.host||e.hostname;(0,te.aW)(t)&&(o=!0)}if("#"===s[0][0]){let t=s[0];return t.includes(":")||(t+=":"+e.getDomain()),l.A.dispatch({action:A.r.ViewRoom,room_alias:t,auto_join:n,metricsTrigger:"SlashCommand",metricsViaKeyboard:!0}),H()}if("!"===s[0][0]){const[e,...t]=s;return l.A.dispatch({action:A.r.ViewRoom,room_id:e,via_servers:t,auto_join:n,metricsTrigger:"SlashCommand",metricsViaKeyboard:!0}),H()}if(o){const e=(0,te.$N)(s[0]);if(!e)return;if(!e.roomIdOrAlias)return;const t=e.roomIdOrAlias,o=e.viaServers,i=e.eventId,r={action:A.r.ViewRoom,auto_join:n,metricsTrigger:"SlashCommand",metricsViaKeyboard:!0};return"!"===t[0]?r.room_id=t:r.room_alias=t,i&&(r.event_id=i,r.highlighted=!0),o&&(r.opts={viaServers:o},r.via_servers=o),l.A.dispatch(r),H()}}const se=new Z({command:"join",aliases:["j"],args:"<room-address>",description:(0,c.AO)("slash_command|join"),runFn:function(e,t,n,s){var o;return null!==(o=ne(e,s,!0))&&void 0!==o?o:V(this.getUsage())},category:q.actions,renderingTypes:[j.Ae.Room]}),oe=new Z({command:"goto",aliases:["view"],args:"<room-address>",description:(0,c.AO)("slash_command|view"),runFn:function(e,t,n,s){var o;return null!==(o=ne(e,s,!1))&&void 0!==o?o:V(this.getUsage())},category:q.actions,renderingTypes:[j.Ae.Room]});var ie=n("./src/components/views/dialogs/ManualDeviceKeyVerificationDialog.tsx"),re=n("./src/components/views/dialogs/RoomUpgradeWarningDialog.tsx");var ae=n("./src/utils/RoomUpgrade.ts");const le=new Z({command:"upgraderoom",args:"<new_version> [<additional-creator-user-id> ...]",description:(0,c.AO)("slash_command|upgraderoom"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){return function(e,t,n,s,o){if(!o)return V(e.getUsage());const r=function(e){const t=e.split(/\s+/);if(0===t.length||""===t[0])return null;{const e=t[0];let n;for(let e=1;e<t.length;++e)void 0===n&&(n=[]),n.push(t[e]);return{targetVersion:e,additionalCreators:n}}}(o);if(r){var a;const e=t.getRoom(n);if(null==e||null===(a=e.getLiveTimeline().getState(i.EventTimeline.FORWARDS))||void 0===a||!a.mayClientSendStateEvent("m.room.tombstone",t))return V(new c.P7("slash_command|upgraderoom_permission_error"));const{finished:s}=d.Ay.createDialog(re.A,{roomId:n,targetVersion:r.targetVersion},void 0,!1,!0);return H(s.then(async([t])=>{null!=t&&t.continue&&await(0,ae.W)(e,r.targetVersion,t.invite,!0,!0,!1,void 0,!1,r.additionalCreators)}))}return V(e.getUsage())}(this,e,t,0,s)},category:q.admin,renderingTypes:[j.Ae.Room]});function ce(e,t,n){return new Z({command:e,args:"<message>",description:t,runFn:function(e,t,s,o){return o&&(n=n+" "+o),z(i.ContentHelpers.makeTextMessage(n))},category:q.messages})}function de(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function ue(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?de(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):de(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const me=[new Z({command:"spoiler",args:"<message>",description:(0,c.AO)("slash_command|spoiler"),runFn:function(e,t,n,s=""){return z(i.ContentHelpers.makeHtmlMessage(s,`<span data-mx-spoiler>${s}</span>`))},category:q.messages}),ce("shrug",(0,c.AO)("slash_command|shrug"),"¯\\_(ツ)_/¯"),ce("tableflip",(0,c.AO)("slash_command|tableflip"),"(╯°□°)╯︵ ┻━┻"),ce("unflip",(0,c.AO)("slash_command|unflip"),"┬──┬ ノ( ゜-゜ノ)"),ce("lenny",(0,c.AO)("slash_command|lenny"),"( ͡° ͜ʖ ͡°)"),new Z({command:"plain",args:"<message>",description:(0,c.AO)("slash_command|plain"),runFn:function(e,t,n,s=""){return z(i.ContentHelpers.makeTextMessage(s))},category:q.messages}),new Z({command:"html",args:"<message>",description:(0,c.AO)("slash_command|html"),runFn:function(e,t,n,s=""){return z(i.ContentHelpers.makeHtmlMessage(s,s))},category:q.messages}),le,new Z({command:"jumptodate",args:"<YYYY-MM-DD>",description:(0,c.AO)("slash_command|jumptodate"),isEnabled:()=>S.A.getValue("feature_jump_to_date"),runFn:function(e,t,n,s){return s?H((async()=>{const n=Date.parse(s);if(!n)throw new c.P7("slash_command|jumptodate_invalid_input",{inputDate:s,cause:void 0});const{event_id:o,origin_server_ts:a}=await e.timestampToEvent(t,n,i.Direction.Forward);r.vF.log(`/timestamp_to_event: found ${o} (${a}) for timestamp=${n}`),l.A.dispatch({action:A.r.ViewRoom,event_id:o,highlighted:!0,room_id:t,metricsTrigger:"SlashCommand",metricsViaKeyboard:!0})})()):V(this.getUsage())},category:q.actions}),new Z({command:"nick",args:"<display_name>",description:(0,c.AO)("slash_command|nick"),runFn:function(e,t,n,s){return s?H(e.setDisplayName(s)):V(this.getUsage())},category:q.actions,renderingTypes:[j.Ae.Room]}),new Z({command:"myroomnick",aliases:["roomnick"],args:"<display_name>",description:(0,c.AO)("slash_command|myroomnick"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){if(s){var o;const n=null===(o=e.getRoom(t))||void 0===o?void 0:o.currentState.getStateEvents(i.EventType.RoomMember,e.getSafeUserId()),r=ue(ue({},n?n.getContent():{membership:a.O.Join}),{},{displayname:s});return H(e.sendStateEvent(t,i.EventType.RoomMember,r,e.getSafeUserId()))}return V(this.getUsage())},category:q.actions,renderingTypes:[j.Ae.Room]}),new Z({command:"roomavatar",args:"[<mxc_url>]",description:(0,c.AO)("slash_command|roomavatar"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){let o=Promise.resolve(null!=s?s:null);return s||(o=K(e)),H(o.then(n=>{if(n)return e.sendStateEvent(t,i.EventType.RoomAvatar,{url:n},"")}))},category:q.actions,renderingTypes:[j.Ae.Room]}),new Z({command:"myroomavatar",args:"[<mxc_url>]",description:(0,c.AO)("slash_command|myroomavatar"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){const o=e.getRoom(t),r=e.getSafeUserId();let l=Promise.resolve(null!=s?s:null);return s||(l=K(e)),H(l.then(n=>{if(!n)return;const s=null==o?void 0:o.currentState.getStateEvents(i.EventType.RoomMember,r),l=ue(ue({},s?s.getContent():{membership:a.O.Join}),{},{avatar_url:n});return e.sendStateEvent(t,i.EventType.RoomMember,l,r)}))},category:q.actions,renderingTypes:[j.Ae.Room]}),new Z({command:"myavatar",args:"[<mxc_url>]",description:(0,c.AO)("slash_command|myavatar"),runFn:function(e,t,n,s){let o=Promise.resolve(null!=s?s:null);return s||(o=K(e)),H(o.then(t=>{if(t)return e.setAvatarUrl(t)}))},category:q.actions,renderingTypes:[j.Ae.Room]}),new Z({command:"topic",args:"[<topic>]",description:(0,c.AO)("slash_command|topic"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){var r;if(s){const n=(0,D.Ro)(s,{forceHTML:!1});return H(e.setRoomTopic(t,s,n))}const a=e.getRoom(t);if(!a)return V(new c.P7("slash_command|topic_room_error",{roomId:t,cause:void 0}));const l=null===(r=a.currentState.getStateEvents("m.room.topic",""))||void 0===r?void 0:r.getContent(),u=l?i.ContentHelpers.parseTopicContent(l):{text:(0,c._t)("slash_command|topic_none")},p=(0,m.sH)(u.text,u.html,void 0,!0);return d.Ay.createDialog(T.A,{title:a.name,description:o.createElement(m.XZ,null,p),hasCloseButton:!0,className:"markdown-body"}),H()},category:q.admin,renderingTypes:[j.Ae.Room]}),new Z({command:"roomname",args:"<name>",description:(0,c.AO)("slash_command|roomname"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){return s?H(e.setRoomName(t,s)):V(this.getUsage())},category:q.admin,renderingTypes:[j.Ae.Room]}),new Z({command:"invite",args:"<user-id> [<reason>]",description:(0,c.AO)("slash_command|invite"),analyticsName:"Invite",isEnabled:e=>!$(e)&&(0,N.g)(C.C.InviteUsers),runFn:function(e,t,n,s){if(s){const[n,i]=ge(s);if(n){let s=Promise.resolve();if((0,v.Z)(n)===v.R.Email&&!e.getIdentityServerUrl()){const t=(0,_.iR)();if(!t)return V(new c.P7("slash_command|invite_3pid_needs_is_error"));{const{finished:n}=d.Ay.createDialog(p.A,{title:(0,c._t)("slash_command|invite_3pid_use_default_is_title"),description:o.createElement("p",null,(0,c._t)("slash_command|invite_3pid_use_default_is_title_description",{defaultIdentityServerName:(0,f.FO)(t)})),button:(0,c._t)("action|continue")});s=n.then(([t])=>{if(!t)throw new c.P7("slash_command|invite_3pid_needs_is_error");(0,_.eF)(e)})}}const r=new u.Ay(e,t);return H(s.then(()=>r.invite([n],i)).then(()=>{if("invited"!==r.getCompletionState(n)){const e=r.getErrorText(n);throw e?new Error(e):new c.P7("slash_command|invite_failed",{user:n,roomId:t,cause:void 0})}}))}}return V(this.getUsage())},category:q.actions,renderingTypes:[j.Ae.Room]}),oe,se,new Z({command:"part",args:"[<room-address>]",description:(0,c.AO)("action|leave_room"),analyticsName:"Part",isEnabled:e=>!$(e),runFn:function(e,t,n,s){let o;if(s){const t=s.match(/^(\S+)$/);if(t){var i;let n=t[1];if(!n.startsWith("#"))return V(this.getUsage());n.includes(":")||(n+=":"+e.getDomain());if(o=null===(i=e.getRooms().find(e=>e.getCanonicalAlias()===n||e.getAltAliases().includes(n)))||void 0===i?void 0:i.roomId,!o)return V(new c.P7("slash_command|part_unknown_alias",{roomAlias:n,cause:void 0}))}}return o||(o=t),H((0,U.U)(e,o))},category:q.actions,renderingTypes:[j.Ae.Room]}),new Z({command:"remove",aliases:["kick"],args:"<user-id> [reason]",description:(0,c.AO)("slash_command|remove"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){if(s){const[n,o]=ge(s);if(n)return H(e.kick(t,n,o))}return V(this.getUsage())},category:q.admin,renderingTypes:[j.Ae.Room]}),new Z({command:"ban",args:"<user-id> [reason]",description:(0,c.AO)("slash_command|ban"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){if(s){const[n,o]=ge(s);if(n)return H(e.ban(t,n,o))}return V(this.getUsage())},category:q.admin,renderingTypes:[j.Ae.Room]}),new Z({command:"unban",args:"<user-id>",description:(0,c.AO)("slash_command|unban"),isEnabled:e=>!$(e),runFn:function(e,t,n,s){if(s){const n=s.match(/^(\S+)$/);if(n)return H(e.unban(t,n[1]))}return V(this.getUsage())},category:q.admin,renderingTypes:[j.Ae.Room]}),new Z({command:"ignore",args:"<user-id>",description:(0,c.AO)("slash_command|ignore"),runFn:function(e,t,n,s){if(s){const t=s.match(/^(@[^:]+:\S+)$/);if(t){const n=t[1],s=e.getIgnoredUsers();return s.push(n),H(e.setIgnoredUsers(s).then(()=>{d.Ay.createDialog(T.A,{title:(0,c._t)("slash_command|ignore_dialog_title"),description:o.createElement("div",null,o.createElement("p",null,(0,c._t)("slash_command|ignore_dialog_description",{userId:n})))})}))}}return V(this.getUsage())},category:q.actions}),new Z({command:"unignore",args:"<user-id>",description:(0,c.AO)("slash_command|unignore"),runFn:function(e,t,n,s){if(s){const t=s.match(/(^@[^:]+:\S+$)/);if(t){const n=t[1],s=e.getIgnoredUsers(),i=s.indexOf(n);return-1!==i&&s.splice(i,1),H(e.setIgnoredUsers(s).then(()=>{d.Ay.createDialog(T.A,{title:(0,c._t)("slash_command|unignore_dialog_title"),description:o.createElement("div",null,o.createElement("p",null,(0,c._t)("slash_command|unignore_dialog_description",{userId:n})))})}))}}return V(this.getUsage())},category:q.actions}),X,ee,new Z({command:"devtools",description:(0,c.AO)("slash_command|devtools"),runFn:function(e,t,n){return d.Ay.createDialog(P.A,{roomId:t,threadRootId:n},"mx_DevtoolsDialog_wrapper"),H()},category:q.advanced}),new Z({command:"addwidget",args:"<url | embed code | Jitsi url>",description:(0,c.AO)("slash_command|addwidget"),isEnabled:e=>S.A.getValue(C.f.Widgets)&&(0,N.g)(C.C.AddIntegrations)&&!$(e),runFn:function(e,t,n,s){if(!s)return V(new c.P7("slash_command|addwidget_missing_url"));if(s.toLowerCase().startsWith("<iframe ")){var o;const e=(new DOMParser).parseFromString(s,"text/html").body;if(1===(null==e||null===(o=e.childNodes)||void 0===o?void 0:o.length)){const t=e.firstElementChild;if("iframe"===(null==t?void 0:t.tagName.toLowerCase())){if(r.vF.log("Pulling URL out of iframe (embed code)"),!t.hasAttribute("src"))return V(new c.P7("slash_command|addwidget_iframe_missing_src"));s=t.getAttribute("src")}}}if(!s.startsWith("https://")&&!s.startsWith("http://"))return V(new c.P7("slash_command|addwidget_invalid_protocol"));if(h.A.canUserModifyWidgets(e,t)){const n=e.getUserId(),o=(new Date).getTime(),i=encodeURIComponent(`${t}_${n}_${o}`);let a=y.x.CUSTOM,l="Custom",c={};const d=b.k.getInstance().parsePreferredConferenceUrl(s);return d&&(r.vF.log("Making /addwidget widget a Jitsi conference"),a=y.x.JITSI,l="Jitsi",c=d,s=h.A.getLocalJitsiWrapperUrl()),H(h.A.setRoomWidget(e,t,i,a,s,l,c))}return V(new c.P7("slash_command|addwidget_no_permissions"))},category:q.admin,renderingTypes:[j.Ae.Room]}),new Z({command:"verify",args:"<device-id> <device-fingerprint>",description:(0,c.AO)("slash_command|verify"),runFn:function(e,t,n,s){if(s){const t=s.match(/^(\S+) +(\S+)$/);if(t){const n=t[1],s=t[2],{finished:o}=d.Ay.createDialog(p.A,{title:(0,c._t)("slash_command|manual_device_verification_confirm_title"),description:(0,c._t)("slash_command|manual_device_verification_confirm_description"),button:(0,c._t)("action|verify"),danger:!0});return H(o.then(([t])=>{t&&(0,ie.$)(e,n,s)}))}}return V(this.getUsage())},category:q.advanced,renderingTypes:[j.Ae.Room]}),new Z({command:"discardsession",description:(0,c.AO)("slash_command|discardsession"),isEnabled:e=>!$(e),runFn:function(e,t){try{var n;null===(n=e.getCrypto())||void 0===n||n.forceDiscardSession(t)}catch(e){return V(e instanceof Error?e.message:e)}return H()},category:q.advanced,renderingTypes:[j.Ae.Room]}),new Z({command:"rainbow",description:(0,c.AO)("slash_command|rainbow"),args:"<message>",runFn:function(e,t,n,s){return s?z(i.ContentHelpers.makeHtmlMessage(s,(0,g.a)(s))):V(this.getUsage())},category:q.messages}),new Z({command:"rainbowme",description:(0,c.AO)("slash_command|rainbowme"),args:"<message>",runFn:function(e,t,n,s){return s?z(i.ContentHelpers.makeHtmlEmote(s,(0,g.a)(s))):V(this.getUsage())},category:q.messages}),new Z({command:"help",description:(0,c.AO)("slash_command|help"),runFn:function(e,t,n,s){return d.Ay.createDialog(M,{roomId:t}),H()},category:q.advanced}),new Z({command:"whois",description:(0,c.AO)("slash_command|whois"),args:"<user-id>",isEnabled:e=>!$(e),runFn:function(e,t,n,s){var o;if(!s||!s.startsWith("@")||!s.includes(":"))return V(this.getUsage());const i=null===(o=e.getRoom(t))||void 0===o?void 0:o.getMember(s);return l.A.dispatch({action:A.r.ViewUser,member:i||{userId:s}}),H()},category:q.advanced}),new Z({command:"rageshake",aliases:["bugreport"],description:(0,c.AO)("slash_command|rageshake"),isEnabled:()=>!!x.Ay.get().bug_report_endpoint_url,args:"<description>",runFn:function(e,t,n,s){return H(d.Ay.createDialog(w.A,{initialText:s}).finished)},category:q.advanced}),new Z({command:"query",description:(0,c.AO)("slash_command|query"),args:"<user-id>",runFn:function(e,t,n,s){const o=s&&/^\+?[0123456789]+$/.test(s);return s&&(s.startsWith("@")&&s.includes(":")||o)?H((async()=>{if(o){const e=await R.Ay.instance.pstnLookup(s);if(!e||0===e.length||!e[0].userid)throw new c.P7("slash_command|query_not_found_phone_number");s=e[0].userid}const t=await(0,E.EP)(e,s);if(!t)throw new Error("Failed to ensure DM exists");l.A.dispatch({action:A.r.ViewRoom,room_id:t,metricsTrigger:"SlashCommand",metricsViaKeyboard:!0})})()):V(this.getUsage())},category:q.actions}),new Z({command:"msg",description:(0,c.AO)("slash_command|msg"),args:"<user-id> [<message>]",runFn:function(e,t,n,s){if(s){const[t,n]=ge(s);if(""!==t&&t&&t.startsWith("@")&&t.includes(":"))return H((async()=>{const s=await(0,E.EP)(e,t);if(!s)throw new Error("Failed to ensure DM exists");l.A.dispatch({action:A.r.ViewRoom,room_id:s,metricsTrigger:"SlashCommand",metricsViaKeyboard:!0}),n&&e.sendTextMessage(s,n)})())}return V(this.getUsage())},category:q.actions}),new Z({command:"holdcall",description:(0,c.AO)("slash_command|holdcall"),category:q.other,isEnabled:e=>!$(e),runFn:function(e,t,n,s){const o=R.Ay.instance.getCallForRoom(t);return o?(o.setRemoteOnHold(!0),H()):V(new c.P7("slash_command|no_active_call"))},renderingTypes:[j.Ae.Room]}),new Z({command:"unholdcall",description:(0,c.AO)("slash_command|unholdcall"),category:q.other,isEnabled:e=>!$(e),runFn:function(e,t,n,s){const o=R.Ay.instance.getCallForRoom(t);return o?(o.setRemoteOnHold(!1),H()):V(new c.P7("slash_command|no_active_call"))},renderingTypes:[j.Ae.Room]}),new Z({command:"converttodm",description:(0,c.AO)("slash_command|converttodm"),category:q.other,isEnabled:e=>!$(e),runFn:function(e,t,n,s){const o=e.getRoom(t);return o?H((0,I.lA)(o,!0)):V(new c.P7("slash_command|could_not_find_room"))},renderingTypes:[j.Ae.Room]}),new Z({command:"converttoroom",description:(0,c.AO)("slash_command|converttoroom"),category:q.other,isEnabled:e=>!$(e),runFn:function(e,t,n,s){const o=e.getRoom(t);return o?H((0,I.lA)(o,!1)):V(new c.P7("slash_command|could_not_find_room"))},renderingTypes:[j.Ae.Room]}),new Z({command:"me",args:"<message>",description:(0,c.AO)("slash_command|me"),category:q.messages,hideCompletionAfterSpace:!0}),...k.y.map(e=>new Z({command:e.command,description:e.description(),args:"<message>",runFn:function(t,n,s,o){let r;return r=o?{msgtype:e.msgType,body:o}:i.ContentHelpers.makeEmoteMessage(e.fallbackMessage()),l.A.dispatch({action:`effects.${e.command}`}),z(r)},category:q.effects,renderingTypes:[j.Ae.Room]}))],pe=new Map;function he(e){const t=e.trimStart();if("/"!==t.charAt(0))return{};const n=t.slice(1),[s,o]=ge(n);return{cmd:s,args:o}}function ge(e){const t=e.trim(),n=t.search(/\s+/);if(-1===n)return[t];{const e=t.slice(0,n),s=t.slice(n+1).trimStart();return""===s?[e]:[e,s]}}function ve(e,t){const{cmd:n,args:s}=he(t);return n&&pe.has(n)&&pe.get(n).isEnabled(O.J.get(),e)?{cmd:pe.get(n),args:s}:{}}me.forEach(e=>{pe.set(e.command,e),e.aliases.forEach(t=>{pe.set(t,e)})})},"./src/stores/ActiveWidgetStore.ts"(e,t,n){"use strict";n.d(t,{A:()=>u,y:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n.n(o),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./src/MatrixClientPeg.ts"),l=n("./src/utils/WidgetUtils.ts"),c=n("./src/stores/widgets/WidgetMessagingStore.ts");let d=function(e){return e.Persistence="persistence",e.Dock="dock",e.Undock="undock",e}({});class u extends(i()){constructor(...e){super(...e),(0,s.A)(this,"persistentWidgetId",null),(0,s.A)(this,"persistentRoomId",null),(0,s.A)(this,"dockedWidgetsByUid",new Map),(0,s.A)(this,"onRoomStateEvents",(e,{roomId:t})=>{"im.vector.modular.widgets"===e.getType()&&this.destroyPersistentWidget(e.getStateKey(),t)})}static get instance(){return u.internalInstance||(u.internalInstance=new u),u.internalInstance}start(){a.J.safeGet().on(r.RoomStateEvent.Events,this.onRoomStateEvents)}stop(){var e;null===(e=a.J.get())||void 0===e||e.removeListener(r.RoomStateEvent.Events,this.onRoomStateEvents)}destroyPersistentWidget(e,t){this.getWidgetPersistence(e,t)&&(this.setWidgetPersistence(e,t,!1),c.c.instance.stopMessagingByUid(l.A.calcWidgetUid(e,null!=t?t:void 0)))}setWidgetPersistence(e,t,n){const s=this.getWidgetPersistence(e,t);s&&!n?(this.persistentWidgetId=null,this.persistentRoomId=null):!s&&n&&(this.persistentWidgetId=e,this.persistentRoomId=t),this.emit(d.Persistence)}getWidgetPersistence(e,t){return this.persistentWidgetId===e&&this.persistentRoomId===t}getPersistentWidgetId(){return this.persistentWidgetId}getPersistentRoomId(){return this.persistentRoomId}dockWidget(e,t){var n;const s=l.A.calcWidgetUid(e,null!=t?t:void 0),o=null!==(n=this.dockedWidgetsByUid.get(s))&&void 0!==n?n:0;this.dockedWidgetsByUid.set(s,o+1),0===o&&this.emit(d.Dock)}undockWidget(e,t){const n=l.A.calcWidgetUid(e,null!=t?t:void 0),s=this.dockedWidgetsByUid.get(n);s&&this.dockedWidgetsByUid.set(n,s-1),1===s&&this.emit(d.Undock)}isDocked(e,t){var n;const s=l.A.calcWidgetUid(e,null!=t?t:void 0);return(null!==(n=this.dockedWidgetsByUid.get(s))&&void 0!==n?n:0)>0}isLive(e,t){return this.isDocked(e,t)||this.getWidgetPersistence(e,t)}}(0,s.A)(u,"internalInstance",void 0),window.mxActiveWidgetStore=u.instance},"./src/stores/AsyncStore.ts"(e,t,n){"use strict";n.d(t,{H:()=>r,y:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n("./node_modules/await-lock/build/AwaitLock.js");const r="update";class a extends o.EventEmitter{constructor(e,t={}){super(),(0,s.A)(this,"storeState",void 0),(0,s.A)(this,"lock",new i.A),(0,s.A)(this,"dispatcherRef",void 0),this.dispatcher=e,this.dispatcherRef=e.register(this.onDispatch.bind(this)),this.storeState=t}get state(){return this.storeState}stop(){this.dispatcher.unregister(this.dispatcherRef)}async updateState(e){await this.lock.acquireAsync();try{this.storeState=Object.freeze(Object.assign({},this.storeState,e)),this.emit(r,this)}finally{await this.lock.release()}}async reset(e=null,t=!1){await this.lock.acquireAsync();try{this.storeState=Object.freeze(e||{}),t||this.emit(r,this)}finally{await this.lock.release()}}}},"./src/stores/AsyncStoreWithClient.ts"(e,t,n){"use strict";n.d(t,{r:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/stores/AsyncStore.ts"),i=n("./src/stores/ReadyWatchingStore.ts");class r extends o.y{constructor(e,t={}){super(e,t),(0,s.A)(this,"readyStore",void 0);const n=this;this.readyStore=new class extends i.g{get mxClient(){var e;return null!==(e=this.matrixClient)&&void 0!==e?e:null}async onReady(){return n.onReady()}async onNotReady(){return n.onNotReady()}}(e)}async start(){await this.readyStore.start()}get matrixClient(){return this.readyStore.mxClient}async onReady(){}async onNotReady(){}async onDispatch(e){await this.onAction(e)}}},"./src/stores/BreadcrumbsStore.ts"(e,t,n){"use strict";n.d(t,{Y:()=>h});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/types.ts"),a=n("./node_modules/matrix-js-sdk/src/utils.ts"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/stores/AsyncStoreWithClient.ts"),d=n("./src/dispatcher/dispatcher.ts"),u=n("./src/utils/arrays.ts"),m=n("./src/settings/SettingLevel.ts"),p=n("./src/dispatcher/actions.ts");class h extends c.r{constructor(){super(d.A),(0,o.A)(this,"waitingRooms",[]),(0,o.A)(this,"onMyMembership",async e=>{const t=l.A.getValue("breadcrumbs",null,!0);this.meetsRoomRequirement&&(0,a.hX)(t)&&await l.A.setValue("breadcrumbs",null,m.p.ACCOUNT,!0)}),(0,o.A)(this,"onRoom",async e=>{const t=this.waitingRooms.find(t=>t.roomId===e.roomId);t&&(this.waitingRooms.splice(this.waitingRooms.indexOf(t),1),Date.now()-t.addedTs>9e4||await this.appendRoom(e))}),l.A.monitorSetting("breadcrumb_rooms",null),l.A.monitorSetting("breadcrumbs",null)}static get instance(){return h.internalInstance}get rooms(){return this.state.rooms||[]}get visible(){return!!this.state.enabled&&this.meetsRoomRequirement}get meetsRoomRequirement(){const e=l.A.getValue("feature_dynamic_room_predecessors");return!!this.matrixClient&&this.matrixClient.getVisibleRooms(e).length>=20}async onAction(e){if(this.matrixClient)if(e.action===p.r.SettingUpdated)"breadcrumb_rooms"===e.settingName?await this.updateRooms():"breadcrumbs"===e.settingName&&await this.updateState({enabled:l.A.getValue("breadcrumbs",null)});else if(e.action===p.r.ViewRoom)if(e.auto_join&&e.room_id&&!this.matrixClient.getRoom(e.room_id))this.waitingRooms.push({roomId:e.room_id,addedTs:Date.now()});else{const t=this.matrixClient.getRoom(e.room_id),n=null==t?void 0:t.getMyMembership();t&&n===r.O.Join&&await this.appendRoom(t)}else if(e.action===p.r.JoinRoom){const t=this.matrixClient.getRoom(e.roomId);t&&await this.appendRoom(t)}}async onReady(){await this.updateRooms(),await this.updateState({enabled:l.A.getValue("breadcrumbs",null)}),this.matrixClient&&(this.matrixClient.on(i.RoomEvent.MyMembership,this.onMyMembership),this.matrixClient.on(i.ClientEvent.Room,this.onRoom))}async onNotReady(){this.matrixClient&&(this.matrixClient.removeListener(i.RoomEvent.MyMembership,this.onMyMembership),this.matrixClient.removeListener(i.ClientEvent.Room,this.onRoom))}async updateRooms(){let e=l.A.getValue("breadcrumb_rooms");e&&0!==e.length||(e=[]);const t=(0,u.Bo)(e.map(e=>{var t;return null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(e)})),n=this.state.rooms||[];(0,u.dc)(t,n)&&await this.updateState({rooms:t})}async appendRoom(e){var t;let n=!1;const s=(this.state.rooms||[]).slice(),o=l.A.getValue("feature_dynamic_room_predecessors"),i=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoomUpgradeHistory(e.roomId,!0,o);if(i&&i.length>1){e=i[i.length-1];for(let e=0;e<i.length-1;e++){const t=s.findIndex(t=>t.roomId===i[e].roomId);-1!==t&&(s.splice(t,1),n=!0)}}const r=s.findIndex(t=>t.roomId===e.roomId);if(0!==r&&(-1!==r&&s.splice(r,1),s.splice(0,0,e),n=!0),s.length>20&&(s.splice(20,s.length-20),n=!0),n){await this.updateState({rooms:s});const e=s.map(e=>e.roomId);e.length>0&&await l.A.setValue("breadcrumb_rooms",null,m.p.ACCOUNT,e)}}}s=h,(0,o.A)(h,"internalInstance",(()=>{const e=new s;return e.start(),e})())},"./src/stores/CallStore.ts"(e,t,n){"use strict";n.d(t,{e:()=>g,s:()=>h});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./node_modules/matrix-js-sdk/src/matrixrtc/index.ts"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./src/dispatcher/dispatcher.ts"),l=n("./src/stores/AsyncStore.ts"),c=n("./src/stores/AsyncStoreWithClient.ts"),d=n("./src/stores/WidgetStore.ts"),u=n("./src/settings/SettingsStore.ts"),m=n("./src/settings/SettingLevel.ts"),p=n("./src/models/Call.ts");let h=function(e){return e.Call="call",e.ConnectedCalls="connected_calls",e.TransportsUpdated="transports_updated",e}({});class g extends c.r{static get instance(){return this._instance||(this._instance=new g,this._instance.start()),this._instance}constructor(){super(a.A),(0,s.A)(this,"configuredMatrixRTCTransports",new Set),(0,s.A)(this,"_connectedCalls",new Set),(0,s.A)(this,"calls",new Map),(0,s.A)(this,"callListeners",new Map),(0,s.A)(this,"inUpdateRoom",!1),(0,s.A)(this,"onWidgets",e=>{if(this.matrixClient)if(null===e)for(const e of this.matrixClient.getRooms())this.updateRoom(e);else{const t=this.matrixClient.getRoom(e);null!==t&&this.updateRoom(t)}}),(0,s.A)(this,"onRTCSessionStart",(e,t)=>{this.updateRoom(t.room)}),this.setMaxListeners(100)}async onAction(){}async fetchTransports(){var e;if(!this.matrixClient)return;this.configuredMatrixRTCTransports.clear();try{(await this.matrixClient._unstable_getRTCTransports()).forEach(e=>this.configuredMatrixRTCTransports.add(e))}catch(e){e instanceof r.MatrixError!=!1&&"M_NOT_FOUND"===e.errcode||o.vF.warn("Unexpected error when trying to fetch RTC transports",e)}await this.matrixClient.waitForClientWellKnown();const t=null===(e=this.matrixClient.getClientWellKnown())||void 0===e?void 0:e["org.matrix.msc4143.rtc_foci"];Array.isArray(t)&&t.forEach(e=>this.configuredMatrixRTCTransports.add(e)),this.emit(h.TransportsUpdated)}async onReady(){if(!this.matrixClient)return;this.fetchTransports();for(const e of this.matrixClient.getRooms())this.updateRoom(e);this.matrixClient.matrixRTC.on(i.JY.SessionStarted,this.onRTCSessionStart),d.Ay.instance.on(l.H,this.onWidgets);const e=u.A.getValue("activeCallRoomIds");e.length&&await Promise.all([...e.map(async e=>{var t;o.vF.log(`Cleaning up call state for room ${e}`),await(null===(t=this.getCall(e))||void 0===t?void 0:t.clean())}),u.A.setValue("activeCallRoomIds",null,m.p.DEVICE,[])])}async onNotReady(){var e;for(const[e,t]of this.callListeners){for(const[n,s]of t)e.off(n,s);e.destroy()}this.callListeners.clear(),this.calls.clear(),this._connectedCalls.clear(),this.configuredMatrixRTCTransports.clear(),null===(e=this.matrixClient)||void 0===e||e.matrixRTC.off(i.JY.SessionStarted,this.onRTCSessionStart),d.Ay.instance.off(l.H,this.onWidgets)}get connectedCalls(){return this._connectedCalls}set connectedCalls(e){this._connectedCalls=e,this.emit(h.ConnectedCalls,e),u.A.setValue("activeCallRoomIds",null,m.p.DEVICE,[...e].map(e=>e.roomId))}updateRoom(e){if(!this.inUpdateRoom&&!this.calls.has(e.roomId)){this.inUpdateRoom=!0;const t=p.Je.get(e);if(t){const n=e=>{e===p.KN.Connected?this.connectedCalls=new Set([...this.connectedCalls,t]):e===p.KN.Disconnected&&(this.connectedCalls=new Set([...this.connectedCalls].filter(e=>e!==t)))},s=()=>{this.calls.delete(e.roomId);for(const[e,n]of this.callListeners.get(t))t.off(e,n);this.updateRoom(e)};t.on(p.$E.ConnectionState,n),t.on(p.$E.Destroy,s),this.calls.set(e.roomId,t),this.callListeners.set(t,new Map([[p.$E.ConnectionState,n],[p.$E.Destroy,s]]))}this.emit(h.Call,t,e.roomId),this.inUpdateRoom=!1}}getCall(e){var t;return null!==(t=this.calls.get(e))&&void 0!==t?t:null}getActiveCall(e){const t=this.getCall(e);return null!==t&&this.connectedCalls.has(t)?t:null}getConfiguredRTCTransports(){return[...this.configuredMatrixRTCTransports]}}(0,s.A)(g,"_instance",void 0)},"./src/stores/NonUrgentToastStore.ts"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n.n(o),r=n("./src/stores/AsyncStore.ts");class a extends(i()){constructor(...e){super(...e),(0,s.A)(this,"toasts",new Map)}static get instance(){return a._instance||(a._instance=new a),a._instance}get components(){return Array.from(this.toasts.values())}addToast(e){const t=Symbol();return this.toasts.set(t,e),this.emit(r.H),t}removeToast(e){this.toasts.delete(e),this.emit(r.H)}}(0,s.A)(a,"_instance",void 0)},"./src/stores/OwnBeaconStore.ts"(e,t,n){"use strict";n.d(t,{g:()=>w,q:()=>_});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/lodash/debounce.js"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/types.ts"),l=n("./node_modules/matrix-js-sdk/src/logger.ts"),c=n("./src/dispatcher/dispatcher.ts"),d=n("./src/stores/AsyncStoreWithClient.ts"),u=n("./src/utils/arrays.ts"),m=n("./src/utils/beacon/index.ts"),p=n("./src/utils/local-room.ts"),h=n("./src/settings/SettingsStore.ts");function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach(function(t){(0,o.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const f=(e,t)=>e.beaconInfoOwner===t;let _=function(e){return e.LivenessChange="OwnBeaconStore.LivenessChange",e.MonitoringLivePosition="OwnBeaconStore.MonitoringLivePosition",e.LocationPublishError="LocationPublishError",e.BeaconUpdateError="BeaconUpdateError",e}({});const y="mx_live_beacon_created_id",b=()=>{let e;try{var t;if(e=JSON.parse(null!==(t=window.localStorage.getItem(y))&&void 0!==t?t:"[]"),!Array.isArray(e))throw new Error("Invalid stored value")}catch(t){l.vF.error("Failed to retrieve locally created beacon event ids",t),e=[]}return e};class w extends d.r{constructor(){super(c.A),(0,o.A)(this,"beacons",new Map),(0,o.A)(this,"beaconsByRoomId",new Map),(0,o.A)(this,"beaconLocationPublishErrorCounts",new Map),(0,o.A)(this,"beaconUpdateErrors",new Map),(0,o.A)(this,"liveBeaconIds",[]),(0,o.A)(this,"locationInterval",void 0),(0,o.A)(this,"clearPositionWatch",void 0),(0,o.A)(this,"lastPublishedPositionTimestamp",void 0),(0,o.A)(this,"dynamicWatcherRef",void 0),(0,o.A)(this,"hasLiveBeacons",e=>!!this.getLiveBeaconIds(e).length),(0,o.A)(this,"hasLocationPublishErrors",e=>this.getLiveBeaconIds(e).some(this.beaconHasLocationPublishError)),(0,o.A)(this,"beaconHasLocationPublishError",e=>{const t=this.beaconLocationPublishErrorCounts.get(e);return void 0!==t&&t>=2}),(0,o.A)(this,"resetLocationPublishError",e=>{this.incrementBeaconLocationPublishErrorCount(e,!1),this.publishCurrentLocationToBeacons()}),(0,o.A)(this,"getLiveBeaconIds",e=>e?this.liveBeaconIds.filter(t=>{var n;return null===(n=this.beaconsByRoomId.get(e))||void 0===n?void 0:n.has(t)}):this.liveBeaconIds),(0,o.A)(this,"getLiveBeaconIdsWithLocationPublishError",e=>this.getLiveBeaconIds(e).filter(this.beaconHasLocationPublishError)),(0,o.A)(this,"getBeaconById",e=>this.beacons.get(e)),(0,o.A)(this,"stopBeacon",async e=>{var t;const n=this.beacons.get(e);null!=n&&null!==(t=n.beaconInfo)&&void 0!==t&&t.live&&(await this.updateBeaconEvent(n,{live:!1}),(e=>{const t=b();window.localStorage.setItem(y,JSON.stringify(t.filter(t=>t!==e)))})(n.beaconInfoId))}),(0,o.A)(this,"onNewBeacon",(e,t)=>{this.matrixClient&&f(t,this.matrixClient.getUserId())&&(this.addBeacon(t),this.checkLiveness())}),(0,o.A)(this,"onUpdateBeacon",(e,t)=>{this.matrixClient&&f(t,this.matrixClient.getUserId())&&(this.checkLiveness(),t.monitorLiveness())}),(0,o.A)(this,"onDestroyBeacon",e=>{this.beacons.has(e)&&this.checkLiveness()}),(0,o.A)(this,"onBeaconLiveness",(e,t)=>{this.beacons.has(t.identifier)&&(e||this.stopBeacon(t.identifier),this.checkLiveness(),this.emit(_.LivenessChange,this.getLiveBeaconIds()))}),(0,o.A)(this,"onRoomStateMembers",(e,t,n)=>{var s;this.matrixClient&&this.beaconsByRoomId.has(t.roomId)&&n.userId===this.matrixClient.getUserId()&&(n.membership!==a.O.Leave&&n.membership!==a.O.Ban||(null===(s=this.beaconsByRoomId.get(t.roomId))||void 0===s||s.forEach(this.removeBeacon),this.beaconsByRoomId.delete(t.roomId)))}),(0,o.A)(this,"reinitialiseBeaconState",()=>{this.clearBeacons(),this.initialiseBeaconState()}),(0,o.A)(this,"initialiseBeaconState",()=>{if(!this.matrixClient)return;const e=this.matrixClient.getSafeUserId();this.matrixClient.getVisibleRooms(h.A.getValue("feature_dynamic_room_predecessors")).forEach(t=>{[...t.currentState.beacons.values()].filter(t=>f(t,e)).forEach(e=>this.addBeacon(e))}),this.checkLiveness()}),(0,o.A)(this,"addBeacon",e=>{this.beacons.set(e.identifier,e),this.beaconsByRoomId.has(e.roomId)||this.beaconsByRoomId.set(e.roomId,new Set),this.beaconsByRoomId.get(e.roomId).add(e.identifier),e.monitorLiveness()}),(0,o.A)(this,"removeBeacon",e=>{this.beacons.has(e)&&(this.beacons.get(e).destroy(),this.beacons.delete(e),this.checkLiveness())}),(0,o.A)(this,"checkLiveness",()=>{const e=b(),t=this.getLiveBeaconIds();this.liveBeaconIds=[...this.beacons.values()].filter(t=>t.isLive&&e.includes(t.beaconInfoId)).sort(m.d0).map(e=>e.identifier);const n=(0,u.ZQ)(t,this.liveBeaconIds);(n.added.length||n.removed.length)&&this.emit(_.LivenessChange,this.liveBeaconIds),n.added.length&&this.isMonitoringLiveLocation&&this.publishCurrentLocationToBeacons(),!(null==t||!t.length)!=!!this.liveBeaconIds.length&&this.togglePollingLocation()}),(0,o.A)(this,"createLiveBeacon",async(e,t)=>{if(!this.matrixClient)return;const n=this.getLiveBeaconIds(e);await Promise.all(n.map(e=>this.stopBeacon(e)));const{event_id:s}=await(0,p.Y)(e,e=>this.matrixClient.unstable_createLiveBeacon(e,t),this.matrixClient);(e=>{const t=b();window.localStorage.setItem(y,JSON.stringify([...t,e]))})(s)}),(0,o.A)(this,"togglePollingLocation",()=>{this.liveBeaconIds.length?this.startPollingLocation():this.stopPollingLocation()}),(0,o.A)(this,"startPollingLocation",async()=>{this.stopPollingLocation();try{this.clearPositionWatch=(0,m.jS)(this.onWatchedPosition,this.onGeolocationError)}catch(e){return void(e instanceof Error?this.onGeolocationError(e.message):console.error("Unexpected error",e))}this.locationInterval=window.setInterval(()=>{this.lastPublishedPositionTimestamp&&this.lastPublishedPositionTimestamp<=Date.now()-3e4&&this.publishCurrentLocationToBeacons()},3e4),this.emit(_.MonitoringLivePosition)}),(0,o.A)(this,"stopPollingLocation",()=>{clearInterval(this.locationInterval),this.locationInterval=void 0,this.lastPublishedPositionTimestamp=void 0,this.clearPositionWatch&&(this.clearPositionWatch(),this.clearPositionWatch=void 0),this.emit(_.MonitoringLivePosition)}),(0,o.A)(this,"onWatchedPosition",e=>{const t=(0,m.nq)(e);this.lastPublishedPositionTimestamp?this.debouncedPublishLocationToBeacons(t):this.publishLocationToBeacons(t)}),(0,o.A)(this,"onGeolocationError",async e=>{l.vF.error("Geolocation failed",e),[m.b1.Unavailable,m.b1.PermissionDenied].includes(e)&&(this.stopPollingLocation(),await Promise.all(this.liveBeaconIds.map(this.stopBeacon)))}),(0,o.A)(this,"publishCurrentLocationToBeacons",async()=>{try{const e=await(0,m.J1)();this.publishLocationToBeacons((0,m.nq)(e))}catch(e){e instanceof Error?this.onGeolocationError(e.message):console.error("Unexpected error",e)}}),(0,o.A)(this,"updateBeaconEvent",async(e,t)=>{const{description:n,timeout:s,timestamp:o,live:i,assetType:a}=v(v({},e.beaconInfo),t),c=r.ContentHelpers.makeBeaconInfoContent(s,i,n,a,o);try{await this.matrixClient.unstable_setLiveBeacon(e.roomId,c);this.beaconUpdateErrors.has(e.identifier)&&(this.beaconUpdateErrors.delete(e.identifier),this.emit(_.BeaconUpdateError,e.identifier,!1))}catch(t){throw l.vF.error("Failed to update beacon",t),this.beaconUpdateErrors.set(e.identifier,t),this.emit(_.BeaconUpdateError,e.identifier,!0),t}}),(0,o.A)(this,"publishLocationToBeacons",async e=>{this.lastPublishedPositionTimestamp=Date.now(),await Promise.all(this.healthyLiveBeaconIds.map(t=>this.beacons.has(t)?this.sendLocationToBeacon(this.beacons.get(t),e):null))}),(0,o.A)(this,"debouncedPublishLocationToBeacons",(0,i.A)(this.publishLocationToBeacons,5e3)),(0,o.A)(this,"sendLocationToBeacon",async(e,{geoUri:t,timestamp:n})=>{const s=r.ContentHelpers.makeBeaconContent(t,n,e.beaconInfoId);try{await this.matrixClient.sendEvent(e.roomId,r.M_BEACON.name,s),this.incrementBeaconLocationPublishErrorCount(e.identifier,!1)}catch(t){l.vF.error(t),this.incrementBeaconLocationPublishErrorCount(e.identifier,!0)}}),(0,o.A)(this,"incrementBeaconLocationPublishErrorCount",(e,t)=>{const n=this.beaconHasLocationPublishError(e);var s;t?this.beaconLocationPublishErrorCounts.set(e,(null!==(s=this.beaconLocationPublishErrorCounts.get(e))&&void 0!==s?s:0)+1):this.beaconLocationPublishErrorCounts.delete(e);this.beaconHasLocationPublishError(e)!==n&&this.emit(_.LocationPublishError,e)})}static get instance(){return w.internalInstance}get isMonitoringLiveLocation(){return!!this.clearPositionWatch}async onNotReady(){this.matrixClient&&(this.matrixClient.removeListener(r.BeaconEvent.LivenessChange,this.onBeaconLiveness),this.matrixClient.removeListener(r.BeaconEvent.New,this.onNewBeacon),this.matrixClient.removeListener(r.BeaconEvent.Update,this.onUpdateBeacon),this.matrixClient.removeListener(r.BeaconEvent.Destroy,this.onDestroyBeacon),this.matrixClient.removeListener(r.RoomStateEvent.Members,this.onRoomStateMembers)),h.A.unwatchSetting(this.dynamicWatcherRef),this.clearBeacons()}clearBeacons(){this.beacons.forEach(e=>e.destroy()),this.stopPollingLocation(),this.beacons.clear(),this.beaconsByRoomId.clear(),this.liveBeaconIds=[],this.beaconLocationPublishErrorCounts.clear(),this.beaconUpdateErrors.clear()}async onReady(){this.matrixClient&&(this.matrixClient.on(r.BeaconEvent.LivenessChange,this.onBeaconLiveness),this.matrixClient.on(r.BeaconEvent.New,this.onNewBeacon),this.matrixClient.on(r.BeaconEvent.Update,this.onUpdateBeacon),this.matrixClient.on(r.BeaconEvent.Destroy,this.onDestroyBeacon),this.matrixClient.on(r.RoomStateEvent.Members,this.onRoomStateMembers)),this.dynamicWatcherRef=h.A.watchSetting("feature_dynamic_room_predecessors",null,this.reinitialiseBeaconState),this.initialiseBeaconState()}async onAction(e){}get healthyLiveBeaconIds(){return this.liveBeaconIds.filter(e=>!this.beaconHasLocationPublishError(e)&&!this.beaconUpdateErrors.has(e))}}s=w,(0,o.A)(w,"internalInstance",(()=>{const e=new s;return e.start(),e})())},"./src/stores/OwnProfileStore.ts"(e,t,n){"use strict";n.d(t,{V:()=>h});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/lodash/throttle.js"),a=n("./src/stores/AsyncStoreWithClient.ts"),l=n("./src/dispatcher/dispatcher.ts"),c=n("./src/MatrixClientPeg.ts"),d=n("./src/languageHandler.tsx"),u=n("./src/customisations/Media.ts");const m="mx_profile_displayname",p="mx_profile_avatar_url";class h extends a.r{constructor(){super(l.A,{displayName:window.localStorage.getItem(m)||void 0,avatarUrl:window.localStorage.getItem(p)||void 0}),(0,o.A)(this,"monitoredUser",null),(0,o.A)(this,"onProfileUpdate",(0,r.A)(async()=>{if(!this.matrixClient)return;let e={displayname:void 0,avatar_url:void 0};try{e=await this.matrixClient.getProfileInfo(this.matrixClient.getSafeUserId())}catch(e){if(!(e instanceof i.MatrixError)||"M_NOT_FOUND"!==e.errcode)throw e}e.displayname?window.localStorage.setItem(m,e.displayname):window.localStorage.removeItem(m),e.avatar_url?window.localStorage.setItem(p,e.avatar_url):window.localStorage.removeItem(p),await this.updateState({displayName:e.displayname,avatarUrl:e.avatar_url,fetchedAt:Date.now()})},200,{trailing:!0,leading:!0})),(0,o.A)(this,"onStateEvents",async e=>{const t=c.J.safeGet().getUserId();e.getType()===i.EventType.RoomMember&&e.getSender()===t&&e.getStateKey()===t&&await this.onProfileUpdate()})}static get instance(){return h.internalInstance}get displayName(){return this.matrixClient?this.matrixClient.isGuest()?(0,d._t)("common|guest"):this.state.displayName?this.state.displayName:this.matrixClient.getUserId():this.state.displayName||null}get isProfileInfoFetched(){return!!this.state.fetchedAt}get avatarMxc(){return this.state.avatarUrl||null}getHttpAvatarUrl(e=0){if(!this.avatarMxc)return null;const t=(0,u.mediaFromMxc)(this.avatarMxc);return!e||e<=0?t.srcHttp:t.getSquareThumbnailHttp(e)}async onNotReady(){var e;this.onProfileUpdate.cancel(),this.monitoredUser&&(this.monitoredUser.removeListener(i.UserEvent.DisplayName,this.onProfileUpdate),this.monitoredUser.removeListener(i.UserEvent.AvatarUrl,this.onProfileUpdate)),null===(e=this.matrixClient)||void 0===e||e.removeListener(i.RoomStateEvent.Events,this.onStateEvents),await this.reset({})}async onReady(){if(!this.matrixClient)return;const e=this.matrixClient.getSafeUserId();this.monitoredUser=this.matrixClient.getUser(e),this.monitoredUser&&(this.monitoredUser.on(i.UserEvent.DisplayName,this.onProfileUpdate),this.monitoredUser.on(i.UserEvent.AvatarUrl,this.onProfileUpdate)),this.matrixClient.on(i.RoomStateEvent.Events,this.onStateEvents),await this.onProfileUpdate()}async onAction(e){}}s=h,(0,o.A)(h,"internalInstance",(()=>{const e=new s;return e.start(),e})())},"./src/stores/ReadyWatchingStore.ts"(e,t,n){"use strict";n.d(t,{g:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/events/events.js"),r=n("./src/MatrixClientPeg.ts"),a=n("./src/dispatcher/actions.ts");class l extends i.EventEmitter{constructor(e){super(),(0,s.A)(this,"matrixClient",void 0),(0,s.A)(this,"dispatcherRef",void 0),(0,s.A)(this,"onAction",async e=>{this.onDispatcherAction(e),"MatrixActions.sync"===e.action?e.prevState!==o.SyncState.Prepared&&e.state===o.SyncState.Prepared&&this.matrixClient!==e.matrixClient&&(this.matrixClient&&await this.onNotReady(),this.matrixClient=e.matrixClient,await this.onReady()):e.action!==a.r.ClientNotViable&&e.action!==a.r.OnLoggedOut||this.matrixClient&&(await this.onNotReady(),this.matrixClient=void 0)}),this.dispatcher=e}async start(){this.dispatcherRef=this.dispatcher.register(this.onAction);const e=null===r.J||void 0===r.J?void 0:r.J.get();e&&(this.matrixClient=e,await this.onReady())}get mxClient(){var e;return null!==(e=this.matrixClient)&&void 0!==e?e:null}useUnitTestClient(e){this.matrixClient=e}destroy(){this.dispatcher.unregister(this.dispatcherRef)}async onReady(){}async onNotReady(){}onDispatcherAction(e){}}},"./src/stores/ToastStore.ts"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n.n(o),r=n("./node_modules/matrix-js-sdk/src/logger.ts");class a extends(i()){constructor(...e){super(...e),(0,s.A)(this,"toasts",[])}static sharedInstance(){return window.mxToastStore||(window.mxToastStore=new a),window.mxToastStore}reset(){this.toasts=[]}addOrReplaceToast(e){const t=this.toasts.findIndex(t=>t.key===e.key);if(-1===t){r.vF.info(`Opening toast with key '${e.key}': title '${e.title}'`);let t=this.toasts.length;for(;t>0&&this.toasts[t-1].priority<e.priority;)--t;this.toasts.splice(t,0,e)}else r.vF.info(`Replacing existing toast with key '${e.key}': title now '${e.title}'`),this.toasts[t]=e;this.emit("update")}dismissToast(e){const t=this.toasts.length;this.toasts=this.toasts.filter(t=>t.key!==e),t!==this.toasts.length&&(r.vF.info(`Removed toast with key '${e}'`),this.emit("update"))}hasToast(e){return this.toasts.some(t=>t.key===e)}getToasts(){return this.toasts}}},"./src/stores/UIStore.ts"(e,t,n){"use strict";n.d(t,{A:()=>a,x:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n.n(o);let r=function(e){return e.Resize="resize",e}({});class a extends(i()){constructor(){super(),(0,s.A)(this,"resizeObserver",void 0),(0,s.A)(this,"uiElementDimensions",new Map),(0,s.A)(this,"trackedUiElements",new Map),(0,s.A)(this,"windowWidth",void 0),(0,s.A)(this,"windowHeight",void 0),(0,s.A)(this,"resizeObserverCallback",e=>{const t=e.find(e=>e.target===document.body);t&&(this.windowWidth=t.contentRect.width,this.windowHeight=t.contentRect.height),e.forEach(e=>{const t=this.trackedUiElements.get(e.target);t&&(this.uiElementDimensions.set(t,e.contentRect),this.emit(t,r.Resize,e))}),this.emit(r.Resize,e)}),this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.resizeObserver=new ResizeObserver(this.resizeObserverCallback),this.resizeObserver.observe(document.body)}static get instance(){return a._instance||(a._instance=new a),a._instance}static destroy(){a._instance&&(a._instance.resizeObserver.disconnect(),a._instance.removeAllListeners(),a._instance=null)}getElementDimensions(e){return this.uiElementDimensions.get(e)}trackElementDimensions(e,t){this.trackedUiElements.set(t,e),this.resizeObserver.observe(t)}stopTrackingElementDimensions(e){let t;this.trackedUiElements.forEach((n,s)=>{n===e&&(t=s)}),t&&(this.resizeObserver.unobserve(t),this.uiElementDimensions.delete(e),this.trackedUiElements.delete(t))}isTrackingElementDimensions(e){return this.uiElementDimensions.has(e)}}(0,s.A)(a,"_instance",null),window.mxUIStore=a.instance},"./src/stores/WidgetEchoStore.ts"(e,t,n){"use strict";n.d(t,{A:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n.n(o);class r extends(i()){constructor(){super(),(0,s.A)(this,"roomWidgetEcho",void 0),this.roomWidgetEcho={}}getEchoedRoomWidgets(e,t){const n=[],s=Object.assign({},this.roomWidgetEcho[e]);for(const e of t){const t=e.getStateKey();s[t]&&0===Object.keys(s[t]).length||n.push(e),delete s[t]}return n}roomHasPendingWidgetsOfType(e,t,n){const s=Object.assign({},this.roomWidgetEcho[e]);for(const e of t){delete s[e.getStateKey()]}return void 0===n?Object.keys(s).length>0:Object.values(s).some(e=>n.matches(e.type))}roomHasPendingWidgets(e,t){return this.roomHasPendingWidgetsOfType(e,t)}setRoomWidgetEcho(e,t,n){void 0===this.roomWidgetEcho[e]&&(this.roomWidgetEcho[e]={}),this.roomWidgetEcho[e][t]=n,this.emit("update",e,t)}removeRoomWidgetEcho(e,t){delete this.roomWidgetEcho[e][t],0===Object.keys(this.roomWidgetEcho[e]).length&&delete this.roomWidgetEcho[e],this.emit("update",e,t)}}let a=null;a||(a=new r);const l=a},"./src/stores/WidgetStore.ts"(e,t,n){"use strict";n.d(t,{Ay:()=>h,Sw:()=>p});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/stores/AsyncStoreWithClient.ts"),l=n("./src/dispatcher/dispatcher.ts"),c=n("./src/stores/WidgetEchoStore.ts"),d=n("./src/stores/ActiveWidgetStore.ts"),u=n("./src/utils/WidgetUtils.ts"),m=n("./src/stores/AsyncStore.ts");function p(e){return"roomId"in e&&"string"==typeof e.roomId}class h extends a.r{constructor(){super(l.A,{}),(0,o.A)(this,"widgetMap",new Map),(0,o.A)(this,"roomMap",new Map),(0,o.A)(this,"onWidgetEchoStoreUpdate",e=>{var t,n;this.initRoom(e),this.loadRoomWidgets(null!==(t=null===(n=this.matrixClient)||void 0===n?void 0:n.getRoom(e))&&void 0!==t?t:null),this.emit(m.H,e)}),(0,o.A)(this,"onRoom",e=>{this.initRoom(e.roomId),this.loadRoomWidgets(e),this.emit(m.H,e.roomId)}),(0,o.A)(this,"onRoomStateEvents",e=>{var t,n;if("im.vector.modular.widgets"!==e.getType())return;const s=e.getRoomId();this.initRoom(s),this.loadRoomWidgets(null!==(t=null===(n=this.matrixClient)||void 0===n?void 0:n.getRoom(s))&&void 0!==t?t:null),this.emit(m.H,s)}),c.A.on("update",this.onWidgetEchoStoreUpdate)}static get instance(){return h.internalInstance}initRoom(e){this.roomMap.has(e)||this.roomMap.set(e,{widgets:[]})}async onReady(){this.matrixClient&&(this.matrixClient.on(i.ClientEvent.Room,this.onRoom),this.matrixClient.on(i.RoomStateEvent.Events,this.onRoomStateEvents),this.matrixClient.getRooms().forEach(e=>{this.loadRoomWidgets(e)}),this.emit(m.H,null))}async onNotReady(){this.matrixClient&&(this.matrixClient.off(i.ClientEvent.Room,this.onRoom),this.matrixClient.off(i.RoomStateEvent.Events,this.onRoomStateEvents)),this.widgetMap=new Map,this.roomMap=new Map,await this.reset({})}async onAction(e){}generateApps(e){return c.A.getEchoedRoomWidgets(e.roomId,u.A.getRoomWidgets(e)).map(e=>u.A.makeAppConfig(e.getStateKey(),e.getContent(),e.getSender(),e.getRoomId(),e.getId()))}loadRoomWidgets(e){if(!e)return;const t=this.roomMap.get(e.roomId)||{};t.widgets=[],Array.from(this.widgetMap.values()).forEach(n=>{n.roomId===e.roomId&&(void 0===n.eventId?t.widgets.push(n):this.widgetMap.delete(u.A.getWidgetUid(n)))});let n=!1;this.generateApps(e).forEach(e=>{const s=this.widgetMap.get(u.A.getWidgetUid(e));s&&r.vF.warn(`Possible widget ID conflict for ${e.id} - wants to store in room ${e.roomId} but is currently stored as ${s.roomId} - letting the want win`),this.widgetMap.set(u.A.getWidgetUid(e),e),t.widgets.push(e),n=!0}),n&&!this.roomMap.has(e.roomId)&&this.roomMap.set(e.roomId,t);const s=d.A.instance.getPersistentWidgetId();s&&d.A.instance.getPersistentRoomId()===e.roomId&&!t.widgets.some(e=>e.id===s)&&(r.vF.log(`Persistent widget ${s} removed from room ${e.roomId}: destroying.`),d.A.instance.destroyPersistentWidget(s,e.roomId)),this.emit(e.roomId)}get(e,t){return this.widgetMap.get(u.A.calcWidgetUid(e,t))}getRoom(e,t=!1){return t&&this.initRoom(e),this.roomMap.get(e)}getApps(e){const t=this.getRoom(e);return(null==t?void 0:t.widgets)||[]}addVirtualWidget(e,t){this.initRoom(t);const n=u.A.makeAppConfig(e.id,e,e.creatorUserId,t,void 0);return this.widgetMap.set(u.A.getWidgetUid(n),n),this.roomMap.get(t).widgets.push(n),this.emit(m.H,t),n}removeVirtualWidget(e,t){this.widgetMap.delete(u.A.calcWidgetUid(e,t));const n=this.roomMap.get(t);n&&(n.widgets=n.widgets.filter(n=>!(n.id===e&&n.roomId===t))),this.emit(m.H,t)}}s=h,(0,o.A)(h,"internalInstance",(()=>{const e=new s;return e.start(),e})()),window.mxWidgetStore=h.instance},"./src/stores/local-echo/EchoChamber.ts"(e,t,n){"use strict";n.d(t,{s:()=>P});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/stores/local-echo/RoomEchoChamber.ts"),i=n("./src/stores/local-echo/EchoTransaction.ts"),r=n("./src/utils/arrays.ts"),a=n("./src/utils/Whenable.ts");let l=function(e){return e[e.NotStarted=0]="NotStarted",e[e.PendingErrors=1]="PendingErrors",e[e.AllSuccessful=2]="AllSuccessful",e}({});class c extends a.b{constructor(...e){super(...e),(0,s.A)(this,"_transactions",[]),(0,s.A)(this,"_state",l.NotStarted),(0,s.A)(this,"checkTransactions",()=>{let e=l.AllSuccessful;for(const t of this.transactions){if(t.status===i.x.Error||t.didPreviouslyFail){e=l.PendingErrors;break}t.status===i.x.Pending&&(e=l.NotStarted)}this._state=e,this.notifyCondition(e)})}get transactions(){return(0,r.PF)(this._transactions)}get state(){return this._state}get firstFailedTime(){const e=this.transactions.find(e=>e.didPreviouslyFail||e.status===i.x.Error);return e?e.startTime:null}disownTransaction(e){const t=this._transactions.indexOf(e);t>=0&&this._transactions.splice(t,1),e.destroy(),this.checkTransactions()}beginTransaction(e,t){const n=new i.M(e,t);return this._transactions.push(n),n.whenAnything(this.checkTransactions),n.when(i.x.Success,()=>n.destroy()),n}destroy(){for(const e of this.transactions)e.destroy();this._transactions=[],super.destroy()}}class d extends c{constructor(e){super(),this.room=e}}var u=n("./src/stores/AsyncStoreWithClient.ts"),m=n("./src/dispatcher/dispatcher.ts"),p=n("./src/stores/NonUrgentToastStore.ts"),h=n("./node_modules/react/index.js"),g=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/offline.js"),v=n("./src/languageHandler.tsx"),f=n("./src/components/views/elements/AccessibleButton.tsx"),_=n("./src/Modal.tsx"),y=n("./src/components/views/dialogs/BaseDialog.tsx"),b=n("./src/DateUtils.ts"),w=n("./src/settings/SettingsStore.ts"),E=n("./src/components/views/avatars/RoomAvatar.tsx"),A=n("./src/components/views/elements/Spinner.tsx"),x=n("./src/stores/AsyncStore.ts"),S=n("./src/MatrixClientPeg.ts");class C extends h.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"onEchosUpdated",()=>{this.forceUpdate()})}componentDidMount(){I.instance.on(x.H,this.onEchosUpdated)}componentWillUnmount(){I.instance.off(x.H,this.onEchosUpdated)}renderTimeline(){return I.instance.contexts.map((e,t)=>{if(!e.firstFailedTime)return null;if(!(e instanceof d))throw new Error("Cannot render unknown context: "+e.constructor.name);const n=h.createElement("div",{className:"mx_ServerOfflineDialog_content_context_timeline_header"},h.createElement(E.A,{size:"24px",room:e.room}),h.createElement("span",null,e.room.name)),s=e.transactions.filter(e=>e.status===i.x.Error||e.didPreviouslyFail).map((e,t)=>{let n=h.createElement(A.A,{size:19});return e.status===i.x.Error&&(n=h.createElement(f.A,{kind:"link",onClick:()=>e.run()},(0,v._t)("action|resend"))),h.createElement("div",{className:"mx_ServerOfflineDialog_content_context_txn",key:`txn-${t}`},h.createElement("span",{className:"mx_ServerOfflineDialog_content_context_txn_desc"},e.auditName),n)});return h.createElement("div",{className:"mx_ServerOfflineDialog_content_context",key:`context-${t}`},h.createElement("div",{className:"mx_ServerOfflineDialog_content_context_timestamp"},(0,b.fU)(e.firstFailedTime,w.A.getValue("showTwelveHourTimestamps"))),h.createElement("div",{className:"mx_ServerOfflineDialog_content_context_timeline"},n,s))})}render(){let e=this.renderTimeline().filter(e=>!!e);0===e.length&&(e=[h.createElement("div",{key:1},(0,v._t)("server_offline|empty_timeline"))]);const t=S.J.safeGet().getDomain();return h.createElement(y.A,{title:(0,v._t)("server_offline|title"),className:"mx_ServerOfflineDialog",contentId:"mx_Dialog_content",onFinished:this.props.onFinished,hasCancel:!0},h.createElement("div",{className:"mx_ServerOfflineDialog_content"},h.createElement("p",null,(0,v._t)("server_offline|description")),h.createElement("ul",null,h.createElement("li",null,(0,v._t)("server_offline|description_1",{serverName:t})),h.createElement("li",null,(0,v._t)("server_offline|description_2")),h.createElement("li",null,(0,v._t)("server_offline|description_3")),h.createElement("li",null,(0,v._t)("server_offline|description_4")),h.createElement("li",null,(0,v._t)("server_offline|description_5")),h.createElement("li",null,(0,v._t)("server_offline|description_6")),h.createElement("li",null,(0,v._t)("server_offline|description_7")),h.createElement("li",null,(0,v._t)("server_offline|description_8"))),h.createElement("hr",null),h.createElement("h2",null,(0,v._t)("server_offline|recent_changes_heading")),e))}}class k extends h.PureComponent{constructor(...e){super(...e),(0,s.A)(this,"openDialog",()=>{_.Ay.createDialog(C,{})})}render(){return h.createElement("div",{className:"mx_NonUrgentEchoFailureToast"},h.createElement(g.A,null),(0,v._t)("error|non_urgent_echo_failure_toast",{},{a:e=>h.createElement(f.A,{kind:"link_inline",onClick:this.openDialog},e)}))}}const R=e=>`room-${e.roomId}`;class I extends u.r{constructor(){super(m.A),(0,s.A)(this,"caches",new Map)}static get instance(){return this._instance||(this._instance=new I,this._instance.start()),this._instance}get contexts(){return Array.from(this.caches.values()).map(e=>e.context)}getOrCreateChamberForRoom(e){if(this.caches.has(R(e)))return this.caches.get(R(e));const t=new d(e);t.whenAnything(()=>this.checkContexts());const n=new o.T(t);return n.setClient(this.matrixClient),this.caches.set(R(e),n),n}async checkContexts(){let e=!1;for(const t of this.caches.values())if(e=t.context.state===l.PendingErrors,e)break;if(e&&!this.state.toastRef){const e=p.A.instance.addToast(k);await this.updateState({toastRef:e})}else!e&&this.state.toastRef&&(p.A.instance.removeToast(this.state.toastRef),await this.updateState({toastRef:null}))}async onReady(){if(this.caches)for(const e of this.caches.values())e.setClient(this.matrixClient)}async onNotReady(){for(const e of this.caches.values())e.setClient(null)}async onAction(e){}}(0,s.A)(I,"_instance",void 0);class P{constructor(){}static forRoom(e){return I.instance.getOrCreateChamberForRoom(e)}}},"./src/stores/local-echo/EchoTransaction.ts"(e,t,n){"use strict";n.d(t,{M:()=>r,x:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/utils/Whenable.ts");let i=function(e){return e[e.Pending=0]="Pending",e[e.Success=1]="Success",e[e.Error=2]="Error",e}({});class r extends o.b{constructor(e,t){super(),(0,s.A)(this,"_status",i.Pending),(0,s.A)(this,"didFail",!1),(0,s.A)(this,"startTime",new Date),this.auditName=e,this.runFn=t}get didPreviouslyFail(){return this.didFail}get status(){return this._status}run(){if(this.status===i.Success)throw new Error("Cannot re-run a successful echo transaction");this.setStatus(i.Pending),this.runFn().then(()=>this.setStatus(i.Success)).catch(()=>this.setStatus(i.Error))}cancel(){this.setStatus(i.Success)}setStatus(e){this._status=e,e===i.Error?this.didFail=!0:e===i.Success&&(this.didFail=!1),this.notifyCondition(e)}}},"./src/stores/local-echo/GenericEchoChamber.ts"(e,t,n){"use strict";n.d(t,{Nj:()=>l,Qj:()=>a,c_:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/events/events.js"),i=n("./src/stores/local-echo/EchoTransaction.ts");async function r(){}const a="property_updated";class l extends o.EventEmitter{constructor(e,t){super(),(0,s.A)(this,"cache",new Map),(0,s.A)(this,"matrixClient",null),this.context=e,this.lookupFn=t}setClient(e){const t=this.matrixClient;this.matrixClient=e,this.onClientChanged(t,e)}getValue(e){return this.cache.has(e)?this.cache.get(e).val:this.lookupFn(e)}cacheVal(e,t,n){this.cache.set(e,{txn:n,val:t}),this.emit(a,e)}decacheKey(e){this.cache.has(e)&&(this.context.disownTransaction(this.cache.get(e).txn),this.cache.delete(e),this.emit(a,e))}markEchoReceived(e){if(this.cache.has(e)){const t=this.cache.get(e).txn;this.context.disownTransaction(t),t.cancel()}this.decacheKey(e)}setValue(e,t,n,s,o){this.cache.has(t)&&this.cache.get(t).txn.cancel();const r=this.context.beginTransaction(e,s);this.cacheVal(t,n,r),r.when(i.x.Pending,()=>this.cacheVal(t,n,r)).when(i.x.Error,()=>o()),r.run()}}},"./src/stores/local-echo/RoomEchoChamber.ts"(e,t,n){"use strict";n.d(t,{T:()=>c,Z:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/stores/local-echo/GenericEchoChamber.ts"),r=n("./src/RoomNotifs.ts"),a=n("./src/languageHandler.tsx");let l=function(e){return e[e.NotificationVolume=0]="NotificationVolume",e}({});class c extends i.Nj{constructor(e){super(e,e=>this.properties.get(e)),(0,s.A)(this,"properties",new Map),(0,s.A)(this,"onAccountData",e=>{if(this.matrixClient&&e.getType()===o.EventType.PushRules){this.properties.get(l.NotificationVolume)!==(0,r.Gg)(this.matrixClient,this.context.room.roomId)&&this.updateNotificationVolume()}})}onClientChanged(e,t){this.properties.clear(),null==e||e.removeListener(o.ClientEvent.AccountData,this.onAccountData),t&&(t.on(o.ClientEvent.AccountData,this.onAccountData),this.updateNotificationVolume())}updateNotificationVolume(){const e=this.matrixClient?(0,r.Gg)(this.matrixClient,this.context.room.roomId):null;e?this.properties.set(l.NotificationVolume,e):this.properties.delete(l.NotificationVolume),this.markEchoReceived(l.NotificationVolume),this.emit(i.Qj,l.NotificationVolume)}get notificationVolume(){return this.getValue(l.NotificationVolume)}set notificationVolume(e){void 0!==e&&this.setValue((0,a._t)("notifications|error_change_title"),l.NotificationVolume,e,async()=>(0,r.wh)(this.context.room.client,this.context.room.roomId,e),i.c_)}}},"./src/stores/notifications/NotificationLevel.ts"(e,t,n){"use strict";n.d(t,{S:()=>o,z:()=>i});var s=n("./src/languageHandler.tsx");let o=function(e){return e[e.Muted=0]="Muted",e[e.None=1]="None",e[e.Activity=2]="Activity",e[e.Notification=3]="Notification",e[e.Highlight=4]="Highlight",e[e.Unsent=5]="Unsent",e}({});function i(e){switch(e){case o.None:return(0,s._t)("notifications|level_none");case o.Activity:return(0,s._t)("notifications|level_activity");case o.Notification:return(0,s._t)("notifications|level_notification");case o.Highlight:return(0,s._t)("notifications|level_highlight");case o.Unsent:return(0,s._t)("notifications|level_unsent");case o.Muted:return(0,s._t)("notifications|level_muted")}}},"./src/stores/notifications/NotificationState.ts"(e,t,n){"use strict";n.d(t,{Br:()=>l,ce:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/stores/notifications/NotificationLevel.ts"),r=n("./src/settings/SettingsStore.ts");let a=function(e){return e.Update="update",e}({});class l extends o.TypedEventEmitter{constructor(){super(),(0,s.A)(this,"_symbol",null),(0,s.A)(this,"_count",0),(0,s.A)(this,"_level",i.S.None),(0,s.A)(this,"_muted",!1),(0,s.A)(this,"_knocked",!1),(0,s.A)(this,"_invited",!1),(0,s.A)(this,"watcherReferences",[]),this.watcherReferences.push(r.A.watchSetting("feature_hidebold",null,()=>{this.emit(a.Update)}))}get symbol(){return this._symbol}get count(){return this._count}get level(){return this._level}get muted(){return this._muted}get knocked(){return this._knocked}get invited(){return this._invited}get isIdle(){return this.level<=i.S.None}get isUnread(){if(this.level>i.S.Activity)return!0;{const e=r.A.getValue("feature_hidebold");return this.level===i.S.Activity&&!e}}get hasUnreadCount(){return this.level>=i.S.Notification&&(!!this.count||!!this.symbol)}get hasMentions(){return this.level>=i.S.Highlight}emitIfUpdated(e){e.isDifferentFrom(this)&&this.emit(a.Update)}snapshot(){return new c(this)}destroy(){this.removeAllListeners(a.Update);for(const e of this.watcherReferences)r.A.unwatchSetting(e);this.watcherReferences=[]}}class c{constructor(e){(0,s.A)(this,"symbol",void 0),(0,s.A)(this,"count",void 0),(0,s.A)(this,"level",void 0),(0,s.A)(this,"muted",void 0),(0,s.A)(this,"knocked",void 0),(0,s.A)(this,"isInvitation",void 0),this.symbol=e.symbol,this.count=e.count,this.level=e.level,this.muted=e.muted,this.knocked=e.knocked,this.isInvitation=e.invited}isDifferentFrom(e){const t={count:this.count,symbol:this.symbol,level:this.level,muted:this.muted,knocked:this.knocked,is:this.isInvitation},n={count:e.count,symbol:e.symbol,level:e.level,muted:e.muted,knocked:e.knocked};return JSON.stringify(t)!==JSON.stringify(n)}}},"./src/stores/notifications/RoomNotificationStateStore.ts"(e,t,n){"use strict";n.d(t,{n:()=>x,N:()=>A});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/stores/AsyncStoreWithClient.ts"),r=n("./src/dispatcher/dispatcher.ts"),a=n("./src/stores/room-list/models.ts"),l=n("./src/stores/notifications/NotificationLevel.ts"),c=n("./src/utils/arrays.ts"),d=n("./src/stores/notifications/NotificationState.ts");class u extends d.Br{constructor(e=!1,t){super(),(0,s.A)(this,"rooms",[]),(0,s.A)(this,"states",{}),(0,s.A)(this,"onRoomNotificationStateUpdate",()=>{this.calculateTotalState()}),this.byTileCount=e,this.getRoomFn=t}get symbol(){return this._level===l.S.Unsent?"!":null}setRooms(e){if(this.byTileCount)return this.rooms=e,void this.calculateTotalState();const t=this.rooms,n=(0,c.ZQ)(t,e);this.rooms=[...e];for(const e of n.removed){const t=this.states[e.roomId];t&&(delete this.states[e.roomId],t.off(d.ce.Update,this.onRoomNotificationStateUpdate))}for(const e of n.added){const t=this.getRoomFn(e);t.on(d.ce.Update,this.onRoomNotificationStateUpdate),this.states[e.roomId]=t}this.calculateTotalState()}getForRoom(e){const t=this.states[e.roomId];if(!t)throw new Error("Unknown room for notification state");return t}destroy(){super.destroy();for(const e of Object.values(this.states))e.off(d.ce.Update,this.onRoomNotificationStateUpdate);this.states={}}calculateTotalState(){const e=this.snapshot();if(this.byTileCount)this._level=l.S.Highlight,this._count=this.rooms.length;else{this._count=0,this._level=l.S.None;for(const e of Object.values(this.states))this._count+=e.count,this._level=Math.max(this.level,e.level)}this.emitIfUpdated(e)}}var m=n("./node_modules/matrix-js-sdk/src/types.ts"),p=n("./src/MatrixClientPeg.ts"),h=n("./src/utils/read-receipts.ts"),g=n("./src/RoomNotifs.ts"),v=n("./src/settings/SettingsStore.ts"),f=n("./src/utils/notifications.ts");class _ extends d.Br{constructor(e,t){super(),(0,s.A)(this,"handleLocalEchoUpdated",()=>{this.updateNotificationState()}),(0,s.A)(this,"handleReadReceipt",(e,t)=>{(0,h.A)(e,p.J.safeGet())&&t.roomId===this.room.roomId&&this.updateNotificationState()}),(0,s.A)(this,"handleMembershipUpdate",()=>{this.updateNotificationState()}),(0,s.A)(this,"handleNotificationCountUpdate",()=>{this.updateNotificationState()}),(0,s.A)(this,"onEventDecrypted",e=>{e.getRoomId()===this.room.roomId&&this.updateNotificationState()}),(0,s.A)(this,"handleRoomEventUpdate",e=>{(null==e?void 0:e.getRoomId())===this.room.roomId&&this.updateNotificationState()}),(0,s.A)(this,"handleAccountDataUpdate",e=>{"m.push_rules"===e.getType()&&this.updateNotificationState()}),(0,s.A)(this,"handleRoomAccountDataUpdate",e=>{[f.uk,f.HG].includes(e.getType())&&this.updateNotificationState()}),this.room=e,this.includeThreads=t;const n=this.room.client;this.room.on(o.RoomEvent.Receipt,this.handleReadReceipt),this.room.on(o.RoomEvent.MyMembership,this.handleMembershipUpdate),this.room.on(o.RoomEvent.LocalEchoUpdated,this.handleLocalEchoUpdated),this.room.on(o.RoomEvent.Timeline,this.handleRoomEventUpdate),this.room.on(o.RoomEvent.Redaction,this.handleRoomEventUpdate),this.room.on(o.RoomEvent.AccountData,this.handleRoomAccountDataUpdate),this.room.on(o.RoomEvent.UnreadNotifications,this.handleNotificationCountUpdate),n.on(o.MatrixEventEvent.Decrypted,this.onEventDecrypted),n.on(o.ClientEvent.AccountData,this.handleAccountDataUpdate),this.updateNotificationState()}destroy(){super.destroy();const e=this.room.client;this.room.removeListener(o.RoomEvent.Receipt,this.handleReadReceipt),this.room.removeListener(o.RoomEvent.MyMembership,this.handleMembershipUpdate),this.room.removeListener(o.RoomEvent.LocalEchoUpdated,this.handleLocalEchoUpdated),this.room.removeListener(o.RoomEvent.Timeline,this.handleRoomEventUpdate),this.room.removeListener(o.RoomEvent.Redaction,this.handleRoomEventUpdate),this.room.removeListener(o.RoomEvent.AccountData,this.handleRoomAccountDataUpdate),e.removeListener(o.MatrixEventEvent.Decrypted,this.onEventDecrypted),e.removeListener(o.ClientEvent.AccountData,this.handleAccountDataUpdate)}get isMention(){return!this.invited&&!this.knocked&&this.level===l.S.Highlight}get isUnsentMessage(){return this.level===l.S.Unsent}get isActivityNotification(){return this.level===l.S.Activity}get hasAnyNotificationOrActivity(){if(this.knocked)return!0;return!v.A.getValue("feature_hidebold")&&this.level===l.S.Activity||this.level>=l.S.Notification}get isNotification(){return this.level===l.S.Notification}updateNotificationState(){const e=this.snapshot(),{level:t,symbol:n,count:s,invited:o}=g.m5(this.room,void 0,this.includeThreads),i=g.Gg(this.room.client,this.room.roomId)===g.dC.Mute,r=v.A.getValue("feature_ask_to_join")&&this.room.getMyMembership()===m.O.Knock;this._level=t,this._symbol=n,this._count=s,this._muted=i,this._knocked=r,this._invited=o,this.emitIfUpdated(e)}}class y extends d.Br{constructor(){super(),(0,s.A)(this,"totalStatesWithUnread",0),this._symbol=null,this._count=0,this._level=l.S.None}get numUnreadStates(){return this.totalStatesWithUnread}add(e,t=!1){e.symbol&&t&&(this._symbol=e.symbol),e.count&&(this._count+=e.count),e.level>this.level&&(this._level=e.level),e.hasUnreadCount&&this.totalStatesWithUnread++}}var b,w=n("./src/stores/room-list/filters/VisibilityProvider.ts"),E=n("./src/PosthogAnalytics.ts");const A=Symbol("update-status-indicator");class x extends i.r{constructor(e=r.A){super(e,{}),(0,s.A)(this,"roomMap",new Map),(0,s.A)(this,"listMap",new Map),(0,s.A)(this,"_globalState",new y),(0,s.A)(this,"onSync",(e,t)=>{this.emitUpdateIfStateChanged(e,e!==t)}),(0,s.A)(this,"emitUpdateIfStateChanged",(e,t)=>{if(!this.matrixClient)return;const n=v.A.getValue("feature_dynamic_room_predecessors"),s=new y,o=this.matrixClient.getVisibleRooms(n);let i=0;for(const e of o)w.W.instance.isRoomVisible(e)&&(s.add(this.getRoomState(e)),e.tags[a.zO.Favourite]&&!e.getType()&&i++);E.Vo.instance.setProperty("numFavouriteRooms",i),(this.globalState.symbol!==s.symbol||this.globalState.count!==s.count||this.globalState.level!==s.level||this.globalState.numUnreadStates!==s.numUnreadStates||t)&&(this._globalState=s,this.emit(A,s,e))}),v.A.watchSetting("feature_dynamic_room_predecessors",null,()=>{this.emitUpdateIfStateChanged(o.SyncState.Syncing,!1)})}static testInstance(e){return new x}get globalState(){return this._globalState}getListState(e){if(this.listMap.has(e))return this.listMap.get(e);const t=e===a.zO.Invite,n=new u(t,e=>this.getRoomState(e));return this.listMap.set(e,n),n}getRoomState(e){return this.roomMap.has(e)||this.roomMap.set(e,new _(e,!1)),this.roomMap.get(e)}static get instance(){return x.internalInstance}async onReady(){var e;null===(e=this.matrixClient)||void 0===e||e.on(o.ClientEvent.Sync,this.onSync)}async onNotReady(){var e;null===(e=this.matrixClient)||void 0===e||e.off(o.ClientEvent.Sync,this.onSync);for(const e of this.roomMap.values())e.destroy()}async onAction(e){}}b=x,(0,s.A)(x,"internalInstance",(()=>{const e=new b;return e.start(),e})())},"./src/stores/right-panel/RightPanelStore.ts"(e,t,n){"use strict";n.d(t,{A:()=>_});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./node_modules/matrix-js-sdk/src/crypto-api/index.ts"),r=n("./src/dispatcher/dispatcher.ts"),a=n("./src/verification.ts"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/stores/right-panel/RightPanelStorePhases.ts"),d=n("./src/settings/SettingLevel.ts"),u=n("./src/stores/AsyncStore.ts"),m=n("./src/stores/ReadyWatchingStore.ts");function p(e){if(!e)return;const t=[...e.history].map(e=>function(e){var t,n,s,o,i;const r=null!==(t=e.state)&&void 0!==t?t:{};return{state:{widgetId:r.widgetId,isInitialEventHighlighted:r.isInitialEventHighlighted,initialEventScrollIntoView:r.initialEventScrollIntoView,threadHeadEventId:null!=r&&null!==(n=r.threadHeadEvent)&&void 0!==n&&n.getId()?r.threadHeadEvent.getId():void 0,memberInfoEventId:null!=r&&null!==(s=r.memberInfoEvent)&&void 0!==s&&s.getId()?r.memberInfoEvent.getId():void 0,initialEventId:null!=r&&null!==(o=r.initialEvent)&&void 0!==o&&o.getId()?r.initialEvent.getId():void 0,memberId:null!=r&&null!==(i=r.member)&&void 0!==i&&i.userId?r.member.userId:void 0},phase:e.phase}}(e));return{isOpen:e.isOpen,history:t}}function h(e,t){if(!e)return e;const n=[...e.history].map(e=>function(e,t){var n;const s=null!==(n=e.state)&&void 0!==n?n:{},o={widgetId:s.widgetId,isInitialEventHighlighted:s.isInitialEventHighlighted,initialEventScrollIntoView:s.initialEventScrollIntoView,threadHeadEvent:null!=s&&s.threadHeadEventId?t.findEventById(s.threadHeadEventId):void 0,memberInfoEvent:null!=s&&s.memberInfoEventId?t.findEventById(s.memberInfoEventId):void 0,initialEvent:null!=s&&s.initialEventId?t.findEventById(s.initialEventId):void 0,member:!(null==s||!s.memberId)&&t.getMember(s.memberId)||void 0};return{state:o,phase:e.phase}}(e,t));return{history:n,isOpen:e.isOpen}}var g=n("./src/dispatcher/actions.ts"),v=n("./src/contexts/SDKContext.ts"),f=n("./src/MatrixClientPeg.ts");class _ extends m.g{constructor(){super(r.A),(0,s.A)(this,"global",void 0),(0,s.A)(this,"byRoom",{}),(0,s.A)(this,"viewedRoomId",null),(0,s.A)(this,"onVerificationRequestUpdate",()=>{var e;if(null===(e=this.currentCard)||void 0===e||!e.state)return;const{member:t}=this.currentCard.state;if(!t)return;const n=(0,a.m)(f.J.safeGet(),t);n&&(this.currentCard.state.verificationRequest=n,this.emitAndUpdateSettings())}),this.reset()}reset(){this.global=void 0,this.byRoom={},this.viewedRoomId=null}async onReady(){var e;this.viewedRoomId=v.M.instance.roomViewStore.getRoomId(),null===(e=this.matrixClient)||void 0===e||e.on(i.cr.VerificationRequestReceived,this.onVerificationRequestUpdate),this.loadCacheFromSettings(),this.emitAndUpdateSettings()}async onNotReady(){var e;null===(e=this.matrixClient)||void 0===e||e.off(i.cr.VerificationRequestReceived,this.onVerificationRequestUpdate)}onDispatcherAction(e){switch(e.action){case g.r.ActiveRoomChanged:{const t=e;this.handleViewedRoomChange(t.oldRoomId,t.newRoomId);break}case g.r.FocusMessageSearch:this.currentCard.phase!==c.n.RoomSummary&&this.setCard({phase:c.n.RoomSummary,state:{focusRoomSearch:!0}}),this.show(null)}}get isOpen(){var e,t,n;return null!==(e=null===(t=this.byRoom[null!==(n=this.viewedRoomId)&&void 0!==n?n:""])||void 0===t?void 0:t.isOpen)&&void 0!==e&&e}isOpenForRoom(e){var t,n;return null!==(t=null===(n=this.byRoom[e])||void 0===n?void 0:n.isOpen)&&void 0!==t&&t}get roomPhaseHistory(){var e,t,n;return null!==(e=null===(t=this.byRoom[null!==(n=this.viewedRoomId)&&void 0!==n?n:""])||void 0===t?void 0:t.history)&&void 0!==e?e:[]}get currentCard(){const e=this.roomPhaseHistory;return e.length>=1?e[e.length-1]:{state:{},phase:null}}currentCardForRoom(e){var t,n;const s=null!==(t=null===(n=this.byRoom[e])||void 0===n?void 0:n.history)&&void 0!==t?t:[];return s.length>0?s[s.length-1]:{state:{},phase:null}}get previousCard(){const e=this.roomPhaseHistory;return(null==e?void 0:e.length)>=2?e[e.length-2]:{state:{},phase:null}}setCard(e,t=!0,n){var s,o,i,r,a,l;const c=null!==(s=null!=n?n:this.viewedRoomId)&&void 0!==s?s:"",d=this.getVerificationRedirect(e),u=null!==(o=null==d?void 0:d.phase)&&void 0!==o?o:e.phase,m=null!==(i=null==d?void 0:d.state)&&void 0!==i?i:0===Object.keys(null!==(r=e.state)&&void 0!==r?r:{}).length?void 0:e.state;if(this.isPhaseValid(u,Boolean(c)))if(u===(null===(a=this.currentCardForRoom(c))||void 0===a?void 0:a.phase)&&m){var p,h;const e=null!==(p=null===(h=this.byRoom[c])||void 0===h?void 0:h.history)&&void 0!==p?p:[];e[e.length-1].state=m,this.emitAndUpdateSettings()}else if(u===(null===(l=this.currentCardForRoom(c))||void 0===l?void 0:l.phase)&&this.byRoom[c])this.show(c),this.emitAndUpdateSettings();else{const e=this.generateHistoryForPhase(u,null!=m?m:{});this.byRoom[c]={history:e,isOpen:!0},this.emitAndUpdateSettings()}}setCards(e,t=!0,n=null){var s;const o=null!==(s=null!=n?n:this.viewedRoomId)&&void 0!==s?s:"",i=e.map(e=>{var t;return{phase:e.phase,state:null!==(t=e.state)&&void 0!==t?t:{}}});this.byRoom[o]={history:i,isOpen:!0},this.show(o),this.emitAndUpdateSettings()}pushCard(e,t=!0,n=null){var s,o,i,r;const a=null!==(s=null!=n?n:this.viewedRoomId)&&void 0!==s?s:"",l=this.getVerificationRedirect(e),c=null!==(o=null==l?void 0:l.phase)&&void 0!==o?o:e.phase,d=null!==(i=null!==(r=null==l?void 0:l.state)&&void 0!==r?r:e.state)&&void 0!==i?i:{};if(!this.isPhaseValid(c,Boolean(a)))return;const u=this.byRoom[a];u?(u.history.push({state:d,phase:c}),u.isOpen=!t||u.isOpen):this.byRoom[a]={history:[{phase:c,state:d}],isOpen:!t},this.show(a),this.emitAndUpdateSettings()}popCard(e=null){var t;const n=null!==(t=null!=e?e:this.viewedRoomId)&&void 0!==t?t:"";if(!this.byRoom[n])return;const s=this.byRoom[n].history.pop();return this.emitAndUpdateSettings(),s}togglePanel(e){var t;const n=null!==(t=null!=e?e:this.viewedRoomId)&&void 0!==t?t:"";this.byRoom[n]&&(this.byRoom[n].isOpen=!this.byRoom[n].isOpen,this.emitAndUpdateSettings())}show(e){var t;this.isOpenForRoom(null!==(t=null!=e?e:this.viewedRoomId)&&void 0!==t?t:"")||this.togglePanel(e)}hide(e){var t;this.isOpenForRoom(null!==(t=null!=e?e:this.viewedRoomId)&&void 0!==t?t:"")&&this.togglePanel(e)}showOrHidePhase(e,t){this.currentCard.phase===e&&!t&&this.isOpen?this.togglePanel(null):(this.setCard({phase:e,state:t}),this.isOpen||this.togglePanel(null))}generateHistoryForPhase(e,t){const n={phase:e,state:t};if(!this.isCardStateValid(n))return[];const s=function(e){switch(e){case c.n.ThreadPanel:case c.n.MemberList:case c.n.PinnedMessages:return[c.n.RoomSummary];case c.n.MemberInfo:case c.n.ThreePidMemberInfo:return[c.n.RoomSummary,c.n.MemberList];default:return[]}}(e).map(e=>({phase:e,state:{}}));return[...s,n]}loadCacheFromSettings(){if(this.viewedRoomId){var e;const r=null===(e=this.mxClient)||void 0===e?void 0:e.getRoom(this.viewedRoomId);var t,n,s,i;if(r)this.global=null!==(t=null!==(n=this.global)&&void 0!==n?n:h(l.A.getValue("RightPanel.phasesGlobal"),r))&&void 0!==t?t:void 0,this.byRoom[this.viewedRoomId]=null!==(s=null!==(i=this.byRoom[this.viewedRoomId])&&void 0!==i?i:h(l.A.getValue("RightPanel.phases",this.viewedRoomId),r))&&void 0!==s?s:void 0;else o.vF.warn("Could not restore the right panel after load because there was no associated room object.")}}emitAndUpdateSettings(){this.filterValidCards(this.global);const e=p(this.global);if(l.A.setValue("RightPanel.phasesGlobal",null,d.p.DEVICE,e),this.viewedRoomId){const e=this.byRoom[this.viewedRoomId];this.filterValidCards(e);const t=p(e);l.A.setValue("RightPanel.phases",this.viewedRoomId,d.p.ROOM_DEVICE,t)}this.emit(u.H,null)}filterValidCards(e){null!=e&&e.history&&(e.history=e.history.filter(e=>this.isCardStateValid(e)),e.history.length||(e.isOpen=!1))}isCardStateValid(e){var t,n,s,i,r,a,l,d;switch(e.phase){case c.n.ThreadView:return null!==(t=e.state)&&void 0!==t&&t.threadHeadEvent||o.vF.warn("removed card from right panel because of missing threadHeadEvent in card state"),!(null===(n=e.state)||void 0===n||!n.threadHeadEvent);case c.n.MemberInfo:case c.n.EncryptionPanel:return null!==(s=e.state)&&void 0!==s&&s.member||o.vF.warn("removed card from right panel because of missing member in card state"),!(null===(i=e.state)||void 0===i||!i.member);case c.n.ThreePidMemberInfo:return null!==(r=e.state)&&void 0!==r&&r.memberInfoEvent||o.vF.warn("removed card from right panel because of missing memberInfoEvent in card state"),!(null===(a=e.state)||void 0===a||!a.memberInfoEvent);case c.n.Widget:return null!==(l=e.state)&&void 0!==l&&l.widgetId||o.vF.warn("removed card from right panel because of missing widgetId in card state"),!(null===(d=e.state)||void 0===d||!d.widgetId)}return!0}getVerificationRedirect(e){if(e.phase===c.n.MemberInfo&&e.state){const{member:t}=e.state,n=t?(0,a.m)(f.J.safeGet(),t):void 0;if(n)return{phase:c.n.EncryptionPanel,state:{verificationRequest:n,member:t}}}return null}isPhaseValid(e,t){return e&&c.n[e]?!!t||(o.vF.warn(`Tried to switch right panel to a room phase: ${e}, but we are currently not viewing a room`),!1):(o.vF.warn(`Tried to switch right panel to unknown phase: ${e}`),!1)}handleViewedRoomChange(e,t){var n,s;if(this.mxClient){if(this.viewedRoomId=t,this.loadCacheFromSettings(),(null===(n=this.currentCard)||void 0===n?void 0:n.phase)!==c.n.EncryptionPanel){var o;const e=this.byRoom[null!==(o=this.viewedRoomId)&&void 0!==o?o:""];null!=e&&e.history&&(e.history=e.history.filter(e=>e.phase!=c.n.MemberInfo&&e.phase!=c.n.ThreePidMemberInfo))}(null===(s=this.currentCard)||void 0===s?void 0:s.phase)===c.n.ThreadView&&this.currentCard.state&&(this.currentCard.state.initialEvent=void 0,this.currentCard.state.isInitialEventHighlighted=void 0,this.currentCard.state.initialEventScrollIntoView=void 0),this.emitAndUpdateSettings()}}static get instance(){return this.internalInstance||(this.internalInstance=new _,this.internalInstance.start()),this.internalInstance}}(0,s.A)(_,"internalInstance",void 0),window.mxRightPanelStore=_.instance},"./src/stores/right-panel/RightPanelStorePhases.ts"(e,t,n){"use strict";n.d(t,{n:()=>o,s:()=>i});var s=n("./src/languageHandler.tsx");let o=function(e){return e.MemberList="MemberList",e.MemberInfo="MemberInfo",e.ThreePidMemberInfo="ThreePidMemberInfo",e.FilePanel="FilePanel",e.NotificationPanel="NotificationPanel",e.EncryptionPanel="EncryptionPanel",e.RoomSummary="RoomSummary",e.Widget="Widget",e.PinnedMessages="PinnedMessages",e.Timeline="Timeline",e.Extensions="Extensions",e.ThreadView="ThreadView",e.ThreadPanel="ThreadPanel",e}({});function i(e){switch(e){case o.ThreadPanel:return(0,s._t)("common|threads");case o.Timeline:return(0,s._t)("chat_card_back_action_label");case o.RoomSummary:return(0,s._t)("room_summary_card_back_action_label");case o.MemberList:return(0,s._t)("member_list_back_action_label");case o.ThreadView:return(0,s._t)("thread_view_back_action_label")}return null}},"./src/stores/room-list-v3/skip-list/sorters/index.ts"(e,t,n){"use strict";n.d(t,{U:()=>s});let s=function(e){return e.Unread="Unread",e.Recency="Recency",e.Alphabetic="Alphabetic",e}({})},"./src/stores/room-list/MessagePreviewStore.ts"(e,t,n){"use strict";n.d(t,{X:()=>R});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/utils.ts"),r=n("./src/stores/AsyncStoreWithClient.ts"),a=n("./src/dispatcher/dispatcher.ts"),l=n("./src/languageHandler.tsx"),c=n("./src/MatrixClientPeg.ts"),d=n("./src/stores/room-list/models.ts");function u(e){const t=c.J.safeGet().getSafeUserId();return"m.room.member"===e.getType()?e.getStateKey()===t:e.getSender()===t}function m(e,t){if(t!==d.zO.DM)return!0;const n=c.J.safeGet().getRoom(e);return!n||2!==n.currentState.getJoinedMemberCount()}function p(e){var t,n,s;return null!==(t=null!==(n=null===(s=e.sender)||void 0===s?void 0:s.name)&&void 0!==n?n:e.getSender())&&void 0!==t?t:""}var h=n("./src/HtmlUtils.tsx"),g=n("./src/utils/Reply.ts");var v=n("./node_modules/matrix-js-sdk/src/extensible_events_v1/InvalidEventError.ts"),f=n("./node_modules/matrix-js-sdk/src/extensible_events_v1/PollStartEvent.ts"),_=n("./src/contexts/MatrixClientContext.tsx");class y{getTextFor(e,t,n){let s=e.getContent();if(e.isRelation("m.replace")&&(s=e.getContent()["m.new_content"]),!s)return null;try{let o=new f.m({type:e.getType(),content:s}).question.text.trim();return o=(0,l.ot)(o),n||u(e)||!m(e.getRoomId(),t)?o:(0,l._t)("event_preview|m.text",{senderName:p(e),message:o})}catch(e){if(e instanceof v._)return null;throw e}}}(0,s.A)(y,"contextType",_.Ay);var b,w=n("./src/stores/AsyncStore.ts"),E=n("./src/shouldHideEvent.ts"),A=n("./src/settings/SettingsStore.ts");const x={"m.room.message":{isState:!1,previewer:new class{getTextFor(e,t,n){var s,i,r;let a=e.getContent();if(e.isRelation(o.RelationType.Replace)&&(a=e.getContent()["m.new_content"]),null===(s=a)||void 0===s||!s.body)return null;let c=a.body.trim();if(!c)return null;const d=null!==(i=a.msgtype)&&void 0!==i?i:o.MsgType.Text,v="org.matrix.custom.html"===a.format&&a.formatted_body;if(v&&(c=a.formatted_body),null!==(r=e.getWireContent()["m.relates_to"])&&void 0!==r&&r["m.in_reply_to"]&&(c=v?((0,g.kH)(c)||"").trim():((0,g.fJ)(c)||"").trim(),!c))return null;if(v){const e=(0,h.hk)(c.replace(/<br\/?>/gi,"\n"));c=(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}if(c=(0,l.ot)(c),d===o.MsgType.Emote)return(0,l._t)("event_preview|m.emote",{senderName:p(e),emote:c});const f=e.getRoomId();return n||u(e)||f&&!m(f,t)?c:(0,l._t)("event_preview|m.text",{senderName:p(e),message:c})}}},"m.call.invite":{isState:!1,previewer:new class{getTextFor(e,t){return m(e.getRoomId(),t)?u(e)?(0,l._t)("event_preview|m.call.invite|you"):(0,l._t)("event_preview|m.call.invite|user",{senderName:p(e)}):u(e)?(0,l._t)("event_preview|m.call.invite|dm_send"):(0,l._t)("event_preview|m.call.invite|dm_receive",{senderName:p(e)})}}},"m.call.answer":{isState:!1,previewer:new class{getTextFor(e,t){return m(e.getRoomId(),t)?u(e)?(0,l._t)("event_preview|m.call.answer|you"):(0,l._t)("event_preview|m.call.answer|user",{senderName:p(e)}):(0,l._t)("event_preview|m.call.answer|dm")}}},"m.call.hangup":{isState:!1,previewer:new class{getTextFor(e,t){return m(e.getRoomId(),t)?u(e)?(0,l._t)("event_preview|m.call.hangup|you"):(0,l._t)("event_preview|m.call.hangup|user",{senderName:p(e)}):(0,l._t)("timeline|m.call.hangup|dm")}}},"m.sticker":{isState:!1,previewer:new class{getTextFor(e,t,n){const s=e.getContent().body;return s?n||u(e)||!m(e.getRoomId(),t)?s:(0,l._t)("event_preview|m.sticker",{senderName:p(e),stickerName:s}):null}}},"m.reaction":{isState:!1,previewer:new class{getTextFor(e,t,n){const s=e.getRoomId();if(!s)return null;const o=e.getRelation();if(!o)return null;const i=o.key;if(!i)return null;const r=c.J.get(),a=null==r?void 0:r.getRoom(s),d=o.event_id?null==a?void 0:a.findEventById(o.event_id):null;if(!d)return null;const m=R.instance.generatePreviewForEvent(d);return u(e)?(0,l._t)("event_preview|m.reaction|you",{reaction:i,message:m}):(0,l._t)("event_preview|m.reaction|user",{sender:p(e),reaction:i,message:m})}}},[o.M_POLL_START.name]:{isState:!1,previewer:new y},[o.M_POLL_START.altName]:{isState:!1,previewer:new y}},S="im.vector.any",C=e=>{var t;if(e.isThreadRoot)return!1;const n=e.getThread();if(!n)return!1;const s=e.getRelation();return!s||s.rel_type!==o.RelationType.Annotation||s.event_id!==(null===(t=n.rootEvent)||void 0===t?void 0:t.getId())},k=(e,t)=>({event:t,text:e,isThreadReply:C(t)});class R extends r.r{static testInstance(){return new R}constructor(){super(a.A,{}),(0,s.A)(this,"previews",new Map),(0,s.A)(this,"onLocalEchoUpdated",async(e,t)=>{this.previews.has(t.roomId)&&await this.generatePreview(t,S)})}static get instance(){return R.internalInstance}static getPreviewChangedEventName(e){return`room_preview_changed:${null==e?void 0:e.roomId}`}async getPreviewForRoom(e,t){var n;if(!e)return null;this.previews.has(e.roomId)||await this.generatePreview(e,t);const s=this.previews.get(e.roomId);return s?s.has(t)?s.get(t):null!==(n=s.get(S))&&void 0!==n?n:null:null}generatePreviewForEvent(e){var t;const n=x[e.getType()];return null!==(t=null==n?void 0:n.previewer.getTextFor(e,void 0,!0))&&void 0!==t?t:""}async generatePreview(e,t){const n=[...e.getLiveTimeline().getEvents(),...e.getPendingEvents()];if(A.A.getValue("feature_new_room_list")||e.getThreads().forEach(e=>{const t=e.lastReply();t&&n.push(t)}),n.sort((e,t)=>e.getTs()-t.getTs()),!n)return;let s=this.previews.get(e.roomId);s||(s=new Map,this.previews.set(e.roomId,s)),s.has(S)||s.set(S,null),t&&!s.has(t)&&s.set(t,null);let o=!1;for(let t=n.length-1;t>=0;t--){var r,a;if(t===n.length-50)break;const d=n[t];await(null===(r=this.matrixClient)||void 0===r?void 0:r.decryptEventIfNeeded(d));if((0,E.A)(d))continue;const u=x[d.getType()];if(!u)continue;if(u.isState&&(0,i.hX)(d.getStateKey()))continue;const m=u.previewer.getTextFor(d);if(!m)continue;o=o||m!==(null===(a=s.get(S))||void 0===a?void 0:a.text),s.set(S,k(m,d));const p=Array.from(s.keys()).filter(e=>e!==S);for(const e of p){const t=e===S?void 0:e,n=u.previewer.getTextFor(d,t);var l,c;if(n===m)o=o||m!==(null===(l=s.get(e))||void 0===l?void 0:l.text),s.delete(e);else o=o||n!==(null===(c=s.get(e))||void 0===c?void 0:c.text),s.set(e,n?k(m,d):null)}return void(o&&(this.previews.set(e.roomId,s),this.emit(w.H,this),this.emit(R.getPreviewChangedEventName(e),e)))}this.previews.set(e.roomId,new Map),this.emit(w.H,this),this.emit(R.getPreviewChangedEventName(e),e)}async onAction(e){if(this.matrixClient&&("MatrixActions.Room.timeline"===e.action||"MatrixActions.Event.decrypted"===e.action)){const t=e.event.getRoomId(),n=e.hasOwnProperty("isLiveEvent")&&!e.isLiveEvent;if(!t||!this.previews.has(t)||n)return;const s=this.matrixClient.getRoom(t);if(!s)return;await this.generatePreview(s,S)}}async onReady(){this.matrixClient&&this.matrixClient.on(o.RoomEvent.LocalEchoUpdated,this.onLocalEchoUpdated)}async onNotReady(){this.matrixClient&&this.matrixClient.off(o.RoomEvent.LocalEchoUpdated,this.onLocalEchoUpdated)}}b=R,(0,s.A)(R,"internalInstance",(()=>{const e=new b;return e.start(),e})())},"./src/stores/room-list/RoomListLayoutStore.ts"(e,t,n){"use strict";n.d(t,{A:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts");class i{constructor(e){(0,s.A)(this,"_n",0),(0,s.A)(this,"_previews",!1),(0,s.A)(this,"_collapsed",!1),this.tagId=e;const t=localStorage.getItem(this.key);if(t){const e=JSON.parse(t);this._n=e.numTiles,this._previews=e.showPreviews,this._collapsed=e.collapsed}}get isCollapsed(){return this._collapsed}set isCollapsed(e){this._collapsed=e,this.save()}get showPreviews(){return this._previews}set showPreviews(e){this._previews=e,this.save()}get tileHeight(){return 44}get key(){return`mx_sublist_layout_${this.tagId}_boxed`}get visibleTiles(){return 0===this._n?this.defaultVisibleTiles:Math.max(this._n,this.minVisibleTiles)}set visibleTiles(e){this._n=e,this.save()}get minVisibleTiles(){return 1}get defaultVisibleTiles(){return 8}tilesWithPadding(e,t){return this.pixelsToTiles(this.tilesToPixelsWithPadding(e,t))}tilesToPixelsWithPadding(e,t){return this.tilesToPixels(e)+t}tilesToPixels(e){return e*this.tileHeight}pixelsToTiles(e){return e/this.tileHeight}reset(){localStorage.removeItem(this.key)}save(){localStorage.setItem(this.key,JSON.stringify(this.serialize()))}serialize(){return{numTiles:this.visibleTiles,showPreviews:this.showPreviews,collapsed:this.isCollapsed}}}var r=n("./src/stores/AsyncStoreWithClient.ts"),a=n("./src/dispatcher/dispatcher.ts");class l extends r.r{constructor(){super(a.A),(0,s.A)(this,"layoutMap",new Map)}static get instance(){return this.internalInstance||(this.internalInstance=new l,this.internalInstance.start()),l.internalInstance}ensureLayoutExists(e){this.layoutMap.has(e)||this.layoutMap.set(e,new i(e))}getLayoutFor(e){return this.layoutMap.has(e)||this.layoutMap.set(e,new i(e)),this.layoutMap.get(e)}async resetLayouts(){o.vF.warn("Resetting layouts for room list");for(const e of this.layoutMap.values())e.reset()}async onNotReady(){this.layoutMap.clear()}async onAction(e){}}(0,s.A)(l,"internalInstance",void 0),window.mxRoomListLayoutStore=l.instance},"./src/stores/room-list/RoomListStore.ts"(e,t,n){"use strict";n.d(t,{Ov:()=>J,lA:()=>$,Ay:()=>q});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/settings/SettingsStore.ts"),a=n("./src/stores/room-list/models.ts"),l=n("./src/stores/room-list/algorithms/models.ts"),c=n("./src/dispatcher/dispatcher.ts"),d=n("./src/utils/read-receipts.ts");const u="filter_changed";var m=n("./node_modules/matrix-js-sdk/src/types.ts"),p=n("./node_modules/matrix-js-sdk/src/utils.ts"),h=n("./node_modules/events/events.js"),g=n("./src/utils/DMRoomMap.ts"),v=n("./src/utils/arrays.ts"),f=n("./src/utils/membership.ts");var _=n("./src/stores/room-list/algorithms/tag-sorting/RecentAlgorithm.ts");const y={[l.G.Recent]:new _.V7,[l.G.Alphabetic]:new class{sortRooms(e,t){const n=new Intl.Collator;return e.sort((e,t)=>n.compare(e.name,t.name))}},[l.G.Manual]:new class{sortRooms(e,t){const n=e=>e.tags[t].order||0;return e.sort((e,t)=>n(e)-n(t))}}};function b(e,t,n){return function(e){if(!y[e])throw new Error(`${e} is not a known algorithm`);return y[e]}(n).sortRooms(e,t)}class w{constructor(e,t){(0,s.A)(this,"cachedOrderedRooms",[]),(0,s.A)(this,"sortingAlgorithm",void 0),this.tagId=e,this.setSortAlgorithm(t)}get orderedRooms(){return this.cachedOrderedRooms}get isMutedToBottom(){return this.sortingAlgorithm===l.G.Recent}setSortAlgorithm(e){if(!e)throw new Error("A sorting algorithm must be defined");this.sortingAlgorithm=e,this.setRooms(this.orderedRooms)}getRoomIndex(e){let t=this.cachedOrderedRooms.indexOf(e);return-1===t&&(i.vF.warn(`Degrading performance to find missing room in "${this.tagId}": ${e.roomId}`),t=this.cachedOrderedRooms.findIndex(t=>t.roomId===e.roomId)),t}}var E=n("./src/stores/notifications/NotificationLevel.ts"),A=n("./src/stores/notifications/RoomNotificationStateStore.ts");const x=[E.S.Unsent,E.S.Highlight,E.S.Notification,E.S.Activity,E.S.None,E.S.Muted];class S extends w{constructor(e,t){super(e,t),(0,s.A)(this,"indices",{})}categorizeRooms(e){const t={[E.S.Unsent]:[],[E.S.Highlight]:[],[E.S.Notification]:[],[E.S.Activity]:[],[E.S.None]:[],[E.S.Muted]:[]};for(const s of e){var n;null===(n=t[this.getRoomCategory(s)])||void 0===n||n.push(s)}return t}getRoomCategory(e){const t=A.n.instance.getRoomState(e);return this.isMutedToBottom&&t.muted?E.S.Muted:t.level}setRooms(e){if(this.sortingAlgorithm===l.G.Manual)this.cachedOrderedRooms=b(e,this.tagId,this.sortingAlgorithm);else{const t=this.categorizeRooms(e);for(const e of Object.keys(t)){const n=e,s=t[n];t[n]=b(s,this.tagId,this.sortingAlgorithm)}const n=[],s={};for(const e of x)s[e]=n.length,n.push(...t[e]);this.indices=s,this.cachedOrderedRooms=n}}getCategoryIndex(e){const t=this.indices[e];if(void 0===t)throw new Error(`Index of category ${e} not found`);return t}handleSplice(e,t){if(t===a.w4.NewRoom){const t=this.getRoomCategory(e);this.alterCategoryPositionBy(t,1,this.indices),this.cachedOrderedRooms.splice(this.getCategoryIndex(t),0,e),this.sortCategory(t)}else{if(t!==a.w4.RoomRemoved)throw new Error(`Unhandled splice: ${t}`);{const t=this.getRoomIndex(e);if(-1===t)return i.vF.warn(`Tried to remove unknown room from ${this.tagId}: ${e.roomId}`),!1;const n=this.getCategoryFromIndices(t,this.indices);this.alterCategoryPositionBy(n,-1,this.indices),this.cachedOrderedRooms.splice(t,1)}}return!0}handleRoomUpdate(e,t){if(t===a.w4.NewRoom||t===a.w4.RoomRemoved)return this.handleSplice(e,t);if(t!==a.w4.Timeline&&t!==a.w4.ReadReceipt&&t!==a.w4.PossibleMuteChange)throw new Error(`Unsupported update cause: ${t}`);if(t===a.w4.PossibleMuteChange&&!this.isMutedToBottom)return!1;if(this.sortingAlgorithm===l.G.Manual)return!1;const n=this.getRoomCategory(e),s=this.getRoomIndex(e);if(-1===s)throw new Error(`Room ${e.roomId} has no index in ${this.tagId}`);const o=this.getCategoryFromIndices(s,this.indices);return o!==n&&(this.moveRoomIndexes(1,o,n,this.indices),this.cachedOrderedRooms.splice(s,1),this.cachedOrderedRooms.splice(this.getCategoryIndex(n),0,e)),this.sortCategory(n),!0}sortCategory(e){const t=e===x[x.length-1]?Number.MAX_SAFE_INTEGER:this.getCategoryIndex(x[x.indexOf(e)+1]),n=this.getCategoryIndex(e),s=t-n,o=b(this.cachedOrderedRooms.splice(n,s),this.tagId,this.sortingAlgorithm);this.cachedOrderedRooms.splice(n,0,...o)}getCategoryFromIndices(e,t){for(let n=0;n<x.length;n++){const s=x[n],o=n===x.length-1,i=t[s],r=o?Number.MAX_SAFE_INTEGER:t[x[n+1]];if(void 0!==i&&void 0!==r&&(e>=i&&e<r))return s}throw new Error("Programming error: somehow you've ended up with an index that isn't in a category")}moveRoomIndexes(e,t,n,s){this.alterCategoryPositionBy(t,-e,s),this.alterCategoryPositionBy(n,+e,s)}alterCategoryPositionBy(e,t,n){const s=x.indexOf(e)+1;if(t>0)for(let o=s;o<x.length;o++){const s=x[o];if(void 0===n[s])throw new Error(`Index of category ${e} not found`);n[s]+=Math.abs(t)}else if(t<0)for(let o=s;o<x.length;o++){const s=x[o];if(void 0===n[s])throw new Error(`Index of category ${e} not found`);n[s]-=Math.abs(t)}for(let e=1;e<x.length;e++){const t=x[e-1],s=n[t],o=x[e],r=n[o];(void 0===s||void 0===r||s>r)&&i.vF.warn(`!! Room list index corruption: ${t} (i:${n[t]}) is greater than ${o} (i:${n[o]}) - category indices are likely desynced from reality`)}}}class C extends w{constructor(e,t){super(e,t),(0,s.A)(this,"cachedCategorizedOrderedRooms",{defaultRooms:[],mutedRooms:[]})}setRooms(e){const{defaultRooms:t,mutedRooms:n}=this.categorizeRooms(e);this.cachedCategorizedOrderedRooms={defaultRooms:b(t,this.tagId,this.sortingAlgorithm),mutedRooms:b(n,this.tagId,this.sortingAlgorithm)},this.buildCachedOrderedRooms()}handleRoomUpdate(e,t){const n=t===a.w4.NewRoom||t===a.w4.RoomRemoved,s=t===a.w4.Timeline||t===a.w4.ReadReceipt||t===a.w4.PossibleMuteChange,o=this.isMutedToBottom&&this.getRoomIsMuted(e);if(!n&&!s)throw new Error(`Unsupported update cause: ${t}`);return t===a.w4.NewRoom?(o?this.cachedCategorizedOrderedRooms.mutedRooms=b([...this.cachedCategorizedOrderedRooms.mutedRooms,e],this.tagId,this.sortingAlgorithm):this.cachedCategorizedOrderedRooms.defaultRooms=b([...this.cachedCategorizedOrderedRooms.defaultRooms,e],this.tagId,this.sortingAlgorithm),this.buildCachedOrderedRooms(),!0):t===a.w4.RoomRemoved?this.removeRoom(e):t===a.w4.PossibleMuteChange?!!this.isMutedToBottom&&this.onPossibleMuteChange(e):(o?this.cachedCategorizedOrderedRooms.mutedRooms=b(this.cachedCategorizedOrderedRooms.mutedRooms,this.tagId,this.sortingAlgorithm):this.cachedCategorizedOrderedRooms.defaultRooms=b(this.cachedCategorizedOrderedRooms.defaultRooms,this.tagId,this.sortingAlgorithm),this.buildCachedOrderedRooms(),!0)}removeRoom(e){const t=this.cachedCategorizedOrderedRooms.defaultRooms.findIndex(t=>t.roomId===e.roomId);if(t>-1)return this.cachedCategorizedOrderedRooms.defaultRooms.splice(t,1),this.buildCachedOrderedRooms(),!0;const n=this.cachedCategorizedOrderedRooms.mutedRooms.findIndex(t=>t.roomId===e.roomId);return n>-1?(this.cachedCategorizedOrderedRooms.mutedRooms.splice(n,1),this.buildCachedOrderedRooms(),!0):(i.vF.warn(`Tried to remove unknown room from ${this.tagId}: ${e.roomId}`),!1)}buildCachedOrderedRooms(){this.cachedOrderedRooms=[...this.cachedCategorizedOrderedRooms.defaultRooms,...this.cachedCategorizedOrderedRooms.mutedRooms]}getRoomIsMuted(e){return A.n.instance.getRoomState(e).muted}categorizeRooms(e){return this.isMutedToBottom?e.reduce((e,t)=>(this.getRoomIsMuted(t)?e.mutedRooms.push(t):e.defaultRooms.push(t),e),{defaultRooms:[],mutedRooms:[]}):{defaultRooms:e,mutedRooms:[]}}onPossibleMuteChange(e){if(this.getRoomIsMuted(e)){const t=this.cachedCategorizedOrderedRooms.defaultRooms.findIndex(t=>t.roomId===e.roomId);if(t>-1)return this.cachedCategorizedOrderedRooms.defaultRooms.splice(t,1),this.cachedCategorizedOrderedRooms.mutedRooms=b([...this.cachedCategorizedOrderedRooms.mutedRooms,e],this.tagId,this.sortingAlgorithm),this.buildCachedOrderedRooms(),!0}else{const t=this.cachedCategorizedOrderedRooms.mutedRooms.findIndex(t=>t.roomId===e.roomId);if(t>-1)return this.cachedCategorizedOrderedRooms.mutedRooms.splice(t,1),this.cachedCategorizedOrderedRooms.defaultRooms=b([...this.cachedCategorizedOrderedRooms.defaultRooms,e],this.tagId,this.sortingAlgorithm),this.buildCachedOrderedRooms(),!0}return!1}}const k={[l.K.Natural]:(e,t)=>new C(e,t),[l.K.Importance]:(e,t)=>new S(e,t)};function R(e,t,n){if(!k[e])throw new Error(`${e} is not a known algorithm`);return k[e](t,n)}var I=n("./src/stores/room-list/filters/VisibilityProvider.ts"),P=n("./src/stores/CallStore.ts");const T="list_updated_event",O=[a.w4.Timeline,a.w4.ReadReceipt];class M extends h.EventEmitter{constructor(...e){super(...e),(0,s.A)(this,"_cachedRooms",{}),(0,s.A)(this,"_cachedStickyRooms",{}),(0,s.A)(this,"_stickyRoom",null),(0,s.A)(this,"_lastStickyRoom",null),(0,s.A)(this,"sortAlgorithms",null),(0,s.A)(this,"listAlgorithms",null),(0,s.A)(this,"algorithms",null),(0,s.A)(this,"rooms",[]),(0,s.A)(this,"roomIdsToTags",{}),(0,s.A)(this,"updatesInhibited",!1),(0,s.A)(this,"onConnectedCalls",()=>{this.recalculateStickyRoom(),this.recalculateActiveCallRooms(),this.updatesInhibited||this.emit(T,!0)})}start(){P.e.instance.on(P.s.ConnectedCalls,this.onConnectedCalls)}stop(){P.e.instance.off(P.s.ConnectedCalls,this.onConnectedCalls)}get stickyRoom(){return this._stickyRoom?this._stickyRoom.room:null}get hasTagSortingMap(){return!!this.sortAlgorithms}set cachedRooms(e){this._cachedRooms=e,this.recalculateStickyRoom(),this.recalculateActiveCallRooms()}get cachedRooms(){return this._cachedRooms}setStickyRoom(e){try{this.updateStickyRoom(e)}catch(e){i.vF.warn("Failed to update sticky room",e)}}getTagSorting(e){return this.sortAlgorithms?this.sortAlgorithms[e]:null}setTagSorting(e,t){if(!e)throw new Error("Tag ID must be defined");if(!t)throw new Error("Algorithm must be defined");if(!this.sortAlgorithms)throw new Error("this.sortAlgorithms must be defined before calling setTagSorting");if(!this.algorithms)throw new Error("this.algorithms must be defined before calling setTagSorting");this.sortAlgorithms[e]=t;const n=this.algorithms[e];n.setSortAlgorithm(t),this._cachedRooms[e]=n.orderedRooms,this.recalculateStickyRoom(e),this.recalculateActiveCallRooms(e)}getListOrdering(e){return this.listAlgorithms?this.listAlgorithms[e]:null}setListOrdering(e,t){if(!e)throw new Error("Tag ID must be defined");if(!t)throw new Error("Algorithm must be defined");if(!this.sortAlgorithms)throw new Error("this.sortAlgorithms must be defined before calling setListOrdering");if(!this.listAlgorithms)throw new Error("this.listAlgorithms must be defined before calling setListOrdering");if(!this.algorithms)throw new Error("this.algorithms must be defined before calling setListOrdering");this.listAlgorithms[e]=t;const n=R(t,e,this.sortAlgorithms[e]);this.algorithms[e]=n,n.setRooms(this._cachedRooms[e]),this._cachedRooms[e]=n.orderedRooms,this.recalculateStickyRoom(e),this.recalculateActiveCallRooms(e)}updateStickyRoom(e){this.doUpdateStickyRoom(e),this._lastStickyRoom=null}doUpdateStickyRoom(e){var t,n;if(null!==(t=e)&&void 0!==t&&t.isSpaceRoom()&&e.getMyMembership()!==m.O.Invite&&(e=null),e&&!I.W.instance.isRoomVisible(e)&&(e=null),this._lastStickyRoom=this._stickyRoom||{},!e){if(this._stickyRoom){const e=this._stickyRoom.room;return this._stickyRoom=null,void this.handleRoomUpdate(e,a.w4.NewRoom)}return}let s=null===(n=this.roomIdsToTags[e.roomId])||void 0===n?void 0:n[0];if(!s)throw new Error(`${e.roomId} does not belong to a tag and cannot be sticky`);let o=(this.getOrderedRoomsWithoutSticky()[s]||[]).indexOf(e);const r=!!this._lastStickyRoom.room&&this._lastStickyRoom.room.roomId===e.roomId;if(this._lastStickyRoom.tag&&s!==this._lastStickyRoom.tag&&r&&o<0&&(i.vF.warn(`Sticky room ${e.roomId} changed tags during sticky room handling`),o=0),o<0)throw new Error(`${e.roomId} does not appear to be known and cannot be sticky`);const l=this._stickyRoom;if(this._stickyRoom=null,this.recalculateStickyRoom(),l&&l.room&&l.room.roomId!==e.roomId&&this.handleRoomUpdate(l.room,a.w4.NewRoom),this.handleRoomUpdate(e,a.w4.RoomRemoved),this._stickyRoom=this.stickyRoomMightBeModified(),this._stickyRoom){if(this._stickyRoom.room!==e){if(this._stickyRoom.room.roomId!==e.roomId)throw new Error("Sticky room changed while the sticky room was changing");i.vF.warn("Sticky room changed references")}i.vF.warn(`Sticky room changed tag & position from ${s} / ${o} to ${this._stickyRoom.tag} / ${this._stickyRoom.position}`),s=this._stickyRoom.tag,o=this._stickyRoom.position}l&&l.tag===s&&l.position<=o&&o++,this._stickyRoom={room:e,position:o,tag:s},this.recalculateStickyRoom(),this.recalculateActiveCallRooms(s),l&&l.tag!==s&&this.recalculateActiveCallRooms(l.tag),this.updatesInhibited||this.emit(T)}stickyRoomMightBeModified(){return this._stickyRoom}initCachedStickyRooms(){this._cachedStickyRooms={};for(const e of Object.keys(this.cachedRooms))this._cachedStickyRooms[e]=[...this.cachedRooms[e]]}recalculateStickyRoom(e=null){if(!this._stickyRoom){if(this._cachedStickyRooms){if(this._cachedStickyRooms=null,this.updatesInhibited)return;this.emit(T)}return}this._cachedStickyRooms&&e||this.initCachedStickyRooms(),e&&this._cachedStickyRooms&&(this._cachedStickyRooms[e]=[...this.cachedRooms[e]]);const t=this._stickyRoom;!t||e&&e!==t.tag||!this._cachedStickyRooms||this._cachedStickyRooms[t.tag].splice(t.position,0,t.room),this.updatesInhibited||this.emit(T)}recalculateActiveCallRooms(e=null){if(e){if(P.e.instance.connectedCalls.size){this._cachedStickyRooms||this.initCachedStickyRooms();const t=this._cachedStickyRooms[e],n=new Set([...P.e.instance.connectedCalls].map(e=>e.roomId)),s=[],o=[];for(const e of t)(n.has(e.roomId)?s:o).push(e);this._cachedStickyRooms[e]=[...s,...o]}}else for(const e of Object.keys(this.cachedRooms)){if(!e)throw new Error("Unexpected recursion: falsy tag");this.recalculateActiveCallRooms(e)}}populateTags(e,t){if(!e)throw new Error("Sorting map cannot be null or empty");if(!t)throw new Error("Ordering ma cannot be null or empty");if((0,v.dc)(Object.keys(e),Object.keys(t)))throw new Error("Both maps must contain the exact same tags");this.sortAlgorithms=e,this.listAlgorithms=t,this.algorithms={};for(const t of Object.keys(e))this.algorithms[t]=R(this.listAlgorithms[t],t,this.sortAlgorithms[t]);return this.setKnownRooms(this.rooms)}getOrderedRooms(){return this._cachedStickyRooms||this.cachedRooms}getOrderedRoomsWithoutSticky(){return this.cachedRooms}setKnownRooms(e){if((0,p.hX)(e))throw new Error("Array of rooms cannot be null");if(!this.sortAlgorithms)throw new Error("Cannot set known rooms without a tag sorting map");this.updatesInhibited||i.vF.warn("Resetting known rooms, initiating regeneration");const t=this._stickyRoom;t&&this.updateStickyRoom(null),this.rooms=e;const n={};for(const e in this.sortAlgorithms)n[e]=[];if(!e.length)return this.generateFreshTags(n),void(this.cachedRooms=n);const s=(0,f.cd)(e);for(const e of s[f._T.Invite])n[a.zO.Invite].push(e);for(const e of s[f._T.Leave])void 0===n[a.zO.Archived]&&(n[a.zO.Archived]=[]),n[a.zO.Archived].push(e);for(const e of s[f._T.Join]){const t=this.getTagsOfJoinedRoom(e);let s=!1;if(t.length>0)for(const o of t)(0,p.hX)(n[o])||(n[o].push(e),s=!0);s||(g.A.shared().getUserIdForRoomId(e.roomId)?n[a.zO.DM].push(e):n[a.zO.Untagged].push(e))}this.generateFreshTags(n),this.cachedRooms=n,this.updateTagsFromCache(),t&&t.room&&(this.updateStickyRoom(t.room),this._stickyRoom&&this._stickyRoom.room&&this._stickyRoom.tag!==t.tag&&(this._stickyRoom.position=0,this.recalculateStickyRoom(this._stickyRoom.tag)))}getTagsForRoom(e){const t=[];if(!(0,f.Cs)(e.getMyMembership()))return[];const n=(0,f.E3)(e);return n===f._T.Invite?t.push(a.zO.Invite):n===f._T.Leave?t.push(a.zO.Archived):t.push(...this.getTagsOfJoinedRoom(e)),t.length||t.push(a.zO.Untagged),t}getTagsOfJoinedRoom(e){let t=Object.keys(e.tags||{});return 0===t.length&&g.A.shared().getUserIdForRoomId(e.roomId)&&(t=[a.zO.DM]),!e.isCallRoom()||e.getJoinRule()!==o.JoinRule.Public&&e.getJoinRule()!==o.JoinRule.Knock||t.push(a.zO.Conference),t}updateTagsFromCache(){const e={},t=Object.keys(this.cachedRooms);for(const n of t){const t=this.cachedRooms[n];for(const s of t)e[s.roomId]||(e[s.roomId]=[]),e[s.roomId].push(n)}this.roomIdsToTags=e}generateFreshTags(e){if(!this.algorithms)throw new Error("Not ready: no algorithms to determine tags from");for(const t of Object.keys(e)){const n=this.algorithms[t];if(!n)throw new Error(`No algorithm for ${t}`);n.setRooms(e[t]),e[t]=n.orderedRooms}}handleRoomUpdate(e,t){var n;if(!this.algorithms)throw new Error("Not ready: no algorithms to determine tags from");const s=(null===(n=this._stickyRoom)||void 0===n||null===(n=n.room)||void 0===n?void 0:n.roomId)===e.roomId;if(t===a.w4.NewRoom){var o;const n=(null===(o=this._lastStickyRoom)||void 0===o?void 0:o.room)===e,r=this.roomIdsToTags[e.roomId],l=r&&r.length>0;l&&!n&&(i.vF.warn(`${e.roomId} is reportedly new but is already known - assuming TagChange instead`),t=a.w4.PossibleTagChange);let c=this.rooms.includes(e);if(l&&!c&&(i.vF.warn(`${e.roomId} might be a reference change - attempting to update reference`),this.rooms=this.rooms.map(t=>t.roomId===e.roomId?e:t),c=this.rooms.includes(e),c||i.vF.warn(`${e.roomId} is still not referenced. It may be sticky.`)),l&&!c&&!s)throw new Error(`${e.roomId} is missing from room array but is known - trying to find duplicate`);l&&s&&this._stickyRoom&&(this._stickyRoom.room=e),t!==a.w4.NewRoom||s||c||this.rooms.push(e)}let r=!1;if(t===a.w4.PossibleTagChange){const n=this.roomIdsToTags[e.roomId]||[],o=this.getTagsForRoom(e),i=(0,v.ZQ)(n,o);if(!(i.removed.length>0||i.added.length>0))return!1;for(const t of i.removed){const n=this.algorithms[t];if(!n)throw new Error(`No algorithm for ${t}`);n.handleRoomUpdate(e,a.w4.RoomRemoved),this._cachedRooms[t]=n.orderedRooms,this.recalculateStickyRoom(t),this.recalculateActiveCallRooms(t)}for(const t of i.added){const n=this.algorithms[t];if(!n)throw new Error(`No algorithm for ${t}`);n.handleRoomUpdate(e,a.w4.NewRoom),this._cachedRooms[t]=n.orderedRooms}this.roomIdsToTags[e.roomId]=o,t=a.w4.Timeline,r=!0,r&&s&&(this._lastStickyRoom?this._stickyRoom={room:e,tag:this.roomIdsToTags[e.roomId][0],position:0}:this.setStickyRoom(e))}if(t!==a.w4.NewRoom&&t!==a.w4.RoomRemoved&&this.stickyRoom===e)return!1;if(!this.roomIdsToTags[e.roomId]){if(O.includes(t))return!1;const n=this.getTagsForRoom(e).filter(e=>!(0,p.hX)(this.cachedRooms[e]));if(!n.length)throw new Error(`Tags cannot be determined for ${e.roomId}`);this.roomIdsToTags[e.roomId]=n}const l=this.roomIdsToTags[e.roomId];if(!l)return i.vF.warn(`No tags known for "${e.name}" (${e.roomId})`),!1;let c=r;for(const n of l){const s=this.algorithms[n];if(!s)throw new Error(`No algorithm for ${n}`);s.handleRoomUpdate(e,t),this._cachedRooms[n]=s.orderedRooms,this.recalculateStickyRoom(n),this.recalculateActiveCallRooms(n),c=!0}return c}}var N=n("./src/stores/room-list/RoomListLayoutStore.ts"),j=n("./src/utils/MarkedExecution.ts"),D=n("./src/stores/AsyncStoreWithClient.ts"),U=n("./src/stores/spaces/SpaceStore.ts"),F=n("./src/stores/spaces/index.ts"),L=n("./src/utils/sets.ts");class B extends h.EventEmitter{constructor(...e){super(...e),(0,s.A)(this,"roomIds",new Set),(0,s.A)(this,"userIds",new Set),(0,s.A)(this,"showPeopleInSpace",!0),(0,s.A)(this,"space",F._b.Home),(0,s.A)(this,"onStoreUpdate",async(e=!1)=>{const t=this.roomIds;this.roomIds=new Set(U.Ay.instance.getSpaceFilteredRoomIds(this.space));const n=this.userIds;this.userIds=new Set(U.Ay.instance.getSpaceFilteredUserIds(this.space));const s=this.showPeopleInSpace;this.showPeopleInSpace=(0,F.ww)(this.space[0])||r.A.getValue("Spaces.showPeopleInSpace",this.space),(e||s!==this.showPeopleInSpace||(0,L.Y)(t,this.roomIds)||(0,L.Y)(n,this.userIds))&&(this.emit(u),setTimeout(()=>{this.emit(u)}))})}isVisible(e){return U.Ay.instance.isRoomInSpace(this.space,e.roomId)}updateSpace(e){U.Ay.instance.off(this.space,this.onStoreUpdate),U.Ay.instance.on(this.space=e,this.onStoreUpdate),this.onStoreUpdate(!0)}destroy(){U.Ay.instance.off(this.space,this.onStoreUpdate)}}class V{constructor(e){(0,s.A)(this,"filter",new B),(0,s.A)(this,"activeSpace",U.Ay.instance.activeSpace),(0,s.A)(this,"allRoomsInHome",U.Ay.instance.allRoomsInHome),(0,s.A)(this,"onSelectedSpaceUpdated",(e,t=this.allRoomsInHome)=>{if(e===this.activeSpace&&t===this.allRoomsInHome)return;const n=V.needsFilter(this.activeSpace,this.allRoomsInHome),s=V.needsFilter(e,t);this.activeSpace=e,this.allRoomsInHome=t,s&&this.updateFilter(),!n&&s?this.store.addFilter(this.filter):n&&!s&&this.store.removeFilter(this.filter)}),(0,s.A)(this,"onHomeBehaviourUpdated",e=>{this.onSelectedSpaceUpdated(this.activeSpace,e)}),(0,s.A)(this,"updateFilter",()=>{this.filter.updateSpace(this.activeSpace)}),this.store=e,V.needsFilter(this.activeSpace,this.allRoomsInHome)&&(this.updateFilter(),e.addFilter(this.filter)),U.Ay.instance.on(F.tw,this.onSelectedSpaceUpdated),U.Ay.instance.on(F.EC,this.onHomeBehaviourUpdated)}static needsFilter(e,t){return!(e===F._b.Home&&t)}}let H=function(e){return e.ListsUpdate="lists_update",e.ListsLoading="lists_loading",e}({});var z=n("./src/stores/AsyncStore.ts"),W=n("./src/contexts/SDKContext.ts"),K=n("./src/stores/room-list/utils/roomMute.ts");const $=H.ListsUpdate,J=H.ListsLoading;class G extends D.r{constructor(e){super(e),(0,s.A)(this,"initialListsGenerated",!1),(0,s.A)(this,"msc3946ProcessDynamicPredecessor",void 0),(0,s.A)(this,"msc3946SettingWatcherRef",void 0),(0,s.A)(this,"algorithm",new M),(0,s.A)(this,"prefilterConditions",[]),(0,s.A)(this,"updateFn",new j.L(()=>{for(const e of Object.keys(this.orderedLists))A.n.instance.getListState(e).setRooms(this.orderedLists[e]);this.emit($)})),(0,s.A)(this,"onAlgorithmListUpdated",e=>{this.updateFn.mark(),e&&this.updateFn.trigger()}),(0,s.A)(this,"onAlgorithmFilterUpdated",()=>{this.updateFn.trigger()}),(0,s.A)(this,"onPrefilterUpdated",async()=>{await this.recalculatePrefiltering(),this.updateFn.trigger()}),this.setMaxListeners(20),this.algorithm.start(),this.msc3946ProcessDynamicPredecessor=r.A.getValue("feature_dynamic_room_predecessors"),this.msc3946SettingWatcherRef=r.A.watchSetting("feature_dynamic_room_predecessors",null,(e,t,n,s,o)=>{this.msc3946ProcessDynamicPredecessor=o,this.regenerateAllLists({trigger:!0})})}componentWillUnmount(){r.A.unwatchSetting(this.msc3946SettingWatcherRef)}setupWatchers(){new V(this)}get orderedLists(){return this.algorithm?this.algorithm.getOrderedRooms():{}}async resetStore(){await this.reset(),this.prefilterConditions=[],this.initialListsGenerated=!1,this.algorithm.off(T,this.onAlgorithmListUpdated),this.algorithm.off(u,this.onAlgorithmListUpdated),this.algorithm.stop(),this.algorithm=new M,this.algorithm.on(T,this.onAlgorithmListUpdated),this.algorithm.on(u,this.onAlgorithmListUpdated),await this.reset(null,!0)}async makeReady(e){e&&this.readyStore.useUnitTestClient(e),W.M.instance.roomViewStore.addListener(z.H,()=>this.handleRVSUpdate({})),this.algorithm.on(T,this.onAlgorithmListUpdated),this.algorithm.on(u,this.onAlgorithmFilterUpdated),this.setupWatchers(),i.vF.log("Regenerating room lists: Startup"),this.updateAlgorithmInstances(),this.regenerateAllLists({trigger:!1}),this.handleRVSUpdate({trigger:!1}),this.updateFn.mark(),this.updateFn.trigger()}handleRVSUpdate({trigger:e=!0}){if(!this.matrixClient)return;const t=W.M.instance.roomViewStore.getRoomId();if(!t&&this.algorithm.stickyRoom)this.algorithm.setStickyRoom(null);else if(t){const e=this.matrixClient.getRoom(t);e?e!==this.algorithm.stickyRoom&&this.algorithm.setStickyRoom(e):(i.vF.warn(`${t} is current in RVS but missing from client - clearing sticky room`),this.algorithm.setStickyRoom(null))}e&&this.updateFn.trigger()}async onReady(){await this.makeReady()}async onNotReady(){await this.resetStore()}async onAction(e){this.matrixClient&&this.initialListsGenerated&&(G.TEST_MODE?await this.onDispatchAsync(e):setTimeout(()=>this.onDispatchAsync(e)))}async onDispatchAsync(e){if(!this.matrixClient||!this.initialListsGenerated)return;if(!this.algorithm)throw new Error("Room list store has no algorithm to process dispatcher update with");if("MatrixActions.Room.receipt"===e.action){if((0,d.A)(e.event,this.matrixClient)){const t=e.room;return t?(await this.handleRoomUpdate(t,a.w4.ReadReceipt),void this.updateFn.trigger()):void i.vF.warn(`Own read receipt was in unknown room ${t.roomId}`)}}else if("MatrixActions.Room.tags"===e.action){const t=e;await this.handleRoomUpdate(t.room,a.w4.PossibleTagChange),this.updateFn.trigger()}else if("MatrixActions.Room.timeline"===e.action){const t=e;if(!t.isLiveEvent||!t.isLiveUnfilteredRoomTimelineEvent||!t.room)return;const n=t.event.getRoomId(),s=this.matrixClient.getRoom(n),r=async e=>{if(t.event.getType()===o.EventType.RoomTombstone&&""===t.event.getStateKey()){var n;if(null===(n=this.matrixClient)||void 0===n?void 0:n.getRoom(t.event.getContent().replacement_room))return}t.event.getType()===o.EventType.RoomJoinRules?await this.handleRoomUpdate(e,a.w4.PossibleTagChange):await this.handleRoomUpdate(e,a.w4.Timeline),this.updateFn.trigger()};if(!s)return i.vF.warn(`Live timeline event ${t.event.getId()} received without associated room`),i.vF.warn("Queuing failed room update for retry as a result."),void window.setTimeout(async()=>{var e;const t=null===(e=this.matrixClient)||void 0===e?void 0:e.getRoom(n);t&&await r(t)},100);await r(s)}else if("MatrixActions.Event.decrypted"===e.action){const t=e,n=t.event.getRoomId();if(!n)return;const s=this.matrixClient.getRoom(n);if(!s)return void i.vF.warn(`Event ${t.event.getId()} was decrypted in an unknown room ${n}`);await this.handleRoomUpdate(s,a.w4.Timeline),this.updateFn.trigger()}else if("MatrixActions.accountData"===e.action&&e.event_type===o.EventType.Direct){const t=e.event.getContent();for(const e of Object.keys(t)){const n=t[e];for(const e of n){const t=this.matrixClient.getRoom(e);t?await this.handleRoomUpdate(t,a.w4.PossibleTagChange):i.vF.warn(`${e} was found in DMs but the room is not in the store`)}}this.updateFn.trigger()}else if("MatrixActions.Room.myMembership"===e.action)return void this.onDispatchMyMembership(e);const t=(0,K.Q)(e);if(t){for(const e of t){const t=e&&this.matrixClient.getRoom(e);t&&await this.handleRoomUpdate(t,a.w4.PossibleMuteChange)}this.updateFn.trigger()}}async onDispatchMyMembership(e){const t=(0,f.Cs)(e.oldMembership),n=(0,f.E3)(e.room,e.membership);if(t!==f._T.Join&&n===f._T.Join){const t=e.room,n=t.client.getRoomUpgradeHistory(t.roomId,!0,this.msc3946ProcessDynamicPredecessor),s=n.slice(0,n.indexOf(t));for(const e of s){this.algorithm.stickyRoom===e&&this.algorithm.setStickyRoom(null),this.algorithm.handleRoomUpdate(e,a.w4.RoomRemoved)}return await this.handleRoomUpdate(e.room,a.w4.NewRoom),void this.updateFn.trigger()}return t!==f._T.Invite&&n===f._T.Invite?(await this.handleRoomUpdate(e.room,a.w4.NewRoom),void this.updateFn.trigger()):t!==n?(await this.handleRoomUpdate(e.room,a.w4.PossibleTagChange),void this.updateFn.trigger()):void 0}async handleRoomUpdate(e,t){if(!I.W.instance.isRoomVisible(e))return;if((t===a.w4.NewRoom||t===a.w4.PossibleTagChange)&&!this.prefilterConditions.every(t=>t.isVisible(e)))return;this.algorithm.handleRoomUpdate(e,t)&&this.updateFn.mark()}async recalculatePrefiltering(){if(!this.algorithm)return;if(!this.algorithm.hasTagSortingMap)return;this.algorithm.updatesInhibited=!0;const e=this.getPlausibleRooms(),t=this.algorithm.stickyRoom,n=t&&e.includes(t);this.algorithm.setStickyRoom(null),this.algorithm.setKnownRooms(e),n&&this.algorithm.setStickyRoom(t),this.updateFn.mark(),this.algorithm.updatesInhibited=!1}setTagSorting(e,t){this.setAndPersistTagSorting(e,t),this.updateFn.mark(),this.updateFn.trigger()}setAndPersistTagSorting(e,t){this.algorithm.setTagSorting(e,t),localStorage.setItem(`mx_tagSort_${e}`,t)}getTagSorting(e){return this.algorithm.getTagSorting(e)}getStoredTagSorting(e){return localStorage.getItem(`mx_tagSort_${e}`)}calculateTagSorting(e){const t=this.getTagSorting(e),n=this.getStoredTagSorting(e);let s=l.G.Recent;return n?s=n:t&&(s=t),s}setListOrder(e,t){this.setAndPersistListOrder(e,t),this.updateFn.trigger()}setAndPersistListOrder(e,t){this.algorithm.setListOrdering(e,t),localStorage.setItem(`mx_listOrder_${e}`,t)}getListOrder(e){return this.algorithm.getListOrdering(e)}getStoredListOrder(e){return localStorage.getItem(`mx_listOrder_${e}`)}calculateListOrder(e){const t=l.K.Natural,n=this.getListOrder(e),s=this.getStoredListOrder(e);let o=t;return s?o=s:n&&(o=n),o}updateAlgorithmInstances(){this.updateFn.mark();for(const e of Object.keys(this.orderedLists)){const t=this.getTagSorting(e),n=this.getListOrder(e),s=this.calculateTagSorting(e),o=this.calculateListOrder(e);s!==t&&this.setAndPersistTagSorting(e,s),o!==n&&this.setAndPersistListOrder(e,o)}}getPlausibleRooms(){if(!this.matrixClient)return[];let e=this.matrixClient.getVisibleRooms(this.msc3946ProcessDynamicPredecessor);return e=e.filter(e=>I.W.instance.isRoomVisible(e)),this.prefilterConditions.length>0&&(e=e.filter(e=>{for(const t of this.prefilterConditions)if(!t.isVisible(e))return!1;return!0})),e}regenerateAllLists({trigger:e=!0}){i.vF.warn("Regenerating all room lists");const t=this.getPlausibleRooms(),n={},s={},o=[...a.HP];for(const e of o)n[e]=this.calculateTagSorting(e),s[e]=this.calculateListOrder(e),N.A.instance.ensureLayoutExists(e);this.algorithm.populateTags(n,s),this.algorithm.setKnownRooms(t),this.initialListsGenerated=!0,e&&this.updateFn.trigger()}async addFilter(e){e.on(u,this.onPrefilterUpdated),this.prefilterConditions.push(e);this.recalculatePrefiltering().then(()=>this.updateFn.trigger())}removeFilter(e){let t=Promise.resolve(),n=!1;const s=this.prefilterConditions.indexOf(e);s>=0&&(e.off(u,this.onPrefilterUpdated),this.prefilterConditions.splice(s,1),t=this.recalculatePrefiltering(),n=!0),n&&t.then(()=>this.updateFn.trigger())}getTagsForRoom(e){const t=this.algorithm.getTagsForRoom(e);return t||[a.zO.Untagged]}getCount(e){return this.orderedLists[e].length||0}async manualRoomUpdate(e,t){await this.handleRoomUpdate(e,t),this.updateFn.trigger()}}(0,s.A)(G,"TEST_MODE",!1);class q{static get instance(){if(!q.internalInstance){const e=new G(c.A);e.start(),q.internalInstance=e}return this.internalInstance}}(0,s.A)(q,"internalInstance",void 0),window.mxRoomListStore=q.instance},"./src/stores/room-list/algorithms/models.ts"(e,t,n){"use strict";n.d(t,{G:()=>s,K:()=>o});let s=function(e){return e.Manual="MANUAL",e.Alphabetic="ALPHABETIC",e.Recent="RECENT",e}({}),o=function(e){return e.Importance="IMPORTANCE",e.Natural="NATURAL",e}({})},"./src/stores/room-list/algorithms/tag-sorting/RecentAlgorithm.ts"(e,t,n){"use strict";n.d(t,{V7:()=>d,pP:()=>l});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/MatrixClientPeg.ts"),i=n("./src/Unread.ts"),r=n("./src/utils/membership.ts");function a(e){const t=e.getType(),n=e.getContent(),o=e.getPrevContent();return t===s.EventType.RoomMember&&o.membership!==n.membership||(t!==s.EventType.RoomMember||o.displayname===n.displayname)&&(t!==s.EventType.RoomMember||o.avatar_url===n.avatar_url)}const l=e=>{let t="";o.J.get()&&(t=o.J.get().getSafeUserId());const n={};return e.sort((e,s)=>{var o,i;const r=null!==(o=n[e.roomId])&&void 0!==o?o:c(e,t),a=null!==(i=n[s.roomId])&&void 0!==i?i:c(s,t);return n[e.roomId]=r,n[s.roomId]=a,a-r})},c=(e,t)=>{const n=((n,o)=>{if(null==e||!e.timeline)return Number.MAX_SAFE_INTEGER;const l=e.getBumpStamp();if(l)return l;if((0,r.Cs)(e.getMyMembership())!==r._T.Join){const n=e.currentState.getStateEvents(s.EventType.RoomMember,t);if(n&&!Array.isArray(n))return n.getTs()}for(let n=e.timeline.length-1;n>=0;--n){const s=e.timeline[n];if(s.getTs()&&(s.getSender()===t&&a(s)||i.aA(e.client,s)))return s.getTs()}return null!==(n=null===(o=e.timeline[0])||void 0===o?void 0:o.getTs())&&void 0!==n?n:Number.MAX_SAFE_INTEGER})(),o=e.getThreads().map(e=>{var t,n;const s=null!==(t=e.replyToEvent)&&void 0!==t?t:e.rootEvent;return null!==(n=null==s?void 0:s.getTs())&&void 0!==n?n:0});return Math.max(n,...o)};class d{sortRooms(e,t){return l(e)}getLastTs(e,t){return c(e,t)}}},"./src/stores/room-list/filters/VisibilityProvider.ts"(e,t,n){"use strict";n.d(t,{W:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/customisations/RoomList.ts"),i=n("./src/utils/localRoom/isLocalRoom.ts");class r{constructor(){}static get instance(){return r.internalInstance||(r.internalInstance=new r),r.internalInstance}isRoomVisible(e){if(!e)return!1;if(e.isSpaceRoom())return!1;if((0,i.F)(e))return!1;const t=o.B.isRoomVisible;return!t||t(e)}}(0,s.A)(r,"internalInstance",void 0)},"./src/stores/room-list/models.ts"(e,t,n){"use strict";n.d(t,{HP:()=>o,w4:()=>i,zO:()=>s});let s=function(e){return e.Invite="im.vector.fake.invite",e.Untagged="im.vector.fake.recent",e.Archived="im.vector.fake.archived",e.LowPriority="m.lowpriority",e.Favourite="m.favourite",e.DM="im.vector.fake.direct",e.Conference="im.vector.fake.conferences",e.ServerNotice="m.server_notice",e.Suggested="im.vector.fake.suggested",e}({});const o=[s.Invite,s.Favourite,s.DM,s.Conference,s.Untagged,s.LowPriority,s.ServerNotice,s.Suggested,s.Archived];let i=function(e){return e.Timeline="TIMELINE",e.PossibleTagChange="POSSIBLE_TAG_CHANGE",e.PossibleMuteChange="POSSIBLE_MUTE_CHANGE",e.ReadReceipt="READ_RECEIPT",e.NewRoom="NEW_ROOM",e.RoomRemoved="ROOM_REMOVED",e}({})},"./src/stores/room-list/utils/roomMute.ts"(e,t,n){"use strict";n.d(t,{Q:()=>r});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/RoomNotifs.ts"),i=n("./src/utils/arrays.ts");const r=e=>{var t,n,r;if("MatrixActions.accountData"!==e.action||(null===(t=e.event)||void 0===t?void 0:t.getType())!==s.EventType.PushRules)return;const a=e.event,l=e.previousEvent;if(!a||!l)return;const c=null===(n=a.getContent())||void 0===n||null===(n=n.global)||void 0===n||null===(n=n.override)||void 0===n?void 0:n.filter(o.Db),d=null==l||null===(r=l.getContent())||void 0===r||null===(r=r.global)||void 0===r||null===(r=r.override)||void 0===r?void 0:r.filter(o.Db),{added:u,removed:m}=(0,i.ZQ)((null==d?void 0:d.map(e=>e.rule_id))||[],(null==c?void 0:c.map(e=>e.rule_id))||[]);return[...u,...m]}},"./src/stores/spaces/SpaceStore.ts"(e,t,n){"use strict";n.d(t,{Ay:()=>K,tK:()=>z});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/lodash/sortBy.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/types.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./src/stores/AsyncStoreWithClient.ts"),c=n("./src/dispatcher/dispatcher.ts"),d=n("./src/stores/room-list/RoomListStore.ts"),u=n("./src/settings/SettingsStore.ts"),m=n("./src/utils/DMRoomMap.ts"),p=n("./node_modules/lodash/throttle.js"),h=n("./src/stores/notifications/NotificationLevel.ts"),g=n("./src/utils/arrays.ts"),v=n("./src/stores/notifications/NotificationState.ts"),f=n("./src/stores/room-list/models.ts"),_=n("./src/stores/notifications/RoomNotificationStateStore.ts");class y extends v.Br{constructor(){super(),(0,s.A)(this,"rooms",[]),(0,s.A)(this,"states",{}),(0,s.A)(this,"onRoomNotificationStateUpdate",()=>{this.calculateTotalState()}),(0,s.A)(this,"calculateTotalState",(0,p.A)(()=>{const e=this.snapshot();this._count=0,this._level=h.S.None;for(const[e,t]of Object.entries(this.states)){const n=this.rooms.find(t=>t.roomId===e);(n?d.Ay.instance.getTagsForRoom(n):[]).includes(f.zO.LowPriority)&&t.level===h.S.Activity||(this._count+=t.count,this._level=Math.max(this.level,t.level))}this.emitIfUpdated(e)},100,{leading:!1,trailing:!0}))}get symbol(){return this._level===h.S.Unsent?"!":null}setRooms(e){const t=this.rooms,n=(0,g.ZQ)(t,e);this.rooms=e;for(const e of n.removed){const t=this.states[e.roomId];t&&(delete this.states[e.roomId],t.off(v.ce.Update,this.onRoomNotificationStateUpdate))}for(const e of n.added){const t=_.n.instance.getRoomState(e);t.on(v.ce.Update,this.onRoomNotificationStateUpdate),this.states[e.roomId]=t}this.calculateTotalState()}getFirstRoomWithNotifications(){var e;return null===(e=Object.values(this.states).find(e=>e.level>=this.level))||void 0===e?void 0:e.room.roomId}destroy(){super.destroy();for(const e of Object.values(this.states))e.off(v.ce.Update,this.onRoomNotificationStateUpdate);this.states={}}}var b=n("./src/utils/maps.ts"),w=n("./src/utils/sets.ts"),E=n("./src/dispatcher/actions.ts"),A=n("./node_modules/matrix-js-sdk/src/utils.ts");function x(e,t,n,s,o=A.Mf){const i=Math.min(Math.max(e.length,t.length),s),r=(0,A.tf)(e,i,o),a=(0,A.tf)(t,i,o),l=(0,A._4)(r,o),c=(0,A._4)(a,o);if(c-l-BigInt(1)<n)return i<s?x((0,A.tf)(r,i+1,o),(0,A.tf)(a,i+1,o),n,i+1,o):[];const d=(c-l)/BigInt(n+1),u=BigInt(l+d);return Array(n).fill(void 0).map((e,t)=>(0,A.c7)(u+BigInt(t)*d,o))}const S=(e,t,n,s=50)=>{var o,i,r,a,l,c;if(t<0||n<0||t>e.length||n>e.length||t===n)return[];const d=e.map((e,t)=>({index:t,order:e})),u=(0,g.cZ)(d,t,n),m=void 0===(null===(o=u[n-1])||void 0===o?void 0:o.order);let p=n,h=n,v=!0;const f=void 0!==(null===(i=u[n+1])||void 0===i?void 0:i.order)?(0,A._4)(u[n+1].order):BigInt(Number.MAX_VALUE);for(let e=n-1,t=1;e>=0;e--,t++){var _;if(void 0!==(null===(_=u[e])||void 0===_?void 0:_.order)&&f-(0,A._4)(u[e].order)>t)break;p=e}const y=void 0===u[0].order?void 0:(0,A._4)(u[0].order),b=BigInt(n);0===p&&void 0!==y&&f-y<=b&&y<=b&&(v=!1);const w=!m;let E=w;if(w){var S,C;const e=void 0!==(null===(S=u[n-1])||void 0===S?void 0:S.order)?(0,A._4)(u[n-1].order):BigInt(Number.MIN_VALUE);for(let t=n+1,s=1;t<u.length;t++,s++){var k;if(void 0===(null===(k=u[t])||void 0===k?void 0:k.order)||(0,A._4)(u[t].order)-e>s)break;h=t}h===u.length-1&&(null!==(C=u[h])&&void 0!==C&&C.order?(0,A._4)(u[h].order):BigInt(Number.MAX_VALUE))-e<=h-n&&(E=!1)}const R=v?n-p:Number.MAX_SAFE_INTEGER,I=E?h-n:Number.MAX_SAFE_INTEGER;m||R<I?h=n:p=n;const P=null!==(r=null===(a=u[p-1])||void 0===a?void 0:a.order)&&void 0!==r?r:"";return x(P,null!==(l=null===(c=u[h+1])||void 0===c?void 0:c.order)&&void 0!==l?l:A.Mf.charAt(A.Mf.length-1).repeat(P.length||1),1+h-p,s).map((e,t)=>({index:u[p+t].index,order:e}))};var C=n("./src/components/views/rooms/LegacyRoomList.tsx"),k=n("./src/stores/spaces/index.ts"),R=n("./src/RoomAliasCache.ts"),I=n("./src/utils/membership.ts");const P=(e,t,n=new Set)=>{n.add(t);const s=e.get(t);return null==s||s.forEach(t=>{n.has(t)||P(e,t,n)}),n},T=(e,t,n)=>{const s=P(t,n),o=new Set;return s.forEach(t=>{const n=e.get(t);null==n||n.forEach(o.add,o)}),o},O=e=>(t,n,s,o=!0)=>{if(o&&e.has(s))return e.get(s);const i=T(t,n,s);return e.set(s,i),i};var M=n("./src/PosthogAnalytics.ts"),N=n("./src/contexts/SDKContext.ts"),j=n("./src/modules/Api.ts");function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function U(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?D(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const F="mx_active_space",L=[k._b.Home,k._b.Favourites,k._b.People,k._b.Orphans,k._b.VideoRooms],B=e=>`mx_space_context_${e}`,V=e=>e.reduce((e,t)=>(e[t.isSpaceRoom()?0:1].push(t),e),[[],[]]),H=e=>{if("string"==typeof e&&e.length<=50&&Array.from(e).every(e=>{const t=e.charCodeAt(0);return t>=32&&t<=126}))return e},z=(e,t,n)=>{var s;return[null!==(s=H(e))&&void 0!==s?s:NaN,t,n]};class W extends l.r{constructor(){super(c.A,{}),(0,s.A)(this,"rootSpaces",[]),(0,s.A)(this,"parentMap",new b.h),(0,s.A)(this,"notificationStateMap",new Map),(0,s.A)(this,"roomIdsBySpace",new Map),(0,s.A)(this,"childSpacesBySpace",new Map),(0,s.A)(this,"userIdsBySpace",new Map),(0,s.A)(this,"_aggregatedSpaceCache",{roomIdsBySpace:new Map,userIdsBySpace:new Map}),(0,s.A)(this,"_activeSpace",k._b.Home),(0,s.A)(this,"_suggestedRooms",[]),(0,s.A)(this,"_invitedSpaces",new Set),(0,s.A)(this,"spaceOrderLocalEchoMap",new Map),(0,s.A)(this,"_allRoomsInHome",!1),(0,s.A)(this,"_enabledMetaSpaces",[]),(0,s.A)(this,"_msc3946ProcessDynamicPredecessor",u.A.getValue("feature_dynamic_room_predecessors")),(0,s.A)(this,"_storeReadyDeferred",Promise.withResolvers()),(0,s.A)(this,"fetchSuggestedRooms",async(e,t=20)=>{try{const{rooms:n}=await this.matrixClient.getRoomHierarchy(e.roomId,t,1,!0),s=new b.h;return n.forEach(e=>{e.children_state.forEach(e=>{var t;e.type===i.EventType.SpaceChild&&null!==(t=e.content.via)&&void 0!==t&&t.length&&e.content.via.forEach(t=>{s.getOrCreate(e.state_key,new Set).add(t)})})}),n.filter(e=>{var t;return e.room_type!==i.RoomType.Space&&(null===(t=this.matrixClient)||void 0===t||null===(t=t.getRoom(e.room_id))||void 0===t?void 0:t.getMyMembership())!==r.O.Join}).map(e=>U(U({},e),{},{viaServers:Array.from(s.get(e.room_id)||[])}))}catch(e){a.vF.error(e)}return[]}),(0,s.A)(this,"getSpaceFilteredRoomIds",(e,t=!0,n=!0)=>e===k._b.Home&&this.allRoomsInHome?new Set(this.matrixClient.getVisibleRooms(this._msc3946ProcessDynamicPredecessor).map(e=>e.roomId)):!t||(0,k.ww)(e)?this.roomIdsBySpace.get(e)||new Set:this.getAggregatedRoomIdsBySpace(this.roomIdsBySpace,this.childSpacesBySpace,e,n)),(0,s.A)(this,"getSpaceFilteredUserIds",(e,t=!0,n=!0)=>{if(!(e===k._b.Home&&this.allRoomsInHome||(0,k.ww)(e)))return!t||(0,k.ww)(e)?this.userIdsBySpace.get(e)||new Set:this.getAggregatedUserIdsBySpace(this.userIdsBySpace,this.childSpacesBySpace,e,n)}),(0,s.A)(this,"getAggregatedRoomIdsBySpace",O(this._aggregatedSpaceCache.roomIdsBySpace)),(0,s.A)(this,"getAggregatedUserIdsBySpace",O(this._aggregatedSpaceCache.userIdsBySpace)),(0,s.A)(this,"markTreeChildren",(e,t)=>{const n=[e];for(;n.length;){const e=n.pop();t.delete(e),this.getChildSpaces(e.roomId).forEach(e=>{t.has(e)&&n.push(e)})}}),(0,s.A)(this,"findRootSpaces",e=>{const t=new Set(e);e.forEach(e=>{this.getChildSpaces(e.roomId).forEach(e=>{t.delete(e)})});const n=Array.from(t),s=new Set((0,o.A)(e,e=>e.roomId));return n.forEach(e=>{this.markTreeChildren(e,s)}),Array.from(s).forEach(e=>{s.has(e)&&(n.push(e),this.markTreeChildren(e,s))}),n}),(0,s.A)(this,"rebuildSpaceHierarchy",()=>{if(!this.matrixClient)return;const e=this.matrixClient.getVisibleRooms(this._msc3946ProcessDynamicPredecessor).filter(e=>e.isSpaceRoom()),[t,n]=e.reduce(([e,t],n)=>{switch((0,I.Cs)(n.getMyMembership())){case I._T.Join:e.push(n);break;case I._T.Invite:t.push(n)}return[e,t]},[[],[]]),s=this.findRootSpaces(t),o=this.rootSpaces;this.rootSpaces=this.sortRootSpaces(s),this.onRoomsUpdate(),(0,g.Oj)(o,this.rootSpaces)&&this.emit(k.bZ,this.spacePanelSpaces,this.enabledMetaSpaces);const i=this._invitedSpaces;this._invitedSpaces=new Set(this.sortRootSpaces(n)),(0,w.Y)(i,this._invitedSpaces)&&this.emit(k.kQ,this.invitedSpaces)}),(0,s.A)(this,"rebuildParentMap",()=>{if(!this.matrixClient)return;const e=this.matrixClient.getVisibleRooms(this._msc3946ProcessDynamicPredecessor).filter(e=>e.isSpaceRoom()&&e.getMyMembership()===r.O.Join);this.parentMap=new b.h,e.forEach(e=>{this.getChildren(e.roomId).forEach(t=>{this.parentMap.getOrCreate(t.roomId,new Set).add(e.roomId)})}),M.Vo.instance.setProperty("numSpaces",e.length)}),(0,s.A)(this,"rebuildHomeSpace",()=>{if(this.allRoomsInHome)this.roomIdsBySpace.delete(k._b.Home);else{const e=new Set(this.matrixClient.getVisibleRooms(this._msc3946ProcessDynamicPredecessor).filter(this.showInHomeSpace).map(e=>e.roomId));this.roomIdsBySpace.set(k._b.Home,e)}this.activeSpace===k._b.Home&&this.switchSpaceIfNeeded()}),(0,s.A)(this,"rebuildMetaSpaces",()=>{if(!this.matrixClient)return;const e=new Set(this.enabledMetaSpaces),t=this.matrixClient.getVisibleRooms(this._msc3946ProcessDynamicPredecessor);if(e.has(k._b.Home)?this.rebuildHomeSpace():this.roomIdsBySpace.delete(k._b.Home),e.has(k._b.Favourites)){const e=t.filter(e=>e.tags[f.zO.Favourite]);this.roomIdsBySpace.set(k._b.Favourites,new Set(e.map(e=>e.roomId)))}else this.roomIdsBySpace.delete(k._b.Favourites);if(e.has(k._b.Orphans)||e.has(k._b.Home)){const e=t.filter(e=>{var t;return!(null!==(t=this.parentMap.get(e.roomId))&&void 0!==t&&t.size||m.A.shared().getUserIdForRoomId(e.roomId))});this.roomIdsBySpace.set(k._b.Orphans,new Set(e.map(e=>e.roomId)))}(0,k.ww)(this.activeSpace)&&this.switchSpaceIfNeeded()}),(0,s.A)(this,"updateNotificationStates",e=>{if(!this.matrixClient)return;const t=new Set(this.enabledMetaSpaces),n=this.matrixClient.getVisibleRooms(this._msc3946ProcessDynamicPredecessor);let s;t.has(k._b.People)?s=k._b.People:t.has(k._b.Home)&&(s=k._b.Home),e||(e=[...this.roomIdsBySpace.keys()],s===k._b.People&&e.push(k._b.People),t.has(k._b.Home)&&!this.allRoomsInHome&&e.push(k._b.Home)),e.forEach(e=>{if(this.allRoomsInHome&&e===k._b.Home)return;const t=this.getSpaceFilteredRoomIds(e,!0);this.getNotificationState(e).setRooms(n.filter(n=>e===k._b.People?this.isRoomInSpace(k._b.People,n.roomId):!(n.isSpaceRoom()||!t.has(n.roomId))&&(!s||!m.A.shared().getUserIdForRoomId(n.roomId)||e===s)))}),s!==k._b.People&&this.notificationStateMap.delete(k._b.People)}),(0,s.A)(this,"showInHomeSpace",e=>{var t;return!!this.allRoomsInHome||!e.isSpaceRoom()&&!(null!==(t=this.parentMap.get(e.roomId))&&void 0!==t&&t.size&&!m.A.shared().getUserIdForRoomId(e.roomId)&&e.getMyMembership()!==r.O.Invite)}),(0,s.A)(this,"onMemberUpdate",(e,t)=>{const n=W.isInSpace(e.getMember(t));var s,o;n?null===(s=this.userIdsBySpace.get(e.roomId))||void 0===s||s.add(t):null===(o=this.userIdsBySpace.get(e.roomId))||void 0===o||o.delete(t);this._aggregatedSpaceCache.userIdsBySpace.clear();const i=this.getKnownParents(e.roomId,!0);this.emit(e.roomId),i.forEach(e=>this.emit(e)),n||this.switchSpaceIfNeeded()}),(0,s.A)(this,"onRoomsUpdate",()=>{if(!this.matrixClient)return;const e=this.matrixClient.getVisibleRooms(this._msc3946ProcessDynamicPredecessor),t=this.roomIdsBySpace,n=this.userIdsBySpace,s=this.childSpacesBySpace;this.roomIdsBySpace=new Map,this.userIdsBySpace=new Map,this.childSpacesBySpace=new Map,this.rebuildParentMap(),this.rebuildMetaSpaces();const o=new b.h;e.forEach(e=>{[r.O.Join,r.O.Invite].includes(e.getMyMembership())&&this.getParents(e.roomId).forEach(t=>{o.getOrCreate(t.roomId,new Set).add(e.roomId)})}),this.rootSpaces.forEach(e=>{const t=(e,n)=>{var s,i;if(n.has(e))return;if(this.roomIdsBySpace.has(e)&&this.userIdsBySpace.has(e))return[this.roomIdsBySpace.get(e),this.userIdsBySpace.get(e)];const[a,l]=V(this.getChildren(e));this.childSpacesBySpace.set(e,new Set(a.map(e=>e.roomId)));const c=new Set(l.map(e=>e.roomId)),d=null===(s=this.matrixClient)||void 0===s?void 0:s.getRoom(e),u=new Set(null==d?void 0:d.getMembers().filter(e=>e.membership===r.O.Join||e.membership===r.O.Invite).map(e=>e.userId)),m=new Set(n).add(e);a.forEach(e=>{t(e.roomId,m)}),null===(i=o.get(e))||void 0===i||i.forEach(e=>{c.add(e)});const p=new Set(Array.from(c).flatMap(e=>this.matrixClient.getRoomUpgradeHistory(e,!0,this._msc3946ProcessDynamicPredecessor).map(e=>e.roomId)));return this.roomIdsBySpace.set(e,p),this.userIdsBySpace.set(e,u),[p,u]};t(e.roomId,new Set)});const i=(0,b.C)(t,this.roomIdsBySpace),a=(0,b.C)(n,this.userIdsBySpace),l=(0,b.C)(s,this.childSpacesBySpace),c=i.changed.filter(e=>(0,w.Y)(t.get(e),this.roomIdsBySpace.get(e))),d=a.changed.filter(e=>(0,w.Y)(n.get(e),this.userIdsBySpace.get(e))),u=l.changed.filter(e=>(0,w.Y)(s.get(e),this.childSpacesBySpace.get(e))),m=new Set([...i.added,...a.added,...l.added,...i.removed,...a.removed,...l.removed,...c,...d,...u]);Array.from(m).flatMap(e=>[...this.getKnownParents(e,!0)]).forEach(e=>m.add(e)),this._aggregatedSpaceCache.roomIdsBySpace.clear(),this._aggregatedSpaceCache.userIdsBySpace.clear(),m.forEach(e=>{this.emit(e)}),m.has(this.activeSpace)&&this.switchSpaceIfNeeded();const p=[...m];this.enabledMetaSpaces.includes(k._b.People)&&p.push(k._b.People),this.updateNotificationStates(p)}),(0,s.A)(this,"switchSpaceIfNeeded",(e=N.M.instance.roomViewStore.getRoomId())=>{var t;e&&(this.isRoomInSpace(this.activeSpace,e)||null!==(t=this.matrixClient)&&void 0!==t&&null!==(t=t.getRoom(e))&&void 0!==t&&t.isSpaceRoom()||this.switchToRelatedSpace(e))}),(0,s.A)(this,"switchToRelatedSpace",e=>{var t;if(this.suggestedRooms.find(t=>t.room_id===e))return;let n=null===(t=this.getCanonicalParent(e))||void 0===t?void 0:t.roomId;var s;n||(n=null===(s=this.rootSpaces.find(t=>this.isRoomInSpace(t.roomId,e)))||void 0===s?void 0:s.roomId);n||(n=[...this.enabledMetaSpaces].reverse().find(t=>this.isRoomInSpace(t,e))),n?this.setActiveSpace(n,!1):this.goToFirstSpace()}),(0,s.A)(this,"onRoom",(e,t,n)=>{const s=e.getMyMembership();if(!s)return;const o=t||s;if(e.isSpaceRoom()){if(o===r.O.Invite){const t=this._invitedSpaces.size;this._invitedSpaces.add(e),t!==this._invitedSpaces.size&&this.emit(k.kQ,this.invitedSpaces)}else if(n===r.O.Invite&&o!==r.O.Join)this._invitedSpaces.delete(e)&&this.emit(k.kQ,this.invitedSpaces);else{var i;this.rebuildSpaceHierarchy(),null===(i=this.parentMap.get(e.roomId))||void 0===i||i.forEach(e=>{this.emit(e)}),this.emit(e.roomId)}o===r.O.Join&&e.roomId===N.M.instance.roomViewStore.getRoomId()?this.setActiveSpace(e.roomId,!1):o===r.O.Leave&&e.roomId===this.activeSpace&&this.goToFirstSpace(!0)}else if(this.onRoomsUpdate(),o===r.O.Join){const n=this._suggestedRooms.length;if(this._suggestedRooms=this._suggestedRooms.filter(t=>t.room_id!==e.roomId),n!==this._suggestedRooms.length)return void this.emit(k.b4,this._suggestedRooms);t===r.O.Join&&e.roomId===N.M.instance.roomViewStore.getRoomId()&&this.switchSpaceIfNeeded(e.roomId)}}),(0,s.A)(this,"onRoomState",e=>{var t;const n=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(e.getRoomId());if(this.matrixClient&&n)switch(e.getType()){case i.EventType.SpaceChild:{const t=this.matrixClient.getRoom(e.getStateKey());n.isSpaceRoom()&&(null!=t&&t.isSpaceRoom()?(this.rebuildSpaceHierarchy(),this.emit(t.roomId)):this.onRoomsUpdate(),this.emit(n.roomId)),n.roomId===this.activeSpace&&(null==t?void 0:t.getMyMembership())!==r.O.Join&&e.getPrevContent().suggested!==e.getContent().suggested&&this.loadSuggestedRooms(n);break}case i.EventType.SpaceParent:n.isSpaceRoom()?this.rebuildSpaceHierarchy():this.onRoomsUpdate(),this.emit(n.roomId);break;case i.EventType.RoomPowerLevels:n.isSpaceRoom()&&this.onRoomsUpdate();break;case i.EventType.RoomCreate:this.onRoomsUpdate()}}),(0,s.A)(this,"onRoomStateMembers",e=>{var t;const n=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(e.getRoomId()),s=e.getStateKey();null!=n&&n.isSpaceRoom()&&m.A.shared().getDMRoomsForUserId(s).length>0&&e.getPrevContent().membership!==e.getContent().membership&&this.onMemberUpdate(n,s)}),(0,s.A)(this,"onRoomAccountData",(e,t,n)=>{if(t.isSpaceRoom()&&e.getType()===i.EventType.SpaceOrder){var s,o;this.spaceOrderLocalEchoMap.delete(t.roomId);(null===(s=e.getContent())||void 0===s?void 0:s.order)!==(null==n||null===(o=n.getContent())||void 0===o?void 0:o.order)&&this.notifyIfOrderChanged()}else if(e.getType()===i.EventType.Tag){var r,a;const s=(null==n||null===(r=n.getContent())||void 0===r?void 0:r.tags)||{},o=(null===(a=e.getContent())||void 0===a?void 0:a.tags)||{};!!s[f.zO.Favourite]!=!!o[f.zO.Favourite]&&this.onRoomFavouriteChange(t)}}),(0,s.A)(this,"onAccountData",(e,t)=>{if(e.getType()===i.EventType.Direct){var n;const s=new Set(Object.values(null!==(n=null==t?void 0:t.getContent())&&void 0!==n?n:{}).flat()),o=new Set(Object.values(e.getContent()).flat()),i=(0,w.g)(s,o);[...i.added,...i.removed].forEach(e=>{var t;const n=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(e);n&&this.onRoomDmChange(n,o.has(e))}),i.removed.length>0&&this.switchSpaceIfNeeded()}}),(0,s.A)(this,"getSpaceTagOrdering",e=>{var t;return this.spaceOrderLocalEchoMap.has(e.roomId)?this.spaceOrderLocalEchoMap.get(e.roomId):H(null===(t=e.getAccountData(i.EventType.SpaceOrder))||void 0===t||null===(t=t.getContent())||void 0===t?void 0:t.order)}),u.A.monitorSetting("Spaces.allRoomsInHome",null),u.A.monitorSetting("Spaces.enabledMetaSpaces",null),u.A.monitorSetting("Spaces.showPeopleInSpace",null),u.A.monitorSetting("feature_dynamic_room_predecessors",null)}get storeReadyPromise(){return this._storeReadyDeferred.promise}get metaSpaceOrder(){return u.A.getValue("feature_new_room_list")?L.filter(e=>e!==k._b.People&&e!==k._b.Favourites):L}get invitedSpaces(){return Array.from(this._invitedSpaces)}get enabledMetaSpaces(){return this._enabledMetaSpaces}get spacePanelSpaces(){return this.rootSpaces}get activeSpace(){return this._activeSpace}get activeSpaceRoom(){var e,t;return(0,k.ww)(this._activeSpace)?null:null!==(e=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(this._activeSpace))&&void 0!==e?e:null}get suggestedRooms(){return this._suggestedRooms}get allRoomsInHome(){return this._allRoomsInHome}setActiveRoomInSpace(e){var t;if(!((0,k.ww)(e)||null!==(t=this.matrixClient)&&void 0!==t&&null!==(t=t.getRoom(e))&&void 0!==t&&t.isSpaceRoom()))return;let n;if(e!==this.activeSpace&&this.setActiveSpace(e,!1),e===k._b.Home&&this.allRoomsInHome){const e=_.n.instance.globalState.hasMentions,t=d.Ay.instance.orderedLists;e:for(let s=0;s<C.Q.length;s++){const o=C.Q[s];if(t[o])for(const s of t[o]){const t=_.n.instance.getRoomState(s);if(e?t.hasMentions:t.isUnread){n=s.roomId;break e}}}}else n=this.getNotificationState(e).getFirstRoomWithNotifications();n&&c.A.dispatch({action:E.r.ViewRoom,room_id:n,context_switch:!0,metricsTrigger:"WebSpacePanelNotificationBadge"})}setActiveSpace(e,t=!0){if(!e||!this.matrixClient||e===this.activeSpace)return;let n=null;if(j.r.instance.extras.spacePanelItems.has(e));else if((0,k.ww)(e)){if(!this.enabledMetaSpaces.includes(e))return}else{var s;if(n=this.matrixClient.getRoom(e),null===(s=n)||void 0===s||!s.isSpaceRoom())return}if(window.localStorage.setItem(F,this._activeSpace=e),t){var o,i;const t=this.getLastSelectedRoomIdForSpace(e);t&&(null===(o=n)||void 0===o?void 0:o.getMyMembership())!==r.O.Invite&&(null===(i=this.matrixClient.getRoom(t))||void 0===i?void 0:i.getMyMembership())===r.O.Join&&this.isRoomInSpace(e,t)?c.A.dispatch({action:E.r.ViewRoom,room_id:t,context_switch:!0,metricsTrigger:"WebSpaceContextSwitch"}):n?c.A.dispatch({action:E.r.ViewRoom,room_id:e,context_switch:!0,metricsTrigger:"WebSpaceContextSwitch"}):j.r.instance.extras.spacePanelItems.has(e)||c.A.dispatch({action:E.r.ViewHomePage,context_switch:!0})}this.emit(k.tw,this.activeSpace),this.emit(k.b4,this._suggestedRooms=[]),n&&(this.loadSuggestedRooms(n),K.instance.traverseSpace(e,e=>{var t;null===(t=this.matrixClient)||void 0===t||null===(t=t.getRoom(e))||void 0===t||t.loadMembersIfNeeded()},!1))}getLastSelectedRoomIdForSpace(e){return window.localStorage.getItem(B(e))}async loadSuggestedRooms(e){const t=await this.fetchSuggestedRooms(e);this._activeSpace===e.roomId&&(this._suggestedRooms=t,this.emit(k.b4,this._suggestedRooms))}addRoomToSpace(e,t,n,s=!1){return this.matrixClient.sendStateEvent(e.roomId,i.EventType.SpaceChild,{via:n,suggested:s},t)}getChildren(e){var t;const n=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(e),s=null==n?void 0:n.currentState.getStateEvents(i.EventType.SpaceChild).filter(e=>{var t;return null===(t=e.getContent())||void 0===t?void 0:t.via});return(0,o.A)(s,e=>z(e.getContent().order,e.getTs(),e.getStateKey())).map(e=>{const t=this.matrixClient.getRoomUpgradeHistory(e.getStateKey(),!0,this._msc3946ProcessDynamicPredecessor);return t[t.length-1]}).filter(e=>(null==e?void 0:e.getMyMembership())===r.O.Join||(null==e?void 0:e.getMyMembership())===r.O.Invite)||[]}getChildRooms(e){return this.getChildren(e).filter(e=>!e.isSpaceRoom())}getChildSpaces(e){return this.getChildren(e).filter(e=>e.isSpaceRoom()&&e.getMyMembership()===r.O.Join)}getParents(e,t=!1){var n;if(!this.matrixClient)return[];const s=this.matrixClient.getSafeUserId(),o=this.matrixClient.getRoom(e),r=null!==(n=null==o?void 0:o.currentState.getStateEvents(i.EventType.SpaceParent))&&void 0!==n?n:[];return(0,g.Bo)(r.map(n=>{var o;const r=n.getContent();if(!Array.isArray(r.via)||t&&!r.canonical)return;const a=null===(o=this.matrixClient)||void 0===o?void 0:o.getRoom(n.getStateKey()),l=null==a?void 0:a.currentState.getStateEvents(i.EventType.SpaceChild,e);return null==a||!a.currentState.maySendStateEvent(i.EventType.SpaceChild,s)||l&&!Array.isArray(l.getContent().via)?void 0:a}))}getCanonicalParent(e){var t;const n=this.getParents(e,!0);return(null===(t=(0,o.A)(n,e=>e.roomId))||void 0===t?void 0:t[0])||null}getKnownParents(e,t){return t?T(this.parentMap,this.parentMap,e):this.parentMap.get(e)||new Set}isRoomInSpace(e,t,n=!0){var s,o,i;if(e===k._b.Home&&this.allRoomsInHome)return!0;if(e===k._b.VideoRooms)return!(null===(i=this.matrixClient)||void 0===i||null===(i=i.getRoom(t))||void 0===i||!i.isCallRoom());if(null!==(s=this.getSpaceFilteredRoomIds(e,n))&&void 0!==s&&s.has(t))return!0;const r=m.A.shared().getUserIdForRoomId(t);return!!r&&(e===k._b.Home||e===k._b.People||!((0,k.ww)(e)||null===(o=this.getSpaceFilteredUserIds(e,n))||void 0===o||!o.has(r)||!u.A.getValue("Spaces.showPeopleInSpace",e)))}static isInSpace(e){return(null==e?void 0:e.membership)===r.O.Join||(null==e?void 0:e.membership)===r.O.Invite}notifyIfOrderChanged(){const e=this.sortRootSpaces(this.rootSpaces);(0,g.Oj)(this.rootSpaces,e)&&(this.rootSpaces=e,this.emit(k.bZ,this.spacePanelSpaces,this.enabledMetaSpaces))}onRoomFavouriteChange(e){if(this.enabledMetaSpaces.includes(k._b.Favourites)){var t,n;if(e.tags[f.zO.Favourite])null===(t=this.roomIdsBySpace.get(k._b.Favourites))||void 0===t||t.add(e.roomId);else null===(n=this.roomIdsBySpace.get(k._b.Favourites))||void 0===n||n.delete(e.roomId);this.emit(k._b.Favourites)}}onRoomDmChange(e,t){const n=new Set(this.enabledMetaSpaces);if(!this.allRoomsInHome&&n.has(k._b.Home)){var s;const t=this.roomIdsBySpace.get(k._b.Home);if(this.showInHomeSpace(e))null==t||t.add(e.roomId);else if(null===(s=this.roomIdsBySpace.get(k._b.Orphans))||void 0===s||!s.has(e.roomId)){var o;null===(o=this.roomIdsBySpace.get(k._b.Home))||void 0===o||o.delete(e.roomId)}this.emit(k._b.Home)}var i;(n.has(k._b.People)&&this.emit(k._b.People),n.has(k._b.Orphans)||n.has(k._b.Home))&&(t&&null!==(i=this.roomIdsBySpace.get(k._b.Orphans))&&void 0!==i&&i.delete(e.roomId)&&(this.emit(k._b.Orphans),this.emit(k._b.Home)))}async reset(){this.rootSpaces=[],this.parentMap=new b.h,this.notificationStateMap=new Map,this.roomIdsBySpace=new Map,this.userIdsBySpace=new Map,this._aggregatedSpaceCache.roomIdsBySpace.clear(),this._aggregatedSpaceCache.userIdsBySpace.clear(),this._activeSpace=k._b.Home,this._suggestedRooms=[],this._invitedSpaces=new Set,this._enabledMetaSpaces=[]}async onNotReady(){this.matrixClient&&(this.matrixClient.removeListener(i.ClientEvent.Room,this.onRoom),this.matrixClient.removeListener(i.RoomEvent.MyMembership,this.onRoom),this.matrixClient.removeListener(i.RoomEvent.AccountData,this.onRoomAccountData),this.matrixClient.removeListener(i.RoomStateEvent.Events,this.onRoomState),this.matrixClient.removeListener(i.RoomStateEvent.Members,this.onRoomStateMembers),this.matrixClient.removeListener(i.ClientEvent.AccountData,this.onAccountData)),await this.reset()}async onReady(){if(!this.matrixClient)return;this.matrixClient.on(i.ClientEvent.Room,this.onRoom),this.matrixClient.on(i.RoomEvent.MyMembership,this.onRoom),this.matrixClient.on(i.RoomEvent.AccountData,this.onRoomAccountData),this.matrixClient.on(i.RoomStateEvent.Events,this.onRoomState),this.matrixClient.on(i.RoomStateEvent.Members,this.onRoomStateMembers),this.matrixClient.on(i.ClientEvent.AccountData,this.onAccountData);const e=this._enabledMetaSpaces,t=u.A.getValue("Spaces.enabledMetaSpaces");this._enabledMetaSpaces=this.metaSpaceOrder.filter(e=>t[e]),this._allRoomsInHome=u.A.getValue("Spaces.allRoomsInHome"),this.sendUserProperties(),this.rebuildSpaceHierarchy(),(0,g.dc)(e,this._enabledMetaSpaces)&&this.emit(k.bZ,this.spacePanelSpaces,this.enabledMetaSpaces);const n=window.localStorage.getItem(F);n&&(j.r.instance.extras.spacePanelItems.has(n)||((0,k.ww)(n)?t[n]:this.matrixClient.getRoom(n)))?this.setActiveSpace(n,!1):this.switchSpaceIfNeeded(),this._storeReadyDeferred.resolve()}sendUserProperties(){const e=new Set(this.enabledMetaSpaces);M.Vo.instance.setProperty("WebMetaSpaceHomeEnabled",e.has(k._b.Home)),M.Vo.instance.setProperty("WebMetaSpaceHomeAllRooms",this.allRoomsInHome),M.Vo.instance.setProperty("WebMetaSpacePeopleEnabled",e.has(k._b.People)),M.Vo.instance.setProperty("WebMetaSpaceFavouritesEnabled",e.has(k._b.Favourites)),M.Vo.instance.setProperty("WebMetaSpaceOrphansEnabled",e.has(k._b.Orphans))}goToFirstSpace(e=!1){var t,n;this.setActiveSpace(null!==(t=this.enabledMetaSpaces[0])&&void 0!==t?t:null===(n=this.spacePanelSpaces[0])||void 0===n?void 0:n.roomId,e)}async onAction(e){if(this.matrixClient)switch(e.action){case E.r.ViewRoom:{var t,n;const s=(null===(t=e.justCreatedOpts)||void 0===t?void 0:t.roomType)===i.RoomType.Space;if(e.context_switch||e.justCreatedOpts&&!s)break;let o=e.room_id;if(e.room_alias&&!o){const t=(0,R.K)(e.room_alias);t&&(o=t.roomId)}if(!o)return;const r=this.matrixClient.getRoom(o);null!=r&&r.isSpaceRoom()?this.setActiveSpace(r.roomId,!1):this.switchSpaceIfNeeded(o),window.localStorage.setItem(B(this.activeSpace),null!==(n=e.room_id)&&void 0!==n?n:"");break}case E.r.ViewHomePage:!e.context_switch&&this.enabledMetaSpaces.includes(k._b.Home)&&(this.setActiveSpace(k._b.Home,!1),window.localStorage.setItem(B(this.activeSpace),""));break;case E.r.AfterLeaveRoom:(0,k.ww)(this._activeSpace)||e.room_id!==this._activeSpace||this.goToFirstSpace(!0);break;case E.r.SwitchSpace:{if(e.num<1||e.num>9)break;const t=this.enabledMetaSpaces.length;e.num<=t?this.setActiveSpace(this.enabledMetaSpaces[e.num-1]):this.spacePanelSpaces.length>e.num-t-1&&this.setActiveSpace(this.spacePanelSpaces[e.num-t-1].roomId);break}case E.r.SettingUpdated:switch(e.settingName){case"Spaces.allRoomsInHome":{const e=u.A.getValue("Spaces.allRoomsInHome");this.allRoomsInHome!==e&&(this._allRoomsInHome=e,this.enabledMetaSpaces.includes(k._b.Home)&&this.rebuildHomeSpace(),this.sendUserProperties(),this.emit(k.EC,this.allRoomsInHome));break}case"Spaces.enabledMetaSpaces":{const e=u.A.getValue("Spaces.enabledMetaSpaces"),t=this.metaSpaceOrder.filter(t=>e[t]);if((0,g.dc)(this._enabledMetaSpaces,t)){const n=this.enabledMetaSpaces.some(e=>e===k._b.Home||e===k._b.People);this._enabledMetaSpaces=t;const s=this.enabledMetaSpaces.some(e=>e===k._b.Home||e===k._b.People);(0,k.ww)(this.activeSpace)&&!e[this.activeSpace]&&this.switchSpaceIfNeeded(),this.rebuildMetaSpaces(),n!==s?this.updateNotificationStates():this.updateNotificationStates(t),this.emit(k.bZ,this.spacePanelSpaces,this.enabledMetaSpaces),this.sendUserProperties()}break}case"Spaces.showPeopleInSpace":e.roomId&&(this.emit(e.roomId),this.enabledMetaSpaces.some(e=>e===k._b.Home||e===k._b.People)||this.updateNotificationStates([e.roomId]));break;case"feature_dynamic_room_predecessors":this._msc3946ProcessDynamicPredecessor=u.A.getValue("feature_dynamic_room_predecessors"),this.rebuildSpaceHierarchy()}}}getNotificationState(e){if(this.notificationStateMap.has(e))return this.notificationStateMap.get(e);const t=new y;return this.notificationStateMap.set(e,t),t}traverseSpace(e,t,n=!1,s){if(s&&s.has(e))return;t(e);const o=new Set(s).add(e),[i,r]=V(this.getChildren(e));n&&r.forEach(e=>t(e.roomId)),i.forEach(e=>this.traverseSpace(e.roomId,t,n,o))}sortRootSpaces(e){return(0,o.A)(e,[this.getSpaceTagOrdering,"roomId"])}async setRootSpaceOrder(e,t){this.spaceOrderLocalEchoMap.set(e.roomId,t);try{var n;await(null===(n=this.matrixClient)||void 0===n?void 0:n.setRoomAccountData(e.roomId,i.EventType.SpaceOrder,{order:t}))}catch(n){a.vF.warn("Failed to set root space order",n),this.spaceOrderLocalEchoMap.get(e.roomId)===t&&this.spaceOrderLocalEchoMap.delete(e.roomId)}}moveRootSpace(e,t){const n=this.rootSpaces.map(this.getSpaceTagOrdering);S(n,e,t).forEach(({index:e,order:t})=>{this.setRootSpaceOrder(this.rootSpaces[e],t)}),this.notifyIfOrderChanged()}}class K{static get instance(){return K.internalInstance}static testInstance(){const e=new W;return e.start(),e}}(0,s.A)(K,"internalInstance",(()=>{const e=new W;return e.start(),e})()),window.mxSpaceStore=K.instance},"./src/stores/spaces/index.ts"(e,t,n){"use strict";n.d(t,{EC:()=>a,Ff:()=>d,_b:()=>c,b4:()=>l,bZ:()=>o,kQ:()=>i,tw:()=>r,ww:()=>u});var s=n("./src/languageHandler.tsx");const o=Symbol("top-level-spaces"),i=Symbol("invited-spaces"),r=Symbol("selected-space"),a=Symbol("home-behaviour"),l=Symbol("suggested-rooms");let c=function(e){return e.Home="home-space",e.Favourites="favourites-space",e.People="people-space",e.Orphans="orphans-space",e.VideoRooms="video-rooms-space",e}({});const d=(e,t=!1)=>{switch(e){case c.Home:return t?(0,s._t)("common|all_chats"):(0,s._t)("common|home");case c.Favourites:return(0,s._t)("common|favourites");case c.People:return(0,s._t)("common|people");case c.Orphans:return(0,s._t)("common|orphan_rooms");case c.VideoRooms:return(0,s._t)("voip|metaspace_video_rooms|conference_room_section")}};function u(e){return e===c.Home||e===c.Favourites||e===c.People||e===c.Orphans||e===c.VideoRooms}},"./src/stores/widgets/ElementWidgetActions.ts"(e,t,n){"use strict";n.d(t,{k:()=>s});let s=function(e){return e.JoinCall="io.element.join",e.HangupCall="im.vector.hangup",e.Close="io.element.close",e.CallParticipants="io.element.participants",e.StartLiveStream="im.vector.start_live_stream",e.TileLayout="io.element.tile_layout",e.SpotlightLayout="io.element.spotlight_layout",e.OpenIntegrationManager="integration_manager_open",e.ViewRoom="io.element.view_room",e.DeviceMute="io.element.device_mute",e}({})},"./src/stores/widgets/ElementWidgetCapabilities.ts"(e,t,n){"use strict";n.d(t,{z:()=>s});let s=function(e){return e.CanChangeViewedRoom="io.element.view_room",e.RequiresClient="io.element.requires_client",e}({})},"./src/stores/widgets/WidgetLayoutStore.ts"(e,t,n){"use strict";n.d(t,{SQ:()=>g.S,aK:()=>y,mc:()=>g.m,yQ:()=>_});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/utils.ts"),r=n("./packages/shared-components/dist/element-web-shared-components.js"),a=n("./src/settings/SettingsStore.ts"),l=n("./src/stores/WidgetStore.ts"),c=n("./src/widgets/WidgetType.ts"),d=n("./src/dispatcher/dispatcher.ts"),u=n("./src/stores/ReadyWatchingStore.ts"),m=n("./src/settings/SettingLevel.ts"),p=n("./src/utils/arrays.ts"),h=n("./src/stores/AsyncStore.ts"),g=n("./src/stores/widgets/types.ts");function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const _=3;class y extends u.g{constructor(){super(d.A),(0,s.A)(this,"byRoom",new i.kG(()=>new Map)),(0,s.A)(this,"pinnedRef",void 0),(0,s.A)(this,"layoutRef",void 0),(0,s.A)(this,"dynamicRef",void 0),(0,s.A)(this,"updateAllRooms",()=>{const e=a.A.getValue("feature_dynamic_room_predecessors");if(this.matrixClient){this.byRoom=new i.kG(()=>new Map);for(const t of this.matrixClient.getVisibleRooms(e))this.recalculateRoom(t)}}),(0,s.A)(this,"updateFromWidgetStore",e=>{if(e){var t;const n=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(e);n&&this.recalculateRoom(n)}else this.updateAllRooms()}),(0,s.A)(this,"updateRoomFromState",e=>{var t;if(e.getType()!==g.S)return;const n=null===(t=this.matrixClient)||void 0===t?void 0:t.getRoom(e.getRoomId());n&&this.recalculateRoom(n)}),(0,s.A)(this,"updateFromSettings",(e,t,n,s,o)=>{if(t){var i;const e=null===(i=this.matrixClient)||void 0===i?void 0:i.getRoom(t);e&&this.recalculateRoom(e)}else this.updateAllRooms()})}static get instance(){return this.internalInstance||(this.internalInstance=new y,this.internalInstance.start()),this.internalInstance}static emissionForRoom(e){return`update_${e.roomId}`}emitFor(e){this.emit(y.emissionForRoom(e))}async onReady(){var e;this.updateAllRooms(),null===(e=this.matrixClient)||void 0===e||e.on(o.RoomStateEvent.Events,this.updateRoomFromState),this.pinnedRef=a.A.watchSetting("Widgets.pinned",null,this.updateFromSettings),this.layoutRef=a.A.watchSetting("Widgets.layout",null,this.updateFromSettings),this.dynamicRef=a.A.watchSetting("feature_dynamic_room_predecessors",null,this.updateFromSettings),l.Ay.instance.on(h.H,this.updateFromWidgetStore)}async onNotReady(){var e;this.byRoom=new i.kG(()=>new Map),null===(e=this.matrixClient)||void 0===e||e.off(o.RoomStateEvent.Events,this.updateRoomFromState),a.A.unwatchSetting(this.pinnedRef),a.A.unwatchSetting(this.layoutRef),a.A.unwatchSetting(this.dynamicRef),l.Ay.instance.off(h.H,this.updateFromWidgetStore)}recalculateRoom(e){var t;const n=l.Ay.instance.getApps(e.roomId);if(null==n||!n.length)return this.byRoom.set(e.roomId,new Map),void this.emitFor(e);const s=this.byRoom.getOrCreate(e.roomId),o=JSON.stringify((0,i.HF)(s)),d=e.currentState.getStateEvents(g.S,""),u=a.A.getValue("Widgets.pinned",e.roomId);let m=a.A.getValue("Widgets.layout",e.roomId);d&&m&&m.overrides!==d.getId()&&(m=null);const p=null!==(t=null==d?void 0:d.getContent())&&void 0!==t?t:null,h=[],v=[],f=[];for(const e of n){var y,b;const t=null==p||null===(y=p.widgets)||void 0===y||null===(y=y[e.id])||void 0===y?void 0:y.container,n=null===(b=m)||void 0===b||null===(b=b.widgets)||void 0===b||null===(b=b[e.id])||void 0===b?void 0:b.container,s=!(null==u||!u[e.id]),o=c.x.JITSI.matches(e.type)?g.m.Top:g.m.Right;if(n?n===g.m.Center:t===g.m.Center){f.length?console.error("Tried to push a second widget into the center container"):f.push(e);continue}let i=o;n||t?i=null!=n?n:t:s&&!t&&(i=g.m.Top),(i===g.m.Top?h:v).push(e)}const w=h.slice(_);v.push(...w);const E=new Intl.Collator;h.sort((e,t)=>{var n,s,o,i;const a=null==p||null===(n=p.widgets)||void 0===n?void 0:n[e.id],l=null==p||null===(s=p.widgets)||void 0===s?void 0:s[t.id],d=null===(o=m)||void 0===o||null===(o=o.widgets)||void 0===o?void 0:o[e.id],u=null===(i=m)||void 0===i||null===(i=i.widgets)||void 0===i?void 0:i[t.id],h=c.x.JITSI.matches(e.type)?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,g=c.x.JITSI.matches(t.type)?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,v=(0,r.FZ)(null==d?void 0:d.index,(0,r.FZ)(null==a?void 0:a.index,h)),f=(0,r.FZ)(null==u?void 0:u.index,(0,r.FZ)(null==l?void 0:l.index,g));return v===f?E.compare(e.id,t.id):v-f});const A=[];let x=null,S=!0;for(let e=0;e<h.length;e++){var C,k;const t=h[e],n=null==p||null===(C=p.widgets)||void 0===C?void 0:C[t.id],s=null===(k=m)||void 0===k||null===(k=k.widgets)||void 0===k?void 0:k[t.id];if(Number.isFinite(null==s?void 0:s.width)||Number.isFinite(null==n?void 0:n.width)){const e=(null==s?void 0:s.width)||(null==n?void 0:n.width),t=(0,r.qE)(e,10,100);A.push(t),S=!1}else A.push(100);if(null!=n&&n.height||null!=s&&s.height){const e=(0,r.FZ)(null==n?void 0:n.height,2),t=(0,r.FZ)(null==s?void 0:s.height,e);x=Math.max(null!=x?x:0,(0,r.qE)(t,2,100))}}if(S)for(let e=0;e<A.length;e++)A[e]=100/A.length;else{const e=(0,r.cz)(...A)-100;if(e<0)for(let t=0;t<A.length;t++)A[t]+=Math.abs(e)/A.length;else if(e>0){for(let t=0;t<A.length;t++)A[t]=(0,r.qE)(A[t]-e/A.length,10,100);const t=(0,r.cz)(...A)-100;if(t>0){const e=A.map((e,t)=>[t,e]).filter(e=>e[1]>10).map(e=>e[0]);for(const n of e)A[n]-=t/e.length}}}const R=new Map;this.byRoom.set(e.roomId,R),h.length&&R.set(g.m.Top,{ordered:h,distributions:A,height:x}),v.length&&R.set(g.m.Right,{ordered:v}),f.length&&R.set(g.m.Center,{ordered:f});JSON.stringify((0,i.HF)(R))!==o&&this.emitFor(e)}getContainerWidgets(e,t){var n;return e&&(null===(n=this.byRoom.get(e.roomId))||void 0===n||null===(n=n.get(t))||void 0===n?void 0:n.ordered)||[]}isInContainer(e,t,n){return this.getContainerWidgets(e,n).some(e=>e.id===t.id)}canAddToContainer(e,t){switch(t){case g.m.Top:case g.m.Right:return this.getContainerWidgets(e,t).length<_;case g.m.Center:return this.getContainerWidgets(e,t).length<1}}getResizerDistributions(e,t){var n;let s=null===(n=this.byRoom.get(e.roomId))||void 0===n||null===(n=n.get(t))||void 0===n?void 0:n.distributions;return!s||s.length<2?[]:(2===s.length&&(s=[s[0]]),3===s.length&&(s=[s[0],s[2]]),s.map(e=>`${e.toFixed(1)}%`))}setResizerDistributions(e,t,n){if(t!==g.m.Top)return;const s=n.map(e=>Number(Number(e.substring(0,e.length-1)).toFixed(1))),o=this.getContainerWidgets(e,t),i=100-(0,r.cz)(...s);2===s.length&&s.splice(1,0,i),1===s.length&&s.push(i);const a={};o.forEach((n,o)=>{var i;a[n.id]={container:t,width:s[o],index:o,height:(null===(i=this.byRoom.get(e.roomId))||void 0===i||null===(i=i.get(t))||void 0===i?void 0:i.height)||2}}),this.updateUserLayout(e,a)}getContainerHeight(e,t){var n,s;return null!==(n=null===(s=this.byRoom.get(e.roomId))||void 0===s||null===(s=s.get(t))||void 0===s?void 0:s.height)&&void 0!==n?n:null}setContainerHeight(e,t,n){var s;const o=this.getContainerWidgets(e,t),i=null===(s=this.byRoom.get(e.roomId))||void 0===s||null===(s=s.get(t))||void 0===s?void 0:s.distributions,r={};o.forEach((e,s)=>{r[e.id]={container:t,width:null==i?void 0:i[s],index:s,height:n}}),this.updateUserLayout(e,r)}moveWithinContainer(e,t,n,s){var o,i;const a=(0,p.PF)(this.getContainerWidgets(e,t)),l=a.findIndex(e=>e.id===n.id);if(l<0)return;a.splice(l,1);const c=(0,r.qE)(l+s,0,a.length);a.splice(c,0,n);const d=null===(o=this.byRoom.get(e.roomId))||void 0===o||null===(o=o.get(t))||void 0===o?void 0:o.distributions,u=null===(i=this.byRoom.get(e.roomId))||void 0===i||null===(i=i.get(t))||void 0===i?void 0:i.height,m={};a.forEach((e,n)=>{m[e.id]={container:t,width:null==d?void 0:d[n],index:n,height:u}}),this.updateUserLayout(e,m)}moveToContainer(e,t,n){if(!this.getAllWidgets(e).some(([e])=>e.id===t.id))return;const s={};switch(n){case g.m.Right:break;case g.m.Center:for(const t of this.getContainerWidgets(e,g.m.Top))s[t.id]={container:g.m.Right};for(const t of this.getContainerWidgets(e,g.m.Center))s[t.id]={container:g.m.Right};break;case g.m.Top:if(this.hasMaximisedWidget(e)){s[this.getContainerWidgets(e,g.m.Center)[0].id]={container:g.m.Right}}}s[t.id]={container:n},this.updateUserLayout(e,s)}hasMaximisedWidget(e){return this.getContainerWidgets(e,g.m.Center).length>0}hasPinnedWidgets(e){return this.getContainerWidgets(e,g.m.Top).length>0}canCopyLayoutToRoom(e){return!!this.matrixClient&&e.currentState.maySendStateEvent(g.S,this.matrixClient.getUserId())}copyLayoutToRoom(e){var t;const n=this.getAllWidgets(e),s={widgets:{}};for(const[t,r]of n)if(s.widgets[t.id]={container:r},r===g.m.Top){var o,i;const n=this.getContainerWidgets(e,r).findIndex(e=>e.id===t.id),a=null===(o=this.byRoom.get(e.roomId))||void 0===o||null===(o=o.get(r))||void 0===o?void 0:o.distributions,l=null===(i=this.byRoom.get(e.roomId))||void 0===i||null===(i=i.get(r))||void 0===i?void 0:i.height;s.widgets[t.id]=f(f({},s.widgets[t.id]),{},{height:l?Math.round(l):void 0,width:null!=a&&a[n]?Math.round(a[n]):void 0,index:n})}null===(t=this.matrixClient)||void 0===t||t.sendStateEvent(e.roomId,g.S,s,"")}getAllWidgets(e){const t=this.byRoom.get(e.roomId);if(!t)return[];const n=[];for(const[e,s]of t){const t=s.ordered;for(const s of t)n.push([s,e])}return n}updateUserLayout(e,t){const n=this.getAllWidgets(e);for(const[i,r]of n){var s;const n=this.getContainerWidgets(e,r).findIndex(e=>e.id===i.id),a=null===(s=this.byRoom.get(e.roomId))||void 0===s||null===(s=s.get(r))||void 0===s?void 0:s.distributions;var o;if(!t[i.id])t[i.id]={container:r,index:n,height:null===(o=this.byRoom.get(e.roomId))||void 0===o||null===(o=o.get(r))||void 0===o?void 0:o.height,width:null==a?void 0:a[n]}}const i=e.currentState.getStateEvents(g.S,"");a.A.setValue("Widgets.layout",e.roomId,m.p.ROOM_ACCOUNT,{overrides:null==i?void 0:i.getId(),widgets:t}).catch(()=>this.recalculateRoom(e)),this.recalculateRoom(e)}}(0,s.A)(y,"internalInstance",void 0),window.mxWidgetLayoutStore=y.instance},"./src/stores/widgets/WidgetMessaging.ts"(e,t,n){"use strict";n.d(t,{vS:()=>pe,Hw:()=>ge,Tl:()=>he});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/types.ts"),r=n("./node_modules/matrix-widget-api/lib/index.js"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./src/languageHandler.tsx"),c=n("./node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/WidgetLifecycle.js"),d=n("./src/utils/arrays.ts");var u=n("./src/MatrixClientPeg.ts"),m=n("./src/Modal.tsx"),p=n("./node_modules/react/index.js"),h=n("./node_modules/@vector-im/compound-web/dist/components/Form/Root.js"),g=n("./node_modules/@vector-im/compound-web/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js"),v=n("./src/stores/widgets/WidgetPermissionStore.ts"),f=n("./src/components/views/dialogs/BaseDialog.tsx"),_=n("./src/components/views/elements/DialogButtons.tsx"),y=n("./src/contexts/SDKContext.ts");class b extends p.PureComponent{constructor(e){super(e),(0,s.A)(this,"onAllow",()=>{this.onPermissionSelection(!0)}),(0,s.A)(this,"onDeny",()=>{this.onPermissionSelection(!1)}),(0,s.A)(this,"onRememberSelectionChange",e=>{this.setState({rememberSelection:e.target.checked})}),this.state={rememberSelection:!1}}onPermissionSelection(e){this.state.rememberSelection&&(a.vF.log(`Remembering ${this.props.widget.id} as allowed=${e} for OpenID`),y.M.instance.widgetPermissionStore.setOIDCState(this.props.widget,this.props.widgetKind,this.props.inRoomId,e?v.R.Allowed:v.R.Denied)),this.props.onFinished(e)}render(){return p.createElement(f.A,{className:"mx_WidgetOpenIDPermissionsDialog",hasCancel:!0,onFinished:this.props.onFinished,title:(0,l._t)("widget|open_id_permissions_dialog|title")},p.createElement("div",{className:"mx_WidgetOpenIDPermissionsDialog_content"},p.createElement("p",null,(0,l._t)("widget|open_id_permissions_dialog|starting_text")),p.createElement("p",{className:"text-muted"},this.props.widget.templateUrl.split("?")[0].split("#")[0])),p.createElement(_.A,{primaryButton:(0,l._t)("action|continue"),onPrimaryButtonClick:this.onAllow,onCancel:this.onDeny,additive:p.createElement(h.b,{onSubmit:e=>{e.preventDefault(),e.stopPropagation()}},p.createElement(g.I,{name:"remember-selection",checked:this.state.rememberSelection,onChange:this.onRememberSelectionChange,label:(0,l._t)("widget|open_id_permissions_dialog|remember_selection")}))}))}}var w=n("./node_modules/matrix-js-sdk/src/utils.ts"),E=n("./src/utils/objects.ts"),A=n("./src/components/views/elements/StyledCheckbox.tsx"),x=n("./src/stores/widgets/ElementWidgetCapabilities.ts"),S=n("./src/components/views/elements/TextWithTooltip.tsx");const C="generic";class k{static bylineFor(e){return e.kind===r.EventKind.State?e.keyStr?(0,l._t)("widget|capability|byline_state_key",{stateKey:e.keyStr}):(0,l._t)("widget|capability|byline_empty_state_key"):null}static for(e,t){if(k.simpleCaps[e]){const n=k.simpleCaps[e];if(n[t])return{primary:(0,l._t)(n[t])};if(n[C])return{primary:(0,l._t)(n[C])}}if((0,r.isTimelineCapability)(e)){if((0,r.isTimelineCapabilityFor)(e,r.Symbols.AnyRoom))return{primary:(0,l._t)("widget|capability|any_room")};{const t=(0,r.getTimelineRoomIDFromCapability)(e),n=u.J.safeGet().getRoom(t);return{primary:(0,l._t)("widget|capability|specific_room",{},{Room:()=>{var e;return n?p.createElement(S.A,{tooltip:null!==(e=n.getCanonicalAlias())&&void 0!==e?e:t},p.createElement("strong",null,n.name)):p.createElement("strong",null,p.createElement("code",null,t))}})}}}const[n]=r.WidgetEventCapability.findEventCapabilities([e]);if(n){if(n.kind===r.EventKind.Event&&n.eventType===o.EventType.RoomMessage)return k.forRoomMessageCap(n,t);const e=n.kind===r.EventKind.State?k.stateSendRecvCaps:k.nonStateSendRecvCaps;if(e[n.eventType]){const s=e[n.eventType],o=(null==s?void 0:s[t])||(null==s?void 0:s[C]);if(null!=o&&o[n.direction])return{primary:(0,l._t)(o[n.direction])}}return t===r.WidgetKind.Room?n.direction===r.EventDirection.Send?{primary:(0,l._t)("widget|capability|send_event_type_this_room",{eventType:n.eventType},{b:e=>p.createElement("strong",null,e)}),byline:k.bylineFor(n)}:{primary:(0,l._t)("widget|capability|see_event_type_sent_this_room",{eventType:n.eventType},{b:e=>p.createElement("strong",null,e)}),byline:k.bylineFor(n)}:n.direction===r.EventDirection.Send?{primary:(0,l._t)("widget|capability|send_event_type_active_room",{eventType:n.eventType},{b:e=>p.createElement("strong",null,e)}),byline:k.bylineFor(n)}:{primary:(0,l._t)("widget|capability|see_event_type_sent_active_room",{eventType:n.eventType},{b:e=>p.createElement("strong",null,e)}),byline:k.bylineFor(n)}}return{primary:(0,l._t)("widget|capability|capability",{capability:e},{b:e=>p.createElement("strong",null,e)})}}static forRoomMessageCap(e,t){if(!e.keyStr)return e.direction===r.EventDirection.Send?{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|send_messages_this_room"):(0,l._t)("widget|capability|send_messages_active_room")}:{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|see_messages_sent_this_room"):(0,l._t)("widget|capability|see_messages_sent_active_room")};switch(e.keyStr){case o.MsgType.Text:return e.direction===r.EventDirection.Send?{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|send_text_messages_this_room"):(0,l._t)("widget|capability|send_text_messages_active_room")}:{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|see_text_messages_sent_this_room"):(0,l._t)("widget|capability|see_text_messages_sent_active_room")};case o.MsgType.Emote:return e.direction===r.EventDirection.Send?{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|send_emotes_this_room"):(0,l._t)("widget|capability|send_emotes_active_room")}:{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|see_sent_emotes_this_room"):(0,l._t)("widget|capability|see_sent_emotes_active_room")};case o.MsgType.Image:return e.direction===r.EventDirection.Send?{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|send_images_this_room"):(0,l._t)("widget|capability|send_images_active_room")}:{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|see_images_sent_this_room"):(0,l._t)("widget|capability|see_images_sent_active_room")};case o.MsgType.Video:return e.direction===r.EventDirection.Send?{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|send_videos_this_room"):(0,l._t)("widget|capability|send_videos_active_room")}:{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|see_videos_sent_this_room"):(0,l._t)("widget|capability|see_videos_sent_active_room")};case o.MsgType.File:return e.direction===r.EventDirection.Send?{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|send_files_this_room"):(0,l._t)("widget|capability|send_files_active_room")}:{primary:t===r.WidgetKind.Room?(0,l._t)("widget|capability|see_sent_files_this_room"):(0,l._t)("widget|capability|see_sent_files_active_room")};default:{let n;return n=e.direction===r.EventDirection.Send?t===r.WidgetKind.Room?(0,l._t)("widget|capability|send_msgtype_this_room",{msgtype:e.keyStr},{b:e=>p.createElement("strong",null,e)}):(0,l._t)("widget|capability|send_msgtype_active_room",{msgtype:e.keyStr},{b:e=>p.createElement("strong",null,e)}):t===r.WidgetKind.Room?(0,l._t)("widget|capability|see_msgtype_sent_this_room",{msgtype:e.keyStr},{b:e=>p.createElement("strong",null,e)}):(0,l._t)("widget|capability|see_msgtype_sent_active_room",{msgtype:e.keyStr},{b:e=>p.createElement("strong",null,e)}),{primary:n}}}}}(0,s.A)(k,"simpleCaps",{[r.MatrixCapabilities.AlwaysOnScreen]:{[r.WidgetKind.Room]:(0,l.AO)("widget|capability|always_on_screen_viewing_another_room"),[C]:(0,l.AO)("widget|capability|always_on_screen_generic")},[r.MatrixCapabilities.StickerSending]:{[r.WidgetKind.Room]:(0,l.AO)("widget|capability|send_stickers_this_room"),[C]:(0,l.AO)("widget|capability|send_stickers_active_room")},[x.z.CanChangeViewedRoom]:{[C]:(0,l.AO)("widget|capability|switch_room")},[r.MatrixCapabilities.MSC2931Navigate]:{[C]:(0,l.AO)("widget|capability|switch_room_message_user")}}),(0,s.A)(k,"stateSendRecvCaps",{[o.EventType.RoomTopic]:{[r.WidgetKind.Room]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|change_topic_this_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_topic_change_this_room")},[C]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|change_topic_active_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_topic_change_active_room")}},[o.EventType.RoomName]:{[r.WidgetKind.Room]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|change_name_this_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_name_change_this_room")},[C]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|change_name_active_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_name_change_active_room")}},[o.EventType.RoomAvatar]:{[r.WidgetKind.Room]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|change_avatar_this_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_avatar_change_this_room")},[C]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|change_avatar_active_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_avatar_change_active_room")}},[o.EventType.RoomMember]:{[r.WidgetKind.Room]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|remove_ban_invite_leave_this_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|receive_membership_this_room")},[C]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|remove_ban_invite_leave_active_room"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|receive_membership_active_room")}}}),(0,s.A)(k,"nonStateSendRecvCaps",{[o.EventType.Sticker]:{[r.WidgetKind.Room]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|send_stickers_this_room_as_you"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_sticker_posted_this_room")},[C]:{[r.EventDirection.Send]:(0,l.AO)("widget|capability|send_stickers_active_room_as_you"),[r.EventDirection.Receive]:(0,l.AO)("widget|capability|see_sticker_posted_active_room")}}});class R extends p.PureComponent{constructor(e){super(e),(0,s.A)(this,"eventPermissionsMap",new Map),(0,s.A)(this,"onToggle",e=>{const t=(0,E.tn)(this.state.booleanStates);t[e]=!t[e],this.setState({booleanStates:t})}),(0,s.A)(this,"onRememberSelectionChange",e=>{this.setState({rememberSelection:e.target.checked})}),(0,s.A)(this,"onSubmit",async()=>{this.closeAndTryRemember(Object.entries(this.state.booleanStates).filter(([e,t])=>t).map(([e])=>e))}),(0,s.A)(this,"onReject",async()=>{this.closeAndTryRemember([])});r.WidgetEventCapability.findEventCapabilities(this.props.requestedCapabilities).forEach(e=>this.eventPermissionsMap.set(e.raw,e));const t={};this.props.requestedCapabilities.forEach(e=>t[e]=!0),this.state={booleanStates:t,rememberSelection:!0}}closeAndTryRemember(e){this.props.onFinished({approved:e,remember:this.state.rememberSelection})}render(){const e=Object.entries(this.state.booleanStates).sort(([e],[t])=>{const n=(0,r.isTimelineCapability)(e);return n!==(0,r.isTimelineCapability)(t)?n?1:-1:(0,w.aw)(e,t)}).map(([e,t],n)=>{const s=k.for(e,this.props.widgetKind);return p.createElement("div",{className:"mx_WidgetCapabilitiesPromptDialog_cap",key:e+n},p.createElement(A.A,{checked:t,onChange:()=>this.onToggle(e),description:s.byline},s.primary))});return p.createElement(f.A,{className:"mx_WidgetCapabilitiesPromptDialog",onFinished:this.props.onFinished,title:(0,l._t)("widget|capabilities_dialog|title")},p.createElement(h.b,{onSubmit:this.onSubmit},p.createElement("div",{className:"mx_Dialog_content"},p.createElement("div",{className:"text-muted"},(0,l._t)("widget|capabilities_dialog|content_starting_text")),e,p.createElement(_.A,{primaryButton:(0,l._t)("action|approve"),cancelButton:(0,l._t)("widget|capabilities_dialog|decline_all_permission"),onPrimaryButtonClick:this.onSubmit,onCancel:this.onReject,additive:p.createElement(g.I,{name:"remember-selection",checked:this.state.rememberSelection,onChange:this.onRememberSelectionChange,label:(0,l._t)("widget|capabilities_dialog|remember_Selection")})}))))}}var I=n("./src/customisations/WidgetPermissions.ts"),P=n("./src/widgets/WidgetType.ts"),T=n("./src/effects/index.ts"),O=n("./src/effects/utils.ts"),M=n("./src/dispatcher/dispatcher.ts"),N=n("./src/utils/permalinks/navigator.ts"),j=n("./src/modules/ModuleRunner.ts"),D=n("./src/settings/SettingsStore.ts"),U=n("./src/customisations/Media.ts");function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}const L=({urls:e,username:t,credential:n})=>({uris:e,username:t,password:n});class B extends r.WidgetDriver{constructor(e,t,n,i){if(super(),(0,s.A)(this,"allowedCapabilities",void 0),this.forWidget=e,this.forWidgetKind=t,this.inRoomId=i,this.allowedCapabilities=new Set([r.MatrixCapabilities.Screenshots,x.z.RequiresClient]),P.x.JITSI.matches(this.forWidget.type)&&t===r.WidgetKind.Room)this.allowedCapabilities.add(r.MatrixCapabilities.AlwaysOnScreen);else if(P.x.STICKERPICKER.matches(this.forWidget.type)&&t===r.WidgetKind.Account){const e=r.WidgetEventCapability.forRoomEvent(r.EventDirection.Send,o.EventType.Sticker).raw;this.allowedCapabilities.add(r.MatrixCapabilities.StickerSending),this.allowedCapabilities.add(e),this.allowedCapabilities.add("visibility")}else if(n&&P.x.CALL.matches(this.forWidget.type)&&t===r.WidgetKind.Room){this.allowedCapabilities.add(r.MatrixCapabilities.AlwaysOnScreen),this.allowedCapabilities.add(r.MatrixCapabilities.MSC3846TurnServers),this.allowedCapabilities.add(`org.matrix.msc2762.timeline:${i}`),this.allowedCapabilities.add(r.MatrixCapabilities.MSC4157SendDelayedEvent),this.allowedCapabilities.add(r.MatrixCapabilities.MSC4157UpdateDelayedEvent),this.allowedCapabilities.add(r.MatrixCapabilities.MSC4407SendStickyEvent),this.allowedCapabilities.add(r.MatrixCapabilities.MSC4407ReceiveStickyEvent),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Receive,o.EventType.RoomName).raw),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Receive,o.EventType.RoomMember).raw),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Receive,"org.matrix.msc3401.call").raw),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Receive,o.EventType.RoomEncryption).raw);const n=u.J.safeGet().getSafeUserId();this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Send,"org.matrix.msc3401.call.member",n).raw);const s=u.J.safeGet().getDeviceId();null!==s&&(this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Send,"org.matrix.msc3401.call.member",`_${n}_${s}`).raw),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Send,"org.matrix.msc3401.call.member",`_${n}_${s}_m.call`).raw),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Send,"org.matrix.msc3401.call.member",`${n}_${s}`).raw),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Send,"org.matrix.msc3401.call.member",`${n}_${s}_m.call`).raw)),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Receive,"org.matrix.msc3401.call.member").raw),this.allowedCapabilities.add(r.WidgetEventCapability.forStateEvent(r.EventDirection.Receive,o.EventType.RoomCreate).raw);const a=[o.EventType.CallNotify,o.EventType.RTCNotification],l=["io.element.call.encryption_keys","org.matrix.rageshake_request",o.EventType.Reaction,o.EventType.RoomRedaction,"io.element.call.reaction",o.EventType.RTCDecline,"m.rtc.decline",o.EventType.RTCMembership,"m.rtc.member"];for(const e of[...a,...l])this.allowedCapabilities.add(r.WidgetEventCapability.forRoomEvent(r.EventDirection.Send,e).raw);for(const e of l)this.allowedCapabilities.add(r.WidgetEventCapability.forRoomEvent(r.EventDirection.Receive,e).raw);const c=[o.EventType.CallInvite,o.EventType.CallCandidates,o.EventType.CallAnswer,o.EventType.CallHangup,o.EventType.CallReject,o.EventType.CallSelectAnswer,o.EventType.CallNegotiate,o.EventType.CallSDPStreamMetadataChanged,o.EventType.CallSDPStreamMetadataChangedPrefix,o.EventType.CallReplaces,o.EventType.CallEncryptionKeysPrefix];for(const e of c)this.allowedCapabilities.add(r.WidgetEventCapability.forToDeviceEvent(r.EventDirection.Send,e).raw),this.allowedCapabilities.add(r.WidgetEventCapability.forToDeviceEvent(r.EventDirection.Receive,e).raw);y.M.instance.widgetPermissionStore.setOIDCState(e,t,i,v.R.Allowed)}}async validateCapabilities(e){const t=(n=e,s=this.allowedCapabilities,(0,d.ZQ)(Array.from(n),Array.from(s)));var n,s;const o=new Set(t.removed),i=new Set(this.allowedCapabilities);var r;let l;if((r=this.forWidget,JSON.parse(localStorage.getItem(`widget_${r.id}_approved_caps`)||"[]")).forEach(e=>{i.add(e),o.delete(e)}),I.l.preapproveCapabilities)l=await I.l.preapproveCapabilities(this.forWidget,e);else{const t={approvedCapabilities:void 0};j.r.instance.invoke(c.Z.CapabilitiesRequest,t,this.forWidget,e),l=t.approvedCapabilities}l&&l.forEach(e=>{i.add(e),o.delete(e)});let u=!1;if(o.size>0)try{var p;const[e]=await m.Ay.createDialog(R,{requestedCapabilities:o,widget:this.forWidget,widgetKind:this.forWidgetKind}).finished;null==e||null===(p=e.approved)||void 0===p||p.forEach(e=>i.add(e)),u=!(null==e||!e.remember)}catch(e){a.vF.error("Non-fatal error getting capabilities: ",e)}const h=new Set(function(e,t){return(0,d.LY)(Array.from(e),Array.from(t))}(i,e));return u&&function(e,t){localStorage.setItem(`widget_${e.id}_approved_caps`,JSON.stringify(t))}(this.forWidget,Array.from(h)),h}getSendEventTarget(e=null){const t=u.J.safeGet();if(!(e=e||y.M.instance.roomViewStore.getRoomId()||null))throw new Error("No room specified and no room in RoomViewStore focus.");return{client:t,roomId:e}}async sendEvent(e,t,n=null,s=null){const{client:i,roomId:r}=this.getSendEventTarget(s);let a;return null!==n?a=await i.sendStateEvent(r,e,t,n):e===o.EventType.RoomRedaction?a=await i.redactEvent(r,t.redacts):(a=await i.sendEvent(r,e,t),e===o.EventType.RoomMessage&&T.y.forEach(e=>{if((0,O._)(t,e.emojis)){var n;(null===(n=t["m.relates_to"])||void 0===n?void 0:n.rel_type)!==o.THREAD_RELATION_TYPE.name&&M.A.dispatch({action:`effects.${e.command}`})}})),{roomId:r,eventId:a.event_id}}async sendStickyEvent(e,t,n,s){const{client:o,roomId:i}=this.getSendEventTarget(s);return{roomId:i,eventId:(await o._unstable_sendStickyEvent(i,e,null,t,n)).event_id}}getSendDelayedEventOpts(e,t){if(null!==e)return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({delay:e},null!==t&&{parent_delay_id:t});if(null!==t)return{parent_delay_id:t};throw new Error("Must provide at least one of delay or parentDelayId")}async sendDelayedEvent(e,t,n,s,o=null,i=null){const{client:r,roomId:a}=this.getSendEventTarget(i),l=this.getSendDelayedEventOpts(e,t);let c;return c=null!==o?await r._unstable_sendDelayedStateEvent(a,l,n,s,o):await r._unstable_sendDelayedEvent(a,l,null,n,s),{roomId:a,delayId:c.delay_id}}async sendDelayedStickyEvent(e,t,n,s,o,i){const{client:r,roomId:a}=this.getSendEventTarget(i),l=this.getSendDelayedEventOpts(e,t);return{roomId:a,delayId:(await r._unstable_sendStickyDelayedEvent(a,n,l,null,s,o)).delay_id}}async cancelScheduledDelayedEvent(e){const t=u.J.get();if(!t)throw new Error("Not attached to a client");await t._unstable_cancelScheduledDelayedEvent(e)}async restartScheduledDelayedEvent(e){const t=u.J.get();if(!t)throw new Error("Not attached to a client");await t._unstable_restartScheduledDelayedEvent(e)}async sendScheduledDelayedEvent(e){const t=u.J.get();if(!t)throw new Error("Not attached to a client");await t._unstable_sendScheduledDelayedEvent(e)}async sendToDevice(e,t,n){const s=u.J.safeGet();if(t){const t=s.getCrypto();if(!t)throw new Error("E2EE not enabled");const o={};for(const e of Object.keys(n)){const t=n[e];for(const n of Object.keys(t)){const s=t[n],i=JSON.stringify(s);o[i]=o[i]||[],o[i].push({userId:e,deviceId:n})}}await Promise.all(Object.entries(o).map(async([n,o])=>{const i=await t.encryptToDeviceMessages(e,o,JSON.parse(n));await s.queueToDevice(i)}))}else await s.queueToDevice({eventType:e,batch:Object.entries(n).flatMap(([e,t])=>Object.entries(t).map(([t,n])=>({userId:e,deviceId:t,payload:n})))})}*readRoomTimelineIterator(e,t,n,s,i,r){let a=0;const l=[...e.getLiveTimeline().getEvents()];for(let e=l.pop();e&&a<i&&e.getId()!==r;e=l.pop())e.getType()===t&&(t===o.EventType.RoomMessage&&n&&n!==e.getContent().msgtype||void 0!==s&&e.getStateKey()!==s||(yield e.getEffectiveEvent(),a++))}async readRoomTimeline(e,t,n,s,o,i){o=o>0?Math.min(o,Number.MAX_SAFE_INTEGER):Number.MAX_SAFE_INTEGER;const r=u.J.safeGet().getRoom(e);return null===r?[]:[...this.readRoomTimelineIterator(r,t,n,s,o,i)]}async readRoomState(e,t,n){const s=u.J.safeGet().getRoom(e);if(null===s)return[];const i=s.getLiveTimeline().getState(o.Direction.Forward);if(void 0===i)return[];if(void 0===n)return i.getStateEvents(t).map(e=>e.getEffectiveEvent());const r=i.getStateEvents(t,n);return null===r?[]:[r.getEffectiveEvent()]}async askOpenID(e){const t={approved:void 0};if(j.r.instance.invoke(c.Z.IdentityRequest,t,this.forWidget),t.approved)return e.update({state:r.OpenIDRequestState.Allowed,token:await u.J.safeGet().getOpenIdToken()});const n=y.M.instance.widgetPermissionStore.getOIDCState(this.forWidget,this.forWidgetKind,this.inRoomId),s=()=>u.J.safeGet().getOpenIdToken();if(n===v.R.Denied)return e.update({state:r.OpenIDRequestState.Blocked});if(n===v.R.Allowed)return e.update({state:r.OpenIDRequestState.Allowed,token:await s()});e.update({state:r.OpenIDRequestState.PendingUserConfirmation});const{finished:o}=m.Ay.createDialog(b,{widget:this.forWidget,widgetKind:this.forWidgetKind,inRoomId:this.inRoomId}),[i]=await o;i?e.update({state:r.OpenIDRequestState.Allowed,token:await s()}):e.update({state:r.OpenIDRequestState.Blocked})}async navigate(e){(0,N.O)(e)}async*getTurnServers(){const e=u.J.safeGet();if(!e.pollingTurnServers||!e.getTurnServers().length)return;let t,n;const s=([e])=>t(L(e)),i=(e,t)=>{t&&n(e)};e.on(o.ClientEvent.TurnServers,s),e.on(o.ClientEvent.TurnServersError,i);try{const s=e.getTurnServers()[0];for(yield L(s);;)yield await new Promise((e,s)=>{t=e,n=s})}finally{e.off(o.ClientEvent.TurnServers,s),e.off(o.ClientEvent.TurnServersError,i)}}async readEventRelations(e,t,n,s,o,i,r,a){var l;const c=u.J.safeGet(),d=a;if("string"!=typeof(t=null!==(l=null!=t?t:y.M.instance.roomViewStore.getRoomId())&&void 0!==l?l:void 0))throw new Error("Error while reading the current room");const{events:m,nextBatch:p,prevBatch:h}=await c.relations(t,e,null!=n?n:null,null!=s?s:null,{from:o,to:i,limit:r,dir:d});return{chunk:m.map(e=>e.getEffectiveEvent()),nextBatch:null!=p?p:void 0,prevBatch:null!=h?h:void 0}}async searchUserDirectory(e,t){const n=u.J.safeGet(),{limited:s,results:o}=await n.searchUserDirectory({term:e,limit:t});return{limited:s,results:o.map(e=>({userId:e.user_id,displayName:e.display_name,avatarUrl:e.avatar_url}))}}async getMediaConfig(){const e=u.J.safeGet();return await e.getMediaConfig()}async uploadFile(e){const t=u.J.safeGet();return{contentUri:(await t.uploadContent(e)).content_uri}}async downloadFile(e){const t=u.J.safeGet(),n=(0,U.mediaFromMxc)(e,t),s=await n.downloadSource();return{file:await s.blob()}}getKnownRooms(){return u.J.safeGet().getVisibleRooms(D.A.getValue("feature_dynamic_room_predecessors")).map(e=>e.roomId)}processError(e){return e instanceof o.MatrixError?{matrix_api_error:e.asWidgetApiErrorData()}:void 0}}var V=n("./src/stores/widgets/WidgetMessagingStore.ts"),H=n("./src/stores/OwnProfileStore.ts"),z=n("./src/utils/WidgetUtils.ts"),W=n("./src/integrations/IntegrationManagers.ts"),K=n("./src/stores/ActiveWidgetStore.ts"),$=n("./src/dispatcher/actions.ts"),J=n("./src/stores/widgets/ElementWidgetActions.ts"),G=n("./src/stores/AsyncStoreWithClient.ts"),q=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/error.js"),Y=n("./src/components/views/elements/AccessibleButton.tsx");const Z="io.element.web";var Q=n("./src/settings/watchers/ThemeWatcher.ts");function X(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function ee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?X(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class te extends p.PureComponent{constructor(e){super(e),(0,s.A)(this,"widget",void 0),(0,s.A)(this,"possibleButtons",void 0),(0,s.A)(this,"appFrame",p.createRef()),(0,s.A)(this,"themeWatcher",new Q.A),(0,s.A)(this,"state",{disabledButtonIds:(this.props.widgetDefinition.buttons||[]).filter(e=>e.disabled).map(e=>e.id)}),(0,s.A)(this,"onReady",()=>{var e;this.themeWatcher.start(),this.themeWatcher.on(Q.S.Change,this.onThemeChange),this.onThemeChange(this.themeWatcher.getEffectiveTheme()),null===(e=this.state.messaging)||void 0===e||e.sendWidgetConfig(this.props.widgetDefinition)}),(0,s.A)(this,"onLoad",()=>{this.state.messaging&&(this.state.messaging.once("ready",this.onReady),this.state.messaging.on(`action:${r.WidgetApiFromWidgetAction.CloseModalWidget}`,this.onWidgetClose),this.state.messaging.on(`action:${r.WidgetApiFromWidgetAction.SetModalButtonEnabled}`,this.onButtonEnableToggle))}),(0,s.A)(this,"onThemeChange",e=>{var t;null===(t=this.state.messaging)||void 0===t||t.updateTheme({name:e})}),(0,s.A)(this,"onWidgetClose",e=>{this.props.onFinished(!0,e.detail.data)}),(0,s.A)(this,"onButtonEnableToggle",e=>{var t;e.preventDefault();var n;if(e.detail.data.button===r.BuiltInModalButtonID.Close||!this.possibleButtons.includes(e.detail.data.button))return null===(n=this.state.messaging)||void 0===n?void 0:n.transport.reply(e.detail,{error:{message:"Invalid button"}});let s;if(e.detail.data.enabled)s=(0,d.PF)(this.state.disabledButtonIds).filter(t=>t!==e.detail.data.button);else{const t=new Set(this.state.disabledButtonIds);t.add(e.detail.data.button),s=Array.from(t)}this.setState({disabledButtonIds:s}),null===(t=this.state.messaging)||void 0===t||t.transport.reply(e.detail,{})}),this.widget=new pe(ee(ee({},this.props.widgetDefinition),{},{creatorUserId:u.J.safeGet().getSafeUserId(),id:`modal_${this.props.sourceWidgetId}`})),this.possibleButtons=(this.props.widgetDefinition.buttons||[]).map(e=>e.id)}componentDidMount(){const e=new B(this.widget,r.WidgetKind.Modal,!1),t=new r.ClientWidgetApi(this.widget,this.appFrame.current,e);this.setState({messaging:t})}componentWillUnmount(){this.themeWatcher.off(Q.S.Change,this.onThemeChange),this.themeWatcher.stop(),this.state.messaging&&(this.state.messaging.off("ready",this.onReady),this.state.messaging.off(`action:${r.WidgetApiFromWidgetAction.CloseModalWidget}`,this.onWidgetClose),this.state.messaging.stop())}render(){var e,t,n;const s=this.widget.getCompleteUrl({widgetRoomId:this.props.widgetRoomId,currentUserId:u.J.safeGet().getSafeUserId(),userDisplayName:null!==(e=H.V.instance.displayName)&&void 0!==e?e:void 0,userHttpAvatarUrl:null!==(t=H.V.instance.getHttpAvatarUrl())&&void 0!==t?t:void 0,clientId:Z,clientTheme:this.themeWatcher.getEffectiveTheme(),clientLanguage:(0,l.mf)(),baseUrl:u.J.safeGet().baseUrl}),o=new URL(s);o.searchParams.set("widgetId",this.widget.id),o.searchParams.set("parentUrl",window.location.href.split("#",2)[0]);const i=o.toString().replace(/%24/g,"$");let a;return this.props.widgetDefinition.buttons&&(a=this.props.widgetDefinition.buttons.slice(0,3).reverse().map(e=>{let t="secondary";switch(e.kind){case r.ModalButtonKind.Primary:t="primary";break;case r.ModalButtonKind.Secondary:t="primary_outline";break;case r.ModalButtonKind.Danger:t="danger"}const n=this.state.disabledButtonIds.includes(e.id);return p.createElement(Y.A,{key:e.id,kind:t,onClick:()=>{var t;null===(t=this.state.messaging)||void 0===t||t.notifyModalWidgetButtonClicked(e.id)},disabled:n},e.label)})),p.createElement(f.A,{title:this.props.widgetDefinition.name||(0,l._t)("widget|modal_title_default"),className:"mx_ModalWidgetDialog",contentId:"mx_Dialog_content",onFinished:this.props.onFinished},p.createElement("div",{className:"mx_ModalWidgetDialog_warning"},p.createElement(q.A,{width:"16px",height:"16px"}),(0,l._t)("widget|modal_data_warning",{widgetDomain:o.hostname})),p.createElement("div",null,p.createElement("iframe",{title:null!==(n=this.widget.name)&&void 0!==n?n:void 0,ref:this.appFrame,sandbox:"allow-forms allow-scripts allow-same-origin",src:i,onLoad:this.onLoad})),p.createElement("div",{className:"mx_ModalWidgetDialog_buttons"},a))}}var ne;function se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function oe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?se(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):se(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class ie extends G.r{constructor(){super(M.A,{}),(0,s.A)(this,"modalInstance",null),(0,s.A)(this,"openSourceWidgetId",null),(0,s.A)(this,"openSourceWidgetRoomId",null),(0,s.A)(this,"canOpenModalWidget",()=>!this.modalInstance),(0,s.A)(this,"openModalWidget",(e,t,n)=>{this.modalInstance||(this.openSourceWidgetId=t.id,this.openSourceWidgetRoomId=null!=n?n:null,this.modalInstance=m.Ay.createDialog(te,{widgetDefinition:oe({},e),widgetRoomId:n,sourceWidgetId:t.id},void 0,!1,!0),this.modalInstance.finished.then(([e,s])=>{this.closeModalWidget(t,n,e&&s?s:{"m.exited":!0}),this.openSourceWidgetId=null,this.openSourceWidgetRoomId=null,this.modalInstance=null}))}),(0,s.A)(this,"closeModalWidget",(e,t,n)=>{if(this.modalInstance&&this.openSourceWidgetId===e.id&&this.openSourceWidgetRoomId===t){this.openSourceWidgetId=null,this.openSourceWidgetRoomId=null,this.modalInstance.close(),this.modalInstance=null;const s=V.c.instance.getMessaging(e,t);if(null==s||!s.widgetApi)return void a.vF.error("No source widget API for modal widget");s.widgetApi.notifyModalWidgetClose(n)}})}static get instance(){return ie.internalInstance}async onAction(e){}}ne=ie,(0,s.A)(ie,"internalInstance",(()=>{const e=new ne;return e.start(),e})()),window.mxModalWidgetStore=ie.instance;var re=n("./src/stores/WidgetStore.ts"),ae=n("./src/theme.ts"),le=n("./src/customisations/WidgetVariables.ts"),ce=n("./src/components/views/dialogs/ErrorDialog.tsx"),de=n("./src/stores/AsyncStore.ts");function ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function me(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ue(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ue(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class pe extends r.Widget{constructor(e){super(e),this.rawDefinition=e}get templateUrl(){var e;return P.x.JITSI.matches(this.type)?z.A.getLocalJitsiWrapperUrl({forLocalRender:!0,auth:null===(e=super.rawData)||void 0===e?void 0:e.auth}):super.templateUrl}get popoutTemplateUrl(){var e;return P.x.JITSI.matches(this.type)?z.A.getLocalJitsiWrapperUrl({forLocalRender:!1,auth:null===(e=super.rawData)||void 0===e?void 0:e.auth}):this.templateUrl}get rawData(){let e=super.rawData.conferenceId;if(void 0===e){e=new URL(super.templateUrl).searchParams.get("confId")}let t=super.rawData.domain;void 0===t&&(t="meet.element.io");let n=(new Q.A).getEffectiveTheme();if(n.startsWith("custom-")){const e=(0,ae.TP)(n.slice(7));n=e.is_dark?"dark":"light"}return n=n.includes("light")?"light":"dark",me(me({},super.rawData),{},{theme:n,conferenceId:e,domain:t})}getCompleteUrl(e,t=!1){return(0,r.runTemplate)(t?this.popoutTemplateUrl:this.templateUrl,me(me({},this.rawDefinition),{},{data:this.rawData}),e)}}let he=function(e){return e.Start="start",e.Stop="stop",e}({});class ge extends o.TypedEventEmitter{constructor(e,t){var n;super(),(0,s.A)(this,"client",void 0),(0,s.A)(this,"iframe",null),(0,s.A)(this,"scalarToken",void 0),(0,s.A)(this,"roomId",void 0),(0,s.A)(this,"viewedRoomId",null),(0,s.A)(this,"kind",void 0),(0,s.A)(this,"virtual",void 0),(0,s.A)(this,"themeWatcher",new Q.A),(0,s.A)(this,"readUpToMap",{}),(0,s.A)(this,"stickyPromise",void 0),(0,s.A)(this,"eventsToFeed",new WeakSet),(0,s.A)(this,"_widgetApi",null),(0,s.A)(this,"onThemeChange",e=>{var t;null===(t=this.widgetApi)||void 0===t||t.updateTheme({name:e})}),(0,s.A)(this,"onOpenModal",async e=>{var t,n;(e.preventDefault(),ie.instance.canOpenModalWidget())?(ie.instance.openModalWidget(e.detail.data,this.widget,this.roomId),null===(t=this.widgetApi)||void 0===t||t.transport.reply(e.detail,{})):null===(n=this.widgetApi)||void 0===n||n.transport.reply(e.detail,{error:{message:"Unable to open modal at this time"}})}),(0,s.A)(this,"onRoomViewStoreUpdate",()=>{var e;const t=null!==(e=y.M.instance.roomViewStore.getRoomId())&&void 0!==e?e:null;t!==this.viewedRoomId&&(this.widgetApi.setViewedRoomId(t),this.viewedRoomId=t)}),(0,s.A)(this,"onEvent",e=>{this.client.decryptEventIfNeeded(e),this.feedEvent(e)}),(0,s.A)(this,"onEventDecrypted",e=>{this.feedEvent(e)}),(0,s.A)(this,"onStateUpdate",e=>{if(null===this.widgetApi)return;const t=e.getEffectiveEvent();this.widgetApi.feedStateUpdate(t).catch(e=>{a.vF.error("Error sending state update to widget: ",e)})}),(0,s.A)(this,"onToDeviceMessage",async({message:e,encryptionInfo:t})=>{var n;await(null===(n=this.widgetApi)||void 0===n?void 0:n.feedToDevice(e,null!=t))}),this.widget=e,this.client=u.J.safeGet(),this.roomId=null===(n=t.room)||void 0===n?void 0:n.roomId,this.kind=t.userWidget?r.WidgetKind.Account:r.WidgetKind.Room,this.virtual=(0,re.Sw)(t.app)&&void 0===t.app.eventId,this.stickyPromise=t.stickyPromise}set widgetApi(e){this._widgetApi=e}get widgetApi(){return this._widgetApi}get embedUrl(){return this.runUrlTemplate({asPopout:!1})}get popoutUrl(){return this.runUrlTemplate({asPopout:!0})}runUrlTemplate(e={asPopout:!1}){var t,n,s,o,i;const r=null!==(t=null===le.c||void 0===le.c||null===(n=le.c.provideVariables)||void 0===n?void 0:n.call(le.c))&&void 0!==t?t:{},a={widgetRoomId:this.roomId,currentUserId:this.client.getUserId(),userDisplayName:null!==(s=H.V.instance.displayName)&&void 0!==s?s:void 0,userHttpAvatarUrl:null!==(o=H.V.instance.getHttpAvatarUrl())&&void 0!==o?o:void 0,clientId:Z,clientTheme:this.themeWatcher.getEffectiveTheme(),clientLanguage:(0,l.mf)(),deviceId:null!==(i=this.client.getDeviceId())&&void 0!==i?i:void 0,baseUrl:this.client.baseUrl},c=this.widget.getCompleteUrl(Object.assign(a,r),null==e?void 0:e.asPopout),d=new URL(c);return null!=e&&e.asPopout||(d.searchParams.set("widgetId",this.widget.id),d.searchParams.set("parentUrl",window.location.href.split("#",2)[0]),this.scalarToken&&d.searchParams.set("scalar_token",this.scalarToken)),d.toString().replace(/%24/g,"$")}start(e){if(null!==this.widgetApi)return;this.iframe=e;const t=new B(this.widget,this.kind,this.virtual,this.roomId);var n;(this.widgetApi=new r.ClientWidgetApi(this.widget,e,t),this.widgetApi.once("ready",()=>{this.themeWatcher.start(),this.themeWatcher.on(Q.S.Change,this.onThemeChange),this.onThemeChange(this.themeWatcher.getEffectiveTheme())}),this.widgetApi.on(`action:${r.WidgetApiFromWidgetAction.OpenModalWidget}`,this.onOpenModal),void 0===this.roomId)?(this.widgetApi.setViewedRoomId(null!==(n=y.M.instance.roomViewStore.getRoomId())&&void 0!==n?n:null),y.M.instance.roomViewStore.on(de.H,this.onRoomViewStoreUpdate)):this.widgetApi.setViewedRoomId(this.roomId);this.widgetApi.on(`action:${J.k.ViewRoom}`,e=>{var t;e.preventDefault();const n=(e.detail.data||{}).room_id;var s,o;return n?null!==(t=this.widgetApi)&&void 0!==t&&t.hasCapability(x.z.CanChangeViewedRoom)?(M.A.dispatch({action:$.r.ViewRoom,room_id:n,metricsTrigger:"Widget"}),void this.widgetApi.transport.reply(e.detail,{})):null===(o=this.widgetApi)||void 0===o?void 0:o.transport.reply(e.detail,{error:{message:"This widget does not have permission for this action (denied)."}}):null===(s=this.widgetApi)||void 0===s?void 0:s.transport.reply(e.detail,{error:{message:"Room ID not supplied."}})});for(const e of this.client.getRooms()){var s;const t=(null===(s=e.getLiveTimeline())||void 0===s?void 0:s.getEvents())||[],n=t[t.length-1];n&&(this.readUpToMap[e.roomId]=n.getId())}this.client.on(o.ClientEvent.Event,this.onEvent),this.client.on(o.MatrixEventEvent.Decrypted,this.onEventDecrypted),this.client.on(o.RoomStateEvent.Events,this.onStateUpdate),this.client.on(o.ClientEvent.ReceivedToDeviceMessage,this.onToDeviceMessage),this.widgetApi.on(`action:${r.WidgetApiFromWidgetAction.UpdateAlwaysOnScreen}`,async e=>{var t,n;null!==(t=this.widgetApi)&&void 0!==t&&t.hasCapability(r.MatrixCapabilities.AlwaysOnScreen)&&(e.preventDefault(),e.detail.data.value&&this.stickyPromise&&await this.stickyPromise(),K.A.instance.setWidgetPersistence(this.widget.id,null!==(n=this.roomId)&&void 0!==n?n:null,e.detail.data.value),this.widgetApi.transport.reply(e.detail,{}))}),this.widgetApi.on(`action:${r.WidgetApiFromWidgetAction.SendSticker}`,e=>{var t;null!==(t=this.widgetApi)&&void 0!==t&&t.hasCapability(r.MatrixCapabilities.StickerSending)&&(e.preventDefault(),this.widgetApi.transport.reply(e.detail,{}),M.A.dispatch({action:"m.sticker",data:e.detail.data,widgetId:this.widget.id}))}),P.x.STICKERPICKER.matches(this.widget.type)&&this.widgetApi.on(`action:${J.k.OpenIntegrationManager}`,e=>{var t,n;e.preventDefault(),null===(t=this.widgetApi)||void 0===t||t.transport.reply(e.detail,{}),M.A.dispatch({action:"stickerpicker_close"});const s=e.detail.data,o=null==s?void 0:s.integType,i=null==s?void 0:s.integId,r=y.M.instance.roomViewStore.getRoomId(),a=r?this.client.getRoom(r):void 0;a&&(null===(n=W.J.sharedInstance())||void 0===n||null===(n=n.getPrimaryManager())||void 0===n||n.open(a,`type_${o}`,i))}),P.x.JITSI.matches(this.widget.type)&&this.widgetApi.on(`action:${J.k.HangupCall}`,e=>{var t,n;e.preventDefault(),null!==(t=e.detail.data)&&void 0!==t&&t.errorMessage&&m.Ay.createDialog(ce.A,{title:(0,l._t)("widget|error_hangup_title"),description:(0,l._t)("widget|error_hangup_description",{message:e.detail.data.errorMessage})}),null===(n=this.widgetApi)||void 0===n||n.transport.reply(e.detail,{})}),this.emit(he.Start,this.widgetApi)}async prepare(){var e,t;if(await(null!==(e=null===le.c||void 0===le.c||null===(t=le.c.isReady)||void 0===t?void 0:t.call(le.c))&&void 0!==e?e:Promise.resolve()),!this.scalarToken)try{if(z.A.isScalarUrl(this.widget.templateUrl)){const e=W.J.sharedInstance();if(e.hasManager()){const t=e.getPrimaryManager();if(t&&z.A.isScalarUrl(t.apiUrl)){const e=t.getScalarClient();this.scalarToken=await e.getScalarToken()}}}}catch(e){a.vF.error("Error preparing widget communications: ",e)}}stop(e={forceDestroy:!1}){var t,n,s;if(null!==this.widgetApi&&null!==this.iframe){if(e.forceDestroy)this.iframe.src="about:blank";else if(K.A.instance.getWidgetPersistence(this.widget.id,null!==(t=this.roomId)&&void 0!==t?t:null))return void a.vF.log("Skipping destroy - persistent widget");this.emit(he.Stop,this.widgetApi),null===(n=this.widgetApi)||void 0===n||n.stop(),null===(s=this.widgetApi)||void 0===s||s.removeAllListeners(),this.widgetApi=null,this.iframe=null,V.c.instance.stopMessaging(this.widget,this.roomId),y.M.instance.roomViewStore.off(de.H,this.onRoomViewStoreUpdate),this.client.off(o.ClientEvent.Event,this.onEvent),this.client.off(o.MatrixEventEvent.Decrypted,this.onEventDecrypted),this.client.off(o.RoomStateEvent.Events,this.onStateUpdate),this.client.off(o.ClientEvent.ReceivedToDeviceMessage,this.onToDeviceMessage)}}relatesToUnknown(e){if(!e.relationEventId||e.replyEventId)return!1;const t=this.client.getRoom(e.getRoomId());return null===t||!t.findEventById(e.relationEventId)}isFromInvite(e){const t=this.client.getRoom(e.getRoomId());return(null==t?void 0:t.getMyMembership())===i.O.Invite}advanceReadUpToMarker(e){const t=e.getId();if(void 0===t)return!1;const n=e.getRoomId();if(void 0===n)return!1;const s=this.client.getRoom(n);if(null===s)return!1;const o=this.readUpToMap[e.getRoomId()];if(!o)return this.readUpToMap[n]=t,!0;if(o===t)return!1;const i=s.getLiveTimeline(),r=(0,d.PF)(i.getEvents()).reverse().slice(0,100);for(const s of r){if(s.getId()===o)return!1;if(s.getId()===e.getId())return this.readUpToMap[n]=t,!0}return!1}feedEvent(e){if(null!==this.widgetApi&&(this.eventsToFeed.delete(e)||this.relatesToUnknown(e)||this.isFromInvite(e)||this.advanceReadUpToMarker(e)))if(e.isBeingDecrypted()||e.isDecryptionFailure())this.eventsToFeed.add(e);else{const t=e.getEffectiveEvent();this.widgetApi.feedEvent(t).catch(e=>{a.vF.error("Error sending event to widget: ",e)})}}}},"./src/stores/widgets/WidgetMessagingStore.ts"(e,t,n){"use strict";n.d(t,{c:()=>d,w:()=>c});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./src/stores/AsyncStoreWithClient.ts"),r=n("./src/dispatcher/dispatcher.ts"),a=n("./src/utils/maps.ts"),l=n("./src/utils/WidgetUtils.ts");let c=function(e){return e.StoreMessaging="store_messaging",e.StopMessaging="stop_messaging",e}({});class d extends i.r{constructor(){super(r.A),(0,o.A)(this,"widgetMap",new a.h)}static get instance(){return d.internalInstance}async onAction(e){}async onReady(){this.widgetMap.clear()}storeMessaging(e,t,n){this.stopMessaging(e,t);const s=l.A.calcWidgetUid(e.id,t);this.widgetMap.set(s,n),this.emit(c.StoreMessaging,s,n)}stopMessaging(e,t){this.stopMessagingByUid(l.A.calcWidgetUid(e.id,t))}getMessaging(e,t){return this.widgetMap.get(l.A.calcWidgetUid(e.id,t))}stopMessagingByUid(e){const t=this.widgetMap.remove(e);void 0!==t&&(t.stop(),this.emit(c.StopMessaging,e))}getMessagingForUid(e){return this.widgetMap.get(e)}}s=d,(0,o.A)(d,"internalInstance",(()=>{const e=new s;return e.start(),e})())},"./src/stores/widgets/WidgetPermissionStore.ts"(e,t,n){"use strict";n.d(t,{R:()=>r,r:()=>a});var s=n("./node_modules/matrix-widget-api/lib/index.js"),o=n("./src/settings/SettingsStore.ts"),i=n("./src/settings/SettingLevel.ts");let r=function(e){return e[e.Allowed=0]="Allowed",e[e.Denied=1]="Denied",e[e.Unknown=2]="Unknown",e}({});class a{constructor(e){this.context=e}packSettingKey(e,t,n){let o=n;var i;t!==s.WidgetKind.Room&&(o=null===(i=this.context.client)||void 0===i?void 0:i.getUserId());if(t===s.WidgetKind.Modal&&(o="*MODAL*-"+o),!o)throw new Error("Failed to determine a location to check the widget's OIDC state with");return encodeURIComponent(`${o}::${e.templateUrl}`)}getOIDCState(e,t,n){var s,i;const a=this.packSettingKey(e,t,n),l=o.A.getValue("widgetOpenIDPermissions");return null!=l&&null!==(s=l.deny)&&void 0!==s&&s.includes(a)?r.Denied:null!=l&&null!==(i=l.allow)&&void 0!==i&&i.includes(a)?r.Allowed:r.Unknown}setOIDCState(e,t,n,s){const a=this.packSettingKey(e,t,n);let l=o.A.getValue("widgetOpenIDPermissions");l||(l={}),l.allow||(l.allow=[]),l.deny||(l.deny=[]),s===r.Allowed?l.allow.push(a):s===r.Denied?l.deny.push(a):(l.allow=l.allow.filter(e=>e!==a),l.deny=l.deny.filter(e=>e!==a)),o.A.setValue("widgetOpenIDPermissions",null,i.p.DEVICE,l)}}},"./src/stores/widgets/types.ts"(e,t,n){"use strict";n.d(t,{S:()=>s,m:()=>o});const s="io.element.widgets.layout";let o=function(e){return e.Top="top",e.Right="right",e.Center="center",e}({})},"./src/theme.ts"(e,t,n){"use strict";n.d(t,{AZ:()=>m,E0:()=>h,SS:()=>l,TJ:()=>d,TP:()=>b,Yl:()=>w,kZ:()=>u,v2:()=>p});var s=n("./node_modules/matrix-js-sdk/src/logger.ts"),o=n("./src/languageHandler.tsx"),i=n("./src/settings/SettingsStore.ts"),r=n("./src/settings/watchers/ThemeWatcher.ts"),a=n("./src/settings/watchers/FontWatcher.ts");const l="light",c={light:"light-high-contrast"};function d(e){return c[e]}function u(e){for(const t in c)if(c[t]===e)return t}function m(e){return Object.values(c).includes(e)}function p(){const e={light:(0,o._t)("common|light"),"light-high-contrast":(0,o._t)("theme|light_high_contrast"),dark:(0,o._t)("common|dark")},t=i.A.getValue("custom_themes")||[],n={};try{for(const{name:e}of t)n[`custom-${e}`]=e}catch(e){s.vF.warn("Error loading custom themes",{err:e,customThemes:t})}return Object.assign({},n,e)}function h(){const e=Object.entries(p()).map(e=>({id:e[0],name:e[1]})).filter(e=>!m(e.id)),t=e.filter(e=>!e.id.startsWith("custom-")),n=new Intl.Collator,s=e.filter(e=>!t.includes(e)).sort((e,t)=>n.compare(e.name,t.name));return[...t,...s]}const g=["font-display","font-family","font-stretch","font-style","font-weight","font-variant","font-feature-settings","font-variation-settings","src","unicode-range"];const v=/^--cpd-[a-z0-9-]+$/;function f(e){switch(e.length){case 4:case 5:return`#${e.slice(1).split("").map(e=>e+e).join("")}`;case 7:return`${e}ff`;default:return e}}function _(e,t){return f(e).slice(0,7)+Math.round(t).toString(16).padStart(2,"0")}function y(e){const{style:t}=document.body;function n(e,n,s=!0){t.setProperty(`--${e}`,n);const o=f(n),i=function(e){return parseInt(e.slice(7),16)}(o);s&&(t.setProperty(`--${e}-0pct`,_(o,0)),t.setProperty(`--${e}-15pct`,_(o,.15*i)),t.setProperty(`--${e}-50pct`,_(o,.5*i)))}if(e.colors)for(const[t,s]of Object.entries(e.colors))if(Array.isArray(s))for(let e=0;e<s.length;e+=1)n(`${t}_${e}`,s[e],!1);else n(t,s);if(e.fonts){const{fonts:n}=e;if(n.faces){const e=n.faces.map(e=>{var t;const n=null===(t=e.src)||void 0===t?void 0:t.map(e=>{let t="";return e.format&&(t=`format("${e.format}")`),e.url?`url("${e.url}") ${t}`:e.local?`local("${e.local}") ${t}`:""}).join(", ");return`@font-face {${Object.keys(e).filter(e=>g.includes(e)).map(t=>{let s;return s="src"===t?n:"font-family"===t?`"${e[t]}"`:e[t],`${t}: ${s}`}).join(";")}}`}).join("\n"),t=document.createElement("style");t.setAttribute("title","custom-theme-font-faces"),t.setAttribute("type","text/css"),t.appendChild(document.createTextNode(e)),document.head.appendChild(t)}n.general&&t.setProperty("--font-family",n.general),n.monospace&&t.setProperty("--font-family-monospace",n.monospace)}if(e.compound){const t=function(e){const t=[];for(const[n,o]of Object.entries(e))v.test(n)?t.push(`${n}: ${o};`):s.vF.warn(`'${n}' is not a valid Compound token`);return`@layer compound.custom { :root, [class*="cpd-theme-"] { ${t.join(" ")} } }`}(e.compound),n=document.createElement("style");n.setAttribute("title","custom-theme-compound"),n.setAttribute("type","text/css"),n.appendChild(document.createTextNode(t)),document.head.appendChild(n)}}function b(e){const t=i.A.getValue("custom_themes");if(!t)throw new Error(`No custom themes set, can't set custom theme "${e}"`);const n=t.find(t=>t.name===e);if(!n){const n=t.map(e=>e.name).join(", ");throw new Error(`Can't find custom theme "${e}", only know ${n}`)}return n}async function w(e){if(!e){e=(new r.A).getEffectiveTheme()}!function(){var e,t;const n=Object.values(document.body.style);for(const e of n)"string"==typeof e&&e.startsWith("--")&&e!==a.g.FONT_FAMILY_CUSTOM_PROPERTY&&e!==a.g.EMOJI_FONT_FAMILY_CUSTOM_PROPERTY&&document.body.style.removeProperty(e);null===(e=document.querySelector("head > style[title='custom-theme-font-faces']"))||void 0===e||e.remove(),null===(t=document.querySelector("head > style[title='custom-theme-compound']"))||void 0===t||t.remove()}();let t=e;if(e.startsWith("custom-")){const n=b(e.slice(7));t=n.is_dark?"dark-custom":"light-custom",y(n)}const s=new Map;if(Array.from(document.querySelectorAll("[data-mx-theme]")).forEach(e=>{s.set(e.dataset.mxTheme.toLowerCase(),e)}),!s.has(t))throw new Error("Unknown theme "+t);const o=s.get(t);o.disabled=!1,document.body.classList.remove("cpd-theme-light","cpd-theme-dark","cpd-theme-light-hc","cpd-theme-dark-hc");let i="cpd-theme-"+(t.includes("light")?"light":"dark");return(m(e)||window.matchMedia("(prefers-contrast: more)").matches)&&(i+="-hc"),document.body.classList.add(i),new Promise((e,t)=>{const i=function(){o.disabled=!1,s.forEach(e=>{e!=o&&(e.disabled=!0)});const t=n.g.getComputedStyle(document.body);if(t.backgroundColor){document.querySelector('meta[name="theme-color"]').content=t.backgroundColor}e()},r=()=>Boolean([...document.styleSheets].find(e=>(null==e?void 0:e.href)===o.href));!function(){if(r())return void i();let e=0;const n=window.setInterval(()=>{r()&&(clearInterval(n),o.onload=null,o.onerror=null,i()),e++,10===e&&(clearInterval(n),t())},200);o.onload=()=>{clearInterval(n),i()},o.onerror=e=>{clearInterval(n),t(e)}}()})}},"./src/toasts/DesktopNotificationsToast.ts"(e,t,n){"use strict";n.d(t,{P:()=>h,Y:()=>g});var s=n("./src/languageHandler.tsx"),o=n("./src/Notifier.ts"),i=n("./src/components/views/toasts/GenericToast.tsx"),r=n("./src/stores/ToastStore.ts"),a=n("./src/MatrixClientPeg.ts"),l=n("./src/utils/notifications.ts"),c=n("./src/settings/SettingsStore.ts"),d=n("./src/settings/SettingLevel.ts");const u=async()=>{await c.A.setValue("notificationsEnabled",null,d.p.DEVICE,!0);const e=a.J.safeGet(),t=(0,l.uG)(e.deviceId);e.setAccountData(t,{is_silenced:!1})},m=()=>{o.default.setPromptHidden(!0)},p="desktopnotifications",h=e=>{r.A.sharedInstance().addOrReplaceToast({key:p,title:e?(0,s._t)("notifications|enable_prompt_toast_title_from_message_send"):(0,s._t)("notifications|enable_prompt_toast_title"),props:{description:(0,s._t)("notifications|enable_prompt_toast_description"),primaryLabel:(0,s._t)("action|enable"),onPrimaryClick:u,secondaryLabel:(0,s._t)("action|dismiss"),onSecondaryClick:m},component:i.A,priority:30})},g=()=>{r.A.sharedInstance().dismissToast(p)}},"./src/toasts/UpdateToast.tsx"(e,t,n){"use strict";n.d(t,{Y:()=>b,P:()=>y});var s=n("./node_modules/react/index.js"),o=n("./src/languageHandler.tsx"),i=n("./src/SdkConfig.ts"),r=n("./src/components/views/toasts/GenericToast.tsx"),a=n("./src/stores/ToastStore.ts"),l=n("./src/components/views/dialogs/QuestionDialog.tsx"),c=n("./src/components/views/elements/Spinner.tsx"),d=n("./src/components/views/typography/Heading.tsx");const u=["element-hq/element-web","matrix-org/matrix-js-sdk"];function m(e){const t=e.split("-");if(3===t.length&&"js"===t[1]){const e={};for(let n=0;n<u.length;n++){const s=t[2*n];e[u[n]]=s}return e}return null}function p(e){return null!==m(e)}class h extends s.Component{constructor(e){super(e),this.state={}}async fetchChanges(e,t,n){const s=`https://riot.im/github/repos/${e}/compare/${t}...${n}`;try{const t=await fetch(s);if(!t.ok)return void this.setState({[e]:t.statusText});const n=await t.json();this.setState({[e]:n.commits})}catch(t){this.setState({[e]:t instanceof Error?t.message:(0,o._t)("error|unknown")})}}componentDidMount(){const e=m(this.props.version),t=m(this.props.newVersion);for(const n of u)this.fetchChanges(n,e[n],t[n])}elementsForCommit(e){return s.createElement("li",{key:e.sha,className:"mx_ChangelogDialog_li"},s.createElement("a",{href:e.html_url,target:"_blank",rel:"noreferrer noopener"},e.commit.message.split("\n")[0]))}render(){const e=u.map(e=>{let t;return t=null==this.state[e]?s.createElement(c.A,{key:e}):"string"==typeof this.state[e]?(0,o._t)("update|error_unable_load_commit",{msg:this.state[e]}):this.state[e].map(this.elementsForCommit),s.createElement("div",{key:e},s.createElement(d.A,{as:"h2",size:"4"},e),s.createElement("ul",null,t))}),t=s.createElement("div",{className:"mx_ChangelogDialog_content"},null==this.props.version||null==this.props.newVersion?s.createElement("h2",null,(0,o._t)("update|unavailable")):e);return s.createElement(l.A,{title:(0,o._t)("update|changelog"),description:t,button:(0,o._t)("action|update"),onFinished:this.props.onFinished})}}var g=n("./src/PlatformPeg.ts"),v=n("./src/Modal.tsx");const f="update";function _(){var e;null===(e=g.A.get())||void 0===e||e.installUpdate()}const y=(e,t,n)=>{let c,d=(0,o._t)("update|see_changes_button");n?c=()=>{const{finished:e}=v.Ay.createDialog(l.A,{title:(0,o._t)("update|release_notes_toast_title"),description:s.createElement("pre",null,n),button:(0,o._t)("action|update")});e.then(([e])=>{e&&g.A.get()&&g.A.get().installUpdate()})}:p(e)&&p(t)?c=()=>{const{finished:n}=v.Ay.createDialog(h,{version:e,newVersion:t});n.then(([e])=>{e&&g.A.get()&&g.A.get().installUpdate()})}:(c=_,d=(0,o._t)("action|update"));const u=i.Ay.get().brand;a.A.sharedInstance().addOrReplaceToast({key:f,title:(0,o._t)("update|toast_title",{brand:u}),props:{description:(0,o._t)("update|toast_description",{brand:u}),primaryLabel:d,onPrimaryClick:c,secondaryLabel:(0,o._t)("action|dismiss"),onSecondaryClick:function(){var e;null===(e=g.A.get())||void 0===e||e.deferUpdate(t)}},component:r.A,priority:20})},b=()=>{a.A.sharedInstance().dismissToast(f)}},"./src/utils/BrowserWorkarounds.ts"(e,t,n){"use strict";function s(e){e.currentTarget.value=""}n.d(t,{e:()=>s})},"./src/utils/DMRoomMap.ts"(e,t,n){"use strict";n.d(t,{A:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/lodash/uniq.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./node_modules/matrix-js-sdk/src/types.ts"),a=n("./node_modules/matrix-js-sdk/src/logger.ts"),l=n("./src/utils/dm/filterValidMDirect.ts");class c{constructor(e){var t,n;(0,s.A)(this,"roomToUser",null),(0,s.A)(this,"userToRooms",null),(0,s.A)(this,"hasSentOutPatchDirectAccountDataPatch",void 0),(0,s.A)(this,"mDirectEvent",void 0),(0,s.A)(this,"onAccountData",e=>{e.getType()==i.EventType.Direct&&(this.setMDirectFromContent(e.getContent()),this.userToRooms=null,this.roomToUser=null)}),this.matrixClient=e,this.hasSentOutPatchDirectAccountDataPatch=!1;const o=null!==(t=null===(n=e.getAccountData(i.EventType.Direct))||void 0===n?void 0:n.getContent())&&void 0!==t?t:{};this.setMDirectFromContent(o)}static makeShared(e){return c.sharedInstance=new c(e),c.sharedInstance}static setShared(e){c.sharedInstance=e}static shared(){return c.sharedInstance}start(){this.populateRoomToUser(),this.matrixClient.on(i.ClientEvent.AccountData,this.onAccountData)}stop(){this.matrixClient.removeListener(i.ClientEvent.AccountData,this.onAccountData)}setMDirectFromContent(e){const{valid:t,filteredContent:n}=(0,l.d)(e);t||a.vF.warn("Invalid m.direct content occurred",e),this.mDirectEvent=n}patchUpSelfDMs(e){const t=this.matrixClient.getUserId(),n=e[t];if(n){const s=n.map(e=>{const n=this.matrixClient.getRoom(e);if(n){const s=n.guessDMUserId();if(s&&s!==t)return{userId:s,roomId:e}}}).filter(e=>!!e);return!!s.length&&(e[t]=n.filter(e=>!s.some(t=>t.roomId===e)),s.forEach(({userId:t,roomId:n})=>{const s=e[t];s?(s.push(n),e[t]=(0,o.A)(s)):e[t]=[n]}),!0)}return!1}getDMRoomsForUserId(e){return this.getUserToRooms()[e]||[]}getDMRoomForIdentifiers(e){let t=this.getDMRoomsForUserId(e[0]);for(let n=1;n<e.length;n++){const s=this.getDMRoomsForUserId(e[n]);t=t.filter(e=>s.includes(e))}return t.map(e=>this.matrixClient.getRoom(e)).filter(e=>e&&e.getMyMembership()===r.O.Join)[0]}getUserIdForRoomId(e){if(null==this.roomToUser&&this.populateRoomToUser(),void 0===this.roomToUser[e]){const t=this.matrixClient.getRoom(e);if(t)return t.getDMInviter()}return this.roomToUser[e]}getUniqueRoomsWithIndividuals(){return this.roomToUser?Object.keys(this.roomToUser).reduce((e,t)=>{const n=this.getUserIdForRoomId(t),s=this.matrixClient.getRoom(t),o=2===(null==s?void 0:s.getInvitedAndJoinedMemberCount());return n&&s&&o&&(e[n]=s),e},{}):{}}getRoomIds(){return Object.values(this.mDirectEvent).reduce((e,t)=>(t.forEach(t=>e.add(t)),e),new Set)}getUserToRooms(){if(!this.userToRooms){const e=this.mDirectEvent,t=e[this.matrixClient.getUserId()];if(null!=t&&t.length){const t=this.patchUpSelfDMs(e);a.vF.warn("Invalid m.direct account data detected (self-chats that shouldn't be), patching it up."),t&&!this.hasSentOutPatchDirectAccountDataPatch&&(this.hasSentOutPatchDirectAccountDataPatch=!0,this.matrixClient.setAccountData(i.EventType.Direct,e))}this.userToRooms=e}return this.userToRooms}populateRoomToUser(){this.roomToUser={};for(const e of Object.keys(this.getUserToRooms()))for(const t of this.userToRooms[e])this.roomToUser[t]=e}}(0,s.A)(c,"sharedInstance",void 0)},"./src/utils/DecryptFile.ts"(e,t,n){"use strict";n.d(t,{It:()=>d,nV:()=>l,sR:()=>c});var s=n("./node_modules/matrix-encrypt-attachment/lib/browser-encrypt-attachment.js"),o=n.n(s),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/customisations/Media.ts"),a=n("./src/utils/blobs.ts");class l extends Error{constructor(e){super(e.message),this.name="DownloadError",this.stack=e.stack}}class c extends Error{constructor(e){super(e.message),this.name="DecryptError",this.stack=e.stack}}async function d(e,t){const n=(0,r.mediaFromContent)({file:e});let s;try{const e=await n.downloadSource();if(!e.ok)throw(0,i.parseErrorResponse)(e,await e.text());s=await e.arrayBuffer()}catch(e){throw new l(e)}try{var d,u;const n=await o().decryptAttachment(s,e),i=(0,a.F)(null!==(d=null==t||null===(u=t.mimetype)||void 0===u?void 0:u.split(";")[0].trim())&&void 0!==d?d:"");return new Blob([n],{type:i})}catch(e){throw new c(e)}}},"./src/utils/EventUtils.ts"(e,t,n){"use strict";n.d(t,{$I:()=>y,$k:()=>f,H3:()=>g,Iy:()=>h,Mp:()=>_,d1:()=>w,ju:()=>b,nZ:()=>x,qe:()=>u,wQ:()=>m,wq:()=>E,zr:()=>A});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/shouldHideEvent.ts"),r=n("./src/settings/SettingsStore.ts"),a=n("./src/dispatcher/dispatcher.ts"),l=n("./src/components/views/messages/MPollBody.tsx"),c=n("./src/dispatcher/actions.ts"),d=n("./src/modules/Api.ts");function u(e){const{status:t}=e;if((!t||t===s.EventStatus.SENT)&&!e.isRedacted())if("m.room.message"===e.getType()){const t=e.getContent();if(t.msgtype&&"m.bad.encrypted"!==t.msgtype&&t.hasOwnProperty("body"))return!0}else if("m.sticker"===e.getType()||s.M_POLL_START.matches(e.getType())||s.M_POLL_END.matches(e.getType())||s.M_BEACON_INFO.matches(e.getType()))return!0;return!1}function m(e,t){var n;if(!(t.getType()===s.EventType.RoomMessage||s.M_POLL_START.matches(t.getType()))||null!==t.status||t.isRedacted()||t.isRelation(s.RelationType.Replace)||t.getSender()!==e.getUserId())return!1;if(!1===(null===(n=d.r.instance.customComponents.getHintsForMessage(t))||void 0===n?void 0:n.allowEditingEvent))return!1;const{msgtype:o,body:i}=t.getOriginalContent();return s.M_POLL_START.matches(t.getType())||(o===s.MsgType.Text||o===s.MsgType.Emote)&&!!i&&"string"==typeof i}function p(e,t){return m(e,t)}function h({matrixClient:e,events:t,isForward:n,fromEventId:s}){if(!t.length)return;const o=t.length-1,r=n?1:-1,a=n?0:o;let l=n?o:0;s||(l=Math.min(Math.max(0,a+100*r),o));let c=!s;for(let n=a;n!==l+r;n+=r){const a=t[n];if(c||a.getId()!==s){if(c&&!(0,i.A)(a)&&p(e,a))return a}else c=!0,l=Math.min(Math.max(0,n+100*r),o)}}let g=function(e){return e.VISIBLE_FOR_ALL="VISIBLE_FOR_ALL",e.HIDDEN_TO_CURRENT_USER="HIDDEN_TO_CURRENT_USER",e.SEE_THROUGH_FOR_CURRENT_USER="SEE_THROUGH_FOR_CURRENT_USER",e}({}),v=null;function f(e,t){var n;if(null===v&&(v=r.A.getValue("feature_msc3531_hide_messages_pending_moderation")),!v)return g.VISIBLE_FOR_ALL;if(e.messageVisibility().visible)return g.VISIBLE_FOR_ALL;if((null===(n=e.sender)||void 0===n?void 0:n.userId)===t.getUserId())return g.SEE_THROUGH_FOR_CURRENT_USER;const o=t.getRoom(e.getRoomId());return s.EVENT_VISIBILITY_CHANGE_TYPE.name&&null!=o&&o.currentState.maySendStateEvent(s.EVENT_VISIBILITY_CHANGE_TYPE.name,t.getUserId())||s.EVENT_VISIBILITY_CHANGE_TYPE.altName&&null!=o&&o.currentState.maySendStateEvent(s.EVENT_VISIBILITY_CHANGE_TYPE.altName,t.getUserId())?g.SEE_THROUGH_FOR_CURRENT_USER:g.HIDDEN_TO_CURRENT_USER}function _(e){const t=e.getContent();return!!t["org.matrix.msc2516.voice"]||!!t["org.matrix.msc3245.voice"]}async function y(e,t,n){var i;let r;try{const o=await e.fetchRoomEvent(t,n);r=new s.MatrixEvent(o)}catch{o.vF.warn("Could not find initial event: "+n),r=null}if(e.supportsThreads()&&null!==(i=r)&&void 0!==i&&i.isRelation(s.THREAD_RELATION_TYPE.name)&&!r.getThread()){var a;const n=r.threadRootId,s=e.getRoom(t),i=e.getEventMapper(),l=null!==(a=null==s?void 0:s.findEventById(n))&&void 0!==a?a:i(await e.fetchRoomEvent(t,n));try{null==s||s.createThread(n,l,[r],!0)}catch{o.vF.warn("Could not find root event: "+n)}}return r}function b(e,t,n,o){m(e,t)&&(s.M_POLL_START.matches(t.getType())?(0,l.cc)(t,o):a.A.dispatch({action:c.r.EditEvent,event:t,timelineRenderingType:n}))}function w(e){return e===s.EventStatus.QUEUED||e===s.EventStatus.NOT_SENT||e===s.EventStatus.ENCRYPTING}const E=e=>{const t=e.getType();return s.M_LOCATION.matches(t)||t===s.EventType.RoomMessage&&s.M_LOCATION.matches(e.getContent().msgtype)};function A(e){var t;return e.isThreadRoot&&!(null===(t=e.getThread())||void 0===t||!t.length)&&!!e.getThread().replyToEvent}const x=(e,t)=>{a.A.dispatch({action:c.r.ViewRoom,event_id:t,highlighted:!0,room_id:e,metricsTrigger:void 0})}},"./src/utils/Feedback.ts"(e,t,n){"use strict";n.d(t,{I:()=>a});var s=n("./src/IConfigOptions.ts"),o=n("./src/SdkConfig.ts"),i=n("./src/settings/SettingsStore.ts"),r=n("./src/settings/UIFeature.ts");function a(){const e=o.Ay.get().bug_report_endpoint_url;return!!e&&e!==s.m&&i.A.getValue(r.f.Feedback)}},"./src/utils/FileDownloader.ts"(e,t,n){"use strict";n.d(t,{s:()=>c});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const r={imgSrc:"",imgStyle:null,style:"",textContent:""};let a,l;class c{constructor(e){(0,s.A)(this,"onLoadPromise",void 0),this.iframeFn=e}get iframe(){var e;const t=null===(e=this.iframeFn)||void 0===e?void 0:e.call(this);if(!t){const e=(a||(a=document.createElement("iframe"),document.body.appendChild(a),a.style.display="none",a.sandbox="allow-scripts allow-downloads",l=new Promise(e=>{a.onload=()=>{e()},a.src="usercontent/"})),{iframe:a,onLoadPromise:l});return this.onLoadPromise=e.onLoadPromise,e.iframe}return this.onLoadPromise=void 0,t}async download({blob:e,name:t,autoDownload:n=!0,opts:s=r}){var o;const a=this.iframe;this.onLoadPromise&&await this.onLoadPromise,null===(o=a.contentWindow)||void 0===o||o.postMessage(i(i({},s),{},{blob:e,download:t,auto:n}),"*")}}},"./src/utils/FileUtils.ts"(e,t,n){"use strict";n.d(t,{Ov:()=>c,eB:()=>a,q:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/filesize/dist/filesize.js"),i=n("./src/languageHandler.tsx");function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function a(e,t=!0){var n;let s=(0,i._t)("action|download");return null!==(n=e.info)&&void 0!==n&&n.size&&t&&(s+=" ("+c(e.info.size,{base:2,standard:"jedec"})+")"),s}function l(e,t=(0,i._t)("common|attachment"),n=!0,s=!1){var o,r,a;let l=t;if(null!==(o=e.filename)&&void 0!==o&&o.length?l=e.filename:null!==(r=e.body)&&void 0!==r&&r.length&&(l=e.body),s&&l.length>19){const e=l.split(".");let t=e.slice(0,e.length-1).join(".").substring(0,15);const n=e[e.length-1];t=t.replace(/\.*$/g,""),l=`${t}...${n}`}return null!==(a=e.info)&&void 0!==a&&a.size&&n&&(l+=" ("+c(e.info.size,{base:2,standard:"jedec"})+")"),l}function c(e,t){const n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({base:2,standard:"jedec"},t);return(0,o.O)(e,n)}},"./src/utils/FormattingUtils.ts"(e,t,n){"use strict";n.d(t,{B4:()=>c,Zl:()=>u,ki:()=>p,yJ:()=>m,z3:()=>r.z3});var s=n("./node_modules/@vector-im/compound-web/dist/components/Avatar/useIdColorHash.js"),o=n("./src/languageHandler.tsx"),i=n("./src/utils/ReactUtils.tsx"),r=n("./packages/shared-components/dist/element-web-shared-components.js");const a=(0,o.UK)(),l=new Intl.NumberFormat(a,{notation:"compact"});function c(e){return l.format(e)}const d=new Intl.NumberFormat(a);function u(e){return d.format(e)}function m(e){return`mx_Username_color${(0,s.K)(e)}`}function p(e,t=e.length,n=!1){let s=Math.max(e.length-t,0);var r;if(e.length<=1)return null!==(r=e[0])&&void 0!==r?r:"";const a=new Intl.ListFormat((0,o.mf)(),{style:"long",type:"conjunction"});if(s>0){let r;return n&&(t--,s++),e=e.slice(0,t),r=e.every(e=>"string"==typeof e)?e.join(", "):(0,i.i)(e,", "),(0,o._t)("items_and_n_others",{count:s},{Items:()=>r})}if(e.every(e=>"string"==typeof e))return a.format(e);const l=a.formatToParts(e.map((e,t)=>`${t}`));return(0,i.i)(l.map(t=>"literal"===t.type?t.value:e[parseInt(t.value,10)]))}},"./src/utils/IdentityServerUtils.ts"(e,t,n){"use strict";n.d(t,{Os:()=>c,eF:()=>a,iR:()=>r,mn:()=>l});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/SdkConfig.ts");function r(){var e;return null===(e=i.Ay.get("validated_server_config"))||void 0===e?void 0:e.isUrl}function a(e){const t=r();e.setAccountData("m.identity_server",{base_url:null!=t?t:null})}async function l(e,t){var n;let i;try{i=await e.getTerms(s.SERVICE_TYPES.IS,t)}catch(e){if(o.vF.error(e),!(e instanceof s.HTTPError&&404===e.httpStatus))throw e;i=null}return!(null===(n=i)||void 0===n||!n.policies)&&Object.keys(i.policies).length>0}function c(e){const t=e.getAccountData("m.identity_server");return null==t?void 0:t.getContent().base_url}},"./src/utils/Image.ts"(e,t,n){"use strict";n.d(t,{C:()=>o,t:()=>l});var s=n("./src/utils/arrays.ts");function o(e){return["image/gif","image/webp","image/png","image/apng","image/avif"].includes(e)}function i(e,t,n){return new Uint8Array(e.slice(t,t+n))}function r(e,t){return new DataView(e,t,4).getUint32(0)}function a(e,t,n){return String.fromCharCode.apply(null,Array.from(i(e,t,n)))}async function l(e){try{const t=await e.arrayBuffer(),n=new ImageDecoder({data:t,type:e.type});if(await n.tracks.ready,[...n.tracks].some(e=>e.animated))return!0}catch(e){console.warn("ImageDecoder not supported or failed to decode image",e)}switch(e.type){case"image/webp":{const t=await e.slice(0,21).arrayBuffer();if("RIFF"===a(t,0,4)&&"WEBP"===a(t,8,4)&&"VP8X"===a(t,12,4)){const[e]=i(t,20,1);return 0!=(e&2)}return!1}case"image/gif":{const t=new DataView(await e.arrayBuffer(),10),n=t.getUint8(0);let s=0;128&n&&(s=3*Math.pow(2,1+(7&n)));const o=3+s,i=t.getUint8(o),r=t.getUint8(o+1);let a=0;return 33&i&&249&r&&(a=t.getUint16(o+4)),!!a}case"image/png":case"image/apng":{const t=await e.arrayBuffer();if((0,s.dc)([137,80,78,71,13,10,26,10],Array.from(i(t,0,8))))return!1;for(let n=8;n<e.size;){const e=r(t,n);n+=4;const s=a(t,n,4);switch(n+=4,s){case"acTL":return!0;case"IDAT":return!1}n+=e+4}return!1}}}},"./src/utils/KeyVerificationStateObserver.ts"(e,t,n){"use strict";n.d(t,{M:()=>i,q:()=>o});var s=n("./src/languageHandler.tsx");function o(e,t,n){const s=e.getRoom(n),o=s&&s.getMember(t);return o?o.name:t}function i(e,t,n){const i=o(e,t,n);return i!==t?(0,s._t)("name_and_id",{name:i,userId:t}):t}},"./src/utils/MarkedExecution.ts"(e,t,n){"use strict";n.d(t,{L:()=>o});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{constructor(e,t){(0,s.A)(this,"marked",!1),this.fn=e,this.onMarkCallback=t}reset(){this.marked=!1}mark(){var e;this.marked||null===(e=this.onMarkCallback)||void 0===e||e.call(this),this.marked=!0}trigger(){this.marked&&(this.reset(),this.fn())}}},"./src/utils/MediaEventHelper.ts"(e,t,n){"use strict";n.d(t,{j:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts");class r{constructor(e){(0,s.A)(this,"val",void 0),(0,s.A)(this,"prom",void 0),(0,s.A)(this,"done",!1),this.getFn=e}get present(){return this.done}get cachedValue(){return this.val}get value(){return this.prom?this.prom:(this.prom=this.getFn(),this.prom.then(e=>(this.val=e,this.done=!0,e)))}}var a=n("./src/customisations/Media.ts"),l=n("./src/utils/DecryptFile.ts"),c=n("./src/utils/blobs.ts");class d{constructor(e){(0,s.A)(this,"sourceUrl",void 0),(0,s.A)(this,"thumbnailUrl",void 0),(0,s.A)(this,"sourceBlob",void 0),(0,s.A)(this,"thumbnailBlob",void 0),(0,s.A)(this,"media",void 0),(0,s.A)(this,"prepareSourceUrl",async()=>{if(this.media.isEncrypted){const e=await this.sourceBlob.value;return URL.createObjectURL(e)}return this.media.srcHttp}),(0,s.A)(this,"prepareThumbnailUrl",async()=>{if(this.media.isEncrypted){const e=await this.thumbnailBlob.value;return null===e?null:URL.createObjectURL(e)}return this.media.thumbnailHttp}),(0,s.A)(this,"fetchSource",()=>{const e=this.event.getContent();return this.media.isEncrypted?(0,l.It)(e.file,e.info):this.media.downloadSource().then(e=>e.blob()).then(t=>{var n,s;return t.slice(0,t.size,(0,c.F)(null!==(n=null===(s=e.info)||void 0===s?void 0:s.mimetype)&&void 0!==n?n:t.type))})}),(0,s.A)(this,"fetchThumbnail",()=>{if(!this.media.hasThumbnail)return Promise.resolve(null);const e=this.event.getContent();var t;if(this.media.isEncrypted)return null!==(t=e.info)&&void 0!==t&&t.thumbnail_file?(0,l.It)(e.info.thumbnail_file,e.info.thumbnail_info):(i.vF.warn("Media claims to have thumbnail and is encrypted, but no thumbnail_file found"),Promise.resolve(null));const n=this.media.thumbnailHttp;return n?fetch(n).then(e=>e.blob()).then(t=>{var n,s;return t.slice(0,t.size,(0,c.F)(null!==(n=null===(s=e.info)||void 0===s||null===(s=s.thumbnail_info)||void 0===s?void 0:s.mimetype)&&void 0!==n?n:t.type))}):Promise.resolve(null)}),this.event=e,this.sourceUrl=new r(this.prepareSourceUrl),this.thumbnailUrl=new r(this.prepareThumbnailUrl),this.sourceBlob=new r(this.fetchSource),this.thumbnailBlob=new r(this.fetchThumbnail),this.media=(0,a.mediaFromContent)(this.event.getContent())}get fileName(){return this.event.getContent().filename||this.event.getContent().body||"download"}destroy(){this.media.isEncrypted&&(this.sourceUrl.cachedValue&&URL.revokeObjectURL(this.sourceUrl.cachedValue),this.thumbnailUrl.cachedValue&&URL.revokeObjectURL(this.thumbnailUrl.cachedValue))}static isEligible(e){if(!e)return!1;if(e.isRedacted())return!1;if(e.getType()===o.EventType.Sticker)return!0;if(e.getType()!==o.EventType.RoomMessage)return!1;const t=e.getContent();return!![o.MsgType.Video,o.MsgType.Audio,o.MsgType.Image,o.MsgType.File].includes(t.msgtype)||"string"==typeof t.url}static canHide(e){if(!e)return!1;if(e.isRedacted())return!1;const t=e.getContent();return!![o.MsgType.Video,o.MsgType.Image].includes(t.msgtype)}}},"./src/utils/MultiInviter.ts"(e,t,n){"use strict";n.d(t,{jo:()=>f,Ay:()=>w});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/types.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/UserAddress.ts"),l=n("./src/languageHandler.tsx"),c=n("./src/Modal.tsx"),d=n("./src/settings/SettingsStore.ts"),u=n("./src/components/views/dialogs/AskInviteAnywayDialog.tsx"),m=n("./src/components/views/dialogs/ConfirmUserActionDialog.tsx"),p=n("./node_modules/react/index.js"),h=n("./src/components/views/dialogs/InviteProgressBody.tsx");const g=e=>p.createElement(h.A,null);let v=function(e){return e.Invited="invited",e.Error="error",e}({});const f=["M_NOT_FOUND","M_USER_NOT_FOUND","M_PROFILE_UNDISCLOSED","M_PROFILE_NOT_FOUND"],_="IO.ELEMENT.ALREADY_JOINED",y="IO.ELEMENT.ALREADY_INVITED",b="IO.ELEMENT.BANNED";class w{constructor(e,t,n={}){(0,s.A)(this,"addresses",[]),(0,s.A)(this,"_fatal",!1),(0,s.A)(this,"completionStates",{}),(0,s.A)(this,"errors",{}),(0,s.A)(this,"reason",void 0),this.matrixClient=e,this.roomId=t,this.options=n}get fatal(){return this._fatal}async invite(e,t){if(this.addresses.length>0)throw new Error("Already inviting/invited");let n;this.addresses.push(...e),this.reason=t,this.options.inhibitProgressDialog||(n=function(){const{close:e}=c.Ay.createDialog(g,{},void 0,!1,!1,{onBeforeClose:async e=>"backgroundClick"!=e});return e}());try{for(const e of this.addresses)null===(0,a.Z)(e)&&(this.completionStates[e]=v.Error,this.errors[e]={errcode:"M_INVALID",errorText:(0,l._t)("invite|invalid_address")});for(const e of this.addresses)if(null!==(0,a.Z)(e)&&this.completionStates[e]!==v.Invited&&(await this.doInvite(e,!1),this._fatal))return this.completionStates;if(Object.keys(this.errors).length>0){const e=Object.keys(this.errors).filter(e=>f.includes(this.errors[e].errcode));e.length>0&&await this.handleUnknownProfileUsers(e)}}finally{var s;null===(s=n)||void 0===s||s()}return this.completionStates}getCompletionState(e){return this.completionStates[e]}getErrorText(e){var t,n;return null!==(t=null===(n=this.errors[e])||void 0===n?void 0:n.errorText)&&void 0!==t?t:null}async inviteToRoom(e,t,n=!1){const s=(0,a.Z)(t);if(s===a.R.Email)return this.matrixClient.inviteByEmail(e,t);if(s===a.R.MatrixUserId){const s=this.matrixClient.getRoom(e);if(!s)throw new Error("Room not found");const r=s.getMember(t);if((null==r?void 0:r.membership)===i.O.Join)throw new o.MatrixError({errcode:_,error:"Member already joined"});if((null==r?void 0:r.membership)===i.O.Invite)throw new o.MatrixError({errcode:y,error:"Member already invited"});if((null==r?void 0:r.membership)===i.O.Ban){let t=!1;const n=s.getMember(this.matrixClient.getSafeUserId());if(n&&r.powerLevel<n.powerLevel&&s.currentState.hasSufficientPowerLevelFor("ban",n.powerLevel)&&s.currentState.hasSufficientPowerLevelFor("kick",n.powerLevel)){const{finished:n}=c.Ay.createDialog(m.A,{member:r,action:(0,l._t)("action|unban"),title:(0,l._t)("invite|unban_first_title")});[t=!1]=await n,t&&await this.matrixClient.unban(e,r.userId)}if(!t)throw new o.MatrixError({errcode:b,error:"Member is banned"})}if(!n&&d.A.getValue("promptBeforeInviteUnknownUsers",this.roomId))try{await this.matrixClient.getProfileInfo(t)}catch(e){switch(e instanceof o.MatrixError?e.errcode:e){case"M_FORBIDDEN":throw new o.MatrixError({errcode:"M_PROFILE_UNDISCLOSED"});case"M_NOT_FOUND":throw new o.MatrixError({errcode:"M_USER_NOT_FOUND"});default:throw e}}const a={};return void 0!==this.reason&&(a.reason=this.reason),d.A.getValue("feature_share_history_on_invite")&&(a.shareEncryptedHistory=!0),this.matrixClient.invite(e,t,a)}throw new Error("Unsupported address")}doInvite(e,t){return new Promise((n,s)=>{r.vF.log(`Inviting ${e}`);this.inviteToRoom(this.roomId,e,t).then(()=>{var t,s;this.completionStates[e]=v.Invited,delete this.errors[e],n(),null===(t=(s=this.options).progressCallback)||void 0===t||t.call(s)}).catch(i=>{var c;r.vF.error(i);const d=this.roomId?this.matrixClient.getRoom(this.roomId):null,u=null==d?void 0:d.isSpaceRoom(),m=null==d||null===(c=d.currentState.getStateEvents(o.EventType.RoomCreate,""))||void 0===c?void 0:c.getContent()["m.federate"];let p;switch(i.errcode){case"M_FORBIDDEN":p=u?!1===m?(0,l._t)("invite|error_unfederated_space"):(0,l._t)("invite|error_permissions_space"):!1===m?(0,l._t)("invite|error_unfederated_room"):(0,l._t)("invite|error_permissions_room"),this._fatal=!0;break;case y:p=u?(0,l._t)("invite|error_already_invited_space"):(0,l._t)("invite|error_already_invited_room");break;case _:p=u?(0,l._t)("invite|error_already_joined_space"):(0,l._t)("invite|error_already_joined_room");break;case"M_LIMIT_EXCEEDED":return void window.setTimeout(()=>{this.doInvite(e,t).then(n,s)},5e3);case"M_NOT_FOUND":case"M_USER_NOT_FOUND":p=(0,l._t)("invite|error_user_not_found");break;case"M_PROFILE_UNDISCLOSED":p=(0,l._t)("invite|error_profile_undisclosed");break;case"M_PROFILE_NOT_FOUND":if(!t)return r.vF.warn(`User ${e} does not have a profile - inviting anyways automatically`),void this.doInvite(e,!0).then(n,s);break;case"M_BAD_STATE":case b:p=(0,l._t)("invite|error_bad_state");break;case"M_UNSUPPORTED_ROOM_VERSION":p=u?(0,l._t)("invite|error_version_unsupported_space"):(0,l._t)("invite|error_version_unsupported_room");break;case"ORG.MATRIX.JSSDK_MISSING_PARAM":(0,a.Z)(e)===a.R.Email&&(p=(0,l._t)("cannot_invite_without_identity_server"))}p||(p=(0,l._t)("invite|error_unknown")),this.completionStates[e]=v.Error,this.errors[e]={errorText:p,errcode:i.errcode},n()})})}handleUnknownProfileUsers(e){return new Promise(t=>{const n=()=>{const n=e.map(e=>this.doInvite(e,!0));Promise.all(n).then(()=>t())};d.A.getValue("promptBeforeInviteUnknownUsers",this.roomId)?(r.vF.log("Showing failed to invite dialog..."),c.Ay.createDialog(u.A,{unknownProfileUsers:e.map(e=>({userId:e,errorText:this.errors[e].errorText})),onInviteAnyways:()=>n(),onGiveUp:()=>{for(const t of e)this.completionStates[t]=v.Invited;t()}})):n()})}}},"./src/utils/NativeEventUtils.ts"(e,t,n){"use strict";n.d(t,{Z:()=>s});const s=e=>t=>{null==t||t.stopPropagation(),null==t||t.preventDefault(),e()}},"./src/utils/PinningUtils.ts"(e,t,n){"use strict";n.d(t,{A:()=>a});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/utils/EventUtils.ts"),r=n("./src/components/views/right_panel/types.ts");class a{static isPinnable(e){return!e.isRedacted()&&a.isUnpinnable(e)}static isUnpinnable(e){return!!e&&(!!e.isRedacted()||this.PINNABLE_EVENT_TYPES.includes(e.getType()))}static isPinned(e,t){var n;const s=e.getRoom(t.getRoomId());if(!s)return!1;const i=null===(n=s.getLiveTimeline().getState(o.EventTimeline.FORWARDS))||void 0===n?void 0:n.getStateEvents(o.EventType.RoomPinnedEvents,"");if(!i)return!1;const r=i.getContent();return r.pinned&&Array.isArray(r.pinned)&&r.pinned.includes(t.getId())}static canPin(e,t){if(!(0,i.qe)(t))return!1;const n=e.getRoom(t.getRoomId());return!!n&&(null===t.status&&(a.userHasPinOrUnpinPermission(e,n)&&a.isPinnable(t)))}static canUnpin(e,t){const n=e.getRoom(t.getRoomId());return!!n&&(null===t.status&&(a.userHasPinOrUnpinPermission(e,n)&&a.isUnpinnable(t)))}static userHasPinOrUnpinPermission(e,t){var n;return Boolean(null===(n=t.getLiveTimeline().getState(o.EventTimeline.FORWARDS))||void 0===n?void 0:n.mayClientSendStateEvent(o.EventType.RoomPinnedEvents,e))}static async pinOrUnpinEvent(e,t){var n;const s=e.getRoom(t.getRoomId());if(!s)return;const i=t.getId();if(!i)return;if(null!==t.status)return;const a=(null===(n=s.getLiveTimeline().getState(o.EventTimeline.FORWARDS))||void 0===n||null===(n=n.getStateEvents(o.EventType.RoomPinnedEvents,""))||void 0===n?void 0:n.getContent().pinned)||[];let l=Promise.resolve();var c;a.includes(i)?a.splice(a.indexOf(i),1):(a.push(i),l=e.setRoomAccountData(s.roomId,r.M,{event_ids:[...(null===(c=s.getAccountData(r.M))||void 0===c||null===(c=c.getContent())||void 0===c?void 0:c.event_ids)||[],i]}));await Promise.all([e.sendStateEvent(s.roomId,o.EventType.RoomPinnedEvents,{pinned:a},""),l])}static async unpinAllEvents(e,t){await e.sendStateEvent(t,o.EventType.RoomPinnedEvents,{pinned:[]},"")}}(0,s.A)(a,"PINNABLE_EVENT_TYPES",[o.EventType.RoomMessage,o.M_POLL_START.name,o.M_POLL_START.altName])},"./src/utils/PreferredRoomVersions.ts"(e,t,n){"use strict";n.d(t,{W:()=>o,Y:()=>i});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{constructor(){}}function i(e,t){return!!e.match(/[\d.]+/)&&Number(e)>=Number(t)}(0,s.A)(o,"KnockRooms","7"),(0,s.A)(o,"RestrictedRooms","9")},"./src/utils/ReactUtils.tsx"(e,t,n){"use strict";n.d(t,{i:()=>o});var s=n("./node_modules/react/index.js");function o(e,t){return s.createElement(s.Fragment,null,e.map((n,o)=>s.createElement(s.Fragment,{key:o},n,o===e.length-1?null:t)))}},"./src/utils/Reply.ts"(e,t,n){"use strict";n.d(t,{Ul:()=>d,c$:()=>p,fJ:()=>u,fh:()=>h,kH:()=>m});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/sanitize-html/index.js"),r=n.n(i),a=n("./src/utils/UrlUtils.ts");function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e){if(e&&!e.isRedacted())return e.replyEventId?e.replyEventId:void 0}function u(e){const t=e.split("\n");for(;t.length&&t[0].startsWith("> ");)t.shift();return""===t[0]&&t.shift(),t.join("\n")}function m(e){return r()(e,{allowedTags:!1,allowedAttributes:!1,allowVulnerableTags:!0,allowedSchemes:[...a._f,"mxc"],exclusiveFilter:e=>"mx-reply"===e.tag})}function p(e){var t;if(e.isRedacted())return!1;const n=null===(t=e.getWireContent())||void 0===t||null===(t=t["m.relates_to"])||void 0===t?void 0:t["m.in_reply_to"];if(!n)return!1;const s=e.getRelation();return((null==s?void 0:s.rel_type)!==o.THREAD_RELATION_TYPE.name||null==s||!s.is_falling_back)&&!!n.event_id}function h(e,t){e["m.relates_to"]=c(c({},e["m.relates_to"]||{}),function(e){if(!e)return{};const t={"m.in_reply_to":{event_id:e.getId()}};return e.threadRootId&&(t.is_falling_back=!1),t}(t))}},"./src/utils/RoomUpgrade.ts"(e,t,n){"use strict";n.d(t,{R:()=>g,W:()=>v});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/types.ts"),r=n("./node_modules/matrix-js-sdk/src/logger.ts"),a=n("./src/RoomInvite.tsx"),l=n("./src/Modal.tsx"),c=n("./src/languageHandler.tsx"),d=n("./src/components/views/dialogs/ErrorDialog.tsx"),u=n("./src/stores/spaces/SpaceStore.ts"),m=n("./src/components/views/elements/Spinner.tsx");function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}async function g(e,t){const n=e.getRoom(t);return n||new Promise(n=>{const s=i=>{i.roomId===t&&(n(i),e.off(o.ClientEvent.Room,s))};e.on(o.ClientEvent.Room,s)})}async function v(e,t,n=!1,s=!0,p=!0,v=!1,f,_=!1,y){var b;const w=e.client;let E;f||(E=l.Ay.createDialog(m.A,void 0,"mx_Dialog_spinner"));let A=[];n&&(A=[...e.getMembersWithMembership(i.O.Join),...e.getMembersWithMembership(i.O.Invite)].map(e=>e.userId).filter(e=>e!==w.getUserId()));let x=[];p&&(x=Array.from(u.Ay.instance.getKnownParents(e.roomId)).map(e=>w.getRoom(e)).filter(e=>null==e?void 0:e.currentState.maySendStateEvent(o.EventType.SpaceChild,w.getUserId())));const S={roomUpgraded:!1,roomSynced:!v&&!n&&void 0,inviteUsersProgress:n?0:void 0,inviteUsersTotal:A.length,updateSpacesProgress:p?0:void 0,updateSpacesTotal:x.length};let C;null==f||f(S);try{({replacement_room:C}=await w.upgradeRoom(e.roomId,t,y))}catch(e){if(!s)throw e;throw r.vF.error(e),l.Ay.createDialog(d.A,{title:(0,c._t)("room|upgrade_error_title"),description:(0,c._t)("room|upgrade_error_description")}),e}if(S.roomUpgraded=!0,null==f||f(S),(v||n)&&(await g(e.client,C),S.roomSynced=!0,null==f||f(S)),A.length>0&&await async function(e,t,n,s){const o=await(0,a.wq)(e,t,n,s),i=e.getRoom(t);(0,a.uG)(o.states,i,o.inviter)}(w,C,A,{progressCallback:()=>{S.inviteUsersProgress++,null==f||f(S)},inhibitProgressDialog:_}),x.length>0)try{for(const t of x){const n=t.currentState.getStateEvents(o.EventType.SpaceChild,e.roomId);await w.sendStateEvent(t.roomId,o.EventType.SpaceChild,h(h({},(null==n?void 0:n.getContent())||{}),{},{via:[w.getDomain()]}),C),await w.sendStateEvent(t.roomId,o.EventType.SpaceChild,{},e.roomId),S.updateSpacesProgress++,null==f||f(S)}}catch(e){r.vF.warn("Failed to update parent spaces during room upgrade",e)}return null===(b=E)||void 0===b||b.close(),C}},"./src/utils/ShieldUtils.ts"(e,t,n){"use strict";n.d(t,{G:()=>l,z:()=>a});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/utils/DMRoomMap.ts"),r=n("./src/utils/arrays.ts");let a=function(e){return e.Warning="warning",e.Verified="verified",e.Normal="normal",e}({});async function l(e,t){const n=e.getCrypto();if(!n)return a.Warning;try{const s=(await t.getEncryptionTargetMembers()).map(({userId:e})=>e),l=!!i.A.shared().getUserIdForRoomId(t.roomId),c=[],d=[];for(const t of s){if(t===e.getUserId())continue;const s=await n.getUserVerificationStatus(t);if(s.wasCrossSigningVerified()&&!s.isCrossSigningVerified())return a.Warning;(s.isCrossSigningVerified()?c:d).push(t)}const u=c.length>0&&!l&&2!==s.length||1===s.length?[...c,e.getUserId()]:c,m=await n.getUserDeviceInfo(u);for(const e of u){const t=m.get(e);if(!t)return o.vF.warn(`No device info for user ${e}`),a.Warning;if(await(0,r.rm)(t.keys(),async t=>{const s=await n.getDeviceVerificationStatus(e,t);return!(null!=s&&s.isVerified())}))return a.Warning}return 0===d.length?a.Verified:a.Normal}catch(e){if(!(e instanceof s.ClientStoppedError))throw e;return o.vF.warn("shieldStatusForRoom: client stopped"),a.Normal}}},"./src/utils/Singleflight.ts"(e,t,n){"use strict";n.d(t,{j:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/utils/maps.ts");const i=new o.h;class r{constructor(){}static for(e,t){if(!e||!t)throw new Error("An instance and key must be supplied");return new a(e,t)}static forgetAllFor(e){i.delete(e)}static forgetAll(){for(const e of i.keys())i.remove(e)}}(0,s.A)(r,"Void",Symbol("void"));class a{constructor(e,t){this.instance=e,this.key=t}forget(){const e=i.get(this.instance);e&&(e.remove(this.key),e.size||i.remove(this.instance))}do(e){const t=i.getOrCreate(this.instance,new o.h);let n=t.get(this.key);return void 0===n&&(n=e(),t.set(this.key,n)),n}}},"./src/utils/SnakedObject.ts"(e,t,n){"use strict";n.d(t,{Q:()=>o});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{constructor(e){(0,s.A)(this,"fallbackWarnings",new Set),this.obj=e}get(e,t){const n=this.obj[e];if(void 0!==n)return n;const s=null!=t?t:e.replace(/._./g,e=>`${e[0]}${e[2].toUpperCase()}`);const o=this.obj[s];return o&&!this.fallbackWarnings.has(s)&&(this.fallbackWarnings.add(s),console.warn(`Using deprecated camelCase config ${s}`),console.warn("See https://github.com/vector-im/element-web/blob/develop/docs/config.md#-deprecation-notice")),o}toJSON(){return this.obj}}},"./src/utils/SortMembers.ts"(e,t,n){"use strict";n.d(t,{_5:()=>h,j2:()=>u,nf:()=>p});var s=n("./node_modules/lodash/groupBy.js"),o=n("./node_modules/lodash/mapValues.js"),i=n("./node_modules/lodash/maxBy.js"),r=n("./node_modules/lodash/minBy.js"),a=n("./node_modules/lodash/sumBy.js"),l=n("./node_modules/lodash/takeRight.js"),c=n("./node_modules/matrix-js-sdk/src/types.ts"),d=n("./src/utils/DMRoomMap.ts");const u=(e,t)=>(n,s)=>{var o,i,r,a,l,c,d,u,m,p,h,g;const v=(null!==(o=null===(i=e[n.userId])||void 0===i?void 0:i.score)&&void 0!==o?o:0)+(null!==(r=null===(a=t[n.userId])||void 0===a?void 0:a.score)&&void 0!==r?r:0),f=null!==(l=null===(c=t[n.userId])||void 0===c?void 0:c.numRooms)&&void 0!==l?l:0,_=(null!==(d=null===(u=e[s.userId])||void 0===u?void 0:u.score)&&void 0!==d?d:0)+(null!==(m=null===(p=t[s.userId])||void 0===p?void 0:p.score)&&void 0!==m?m:0),y=null!==(h=null===(g=t[s.userId])||void 0===g?void 0:g.numRooms)&&void 0!==h?h:0;return v===_?f===y?0:y-f:_-v};function m(e){return e.getRooms().filter(e=>e.getMyMembership()===c.O.Join).filter(e=>!d.A.shared().getUserIdForRoomId(e.roomId)).filter(e=>!Object.keys(e.tags).includes("m.lowpriority"))}function p(e){const t=(new Date).getTime(),n=t-36e5,r=m(e).flatMap(e=>(0,l.A)(e.getLiveTimeline().getEvents(),50)).filter(e=>e.getTs()>n),a=(0,s.A)(r,e=>e.getSender());return(0,o.A)(a,e=>{if(!e.length)return;const s=(0,i.A)(e,e=>e.getTs()),o=Math.abs(t-s.getTs()),r=t-n-o;return{lastSpoke:s.getTs(),score:Math.max(1,r/9e5)}})}function h(e){const t=m(e).filter(e=>e.getJoinedMemberCount()<200).flatMap(e=>e.getJoinedMembers().map(t=>({member:t,roomSize:e.getJoinedMemberCount()}))),n=(0,s.A)(t,({member:e})=>e.userId);return(0,o.A)(n,e=>{if(!e.length)return;const t=200*e.length,n=(0,a.A)(e,e=>e.roomSize);return{member:(0,r.A)(e,e=>e.roomSize).member,numRooms:e.length,score:Math.max(0,Math.pow(1-n/t,5))}})}},"./src/utils/StorageAccess.ts"(e,t,n){"use strict";function s(){try{var e;return null!==(e=self)&&void 0!==e&&e.indexedDB?self.indexedDB:window.indexedDB}catch{}}n.d(t,{Cz:()=>s,Gt:()=>a,N6:()=>c,pr:()=>d,x7:()=>l});let o=null;async function i(){if(!s())throw new Error("IndexedDB not available");o=await new Promise((e,t)=>{const n=s().open("matrix-react-sdk",1);n.onerror=t,n.onsuccess=()=>{e(n.result)},n.onupgradeneeded=()=>{const e=n.result;e.createObjectStore("pickleKey"),e.createObjectStore("account")}})}async function r(e,t,n){return o||await i(),new Promise((s,i)=>{const r=o.transaction([e],t);r.onerror=i;const a=r.objectStore(e),l=n(a);l.onerror=i,l.onsuccess=()=>{s(l.result)}})}async function a(e,t){return o||await i(),r(e,"readonly",e=>e.get(t))}async function l(e,t,n){return o||await i(),r(e,"readwrite",e=>e.put(n,t))}async function c(e,t){return o||await i(),r(e,"readwrite",e=>e.delete(t))}async function d(e){return o||await i(),r(e,"readwrite",e=>e.clear())}},"./src/utils/StorageManager.ts"(e,t,n){"use strict";n.d(t,{jy:()=>h,ng:()=>m,zV:()=>p});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/utils/StorageAccess.ts");const r=window.localStorage,a="riot-web-sync",l="matrix-js-sdk:crypto",c="matrix-js-sdk::matrix-sdk-crypto";function d(e){o.vF.log(`StorageManager: ${e}`)}function u(e,...t){o.vF.error(`StorageManager: ${e}`,...t)}function m(){navigator.storage&&navigator.storage.persist?navigator.storage.persist().then(e=>{o.vF.log("StorageManager: Persistent?",e)}):document.requestStorageAccess?document.requestStorageAccess().then(()=>o.vF.log("StorageManager: Persistent?",!0),()=>o.vF.log("StorageManager: Persistent?",!1)):o.vF.log("StorageManager: Persistence unsupported")}async function p(){d("Checking storage consistency"),d(`Local storage supported? ${!!r}`),d(`IndexedDB supported? ${!!(0,i.Cz)()}`);let e=!1,t=!1,n=!1,o=!0;if(r?(e=r.length>0,d(`Local storage contains data? ${e}`),n=!!r.getItem("mx_crypto_initialised"),d(`Crypto initialised? ${n}`)):(o=!1,u("Local storage cannot be used on this browser")),(0,i.Cz)()&&r){(await async function(){let e=!1;try{return e=await s.IndexedDBStore.exists((0,i.Cz)(),a),d(`Sync store using IndexedDB contains data? ${e}`),{exists:e,healthy:!0}}catch(e){u("Sync store using IndexedDB inaccessible",e)}return d("Sync store using memory only"),{exists:e,healthy:!1}}()).healthy||(o=!1)}else o=!1,u("Sync store cannot be used on this browser");if((0,i.Cz)()){const e=await async function(){try{const e=await s.IndexedDBCryptoStore.exists((0,i.Cz)(),c);if(d(`Rust Crypto store using IndexedDB contains data? ${e}`),e)return{exists:!0,healthy:!0};try{const e=await s.IndexedDBCryptoStore.existsAndIsNotMigrated((0,i.Cz)(),l);return d(`Legacy Crypto store using IndexedDB contains non migrated data? ${e}`),{exists:e,healthy:!0}}catch(e){u("Legacy crypto store using IndexedDB inaccessible",e)}return{exists:!1,healthy:!1}}catch(e){return u("Rust crypto store using IndexedDB inaccessible",e),{exists:!1,healthy:!1}}}();t=e.exists,e.healthy||(o=!1)}else o=!1,u("Crypto store cannot be used on this browser");return e&&n&&!t&&(o=!1,u("Data exists in local storage and crypto is marked as initialised but no data found in crypto store. IndexedDB storage has likely been evicted by the browser!")),o?d("Storage consistency checks passed"):u("Storage consistency checks failed"),{dataInLocalStorage:e,dataInCryptoStore:t,cryptoInited:n,healthy:o}}function h(e){r.setItem("mx_crypto_initialised",String(e))}},"./src/utils/Timer.ts"(e,t,n){"use strict";n.d(t,{A:()=>o});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class o{constructor(e){(0,s.A)(this,"timerHandle",void 0),(0,s.A)(this,"startTs",void 0),(0,s.A)(this,"deferred",void 0),(0,s.A)(this,"onTimeout",()=>{const e=Date.now()-this.startTs;if(e>=this.timeout)this.deferred.resolve(),this.setNotStarted();else{const t=this.timeout-e;this.timerHandle=window.setTimeout(this.onTimeout,t)}}),this.timeout=e,this.setNotStarted()}setNotStarted(){this.timerHandle=void 0,this.startTs=void 0,this.deferred=Promise.withResolvers(),this.deferred.promise=this.deferred.promise.finally(()=>{this.timerHandle=void 0})}changeTimeout(e){if(e===this.timeout)return;const t=e<this.timeout;this.timeout=e,this.isRunning()&&t&&(clearTimeout(this.timerHandle),this.onTimeout())}start(){return this.isRunning()||(this.startTs=Date.now(),this.timerHandle=window.setTimeout(this.onTimeout,this.timeout)),this}restart(){return this.isRunning()?(this.startTs=Date.now(),this):this.start()}abort(){return this.isRunning()&&(clearTimeout(this.timerHandle),this.deferred.reject(new Error("Timer was aborted.")),this.setNotStarted()),this}finished(){return this.deferred.promise}isRunning(){return void 0!==this.timerHandle}}},"./src/utils/UrlUtils.ts"(e,t,n){"use strict";function s(e){if(!e)return"";let t;try{t=i(e)}catch(t){return console.error(t),e}return"/"===t.pathname?t.host||"":e}function o(e){if(!e)return"";let t=e;e.startsWith("https://")||(t="https://"+e);return i(t).hostname?t:e}function i(e){return e.includes(":")||(e=window.location.protocol+e),new URL(e)}n.d(t,{Dl:()=>i,FO:()=>s,_f:()=>r,qe:()=>o});const r=["bitcoin","ftp","geo","http","https","im","irc","ircs","magnet","mailto","matrix","mms","news","nntp","openpgp4fpr","sip","sftp","sms","smsto","ssh","tel","urn","webcal","wtai","xmpp"]},"./src/utils/WellKnownUtils.ts"(e,t,n){"use strict";n.d(t,{P2:()=>d,XP:()=>u,d_:()=>c,j5:()=>l,qh:()=>m});var s=n("./node_modules/matrix-js-sdk/src/NamespacedValue.ts");const o="io.element.e2ee",i="im.vector.riot.e2ee",r=new s.qr("m.tile_server","org.matrix.msc3488.tile_server"),a="io.element.embedded_pages";function l(e){const t=e.getClientWellKnown();return null==t?void 0:t["io.element.call_behaviour"]}function c(e){const t=e.getClientWellKnown();return null!=t&&t[o]?t[o]:null!=t&&t[i]?t[i]:null}function d(e){return u(e.getClientWellKnown())}function u(e){var t;return null!==(t=null==e?void 0:e[r.name])&&void 0!==t?t:null==e?void 0:e[r.altName]}function m(e){return null==(t=null==e?void 0:e.getClientWellKnown())?void 0:t[a];var t}},"./src/utils/Whenable.ts"(e,t,n){"use strict";n.d(t,{b:()=>r});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/utils/arrays.ts");class r{constructor(){(0,s.A)(this,"listeners",[])}when(e,t){return this.listeners.push({condition:e,fn:t}),this}whenAnyOf(e,t){for(const n of e)this.when(n,t);return this}whenAnything(e){return this.listeners.push({condition:null,fn:e}),this}notifyCondition(e){const t=(0,i.PF)(this.listeners);for(const n of t)if(null===n.condition||n.condition===e)try{n.fn(this)}catch(t){o.vF.error(`Error calling whenable listener for ${e}:`,t)}}destroy(){this.listeners=[]}}},"./src/utils/WidgetUtils.ts"(e,t,n){"use strict";n.d(t,{A:()=>x,X:()=>S});var s=n("./node_modules/react/index.js"),o=n("./node_modules/rfc4648/lib/rfc4648.js"),i=n("./node_modules/lodash/capitalize.js"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/types.ts"),l=n("./node_modules/matrix-js-sdk/src/logger.ts"),c=n("./node_modules/matrix-js-sdk/src/webrtc/call.ts"),d=n("./node_modules/matrix-js-sdk/src/randomstring.ts"),u=n("./src/PlatformPeg.ts"),m=n("./src/SdkConfig.ts"),p=n("./src/dispatcher/dispatcher.ts"),h=n("./src/stores/WidgetEchoStore.ts"),g=n("./src/integrations/IntegrationManagers.ts"),v=n("./src/widgets/WidgetType.ts"),f=n("./src/widgets/Jitsi.ts"),_=n("./src/utils/objects.ts"),y=n("./src/languageHandler.tsx"),b=n("./src/stores/WidgetStore.ts"),w=n("./src/utils/UrlUtils.ts"),E=n("./src/hooks/useEventEmitter.ts"),A=n("./src/stores/widgets/WidgetLayoutStore.ts");class x{static canUserModifyWidgets(e,t){if(!t)return l.vF.warn("No room ID specified"),!1;if(!e)return l.vF.warn("User must be be logged in"),!1;const n=e.getRoom(t);if(!n)return l.vF.warn(`Room ID ${t} is not recognised`),!1;const s=e.getUserId();return s?n.getMyMembership()!==a.O.Join?(l.vF.warn(`User ${s} is not in room ${t}`),!1):n.currentState.maySendStateEvent("im.vector.modular.widgets",s):(l.vF.warn("Failed to get user ID"),!1)}static isScalarUrl(e){if(!e)return l.vF.error("Scalar URL check failed. No URL specified"),!1;const t=(0,w.Dl)(e);let n=m.Ay.get().integrations_widgets_urls;if(!n||0===n.length){const e=g.J.sharedInstance().getPrimaryManager();n=e?[e.apiUrl]:[]}for(let e=0;e<n.length;e++){const o=(0,w.Dl)(n[e]);var s;if(t&&o)if(t.protocol===o.protocol&&t.host===o.host&&o.pathname&&null!==(s=t.pathname)&&void 0!==s&&s.startsWith(o.pathname))return!0}return!1}static waitForUserWidget(e,t,n){return new Promise((s,o)=>{function i(e){return!!e&&(n?void 0!==e.getContent()[t]:void 0===e.getContent()[t])}if(i(e.getAccountData("m.widgets")))return void s();function a(t){i(e.getAccountData("m.widgets"))&&(e.removeListener(r.ClientEvent.AccountData,a),clearTimeout(l),s())}const l=window.setTimeout(()=>{e.removeListener(r.ClientEvent.AccountData,a),o(new Error("Timed out waiting for widget ID "+t+" to appear"))},2e4);e.on(r.ClientEvent.AccountData,a)})}static waitForRoomWidget(e,t,n,s){return new Promise((o,i)=>{function a(e){const n=null==e?void 0:e.some(e=>e.getContent()&&e.getContent().id===t);return s?!!n:!n}const l=e.getRoom(n);if(a(null==l?void 0:l.currentState.getStateEvents("im.vector.modular.widgets")))return void o();function c(t){if(t.getRoomId()!==n||"im.vector.modular.widgets"!==t.getType())return;a(null==l?void 0:l.currentState.getStateEvents("im.vector.modular.widgets"))&&(e.removeListener(r.RoomStateEvent.Events,c),clearTimeout(d),o())}const d=window.setTimeout(()=>{e.removeListener(r.RoomStateEvent.Events,c),i(new Error("Timed out waiting for widget ID "+t+" to appear"))},2e4);e.on(r.RoomStateEvent.Events,c)})}static setUserWidget(e,t,n,s,o,i){const r=(0,_.ZV)(x.getUserWidgets(e));try{delete r[t]}catch{l.vF.error("$widgetId is non-configurable")}const a=Boolean(s),c=e.getSafeUserId(),d={id:t,type:n.preferred,url:s,name:o,data:i,creatorUserId:c};return a&&(r[t]={content:d,sender:c,state_key:t,type:"m.widget",id:t}),e.setAccountData("m.widgets",r).then(()=>x.waitForUserWidget(e,t,a)).then(()=>{p.A.dispatch({action:"user_widget_updated"})})}static setRoomWidget(e,t,n,s,o,i,r,a){let l;return l=Boolean(o)?{type:null==s?void 0:s.legacy,url:o,name:i,data:r,avatar_url:a}:{},x.setRoomWidgetContent(e,t,n,l)}static setRoomWidgetContent(e,t,n,s){const o=!!s.url;return h.A.setRoomWidgetEcho(t,n,s),e.sendStateEvent(t,"im.vector.modular.widgets",s,n).then(()=>x.waitForRoomWidget(e,n,t,o)).finally(()=>{h.A.removeRoomWidgetEcho(t,n)})}static getRoomWidgets(e){const t=e.currentState.getStateEvents("im.vector.modular.widgets");return t?t.filter(e=>e.getContent().type&&e.getContent().url):[]}static getUserWidgets(e){if(!e)throw new Error("User not logged in");const t=e.getAccountData("m.widgets");return t&&t.getContent()?t.getContent():{}}static getUserWidgetsArray(e){return Object.values(x.getUserWidgets(e))}static getStickerpickerWidgets(e){return x.getUserWidgetsArray(e).filter(e=>{var t;return"m.stickerpicker"===(null===(t=e.content)||void 0===t?void 0:t.type)})}static getIntegrationManagerWidgets(e){return x.getUserWidgetsArray(e).filter(e=>{var t;return"m.integration_manager"===(null===(t=e.content)||void 0===t?void 0:t.type)})}static async removeStickerpickerWidgets(e){if(!e)throw new Error("User not logged in");const t=e.getAccountData("m.widgets");if(!t)return;const n=t.getContent()||{};Object.entries(n).forEach(([e,t])=>{t.content&&"m.stickerpicker"===t.content.type&&delete n[e]}),await e.setAccountData("m.widgets",n)}static async addJitsiWidget(e,t,n,s,r,a){var l,u;const m=f.k.getInstance().preferredDomain,p=null!==(l=await f.k.getInstance().getJitsiAuth())&&void 0!==l?l:void 0,h=(0,d.US)(24);let g;g="openidtoken-jwt"===p?o.RG.stringify((new TextEncoder).encode(t),{pad:!1}):`Jitsi${(0,i.A)((0,d.Yi)(24,d.gQ))}`;const _=new URL(x.getLocalJitsiWrapperUrl({auth:p}));_.search="",_.searchParams.set("confId",g),await x.setRoomWidget(e,t,h,v.x.JITSI,_.toString(),s,{conferenceId:g,roomName:null!=a?a:null===(u=e.getRoom(t))||void 0===u?void 0:u.name,isAudioOnly:n===c.JG.Voice,isVideoChannel:r,domain:m,auth:p})}static makeAppConfig(e,t,n,s,o){if(!n)throw new Error("Widgets must be created by someone - provide a senderUserId");return t.creatorUserId=n,t.id=e,t.roomId=s,t.eventId=o,t.name=t.name||t.type,t}static getLocalJitsiWrapperUrl(e={}){var t;const n=["conferenceDomain=$domain","conferenceId=$conferenceId","isAudioOnly=$isAudioOnly","startWithAudioMuted=$startWithAudioMuted","startWithVideoMuted=$startWithVideoMuted","isVideoChannel=$isVideoChannel","displayName=$matrix_display_name","avatarUrl=$matrix_avatar_url","userId=$matrix_user_id","roomId=$matrix_room_id","theme=$theme","roomName=$roomName",`supportsScreensharing=${null===(t=u.A.get())||void 0===t?void 0:t.supportsJitsiScreensharing()}`,"language=$org.matrix.msc2873.client_language"];e.auth&&n.push(`auth=${e.auth}`);const s=n.join("&");let o=window.location.href;"https:"===window.location.protocol||e.forLocalRender||(o=u.A.get().baseUrl);return new URL("jitsi.html#"+s,o).href}static getWidgetName(e){var t;return(null==e||null===(t=e.name)||void 0===t?void 0:t.trim())||(0,y._t)("widget|no_name")}static getWidgetDataTitle(e){var t;return(null==e||null===(t=e.data)||void 0===t||null===(t=t.title)||void 0===t?void 0:t.trim())||""}static getWidgetUid(e){return e?x.calcWidgetUid(e.id,(0,b.Sw)(e)?e.roomId:void 0):""}static calcWidgetUid(e,t){return t?`room_${t}_${e}`:`user_${e}`}static editWidget(e,t){var n;null===(n=g.J.sharedInstance().getPrimaryManager())||void 0===n||n.open(e,"type_"+t.type,t.id)}static isManagedByManager(e){if(x.isScalarUrl(e.url)){const e=g.J.sharedInstance();if(e.hasManager()){const t=e.getPrimaryManager();return x.isScalarUrl(null==t?void 0:t.apiUrl)}}return!1}}const S=e=>{const[t,n]=(0,s.useState)(()=>b.Ay.instance.getApps(e.roomId)),o=(0,s.useCallback)(()=>{n([...b.Ay.instance.getApps(e.roomId)])},[e]);return(0,s.useEffect)(o,[e,o]),(0,E.ml)(b.Ay.instance,e.roomId,o),(0,E.ml)(A.aK.instance,A.aK.emissionForRoom(e),o),t}},"./src/utils/arrays.ts"(e,t,n){"use strict";n.d(t,{$S:()=>s,Bo:()=>f,DG:()=>o,LY:()=>d,Oj:()=>a,PF:()=>r,ZQ:()=>c,cZ:()=>m,dc:()=>l,hq:()=>u,j7:()=>v,qM:()=>g,rm:()=>h,tT:()=>i,xW:()=>p});n("./packages/shared-components/dist/element-web-shared-components.js");function s(e,t){if(e.length===t)return e;const n=[];if(e.length>t){const s=Math.round(e.length/t);for(let t=0;t<e.length;t+=s)n.push(e[t])}else{const s=Math.ceil(t/e.length);for(const t of e)n.push(...o(t,s))}return i(n,t,o(e[e.length-1],t))}function o(e,t){return new Array(t).fill(e)}function i(e,t,n){return e.length===t?e:e.length>t?e.slice(0,t):e.concat(n.slice(0,t-e.length))}function r(e){return e.slice(0,e.length)}function a(e,t){if(e.length===t.length){for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!0;return!1}return!0}function l(e,t){return e.length!==t.length||(!!t.some(t=>!e.includes(t))||!!e.some(e=>!t.includes(e)))}function c(e,t){return{added:t.filter(t=>!e.includes(t)),removed:e.filter(e=>!t.includes(e))}}function d(e,t){return e.filter(e=>t.includes(e))}function u(...e){return Array.from(e.reduce((e,t)=>(t.forEach(t=>e.add(t)),e),new Set))}function m(e,t,n){const s=Array.from(e),[o]=s.splice(t,1);return s.splice(n,0,o),s}const p=(...e)=>e.reduce((e,t)=>{const n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n},new Uint8Array(0));async function h(e,t){for(const n of e)if(await t(n))return!0;return!1}async function g(e,t){try{return await Promise.any(e.map(e=>t(e).then(e=>e?Promise.resolve(!0):Promise.reject(!1))))}catch(e){if(e instanceof AggregateError)return!1;throw e}}async function v(e,t){const n=await Promise.all(e.map(t));return e.filter((e,t)=>n[t])}function f(e){return e.filter(Boolean)}},"./src/utils/beacon/getShareableLocation.ts"(e,t,n){"use strict";n.d(t,{q:()=>o});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts");const o=(e,t)=>{var n;const o=t.getRoom(e.getRoomId()),i=null==o||null===(n=o.currentState.beacons)||void 0===n?void 0:n.get((0,s.getBeaconInfoIdentifier)(e)),r=null==i?void 0:i.latestLocationEvent;return null!=i&&i.isLive&&r?r:null}},"./src/utils/beacon/index.ts"(e,t,n){"use strict";n.d(t,{b1:()=>c,v9:()=>p,w7:()=>o,Mc:()=>s,J1:()=>v,mt:()=>h,R$:()=>a,nq:()=>g,d0:()=>r,dK:()=>E,fA:()=>x,jS:()=>f});const s=e=>{return t=e.timestamp||0,n=e.timeout,Math.max(0,t+n-Date.now());var t,n},o=e=>(e.beaconInfo.timestamp||0)+e.beaconInfo.timeout,i=(e,t)=>o(t)-o(e),r=(e,t)=>(t.beaconInfo.timestamp||0)-(e.beaconInfo.timestamp||0),a=e=>!e.isLive&&!!e.beaconInfo.timestamp&&e.beaconInfo.timestamp>Date.now()&&o(e)>Date.now();var l=n("./node_modules/matrix-js-sdk/src/logger.ts");let c=function(e){return e.Unavailable="Unavailable",e.PermissionDenied="PermissionDenied",e.PositionUnavailable="PositionUnavailable",e.Timeout="Timeout",e.Default="Default",e}({});const d={timeout:1e4,maximumAge:6e4},u=e=>{if(l.vF.error("Geolocation failed",e),!(e=>"object"==typeof e&&!!e.PERMISSION_DENIED)(e))return e instanceof Error&&e.message===c.Unavailable?c.Unavailable:c.Default;switch(null==e?void 0:e.code){case e.PERMISSION_DENIED:return c.PermissionDenied;case e.POSITION_UNAVAILABLE:return c.PositionUnavailable;case e.TIMEOUT:return c.Timeout;default:return c.Default}},m=()=>{if(!navigator.geolocation)throw new Error(c.Unavailable);return navigator.geolocation},p=e=>{const{latitude:t,longitude:n,altitude:s,accuracy:o}=e.coords;return{timestamp:Date.now(),latitude:t,longitude:n,altitude:null!=s?s:void 0,accuracy:o}},h=e=>`geo:${e.latitude},${e.longitude}${Number.isFinite(e.altitude)?`,${e.altitude}`:""}${Number.isFinite(e.accuracy)?`;u=${e.accuracy}`:""}`,g=e=>{const t=p(e);return{timestamp:t.timestamp,geoUri:h(t)}},v=async()=>{try{return await new Promise((e,t)=>{m().getCurrentPosition(e,t,d)})}catch(e){throw new Error(u(e))}},f=(e,t)=>{try{const n=e=>t(u(e)),s=m().watchPosition(e,n,d);return()=>{m().clearWatch(s)}}catch(e){throw new Error(u(e))}};var _=n("./node_modules/react/index.js"),y=n("./node_modules/matrix-js-sdk/src/matrix.ts"),b=n("./src/contexts/MatrixClientContext.tsx"),w=n("./src/hooks/useEventEmitter.ts");const E=e=>{const t=(0,_.useContext)(b.Ay),[n,s]=(0,_.useState)();(0,_.useEffect)(()=>{const n=e.getRoomId(),o=(0,y.getBeaconInfoIdentifier)(e),i=null==t?void 0:t.getRoom(n),r=null==i?void 0:i.currentState.beacons.get(o);(null==r?void 0:r.beaconInfoId)===e.getId()?s(r):s(void 0)},[e,t]);const o=(0,w.dF)(n,y.BeaconEvent.Update,()=>null==n?void 0:n.beaconInfoId);return(0,_.useEffect)(()=>{o&&o!==e.getId()&&s(void 0)},[o,e]),(0,_.useEffect)(()=>{n&&n.monitorLiveness()},[n]),n};var A=n("./src/stores/OwnBeaconStore.ts");const x=e=>{const[t,n]=(0,_.useState)(!1),s=(0,w.dF)(A.g.instance,A.q.LocationPublishError,()=>e.some(A.g.instance.beaconHasLocationPublishError)),o=(0,w.dF)(A.g.instance,A.q.BeaconUpdateError,()=>e.some(e=>A.g.instance.beaconUpdateErrors.has(e)));(0,_.useEffect)(()=>{o&&n(!1)},[o]),(0,_.useEffect)(()=>{n(!1)},[e]);return{onStopSharing:async()=>{n(!0);try{await Promise.all(e.map(e=>A.g.instance.stopBeacon(e)))}catch{n(!1)}},onResetLocationPublishError:()=>{e.forEach(e=>{A.g.instance.resetLocationPublishError(e)})},beacon:e.map(e=>A.g.instance.getBeaconById(e)).sort(i).shift(),stoppingInProgress:t,hasLocationPublishError:s,hasStopSharingError:o}}},"./src/utils/blobs.ts"(e,t,n){"use strict";n.d(t,{F:()=>i,n:()=>o});const s=["image/jpeg","image/gif","image/png","image/apng","image/webp","image/avif","video/mp4","video/webm","video/ogg","video/quicktime","audio/mp4","audio/webm","audio/aac","audio/mpeg","audio/ogg","audio/wave","audio/wav","audio/x-wav","audio/x-pn-wav","audio/flac","audio/x-flac"];function o(e){return s.includes(e)}function i(e){return o(e)?e:"application/octet-stream"}},"./src/utils/colour.ts"(e,t,n){"use strict";n.d(t,{a:()=>o});var s=n("./node_modules/lodash/split.js");function o(e){const t=2*Math.PI/e.length;return(0,s.A)(e,"").map((e,n)=>{if(" "===e)return e;const[s,o]=function(e,t){const n=127*t*Math.cos(e),s=127*t*Math.sin(e);return[n,s]}(n*t,1),[a,l,c]=function(e,t,n){let s=(e+16)/116;const o=.9505*i(s+t/500),a=1.089*i(s-n/200);s=i(s);const l=3.24096994*o-1.53738318*s-.49861076*a,c=-.96924364*o+1.8759675*s+.04155506*a,d=.05563008*o-.20397696*s+1.05697151*a;return[r(l),r(c),r(d)]}(75,s,o);return'<span data-mx-color="#'+a.toString(16).padStart(2,"0")+l.toString(16).padStart(2,"0")+c.toString(16).padStart(2,"0")+'">'+e+"</span>"}).join("")}function i(e){return e>.2069?Math.pow(e,3):.1284*e-.01771}function r(e){const t=function(e){return e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055}(e),n=Math.min(Math.max(t,0),1);return Math.round(255*n)}},"./src/utils/connection.ts"(e,t,n){"use strict";n.d(t,{x:()=>o});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts");const o=e=>(t,n)=>{t!==s.SyncState.Error&&n!==t&&e()}},"./src/utils/createMatrixClient.ts"(e,t,n){"use strict";n.d(t,{A:()=>d});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts");function i(e){return new Worker(new URL(n.p+n.u(3444),n.b),Object.assign({},e,{type:void 0}))}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const l=window.localStorage;let c;try{c=window.indexedDB}catch{}function d(e){const t={useAuthorizationHeader:!0};return c&&l?t.store=new o.IndexedDBStore({indexedDB:c,dbName:"riot-web-sync",localStorage:l,workerFactory:i}):l&&(t.store=new o.MemoryStore({localStorage:l})),t.cryptoStore=c?new o.IndexedDBCryptoStore(c,"matrix-js-sdk:crypto"):l?new o.LocalStorageCryptoStore(l):new o.MemoryCryptoStore,(0,o.createClient)(a(a({},t),e))}},"./src/utils/crypto/deviceInfo.ts"(e,t,n){"use strict";async function s(e,t,n,s){var o;const i=e.getCrypto();if(!i)return;return null===(o=(await i.getUserDeviceInfo([t],s)).get(t))||void 0===o?void 0:o.get(n)}async function o(e,t){var n,s;const o=e.getCrypto();if(!o)return new Set;const i=await o.getUserDeviceInfo([t]);return new Set(null!==(n=null===(s=i.get(t))||void 0===s?void 0:s.keys())&&void 0!==n?n:[])}n.d(t,{G:()=>s,a:()=>o})},"./src/utils/crypto/index.ts"(e,t,n){"use strict";n.d(t,{Q:()=>s});const s="m.megolm.v1.aes-sha2"},"./src/utils/crypto/shouldForceDisableEncryption.ts"(e,t,n){"use strict";n.d(t,{I:()=>o});var s=n("./src/utils/WellKnownUtils.ts");function o(e){const t=(0,s.d_)(e);if(t){return!0===t.force_disable}return!1}},"./src/utils/device/dehydration.ts"(e,t,n){"use strict";n.d(t,{p:()=>o});var s=n("./node_modules/matrix-js-sdk/src/logger.ts");async function o(e,t={}){const n=e.getCrypto();n&&await n.isDehydrationSupported()&&(s.vF.debug("Starting device dehydration"),await n.startDehydration(t))}},"./src/utils/device/parseUserAgent.ts"(e,t,n){"use strict";n.d(t,{b:()=>i,y:()=>a});var s=n("./node_modules/ua-parser-js/src/ua-parser.js"),o=n.n(s);let i=function(e){return e.Desktop="Desktop",e.Mobile="Mobile",e.Web="Web",e.Unknown="Unknown",e}({});const r=(e,t)=>e&&[e,t].filter(Boolean).join(" "),a=e=>{if(!e)return{deviceType:i.Unknown};const t=new(o())(e),n=t.getBrowser(),s=t.getDevice(),a=t.getOS(),l=((e,t,n,s)=>{var o;return"mobile"===t.type||null!==(o=s.name)&&void 0!==o&&o.includes("Android")||e.indexOf("; iOS ")>-1?i.Mobile:"Electron"===n.name?i.Desktop:n.name?i.Web:i.Unknown})(e,s,n,a),c=l===i.Web||l===i.Desktop,d=r(a.name,c?void 0:a.version),u=r(s.vendor,s.model),m=r(n.name,n.version),{customDeviceModel:p,customDeviceOS:h}=l!==i.Unknown?(e=>{if(e.includes("Mozilla/"))return{};if(!e.includes("("))return{};const t=e.substring(e.indexOf("(")+1).split("; ");return{customDeviceModel:t[0]||void 0,customDeviceOS:t[1]||void 0}})(e):{};return{deviceType:l,deviceModel:u||p,deviceOperatingSystem:d||h,client:m}}},"./src/utils/direct-messages.ts"(e,t,n){"use strict";n.d(t,{qv:()=>A,OZ:()=>x,Cp:()=>w,rh:()=>S,UZ:()=>b});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./src/createRoom.ts"),a=n("./src/dispatcher/actions.ts"),l=n("./src/dispatcher/dispatcher.ts"),c=n("./src/models/LocalRoom.ts"),d=n("./src/utils/local-room.ts"),u=n("./src/utils/DMRoomMap.ts"),m=n("./src/utils/dm/findDMForUser.ts");var p=n("./src/utils/rooms.ts"),h=n("./node_modules/matrix-js-sdk/src/types.ts"),g=n("./src/utils/crypto/index.ts");var v=n("./src/utils/localRoom/isLocalRoom.ts"),f=n("./src/UserAddress.ts");async function _(e,t,n=!0){const s=t.map(e=>e.userId);let o;var i;1===s.length?o=(0,m.D)(e,s[0]):o=null!==(i=u.A.shared().getDMRoomForIdentifiers(s))&&void 0!==i?i:void 0;if(o&&!(0,v.F)(o))return l.A.dispatch({action:a.r.ViewRoom,room_id:o.roomId,should_peek:!1,joining:!1,metricsTrigger:"MessageUser"}),Promise.resolve(o.roomId);const c={inlineErrors:!0};await S(e,t)&&(c.encryption=!0);const d=1===s.length&&s[0]===e.getUserId();return 1!==s.length||d||(c.dmUserId=s[0]),s.length>1&&(c.createOpts=s.reduce((t,n)=>{const s=(0,f.Z)(n);if("email"===s){const s={id_server:e.getIdentityServerUrl(!0),medium:"email",address:n};t.invite_3pid.push(s)}else"mx-user-id"===s&&t.invite.push(n);return t},{invite:[],invite_3pid:[]})),c.spinner=n,(0,r.Ay)(e,c)}const y=async(e,t)=>{const n=await(async(e,t)=>{if(!t.identityServer)return[];if(0===e.length)return[];const n=await t.identityServer.getAccessToken();return n?(await t.bulkLookupThreePids(e.map(e=>[e.isEmail?"email":"msisdn",e.userId]),n)).threepids.map(([e,t,n])=>({threePidId:t,mxid:n})):[]})(e,t),s=n.map(async e=>{let n=null;try{n=await t.getProfileInfo(e.mxid)}catch{}return{threePidId:e.threePidId,mxid:e.mxid,profile:n}});return Promise.all(s)};async function b(e,t){let n=t;try{n=await(async(e,t)=>{const n=e.filter(e=>e instanceof x);if(0===n.length)return e;const s=await y(n,t);return e.map(e=>{var t,n;if(!(e instanceof x))return e;const o=s.find(t=>t.threePidId===e.userId);return o?new A({user_id:o.mxid,avatar_url:null==o||null===(t=o.profile)||void 0===t?void 0:t.avatar_url,display_name:null==o||null===(n=o.profile)||void 0===n?void 0:n.displayname}):e})})(t,e)}catch(e){i.vF.warn("Error resolving 3rd-party members",e)}const s=function(e,t){const n=t.map(e=>e.userId);let s;var o;return s=1===n.length?null!==(o=(0,m.D)(e,n[0]))&&void 0!==o?o:null:u.A.shared().getDMRoomForIdentifiers(n),s}(e,n);if(s)return l.A.dispatch({action:a.r.ViewRoom,room_id:s.roomId,should_peek:!1,joining:!1,metricsTrigger:"MessageUser"}),s.roomId;if(1===t.length&&t[0]instanceof x&&(0,p.u)(e))return await _(e,t);const r=await async function(e,t){const n=e.getUserId(),s=new c.Np(c.TM+e.makeTxnId(),e,n),i=[];return i.push(new o.MatrixEvent({event_id:`~${s.roomId}:${e.makeTxnId()}`,type:o.EventType.RoomCreate,content:{creator:n,room_version:o.KNOWN_SAFE_ROOM_VERSION},state_key:"",sender:n,room_id:s.roomId,origin_server_ts:Date.now()})),await S(e,t)&&(s.encrypted=!0,i.push(new o.MatrixEvent({event_id:`~${s.roomId}:${e.makeTxnId()}`,type:o.EventType.RoomEncryption,content:{algorithm:g.Q},sender:n,state_key:"",room_id:s.roomId,origin_server_ts:Date.now()}))),i.push(new o.MatrixEvent({event_id:`~${s.roomId}:${e.makeTxnId()}`,type:o.EventType.RoomMember,content:{displayname:n,membership:h.O.Join},state_key:n,sender:n,room_id:s.roomId})),t.forEach(t=>{var r,a;i.push(new o.MatrixEvent({event_id:`~${s.roomId}:${e.makeTxnId()}`,type:o.EventType.RoomMember,content:{displayname:t.name,avatar_url:null!==(r=t.getMxcAvatarUrl())&&void 0!==r?r:void 0,membership:h.O.Invite,isDirect:!0},state_key:t.userId,sender:n,room_id:s.roomId})),i.push(new o.MatrixEvent({event_id:`~${s.roomId}:${e.makeTxnId()}`,type:o.EventType.RoomMember,content:{displayname:t.name,avatar_url:null!==(a=t.getMxcAvatarUrl())&&void 0!==a?a:void 0,membership:h.O.Join},state_key:t.userId,sender:t.userId,room_id:s.roomId}))}),s.targets=t,s.updateMyMembership(h.O.Join),s.addLiveEvents(i,{addToState:!0}),s.currentState.setStateEvents(i),s.name=s.getDefaultRoomName(e.getUserId()),e.store.storeRoom(s),s}(e,n);return l.A.dispatch({action:a.r.ViewRoom,room_id:r.roomId,joining:!1,targets:n}),r.roomId}async function w(e,t){if(t.isNew)return t.state=c.cd.CREATING,e.emit(o.ClientEvent.Room,t),_(e,t.targets,!1).then(n=>{if(!n)throw new Error(`startDm for local room ${t.roomId} didn't return a room Id`);return t.actualRoomId=n,(0,d.m)(e,t,n)},()=>{i.vF.warn(`Error creating DM for local room ${t.roomId}`),t.state=c.cd.ERROR,e.emit(o.ClientEvent.Room,t)})}class E{}class A extends E{constructor(e){super(),(0,s.A)(this,"_userId",void 0),(0,s.A)(this,"displayName",void 0),(0,s.A)(this,"avatarUrl",void 0),this._userId=e.user_id,this.displayName=e.display_name,this.avatarUrl=e.avatar_url}get name(){return this.displayName||this._userId}get userId(){return this._userId}getMxcAvatarUrl(){return this.avatarUrl}}class x extends E{constructor(e){super(),(0,s.A)(this,"id",void 0),this.id=e}get isEmail(){return this.id.includes("@")}get name(){return this.id}get userId(){return this.id}getMxcAvatarUrl(){}}async function S(e,t){if((0,p.u)(e)){if(1===t.length&&t[0]instanceof x)return!0;if(!t.some(e=>e instanceof x)){const n=t.map(e=>e.userId);if(await(0,r.qX)(e,n))return!0}}return!1}},"./src/utils/dm/filterValidMDirect.ts"(e,t,n){"use strict";n.d(t,{d:()=>s});const s=e=>{if(null===e||"object"!=typeof e)return{valid:!1,filteredContent:{}};const t=new Map;let n=!0;for(const[s,o]of Object.entries(e)){if("string"!=typeof s){n=!1;continue}if(!Array.isArray(o)){n=!1;continue}const e=[];t.set(s,e);for(const t of o)"string"==typeof t?e.push(t):n=!1}return{valid:n,filteredContent:Object.fromEntries(t.entries())}}},"./src/utils/dm/findDMForUser.ts"(e,t,n){"use strict";n.d(t,{D:()=>c});var s=n("./node_modules/matrix-js-sdk/src/types.ts"),o=n("./src/utils/DMRoomMap.ts"),i=n("./src/utils/localRoom/isLocalRoom.ts"),r=n("./src/utils/membership.ts"),a=n("./src/utils/room/getFunctionalMembers.ts");function l(e,t,n){const o=e.filter(e=>{if(e&&e.getMyMembership()===s.O.Join){if((0,i.F)(e))return!1;const s=(0,a.B)(e),o=e.currentState.getMembers().filter(e=>!s.includes(e.userId)&&e.membership&&(0,r.bV)(e.membership));if(o.find(e=>e.userId===t)&&2===o.length)return!0;const l=e.currentState.getStateEvents("m.room.third_party_invite")||[];return n&&1===o.length&&1===l.length}return!1}).sort((e,t)=>t.getLastActiveTimestamp()-e.getLastActiveTimestamp());if(o.length)return o[0]}function c(e,t){const n=l(o.A.shared().getDMRoomsForUserId(t).map(t=>e.getRoom(t)).filter(e=>null!==e),t,!0);if(n)return n;const s=o.A.shared().getRoomIds();return l(Array.from(s).map(t=>e.getRoom(t)).filter(e=>null!==e),t,!1)}},"./src/utils/image-media.ts"(e,t,n){"use strict";n.d(t,{f:()=>a,p:()=>l});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./src/WorkerManager.ts");class r{constructor(){var e;(0,o.A)(this,"worker",new i.O(new Worker(new URL(n.p+n.u(4980),n.b),Object.assign({},e,{type:void 0}))))}static get instance(){return r.internalInstance}getBlurhash(e){return this.worker.call({imageData:e}).then(e=>e.blurhash)}}s=r,(0,o.A)(r,"internalInstance",new s);const a="xyz.amorgan.blurhash";async function l(e,t,n,s,o=!0){let i,l,c,d=t,u=n;u>600&&(d=Math.floor(d*(600/u)),u=600),d>800&&(u=Math.floor(u*(800/d)),d=800);try{i=new window.OffscreenCanvas(d,u),l=i.getContext("2d")}catch{i=document.createElement("canvas"),i.width=d,i.height=u,l=i.getContext("2d")}l.drawImage(e,0,0,d,u),c=window.OffscreenCanvas&&i instanceof OffscreenCanvas?i.convertToBlob({type:s}):new Promise(e=>i.toBlob(e,s));const m=l.getImageData(0,0,d,u),p=o?await r.instance.getBlurhash(m):void 0,h=await c;return{info:{thumbnail_info:{w:d,h:u,mimetype:h.type,size:h.size},w:t,h:n,[a]:p},thumbnail:h}}},"./src/utils/leave-behaviour.ts"(e,t,n){"use strict";n.d(t,{U:()=>x,e:()=>S});var s=n("./node_modules/matrix-js-sdk/src/utils.ts"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/Modal.tsx"),a=n("./src/components/views/elements/Spinner.tsx"),l=n("./src/languageHandler.tsx"),c=n("./src/components/views/dialogs/ErrorDialog.tsx"),d=n("./src/stores/spaces/index.ts"),u=n("./src/stores/spaces/SpaceStore.ts"),m=n("./src/dispatcher/dispatcher.ts"),p=n("./src/dispatcher/actions.ts"),h=n("./node_modules/@vector-im/compound-design-tokens/assets/web/icons/info-solid.js"),g=n("./src/components/views/elements/DialogButtons.tsx"),v=n("./src/components/views/dialogs/BaseDialog.tsx"),f=n("./src/components/views/spaces/SpaceChildrenPicker.tsx"),_=n("./src/utils/arrays.ts"),y=n("./src/utils/membership.ts");const b=({space:e,onFinished:t})=>{const n=(0,o.useMemo)(()=>{const t=new Set(u.Ay.instance.getSpaceFilteredRoomIds(e.roomId));return u.Ay.instance.traverseSpace(e.roomId,n=>{e.roomId!==n&&t.add(n)},!1),(0,_.Bo)(Array.from(t).map(t=>e.client.getRoom(t)))},[e]),[s,r]=(0,o.useState)([]),a=(0,o.useMemo)(()=>new Set(s),[s]);let c,d;if(e.getJoinRule()!==i.JoinRule.Public&&(c=(0,l._t)("space|leave_dialog_public_rejoin_warning")),(0,y.GR)(e))d=(0,l._t)("space|leave_dialog_only_admin_warning");else{s.filter(y.GR).length>0&&(d=(0,l._t)("space|leave_dialog_only_admin_room_warning"))}return o.createElement(v.A,{title:(0,l._t)("space|leave_dialog_title",{spaceName:e.name}),className:"mx_LeaveSpaceDialog",contentId:"mx_LeaveSpaceDialog",onFinished:()=>t(!1),fixedWidth:!1},o.createElement("div",{className:"mx_Dialog_content",id:"mx_LeaveSpaceDialog"},o.createElement("p",null,(0,l._t)("space|leave_dialog_description",{},{spaceName:()=>o.createElement("strong",null,e.name)})," ",c,c&&o.createElement(o.Fragment,null," "),n.length>0&&(0,l._t)("space|leave_dialog_option_intro")),n.length>0&&o.createElement(f.A,{space:e,spaceChildren:n,selected:a,onChange:r,noneLabel:(0,l._t)("space|leave_dialog_option_none"),allLabel:(0,l._t)("space|leave_dialog_option_all"),specificLabel:(0,l._t)("space|leave_dialog_option_specific")}),d&&o.createElement("div",{className:"mx_LeaveSpaceDialog_section_warning"},o.createElement(h.A,null),d)),o.createElement(g.A,{primaryButton:(0,l._t)("space|leave_dialog_action"),primaryButtonClass:"danger",onPrimaryButtonClick:()=>t(!0,s),hasCancel:!0,onCancel:()=>t(!1)}))};var w=n("./src/utils/space.tsx"),E=n("./src/contexts/SDKContext.ts"),A=n("./src/settings/SettingsStore.ts");async function x(e,t,n=!0,h=!0){var g;let v;h&&(v=r.Ay.createDialog(a.A,void 0,"mx_Dialog_spinner"));let f=!0;const _=e.getRoomUpgradeHistory(t,!0,A.A.getValue("feature_dynamic_room_predecessors"));if(_&&_.length>0){_[_.length-1].roomId!==t&&(f=!1)}const y=e.getRoom(t);if(!y)throw new Error(`Expected to find room for id ${t}`);await Promise.all(y.getPendingEvents().filter(e=>[i.EventStatus.QUEUED,i.EventStatus.ENCRYPTING,i.EventStatus.SENDING].includes(e.status)).map(e=>new Promise((t,n)=>{const s=()=>{var o;e.status===i.EventStatus.NOT_SENT&&(null===(o=v)||void 0===o||o.close(),n(e.error));e.status&&e.status!==i.EventStatus.SENT||(e.off(i.MatrixEventEvent.Status,s),t())};e.on(i.MatrixEventEvent.Status,s)})));let b={};if(f)b=await e.leaveRoomChain(t,n);else try{await e.leave(t)}catch(e){if(e instanceof i.MatrixError){const n=e.data.error||(0,l._t)("room|leave_unexpected_error");b[t]=Object.assign(new Error(n),{errcode:e.data.errcode,data:e.data})}else e instanceof Error?b[t]=e:b[t]=new Error("Failed to leave room for unknown causes")}if(n){const n=Object.values(b).find(e=>"M_LIMIT_EXCEEDED"===(null==e?void 0:e.errcode));var w;if(n)return await(0,s.yy)(null!==(w=n.data.retry_after_ms)&&void 0!==w?w:100),x(e,t,!1,!1)}null===(g=v)||void 0===g||g.close();const S=Object.entries(b).filter(e=>!!e[1]);if(S.length>0){const e=[];for(const n of S){const s=n[1];let i=(0,l._t)("room|leave_unexpected_error");if(null!=s&&s.errcode&&s.message){if("M_CANNOT_LEAVE_SERVER_NOTICE_ROOM"===s.errcode)return void r.Ay.createDialog(c.A,{title:(0,l._t)("room|leave_server_notices_title"),description:(0,l._t)("room|leave_server_notices_description")});i=b[t].message}e.push(i,o.createElement("BR"))}return void r.Ay.createDialog(c.A,{title:(0,l._t)("room|leave_error_title"),description:e})}if(E.M.instance.roomViewStore.getRoomId()===t)if((0,d.ww)(u.Ay.instance.activeSpace))m.A.dispatch({action:p.r.ViewHomePage});else if(u.Ay.instance.activeSpace===t){const e=u.Ay.instance.getCanonicalParent(t);null!==e?m.A.dispatch({action:p.r.ViewRoom,room_id:e.roomId,metricsTrigger:void 0}):m.A.dispatch({action:p.r.ViewHomePage})}else m.A.dispatch({action:p.r.ViewRoom,room_id:u.Ay.instance.activeSpace,metricsTrigger:void 0})}const S=e=>{const{finished:t}=r.Ay.createDialog(b,{space:e},"mx_LeaveSpaceDialog_wrapper");t.then(async([t,n])=>{t&&(await(0,w.Yt)(e,n,t=>x(e.client,t.roomId)),m.A.dispatch({action:p.r.AfterLeaveRoom,room_id:e.roomId}))})}},"./src/utils/local-room.ts"(e,t,n){"use strict";n.d(t,{Y:()=>c,m:()=>d});var s=n("./node_modules/matrix-js-sdk/src/logger.ts"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./src/dispatcher/dispatcher.ts"),r=n("./src/models/LocalRoom.ts"),a=n("./src/utils/localRoom/isLocalRoom.ts");function l(e,t){var n;if(!t.actualRoomId)return!1;const s=e.getRoom(t.actualRoomId);if(!s)return!1;if(s.getInvitedAndJoinedMemberCount()!==1+(null===(n=t.targets)||void 0===n?void 0:n.length))return!1;if(0===s.currentState.getStateEvents(o.EventType.RoomHistoryVisibility).length)return!1;const i=s.currentState.getStateEvents(o.EventType.RoomEncryption);return!0!==t.encrypted||0!==i.length}async function c(e,t,n){if((0,a.F)(e)){const s=n.getRoom(e);return s.isCreated&&(e=>{if(void 0===e)throw new Error("Local room in CREATED state without actual room Id occurred");return!0})(s.actualRoomId)?t(s.actualRoomId):new Promise((e,n)=>{s.afterCreateCallbacks.push(s=>{t(s).then(e).catch(n)}),i.A.dispatch({action:"local_room_event",roomId:s.roomId})})}return t(e)}async function d(e,t,n){return l(e,t)?u(t,n).then(()=>(t.state=r.cd.CREATED,e.emit(o.ClientEvent.Room,t),Promise.resolve(n))):new Promise((i,a)=>{const c=()=>{d&&clearInterval(d),m&&clearTimeout(m),u(t,n).then(()=>{t.state=r.cd.CREATED,e.emit(o.ClientEvent.Room,t),i(n)}).catch(e=>{a(e)})},d=window.setInterval(()=>{l(e,t)&&c()},500),m=window.setTimeout(()=>{s.vF.warn(`Assuming local room ${t.roomId} is ready after hitting timeout`),c()},5e3)})}async function u(e,t){for(const n of e.afterCreateCallbacks)await n(t);e.afterCreateCallbacks=[]}},"./src/utils/localRoom/isLocalRoom.ts"(e,t,n){"use strict";n.d(t,{F:()=>o});var s=n("./src/models/LocalRoom.ts");function o(e){return"string"==typeof e?e.startsWith(s.TM):e instanceof s.Np}},"./src/utils/location/LocationShareErrors.ts"(e,t,n){"use strict";n.d(t,{$:()=>o,C:()=>i});var s=n("./src/languageHandler.tsx");let o=function(e){return e.MapStyleUrlNotConfigured="MapStyleUrlNotConfigured",e.MapStyleUrlNotReachable="MapStyleUrlNotReachable",e.WebGLNotEnabled="WebGLNotEnabled",e.Default="Default",e}({});const i=e=>{switch(e){case o.MapStyleUrlNotConfigured:return(0,s._t)("location_sharing|MapStyleUrlNotConfigured");case o.WebGLNotEnabled:return(0,s._t)("location_sharing|WebGLNotEnabled");case o.MapStyleUrlNotReachable:default:return(0,s._t)("location_sharing|MapStyleUrlNotReachable")}}},"./src/utils/location/findMapStyleUrl.ts"(e,t,n){"use strict";n.d(t,{M:()=>a});var s=n("./node_modules/matrix-js-sdk/src/logger.ts"),o=n("./src/SdkConfig.ts"),i=n("./src/utils/WellKnownUtils.ts"),r=n("./src/utils/location/LocationShareErrors.ts");function a(e){var t,n;const a=null!==(t=null===(n=(0,i.P2)(e))||void 0===n?void 0:n.map_style_url)&&void 0!==t?t:o.Ay.get().map_style_url;if(!a)throw s.vF.error("'map_style_url' missing from homeserver .well-known area, and missing from from config.json."),new Error(r.$.MapStyleUrlNotConfigured);return a}},"./src/utils/location/index.ts"(e,t,n){"use strict";n.d(t,{$X:()=>a.$,Gn:()=>m,M0:()=>s.M,CZ:()=>a.C,qy:()=>i,jm:()=>r,eC:()=>u,XB:()=>d,Ff:()=>g});var s=n("./src/utils/location/findMapStyleUrl.ts"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts");const i=e=>{var t;const n=o.M_ASSET.findIn(e);return(null!==(t=null==n?void 0:n.type)&&void 0!==t?t:o.LocationAssetType.Self)==o.LocationAssetType.Self},r=e=>{var t;const n=e.getContent(),s=o.M_LOCATION.findIn(n);return null!==(t=null==s?void 0:s.uri)&&void 0!==t?t:n.geo_uri};var a=n("./src/utils/location/LocationShareErrors.ts"),l=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}const d=e=>{function t(e){const t=parseFloat(e);return Number.isNaN(t)?null:t}const n=e.match(/^\s*geo:(.*?)\s*$/);if(!n)return;const s=n[1].split(";"),o=s[0].split(",");let i;for(const e of s.slice(1)){const n=e.match(/u=(.*)/);n&&(i=t(n[1]))}const r=t(o[0]),a=t(o[1]);if(null===r||null===a)return;const d={latitude:r,longitude:a,altitude:t(o[2]),accuracy:i,altitudeAccuracy:null,heading:null,speed:null};return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){(0,l.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({toJSON:()=>d},d)},u=e=>`https://www.openstreetmap.org/?mlat=${e.latitude}&mlon=${e.longitude}#map=16/${e.latitude}/${e.longitude}`,m=e=>{const t=e.getContent(),n=t[o.M_LOCATION.name];if(void 0!==n){const e=n.uri;if(void 0!==e){const t=d(e);return t?u(t):null}}else{const e=t.geo_uri;if(e){const t=d(e);return t?u(t):null}}return null};var p=n("./src/languageHandler.tsx"),h=n("./src/SdkConfig.ts");const g=e=>{const t=h.Ay.get().brand;switch(e){case 1:return(0,p._t)("location_sharing|failed_permission",{brand:t});case 2:return(0,p._t)("location_sharing|failed_generic");case 3:return(0,p._t)("location_sharing|failed_timeout");case 4:return(0,p._t)("location_sharing|failed_unknown")}}},"./src/utils/maps.ts"(e,t,n){"use strict";n.d(t,{C:()=>o,h:()=>i});var s=n("./src/utils/arrays.ts");function o(e,t){const n=[...e.keys()],o=[...t.keys()],i=(0,s.ZQ)(n,o);return{changed:(0,s.LY)(n,o).filter(n=>e.get(n)!==t.get(n)),added:i.added,removed:i.removed}}class i extends Map{constructor(e){super(e)}getOrCreate(e,t){return this.has(e)?this.get(e):(this.set(e,t),t)}remove(e){const t=this.get(e);return this.delete(e),t}}},"./src/utils/membership.ts"(e,t,n){"use strict";n.d(t,{Cs:()=>c,E3:()=>u,GR:()=>h,_T:()=>a,bV:()=>m,cd:()=>l,vB:()=>p,yE:()=>d});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./node_modules/matrix-js-sdk/src/types.ts"),i=n("./src/MatrixClientPeg.ts"),r=n("./src/settings/SettingsStore.ts");let a=function(e){return e.Join="JOIN",e.Invite="INVITE",e.Leave="LEAVE",e}({});function l(e){const t={[a.Invite]:[],[a.Join]:[],[a.Leave]:[]};for(const n of e){n.getMyMembership()&&t[u(n)].push(n)}return t}function c(e){return e===o.O.Invite?a.Invite:e===o.O.Join||r.A.getValue("feature_ask_to_join")&&e===o.O.Knock?a.Join:a.Leave}function d(e){var t,n;const s=null===(t=i.J.get())||void 0===t?void 0:t.getSafeUserId(),r=s?e.getMember(s):null,a=null==r||null===(n=r.events.member)||void 0===n?void 0:n.getPrevContent().membership;return(null==r?void 0:r.isKicked())&&a===o.O.Knock}function u(e,t){return d(e)?a.Join:c(null!=t?t:e.getMyMembership())}function m(e){const t=c(e);return t===a.Join||t===a.Invite}async function p(e,t,n,o={timeout:1500}){var i,r;const{timeout:a}=o;let l;return null!==(null!==(i=null===(r=e.getRoom(t))||void 0===r?void 0:r.getMember(n))&&void 0!==i?i:null)||new Promise(o=>{l=function(e,s,i){i.userId===n&&i.roomId===t&&o(!0)},e.on(s.RoomStateEvent.NewMember,l),window.setTimeout(o,a,!1)}).finally(()=>{e.removeListener(s.RoomStateEvent.NewMember,l)})}function h(e){var t;const n=null===(t=e.getMember(e.client.getSafeUserId()))||void 0===t?void 0:t.powerLevel,s=e.getJoinedMembers().map(e=>e.powerLevel),o=Math.max(...s.filter(e=>"number"==typeof e));return o===n&&s.lastIndexOf(o)==s.indexOf(o)}},"./src/utils/messages.ts"(e,t,n){"use strict";n.d(t,{L:()=>a,g:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./src/editor/parts.ts");function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function a(e,t,n,s,i=null){const r=t["m.mentions"]={},a=new Set;let l=!1;if(s&&a.add(s.sender.userId),n)for(const e of n.parts)e.type===o.ZU.UserPill?a.add(e.resourceId):e.type===o.ZU.AtRoomPill&&(l=!0);if(a.delete(e),i){const e=t["m.new_content"]["m.mentions"]={};a.size&&(e.user_ids=[...a]),l&&(e.room=!0);const n=i["m.mentions"];Array.isArray(null==n?void 0:n.user_ids)&&n.user_ids.forEach(e=>a.delete(e)),null!=n&&n.room&&(l=!1)}a.size&&(r.user_ids=[...a]),l&&(r.room=!0)}function l(e,t){t&&(e["m.relates_to"]=r(r({},e["m.relates_to"]||{}),t))}},"./src/utils/notifications.ts"(e,t,n){"use strict";n.d(t,{G9:()=>p,HG:()=>a,J7:()=>m,W7:()=>f,XC:()=>h,aI:()=>u,bR:()=>v,gM:()=>_,nx:()=>g,uG:()=>d,uk:()=>l});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts"),o=n("./src/settings/SettingsStore.ts"),i=n("./src/stores/notifications/NotificationLevel.ts"),r=n("./src/Unread.ts");const a="com.famedly.marked_unread",l=s.EventType.MarkedUnread,c=["notificationsEnabled","notificationBodyEnabled","audioNotificationsEnabled"];function d(e){return`${s.LOCAL_NOTIFICATION_SETTINGS_PREFIX.name}.${e}`}async function u(e){if(e.isGuest())return;const t=d(e.deviceId);if(!e.getAccountData(t)){const n=!c.some(e=>o.A.getValue(e));await e.setAccountData(t,{is_silenced:n})}}function m(e){var t,n;const s=d(e.deviceId),o=e.getAccountData(s);return null!==(t=null==o||null===(n=o.getContent())||void 0===n?void 0:n.is_silenced)&&void 0!==t&&t}async function p(e,t){const n=e.getLastLiveEvent();await v(e,t,!1);try{if(n){const i=o.A.getValue("sendReadReceipts",e.roomId)?s.ReceiptType.Read:s.ReceiptType.ReadPrivate;return await t.sendReadReceipt(n,i,!0)}return{}}finally{e.setUnreadNotificationCount(s.NotificationCountType.Highlight,0),e.setUnreadNotificationCount(s.NotificationCountType.Total,0);for(const t of e.getThreads())e.setThreadUnreadNotificationCount(t.id,s.NotificationCountType.Highlight,0),e.setThreadUnreadNotificationCount(t.id,s.NotificationCountType.Total,0)}}function h(e){const t=e.getRooms().reduce((t,n)=>{if((0,r.GN)(n,!0)){const s=p(n,e);t.push(s)}return t},[]);return Promise.all(t)}function g(e){var t,n;const s=null===(t=e.getAccountData(l))||void 0===t||null===(t=t.getContent())||void 0===t?void 0:t.unread,o=null===(n=e.getAccountData(a))||void 0===n||null===(n=n.getContent())||void 0===n?void 0:n.unread;return null!=s?s:o}async function v(e,t,n){const o=g(e);Boolean(o)!==n&&await t.setRoomAccountData(e.roomId,s.EventType.MarkedUnread,{unread:n})}function f(e){return e<=i.S.None?void 0:e<=i.S.Activity?"default":e<=i.S.Notification?"success":"critical"}function _(e){switch(e.threadsAggregateNotificationType){case s.NotificationCountType.Highlight:return i.S.Highlight;case s.NotificationCountType.Total:return i.S.Notification;default:return i.S.Activity}}},"./src/utils/objects.ts"(e,t,n){"use strict";n.d(t,{Eg:()=>l,Gv:()=>d,No:()=>a,ZV:()=>c,aG:()=>i,hn:()=>o,tn:()=>r});var s=n("./src/utils/arrays.ts");function o(e,t){const n=new Map(Object.entries(e));for(const e of t)n.delete(e);return Array.from(n.entries()).reduce((e,[t,n])=>(e[t]=n,e),{})}function i(e,t){const n=Object.keys(e),i=(0,s.ZQ)(n,t);return 0===i.removed.length?r(e):o(e,i.removed)}function r(e,t){const n={};for(const[s,o]of Object.entries(e))n[s]=o,t&&(n[s]=t(s,o));return n}function a(e,t){if(e===t)return!1;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!0;const i=(0,s.LY)(n,o);return i.length!==n.length||i.some(n=>e[n]!==t[n])}function l(e,t){const n=function(e,t){const n=Object.keys(e),o=Object.keys(t),i=(0,s.ZQ)(n,o);return{changed:(0,s.LY)(n,o).filter(n=>e[n]!==t[n]),added:i.added,removed:i.removed}}(e,t);return(0,s.hq)(n.removed,n.added,n.changed)}function c(e){return JSON.parse(JSON.stringify(e))}function d(e){return e&&"object"==typeof e&&!Array.isArray(e)}},"./src/utils/oidc/persistOidcSettings.ts"(e,t,n){"use strict";n.d(t,{HB:()=>l,UF:()=>a,X5:()=>u,ag:()=>d,rW:()=>c});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts");const o="mx_oidc_client_id",i="mx_oidc_token_issuer",r="mx_oidc_id_token",a=(e,t,n)=>{localStorage.setItem(o,e),localStorage.setItem(i,t),localStorage.setItem(r,n)},l=()=>{var e;return null!==(e=localStorage.getItem(i))&&void 0!==e?e:void 0},c=()=>{const e=localStorage.getItem(o);if(!e)throw new Error("Oidc client id not found in storage");return e},d=()=>{const e=u();if(e)return(0,s.decodeIdToken)(e);const t=localStorage.getItem("mx_oidc_id_token_claims");return t?JSON.parse(t):void 0},u=()=>{var e;return null!==(e=localStorage.getItem(r))&&void 0!==e?e:void 0}},"./src/utils/permalinks/MatrixToPermalinkConstructor.ts"(e,t,n){"use strict";n.d(t,{Ay:()=>a,Vi:()=>r,pc:()=>i});var s=n("./src/utils/permalinks/PermalinkConstructor.ts");const o="matrix.to",i=`https://${o}`,r=`^(?:https?://)?${o.replace(".","\\.")}/#/(.*)`;class a extends s.A{constructor(){super()}forEvent(e,t,n){return`${i}/#/${e}/${t}${this.encodeServerCandidates(n)}`}forRoom(e,t){return`${i}/#/${e}${this.encodeServerCandidates(t)}`}forUser(e){return`${i}/#/${e}`}forEntity(e){return`${i}/#/${e}`}isPermalinkHost(e){return e===o}encodeServerCandidates(e){return e&&0!==e.length?`?via=${e.map(e=>encodeURIComponent(e)).join("&via=")}`:""}parsePermalink(e){if(!e)throw new Error("Does not appear to be a permalink");const t=[...e.matchAll(new RegExp(r,"gi"))][0];if(!t||t.length<2)throw new Error("Does not appear to be a permalink");const n=t[1].split("/"),o=n[0];if("@"===o[0])return s.Y.forUser(t[1]);if("#"===o[0]||"!"===o[0]){if(1===n.length){const[e,t=""]=o.split("?"),n=t.split(/&?via=/g).filter(e=>!!e);return s.Y.forRoom(e,n)}const e=n.length>1?n.slice(1).join("/"):"",[t,i=""]=e.split("?"),r=i.split(/&?via=/g).filter(e=>!!e);return s.Y.forEvent(o,t,r)}throw new Error("Unknown entity type in permalink")}}},"./src/utils/permalinks/PermalinkConstructor.ts"(e,t,n){"use strict";n.d(t,{A:()=>s,Y:()=>o});class s{forEvent(e,t,n=[]){throw new Error("Not implemented")}forRoom(e,t=[]){throw new Error("Not implemented")}forUser(e){throw new Error("Not implemented")}forEntity(e){throw new Error("Not implemented")}isPermalinkHost(e){throw new Error("Not implemented")}parsePermalink(e){throw new Error("Not implemented")}}class o{constructor(e,t,n,s){this.roomIdOrAlias=e,this.eventId=t,this.userId=n,this.viaServers=s}static forUser(e){return new o(null,null,e,null)}static forRoom(e,t=[]){return new o(e,null,null,t)}static forEvent(e,t,n=[]){return new o(e,t,null,n)}get primaryEntityId(){return this.roomIdOrAlias||this.userId}}},"./src/utils/permalinks/Permalinks.ts"(e,t,n){"use strict";n.d(t,{pE:()=>v,Ex:()=>P,h3:()=>A,aW:()=>b,rl:()=>f,B4:()=>y,Ne:()=>_,$N:()=>S,bP:()=>w,uK:()=>E});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/is-ip/index.js"),i=n("./node_modules/matrix-js-sdk/src/utils.ts"),r=n("./node_modules/matrix-js-sdk/src/matrix.ts"),a=n("./node_modules/matrix-js-sdk/src/types.ts"),l=n("./node_modules/matrix-js-sdk/src/logger.ts"),c=n("./src/utils/permalinks/MatrixToPermalinkConstructor.ts"),d=n("./src/utils/permalinks/PermalinkConstructor.ts");class u extends d.A{constructor(e){if(super(),(0,s.A)(this,"elementUrl",void 0),this.elementUrl=e,!this.elementUrl.startsWith("http:")&&!this.elementUrl.startsWith("https:"))throw new Error("Element prefix URL does not appear to be an HTTP(S) URL")}forEvent(e,t,n){return`${this.elementUrl}/#/room/${e}/${t}${this.encodeServerCandidates(n)}`}forRoom(e,t){return`${this.elementUrl}/#/room/${e}${this.encodeServerCandidates(t)}`}forUser(e){return`${this.elementUrl}/#/user/${e}`}forEntity(e){if("!"===e[0]||"#"===e[0])return this.forRoom(e);if("@"===e[0])return this.forUser(e);throw new Error("Unrecognized entity")}isPermalinkHost(e){const t=new URL(this.elementUrl);return e===(t.host||t.hostname)}encodeServerCandidates(e){return e&&0!==e.length?`?via=${e.map(e=>encodeURIComponent(e)).join("&via=")}`:""}parsePermalink(e){if(!e||!e.startsWith(this.elementUrl))throw new Error("Does not appear to be a permalink");const t=e.substring(`${this.elementUrl}/#/`.length);return u.parseAppRoute(t)}static parseAppRoute(e){const t=e.split("/");if(t.length<2)throw new Error("URL is missing parts");const[n]=t.splice(-1,1),[s,o=""]=n.split("?");t.push(s);const i=t[0],r=t[1];if("user"===i)return d.Y.forUser(r);if("room"===i){const e=t.length>2?t.slice(2).join("/"):"",n=o.split(/&?via=/).filter(e=>!!e);return d.Y.forEvent(r,e,n)}throw new Error("Unknown entity type in permalink")}}var m=n("./src/SdkConfig.ts"),p=n("./src/linkify-matrix.ts");class h extends d.A{constructor(){super()}encodeEntity(e){if("!"===e[0])return`roomid/${e.slice(1)}`;if("#"===e[0])return`r/${e.slice(1)}`;if("@"===e[0])return`u/${e.slice(1)}`;if("$"===e[0])return`e/${e.slice(1)}`;throw new Error("Cannot encode entity: "+e)}forEvent(e,t,n){return`matrix:${this.encodeEntity(e)}/${this.encodeEntity(t)}${this.encodeServerCandidates(n)}`}forRoom(e,t){return`matrix:${this.encodeEntity(e)}${this.encodeServerCandidates(t)}`}forUser(e){return`matrix:${this.encodeEntity(e)}`}forEntity(e){return`matrix:${this.encodeEntity(e)}`}isPermalinkHost(e){return""===e}encodeServerCandidates(e){return e&&0!==e.length?`?via=${e.map(e=>encodeURIComponent(e)).join("&via=")}`:""}parsePermalink(e){if(!e||!e.startsWith("matrix:"))throw new Error("Does not appear to be a permalink");const t=new URL(e).pathname.split("/"),n=t[0],s=t[1];if("u"===n)return d.Y.forUser(`@${s}`);if("r"===n||"roomid"===n){const e="r"===n?"#":"!";if(2===t.length){const[t,n=""]=s.split("?"),o=n.split(/&?via=/g).filter(e=>!!e);return d.Y.forRoom(`${e}${t}`,o)}if("e"===t[2]){const n=t.length>3?t.slice(3).join("/"):"",[o,i=""]=n.split("?"),r=i.split(/&?via=/g).filter(e=>!!e);return d.Y.forEvent(`${e}${s}`,`$${o}`,r)}throw new Error("Faulty room permalink")}throw new Error("Unknown entity type in permalink")}}const g=/.*/;class v{constructor(e,t=null,n=!0){if((0,s.A)(this,"roomId",void 0),(0,s.A)(this,"highestPlUserId",null),(0,s.A)(this,"populationMap",{}),(0,s.A)(this,"bannedHostsRegexps",[]),(0,s.A)(this,"allowedHostsRegexps",[]),(0,s.A)(this,"_serverCandidates",void 0),(0,s.A)(this,"started",!1),(0,s.A)(this,"onRoomStateUpdate",()=>{this.fullUpdate()}),(0,s.A)(this,"updateServerCandidates",()=>{const e=new Set;this.highestPlUserId&&e.add(C(this.highestPlUserId));const t=Object.keys(this.populationMap).sort((e,t)=>this.populationMap[t]-this.populationMap[e]);for(let s=0;s<t.length&&e.size<3;s++){var n;const o=t[s],i=null!==(n=k(o))&&void 0!==n?n:"";e.has(o)||I(i)||R(i,this.bannedHostsRegexps)||!R(i,this.allowedHostsRegexps)||e.add(o)}this._serverCandidates=[...e]}),this.room=e,this.roomId=e?e.roomId:t,!this.roomId)throw new Error("Failed to resolve a roomId for the permalink creator to use")}load(){this.room&&this.room.currentState?this.fullUpdate():l.vF.warn("Tried to load a permalink creator with no room state")}start(){var e;this.started||(this.load(),null===(e=this.room)||void 0===e||e.currentState.on(r.RoomStateEvent.Update,this.onRoomStateUpdate),this.started=!0)}stop(){var e;null===(e=this.room)||void 0===e||e.currentState.removeListener(r.RoomStateEvent.Update,this.onRoomStateUpdate),this.started=!1}get serverCandidates(){return this._serverCandidates}forEvent(e){return x().forEvent(this.roomId,e,this._serverCandidates)}forShareableRoom(){if(this.room){const e=this.room.getCanonicalAlias();if(e)return x().forRoom(e)}return x().forRoom(this.roomId,this._serverCandidates)}forRoom(){return x().forRoom(this.roomId,this._serverCandidates)}fullUpdate(){this.updateAllowedServers(),this.updateHighestPlUser(),this.updatePopulationMap(),this.updateServerCandidates()}updateHighestPlUser(){var e;const t=null===(e=this.room)||void 0===e?void 0:e.currentState.getStateEvents("m.room.power_levels","");if(t){const e=t.getContent();if(e){const t=e.users;if(t){const e=Object.entries(t).filter(([e])=>{var t,n;const s=null===(t=this.room)||void 0===t?void 0:t.getMember(e);if(!s||s.membership!==a.O.Join)return!1;const o=C(e),i=null!==(n=k(o))&&void 0!==n?n:o;return!I(i)&&!R(i,this.bannedHostsRegexps)&&R(i,this.allowedHostsRegexps)}),n=e.reduce((e,t)=>t[1]>e[1]?t:e,[null,0]),[s,o]=n;if(null!==s&&o>=50)return void(this.highestPlUserId=s)}}}this.highestPlUserId=null}updateAllowedServers(){var e;const t=[];let n=[g];if(null!==(e=this.room)&&void 0!==e&&e.currentState){var s;const e=null===(s=this.room)||void 0===s?void 0:s.currentState.getStateEvents(r.EventType.RoomServerAcl,"");if(e&&e.getContent()){const s=e=>new RegExp("^"+i.dn(e)+"$"),o=e.getContent().deny;Array.isArray(o)&&o.forEach(e=>t.push(s(e)));const r=e.getContent().allow;n=[],Array.isArray(r)&&r.forEach(e=>n.push(s(e)))}}this.bannedHostsRegexps=t,this.allowedHostsRegexps=n}updatePopulationMap(){const e={};if(this.room)for(const t of this.room.getJoinedMembers()){const n=C(t.userId);e[n]||(e[n]=0),e[n]++}this.populationMap=e}}function f(e,t=!1){return x(t).forEntity(e)}function _(e,t=!1){return x(t).forUser(e)}function y(e,t,n=!1){if(!t)throw new Error("can't permalink a falsy roomId");if("!"!==t[0])return x(n).forRoom(t,[]);const s=e.getRoom(t);if(!s)return x(n).forRoom(t,[]);const o=new v(s);return o.load(),o.forShareableRoom()}function b(e){return!!(new c.Ay).isPermalinkHost(e)||x().isPermalinkHost(e)}function w(e,t){if(!t)return null;if("#"===t[0]||"!"===t[0])return y(e,t);if("@"===t[0])return _(t);if("matrix:"===t.slice(0,7))try{const e=S(t);if(e){if(e.roomIdOrAlias){var n;const t=e.eventId?`/${e.eventId}`:"";let s=c.pc+`/#/${e.roomIdOrAlias}${t}`;return null!==(n=e.viaServers)&&void 0!==n&&n.length&&(s+=(new c.Ay).encodeServerCandidates(e.viaServers)),s}if(e.userId)return c.pc+`/#/${e.userId}`}}catch{}return t}function E(e){if(!(e.startsWith("http:")||e.startsWith("https:")||e.startsWith("matrix:")||e.startsWith("vector:")))return e;try{const t=decodeURIComponent(e).match(p.kD);if(t)return t[1]}catch{return e}try{const n=S(e);if(n)if(n.roomIdOrAlias){var t;const s=n.eventId?`/${n.eventId}`:"";e=`#/room/${n.roomIdOrAlias}${s}`,null!==(t=n.viaServers)&&void 0!==t&&t.length&&(e+=(new c.Ay).encodeServerCandidates(n.viaServers))}else n.userId&&(e=`#/user/${n.userId}`)}catch{}return e}function A(e){try{let t=S(e);if(!t){const n=e.match(p.kD);if(n){const e=new u("http://localhost"),s=n[1].split("#").slice(1).join("#");t=e.parsePermalink(`http://localhost/#${s}`)}}if(!t)return null;if(t.userId)return t.userId;if(t.roomIdOrAlias)return t.roomIdOrAlias}catch{}return null}function x(e=!1){const t=m.Ay.get("permalink_prefix");return t&&t!==c.pc&&!e?new u(t):new c.Ay}function S(e){try{const t=m.Ay.get("permalink_prefix"),n=decodeURIComponent(e);if(new RegExp(c.Vi,"i").test(n))return(new c.Ay).parsePermalink(n);if(e.startsWith("matrix:"))return(new h).parsePermalink(e);if(t&&e.startsWith(t))return new u(t).parsePermalink(e)}catch(e){l.vF.error("Failed to parse permalink",e)}return null}function C(e){return e.split(":").splice(1).join(":")}function k(e){if(!e)return null;try{return new URL(`https://${e}`).hostname}catch(e){return console.error("Error encountered while extracting hostname from server name",e),null}}function R(e,t){if(!e)return!0;if(t.length>0&&!t[0].test)throw new Error(t[0].toString());return t.some(t=>t.test(e))}function I(e){return!!e&&(e.startsWith("[")&&e.endsWith("]")&&(e=e.substring(1,e.length-1)),(0,o.ei)(e))}const P=e=>{var t;const n=new v(e);return n.load(),null!==(t=n.serverCandidates)&&void 0!==t?t:[]}},"./src/utils/permalinks/navigator.ts"(e,t,n){"use strict";n.d(t,{O:()=>o});var s=n("./src/utils/permalinks/Permalinks.ts");function o(e){const t=(0,s.uK)(e);if(!t||t===e)throw new Error("Failed to transform URI");window.location.hash=t}},"./src/utils/presence.ts"(e,t,n){"use strict";n.d(t,{T:()=>o});var s=n("./src/SdkConfig.ts");function o(e){const t=e.baseUrl,n=s.Ay.get("enable_presence_by_hs_url");return!n||!(!n[t]&&void 0!==n[t])}},"./src/utils/promise.ts"(e,t,n){"use strict";async function s(e,t,n){const s=new Promise(s=>{const o=window.setTimeout(s,n,t);e.then(()=>{clearTimeout(o)})});return Promise.race([e,s])}async function o(e,t,n){let s;for(let o=0;o<t;o++)try{return await e()}catch(e){if(n&&!n(e))throw e;s=e}throw s}async function i(e,t){const n=[];for(let s=0;s<e.length;s+=t){const o=e.slice(s,s+t);n.push(...await Promise.all(o.map(e=>e())))}return n}n.d(t,{L5:()=>o,vA:()=>i,wR:()=>s})},"./src/utils/read-receipts.ts"(e,t,n){"use strict";n.d(t,{A:()=>o});var s=n("./node_modules/matrix-js-sdk/src/utils.ts");function o(e,t){const n=t.getUserId();for(const t of Object.keys(e.getContent()))for(const[o,i]of Object.entries(e.getContent()[t]))if((0,s.ll)(o)&&Object.keys(i||{}).includes(n))return!0;return!1}},"./src/utils/room/getFunctionalMembers.ts"(e,t,n){"use strict";n.d(t,{B:()=>o});var s=n("./node_modules/matrix-js-sdk/src/matrix.ts");const o=e=>{const[t]=e.currentState.getStateEvents(s.UNSTABLE_ELEMENT_FUNCTIONAL_USERS.name);return Array.isArray(null==t?void 0:t.getContent().service_members)?t.getContent().service_members:[]}},"./src/utils/room/getJoinedNonFunctionalMembers.ts"(e,t,n){"use strict";n.d(t,{T:()=>o});var s=n("./src/utils/room/getFunctionalMembers.ts");const o=e=>{const t=(0,s.B)(e);return e.getJoinedMembers().filter(e=>!t.includes(e.userId))}},"./src/utils/rooms.ts"(e,t,n){"use strict";n.d(t,{u:()=>i});var s=n("./src/utils/crypto/shouldForceDisableEncryption.ts"),o=n("./src/utils/WellKnownUtils.ts");function i(e){if((0,s.I)(e))return!1;const t=(0,o.d_)(e);if(t){return!(!1===t.default)}return!0}},"./src/utils/sets.ts"(e,t,n){"use strict";n.d(t,{Y:()=>o,g:()=>i});var s=n("./src/utils/arrays.ts");function o(e,t){return e.size!==t.size||(!!Array.from(t).some(t=>!e.has(t))||!!Array.from(e).some(e=>!t.has(e)))}function i(e,t){return(0,s.ZQ)(Array.from(e),Array.from(t))}},"./src/utils/space.tsx"(e,t,n){"use strict";n.d(t,{Yt:()=>L,Dz:()=>T,MI:()=>j,Kv:()=>P,yV:()=>M,K1:()=>U,PT:()=>N,Sl:()=>F,Lo:()=>D,Wi:()=>B,hL:()=>O});var s=n("./node_modules/react/index.js"),o=n("./node_modules/matrix-js-sdk/src/matrix.ts"),i=n("./node_modules/matrix-js-sdk/src/types.ts"),r=n("./src/utils/permalinks/Permalinks.ts"),a=n("./src/Modal.tsx"),l=n("./src/components/views/dialogs/CreateRoomDialog.tsx"),c=n("./src/createRoom.ts"),d=n("./src/languageHandler.tsx"),u=n("./src/components/views/spaces/SpacePublicShare.tsx"),m=n("./src/components/views/dialogs/InfoDialog.tsx"),p=n("./src/RoomInvite.tsx"),h=n("./node_modules/matrix-js-sdk/src/logger.ts"),g=n("./src/components/views/dialogs/BaseDialog.tsx"),v=n("./src/components/views/elements/AccessibleButton.tsx"),f=n("./src/contexts/MatrixClientContext.tsx"),_=n("./src/components/views/beta/BetaCard.tsx"),y=n("./src/components/views/spaces/SpaceCreateMenu.tsx"),b=n("./src/components/views/dialogs/AddExistingToSpaceDialog.tsx"),w=n("./src/components/views/elements/JoinRuleDropdown.tsx");const E=({space:e,onAddExistingSpaceClick:t,onFinished:n})=>{const[i,r]=(0,s.useState)(e),[a,l]=(0,s.useState)(!1),[c,u]=(0,s.useState)(""),m=(0,s.useRef)(null),[p,E]=(0,s.useState)(""),A=(0,s.useRef)(null),[x,S]=(0,s.useState)(),[C,k]=(0,s.useState)(""),R=e.getJoinRule();let I=o.JoinRule.Restricted;R===o.JoinRule.Public&&(I=o.JoinRule.Public);const[P,T]=(0,s.useState)(I),O=async t=>{if(t.preventDefault(),!a){if(l(!0),m.current&&!await m.current.validate({allowEmpty:!1}))return m.current.focus(),m.current.validate({allowEmpty:!1,focused:!0}),void l(!1);if(A.current&&P===o.JoinRule.Public&&!await A.current.validate({allowEmpty:!0}))return A.current.focus(),A.current.validate({allowEmpty:!0,focused:!0}),void l(!1);try{await(0,y.bz)(e.client,c,P===o.JoinRule.Public,p,C,x,{},{parentSpace:i,joinRule:P}),n(!0)}catch(t){h.vF.error(t)}}};let M;return P===o.JoinRule.Restricted?M=s.createElement("p",null,(0,d._t)("create_space|subspace_join_rule_restricted_description",{},{SpaceName:()=>s.createElement("strong",null,i.name)})):P===o.JoinRule.Public?M=s.createElement("p",null,(0,d._t)("create_space|subspace_join_rule_public_description",{},{SpaceName:()=>s.createElement("strong",null,i.name)})):P===o.JoinRule.Invite&&(M=s.createElement("p",null,(0,d._t)("create_space|subspace_join_rule_invite_description"))),s.createElement(g.A,{title:s.createElement(b.YZ,{title:(0,d._t)("create_space|subspace_dropdown_title"),space:e,value:i,onChange:r}),className:"mx_CreateSubspaceDialog",contentId:"mx_CreateSubspaceDialog",onFinished:n,fixedWidth:!1},s.createElement(f.Ay.Provider,{value:e.client},s.createElement("div",{className:"mx_CreateSubspaceDialog_content"},s.createElement("div",{className:"mx_CreateSubspaceDialog_betaNotice"},s.createElement(_.s,null),(0,d._t)("create_space|subspace_beta_notice")),s.createElement(y.R7,{busy:a,onSubmit:O,setAvatar:S,name:c,setName:u,nameFieldRef:m,topic:C,setTopic:k,alias:p,setAlias:E,showAliasField:P===o.JoinRule.Public,aliasFieldRef:A},s.createElement(w.A,{label:(0,d._t)("create_space|subspace_join_rule_label"),labelInvite:(0,d._t)("create_space|subspace_join_rule_invite_only"),labelPublic:(0,d._t)("common|public_space"),labelRestricted:(0,d._t)("create_room|join_rule_restricted"),width:478,value:P,onChange:T}),M)),s.createElement("div",{className:"mx_CreateSubspaceDialog_footer"},s.createElement("div",{className:"mx_CreateSubspaceDialog_footer_prompt"},s.createElement("div",null,(0,d._t)("create_space|subspace_existing_space_prompt")),s.createElement(v.A,{kind:"link",onClick:()=>{t(),n()}},(0,d._t)("space|add_existing_subspace|space_dropdown_title"))),s.createElement(v.A,{kind:"primary_outline",disabled:a,onClick:()=>n(!1)},(0,d._t)("action|cancel")),s.createElement(v.A,{kind:"primary",disabled:a,onClick:O},a?(0,d._t)("create_space|subspace_adding"):(0,d._t)("action|add")))))},A=({space:e,onCreateSubspaceClick:t,onFinished:n})=>{const[o,i]=(0,s.useState)(e);return s.createElement(g.A,{title:s.createElement(b.YZ,{title:(0,d._t)("space|add_existing_subspace|space_dropdown_title"),space:e,value:o,onChange:i}),className:"mx_AddExistingToSpaceDialog",contentId:"mx_AddExistingToSpace",onFinished:n,fixedWidth:!1},s.createElement(f.Ay.Provider,{value:e.client},s.createElement(b.sS,{space:e,onFinished:n,footerPrompt:s.createElement(s.Fragment,null,s.createElement("div",null,(0,d._t)("space|add_existing_subspace|create_prompt")),s.createElement(v.A,{onClick:t,kind:"link"},(0,d._t)("space|add_existing_subspace|create_button"))),filterPlaceholder:(0,d._t)("space|add_existing_subspace|filter_placeholder"),spacesRenderer:b.M})))};var x=n("./src/dispatcher/dispatcher.ts"),S=n("./src/dispatcher/actions.ts"),C=n("./src/components/views/elements/Spinner.tsx"),k=n("./src/customisations/helpers/UIComponents.ts"),R=n("./src/settings/UIFeature.ts"),I=n("./src/contexts/SDKContext.ts");const P=e=>{const t=e.client.getUserId();return e.getMyMembership()===i.O.Join&&(e.currentState.maySendStateEvent(o.EventType.RoomAvatar,t)||e.currentState.maySendStateEvent(o.EventType.RoomName,t)||e.currentState.maySendStateEvent(o.EventType.RoomTopic,t)||e.currentState.maySendStateEvent(o.EventType.RoomJoinRules,t))},T=(e,t=!1)=>({type:o.EventType.SpaceParent,content:{via:(0,r.Ex)(e),canonical:t},state_key:e.roomId});function O(e){x.A.dispatch({action:S.r.OpenSpaceSettings,space:e})}const M=e=>{x.A.dispatch({action:S.r.OpenAddToExistingSpaceDialog,space:e})},N=async(e,t)=>{const n=a.Ay.createDialog(l.A,{type:t,defaultPublic:e.getJoinRule()===o.JoinRule.Public,parentSpace:e}),[s,i]=await n.finished;return s&&await(0,c.Ay)(e.client,i),!!s},j=e=>((null==e?void 0:e.getMyMembership())===i.O.Join&&e.canInvite(e.client.getUserId())||e.getJoinRule()===o.JoinRule.Public)&&(0,k.g)(R.C.InviteUsers),D=(e,t="")=>{if("public"===e.getJoinRule()){const t=a.Ay.createDialog(m.A,{title:(0,d._t)("invite|to_space",{spaceName:e.name}),description:s.createElement(s.Fragment,null,s.createElement("span",null,(0,d._t)("space|share_public")),s.createElement(u.A,{space:e,onFinished:()=>t.close()})),fixedWidth:!1,button:!1,className:"mx_SpacePanel_sharePublicSpace",hasCloseButton:!0})}else(0,p._7)(e.roomId,t)},U=e=>{const{finished:t}=a.Ay.createDialog(A,{space:e,onCreateSubspaceClick:()=>F(e)},"mx_AddExistingToSpaceDialog_wrapper");t.then(([t])=>{t&&I.M.instance.roomViewStore.getRoomId()===e.roomId&&x.A.fire(S.r.UpdateSpaceHierarchy)})},F=e=>{const{finished:t}=a.Ay.createDialog(E,{space:e,onAddExistingSpaceClick:()=>U(e)},"mx_CreateSubspaceDialog_wrapper");t.then(([t])=>{t&&I.M.instance.roomViewStore.getRoomId()===e.roomId&&x.A.fire(S.r.UpdateSpaceHierarchy)})},L=async(e,t,n)=>{const s=a.Ay.createDialog(C.A,void 0,"mx_Dialog_spinner");try{for(const e of t)await n(e);await n(e)}finally{s.close()}},B=(e,t)=>{x.A.dispatch({action:S.r.OpenSpacePreferences,space:e,initialTabId:t})}},"./src/utils/strings.ts"(e,t,n){"use strict";n.d(t,{A0:()=>i,Ee:()=>c,Ud:()=>r,eL:()=>l,j5:()=>a,nC:()=>o});var s=n("./node_modules/matrix-js-sdk/src/logger.ts");async function o(e){try{var t;if(null!==(t=navigator)&&void 0!==t&&null!==(t=t.clipboard)&&void 0!==t&&t.writeText)return await navigator.clipboard.writeText(e),!0;{const t=document.createElement("textarea");t.value=e,t.style.top="0",t.style.left="0",t.style.position="fixed",document.body.appendChild(t);const n=document.getSelection(),s=document.createRange();s.selectNode(t),n.removeAllRanges(),n.addRange(s);const o=document.execCommand("copy");return n.removeAllRanges(),document.body.removeChild(t),o}}catch(e){s.vF.error("copyPlaintext failed",e)}return!1}function i(e){const t=document.createRange();t.selectNodeContents(e);const n=window.getSelection();n.removeAllRanges(),n.addRange(t)}function r(e){return!!e&&(i(e),document.execCommand("copy"))}function a(){return window.getSelection().toString()}const l=new Intl.Segmenter;function c(e){const t=l.segment(e)[Symbol.iterator]().next();return t.done?"":t.value.segment}},"./src/utils/units.ts"(e,t,n){"use strict";function s(e){return e+"px"}n.d(t,{c:()=>s})},"./src/utils/video-rooms.ts"(e,t,n){"use strict";n.d(t,{j:()=>s});const s=e=>e.isElementVideoRoom()||e.isCallRoom()},"./src/vector/init.tsx"(e,t,n){"use strict";n.d(t,{_t:()=>a._t,extractErrorMessageFromError:()=>ue.$,loadApp:()=>_e,loadConfig:()=>ge,loadLanguage:()=>ve,loadModules:()=>we,loadPlugins:()=>Ee,loadTheme:()=>fe,preparePlatform:()=>pe,rageshakePromise:()=>me,setupLogStorage:()=>he,showError:()=>ye,showIncompatibleBrowser:()=>be});var s=n("./node_modules/react-dom/client.js"),o=n("./node_modules/react/index.js"),i=n("./node_modules/matrix-js-sdk/src/logger.ts"),r=n("./node_modules/@element-hq/element-web-module-api/lib/element-web-plugin-engine.js"),a=n("./src/languageHandler.tsx"),l=n("./src/settings/SettingsStore.ts"),c=n("./src/PlatformPeg.ts"),d=n("./src/SdkConfig.ts"),u=n("./src/theme.ts"),m=n("./src/modules/ModuleRunner.ts"),p=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),h=n("./node_modules/lodash/uniqueId.js"),g=n("./src/BasePlatform.ts"),v=n("./src/dispatcher/dispatcher.ts"),f=n("./src/rageshake/rageshake.ts"),_=n("./src/Modal.tsx"),y=n("./src/components/views/dialogs/InfoDialog.tsx"),b=n("./src/components/views/elements/Spinner.tsx"),w=n("./src/dispatcher/actions.ts"),E=n("./src/toasts/UpdateToast.tsx"),A=n("./src/stores/ToastStore.ts"),x=n("./src/components/views/toasts/GenericToast.tsx"),S=n("./src/hooks/useTimeout.ts");const C=({description:e,primaryLabel:t,dismissLabel:n,onPrimaryClick:s,onDismiss:i,toastKey:r,numSeconds:a})=>{const l=()=>{i&&i(),A.A.sharedInstance().dismissToast(r)},c=(0,S.kD)(l,1e3,a);let d=n;return c>0&&(d+=` (${c})`),o.createElement(x.A,{description:e,primaryLabel:t,onPrimaryClick:s,secondaryLabel:d,onSecondaryClick:l})};var k=n("./src/stores/BreadcrumbsStore.ts"),R=n("./src/stores/AsyncStore.ts"),I=n("./src/Avatar.ts"),P=n("./node_modules/classnames/index.js"),T=n.n(P),O=n("./src/components/views/dialogs/BaseDialog.tsx"),M=n("./src/components/views/elements/DialogButtons.tsx"),N=n("./src/components/views/elements/AccessibleButton.tsx"),j=n("./src/components/structures/TabbedView.tsx");function D(){const e=c.A.get();return e?null==e?void 0:e.getDesktopCapturerSources({thumbnailSize:{height:176,width:312},types:["screen","window"]}):Promise.resolve([])}let U=function(e){return e.Screens="screen",e.Windows="window",e}({});class F extends o.Component{constructor(...e){super(...e),(0,p.A)(this,"onClick",()=>{this.props.onSelect(this.props.source)})}render(){const e=T()({mx_desktopCapturerSourcePicker_source_thumbnail:!0,mx_desktopCapturerSourcePicker_source_thumbnail_selected:this.props.selected});return o.createElement(N.A,{className:"mx_desktopCapturerSourcePicker_source",title:this.props.source.name,onClick:this.onClick},o.createElement("img",{alt:this.props.source.name,className:e,src:this.props.source.thumbnailURL}),o.createElement("span",{className:"mx_desktopCapturerSourcePicker_source_name"},this.props.source.name))}}class L extends o.Component{constructor(e){super(e),(0,p.A)(this,"interval",void 0),(0,p.A)(this,"onSelect",e=>{this.setState({selectedSource:e})}),(0,p.A)(this,"onShare",()=>{this.props.onFinished(this.state.selectedSource)}),(0,p.A)(this,"onTabChange",e=>{this.setState({selectedSource:void 0,selectedTab:e})}),(0,p.A)(this,"onCloseClick",()=>{this.props.onFinished()}),this.state={selectedTab:U.Screens,sources:[]}}async componentDidMount(){this.setState({sources:await D()}),this.interval=window.setInterval(async()=>{this.setState({sources:await D()})},500)}componentWillUnmount(){clearInterval(this.interval)}getTab(e,t){const n=this.state.sources.filter(t=>t.id.startsWith(e)).map(e=>{var t;return o.createElement(F,{selected:(null===(t=this.state.selectedSource)||void 0===t?void 0:t.id)===e.id,source:e,onSelect:this.onSelect,key:e.id})});return new j.oz(e,t,null,o.createElement("div",{className:"mx_desktopCapturerSourcePicker_tab"},n))}render(){const e=[this.getTab(U.Screens,(0,a.AO)("voip|screenshare_monitor")),this.getTab(U.Windows,(0,a.AO)("voip|screenshare_window"))];return o.createElement(O.A,{className:"mx_desktopCapturerSourcePicker",onFinished:this.onCloseClick,title:(0,a._t)("voip|screenshare_title")},o.createElement(j.Ay,{tabs:e,tabLocation:j.lX.TOP,activeTabId:this.state.selectedTab,onChange:this.onTabChange}),o.createElement(M.A,{primaryButton:(0,a._t)("action|share"),hasCancel:!0,onCancel:this.onCloseClick,onPrimaryButtonClick:this.onShare,primaryDisabled:!this.state.selectedSource}))}}var B=n("./src/MatrixClientPeg.ts");class V{async supportsEventIndexing(){return!0}async initEventIndex(e,t){throw new Error("Unimplemented")}async addEventToIndex(e,t){throw new Error("Unimplemented")}async deleteEvent(e){throw new Error("Unimplemented")}async isEventIndexEmpty(){throw new Error("Unimplemented")}isRoomIndexed(e){throw new Error("Unimplemented")}async getStats(){throw new Error("Unimplemented")}async getUserVersion(){throw new Error("Unimplemented")}async setUserVersion(e){throw new Error("Unimplemented")}async commitLiveEvents(){throw new Error("Unimplemented")}async searchEventIndex(e){throw new Error("Unimplemented")}async addHistoricEvents(e,t,n){throw new Error("Unimplemented")}async addCrawlerCheckpoint(e){throw new Error("Unimplemented")}async removeCrawlerCheckpoint(e){throw new Error("Unimplemented")}async loadCheckpoints(){throw new Error("Unimplemented")}async loadFileEvents(e){throw new Error("Unimplemented")}async closeEventIndex(){throw new Error("Unimplemented")}async deleteEventIndex(){throw new Error("Unimplemented")}}class H{constructor(e="ipcCall",t="ipcReply"){if((0,p.A)(this,"pendingIpcCalls",{}),(0,p.A)(this,"nextIpcCallId",0),(0,p.A)(this,"onIpcReply",(e,t)=>{if(void 0===t.id)return void i.vF.warn("Ignoring IPC reply with no ID");if(void 0===this.pendingIpcCalls[t.id])return void i.vF.warn("Unknown IPC payload ID: "+t.id);const n=this.pendingIpcCalls[t.id];if(delete this.pendingIpcCalls[t.id],t.error){let e=t.error;"object"==typeof e&&e.message&&(e=new Error(e.message)),n.reject(e)}else n.resolve(t.reply)}),this.sendChannel=e,this.recvChannel=t,!window.electron)throw new Error("Cannot instantiate ElectronPlatform, window.electron is not set");window.electron.on(this.recvChannel,this.onIpcReply)}async call(e,...t){const n=++this.nextIpcCallId,s=Promise.withResolvers();return this.pendingIpcCalls[n]=s,window.electron.send(this.sendChannel,{id:n,name:e,args:t}),s.promise}}class z extends V{constructor(...e){super(...e),(0,p.A)(this,"ipc",new H("seshat","seshatReply"))}async supportsEventIndexing(){return this.ipc.call("supportsEventIndexing")}async initEventIndex(e,t){return this.ipc.call("initEventIndex",e,t)}async addEventToIndex(e,t){return this.ipc.call("addEventToIndex",e,t)}async deleteEvent(e){return this.ipc.call("deleteEvent",e)}async isEventIndexEmpty(){return this.ipc.call("isEventIndexEmpty")}async isRoomIndexed(e){return this.ipc.call("isRoomIndexed",e)}async commitLiveEvents(){return this.ipc.call("commitLiveEvents")}async searchEventIndex(e){return this.ipc.call("searchEventIndex",e)}async addHistoricEvents(e,t,n){return this.ipc.call("addHistoricEvents",e,t,n)}async addCrawlerCheckpoint(e){return this.ipc.call("addCrawlerCheckpoint",e)}async removeCrawlerCheckpoint(e){return this.ipc.call("removeCrawlerCheckpoint",e)}async loadFileEvents(e){return this.ipc.call("loadFileEvents",e)}async loadCheckpoints(){return this.ipc.call("loadCheckpoints")}async closeEventIndex(){return this.ipc.call("closeEventIndex")}async getStats(){return this.ipc.call("getStats")}async getUserVersion(){return this.ipc.call("getUserVersion")}async setUserVersion(e){return this.ipc.call("setUserVersion",e)}async deleteEventIndex(){return this.ipc.call("deleteEventIndex")}}var W=n("./src/favicon.ts");function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(Object(n),!0).forEach(function(t){(0,p.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const J="element-desktop-ssoid";class G extends g.Ay{constructor(){if(super(),(0,p.A)(this,"ipc",new H("ipcCall","ipcReply")),(0,p.A)(this,"eventIndexManager",new z),(0,p.A)(this,"initialised",void 0),(0,p.A)(this,"electron",void 0),(0,p.A)(this,"protocol",void 0),(0,p.A)(this,"sessionId",void 0),(0,p.A)(this,"badgeOverlayRenderer",void 0),(0,p.A)(this,"config",void 0),(0,p.A)(this,"supportedSettings",void 0),(0,p.A)(this,"clientStartedPromiseWithResolvers",Promise.withResolvers()),(0,p.A)(this,"onBreadcrumbsUpdate",()=>{const e=k.Y.instance.rooms.slice(0,7).map(e=>({roomId:e.roomId,avatarUrl:(0,I.ze)(e,Math.floor(60*window.devicePixelRatio),Math.floor(60*window.devicePixelRatio),"crop"),initial:(0,I.$R)(e.name)}));this.ipc.call("breadcrumbs",e)}),(0,p.A)(this,"onUpdateDownloaded",async(e,{releaseNotes:t,releaseName:n})=>{v.A.dispatch({action:w.r.CheckUpdates,status:g.Kn.Ready}),this.shouldShowUpdate(n)&&(0,E.P)(await this.getAppVersion(),n,t)}),!window.electron)throw new Error("Cannot instantiate ElectronPlatform, window.electron is not set");this.electron=window.electron,this.electron.on("check_updates",(e,t)=>{v.A.dispatch($({action:w.r.CheckUpdates},function(e){return!0===e?{status:g.Kn.Downloading}:!1===e?{status:g.Kn.NotAvailable}:{status:g.Kn.Error,detail:e}}(t)))}),this.electron.on("userAccessToken",()=>{var e;this.electron.send("userAccessToken",null===(e=B.J.get())||void 0===e?void 0:e.getAccessToken())}),this.electron.on("homeserverUrl",()=>{var e;this.electron.send("homeserverUrl",null===(e=B.J.get())||void 0===e?void 0:e.getHomeserverUrl())}),this.electron.on("serverSupportedVersions",async()=>{var e;this.electron.send("serverSupportedVersions",await(null===(e=B.J.get())||void 0===e?void 0:e.getVersions()))}),this.electron.on("before-quit",function(){i.vF.log("element-desktop closing"),f.bX()}),this.electron.on("update-downloaded",this.onUpdateDownloaded),this.electron.on("preferences",()=>{v.A.fire(w.r.ViewUserSettings)}),this.electron.on("userDownloadCompleted",(e,{id:t,name:n})=>{const s=`DOWNLOAD_TOAST_${t}`;A.A.sharedInstance().addOrReplaceToast({key:s,title:(0,a._t)("download_completed"),props:{description:n,primaryLabel:(0,a._t)("action|open"),onPrimaryClick:()=>{this.electron.send("userDownloadAction",{id:t,open:!0}),A.A.sharedInstance().dismissToast(s)},dismissLabel:(0,a._t)("action|dismiss"),onDismiss:()=>{this.electron.send("userDownloadAction",{id:t})},numSeconds:10},component:C,priority:99})}),this.electron.on("openDesktopCapturerSourcePicker",async()=>{const{finished:e}=_.Ay.createDialog(L),[t]=await e;await this.ipc.call("callDisplayMediaCallback",null!=t?t:{id:"",name:"",thumbnailURL:""})}),this.electron.on("showToast",async(e,{title:t,description:n,priority:s=40})=>{await this.clientStartedPromiseWithResolvers.promise;const o=(0,h.A)("electron_showToast_");A.A.sharedInstance().addOrReplaceToast({key:o,title:t,props:{description:n,primaryLabel:(0,a._t)("action|dismiss"),onPrimaryClick:()=>{A.A.sharedInstance().dismissToast(o)}},component:x.A,priority:s})}),k.Y.instance.on(R.H,this.onBreadcrumbsUpdate),this.initialised=this.initialise()}onAction(e){super.onAction(e),["call_state"].includes(e.action)&&this.electron.send("app_onAction",e),e.action===w.r.ClientStarted&&this.clientStartedPromiseWithResolvers.resolve()}async initialise(){const{protocol:e,sessionId:t,config:n,supportedSettings:s,supportsBadgeOverlay:o}=await this.electron.initialise();this.protocol=e,this.sessionId=t,this.config=n,this.supportedSettings=s,o&&(this.badgeOverlayRenderer=new W.J)}async getConfig(){return await this.initialised,this.config}getHumanReadableName(){return"Electron Platform"}supportsSpellCheckSettings(){return!0}allowOverridingNativeContextMenus(){return!0}setNotificationCount(e){this.notificationCount!==e&&(super.setNotificationCount(e),this.badgeOverlayRenderer?this.badgeOverlayRenderer.render(e).then(t=>{this.electron.send("setBadgeCount",e,t)}).catch(e=>{i.vF.warn("Unable to generate badge overlay",e)}):this.electron.send("setBadgeCount",e))}setErrorStatus(e){if(this.badgeOverlayRenderer){if(this.errorDidOccur!==e){let t;super.setErrorStatus(e),t=e?this.badgeOverlayRenderer.render(this.notificationCount||"×","#f00"):this.badgeOverlayRenderer.render(this.notificationCount),t.then(t=>{this.electron.send("setBadgeCount",this.notificationCount,t,e)}).catch(e=>{i.vF.warn("Unable to generate badge overlay",e)})}}else super.setErrorStatus(e)}supportsNotifications(){return!0}maySendNotifications(){return!0}displayNotification(e,t,n,s,o){navigator.userAgent.includes("Linux")&&(t=t.replace(/</g,"<").replace(/>/g,">"));const i=super.displayNotification(e,t,n,s,o),r=i.onclick;return i.onclick=()=>{null==r||r(),this.ipc.call("focusWindow")},i}loudNotification(e,t){this.electron.send("loudNotification")}needsUrlTooltips(){return!0}async getAppVersion(){return this.ipc.call("getAppVersion")}supportsSetting(e){var t;return void 0===e||!0===(null===(t=this.supportedSettings)||void 0===t?void 0:t[e])}async getSettingValue(e){return await this.initialised,this.electron.getSettingValue(e)}async setSettingValue(e,t){return await this.initialised,this.electron.setSettingValue(e,t)}async canSelfUpdate(){const e=await this.ipc.call("getUpdateFeedUrl");return Boolean(e)}startUpdateCheck(){super.startUpdateCheck(),this.electron.send("check_updates")}installUpdate(){this.electron.send("install_update")}getDefaultDeviceDisplayName(){const e=d.Ay.get().brand;return(0,a._t)("desktop_default_device_name",{brand:e,platformName:navigator.userAgent.includes("Macintosh")?"macOS":navigator.userAgent.includes("FreeBSD")?"FreeBSD":navigator.userAgent.includes("OpenBSD")?"OpenBSD":navigator.userAgent.includes("SunOS")?"SunOS":navigator.userAgent.includes("Windows")?"Windows":navigator.userAgent.includes("Linux")?"Linux":"Unknown"})}requestNotificationPermission(){return Promise.resolve("granted")}reload(){window.location.reload()}getEventIndexingManager(){return this.eventIndexManager}async setLanguage(e){return this.ipc.call("setLanguage",e)}setSpellCheckEnabled(e){this.ipc.call("setSpellCheckEnabled",e).catch(e=>{i.vF.log("Failed to send setSpellCheckEnabled IPC to Electron"),i.vF.error(e)})}async getSpellCheckEnabled(){return this.ipc.call("getSpellCheckEnabled")}setSpellCheckLanguages(e){this.ipc.call("setSpellCheckLanguages",e).catch(e=>{i.vF.log("Failed to send setSpellCheckLanguages IPC to Electron"),i.vF.error(e)})}async getSpellCheckLanguages(){return this.ipc.call("getSpellCheckLanguages")}async getDesktopCapturerSources(e){return this.ipc.call("getDesktopCapturerSources",e)}supportsDesktopCapturer(){return!0}supportsJitsiScreensharing(){return!1}async getAvailableSpellCheckLanguages(){return this.ipc.call("getAvailableSpellCheckLanguages")}getSSOCallbackUrl(e){const t=super.getSSOCallbackUrl(e);return t.protocol="element",t.searchParams.set(J,this.sessionId),t}startSingleSignOn(e,t,n,s){super.startSingleSignOn(e,t,n,s),_.Ay.createDialog(y.A,{title:(0,a._t)("auth|sso_complete_in_browser_dialog_title"),description:o.createElement(b.A,null)})}navigateForwardBack(e){this.ipc.call(e?"navigateBack":"navigateForward")}overrideBrowserShortcuts(){return!0}async getPickleKey(e,t){try{return await this.ipc.call("getPickleKey",e,t)}catch{return null}}async createPickleKey(e,t){try{return await this.ipc.call("createPickleKey",e,t)}catch{return null}}async destroyPickleKey(e,t){try{await this.ipc.call("destroyPickleKey",e,t)}catch{}}async clearStorage(){try{await super.clearStorage(),await this.ipc.call("clearStorage")}catch{}}get baseUrl(){var e;return null!==(e=d.Ay.get().web_base_url)&&void 0!==e?e:"https://app.element.io"}get defaultOidcClientUri(){return"https://element.io"}async getOidcClientMetadata(){return $($({},await super.getOidcClientMetadata()),{},{applicationType:"native"})}getOidcClientState(){return`:${J}:${this.sessionId}`}getOidcCallbackUrl(){const e=super.getOidcCallbackUrl();return e.protocol=this.protocol,e.href.startsWith(`${e.protocol}//`)&&(e.href=e.href.replace("://",":/")),e}checkSessionLockFree(){return!0}async getSessionLock(e){return!0}}var q=n("./node_modules/ua-parser-js/src/ua-parser.js"),Y=n.n(q),Z=n("./src/vector/url_utils.ts"),Q=n("./node_modules/uuid/dist/v4.js");const X="react_sdk_session_lock_ping",ee="react_sdk_session_lock_owner",te="react_sdk_session_lock_claimant",ne=15e3;async function se(e){const t=(0,Q.A)(),n=i.vF.getChild(`getSessionLock[${t}]`);let s=null;function o(){const e=window.localStorage.getItem(te);if(e!==t)return n.warn(`Lock was claimed by ${e} while we were waiting for it: aborting startup`),-1;const s=window.localStorage.getItem(X),o=window.localStorage.getItem(ee);if(null===s)return n.info("No other session has the lock: proceeding with startup"),0;const i=Date.now()-parseInt(s),r=ne-Math.max(i,0);return r<=0?(n.info(`Last ping (from ${o}) was ${i}ms ago: proceeding with startup`),0):(n.info(`Last ping (from ${o}) was ${i}ms ago, waiting ${r}ms`),r)}function r(){window.localStorage.setItem(ee,t),window.localStorage.setItem(X,Date.now().toString())}function a(){null!==s&&(n.debug("page hide: clearing our claim"),window.clearInterval(s),window.localStorage.removeItem(X),window.localStorage.removeItem(ee),s=null)}for(window.localStorage.setItem(te,t);;){const t=o();if(0==t)break;if(t<0)return await e(),!1;let s;const i=new Promise(e=>{s=t=>{t.key!==X&&t.key!==te||e(t)}}),r=new Promise(e=>{setTimeout(e,t,void 0)});window.addEventListener("storage",s);const a=await Promise.race([r,i]);if(window.removeEventListener("storage",s),!(a instanceof StorageEvent)){n.info("Existing claim went stale: proceeding with startup");break}}return r(),s=window.setInterval(r,5e3),window.addEventListener("storage",function o(i){if(i.key===te){const i=window.localStorage.getItem(te);if(i===t)return;n.info(`Session ${i} is waiting for the lock`),window.removeEventListener("storage",o),async function(){await e(),null!==s&&window.clearInterval(s);window.localStorage.removeItem(X),window.localStorage.removeItem(ee),s=null}().catch(e=>{n.error("Error releasing session lock",e)})}}),window.addEventListener("pagehide",a),window.addEventListener("unload",a),!0}function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function ie(e){return/^v\d+.\d+.\d+(-.+)?$/.test(e)?e.substring(1):e}class re extends g.Ay{constructor(){super(),(0,p.A)(this,"registerServiceWorkerPromise",void 0),(0,p.A)(this,"handleServiceWorkerRegistrationError",()=>{const e="service_worker_error",t=d.Ay.get().brand;A.A.sharedInstance().addOrReplaceToast({key:e,title:(0,a._t)("service_worker_error|title"),props:{description:(0,a._t)("service_worker_error|description",{brand:t}),primaryLabel:(0,a._t)("action|ok"),onPrimaryClick:()=>{A.A.sharedInstance().dismissToast(e)}},component:x.A,priority:95})}),(0,p.A)(this,"onServiceWorkerPostMessage",e=>{try{var t,n;if("userinfo"===(null===(t=e.data)||void 0===t?void 0:t.type)&&null!==(n=e.data)&&void 0!==n&&n.responseKey){var s;const t=localStorage.getItem("mx_user_id"),n=localStorage.getItem("mx_device_id"),o=null===(s=B.J.get())||void 0===s?void 0:s.getHomeserverUrl();e.source.postMessage({responseKey:e.data.responseKey,userId:t,deviceId:n,homeserver:o})}}catch(e){console.error("Error responding to service worker: ",e)}}),(0,p.A)(this,"pollForUpdate",(e,t)=>this.getMostRecentVersion().then(n=>{const s=ie(re.VERSION);return s!==n?(this.shouldShowUpdate(n)?(console.log("Update available to "+n+", will notify user"),e(s,n)):console.log("Update available to "+n+" but won't be shown"),{status:g.Kn.Ready}):(console.log("No update available, already on "+n),null==t||t(),{status:g.Kn.NotAvailable})},e=>(i.vF.error("Failed to poll for update",e),{status:g.Kn.Error,detail:e.message||(e.status?e.status.toString():"Unknown Error")}))),this.registerServiceWorkerPromise=this.registerServiceWorker(),this.registerServiceWorkerPromise.catch(e=>{console.error("Error registering/updating service worker:",e)})}onAction(e){if(super.onAction(e),e.action===w.r.ClientStarted)this.registerServiceWorkerPromise.catch(this.handleServiceWorkerRegistrationError)}async registerServiceWorker(){const e=await navigator.serviceWorker.register("sw.js");if(!e)throw new Error("Service worker registration failed");navigator.serviceWorker.addEventListener("message",this.onServiceWorkerPostMessage),await e.update()}getHumanReadableName(){return"Web Platform"}supportsNotifications(){return Boolean(window.Notification)}maySendNotifications(){return"granted"===window.Notification.permission}requestNotificationPermission(){return new Promise(function(e,t){window.Notification.requestPermission(t=>{e(t)}).catch(t)})}async getMostRecentVersion(){const e=await fetch("version",{method:"GET",cache:"no-cache"});if(e.ok){return ie((await e.text()).trim())}return Promise.reject({status:e.status})}getAppVersion(){return Promise.resolve(ie(re.VERSION))}startUpdater(){console.log("startUpdater, current version is "+ie(re.VERSION)),this.pollForUpdate((e,t)=>{if((0,Z.u)(location).updated)return console.log("Update reloaded but still on an old version, stopping"),void(0,E.P)(e,t);const n=new URL(window.location.href);n.searchParams.set("updated",t),console.log("Update reloading to "+n.toString()),window.location.href=n.toString()}),setInterval(()=>this.pollForUpdate(E.P,E.Y),6e5)}async canSelfUpdate(){return!0}startUpdateCheck(){super.startUpdateCheck(),this.pollForUpdate(E.P,E.Y).then(e=>{v.A.dispatch(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach(function(t){(0,p.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({action:w.r.CheckUpdates},e))})}installUpdate(){window.location.reload()}getDefaultDeviceDisplayName(){const e=new URL(window.location.href),t=[e.host,e.pathname.replace(/\/$/,"")].join(""),n=new(Y()),s=n.getBrowser().name||"unknown browser";let o=n.getOS().name||"unknown OS";return"Mac OS"===o&&(o="macOS"),(0,a._t)("web_default_device_name",{appName:t,browserName:s,osName:o})}reload(){window.location.reload()}checkSessionLockFree(){return function(){const e=i.vF.getChild("checkSessionLockFree"),t=window.localStorage.getItem(X);if(null===t)return e.info("No other session has the lock"),!0;const n=window.localStorage.getItem(ee),s=Date.now()-parseInt(t);return ne-s<=0?(e.info(`Last ping (from ${n}) was ${s}ms ago: lock is free`),!0):(e.info(`Last ping (from ${n}) was ${s}ms ago: lock is taken`),!1)}()}async getSessionLock(e){return se(e)}}(0,p.A)(re,"VERSION","v1.12.11");class ae extends re{setNotificationCount(e){if(!navigator.setAppBadge)return super.setNotificationCount(e);this.notificationCount!==e&&(this.notificationCount=e,navigator.setAppBadge(e).catch(e=>{i.vF.error("Failed to update PWA app badge",e)}))}}var le=n("./src/rageshake/submit-rageshake.ts"),ce=n("./src/IConfigOptions.ts");window.mxSendRageshake=async function(e,t=!0){const n=d.Ay.get().bug_report_endpoint_url;if(n)if(e&&e.trim())if(n===ce.m)try{const n=await(0,le.VL)({userText:e,sendLogs:t,progressCallback:i.vF.log.bind(console)}),s=new Blob([new Uint8Array(n.out)],{type:"application/gzip"}),o=URL.createObjectURL(s);i.vF.log(`Your logs are available at ${o}`)}catch(e){i.vF.error("Failed to load bug report",e)}else try{await(0,le.Ay)(n,{userText:e,sendLogs:t,progressCallback:i.vF.log.bind(console)}),i.vF.log("Bug report sent!")}catch(e){i.vF.error("Failed to send bug report",e)}else i.vF.error("Cannot send a rageshake without a message - please tell us what went wrong");else i.vF.error("Cannot send a rageshake - no bug_report_endpoint_url configured")};var de=n("./src/modules/Api.ts"),ue=n("./src/components/views/dialogs/ErrorDialog.tsx");const me=function(){const e=f.Ts(!1);return e.then(async()=>{i.vF.log("Initialised rageshake."),i.vF.log("To fix line numbers in Chrome: Meatball menu → Settings → Ignore list → Add /rageshake\\.ts & /logger\\.ts$"),window.addEventListener("beforeunload",()=>{i.vF.log("element-web closing"),f.bX()}),await f.tP()},e=>{i.vF.error("Failed to initialise rageshake: "+e)}),e}();function pe(){window.electron?(i.vF.log("Using Electron platform"),c.A.set(new G)):window.matchMedia("(display-mode: standalone)").matches?(i.vF.log("Using PWA platform"),c.A.set(new ae)):(i.vF.log("Using Web platform"),c.A.set(new re))}function he(){return d.Ay.get().bug_report_endpoint_url?f.fd():(i.vF.warn("No bug report endpoint set - logs will not be persisted"),Promise.resolve())}async function ge(){var e;const t=await(null===(e=c.A.get())||void 0===e?void 0:e.getConfig());t?d.Ay.put(t):d.Ay.reset()}async function ve(){const e=l.A.getValue("language",null,!0);let t=[];e?t=[e]:a.yR().forEach(e=>{t.push(...a.Ev(e))});try{await a.xC(...t),document.documentElement.setAttribute("lang",a.UK())}catch(e){i.vF.error("Unable to set language",e)}}async function fe(){return(0,u.Yl)()}async function _e(e){const t=await Promise.all([n.e(9483),n.e(5189),n.e(1869),n.e(8772),n.e(2702)]).then(n.bind(n,"./src/vector/app.tsx"));const o=await t.loadApp(e,function(e){window.matrixChat=e});(0,s.createRoot)(document.getElementById("matrixchat")).render(o)}async function ye(e,t){const{ErrorView:i}=await n.e(5607).then(n.bind(n,"./src/async-components/structures/ErrorView.tsx"));(0,s.createRoot)(document.getElementById("matrixchat")).render(o.createElement(o.StrictMode,null,o.createElement(i,{title:e,messages:t})))}async function be(e){const{UnsupportedBrowserView:t}=await n.e(5607).then(n.bind(n,"./src/async-components/structures/ErrorView.tsx"));(0,s.createRoot)(document.getElementById("matrixchat")).render(o.createElement(o.StrictMode,null,o.createElement(t,{onAccept:e})))}async function we(){const{INSTALLED_MODULES:e}=await n.e(6850).then(n.bind(n,"./src/modules.js"));for(const t of e)m.r.instance.registerModule(e=>new t(e))}async function Ee(){window.React=o;const e=d.Ay.get("modules");if(null==e||!e.length)return;const t=new r.UO(de.r.instance);window.mxModuleLoader=t;for(const n of e){const e=await import(n);await t.load(e)}await t.start()}},"./src/verification.ts"(e,t,n){"use strict";n.d(t,{F:()=>a,m:()=>l});var s=n("./src/dispatcher/dispatcher.ts"),o=n("./src/stores/right-panel/RightPanelStorePhases.ts"),i=n("./src/stores/right-panel/RightPanelStore.ts"),r=n("./src/utils/dm/findDMForUser.ts");async function a(e,t){if(e.isGuest())return void s.A.dispatch({action:"require_registration"});const n=l(e,t);var r;r={member:t,verificationRequest:n},i.A.instance.roomPhaseHistory.some(e=>e.phase==o.n.RoomSummary)?i.A.instance.pushCard({phase:o.n.EncryptionPanel,state:r}):i.A.instance.setCards([{phase:o.n.RoomSummary},{phase:o.n.MemberInfo,state:{member:r.member}},{phase:o.n.EncryptionPanel,state:r}])}function l(e,t){const n=(0,r.D)(e,t.userId);if(n)return e.getCrypto().findVerificationRequestDMInProgress(n.roomId,t.userId)}},"./src/viewmodels/message-body/DecryptionFailureBodyViewModel.ts"(e,t,n){"use strict";n.d(t,{y:()=>a});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),i=n("./node_modules/matrix-js-sdk/src/crypto-api/index.ts"),r=n("./packages/shared-components/dist/element-web-shared-components.js");class a extends r.oY{static getDecryptionReasonFromCode(e){switch(e){case i.RT.HISTORICAL_MESSAGE_BACKUP_UNCONFIGURED:return r.Eq.HISTORICAL_MESSAGE_BACKUP_UNCONFIGURED;case i.RT.HISTORICAL_MESSAGE_NO_KEY_BACKUP:return r.Eq.HISTORICAL_MESSAGE_NO_KEY_BACKUP;case i.RT.HISTORICAL_MESSAGE_USER_NOT_JOINED:return r.Eq.HISTORICAL_MESSAGE_USER_NOT_JOINED;case i.RT.MEGOLM_KEY_WITHHELD_FOR_UNVERIFIED_DEVICE:return r.Eq.MEGOLM_KEY_WITHHELD_FOR_UNVERIFIED_DEVICE;case i.RT.SENDER_IDENTITY_PREVIOUSLY_VERIFIED:return r.Eq.SENDER_IDENTITY_PREVIOUSLY_VERIFIED;case i.RT.UNSIGNED_SENDER_DEVICE:return r.Eq.UNSIGNED_SENDER_DEVICE;default:return r.Eq.UNABLE_TO_DECRYPT}}constructor(e){super(e,a.computeSnapshot(e.decryptionFailureCode,e.verificationState,e.extraClassNames))}setVerificationState(e){this.props.verificationState=e,this.snapshot.merge({isLocalDeviceVerified:e})}}s=a,(0,o.A)(a,"computeSnapshot",(e,t,n)=>{const o=["mx_DecryptionFailureBody","mx_EventTile_content"];return{decryptionFailureReason:s.getDecryptionReasonFromCode(e),isLocalDeviceVerified:t,extraClassNames:n?o.concat(n):o}})},"./src/widgets/Jitsi.ts"(e,t,n){"use strict";n.d(t,{k:()=>l});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./node_modules/matrix-js-sdk/src/matrix.ts"),r=n("./src/SdkConfig.ts"),a=n("./src/MatrixClientPeg.ts");class l{constructor(){(0,s.A)(this,"domain",void 0),(0,s.A)(this,"_useFor1To1Calls",!1),(0,s.A)(this,"update",async e=>{var t,n;let s=(null===(t=r.Ay.getObject("jitsi"))||void 0===t?void 0:t.get("preferred_domain"))||"meet.element.io";o.vF.log("Attempting to get Jitsi conference information from homeserver");const i=null!==(n=null==e?void 0:e["io.element.jitsi"])&&void 0!==n?n:null==e?void 0:e["im.vector.riot.jitsi"],a=null==i?void 0:i.preferredDomain;a&&(s=a),this.domain=s,o.vF.log("Jitsi conference domain:",this.preferredDomain),this._useFor1To1Calls=(null==i?void 0:i.useFor1To1Calls)||!1,o.vF.log("Jitsi use for 1:1 calls:",this.useFor1To1Calls)})}get preferredDomain(){return this.domain||"meet.element.io"}get useFor1To1Calls(){return this._useFor1To1Calls}async getJitsiAuth(){if(!this.preferredDomain)return null;let e;try{const t=await fetch(`https://${this.preferredDomain}/.well-known/element/jitsi`);e=await t.json()}catch{return null}return e.auth?e.auth:null}start(){const e=a.J.safeGet();e.on(i.ClientEvent.ClientWellKnown,this.update),this.update(e.getClientWellKnown())}parsePreferredConferenceUrl(e){const t=new URL(e);return t.hostname!==this.preferredDomain?null:{conferenceId:t.pathname.substring(1),domain:t.hostname,isAudioOnly:!1}}static getInstance(){return l.instance||(l.instance=new l),l.instance}}(0,s.A)(l,"instance",void 0)},"./src/widgets/ManagedHybrid.ts"(e,t,n){"use strict";n.d(t,{dq:()=>g,ec:()=>f,ry:()=>v});var s=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js"),o=n("./node_modules/matrix-js-sdk/src/logger.ts"),i=n("./src/utils/WellKnownUtils.ts"),r=n("./src/utils/WidgetUtils.ts"),a=n("./src/stores/widgets/WidgetLayoutStore.ts"),l=n("./src/stores/WidgetEchoStore.ts"),c=n("./src/stores/WidgetStore.ts"),d=n("./src/SdkConfig.ts"),u=n("./src/utils/room/getJoinedNonFunctionalMembers.ts");function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach(function(t){(0,s.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h(e){const t=2===(0,u.T)(e).length;if(d.Ay.get().widget_build_url){if(t&&d.Ay.get().widget_build_url_ignore_dm)return;return d.Ay.get().widget_build_url}const n=(0,i.j5)(e.client);if(!t||null==n||!n.ignore_dm)return null==n?void 0:n.widget_build_url}function g(e){return!!h(e)}async function v(e){if(!r.A.canUserModifyWidgets(e.client,e.roomId))return void o.vF.error(`User not allowed to modify widgets in ${e.roomId}`);const t=h(e);if(!t)return;let n;try{const s=await fetch(`${t}?roomId=${e.roomId}`);n=await s.json()}catch(t){return void o.vF.error(`Managed hybrid widget builder failed for room ${e.roomId}`,t)}if(!n)return;const{widget_id:s,widget:i,layout:d}=n;let u=c.Ay.instance.getApps(e.roomId);if(u.some(e=>e.id===s)||l.A.roomHasPendingWidgets(e.roomId,[]))return void o.vF.error(`Managed hybrid widget already present in room ${e.roomId}`);try{await r.A.setRoomWidgetContent(e.client,e.roomId,s,p(p({},i),{},{"io.element.managed_hybrid":!0}))}catch(t){return void o.vF.error(`Unable to add managed hybrid widget in room ${e.roomId}`,t)}if(!a.aK.instance.canCopyLayoutToRoom(e))return;u=c.Ay.instance.getApps(e.roomId);const m=u.find(e=>e.id===s);m&&(a.aK.instance.moveToContainer(e,m,d.container),a.aK.instance.setContainerHeight(e,d.container,d.height),a.aK.instance.copyLayoutToRoom(e))}function f(e){return!!e["io.element.managed_hybrid"]}},"./src/widgets/WidgetType.ts"(e,t,n){"use strict";n.d(t,{x:()=>i});var s,o=n("./node_modules/@babel/runtime/helpers/esm/defineProperty.js");class i{constructor(e,t){this.preferred=e,this.legacy=t}matches(e){return e===this.preferred||e===this.legacy}static fromString(e){const t=Object.values(i).filter(e=>e instanceof i).find(t=>t.matches(e));return t||new i(e,e)}}s=i,(0,o.A)(i,"JITSI",new s("m.jitsi","jitsi")),(0,o.A)(i,"STICKERPICKER",new s("m.stickerpicker","m.stickerpicker")),(0,o.A)(i,"INTEGRATION_MANAGER",new s("m.integration_manager","m.integration_manager")),(0,o.A)(i,"CUSTOM",new s("m.custom","m.custom")),(0,o.A)(i,"CALL",new s("m.call","m.call"))},"./res/img/betas/video_rooms.png"(e){e.exports="img/betas/video_rooms.7fada3d.png"},"./res/img/social/email-1.png"(e){e.exports="img/social/email-1.4053cdb.png"},"./res/img/social/facebook.png"(e){e.exports="img/social/facebook.b008f77.png"},"./res/img/social/linkedin.png"(e){e.exports="img/social/linkedin.5764540.png"},"./res/img/social/reddit.png"(e){e.exports="img/social/reddit.5424a6c.png"},"./res/img/social/twitter-2.png"(e){e.exports="img/social/twitter-2.711a2e5.png"},"?3465"(){},"?5580"(){},"?03fb"(){},"?6197"(){},"?b8cb"(){},"?c717"(){},"./packages/shared-components/dist/element-web-shared-components.js"(e,t,n){"use strict";n.d(t,{AO:()=>l_,BK:()=>Gy,DO:()=>kb,Eq:()=>$y,Ev:()=>Ph,FZ:()=>Mw,JK:()=>r_,L4:()=>Vb,MD:()=>cb,Ni:()=>hh,O3:()=>ib,OH:()=>_h,P5:()=>Ow,RU:()=>P_,SR:()=>xw,Sz:()=>Tw,UK:()=>Db,Vd:()=>Jy,Xo:()=>qd,_3:()=>h_,_t:()=>m_,ab:()=>Xy,ax:()=>__,az:()=>Pw,bi:()=>Fw,c2:()=>lb,cz:()=>jw,dC:()=>ow,dR:()=>Cw,g$:()=>wb,gJ:()=>se,kv:()=>pb,nn:()=>Yy,oY:()=>k,od:()=>i_,op:()=>S_,ot:()=>g_,oy:()=>hb,pc:()=>I_,qE:()=>Nw,s2:()=>R,s5:()=>Uw,sf:()=>Th,so:()=>B,w2:()=>p_,xJ:()=>ie,xS:()=>a_,yj:()=>Dw,z3:()=>re,zD:()=>Yd,zv:()=>Ih});var s=n("./node_modules/react/index.js"),o=n("./node_modules/@vector-im/compound-web/dist/components/Badge/Badge.js"),i=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Text.js"),r=n("./node_modules/@vector-im/compound-web/dist/components/Menu/ContextMenu.js"),a=n("./node_modules/@vector-im/compound-web/dist/components/Typography/Heading.js"),l=n("./node_modules/@vector-im/compound-web/dist/components/Menu/Menu.js"),c=n("./node_modules/@vector-im/compound-web/dist/components/Menu/MenuItem.js"),d=n("./node_modules/@vector-im/compound-web/dist/components/Menu/MenuTitle.js"),u=n("./node_modules/@vector-im/compound-web/dist/components/Menu/RadioMenuItem.js"),m=n("./node_modules/@vector-im/compound-web/dist/components/Separator/Separator.js"),p=n("./node_modules/@vector-im/compound-web/dist/components/Menu/ToggleMenuItem.js"),h=n("./node_modules/@vector-im/compound-web/dist/components/Menu/CheckboxMenuItem.js"),g=n("./node_modules/@vector-im/compound-web/dist/components/Tooltip/Tooltip.js"),v=n("./node_modules/@vector-im/compound-web/dist/components/Button/Button.js"),f=n("./node_modules/@vector-im/compound-web/dist/components/Button/IconButton/IconButton.js"),_=n("./node_modules/@vector-im/compound-web/dist/components/InlineSpinner/InlineSpinner.js"),y=n("./node_modules/@vector-im/compound-web/dist/components/ChatFilter/ChatFilter.js"),b=n("./node_modules/@vector-im/compound-web/dist/components/ActivityMarker/UnreadCounter.js"),w=n("./node_modules/@vector-im/compound-web/dist/components/ActivityMarker/Unread.js"),E=n("./node_modules/react-virtuoso/dist/index.mjs"),A=n("./node_modules/process/browser.js");class x{disposables=[];_isDisposed=!1;dispose(){if(!this.isDisposed){this._isDisposed=!0;for(const e of this.disposables)"function"==typeof e?e():e.dispose()}}track(e){return this.throwIfDisposed(),this.disposables.push(e),e}trackListener(e,t,n){this.throwIfDisposed(),e.on(t,n),this.track(()=>{e.off(t,n)})}throwIfDisposed(){if(this.isDisposed)throw new Error("Disposable is already disposed")}get isDisposed(){return this._isDisposed}}class S{constructor(e,t){this.snapshot=e,this.emit=t}set(e){this.snapshot=e,this.emit()}merge(e){this.snapshot={...this.snapshot,...e},this.emit()}get current(){return this.snapshot}}class C{listeners=new Set;add=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});emit=()=>{for(const e of this.listeners)e()}}class k{subs;snapshot;props;disposables=new x;constructor(e,t){this.props=e,this.subs=new C,this.snapshot=new S(t,()=>{this.subs.emit()})}subscribe=e=>this.subs.add(e);getSnapshot=()=>this.snapshot.current;dispose(){this.disposables.dispose()}get isDisposed(){return this.disposables.isDisposed}}function R(e){const[t,n]=(0,s.useState)(e);return(0,s.useEffect)(()=>{let s=t;if(t.isDisposed){const t=e();s=t,n(t)}return()=>{s.dispose()}},[]),t}function I(e){return(0,s.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}var P=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof n.g<"u"?n.g:typeof self<"u"?self:{};function T(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var O,M={exports:{}};var N,j=(O||(O=1,N=M,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var o=arguments[t];o&&(e=s(e,n(o)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var o="";for(var i in n)e.call(n,i)&&n[i]&&(o=s(o,i));return o}function s(e,t){return t?e?e+" "+t:e+t:e}N.exports?(t.default=t,N.exports=t):window.classNames=t}()),M.exports);const D=T(j),U="_mediaBody_11o4b_8";function F({as:e,className:t,children:n,...o}){const i=e||"div";return s.createElement(i,{className:D("mx_MediaBody",U,t),...o},n)}const L="_flex_4dswl_9";function B({as:e="div",display:t="flex",direction:n="row",align:o="start",justify:i="start",gap:r="0",wrap:a="nowrap",className:l,children:c,...d}){const u=(0,s.useMemo)(()=>({"--mx-flex-display":t,"--mx-flex-direction":n,"--mx-flex-align":o,"--mx-flex-justify":i,"--mx-flex-gap":r,"--mx-flex-wrap":a}),[o,n,t,r,i,a]);return s.createElement(e,{...d,className:D(L,l),style:u},c)}const V="_audioPlayer_1ly1h_8",H="_mediaInfo_1ly1h_12",z="_mediaName_1ly1h_17",W="_byline_1ly1h_26",K="_clock_1ly1h_30",$="_error_1ly1h_34";var J,G={exports:{}},q={};var Y;var Z=(Y||(Y=1,G.exports=function(){if(J)return q;J=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(t,n,s){var o=null;if(void 0!==s&&(o=""+s),void 0!==n.key&&(o=""+n.key),"key"in n)for(var i in s={},n)"key"!==i&&(s[i]=n[i]);else s=n;return n=s.ref,{$$typeof:e,type:t,key:o,ref:void 0!==n?n:null,props:s}}return q.Fragment=t,q.jsx=n,q.jsxs=n,q}()),G.exports);function Q(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"m8.98 4.677 9.921 5.58c1.36.764 1.36 2.722 0 3.486l-9.92 5.58C7.647 20.073 6 19.11 6 17.58V6.42c0-1.53 1.647-2.493 2.98-1.743"})})}Q.displayName="PlaySolidIcon";const X=(0,s.forwardRef)(Q);function ee(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M8 4a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V6a2 2 0 0 0-2-2m8 0a2 2 0 0 0-2 2v12a2 2 0 1 0 4 0V6a2 2 0 0 0-2-2"})})}ee.displayName="PauseSolidIcon";const te=(0,s.forwardRef)(ee),ne="_button_yfjla_8",se=(0,s.createContext)(null);function oe(){const e=(0,s.useContext)(se);if(!e)throw new Error("useI18n must be used within an I18nContext.Provider");return e}function ie({disabled:e=!1,playing:t=!1,togglePlay:n,...o}){const{translate:i}=oe(),r=i(t?"action|pause":"action|play");return s.createElement(f.K,{size:"32px","aria-label":r,tooltip:r,onClick:n,className:ne,disabled:e,...o},t?s.createElement(te,null):s.createElement(X,null))}function re(e,t=2){if(0===e)return"0 Bytes";const n=t<0?0:t,s=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,s)).toFixed(n))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][s]}function ae(e,t,n,s,o){return le(t,((e,t)=>{const n=e[t];if(void 0===n)throw new TypeError(Ii(t));return n})(e,t),n,s,o)}function le(e,t,n,s,o,i){const r=Re(t,n,s);if(o&&t!==r)throw new RangeError(ki(e,t,n,s,i));return r}function ce(e){return null!==e&&/object|function/.test(typeof e)}function de(e,t=Map){const n=new t;return(t,...s)=>{if(n.has(t))return n.get(t);const o=e(t,...s);return n.set(t,o),o}}function ue(e){return me({name:e},1)}function me(e,t){return ve(e=>({value:e,configurable:1,writable:!t}),e)}function pe(e){return ve(e=>({get:e,configurable:1}),e)}function he(e){return{[Symbol.toStringTag]:{value:e,configurable:1}}}function ge(e,t){const n={};let s=e.length;for(const o of t)n[e[--s]]=o;return n}function ve(e,t,n){const s={};for(const o in t)s[o]=e(t[o],o,n);return s}function fe(e,t,n){const s={};for(let o=0;o<t.length;o++){const i=t[o];s[i]=e(i,o,n)}return s}function _e(e,t,n){const s={};for(let o=0;o<e.length;o++)s[t[o]]=n[e[o]];return s}function ye(e,t){const n=Object.create(null);for(const s of e)n[s]=t[s];return n}function be(e,t){for(const n of t)if(n in e)return 1;return 0}function we(e,t,n){for(const s of e)if(t[s]!==n[s])return 0;return 1}function Ee(e,t,n){const s={...n};for(let n=0;n<t;n++)s[e[n]]=0;return s}function Ae(e,...t){return(...n)=>e(...t,...n)}function xe(e){return e[0].toUpperCase()+e.substring(1)}function Se(e){return e.slice().sort()}function Ce(e,t){return String(t).padStart(e,"0")}function ke(e,t){return Math.sign(e-t)}function Re(e,t,n){return Math.min(Math.max(e,t),n)}function Ie(e,t){return[Math.floor(e/t),Pe(e,t)]}function Pe(e,t){return(e%t+t)%t}function Te(e,t){return[Oe(e,t),Me(e,t)]}function Oe(e,t){return Math.trunc(e/t)||0}function Me(e,t){return e%t||0}function Ne(e){return.5===Math.abs(e%1)}function je(e,t,n){let s=0,o=0;for(let i=0;i<=t;i++){const t=e[n[i]],r=xr[i],a=Ar/r,[l,c]=Te(t,a);s+=c*r,o+=l}const[i,r]=Te(s,Ar);return[o+i,r]}function De(e,t,n){const s={};for(let o=t;o>=0;o--){const t=xr[o];s[n[o]]=Oe(e,t),e=Me(e,t)}return s}function Ue(e){if(void 0!==e)return Le(e)}function Fe(e){return We(Le(e))}function Le(e){return ze(Zr(e))}function Be(e,t){if(null==t)throw new RangeError(Ii(e));return t}function Ve(e){if(!ce(e))throw new TypeError(Ci);return e}function He(e,t,n=e){if(typeof t!==e)throw new TypeError(Ri(n,t));return t}function ze(e,t="number"){if(!Number.isInteger(e))throw new RangeError(bi(t,e));return e||0}function We(e,t="number"){if(e<=0)throw new RangeError(wi(t,e));return e}function Ke(e){if("symbol"==typeof e)throw new TypeError(Si);return String(e)}function $e(e,t){return ce(e)?String(e):qr(e,t)}function Je(e){if("string"==typeof e)return BigInt(e);if("bigint"!=typeof e)throw new TypeError(xi(e));return e}function Ge(e,t="number"){if("bigint"==typeof e)throw new TypeError(Ai(t));if(e=Number(e),!Number.isFinite(e))throw new RangeError(Ei(t,e));return e}function qe(e,t){return Math.trunc(Ge(e,t))||0}function Ye(e,t){return ze(Ge(e,t),t)}function Ze(e,t){return We(qe(e,t),t)}function Qe(e,t){let[n,s]=Te(t,Ar),o=e+n;const i=Math.sign(o);return i&&i===-Math.sign(s)&&(o-=i,s+=i*Ar),[o,s]}function Xe(e,t,n=1){return Qe(e[0]+t[0]*n,e[1]+t[1]*n)}function et(e,t){return Qe(e[0],e[1]+t)}function tt(e,t){return Xe(t,e,-1)}function nt(e,t){return ke(e[0],t[0])||ke(e[1],t[1])}function st(e,t,n){return-1===nt(e,t)||1===nt(e,n)}function ot(e,t=1){const n=BigInt(Ar/t);return[Number(e/n),Number(e%n)*t]}function it(e,t=1){const n=Ar/t,[s,o]=Te(e,n);return[s,o*t]}function rt(e,t=1,n){const[s,o]=e,[i,r]=Te(o,t);return s*(Ar/t)+(i+(n?r/t:0))}function at(e,t,n=Ie){const[s,o]=e,[i,r]=n(o,t);return[s*(Ar/t)+i,r]}function lt(e){return ae(e,"isoYear",ba,ya,1),e.isoYear===ba?ae(e,"isoMonth",4,12,1):e.isoYear===ya&&ae(e,"isoMonth",1,9,1),e}function ct(e){return dt({...e,...pa,isoHour:12}),e}function dt(e){const t=ae(e,"isoYear",ba,ya,1),n=t===ba?1:t===ya?-1:0;return n&&ut(vt({...e,isoDay:e.isoDay+n,isoNanosecond:e.isoNanosecond-n})),e}function ut(e){if(!e||st(e,_a,fa))throw new RangeError(er);return e}function mt(e){return je(e,5,aa)[1]}function pt(e){const[t,n]=Ie(e,Ar);return[De(n,5,aa),t]}function ht(e){return at(e,br)}function gt(e){return yt(e.isoYear,e.isoMonth,e.isoDay,e.isoHour,e.isoMinute,e.isoSecond,e.isoMillisecond)}function vt(e){const t=gt(e);if(void 0!==t){const[n,s]=Te(t,vr);return[n,s*yr+(e.isoMicrosecond||0)*_r+(e.isoNanosecond||0)]}}function ft(e,t){const[n,s]=pt(mt(e)-t);return ut(vt({...e,isoDay:e.isoDay+s,...n}))}function _t(...e){return yt(...e)/fr}function yt(...e){const[t,n]=bt(...e),s=t.valueOf();if(!isNaN(s))return s-n*vr}function bt(e,t=1,n=1,s=0,o=0,i=0,r=0){const a=e===ba?1:e===ya?-1:0,l=new Date;return l.setUTCHours(s,o,i,r),l.setUTCFullYear(e,t-1,n+a),[l,a]}function wt(e,t){let[n,s]=et(e,t);s<0&&(s+=Ar,n-=1);const[o,i]=Ie(s,yr),[r,a]=Ie(i,_r);return Et(n*vr+o,r,a)}function Et(e,t=0,n=0){const s=Math.ceil(Math.max(0,Math.abs(e)-va)/vr)*Math.sign(e),o=new Date(e-s*vr);return ge(ca,[o.getUTCFullYear(),o.getUTCMonth()+1,o.getUTCDate()+s,o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds(),t,n])}function At(e,t){if(t<-va)throw new RangeError(er);const n=e.formatToParts(t),s={};for(const e of n)s[e.type]=e.value;return s}function xt(e){return[e.isoYear,e.isoMonth,e.isoDay]}function St(e,t){return[t,0]}function Ct(){return Sa}function kt(e,t){switch(t){case 2:return It(e)?29:28;case 4:case 6:case 9:case 11:return 30}return 31}function Rt(e){return It(e)?366:365}function It(e){return e%4==0&&(e%100!=0||e%400==0)}function Pt(e){const[t,n]=bt(e.isoYear,e.isoMonth,e.isoDay);return Pe(t.getUTCDay()-n,7)||7}function Tt(e){return this.id===Wr?(({isoYear:e})=>e<1?["gregory-inverse",1-e]:["gregory",e])(e):this.id===Kr?ka(e):[]}function Ot(e){const t=gt(e);if(t<Ca){const{isoYear:t}=e;return t<1?["japanese-inverse",1-t]:["japanese",t]}const n=At(Fl(Kr),t),{era:s,eraYear:o}=Fo(n,Kr);return[s,o]}function Mt(e){return Nt(e),Ut(e,1),e}function Nt(e){return Dt(e,1),e}function jt(e){return we(la,e,Dt(e))}function Dt(e,t){const{isoYear:n}=e,s=ae(e,"isoMonth",1,Ct(),t);return{isoYear:n,isoMonth:s,isoDay:ae(e,"isoDay",1,kt(n,s),t)}}function Ut(e,t){return ge(aa,[ae(e,"isoHour",0,23,t),ae(e,"isoMinute",0,59,t),ae(e,"isoSecond",0,59,t),ae(e,"isoMillisecond",0,999,t),ae(e,"isoMicrosecond",0,999,t),ae(e,"isoNanosecond",0,999,t)])}function Ft(e){return void 0===e?0:$a(Ve(e))}function Lt(e,t=0){e=qt(e);const n=Ja(e),s=Ga(e,t);return[$a(e),s,n]}function Bt(e,t,n,s=9,o=0,i=4){t=qt(t);let r=Wa(t,s,o),a=$t(t),l=Qa(t,i);const c=za(t,s,o,1);return null==r?r=Math.max(n,c):en(r,c),a=Jt(a,c,1),e&&(l=(d=l)<4?(d+2)%4:d),[r,c,a,l];var d}function Vt(e,t=6,n){let s=$t(e=Yt(e,Ra));const o=Qa(e,7);let i=za(e,t);return i=Be(Ra,i),s=Jt(s,i,void 0,n),[i,s,o]}function Ht(e){return qa(qt(e))}function zt(e,t){return Wt(qt(e),t)}function Wt(e,t=4){const n=Gt(e);return[Qa(e,4),...Kt(za(e,t),n)]}function Kt(e,t){return null!=e?[xr[e],e<4?9-3*e:-1]:[void 0===t?1:10**(9-t),t]}function $t(e){const t=e[Pa];return void 0===t?1:qe(t,Pa)}function Jt(e,t,n,s){const o=s?Ar:xr[t+1];if(o){const n=xr[t];if(o%((e=le(Pa,e,1,o/n-(s?0:1),1))*n))throw new RangeError(Ri(Pa,e))}else e=le(Pa,e,1,n?10**9:1,1);return e}function Gt(e){let t=e[Ta];if(void 0!==t){if("number"!=typeof t){if("auto"===Ke(t))return;throw new RangeError(Ri(Ta,t))}t=le(Ta,Math.floor(t),0,9,1)}return t}function qt(e){return void 0===e?{}:Ve(e)}function Yt(e,t){return"string"==typeof e?{[t]:e}:Ve(e)}function Zt(e){return{overflow:ja[e]}}function Qt(e,t,n=9,s=0,o){let i=t[e];if(void 0===i)return o?s:void 0;if(i=Ke(i),"auto"===i)return o?s:null;let r=hr[i];if(void 0===r&&(r=sa[i]),void 0===r)throw new RangeError(Mi(e,i,hr));return le(e,r,s,n,1,gr),r}function Xt(e,t,n,s=0){const o=n[e];if(void 0===o)return s;const i=Ke(o),r=t[i];if(void 0===r)throw new RangeError(Mi(e,i,t));return r}function en(e,t){if(t>e)throw new RangeError(rr)}function tn(e){return{branding:il,epochNanoseconds:e}}function nn(e,t,n){return{branding:ol,calendar:n,timeZone:t,epochNanoseconds:e}}function sn(e,t=e.calendar){return{branding:nl,calendar:t,...ye(ma,e)}}function on(e,t=e.calendar){return{branding:tl,calendar:t,...ye(da,e)}}function rn(e,t=e.calendar){return{branding:Xa,calendar:t,...ye(da,e)}}function an(e,t=e.calendar){return{branding:el,calendar:t,...ye(da,e)}}function ln(e){return{branding:sl,...ye(ua,e)}}function cn(e){return{branding:rl,sign:As(e),...ye(Xr,e)}}function dn(e){return at(e.epochNanoseconds,yr)[0]}function un(e){return e.epochNanoseconds}function mn(e,t){return rt(Cs(e),xr[t],1)}function pn(e,t,n,s,o,i,r){const a=Qr[n],l={...t,[a]:t[a]+s},c=r(e,o,t),d=r(e,o,l);return[i(c),i(d)]}function hn(e,t,n){const s=rt(tt(t,n));if(!s)throw new RangeError(Wi);return rt(tt(t,e))/s}function gn(e,t,n,s){return vn(e,yn(t,n),s)}function vn(e,t,n){const[s,o]=fn(e,t,n);return dt({...ps(e,o),...s})}function fn(e,t,n){return pt(Cn(mt(e),t,n))}function _n(e){return Cn(e,wr,7)}function yn(e,t){return xr[e]*t}function bn(e){const t=wn(e);return[t,ps(t,1)]}function wn(e){return ha(6,e)}function En(e,t,n){const s=Math.min(Ps(e),6);return ks(Sn(Cs(e,s),t,n),s)}function An(e,t,n,s,o,i,r,a,l,c){if(0===s&&1===o)return e;const d=ys(s,a)?_s(a)&&s<6&&n>=6?In:Rn:Pn;let[u,m,p]=d(e,t,n,s,o,i,r,a,l,c);return p&&7!==s&&(u=((e,t,n,s,o,i,r,a)=>{const l=As(e);for(let c=s+1;c<=n;c++){if(7===c&&7!==n)continue;const s=ra(c,e);s[Qr[c]]+=l;const d=rt(tt(r(a(o,i,s)),t));if(d&&Math.sign(d)!==l)break;e=s}return e})(u,m,n,Math.max(6,s),r,a,l,c)),u}function xn(e,t,n,s,o){if(6===t){return[Cn((i=e)[0]+i[1]/Ar,n,s),0]}var i;return Sn(e,yn(t,n),s,o)}function Sn(e,t,n,s){let[o,i]=e;s&&i<0&&(i+=Ar,o-=1);const[r,a]=Ie(Cn(i,t,n),Ar);return Qe(o+r,a)}function Cn(e,t,n){return kn(e/t,n)*t}function kn(e,t){return al[t](e)}function Rn(e,t,n,s,o,i){const r=As(e),a=Cs(e),l=xn(a,s,o,i),c=tt(a,l),d=Math.sign(l[0]-a[0])===r,u=ks(l,Math.min(n,6));return[{...e,...u},Xe(t,c),d]}function In(e,t,n,s,o,i,r,a,l,c){const d=As(e)||1,u=rt(Cs(e,5)),m=yn(s,o);let p=Cn(u,m,i);const[h,g]=pn(r,{...e,...ia},6,d,a,l,c),v=p-rt(tt(h,g));let f=0;v&&Math.sign(v)!==d?t=et(h,p):(f+=d,p=Cn(v,m,i),t=et(g,p));const _=Rs(p);return[{...e,..._,days:e.days+f},t,!!f]}function Pn(e,t,n,s,o,i,r,a,l,c){const d=As(e),u=Qr[s],m=ra(s,e);7===s&&(e={...e,weeks:e.weeks+Math.trunc(e.days/7)});const p=Oe(e[u],o)*o;m[u]=p;const[h,g]=pn(r,m,s,o*d,a,l,c),v=p+hn(t,h,g)*d*o,f=Cn(v,o,i),_=Math.sign(f-v)===d;return m[u]=f,[m,_?g:h,_]}function Tn(e,t,n,s){const[o,i,r,a]=(e=>{const t=Wt(e=qt(e));return[e.timeZone,...t]})(s),l=void 0!==o;return((e,t,n,s,o,i)=>{n=Sn(n,o,s,1);const r=t.R(n);return Vn(wt(n,r),i)+(e?$n(_n(r)):"Z")})(l,t(l?e(o):ll),n.epochNanoseconds,i,r,a)}function On(e,t,n){const[s,o,i,r,a,l]=(e=>{e=qt(e);const t=qa(e),n=Gt(e),s=Za(e),o=Qa(e,4),i=za(e,4);return[t,Ya(e),s,o,...Kt(i,n)]})(n);return((e,t,n,s,o,i,r,a,l,c)=>{s=Sn(s,l,a,1);const d=e(n).R(s);return Vn(wt(s,d),c)+$n(_n(d),r)+(u=n,1!==(m=i)?"["+(2===m?"!":"")+u+"]":"")+Jn(t,o);var u,m})(e,t.calendar,t.timeZone,t.epochNanoseconds,s,o,i,r,a,l)}function Mn(e,t){const[n,s,o,i]=(r=qt(r=t),[qa(r),...Wt(r)]);var r,a,l,c;return a=e.calendar,l=n,c=i,Vn(vn(e,o,s),c)+Jn(a,l)}function Nn(e,t){return n=e.calendar,s=e,o=Ht(t),Hn(s)+Jn(n,o);var n,s,o}function jn(e,t){return Ln(e.calendar,zn,e,Ht(t))}function Dn(e,t){return Ln(e.calendar,Wn,e,Ht(t))}function Un(e,t){const[n,s,o]=zt(t);return i=o,Kn(fn(e,s,n)[0],i);var i}function Fn(e,t){const[n,s,o]=zt(t,3);return s>1&&xs(e={...e,...En(e,s,n)}),((e,t)=>{const{sign:n}=e,s=-1===n?Es(e):e,{hours:o,minutes:i}=s,[r,a]=at(Cs(s,3),br,Te);Ss(r);const l=qn(a,t),c=t>=0||!n||l;return(n<0?"-":"")+"P"+Bn({Y:Zn(s.years),M:Zn(s.months),W:Zn(s.weeks),D:Zn(s.days)})+(o||i||r||c?"T"+Bn({H:Zn(o),M:Zn(i),S:Zn(r,c)+l}):"")})(e,o)}function Ln(e,t,n,s){const o=s>1||0===s&&e!==zr;return 1===s?e===zr?t(n):Hn(n):o?Hn(n)+Gn(e,2===s):t(n)}function Bn(e){const t=[];for(const n in e){const s=e[n];s&&t.push(s,n)}return t.join("")}function Vn(e,t){return Hn(e)+"T"+Kn(e,t)}function Hn(e){return zn(e)+"-"+pr(e.isoDay)}function zn(e){const{isoYear:t}=e;return(t<0||t>9999?Yn(t)+Ce(6,Math.abs(t)):Ce(4,t))+"-"+pr(e.isoMonth)}function Wn(e){return pr(e.isoMonth)+"-"+pr(e.isoDay)}function Kn(e,t){const n=[pr(e.isoHour),pr(e.isoMinute)];return-1!==t&&n.push(pr(e.isoSecond)+(s=e.isoMillisecond,o=e.isoMicrosecond,i=e.isoNanosecond,qn(s*yr+o*_r+i,t))),n.join(":");var s,o,i}function $n(e,t=0){if(1===t)return"";const[n,s]=Ie(Math.abs(e),Er),[o,i]=Ie(s,wr),[r,a]=Ie(i,br);return Yn(e)+pr(n)+":"+pr(o)+(r||a?":"+pr(r)+qn(a):"")}function Jn(e,t){return 1!==t&&(t>1||0===t&&e!==zr)?Gn(e,2===t):""}function Gn(e,t){return"["+(t?"!":"")+"u-ca="+e+"]"}function qn(e,t){let n=Ce(9,e);return n=void 0===t?n.replace(ml,""):n.slice(0,t),n?"."+n:""}function Yn(e){return e<0?"-":"+"}function Zn(e,t){return e||t?e.toLocaleString("fullwide",{useGrouping:0}):""}function Qn(e,t){const{epochNanoseconds:n}=e,s=(t.R?t:t(e.timeZone)).R(n),o=wt(n,s);return{calendar:e.calendar,...o,offsetNanoseconds:s}}function Xn(e,t,n,s=0,o=0,i,r){if(void 0!==n&&1===s&&(1===s||r))return ft(t,n);const a=e.I(t);if(void 0!==n&&3!==s){const e=((e,t,n,s)=>{const o=vt(t);s&&(n=_n(n));for(const t of e){let e=rt(tt(t,o));if(s&&(e=_n(e)),e===n)return t}})(a,t,n,i);if(void 0!==e)return e;if(0===s)throw new RangeError(Qi)}return r?vt(t):es(e,t,o,a)}function es(e,t,n=0,s=e.I(t)){if(1===s.length)return s[0];if(1===n)throw new RangeError(Xi);if(s.length)return s[3===n?1:0];const o=vt(t),i=((e,t)=>{const n=e.R(et(t,-Ar));return(e=>{if(e>Ar)throw new RangeError(Zi);return e})(e.R(et(t,Ar))-n)})(e,o)*(2===n?-1:1);return(s=e.I(wt(o,i)))[2===n?0:s.length-1]}function ts(e,t){const n=e.I(t);if(n.length)return n[0];const s=et(vt(t),-Ar);return e.O(s,1)}function ns(e,t,n){return tn(ut(Xe(t.epochNanoseconds,(e=>{if(Is(e))throw new RangeError(or);return Cs(e,5)})(e?Es(n):n))))}function ss(e,t,n,s,o,i=Object.create(null)){const r=t(s.timeZone),a=e(s.calendar);return{...s,...ls(r,a,s,n?Es(o):o,i)}}function os(e,t,n,s,o=Object.create(null)){const{calendar:i}=n;return sn(cs(e(i),n,t?Es(s):s,o),i)}function is(e,t,n,s,o){const{calendar:i}=n;return on(ds(e(i),n,t?Es(s):s,o),i)}function rs(e,t,n,s,o){const i=n.calendar,r=e(i);let a=ct(us(r,n));t&&(s=ws(s)),s.sign<0&&(a=r.P(a,{...oa,months:1}),a=ps(a,-1));const l=r.P(a,s,o);return rn(us(r,l),i)}function as(e,t,n){return ln(ms(t,e?Es(n):n)[0])}function ls(e,t,n,s,o){const i=Cs(s,5);let r=n.epochNanoseconds;if(Is(s)){const a=pl(n,e);r=Xe(es(e,{...ds(t,a,{...s,...ia},o),...ye(aa,a)}),i)}else r=Xe(r,i),Ft(o);return{epochNanoseconds:ut(r)}}function cs(e,t,n,s){const[o,i]=ms(t,n);return dt({...ds(e,t,{...n,...ia,days:n.days+i},s),...o})}function ds(e,t,n,s){if(n.years||n.months||n.weeks)return e.P(t,n,s);Ft(s);const o=n.days+Cs(n,5)[0];return o?ct(ps(t,o)):t}function us(e,t,n=1){return ps(t,n-e.day(t))}function ms(e,t){const[n,s]=Cs(t,5),[o,i]=pt(mt(e)+s);return[o,n+i]}function ps(e,t){return t?{...e,...Et(gt(e)+t*vr)}:e}function hs(e,t,n){const s=e(n.calendar);return _s(n)?[n,s,t(n.timeZone)]:[{...n,...pa},s]}function gs(e){return e?un:vt}function vs(e){return e?Ae(ls,e):cs}function fs(e){return e?Ae(ho,e):go}function _s(e){return e&&e.epochNanoseconds}function ys(e,t){return e<=6-(_s(t)?1:0)}function bs(e,t,n,s,o,i,r){const a=e(qt(r).relativeTo),l=Math.max(Ps(o),Ps(i));if(ys(l,a))return cn(xs(((e,t,n,s)=>{const o=Xe(Cs(e),Cs(t),s?-1:1);if(!Number.isFinite(o[0]))throw new RangeError(er);return{...oa,...ks(o,n)}})(o,i,l,s)));if(!a)throw new RangeError(sr);s&&(i=Es(i));const[c,d,u]=hs(t,n,a),m=vs(u),p=fs(u),h=m(d,c,o);return cn(p(d,c,m(d,h,i),l))}function ws(e){return cn(Es(e))}function Es(e){const t={};for(const n of Qr)t[n]=-1*e[n]||0;return t}function As(e,t=Qr){let n=0;for(const s of t){const t=Math.sign(e[s]);if(t){if(n&&n!==t)throw new RangeError(nr);n=t}}return n}function xs(e){for(const t of na)le(t,e[t],-hl,hl,1);return Ss(rt(Cs(e),br)),e}function Ss(e){if(!Number.isSafeInteger(e))throw new RangeError(tr)}function Cs(e,t=6){return je(e,t,Qr)}function ks(e,t=6){const[n,s]=e,o=De(s,t,Qr);if(o[Qr[t]]+=n*(Ar/xr[t]),!Number.isFinite(o[Qr[t]]))throw new RangeError(er);return o}function Rs(e,t=5){return De(e,t,Qr)}function Is(e){return!!As(e,ta)}function Ps(e){let t=9;for(;t>0&&!e[Qr[t]];t--);return t}function Ts(e,t){return[e,t]}function Os(e){const t=Math.floor(e/cl)*cl;return[t,t+cl]}function Ms(e){const t=zs(e);if(void 0===t)throw new RangeError(ar(e));return t}function Ns(e,t,n){let s=Bs(qr(e));if(!s||s.j)throw new RangeError(ar(e));return t?s.calendar===zr&&(s=-271821===s.isoYear&&4===s.isoMonth?{...s,isoDay:20,...pa}:{...s,isoDay:1,...pa}):n&&s.calendar===zr&&(s={...s,isoYear:xa}),on(s.C?Us(s):Fs(s))}function js(e){if(e.calendar!==zr)throw new RangeError(lr(e.calendar))}function Ds(e,t,n=0,s=0){const o=Zs(e.timeZone),i=gl(o);let r;return Mt(e),r=e.C?Xn(i,e,t,n,s,!i.$,e.j):ts(i,e),nn(r,o,Yo(e.calendar))}function Us(e){return Ls(dt(Mt(e)))}function Fs(e){return Ls(ct(Nt(e)))}function Ls(e){return{...e,calendar:Yo(e.calendar)}}function Bs(e){const t=Rl.exec(e);return t?(e=>{const t=e[10],n="Z"===(t||"").toUpperCase();return{isoYear:Ws(e),isoMonth:parseInt(e[4]),isoDay:parseInt(e[5]),...Ks(e.slice(5)),...$s(e[16]),C:!!e[6],j:n,offset:n?void 0:t}})(t):void 0}function Vs(e){const t=Cl.exec(e);return t?{isoYear:Ws(n=t),isoMonth:parseInt(n[4]),isoDay:1,...$s(n[5])}:void 0;var n}function Hs(e){const t=kl.exec(e);return t?(n=t,{isoYear:xa,isoMonth:parseInt(n[1]),isoDay:parseInt(n[2]),...$s(n[3])}):void 0;var n}function zs(e,t){const n=Pl.exec(e);return n?((e,t)=>{const n=e[4]||e[5];if(t&&n)throw new RangeError(lr(n));return(e=>{if(Math.abs(e)>=Ar)throw new RangeError(Yi);return e})((Ys(e[2])*Er+Ys(e[3])*wr+Ys(e[4])*br+Js(e[5]||""))*qs(e[1]))})(n,t):void 0}function Ws(e){const t=qs(e[1]),n=parseInt(e[2]||e[3]);if(t<0&&!n)throw new RangeError(lr(-0));return t*n}function Ks(e){const t=Ys(e[3]);return{...pt(Js(e[4]||""))[0],isoHour:Ys(e[1]),isoMinute:Ys(e[2]),isoSecond:60===t?59:t}}function $s(e){let t,n;const s=[];if(e.replace(Tl,(e,o,i)=>{const r=!!o,[a,l]=i.split("=").reverse();if(l){if("u-ca"===l)s.push(a),t||(t=r);else if(r||/[A-Z]/.test(l))throw new RangeError(lr(e))}else{if(n)throw new RangeError(lr(e));n=a}return""}),s.length>1&&t)throw new RangeError(lr(e));return{timeZone:n,calendar:s[0]||zr}}function Js(e){return parseInt(e.padEnd(9,"0"))}function Gs(e){return new RegExp(`^${e}$`,"i")}function qs(e){return e&&"+"!==e?-1:1}function Ys(e){return void 0===e?0:parseInt(e)}function Zs(e){const t=Xs(e);return"number"==typeof t?$n(t):t?(e=>{if(jl.test(e))throw new RangeError(Ji(e));if(Nl.test(e))throw new RangeError(qi);return e.toLowerCase().split("/").map((e,t)=>(e.length<=3||/\d/.test(e))&&!/etc|yap/.test(e)?e.toUpperCase():e.replace(/baja|dumont|[a-z]+/g,(e,n)=>e.length<=2&&!t||"in"===e||"chat"===e?e.toUpperCase():e.length>2||!n?xe(e).replace(/island|noronha|murdo|rivadavia|urville/,xe):e)).join("/")})(e):ll}function Qs(e){const t=Xs(e);return"number"==typeof t?t:t?t.resolvedOptions().timeZone:ll}function Xs(e){const t=zs(e=e.toUpperCase(),1);return void 0!==t?t:e!==ll?Ml(e):void 0}function eo(e,t){return nt(e.epochNanoseconds,t.epochNanoseconds)}function to(e,t){return nt(e.epochNanoseconds,t.epochNanoseconds)}function no(e,t){return so(e,t)||oo(e,t)}function so(e,t){return ke(gt(e),gt(t))}function oo(e,t){return ke(mt(e),mt(t))}function io(e,t){if(e===t)return 1;try{return Qs(e)===Qs(t)}catch{}}function ro(e,t,n,s){const o=Bt(e,s,3,5),i=_o(t.epochNanoseconds,n.epochNanoseconds,...o);return cn(e?Es(i):i)}function ao(e,t,n,s,o,i){const r=Ao(s.calendar,o.calendar),[a,l,c,d]=Bt(n,i,5),u=s.epochNanoseconds,m=o.epochNanoseconds,p=nt(m,u);let h;if(p)if(a<6)h=_o(u,m,a,l,c,d);else{const n=t(((e,t)=>{if(!io(e,t))throw new RangeError(Gi);return e})(s.timeZone,o.timeZone)),u=e(r);h=vo(u,n,s,o,p,a,i),h=An(h,m,a,l,c,d,u,s,un,Ae(ls,n))}else h=oa;return cn(n?Es(h):h)}function lo(e,t,n,s,o){const i=Ao(n.calendar,s.calendar),[r,a,l,c]=Bt(t,o,6),d=vt(n),u=vt(s),m=nt(u,d);let p;if(m)if(r<=6)p=_o(d,u,r,a,l,c);else{const t=e(i);p=fo(t,n,s,m,r,o),p=An(p,u,r,a,l,c,t,n,vt,cs)}else p=oa;return cn(t?Es(p):p)}function co(e,t,n,s,o){const i=Ao(n.calendar,s.calendar);return mo(t,()=>e(i),n,s,...Bt(t,o,6,9,6))}function uo(e,t,n,s,o){const i=Ao(n.calendar,s.calendar),r=Bt(t,o,9,9,8),a=e(i),l=us(a,n),c=us(a,s);return l.isoYear===c.isoYear&&l.isoMonth===c.isoMonth&&l.isoDay===c.isoDay?cn(oa):mo(t,()=>a,ct(l),ct(c),...r,8)}function mo(e,t,n,s,o,i,r,a,l=6){const c=vt(n),d=vt(s);if(void 0===c||void 0===d)throw new RangeError(er);let u;if(nt(d,c))if(6===o)u=_o(c,d,o,i,r,a);else{const e=t();u=e.N(n,s,o),i===l&&1===r||(u=An(u,d,o,i,r,a,e,n,vt,ds))}else u=oa;return cn(e?Es(u):u)}function po(e,t,n,s){const[o,i,r,a]=Bt(e,s,5,5),l=Cn(Eo(t,n),yn(i,r),a),c={...oa,...Rs(l,o)};return cn(e?Es(c):c)}function ho(e,t,n,s,o,i){const r=nt(s.epochNanoseconds,n.epochNanoseconds);return r?o<6?yo(n.epochNanoseconds,s.epochNanoseconds,o):vo(t,e,n,s,r,o,i):oa}function go(e,t,n,s,o){const i=vt(t),r=vt(n),a=nt(r,i);return a?s<=6?yo(i,r,s):fo(e,t,n,a,s,o):oa}function vo(e,t,n,s,o,i,r){const[a,l,c]=((e,t,n,s)=>{function o(){return u={...ps(a,c++*-s),...r},m=es(e,u),nt(l,m)===-s}const i=pl(t,e),r=ye(aa,i),a=pl(n,e),l=n.epochNanoseconds;let c=0;const d=Eo(i,a);let u,m;if(Math.sign(d)===-s&&c++,o()&&(-1===s||o()))throw new RangeError(Wi);const p=rt(tt(m,l));return[i,u,p]})(t,n,s,o);var d,u;return{...6===i?(d=a,u=l,{...oa,days:bo(d,u)}):e.N(a,l,i,r),...Rs(c)}}function fo(e,t,n,s,o,i){const[r,a,l]=((e,t,n)=>{let s=t,o=Eo(e,t);return Math.sign(o)===-n&&(s=ps(t,-n),o+=Ar*n),[e,s,o]})(t,n,s);return{...e.N(r,a,o,i),...Rs(l)}}function _o(e,t,n,s,o,i){return{...oa,...ks(xn(tt(e,t),s,o,i),n)}}function yo(e,t,n){return{...oa,...ks(tt(e,t),n)}}function bo(e,t){return wo(gt(e),gt(t))}function wo(e,t){return Math.trunc((t-e)/vr)}function Eo(e,t){return mt(t)-mt(e)}function Ao(e,t){if(e!==t)throw new RangeError($i);return e}function xo(e){return this.m(e)[0]}function So(e){return this.m(e)[1]}function Co(e){const[t]=this.v(e);return wo(this.p(t),gt(e))+1}function ko(e){const t=Dl.exec(e);if(!t)throw new RangeError(Bi(e));return[parseInt(t[1]),!!t[2]]}function Ro(e,t){return"M"+pr(e)+(t?"L":"")}function Io(e,t,n){return e+(t||n&&e>=n?1:0)}function Po(e,t){return e-(t&&e>=t?1:0)}function To(e,t){return(t+e)*(Math.sign(t)||1)||0}function Oo(e){return $r[No(e)]}function Mo(e){return Gr[No(e)]}function No(e){return Zo(e.id||zr)}function jo(e){function t(e){return{...Fo(t=At(n,e),s),o:t.month,day:parseInt(t.day)};var t}const n=Fl(e),s=Zo(e);return{id:e,h:Do(t),l:Uo(t)}}function Do(e){return de(t=>{const n=gt(t);return e(n)},WeakMap)}function Uo(e){const t=e(0).year-Aa;return de(n=>{let s,o=yt(n-t),i=0;const r=[],a=[];do{o+=400*vr}while((s=e(o)).year<=n);do{if(o+=(1-s.day)*vr,s.year===n&&(r.push(o),a.push(s.o)),o-=vr,++i>100||o<-va)throw new RangeError(Wi)}while((s=e(o)).year>=n);return{i:r.reverse(),u:ur(a.reverse())}})}function Fo(e,t){let n,s,o=Lo(e);if(e.era){const i=$r[t],r=Jr[t]||{};void 0!==i&&(n="islamic"===t?"ah":e.era.normalize("NFD").toLowerCase().replace(/[^a-z0-9]/g,""),"bc"===n||"b"===n?n="bce":"ad"===n||"a"===n?n="ce":"beforeroc"===n&&(n="broc"),n=r[n]||n,s=o,o=To(s,i[n]||0))}return{era:n,eraYear:s,year:o}}function Lo(e){return parseInt(e.relatedYear||e.year)}function Bo(e){const{year:t,o:n,day:s}=this.h(e),{u:o}=this.l(t);return[t,o[n]+1,s]}function Vo(e,t=1,n=1){return this.l(e).i[t-1]+(n-1)*vr}function Ho(e,t){const n=zo.call(this,e);return[Po(t,n),n===t]}function zo(e){const t=Go(this,e),n=Go(this,e-1),s=t.length;if(s>n.length){const e=Mo(this);if(e<0)return-e;for(let e=0;e<s;e++)if(t[e]!==n[e])return e+1}}function Wo(e){return wo(Vo.call(this,e),Vo.call(this,e+1))}function Ko(e,t){const{i:n}=this.l(e);let s=t+1,o=n;return s>n.length&&(s=1,o=this.l(e+1).i),wo(n[t-1],o[s-1])}function $o(e){return this.l(e).i.length}function Jo(e){const t=this.h(e);return[t.era,t.eraYear]}function Go(e,t){return Object.keys(e.l(t).u)}function qo(e){return Yo(qr(e))}function Yo(e){if((e=e.toLowerCase())!==zr&&e!==Wr){const t=Fl(e).resolvedOptions().calendar;if(Zo(e)!==Zo(t))throw new RangeError(Ki(e));return t}return e}function Zo(e){return"islamicc"===e&&(e="islamic"),e.split("-")[0]}function Qo(e,t){return n=>n===zr?e:n===Wr||n===Kr?Object.assign(Object.create(e),{id:n}):Object.assign(Object.create(t),Ul(n))}function Xo(e,t,n,s){const o=ei(n,s,Lr,[],Pr);if(void 0!==o.timeZone){const s=n.F(o),i=ni(o),r=e(o.timeZone);return{epochNanoseconds:Xn(t(r),{...s,...i},void 0!==o.offset?Ms(o.offset):void 0),timeZone:r}}return{...n.F(o),...pa}}function ei(e,t,n,s=[],o=[]){return ti(t,[...e.fields(n),...o].sort(),s)}function ti(e,t,n,s=!n){const o={};let i,r=0;for(const s of t){if(s===i)throw new RangeError(Ti(s));if("constructor"===s||"__proto__"===s)throw new RangeError(Pi(s));let t=e[s];if(void 0!==t)r=1,ql[s]&&(t=ql[s](t,s)),o[s]=t;else if(n){if(n.includes(s))throw new TypeError(Ii(s));o[s]=Hr[s]}i=s}if(s&&!r)throw new TypeError(Oi(t));return o}function ni(e,t){return Ut(Yl({...Hr,...e}),t)}function si(e,t,n,s,o){t=ye(n=e.fields(n),t),s=ti(s,o=e.fields(o),[]);let i=e.k(t,s);return i=ti(i,[...n,...o].sort(),[]),e.F(i)}function oi(e,t){const n=Oo(e),s=Jr[e.id||""]||{};let{era:o,eraYear:i,year:r}=t;if(void 0!==o||void 0!==i){if(void 0===o||void 0===i)throw new TypeError(Di);if(!n)throw new RangeError(ji);const e=n[s[o]||o];if(void 0===e)throw new RangeError(Fi(o));const t=To(i,e);if(void 0!==r&&r!==t)throw new RangeError(Ui);r=t}else if(void 0===r)throw new TypeError(Li(n));return r}function ii(e,t,n,s){let{month:o,monthCode:i}=t;if(void 0!==i){const t=((e,t,n,s)=>{const o=e.L(n),[i,r]=ko(t);let a=Io(i,r,o);if(r){const t=Mo(e);if(void 0===t)throw new RangeError(zi);if(t>0){if(a>t)throw new RangeError(zi);if(void 0===o){if(1===s)throw new RangeError(zi);a--}}else{if(a!==-t)throw new RangeError(zi);if(void 0===o&&1===s)throw new RangeError(zi)}}return a})(e,i,n,s);if(void 0!==o&&o!==t)throw new RangeError(Vi);o=t,s=1}else if(void 0===o)throw new TypeError(Hi);return le("month",o,1,e.B(n),s)}function ri(e,t,n,s,o){return ae(t,"day",1,e.U(s,n),o)}function ai(e,t,n,s){let o=0;const i=[];for(const e of n)void 0!==t[e]?o=1:i.push(e);if(Object.assign(e,t),o)for(const t of s||i)delete e[t]}function li(e){const t=Jl(e.calendar),[n,s,o]=t.v(e),[i,r]=t.q(n,s);return{year:n,monthCode:Ro(i,r),day:o}}function ci(e,t){return sn(pl(t,e))}function di(e,t){return on(pl(t,e))}function ui(e,t){return ln(pl(t,e))}function mi(e,t,n){const s=new Set(n);return(o,i)=>{const r=n&&be(o,n);if(!be(o=((e,t)=>{const n={};for(const s in t)e.has(s)||(n[s]=t[s]);return n})(s,o),e)){if(i&&r)throw new TypeError("Invalid formatting options");o={...t,...o}}return n&&(o.timeZone=ll,["full","long"].includes(o.J)&&(o.J="medium")),o}}function pi(e,t=hi,n=0){const[s,,,o]=e;return(i,r=kc,...a)=>{const l=t(o&&o(...a),i,r,s,n),c=l.resolvedOptions();return[l,...gi(e,c,a)]}}function hi(e,t,n,s,o){if(n=s(n,o),e){if(void 0!==n.timeZone)throw new TypeError(dr);n.timeZone=e}return new wa(t,n)}function gi(e,t,n){const[,s,o]=e;return n.map(e=>(e.calendar&&((e,t,n)=>{if((n||e!==zr)&&e!==t)throw new RangeError($i)})(e.calendar,t.calendar,o),s(e,t)))}function vi(e,t){return{...e,calendar:t}}function fi(e){const t=_i();return wt(t,e.R(t))}function _i(){return it(Date.now(),yr)}function yi(){return Dc||(Dc=(new wa).resolvedOptions().timeZone)}se.displayName="I18nContext";const bi=(e,t)=>`Non-integer ${e}: ${t}`,wi=(e,t)=>`Non-positive ${e}: ${t}`,Ei=(e,t)=>`Non-finite ${e}: ${t}`,Ai=e=>`Cannot convert bigint to ${e}`,xi=e=>`Invalid bigint: ${e}`,Si="Cannot convert Symbol to string",Ci="Invalid object",ki=(e,t,n,s,o)=>o?ki(e,o[t],o[n],o[s]):Ri(e,t)+`; must be between ${n}-${s}`,Ri=(e,t)=>`Invalid ${e}: ${t}`,Ii=e=>`Missing ${e}`,Pi=e=>`Invalid field ${e}`,Ti=e=>`Duplicate field ${e}`,Oi=e=>"No valid fields: "+e.join(),Mi=(e,t,n)=>Ri(e,t)+"; must be "+Object.keys(n).join(),Ni="Invalid calling context",ji="Forbidden era/eraYear",Di="Mismatching era/eraYear",Ui="Mismatching year/eraYear",Fi=e=>`Invalid era: ${e}`,Li=e=>"Missing year"+(e?"/era/eraYear":""),Bi=e=>`Invalid monthCode: ${e}`,Vi="Mismatching month/monthCode",Hi="Missing month/monthCode",zi="Invalid leap month",Wi="Invalid protocol results",Ki=e=>Ri("Calendar",e),$i="Mismatching Calendars",Ji=e=>Ri("TimeZone",e),Gi="Mismatching TimeZones",qi="Forbidden ICU TimeZone",Yi="Out-of-bounds offset",Zi="Out-of-bounds TimeZone gap",Qi="Invalid TimeZone offset",Xi="Ambiguous offset",er="Out-of-bounds date",tr="Out-of-bounds duration",nr="Cannot mix duration signs",sr="Missing relativeTo",or="Cannot use large units",ir="Required smallestUnit or largestUnit",rr="smallestUnit > largestUnit",ar=e=>`Cannot parse: ${e}`,lr=e=>`Invalid substring: ${e}`,cr="Mismatching types for formatting",dr="Cannot specify TimeZone",ur=Ae(fe,(e,t)=>t),mr=Ae(fe,(e,t,n)=>n),pr=Ae(Ce,2),hr={nanosecond:0,microsecond:1,millisecond:2,second:3,minute:4,hour:5,day:6,week:7,month:8,year:9},gr=Object.keys(hr),vr=864e5,fr=1e3,_r=1e3,yr=1e6,br=1e9,wr=6e10,Er=36e11,Ar=864e11,xr=[1,_r,yr,br,wr,Er,Ar],Sr=gr.slice(0,6),Cr=Se(Sr),kr=["offset"],Rr=["timeZone"],Ir=Sr.concat(kr),Pr=Ir.concat(Rr),Tr=["era","eraYear"],Or=Tr.concat(["year"]),Mr=["year"],Nr=["monthCode"],jr=["month"].concat(Nr),Dr=["day"],Ur=jr.concat(Mr),Fr=Nr.concat(Mr),Lr=Dr.concat(Ur),Br=Dr.concat(jr),Vr=Dr.concat(Nr),Hr=mr(Sr,0),zr="iso8601",Wr="gregory",Kr="japanese",$r={[Wr]:{"gregory-inverse":-1,gregory:0},[Kr]:{"japanese-inverse":-1,japanese:0,meiji:1867,taisho:1911,showa:1925,heisei:1988,reiwa:2018},ethiopic:{ethioaa:0,ethiopic:5500},coptic:{"coptic-inverse":-1,coptic:0},roc:{"roc-inverse":-1,roc:0},buddhist:{be:0},islamic:{ah:0},indian:{saka:0},persian:{ap:0}},Jr={[Wr]:{bce:"gregory-inverse",ce:"gregory"},[Kr]:{bce:"japanese-inverse",ce:"japanese"},ethiopic:{era0:"ethioaa",era1:"ethiopic"},coptic:{era0:"coptic-inverse",era1:"coptic"},roc:{broc:"roc-inverse",minguo:"roc"}},Gr={chinese:13,dangi:13,hebrew:-6},qr=Ae(He,"string"),Yr=Ae(He,"boolean"),Zr=Ae(He,"number"),Qr=gr.map(e=>e+"s"),Xr=Se(Qr),ea=Qr.slice(0,6),ta=Qr.slice(6),na=ta.slice(1),sa=ur(Qr),oa=mr(Qr,0),ia=mr(ea,0),ra=Ae(Ee,Qr),aa=["isoNanosecond","isoMicrosecond","isoMillisecond","isoSecond","isoMinute","isoHour"],la=["isoDay","isoMonth","isoYear"],ca=aa.concat(la),da=Se(la),ua=Se(aa),ma=Se(ca),pa=mr(ua,0),ha=Ae(Ee,ca),ga=1e8,va=ga*vr,fa=[ga,0],_a=[-ga,0],ya=275760,ba=-271821,wa=Intl.DateTimeFormat,Ea="en-GB",Aa=1970,xa=1972,Sa=12,Ca=yt(1868,9,8),ka=de(Ot,WeakMap),Ra="smallestUnit",Ia="unit",Pa="roundingIncrement",Ta="fractionalSecondDigits",Oa="relativeTo",Ma="direction",Na={constrain:0,reject:1},ja=Object.keys(Na),Da={compatible:0,reject:1,earlier:2,later:3},Ua={reject:0,use:1,prefer:2,ignore:3},Fa={auto:0,never:1,critical:2,always:3},La={auto:0,never:1,critical:2},Ba={auto:0,never:1},Va={floor:0,halfFloor:1,ceil:2,halfCeil:3,trunc:4,halfTrunc:5,expand:6,halfExpand:7,halfEven:8},Ha={previous:-1,next:1},za=Ae(Qt,Ra),Wa=Ae(Qt,"largestUnit"),Ka=Ae(Qt,Ia),$a=Ae(Xt,"overflow",Na),Ja=Ae(Xt,"disambiguation",Da),Ga=Ae(Xt,"offset",Ua),qa=Ae(Xt,"calendarName",Fa),Ya=Ae(Xt,"timeZoneName",La),Za=Ae(Xt,"offset",Ba),Qa=Ae(Xt,"roundingMode",Va),Xa="PlainYearMonth",el="PlainMonthDay",tl="PlainDate",nl="PlainDateTime",sl="PlainTime",ol="ZonedDateTime",il="Instant",rl="Duration",al=[Math.floor,e=>Ne(e)?Math.floor(e):Math.round(e),Math.ceil,e=>Ne(e)?Math.ceil(e):Math.round(e),Math.trunc,e=>Ne(e)?Math.trunc(e)||0:Math.round(e),e=>e<0?Math.floor(e):Math.ceil(e),e=>Math.sign(e)*Math.round(Math.abs(e))||0,e=>Ne(e)?(e=Math.trunc(e)||0)+e%2:Math.round(e)],ll="UTC",cl=5184e3,dl=_t(1847),ul=_t((new Date).getUTCFullYear()+10),ml=/0+$/,pl=de(Qn,WeakMap),hl=2**32-1,gl=de(e=>{const t=Xs(e);return"object"==typeof t?new fl(t):new vl(t||0)});class vl{constructor(e){this.$=e}R(){return this.$}I(e){return(e=>{const t=vt({...e,...pa});if(!t||Math.abs(t[0])>1e8)throw new RangeError(er)})(e),[ft(e,this.$)]}O(){}}class fl{constructor(e){this.nn=(e=>{function t(e){const t=Re(e,i,r),[a,l]=Os(t),c=s(a),d=s(l);return c===d?c:n(o(a,l),c,d,e)}function n(t,n,s,o){let i,r;for(;(void 0===o||void 0===(i=o<t[0]?n:o>=t[1]?s:void 0))&&(r=t[1]-t[0]);){const n=t[0]+Math.floor(r/2);e(n)===s?t[1]=n:t[0]=n+1}return i}const s=de(e),o=de(Ts);let i=dl,r=ul;return{tn(e){const n=t(e-86400),s=t(e+86400),o=e-n,i=e-s;if(n===s)return[o];const r=t(o);return r===t(i)?[e-r]:n>s?[o,i]:[]},rn:t,O(e,t){const a=Re(e,i,r);let[l,c]=Os(a);const d=cl*t,u=t<0?()=>c>i||(i=a,0):()=>l<r||(r=a,0);for(;u();){const i=s(l),r=s(c);if(i!==r){const s=o(l,c);n(s,i,r);const a=s[0];if((ke(a,e)||1)===t)return a}l+=d,c+=d}}}})((e=>t=>{const n=At(e,t*fr);return _t(Lo(n),parseInt(n.month),parseInt(n.day),parseInt(n.hour),parseInt(n.minute),parseInt(n.second))-t})(e))}R(e){return this.nn.rn(ht(e)[0])*br}I(e){const[t,n]=[_t((s=e).isoYear,s.isoMonth,s.isoDay,s.isoHour,s.isoMinute,s.isoSecond),s.isoMillisecond*yr+s.isoMicrosecond*_r+s.isoNanosecond];var s;return this.nn.tn(t).map(e=>ut(et(it(e,br),n)))}O(e,t){const[n,s]=ht(e),o=this.nn.O(n+(t>0||s?1:0),t);if(void 0!==o)return it(o,br)}}const _l="([+-])",yl="(?:[.,](\\d{1,9}))?",bl=`(?:(?:${_l}(\\d{6}))|(\\d{4}))-?(\\d{2})`,wl="(\\d{2})(?::?(\\d{2})(?::?(\\d{2})"+yl+")?)?",El=_l+wl,Al=bl+"-?(\\d{2})(?:[T ]"+wl+"(Z|"+El+")?)?",xl="\\[(!?)([^\\]]*)\\]",Sl=`((?:${xl}){0,9})`,Cl=Gs(bl+Sl),kl=Gs("(?:--)?(\\d{2})-?(\\d{2})"+Sl),Rl=Gs(Al+Sl),Il=Gs("T?"+wl+"(?:"+El+")?"+Sl),Pl=Gs(El),Tl=new RegExp(xl,"g"),Ol=Gs(`${_l}?P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(?:T(?:(\\d+)${yl}H)?(?:(\\d+)${yl}M)?(?:(\\d+)${yl}S)?)?`),Ml=de(e=>new wa(Ea,{timeZone:e,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})),Nl=/^(AC|AE|AG|AR|AS|BE|BS|CA|CN|CS|CT|EA|EC|IE|IS|JS|MI|NE|NS|PL|PN|PR|PS|SS|VS)T$/,jl=/[^\w\/:+-]+/,Dl=/^M(\d{2})(L?)$/,Ul=de(jo),Fl=de(e=>new wa(Ea,{calendar:e,timeZone:ll,era:"short",year:"numeric",month:"short",day:"numeric"})),Ll={P(e,t,n){const s=Ft(n);let o,{years:i,months:r,weeks:a,days:l}=t;if(l+=Cs(t,5)[0],i||r)o=((e,t,n,s,o)=>{let[i,r,a]=e.v(t);if(n){const[t,s]=e.q(i,r);i+=n,r=Io(t,s,e.L(i)),r=le("month",r,1,e.B(i),o)}return s&&([i,r]=e.un(i,r,s)),a=le("day",a,1,e.U(i,r),o),e.p(i,r,a)})(this,e,i,r,s);else{if(!a&&!l)return e;o=gt(e)}if(void 0===o)throw new RangeError(er);return o+=(7*a+l)*vr,ct(Et(o))},N(e,t,n){if(n<=7){let s=0,o=bo({...e,...pa},{...t,...pa});return 7===n&&([s,o]=Te(o,7)),{...oa,weeks:s,days:o}}const s=this.v(e),o=this.v(t);let[i,r,a]=((e,t,n,s,o,i,r)=>{let a=o-t,l=i-n,c=r-s;if(a||l){const d=Math.sign(a||l);let u=e.U(o,i),m=0;if(Math.sign(c)===-d){const s=u;[o,i]=e.un(o,i,-d),a=o-t,l=i-n,u=e.U(o,i),m=d<0?-s:u}if(c=r-Math.min(s,u)+m,a){const[s,r]=e.q(t,n),[c,u]=e.q(o,i);if(l=c-s||Number(u)-Number(r),Math.sign(l)===-d){const n=d<0&&-e.B(o);a=(o-=d)-t,l=i-Io(s,r,e.L(o))+(n||e.B(o))}}}return[a,l,c]})(this,...s,...o);return 8===n&&(r+=this.cn(i,s[0]),i=0),{...oa,years:i,months:r,days:a}},F(e,t){const n=Ft(t),s=oi(this,e),o=ii(this,e,s,n),i=ri(this,e,o,s,n);return on(ct(this.V(s,o,i)),this.id||zr)},K(e,t){const n=Ft(t),s=oi(this,e),o=ii(this,e,s,n);return rn(lt(this.V(s,o,1)),this.id||zr)},_(e,t){const n=Ft(t);let s,o,i,r=void 0!==e.eraYear||void 0!==e.year?oi(this,e):void 0;const a=!this.id;if(void 0===r&&a&&(r=xa),void 0!==r){const t=ii(this,e,r,n);s=ri(this,e,t,r,n);const a=this.L(r);o=Po(t,a),i=t===a}else{if(void 0===e.monthCode)throw new TypeError(Hi);if([o,i]=ko(e.monthCode),this.id&&this.id!==Wr&&this.id!==Kr)if(this.id&&"coptic"===Zo(this.id)&&0===n){const t=i||13!==o?30:6;s=e.day,s=Re(s,1,t)}else if(this.id&&"chinese"===Zo(this.id)&&0===n){const t=!i||1!==o&&9!==o&&10!==o&&11!==o&&12!==o?30:29;s=e.day,s=Re(s,1,t)}else s=e.day;else s=ri(this,e,ii(this,e,xa,n),xa,n)}const l=this.G(o,i,s);if(!l)throw new RangeError("Cannot guess year");const[c,d]=l;return an(ct(this.V(c,d,s)),this.id||zr)},fields(e){return Oo(this)&&e.includes("year")?[...e,...Tr]:e},k(e,t){const n=Object.assign(Object.create(null),e);return ai(n,t,jr),Oo(this)&&(ai(n,t,Or),this.id===Kr&&ai(n,t,Br,Tr)),n},inLeapYear(e){const[t]=this.v(e);return this.sn(t)},monthsInYear(e){const[t]=this.v(e);return this.B(t)},daysInMonth(e){const[t,n]=this.v(e);return this.U(t,n)},daysInYear(e){const[t]=this.v(e);return this.fn(t)},dayOfYear:Co,era(e){return this.hn(e)[0]},eraYear(e){return this.hn(e)[1]},monthCode(e){const[t,n]=this.v(e),[s,o]=this.q(t,n);return Ro(s,o)},dayOfWeek:Pt,daysInWeek:()=>7},Bl={v:xt,hn:Tt,q:St},Vl={dayOfYear:Co,v:xt,p:yt},Hl=Object.assign({},Vl,{weekOfYear:xo,yearOfWeek:So,m(e){function t(e){return(7-e<s?7:0)-e}function n(e){const n=Rt(m+e),s=e||1,o=t(Pe(l+n*s,7));return d=(n+(o-c)*s)/7}const s=this.id?1:4,o=Pt(e),i=this.dayOfYear(e),r=Pe(o-1,7),a=i-1,l=Pe(r-a,7),c=t(l);let d,u=Math.floor((a-c)/7)+1,m=e.isoYear;return u?u>n(0)&&(u=1,m++):(u=n(-1),m--),[u,m,d]}}),zl=Object.assign({},Ll,Hl,{v:xt,hn:Tt,q:St,G(e,t){if(!t)return[xa,e]},sn:It,L(){},B:Ct,cn:e=>e*Sa,U:kt,fn:Rt,V:(e,t,n)=>({isoYear:e,isoMonth:t,isoDay:n}),p:yt,un:(e,t,n)=>(e+=Oe(n,Sa),(t+=Me(n,Sa))<1?(e--,t+=Sa):t>Sa&&(e++,t-=Sa),[e,t]),year:e=>e.isoYear,month:e=>e.isoMonth,day:e=>e.isoDay}),Wl={v:Bo,hn:Jo,q:Ho},Kl={dayOfYear:Co,v:Bo,p:Vo,weekOfYear:xo,yearOfWeek:So,m:()=>[]},$l=Object.assign({},Ll,Kl,{v:Bo,hn:Jo,q:Ho,G(e,t,n){const s=this.id&&"chinese"===Zo(this.id)?((e,t,n)=>{if(t)switch(e){case 1:return 1651;case 2:return n<30?1947:1765;case 3:return n<30?1966:1955;case 4:return n<30?1963:1944;case 5:return n<30?1971:1952;case 6:return n<30?1960:1941;case 7:return n<30?1968:1938;case 8:return n<30?1957:1718;case 9:return 1832;case 10:return 1870;case 11:return 1814;case 12:return 1890}return 1972})(e,t,n):xa;let[o,i,r]=Bo.call(this,{isoYear:s,isoMonth:Sa,isoDay:31});const a=zo.call(this,o),l=i===a;1===(ke(e,Po(i,a))||ke(Number(t),Number(l))||ke(n,r))&&o--;for(let s=0;s<100;s++){const i=o-s,r=zo.call(this,i),a=Io(e,t,r);if(t===(a===r)&&n<=Ko.call(this,i,a))return[i,a]}},sn(e){const t=Wo.call(this,e);return t>Wo.call(this,e-1)&&t>Wo.call(this,e+1)},L:zo,B:$o,cn(e,t){const n=t+e,s=Math.sign(e),o=s<0?-1:0;let i=0;for(let e=t;e!==n;e+=s)i+=$o.call(this,e+o);return i},U:Ko,fn:Wo,V(e,t,n){return Et(Vo.call(this,e,t,n))},p:Vo,un(e,t,n){if(n){if(t+=n,!Number.isSafeInteger(t))throw new RangeError(er);if(n<0)for(;t<1;)t+=$o.call(this,--e);else{let n;for(;t>(n=$o.call(this,e));)t-=n,e++}}return[e,t]},year(e){return this.h(e).year},month(e){const{year:t,o:n}=this.h(e),{u:s}=this.l(t);return s[n]+1},day(e){return this.h(e).day}}),Jl=Qo(Bl,Wl),Gl=Qo(zl,$l),ql={era:$e,eraYear:qe,year:qe,month:Ze,monthCode(e){const t=$e(e);return ko(t),t},day:Ze,...mr(Sr,qe),...mr(Qr,Ye),offset(e){const t=$e(e);return Ms(t),t}},Yl=Ae(_e,Sr,aa),Zl=Ae(_e,aa,Sr),Ql="numeric",Xl=["timeZoneName"],ec={month:Ql,day:Ql},tc={year:Ql,month:Ql},nc=Object.assign({},tc,{day:Ql}),sc={hour:Ql,minute:Ql,second:Ql},oc=Object.assign({},nc,sc),ic=Object.assign({},oc,{timeZoneName:"short"}),rc=Object.keys(tc),ac=Object.keys(ec),lc=Object.keys(nc),cc=Object.keys(sc),dc=["dateStyle"],uc=rc.concat(dc),mc=ac.concat(dc),pc=lc.concat(dc,["weekday"]),hc=cc.concat(["dayPeriod","timeStyle","fractionalSecondDigits"]),gc=pc.concat(hc),vc=Xl.concat(hc),fc=Xl.concat(pc),_c=Xl.concat(["day","weekday"],hc),yc=Xl.concat(["year","weekday"],hc),bc=mi(gc,oc),wc=mi(gc,ic),Ec=mi(gc,oc,Xl),Ac=mi(pc,nc,vc),xc=mi(hc,sc,fc),Sc=mi(uc,tc,_c),Cc=mi(mc,ec,yc),kc={},Rc=new wa(void 0,{calendar:zr}).resolvedOptions().calendar===zr,Ic=[bc,dn],Pc=[wc,dn,0,(e,t)=>{const n=e.timeZone;if(t&&t.timeZone!==n)throw new RangeError(Gi);return n}],Tc=[Ec,gt],Oc=[Ac,gt],Mc=[xc,e=>mt(e)/yr],Nc=[Sc,gt,Rc],jc=[Cc,gt,Rc];let Dc;function Uc(e,t,n,s,o){function i(...e){if(!(this instanceof i))throw new TypeError(Ni);cd(this,t(...e))}function r(e,t){return Object.defineProperties(function(...t){return e.call(this,a(this),...t)},ue(t))}function a(t){const n=ld(t);if(!n||n.branding!==e)throw new TypeError(Ni);return n}return Object.defineProperties(i.prototype,{...pe(ve(r,n)),...me(ve(r,s)),...he("Temporal."+e)}),Object.defineProperties(i,{...me(o),...ue(e)}),[i,e=>{const t=Object.create(i.prototype);return cd(t,e),t},a]}function Fc(e){if(ld(e)||void 0!==e.calendar||void 0!==e.timeZone)throw new TypeError("Invalid bag");return e}function Lc(e){return Bc(e)||zr}function Bc(e){const{calendar:t}=e;if(void 0!==t)return Vc(t)}function Vc(e){if(ce(e)){const{calendar:t}=ld(e)||{};if(!t)throw new TypeError(Ki(e));return t}return Yo(function(e){const t=Bs(e)||Vs(e)||Hs(e);return t?t.calendar:e}(qr(e)))}function Hc(e){const t={};for(const n in e)t[n]=e=>{const{calendar:t}=e;return Gl(t)[n](e)};return t}function zc(){throw new TypeError("Cannot use valueOf")}function Wc(e){if(ce(e)){const{timeZone:t}=ld(e)||{};if(!t)throw new TypeError(Ji(e));return t}return Zs(function(e){const t=Bs(e);return t&&(t.timeZone||t.j&&ll||t.offset)||e}(qr(e)))}function Kc(e){if(ce(e)){const t=ld(e);return t&&t.branding===rl?t:function(e){const t=ti(e,Xr);return cn(xs({...oa,...t}))}(e)}return function(e){const t=(e=>{const t=Ol.exec(e);return t?(e=>{function t(e,t,i){let r=0,a=0;if(i&&([r,o]=Ie(o,xr[i])),void 0!==e){if(s)throw new RangeError(lr(e));a=(e=>{const t=parseInt(e);if(!Number.isFinite(t))throw new RangeError(lr(e));return t})(e),n=1,t&&(o=Js(t)*(xr[i]/br),s=1)}return r+a}let n=0,s=0,o=0,i={...ge(Qr,[t(e[2]),t(e[3]),t(e[4]),t(e[5]),t(e[6],e[7],5),t(e[8],e[9],4),t(e[10],e[11],3)]),...De(o,2,Qr)};if(!n)throw new RangeError(Oi(Qr));return qs(e[1])<0&&(i=Es(i)),i})(t):void 0})(qr(e));if(!t)throw new RangeError(ar(e));return cn(xs(t))}(e)}function $c(e){if(void 0!==e){if(ce(e)){const t=ld(e)||{};switch(t.branding){case ol:case tl:return t;case nl:return on(t)}const n=Lc(e);return{...Xo(Wc,gl,Gl(n),e),calendar:n}}return function(e){const t=Bs(qr(e));if(!t)throw new RangeError(ar(e));if(t.timeZone)return Ds(t,t.offset?Ms(t.offset):void 0);if(t.j)throw new RangeError(ar(e));return Fs(t)}(e)}}function Jc(e,t){if(ce(e)){const n=ld(e)||{};switch(n.branding){case sl:return Ft(t),n;case nl:return Ft(t),ln(n);case ol:return Ft(t),ui(gl,n)}return function(e,t){return ln(ni(ti(e,Cr,[],1),Ft(t)))}(e,t)}const n=function(e){let t,n=(e=>{const t=Il.exec(e);return t?($s(t[10]),Ks(t)):void 0})(qr(e));if(!n){if(n=Bs(e),!n)throw new RangeError(ar(e));if(!n.C)throw new RangeError(ar(e));if(n.j)throw new RangeError(lr("Z"));js(n)}if((t=Vs(e))&&jt(t))throw new RangeError(ar(e));if((t=Hs(e))&&jt(t))throw new RangeError(ar(e));return ln(Ut(n,1))}(e);return Ft(t),n}function Gc(e){return void 0===e?void 0:Jc(e)}function qc(e,t){if(ce(e)){const n=ld(e)||{};switch(n.branding){case nl:return Ft(t),n;case tl:return Ft(t),sn({...n,...pa});case ol:return Ft(t),ci(gl,n)}return function(e,t,n){const s=ei(e,t,Lr,[],Sr),o=Ft(n);return sn(dt({...e.F(s,Zt(o)),...ni(s,o)}))}(Gl(Lc(e)),e,t)}const n=function(e){const t=Bs(qr(e));if(!t||t.j)throw new RangeError(ar(e));return sn(Us(t))}(e);return Ft(t),n}function Yc(e,t){if(ce(e)){const n=ld(e);if(n&&n.branding===el)return Ft(t),n;const s=Bc(e);return function(e,t,n,s){const o=ei(e,n,Lr,Dr);return t&&void 0!==o.month&&void 0===o.monthCode&&void 0===o.year&&(o.year=xa),e._(o,s)}(Gl(s||zr),!s,e,t)}const n=function(e,t){const n=Hs(qr(t));if(n)return js(n),an(Nt(n));const s=Ns(t,0,1),{calendar:o}=s,i=e(o),[r,a,l]=i.v(s),[c,d]=i.q(r,a),[u,m]=i.G(c,d,l);return an(ct(i.V(u,m,l)),o)}(Gl,e);return Ft(t),n}function Zc(e,t){if(ce(e)){const n=ld(e);return n&&n.branding===Xa?(Ft(t),n):function(e,t,n,s){const o=ei(e,t,Ur,s);return e.K(o,n)}(Gl(Lc(e)),e,t)}const n=function(e,t){const n=Vs(qr(t));if(n)return js(n),rn(lt(Nt(n)));const s=Ns(t,1);return rn(us(e(s.calendar),s))}(Gl,e);return Ft(t),n}function Qc(e,t){if(ce(e)){const n=ld(e)||{};switch(n.branding){case tl:return Ft(t),n;case nl:return Ft(t),on(n);case ol:return Ft(t),di(gl,n)}return function(e,t,n,s=[]){const o=ei(e,t,Lr,s);return e.F(o,n)}(Gl(Lc(e)),e,t)}const n=Ns(e);return Ft(t),n}function Xc(e,t){if(ce(e)){const n=ld(e);if(n&&n.branding===ol)return Lt(t),n;const s=Lc(e);return function(e,t,n,s,o,i){const r=ei(n,o,Lr,Rr,Pr),a=e(r.timeZone),[l,c,d]=Lt(i),u=n.F(r,Zt(l)),m=ni(r,l);return nn(Xn(t(a),{...u,...m},void 0!==r.offset?Ms(r.offset):void 0,c,d),a,s)}(Wc,gl,Gl(s),s,e,t)}return function(e,t){const n=Bs(qr(e));if(!n||!n.timeZone)throw new RangeError(ar(e));const{offset:s}=n,o=s?Ms(s):void 0,[,i,r]=Lt(t);return Ds(n,o,i,r)}(e,t)}function ed(e){return ve(e=>t=>e(td(t)),e)}function td(e){return pl(e,gl)}function nd(e){if(ce(e)){const t=ld(e);if(t)switch(t.branding){case il:return t;case ol:return tn(t.epochNanoseconds)}}return function(e){const t=Bs(e=$e(e));if(!t)throw new RangeError(ar(e));let n;if(t.j)n=0;else{if(!t.offset)throw new RangeError(ar(e));n=Ms(t.offset)}return t.timeZone&&zs(t.timeZone,1),tn(ft(Mt(t),n))}(e)}function sd(){function e(e,n){return new t(e,n)}function t(e,t=Object.create(null)){Gd.set(this,((e,t)=>{const n=new wa(e,t),s=n.resolvedOptions(),o=s.locale,i=ye(Object.keys(t),s),r=de(rd),a=(e,...t)=>{if(e){if(2!==t.length)throw new TypeError(cr);for(const e of t)if(void 0===e)throw new TypeError(cr)}e||void 0!==t[0]||(t=[]);const s=t.map(e=>ld(e)||Number(e));let a,l=0;for(const e of s){const t="object"==typeof e?e.branding:void 0;if(l++&&t!==a)throw new TypeError(cr);a=t}return a?r(a)(o,i,...s):[n,...s]};return a.X=n,a})(e,t))}const n=wa.prototype,s=Object.getOwnPropertyDescriptors(n),o=Object.getOwnPropertyDescriptors(wa);for(const t in s){const n=s[t],o=t.startsWith("format")&&od(t);"function"==typeof n.value?n.value="constructor"===t?e:o||id(t):o&&(n.get=function(){if(!Gd.has(this))throw new TypeError(Ni);return(...e)=>o.apply(this,e)},Object.defineProperties(n.get,ue(`get ${t}`)))}return o.prototype.value=t.prototype=Object.create({},s),Object.defineProperties(e,o),e}function od(e){return Object.defineProperties(function(...t){const n=Gd.get(this),[s,...o]=n(e.includes("Range"),...t);return s[e](...o)},ue(e))}function id(e){return Object.defineProperties(function(...t){return Gd.get(this).X[e](...t)},ue(e))}function rd(e){const t=Ad[e];if(!t)throw new TypeError((e=>`Cannot format ${e}`)(e));return pi(t,de(hi),1)}const ad=new WeakMap,ld=ad.get.bind(ad),cd=ad.set.bind(ad),dd={era:function(e){if(void 0!==e)return qr(e)},eraYear:Ue,year:Le,month:Fe,daysInMonth:Fe,daysInYear:Fe,inLeapYear:Yr,monthsInYear:Fe},ud={monthCode:qr},md={day:Fe},pd={dayOfWeek:Fe,dayOfYear:Fe,weekOfYear:function(e){if(void 0!==e)return Fe(e)},yearOfWeek:Ue,daysInWeek:Fe},hd=Hc(Object.assign({},dd,ud,md,pd)),gd=Hc({...dd,...ud}),vd=Hc({...ud,...md}),fd={calendarId:e=>e.calendar},_d=fe(e=>t=>t[e],Qr.concat("sign")),yd=fe((e,t)=>e=>e[aa[t]],Sr),bd={epochMilliseconds:dn,epochNanoseconds:function(e){return((e,t=1)=>{const[n,s]=e,o=Math.floor(s/t),i=Ar/t;return BigInt(n)*BigInt(i)+BigInt(o)})(e.epochNanoseconds)}},[wd,Ed]=Uc(rl,function(e=0,t=0,n=0,s=0,o=0,i=0,r=0,a=0,l=0,c=0){return cn(xs(ve(Ye,ge(Qr,[e,t,n,s,o,i,r,a,l,c]))))},{..._d,blank:function(e){return!e.sign}},{with:(e,t)=>Ed(function(e,t){return cn((n=e,s=t,xs({...n,...ti(s,Xr)})));var n,s}(e,t)),negated:e=>Ed(ws(e)),abs:e=>Ed(function(e){return-1===e.sign?ws(e):e}(e)),add:(e,t,n)=>Ed(bs($c,Gl,gl,0,e,Kc(t),n)),subtract:(e,t,n)=>Ed(bs($c,Gl,gl,1,e,Kc(t),n)),round:(e,t)=>Ed(function(e,t,n,s,o){const i=Ps(s),[r,a,l,c,d]=((e,t,n)=>{e=Yt(e,Ra);let s=Wa(e);const o=n(e[Oa]);let i=$t(e);const r=Qa(e,7);let a=za(e);if(void 0===s&&void 0===a)throw new RangeError(ir);if(null==a&&(a=0),null==s&&(s=Math.max(a,t)),en(s,a),i=Jt(i,a,1),i>1&&a>5&&s!==a)throw new RangeError("For calendar units with roundingIncrement > 1, use largestUnit = smallestUnit");return[s,a,i,r,o]})(o,i,e),u=Math.max(i,r);if(!d&&u<=6)return cn(xs(((e,t,n,s,o)=>{const i=xn(Cs(e),n,s,o);return{...oa,...ks(i,t)}})(s,r,a,l,c)));if(!_s(d)&&!s.sign)return s;if(!d)throw new RangeError(sr);const[m,p,h]=hs(t,n,d),g=gs(h),v=vs(h),f=fs(h),_=v(p,m,s);_s(d)||(dt(m),dt(_));let y=f(p,m,_,r);const b=s.sign,w=As(y);if(b&&w&&b!==w)throw new RangeError(Wi);return y=An(y,g(_),r,a,l,c,p,m,g,v),cn(y)}($c,Gl,gl,e,t)),total:(e,t)=>function(e,t,n,s,o){const i=Ps(s),[r,a]=((e,t)=>{const n=t((e=Yt(e,Ia))[Oa]);let s=Ka(e);return s=Be(Ia,s),[s,n]})(o,e),l=Math.max(r,i);if(!a&&ys(l,a))return mn(s,r);if(!a)throw new RangeError(sr);if(!s.sign)return 0;const[c,d,u]=hs(t,n,a),m=gs(u),p=vs(u),h=fs(u),g=p(d,c,s);_s(a)||(dt(c),dt(g));const v=h(d,c,g,r);return ys(r,a)?mn(v,r):((e,t,n,s,o,i,r)=>{const a=As(e),[l,c]=pn(s,ra(n,e),n,a,o,i,r),d=hn(t,l,c);return e[Qr[n]]+d*a})(v,m(g),r,d,c,m,p)}($c,Gl,gl,e,t),toLocaleString(e,t,n){return Intl.DurationFormat?new Intl.DurationFormat(t,n).format(this):Fn(e)},toString:Fn,toJSON:e=>Fn(e),valueOf:zc},{from:e=>Ed(Kc(e)),compare:(e,t,n)=>function(e,t,n,s,o,i){const r=e(qt(i).relativeTo),a=Math.max(Ps(s),Ps(o));if(we(Qr,s,o))return 0;if(ys(a,r))return nt(Cs(s),Cs(o));if(!r)throw new RangeError(sr);const[l,c,d]=hs(t,n,r),u=gs(d),m=vs(d);return nt(u(m(c,l,s)),u(m(c,l,o)))}($c,Gl,gl,Kc(e),Kc(t),n)}),Ad={Instant:Ic,PlainDateTime:Tc,PlainDate:Oc,PlainTime:Mc,PlainYearMonth:Nc,PlainMonthDay:jc},xd=pi(Ic),Sd=pi(Pc),Cd=pi(Tc),kd=pi(Oc),Rd=pi(Mc),Id=pi(Nc),Pd=pi(jc),[Td,Od]=Uc(sl,function(e=0,t=0,n=0,s=0,o=0,i=0){return ln(Ut(ve(qe,ge(aa,[e,t,n,s,o,i])),1))},yd,{with(e,t,n){return Od(function(e,t,n){return ln((s=t,o=n,ni({...ye(Cr,e),...ti(s,Cr)},Ft(o))));var s,o}(this,Fc(t),n))},add:(e,t)=>Od(as(0,e,Kc(t))),subtract:(e,t)=>Od(as(1,e,Kc(t))),until:(e,t,n)=>Ed(po(0,e,Jc(t),n)),since:(e,t,n)=>Ed(po(1,e,Jc(t),n)),round:(e,t)=>Od(function(e,t){const[n,s,o]=Vt(t,5);var i;return ln((i=o,fn(e,yn(n,s),i)[0]))}(e,t)),equals:(e,t)=>function(e,t){return!oo(e,t)}(e,Jc(t)),toLocaleString(e,t,n){const[s,o]=Rd(t,n,e);return s.format(o)},toString:Un,toJSON:e=>Un(e),valueOf:zc},{from:(e,t)=>Od(Jc(e,t)),compare:(e,t)=>oo(Jc(e),Jc(t))}),[Md,Nd]=Uc(nl,Ae(function(e,t,n,s,o=0,i=0,r=0,a=0,l=0,c=0,d=zr){return sn(dt(Mt(ve(qe,ge(ca,[t,n,s,o,i,r,a,l,c])))),e(d))},qo),{...fd,...hd,...yd},{with:(e,t,n)=>Nd(function(e,t,n,s){const o=e(t.calendar),i=[...o.fields(Lr),...Sr].sort(),r={...li(a=t),hour:a.isoHour,minute:a.isoMinute,second:a.isoSecond,millisecond:a.isoMillisecond,microsecond:a.isoMicrosecond,nanosecond:a.isoNanosecond};var a;const l=ti(n,i),c=Ft(s),d=o.k(r,l),u={...r,...l};return sn(dt({...o.F(d,Zt(c)),...Ut(Yl(u),c)}))}(Gl,e,Fc(t),n)),withCalendar:(e,t)=>Nd(vi(e,Vc(t))),withPlainTime:(e,t)=>Nd(function(e,t=pa){return sn(dt({...e,...t}))}(e,Gc(t))),add:(e,t,n)=>Nd(os(Gl,0,e,Kc(t),n)),subtract:(e,t,n)=>Nd(os(Gl,1,e,Kc(t),n)),until:(e,t,n)=>Ed(lo(Gl,0,e,qc(t),n)),since:(e,t,n)=>Ed(lo(Gl,1,e,qc(t),n)),round:(e,t)=>Nd(function(e,t){return sn(gn(e,...Vt(t)),e.calendar)}(e,t)),equals:(e,t)=>function(e,t){return!no(e,t)&&e.calendar===t.calendar}(e,qc(t)),toZonedDateTime:(e,t,n)=>Hd(function(e,t,n,s){return nn(ut(((e,t,n,s)=>{const o=Ja(qt(s));return es(e(t),n,o)})(e,n,t,s)),n,t.calendar)}(gl,e,Wc(t),n)),toPlainDate:e=>Bd(on(e)),toPlainTime:e=>Od(ln(e)),toLocaleString(e,t,n){const[s,o]=Cd(t,n,e);return s.format(o)},toString:Mn,toJSON:e=>Mn(e),valueOf:zc},{from:(e,t)=>Nd(qc(e,t)),compare:(e,t)=>no(qc(e),qc(t))}),[jd,Dd]=Uc(el,Ae(function(e,t,n,s=zr,o=xa){const i=qe(t),r=qe(n),a=e(s);return an(ct(Nt({isoYear:qe(o),isoMonth:i,isoDay:r})),a)},qo),{...fd,...vd},{with:(e,t,n)=>Dd(function(e,t,n,s){const o=e(t.calendar),i=o.fields(Lr).sort(),r=(e=>{const t=Jl(e.calendar),[n,s,o]=t.v(e),[i,r]=t.q(n,s);return{monthCode:Ro(i,r),day:o}})(t),a=ti(n,i),l=o.k(r,a);return o._(l,s)}(Gl,e,Fc(t),n)),equals:(e,t)=>function(e,t){return!so(e,t)&&e.calendar===t.calendar}(e,Yc(t)),toPlainDate(e,t){return Bd(function(e,t,n,s){return si(e(t.calendar),n,Vr,Ve(s),Mr)}(Gl,e,this,t))},toLocaleString(e,t,n){const[s,o]=Pd(t,n,e);return s.format(o)},toString:Dn,toJSON:e=>Dn(e),valueOf:zc},{from:(e,t)=>Dd(Yc(e,t))}),[Ud,Fd]=Uc(Xa,Ae(function(e,t,n,s=zr,o=1){const i=qe(t),r=qe(n),a=e(s);return rn(lt(Nt({isoYear:i,isoMonth:r,isoDay:qe(o)})),a)},qo),{...fd,...gd},{with:(e,t,n)=>Fd(function(e,t,n,s){const o=e(t.calendar),i=o.fields(Ur).sort(),r=(e=>{const t=Jl(e.calendar),[n,s]=t.v(e),[o,i]=t.q(n,s);return{year:n,monthCode:Ro(o,i)}})(t),a=ti(n,i),l=o.k(r,a);return o.K(l,s)}(Gl,e,Fc(t),n)),add:(e,t,n)=>Fd(rs(Gl,0,e,Kc(t),n)),subtract:(e,t,n)=>Fd(rs(Gl,1,e,Kc(t),n)),until:(e,t,n)=>Ed(uo(Gl,0,e,Zc(t),n)),since:(e,t,n)=>Ed(uo(Gl,1,e,Zc(t),n)),equals:(e,t)=>function(e,t){return!so(e,t)&&e.calendar===t.calendar}(e,Zc(t)),toPlainDate(e,t){return Bd(function(e,t,n,s){return si(e(t.calendar),n,Fr,Ve(s),Dr)}(Gl,e,this,t))},toLocaleString(e,t,n){const[s,o]=Id(t,n,e);return s.format(o)},toString:jn,toJSON:e=>jn(e),valueOf:zc},{from:(e,t)=>Fd(Zc(e,t)),compare:(e,t)=>so(Zc(e),Zc(t))}),[Ld,Bd]=Uc(tl,Ae(function(e,t,n,s,o=zr){return on(ct(Nt(ve(qe,{isoYear:t,isoMonth:n,isoDay:s}))),e(o))},qo),{...fd,...hd},{with:(e,t,n)=>Bd(function(e,t,n,s){const o=e(t.calendar),i=o.fields(Lr).sort(),r=li(t),a=ti(n,i),l=o.k(r,a);return o.F(l,s)}(Gl,e,Fc(t),n)),withCalendar:(e,t)=>Bd(vi(e,Vc(t))),add:(e,t,n)=>Bd(is(Gl,0,e,Kc(t),n)),subtract:(e,t,n)=>Bd(is(Gl,1,e,Kc(t),n)),until:(e,t,n)=>Ed(co(Gl,0,e,Qc(t),n)),since:(e,t,n)=>Ed(co(Gl,1,e,Qc(t),n)),equals:(e,t)=>function(e,t){return!so(e,t)&&e.calendar===t.calendar}(e,Qc(t)),toZonedDateTime(e,t){const n=ce(t)?t:{timeZone:t};return Hd(function(e,t,n,s,o){const i=e(o.timeZone),r=o.plainTime,a=void 0!==r?t(r):void 0,l=n(i);let c;return c=a?es(l,{...s,...a}):ts(l,{...s,...pa}),nn(c,i,s.calendar)}(Wc,Jc,gl,e,n))},toPlainDateTime:(e,t)=>Nd(function(e,t=pa){return sn(dt({...e,...t}))}(e,Gc(t))),toPlainYearMonth(e){return Fd(function(e,t,n){return((e,t)=>{const n=ei(e,t,Fr);return e.K(n,void 0)})(e(t.calendar),n)}(Gl,e,this))},toPlainMonthDay(e){return Dd(function(e,t,n){return((e,t)=>{const n=ei(e,t,Vr);return e._(n)})(e(t.calendar),n)}(Gl,e,this))},toLocaleString(e,t,n){const[s,o]=kd(t,n,e);return s.format(o)},toString:Nn,toJSON:e=>Nn(e),valueOf:zc},{from:(e,t)=>Bd(Qc(e,t)),compare:(e,t)=>so(Qc(e),Qc(t))}),[Vd,Hd]=Uc(ol,Ae(function(e,t,n,s,o=zr){return nn(ut(ot(Je(n))),t(s),e(o))},qo,function(e){return Zs(qr(e))}),{...bd,...fd,...ed(hd),...ed(yd),offset:e=>$n(td(e).offsetNanoseconds),offsetNanoseconds:e=>td(e).offsetNanoseconds,timeZoneId:e=>e.timeZone,hoursInDay:e=>function(e,t){const n=e(t.timeZone),s=pl(t,n),[o,i]=bn(s),r=rt(tt(ts(n,o),ts(n,i)),Er,1);if(r<=0)throw new RangeError(Wi);return r}(gl,e)},{with:(e,t,n)=>Hd(function(e,t,n,s,o){const{calendar:i,timeZone:r}=n,a=e(i),l=t(r),c=[...a.fields(Lr),...Ir].sort(),d=(e=>{const t=pl(e,gl),n=$n(t.offsetNanoseconds),s=Jl(e.calendar),[o,i,r]=s.v(t),[a,l]=s.q(o,i),c=Ro(a,l);return{...Zl(t),year:o,monthCode:c,day:r,offset:n}})(n),u=ti(s,c),m=a.k(d,u),p={...d,...u},[h,g,v]=Lt(o,2);return nn(Xn(l,{...a.F(m,Zt(h)),...Ut(Yl(p),h)},Ms(p.offset),g,v),r,i)}(Gl,gl,e,Fc(t),n)),withCalendar:(e,t)=>Hd(vi(e,Vc(t))),withTimeZone:(e,t)=>Hd(function(e,t){return{...e,timeZone:t}}(e,Wc(t))),withPlainTime:(e,t)=>Hd(function(e,t,n){const s=t.timeZone,o=e(s),i={...pl(t,o),...n||pa};let r;return r=n?Xn(o,i,i.offsetNanoseconds,2):ts(o,i),nn(r,s,t.calendar)}(gl,e,Gc(t))),add:(e,t,n)=>Hd(ss(Gl,gl,0,e,Kc(t),n)),subtract:(e,t,n)=>Hd(ss(Gl,gl,1,e,Kc(t),n)),until:(e,t,n)=>Ed(cn(ao(Gl,gl,0,e,Xc(t),n))),since:(e,t,n)=>Ed(cn(ao(Gl,gl,1,e,Xc(t),n))),round:(e,t)=>Hd(function(e,t,n){let{epochNanoseconds:s,timeZone:o,calendar:i}=t;const[r,a,l]=Vt(n);if(0===r&&1===a)return t;const c=e(o);if(6===r)s=((e,t,n,s)=>{const o=pl(n,t),[i,r]=e(o),a=n.epochNanoseconds,l=ts(t,i),c=ts(t,r);if(st(a,l,c))throw new RangeError(Wi);return kn(hn(a,l,c),s)?c:l})(bn,c,t,l);else{const e=c.R(s);s=Xn(c,gn(wt(s,e),r,a,l),e,2,0,1)}return nn(s,o,i)}(gl,e,t)),startOfDay:e=>Hd(function(e,t){const{timeZone:n,calendar:s}=t;var o,i;return nn((o=wn,ts(i=e(n),o(pl(t,i)))),n,s)}(gl,e)),equals:(e,t)=>function(e,t){return!to(e,t)&&!!io(e.timeZone,t.timeZone)&&e.calendar===t.calendar}(e,Xc(t)),toInstant:e=>Wd(function(e){return tn(e.epochNanoseconds)}(e)),toPlainDateTime:e=>Nd(ci(gl,e)),toPlainDate:e=>Bd(di(gl,e)),toPlainTime:e=>Od(ui(gl,e)),toLocaleString(e,t,n={}){const[s,o]=Sd(t,n,e);return s.format(o)},toString:(e,t)=>On(gl,e,t),toJSON:e=>On(gl,e),valueOf:zc,getTimeZoneTransition(e,t){const{timeZone:n,epochNanoseconds:s}=e,o=function(e){const t=Yt(e,Ma),n=Xt(Ma,Ha,t,0);if(!n)throw new RangeError(Ri(Ma,n));return n}(t),i=gl(n).O(s,o);return i?Hd({...e,epochNanoseconds:i}):null}},{from:(e,t)=>Hd(Xc(e,t)),compare:(e,t)=>to(Xc(e),Xc(t))}),[zd,Wd]=Uc(il,function(e){return tn(ut(ot(Je(e))))},bd,{add:(e,t)=>Wd(ns(0,e,Kc(t))),subtract:(e,t)=>Wd(ns(1,e,Kc(t))),until:(e,t,n)=>Ed(ro(0,e,nd(t),n)),since:(e,t,n)=>Ed(ro(1,e,nd(t),n)),round:(e,t)=>Wd(function(e,t){const[n,s,o]=Vt(t,5,1);return tn(xn(e.epochNanoseconds,n,s,o,1))}(e,t)),equals:(e,t)=>function(e,t){return!eo(e,t)}(e,nd(t)),toZonedDateTimeISO:(e,t)=>Hd(function(e,t,n=zr){return nn(e.epochNanoseconds,t,n)}(e,Wc(t))),toLocaleString(e,t,n){const[s,o]=xd(t,n,e);return s.format(o)},toString:(e,t)=>Tn(Wc,gl,e,t),toJSON:e=>Tn(Wc,gl,e),valueOf:zc},{from:e=>Wd(nd(e)),fromEpochMilliseconds:e=>Wd(function(e){return tn(ut(it(Ye(e),yr)))}(e)),fromEpochNanoseconds:e=>Wd(function(e){return tn(ut(ot(Je(e))))}(e)),compare:(e,t)=>eo(nd(e),nd(t))}),Kd=Object.defineProperties({},{...he("Temporal.Now"),...me({timeZoneId:()=>yi(),instant:()=>Wd(tn(_i())),zonedDateTimeISO:(e=yi())=>Hd(nn(_i(),Wc(e),zr)),plainDateTimeISO:(e=yi())=>Nd(sn(fi(gl(Wc(e))),zr)),plainDateISO:(e=yi())=>Bd(on(fi(gl(Wc(e))),zr)),plainTimeISO:(e=yi())=>Od(ln(fi(gl(Wc(e)))))})}),$d=Object.defineProperties({},{...he("Temporal"),...me({PlainYearMonth:Ud,PlainMonthDay:jd,PlainDate:Ld,PlainTime:Td,PlainDateTime:Md,ZonedDateTime:Vd,Instant:zd,Duration:wd,Now:Kd})}),Jd=sd(),Gd=new WeakMap;function qd(e){const t=e<0;e=Math.abs(e);const n=Math.floor(e/3600).toFixed(0).padStart(2,"0");let s="";return"00"!==n&&(s+=`${n}:`),s+=`${Math.floor(e%3600/60).toFixed(0).padStart(2,"0")}:${Math.floor(e%3600%60).toFixed(0).padStart(2,"0")}`,t&&(s="-"+s),s}function Yd({seconds:e,className:t,...n}){const o=(0,s.useMemo)(()=>Math.floor(e),[e]),i=(0,s.useMemo)(()=>function(e){if(!isNaN(e))return new $d.Duration(0,0,0,0,0,0,Math.round(e)).round({smallestUnit:"seconds",largestUnit:"hours"}).toString()}(o),[o]);return s.createElement("time",{dateTime:i,className:D("mx_Clock",t),...n},qd(e))}Object.create(Intl),me({DateTimeFormat:Jd});var Zd="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,Qd="object"==typeof self&&self&&self.Object===Object&&self,Xd=Zd||Qd||Function("return this")(),eu=Xd.Symbol,tu=Object.prototype,nu=tu.hasOwnProperty,su=tu.toString,ou=eu?eu.toStringTag:void 0;var iu=Object.prototype.toString;var ru=eu?eu.toStringTag:void 0;function au(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ru&&ru in Object(e)?function(e){var t=nu.call(e,ou),n=e[ou];try{e[ou]=void 0;var s=!0}catch{}var o=su.call(e);return s&&(t?e[ou]=n:delete e[ou]),o}(e):function(e){return iu.call(e)}(e)}function lu(e){return null!=e&&"object"==typeof e}function cu(e){return"symbol"==typeof e||lu(e)&&"[object Symbol]"==au(e)}function du(e,t){for(var n=-1,s=null==e?0:e.length,o=Array(s);++n<s;)o[n]=t(e[n],n,e);return o}var uu=Array.isArray,mu=eu?eu.prototype:void 0,pu=mu?mu.toString:void 0;function hu(e){if("string"==typeof e)return e;if(uu(e))return du(e,hu)+"";if(cu(e))return pu?pu.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var gu=/\s/;var vu=/^\s+/;function fu(e){return e&&e.slice(0,function(e){for(var t=e.length;t--&&gu.test(e.charAt(t)););return t}(e)+1).replace(vu,"")}function _u(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var yu=/^[-+]0x[0-9a-f]+$/i,bu=/^0b[01]+$/i,wu=/^0o[0-7]+$/i,Eu=parseInt;function Au(e){if("number"==typeof e)return e;if(cu(e))return NaN;if(_u(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=_u(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=fu(e);var n=bu.test(e);return n||wu.test(e)?Eu(e.slice(2),n?2:8):yu.test(e)?NaN:+e}function xu(e){if(!_u(e))return!1;var t=au(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var Su=Xd["__core-js_shared__"],Cu=function(){var e=/[^.]+$/.exec(Su&&Su.keys&&Su.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var ku=Function.prototype.toString;function Ru(e){if(null!=e){try{return ku.call(e)}catch{}try{return e+""}catch{}}return""}var Iu=/^\[object .+?Constructor\]$/,Pu=Function.prototype,Tu=Object.prototype,Ou=Pu.toString,Mu=Tu.hasOwnProperty,Nu=RegExp("^"+Ou.call(Mu).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ju(e){return!(!_u(e)||function(e){return!!Cu&&Cu in e}(e))&&(xu(e)?Nu:Iu).test(Ru(e))}function Du(e,t){var n=function(e,t){return e?.[t]}(e,t);return ju(n)?n:void 0}var Uu=Du(Xd,"WeakMap");var Fu=Date.now;function Lu(e){return function(){return e}}var Bu=function(){try{var e=Du(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Vu=Bu?function(e,t){return Bu(e,"toString",{configurable:!0,enumerable:!1,value:Lu(t),writable:!0})}:function(e){return e},Hu=function(e){var t=0,n=0;return function(){var s=Fu(),o=16-(s-n);if(n=s,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(Vu);var zu=/^(?:0|[1-9]\d*)$/;function Wu(e,t){var n=typeof e;return!!(t=t??9007199254740991)&&("number"==n||"symbol"!=n&&zu.test(e))&&e>-1&&e%1==0&&e<t}function Ku(e,t,n){"__proto__"==t&&Bu?Bu(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function $u(e,t){return e===t||e!=e&&t!=t}var Ju=Object.prototype.hasOwnProperty;function Gu(e,t,n){var s=e[t];(!Ju.call(e,t)||!$u(s,n)||void 0===n&&!(t in e))&&Ku(e,t,n)}var qu=Math.max;function Yu(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Zu(e){return null!=e&&Yu(e.length)&&!xu(e)}var Qu=Object.prototype;function Xu(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Qu)}function em(e){return lu(e)&&"[object Arguments]"==au(e)}var tm=Object.prototype,nm=tm.hasOwnProperty,sm=tm.propertyIsEnumerable,om=em(function(){return arguments}())?em:function(e){return lu(e)&&nm.call(e,"callee")&&!sm.call(e,"callee")};var im="object"==typeof exports&&exports&&!exports.nodeType&&exports,rm=im&&"object"==typeof module&&module&&!module.nodeType&&module,am=rm&&rm.exports===im?Xd.Buffer:void 0,lm=(am?am.isBuffer:void 0)||function(){return!1},cm={};function dm(e){return function(t){return e(t)}}cm["[object Float32Array]"]=cm["[object Float64Array]"]=cm["[object Int8Array]"]=cm["[object Int16Array]"]=cm["[object Int32Array]"]=cm["[object Uint8Array]"]=cm["[object Uint8ClampedArray]"]=cm["[object Uint16Array]"]=cm["[object Uint32Array]"]=!0,cm["[object Arguments]"]=cm["[object Array]"]=cm["[object ArrayBuffer]"]=cm["[object Boolean]"]=cm["[object DataView]"]=cm["[object Date]"]=cm["[object Error]"]=cm["[object Function]"]=cm["[object Map]"]=cm["[object Number]"]=cm["[object Object]"]=cm["[object RegExp]"]=cm["[object Set]"]=cm["[object String]"]=cm["[object WeakMap]"]=!1;var um="object"==typeof exports&&exports&&!exports.nodeType&&exports,mm=um&&"object"==typeof module&&module&&!module.nodeType&&module,pm=mm&&mm.exports===um&&Zd.process,hm=function(){try{return mm&&mm.require&&mm.require("util").types||pm&&pm.binding&&pm.binding("util")}catch{}}(),gm=hm&&hm.isTypedArray,vm=gm?dm(gm):function(e){return lu(e)&&Yu(e.length)&&!!cm[au(e)]},fm=Object.prototype.hasOwnProperty;function _m(e,t){var n=uu(e),s=!n&&om(e),o=!n&&!s&&lm(e),i=!n&&!s&&!o&&vm(e),r=n||s||o||i,a=r?function(e,t){for(var n=-1,s=Array(e);++n<e;)s[n]=t(n);return s}(e.length,String):[],l=a.length;for(var c in e)(t||fm.call(e,c))&&(!r||!("length"==c||o&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Wu(c,l)))&&a.push(c);return a}function ym(e,t){return function(n){return e(t(n))}}var bm=ym(Object.keys,Object),wm=Object.prototype.hasOwnProperty;function Em(e){return Zu(e)?_m(e):function(e){if(!Xu(e))return bm(e);var t=[];for(var n in Object(e))wm.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}var Am=Object.prototype.hasOwnProperty;function xm(e){if(!_u(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=Xu(e),n=[];for(var s in e)"constructor"==s&&(t||!Am.call(e,s))||n.push(s);return n}function Sm(e){return Zu(e)?_m(e,!0):xm(e)}var Cm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,km=/^\w*$/;var Rm=Du(Object,"create");var Im=Object.prototype.hasOwnProperty;var Pm=Object.prototype.hasOwnProperty;function Tm(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var s=e[t];this.set(s[0],s[1])}}function Om(e,t){for(var n=e.length;n--;)if($u(e[n][0],t))return n;return-1}Tm.prototype.clear=function(){this.__data__=Rm?Rm(null):{},this.size=0},Tm.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Tm.prototype.get=function(e){var t=this.__data__;if(Rm){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Im.call(t,e)?t[e]:void 0},Tm.prototype.has=function(e){var t=this.__data__;return Rm?void 0!==t[e]:Pm.call(t,e)},Tm.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Rm&&void 0===t?"__lodash_hash_undefined__":t,this};var Mm=Array.prototype.splice;function Nm(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var s=e[t];this.set(s[0],s[1])}}Nm.prototype.clear=function(){this.__data__=[],this.size=0},Nm.prototype.delete=function(e){var t=this.__data__,n=Om(t,e);return!(n<0)&&(n==t.length-1?t.pop():Mm.call(t,n,1),--this.size,!0)},Nm.prototype.get=function(e){var t=this.__data__,n=Om(t,e);return n<0?void 0:t[n][1]},Nm.prototype.has=function(e){return Om(this.__data__,e)>-1},Nm.prototype.set=function(e,t){var n=this.__data__,s=Om(n,e);return s<0?(++this.size,n.push([e,t])):n[s][1]=t,this};var jm=Du(Xd,"Map");function Dm(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function Um(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var s=e[t];this.set(s[0],s[1])}}Um.prototype.clear=function(){this.size=0,this.__data__={hash:new Tm,map:new(jm||Nm),string:new Tm}},Um.prototype.delete=function(e){var t=Dm(this,e).delete(e);return this.size-=t?1:0,t},Um.prototype.get=function(e){return Dm(this,e).get(e)},Um.prototype.has=function(e){return Dm(this,e).has(e)},Um.prototype.set=function(e,t){var n=Dm(this,e),s=n.size;return n.set(e,t),this.size+=n.size==s?0:1,this};function Fm(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var s=arguments,o=t?t.apply(this,s):s[0],i=n.cache;if(i.has(o))return i.get(o);var r=e.apply(this,s);return n.cache=i.set(o,r)||i,r};return n.cache=new(Fm.Cache||Um),n}Fm.Cache=Um;var Lm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Bm=/\\(\\)?/g,Vm=function(e){var t=Fm(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Lm,function(e,n,s,o){t.push(s?o.replace(Bm,"$1"):n||e)}),t});function Hm(e,t){return uu(e)?e:function(e,t){if(uu(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!cu(e))||km.test(e)||!Cm.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:Vm(function(e){return null==e?"":hu(e)}(e))}function zm(e){if("string"==typeof e||cu(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Wm(e,t){for(var n=-1,s=t.length,o=e.length;++n<s;)e[o+n]=t[n];return e}var Km=eu?eu.isConcatSpreadable:void 0;function $m(e){return uu(e)||om(e)||!!(Km&&e&&e[Km])}function Jm(e){return(null==e?0:e.length)?function(e,t,n,s,o){var i=-1,r=e.length;for(n||(n=$m),o||(o=[]);++i<r;){var a=e[i];n(a)?Wm(o,a):o[o.length]=a}return o}(e):[]}var Gm=ym(Object.getPrototypeOf,Object),qm=Function.prototype,Ym=Object.prototype,Zm=qm.toString,Qm=Ym.hasOwnProperty,Xm=Zm.call(Object);function ep(e){var t=this.__data__=new Nm(e);this.size=t.size}ep.prototype.clear=function(){this.__data__=new Nm,this.size=0},ep.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ep.prototype.get=function(e){return this.__data__.get(e)},ep.prototype.has=function(e){return this.__data__.has(e)},ep.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Nm){var s=n.__data__;if(!jm||s.length<199)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new Um(s)}return n.set(e,t),this.size=n.size,this};var tp="object"==typeof exports&&exports&&!exports.nodeType&&exports,np=tp&&"object"==typeof module&&module&&!module.nodeType&&module,sp=np&&np.exports===tp?Xd.Buffer:void 0;function op(){return[]}sp&&sp.allocUnsafe;var ip=Object.prototype.propertyIsEnumerable,rp=Object.getOwnPropertySymbols,ap=rp?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,s=null==e?0:e.length,o=0,i=[];++n<s;){var r=e[n];t(r,n,e)&&(i[o++]=r)}return i}(rp(e),function(t){return ip.call(e,t)}))}:op,lp=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Wm(t,ap(e)),e=Gm(e);return t}:op;function cp(e,t,n){var s=t(e);return uu(e)?s:Wm(s,n(e))}function dp(e){return cp(e,Em,ap)}function up(e){return cp(e,Sm,lp)}var mp=Du(Xd,"DataView"),pp=Du(Xd,"Promise"),hp=Du(Xd,"Set"),gp="[object Map]",vp="[object Promise]",fp="[object Set]",_p="[object WeakMap]",yp="[object DataView]",bp=Ru(mp),wp=Ru(jm),Ep=Ru(pp),Ap=Ru(hp),xp=Ru(Uu),Sp=au;(mp&&Sp(new mp(new ArrayBuffer(1)))!=yp||jm&&Sp(new jm)!=gp||pp&&Sp(pp.resolve())!=vp||hp&&Sp(new hp)!=fp||Uu&&Sp(new Uu)!=_p)&&(Sp=function(e){var t=au(e),n="[object Object]"==t?e.constructor:void 0,s=n?Ru(n):"";if(s)switch(s){case bp:return yp;case wp:return gp;case Ep:return vp;case Ap:return fp;case xp:return _p}return t});var Cp=Object.prototype.hasOwnProperty;var kp=Xd.Uint8Array;function Rp(e){var t=new e.constructor(e.byteLength);return new kp(t).set(new kp(e)),t}var Ip=/\w*$/;var Pp=eu?eu.prototype:void 0,Tp=Pp?Pp.valueOf:void 0;function Op(e,t,n){var s=e.constructor;switch(t){case"[object ArrayBuffer]":return Rp(e);case"[object Boolean]":case"[object Date]":return new s(+e);case"[object DataView]":return function(e){var t=Rp(e.buffer);return new e.constructor(t,e.byteOffset,e.byteLength)}(e);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e){var t=Rp(e.buffer);return new e.constructor(t,e.byteOffset,e.length)}(e);case"[object Map]":case"[object Set]":return new s;case"[object Number]":case"[object String]":return new s(e);case"[object RegExp]":return function(e){var t=new e.constructor(e.source,Ip.exec(e));return t.lastIndex=e.lastIndex,t}(e);case"[object Symbol]":return function(e){return Tp?Object(Tp.call(e)):{}}(e)}}var Mp=hm&&hm.isMap,Np=Mp?dm(Mp):function(e){return lu(e)&&"[object Map]"==Sp(e)};var jp=hm&&hm.isSet,Dp=jp?dm(jp):function(e){return lu(e)&&"[object Set]"==Sp(e)},Up="[object Arguments]",Fp="[object Function]",Lp="[object Object]",Bp={};function Vp(e,t,n,s,o,i){var r;if(n&&(r=o?n(e,s,o,i):n(e)),void 0!==r)return r;if(!_u(e))return e;var a=uu(e);if(a)r=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Cp.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e);else{var l=Sp(e),c=l==Fp||"[object GeneratorFunction]"==l;if(lm(e))return function(e){return e.slice()}(e);if(l==Lp||l==Up||c&&!o)r={};else{if(!Bp[l])return o?e:{};r=Op(e,l)}}i||(i=new ep);var d=i.get(e);if(d)return d;i.set(e,r),Dp(e)?e.forEach(function(s){r.add(Vp(s,t,n,s,e,i))}):Np(e)&&e.forEach(function(s,o){r.set(o,Vp(s,t,n,o,e,i))});var u=a?void 0:up(e);return function(e,t){for(var n=-1,s=null==e?0:e.length;++n<s&&!1!==t(e[n],n,e););}(u||e,function(s,o){u&&(s=e[o=s]),Gu(r,o,Vp(s,t,n,o,e,i))}),r}Bp[Up]=Bp["[object Array]"]=Bp["[object ArrayBuffer]"]=Bp["[object DataView]"]=Bp["[object Boolean]"]=Bp["[object Date]"]=Bp["[object Float32Array]"]=Bp["[object Float64Array]"]=Bp["[object Int8Array]"]=Bp["[object Int16Array]"]=Bp["[object Int32Array]"]=Bp["[object Map]"]=Bp["[object Number]"]=Bp[Lp]=Bp["[object RegExp]"]=Bp["[object Set]"]=Bp["[object String]"]=Bp["[object Symbol]"]=Bp["[object Uint8Array]"]=Bp["[object Uint8ClampedArray]"]=Bp["[object Uint16Array]"]=Bp["[object Uint32Array]"]=!0,Bp["[object Error]"]=Bp[Fp]=Bp["[object WeakMap]"]=!1;function Hp(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Um;++t<n;)this.add(e[t])}function zp(e,t){for(var n=-1,s=null==e?0:e.length;++n<s;)if(t(e[n],n,e))return!0;return!1}function Wp(e,t){return e.has(t)}Hp.prototype.add=Hp.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Hp.prototype.has=function(e){return this.__data__.has(e)};function Kp(e,t,n,s,o,i){var r=1&n,a=e.length,l=t.length;if(a!=l&&!(r&&l>a))return!1;var c=i.get(e),d=i.get(t);if(c&&d)return c==t&&d==e;var u=-1,m=!0,p=2&n?new Hp:void 0;for(i.set(e,t),i.set(t,e);++u<a;){var h=e[u],g=t[u];if(s)var v=r?s(g,h,u,t,e,i):s(h,g,u,e,t,i);if(void 0!==v){if(v)continue;m=!1;break}if(p){if(!zp(t,function(e,t){if(!Wp(p,t)&&(h===e||o(h,e,n,s,i)))return p.push(t)})){m=!1;break}}else if(h!==g&&!o(h,g,n,s,i)){m=!1;break}}return i.delete(e),i.delete(t),m}function $p(e){var t=-1,n=Array(e.size);return e.forEach(function(e,s){n[++t]=[s,e]}),n}function Jp(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Gp=eu?eu.prototype:void 0,qp=Gp?Gp.valueOf:void 0;var Yp=Object.prototype.hasOwnProperty;var Zp="[object Arguments]",Qp="[object Array]",Xp="[object Object]",eh=Object.prototype.hasOwnProperty;function th(e,t,n,s,o,i){var r=uu(e),a=uu(t),l=r?Qp:Sp(e),c=a?Qp:Sp(t),d=(l=l==Zp?Xp:l)==Xp,u=(c=c==Zp?Xp:c)==Xp,m=l==c;if(m&&lm(e)){if(!lm(t))return!1;r=!0,d=!1}if(m&&!d)return i||(i=new ep),r||vm(e)?Kp(e,t,n,s,o,i):function(e,t,n,s,o,i,r){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!i(new kp(e),new kp(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return $u(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=$p;case"[object Set]":var l=1&s;if(a||(a=Jp),e.size!=t.size&&!l)return!1;var c=r.get(e);if(c)return c==t;s|=2,r.set(e,t);var d=Kp(a(e),a(t),s,o,i,r);return r.delete(e),d;case"[object Symbol]":if(qp)return qp.call(e)==qp.call(t)}return!1}(e,t,l,n,s,o,i);if(!(1&n)){var p=d&&eh.call(e,"__wrapped__"),h=u&&eh.call(t,"__wrapped__");if(p||h){var g=p?e.value():e,v=h?t.value():t;return i||(i=new ep),o(g,v,n,s,i)}}return!!m&&(i||(i=new ep),function(e,t,n,s,o,i){var r=1&n,a=dp(e),l=a.length;if(l!=dp(t).length&&!r)return!1;for(var c=l;c--;){var d=a[c];if(!(r?d in t:Yp.call(t,d)))return!1}var u=i.get(e),m=i.get(t);if(u&&m)return u==t&&m==e;var p=!0;i.set(e,t),i.set(t,e);for(var h=r;++c<l;){var g=e[d=a[c]],v=t[d];if(s)var f=r?s(v,g,d,t,e,i):s(g,v,d,e,t,i);if(!(void 0===f?g===v||o(g,v,n,s,i):f)){p=!1;break}h||(h="constructor"==d)}if(p&&!h){var _=e.constructor,y=t.constructor;_!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof _&&_ instanceof _&&"function"==typeof y&&y instanceof y)&&(p=!1)}return i.delete(e),i.delete(t),p}(e,t,n,s,o,i))}function nh(e,t,n,s,o){return e===t||(null==e||null==t||!lu(e)&&!lu(t)?e!=e&&t!=t:th(e,t,n,s,nh,o))}var sh=function(){return Xd.Date.now()},oh=Math.max,ih=Math.min;function rh(e,t,n){var s,o,i,r,a,l,c=0,d=!1,u=!1,m=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=s,i=o;return s=o=void 0,c=t,r=e.apply(i,n)}function h(e){var n=e-l;return void 0===l||n>=t||n<0||u&&e-c>=i}function g(){var e=sh();if(h(e))return v(e);a=setTimeout(g,function(e){var n=t-(e-l);return u?ih(n,i-(e-c)):n}(e))}function v(e){return a=void 0,m&&s?p(e):(s=o=void 0,r)}function f(){var e=sh(),n=h(e);if(s=arguments,o=this,l=e,n){if(void 0===a)return function(e){return c=e,a=setTimeout(g,t),d?p(e):r}(l);if(u)return clearTimeout(a),a=setTimeout(g,t),p(l)}return void 0===a&&(a=setTimeout(g,t)),r}return t=Au(t)||0,_u(n)&&(d=!!n.leading,i=(u="maxWait"in n)?oh(Au(n.maxWait)||0,t):i,m="trailing"in n?!!n.trailing:m),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=o=a=void 0},f.flush=function(){return void 0===a?r:v(sh())},f}function ah(e,t){return t.length<2?e:function(e,t){for(var n=0,s=(t=Hm(t,e)).length;null!=e&&n<s;)e=e[zm(t[n++])];return n&&n==s?e:void 0}(e,function(e,t,n){var s=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++s<o;)i[s]=e[s+t];return i}(t,0,-1))}var lh=Object.prototype.hasOwnProperty;function ch(e,t){var n=-1,s=(t=Hm(t,e)).length;if(!s)return!0;for(var o=null==e||"object"!=typeof e&&"function"!=typeof e;++n<s;){var i=t[n];if("string"==typeof i){if("__proto__"===i&&!lh.call(e,"__proto__"))return!1;if("constructor"===i&&n+1<s&&"string"==typeof t[n+1]&&"prototype"===t[n+1]){if(o&&0===n)continue;return!1}}}var r=ah(e,t);return null==r||delete r[zm(function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}(t))]}function dh(e){return function(e){if(!lu(e)||"[object Object]"!=au(e))return!1;var t=Gm(e);if(null===t)return!0;var n=Qm.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Zm.call(n)==Xm}(e)?void 0:e}var uh=function(e){return Hu(function(e,t,n){return t=qu(void 0===t?e.length-1:t,0),function(){for(var s=arguments,o=-1,i=qu(s.length-t,0),r=Array(i);++o<i;)r[o]=s[t+o];o=-1;for(var a=Array(t+1);++o<t;)a[o]=s[o];return a[t]=n(r),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,a)}}(e,void 0,Jm),e+"")}(function(e,t){var n={};if(null==e)return n;var s=!1;t=du(t,function(t){return t=Hm(t,e),s||(s=t.length>1),t}),function(e,t,n){var s=!n;n||(n={});for(var o=-1,i=t.length;++o<i;){var r=t[o],a=void 0;void 0===a&&(a=e[r]),s?Ku(n,r,a):Gu(n,r,a)}}(e,up(e),n),s&&(n=Vp(n,7,dh));for(var o=t.length;o--;)ch(n,t[o]);return n});const mh="_seekBar_16dv7_14";function ph({value:e=0,className:t,...n}){const{translate:o}=oe(),[i,r]=(0,s.useState)(e),a=(0,s.useMemo)(()=>function(e,t,n){var s=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return _u(n)&&(s="leading"in n?!!n.leading:s,o="trailing"in n?!!n.trailing:o),rh(e,t,{leading:s,maxWait:t,trailing:o})}(r,10),[]);return(0,s.useEffect)(()=>{a(e)},[e,a]),s.createElement("input",{type:"range",className:D(mh,t),onMouseDown:e=>e.stopPropagation(),min:0,max:100,value:i,step:1,style:{"--fillTo":i/100},"aria-label":o("a11y|seek_bar_label"),...n})}function hh({vm:e}){const{translate:t}=oe(),{playbackState:n,mediaName:o=t("timeline|m.audio|unnamed_audio"),sizeBytes:i,durationSeconds:r,playedSeconds:a,percentComplete:l,error:c}=I(e),d=i?`(${re(i)})`:null,u="decoding"===n;return s.createElement(s.Fragment,null,s.createElement(F,{className:V,tabIndex:0,onKeyDown:e.onKeyDown,"aria-label":t("timeline|m.audio|audio_player"),role:"region"},s.createElement(B,{gap:"var(--cpd-space-2x)",align:"center"},s.createElement(ie,{tabIndex:-1,disabled:u,playing:"playing"===n,togglePlay:e.togglePlay}),s.createElement(B,{direction:"column",className:H},s.createElement("span",{className:z,"data-testid":"audio-player-name"},o),s.createElement(B,{className:W,gap:"var(--cpd-space-1-5x)"},s.createElement(Yd,{seconds:r}),d))),s.createElement(B,{align:"center",gap:"var(--cpd-space-1x)","data-testid":"audio-player-seek"},s.createElement(ph,{tabIndex:-1,disabled:u,value:l,onChange:e.onSeekbarChange}),s.createElement(Yd,{className:K,seconds:a,role:"timer"}))),c&&s.createElement("span",{className:$},t("timeline|m.audio|error_downloading_audio")))}const gh="_avatarWithDetails_7ga8t_8",vh="_title_7ga8t_17",fh="_details_7ga8t_28";function _h({as:e,className:t,details:n,avatar:o,title:i,...r}){const a=e||"div";return s.createElement(a,{className:D(gh,t),...r},o,s.createElement(B,{direction:"column"},s.createElement("span",{className:vh},i),s.createElement("span",{className:fh},n)))}function yh(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"m10.6 13.8-2.15-2.15a.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275.95.95 0 0 0-.275.7q0 .425.275.7L9.9 15.9q.3.3.7.3t.7-.3l5.65-5.65a.95.95 0 0 0 .275-.7.95.95 0 0 0-.275-.7.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275zM12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12t2.325 5.675T12 20"})})}yh.displayName="CheckCircleIcon";const bh=(0,s.forwardRef)(yh);function wh(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 17q.424 0 .713-.288A.97.97 0 0 0 13 16a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 15a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 16q0 .424.287.712.288.288.713.288m0-4q.424 0 .713-.287A.97.97 0 0 0 13 12V8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 8v4q0 .424.287.713.288.287.713.287m0 9a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22"})})}wh.displayName="ErrorSolidIcon";const Eh=(0,s.forwardRef)(wh);function Ah(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{d:"M11.288 7.288A.97.97 0 0 1 12 7q.424 0 .713.287Q13 7.576 13 8t-.287.713A.97.97 0 0 1 12 9a.97.97 0 0 1-.713-.287A.97.97 0 0 1 11 8q0-.424.287-.713m.001 4.001A.97.97 0 0 1 12 11q.424 0 .713.287.287.288.287.713v4q0 .424-.287.712A.97.97 0 0 1 12 17a.97.97 0 0 1-.713-.288A.97.97 0 0 1 11 16v-4q0-.424.287-.713"}),Z.jsx("path",{fillRule:"evenodd",d:"M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10m-2 0a8 8 0 1 1-16 0 8 8 0 0 1 16 0",clipRule:"evenodd"})]})}Ah.displayName="InfoIcon";const xh=(0,s.forwardRef)(Ah),Sh="_banner_17clp_8",Ch="_content_17clp_39",kh="_icon_17clp_51",Rh="_actions_17clp_71";function Ih(e){return e.toLowerCase().replace("_","-")}function Ph(e){const t=[],n=Ih(e),s=n.split("-");return 2===s.length&&s[0]===s[1]?t.push(s[0]):(t.push(n),2===s.length&&t.push(s[0])),t}const Th="|";var Oh,Mh;var Nh,jh,Dh,Uh,Fh,Lh,Bh,Vh,Hh,zh,Wh,Kh,$h,Jh,Gh,qh,Yh,Zh,Qh,Xh,eg,tg,ng,sg,og,ig,rg,ag,lg,cg,dg,ug,mg,pg,hg,gg,vg,fg,_g,yg,bg,wg,Eg,Ag,xg,Sg,Cg,kg,Rg,Ig,Pg,Tg,Og,Mg,Ng,jg,Dg,Ug,Fg,Lg,Bg,Vg,Hg,zg,Wg,Kg,$g,Jg,Gg,qg,Yg,Zg,Qg,Xg,ev,tv,nv,sv,ov,iv,rv,av,lv,cv,dv,uv,mv,pv,hv,gv,vv={},fv={};function _v(){return jh||(jh=1,Nh=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(var s in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var o=Object.getOwnPropertySymbols(e);if(1!==o.length||o[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}),Nh}function yv(){if(Uh)return Dh;Uh=1;var e=_v();return Dh=function(){return e()&&!!Symbol.toStringTag}}function bv(){return Lh||(Lh=1,Fh=Object),Fh}function wv(){return Vh||(Vh=1,Bh=Error),Bh}function Ev(){return zh||(zh=1,Hh=EvalError),Hh}function Av(){return Kh||(Kh=1,Wh=RangeError),Wh}function xv(){return Jh||(Jh=1,$h=ReferenceError),$h}function Sv(){return qh||(qh=1,Gh=SyntaxError),Gh}function Cv(){return Zh||(Zh=1,Yh=TypeError),Yh}function kv(){return Xh||(Xh=1,Qh=URIError),Qh}function Rv(){return tg||(tg=1,eg=Math.abs),eg}function Iv(){return sg||(sg=1,ng=Math.floor),ng}function Pv(){return ig||(ig=1,og=Math.max),og}function Tv(){return ag||(ag=1,rg=Math.min),rg}function Ov(){return cg||(cg=1,lg=Math.pow),lg}function Mv(){return ug||(ug=1,dg=Math.round),dg}function Nv(){return pg||(pg=1,mg=Number.isNaN||function(e){return e!=e}),mg}function jv(){if(gg)return hg;gg=1;var e=Nv();return hg=function(t){return e(t)||0===t?t:t<0?-1:1}}function Dv(){return fg||(fg=1,vg=Object.getOwnPropertyDescriptor),vg}function Uv(){if(yg)return _g;yg=1;var e=Dv();if(e)try{e([],"length")}catch{e=null}return _g=e}function Fv(){if(wg)return bg;wg=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return bg=e}function Lv(){return Sg||(Sg=1,xg=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),xg}function Bv(){return kg?Cg:(kg=1,Cg=bv().getPrototypeOf||null)}function Vv(){if(Tg)return Pg;Tg=1;var e=function(){if(Ig)return Rg;Ig=1;var e=Object.prototype.toString,t=Math.max,n=function(e,t){for(var n=[],s=0;s<e.length;s+=1)n[s]=e[s];for(var o=0;o<t.length;o+=1)n[o+e.length]=t[o];return n};return Rg=function(s){var o=this;if("function"!=typeof o||"[object Function]"!==e.apply(o))throw new TypeError("Function.prototype.bind called on incompatible "+o);for(var i,r=function(e){for(var t=[],n=1,s=0;n<e.length;n+=1,s+=1)t[s]=e[n];return t}(arguments),a=t(0,o.length-r.length),l=[],c=0;c<a;c++)l[c]="$"+c;if(i=Function("binder","return function ("+function(e,t){for(var n="",s=0;s<e.length;s+=1)n+=e[s],s+1<e.length&&(n+=t);return n}(l,",")+"){ return binder.apply(this,arguments); }")(function(){if(this instanceof i){var e=o.apply(this,n(r,arguments));return Object(e)===e?e:this}return o.apply(s,n(r,arguments))}),o.prototype){var d=function(){};d.prototype=o.prototype,i.prototype=new d,d.prototype=null}return i},Rg}();return Pg=Function.prototype.bind||e}function Hv(){return Mg||(Mg=1,Og=Function.prototype.call),Og}function zv(){return jg||(jg=1,Ng=Function.prototype.apply),Ng}function Wv(){if(Lg)return Fg;Lg=1;var e=Vv(),t=zv(),n=Hv(),s=(Ug||(Ug=1,Dg=typeof Reflect<"u"&&Reflect&&Reflect.apply),Dg);return Fg=s||e.call(n,t)}function Kv(){if(Vg)return Bg;Vg=1;var e=Vv(),t=Cv(),n=Hv(),s=Wv();return Bg=function(o){if(o.length<1||"function"!=typeof o[0])throw new t("a function is required");return s(e,n,o)}}function $v(){if(zg)return Hg;zg=1;var e,t=Kv(),n=Uv();try{e=[].__proto__===Array.prototype}catch(e){if(!e||"object"!=typeof e||!("code"in e)||"ERR_PROTO_ACCESS"!==e.code)throw e}var s=!!e&&n&&n(Object.prototype,"__proto__"),o=Object,i=o.getPrototypeOf;return Hg=s&&"function"==typeof s.get?t([s.get]):"function"==typeof i&&function(e){return i(null==e?e:o(e))}}function Jv(){if(Kg)return Wg;Kg=1;var e=Lv(),t=Bv(),n=$v();return Wg=e?function(t){return e(t)}:t?function(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new TypeError("getProto: not an object");return t(e)}:n?function(e){return n(e)}:null}function Gv(){if(Jg)return $g;Jg=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,n=Vv();return $g=n.call(e,t)}function qv(){if(qg)return Gg;qg=1;var e,t=bv(),n=wv(),s=Ev(),o=Av(),i=xv(),r=Sv(),a=Cv(),l=kv(),c=Rv(),d=Iv(),u=Pv(),m=Tv(),p=Ov(),h=Mv(),g=jv(),v=Function,f=function(e){try{return v('"use strict"; return ('+e+").constructor;")()}catch{}},_=Uv(),y=Fv(),b=function(){throw new a},w=_?function(){try{return b}catch{try{return _(arguments,"callee").get}catch{return b}}}():b,E=function(){if(Ag)return Eg;Ag=1;var e=typeof Symbol<"u"&&Symbol,t=_v();return Eg=function(){return"function"==typeof e&&"function"==typeof Symbol&&"symbol"==typeof e("foo")&&"symbol"==typeof Symbol("bar")&&t()}}()(),A=Jv(),x=Bv(),S=Lv(),C=zv(),k=Hv(),R={},I=typeof Uint8Array>"u"||!A?e:A(Uint8Array),P={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":E&&A?A([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":R,"%AsyncGenerator%":R,"%AsyncGeneratorFunction%":R,"%AsyncIteratorPrototype%":R,"%Atomics%":typeof Atomics>"u"?e:Atomics,"%BigInt%":typeof BigInt>"u"?e:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?e:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?e:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":n,"%eval%":eval,"%EvalError%":s,"%Float16Array%":typeof Float16Array>"u"?e:Float16Array,"%Float32Array%":typeof Float32Array>"u"?e:Float32Array,"%Float64Array%":typeof Float64Array>"u"?e:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?e:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":R,"%Int8Array%":typeof Int8Array>"u"?e:Int8Array,"%Int16Array%":typeof Int16Array>"u"?e:Int16Array,"%Int32Array%":typeof Int32Array>"u"?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":E&&A?A(A([][Symbol.iterator]())):e,"%JSON%":"object"==typeof JSON?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!E||!A?e:A((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":t,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?e:Promise,"%Proxy%":typeof Proxy>"u"?e:Proxy,"%RangeError%":o,"%ReferenceError%":i,"%Reflect%":typeof Reflect>"u"?e:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?e:Set,"%SetIteratorPrototype%":typeof Set>"u"||!E||!A?e:A((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":E&&A?A(""[Symbol.iterator]()):e,"%Symbol%":E?Symbol:e,"%SyntaxError%":r,"%ThrowTypeError%":w,"%TypedArray%":I,"%TypeError%":a,"%Uint8Array%":typeof Uint8Array>"u"?e:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?e:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?e:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?e:Uint32Array,"%URIError%":l,"%WeakMap%":typeof WeakMap>"u"?e:WeakMap,"%WeakRef%":typeof WeakRef>"u"?e:WeakRef,"%WeakSet%":typeof WeakSet>"u"?e:WeakSet,"%Function.prototype.call%":k,"%Function.prototype.apply%":C,"%Object.defineProperty%":y,"%Object.getPrototypeOf%":x,"%Math.abs%":c,"%Math.floor%":d,"%Math.max%":u,"%Math.min%":m,"%Math.pow%":p,"%Math.round%":h,"%Math.sign%":g,"%Reflect.getPrototypeOf%":S};if(A)try{null.error}catch(e){var T=A(A(e));P["%Error.prototype%"]=T}var O=function e(t){var n;if("%AsyncFunction%"===t)n=f("async function () {}");else if("%GeneratorFunction%"===t)n=f("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=f("async function* () {}");else if("%AsyncGenerator%"===t){var s=e("%AsyncGeneratorFunction%");s&&(n=s.prototype)}else if("%AsyncIteratorPrototype%"===t){var o=e("%AsyncGenerator%");o&&A&&(n=A(o.prototype))}return P[t]=n,n},M={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},N=Vv(),j=Gv(),D=N.call(k,Array.prototype.concat),U=N.call(C,Array.prototype.splice),F=N.call(k,String.prototype.replace),L=N.call(k,String.prototype.slice),B=N.call(k,RegExp.prototype.exec),V=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,H=/\\(\\)?/g,z=function(e,t){var n,s=e;if(j(M,s)&&(s="%"+(n=M[s])[0]+"%"),j(P,s)){var o=P[s];if(o===R&&(o=O(s)),typeof o>"u"&&!t)throw new a("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:s,value:o}}throw new r("intrinsic "+e+" does not exist!")};return Gg=function(e,t){if("string"!=typeof e||0===e.length)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===B(/^%?[^%]*%?$/,e))throw new r("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(e){var t=L(e,0,1),n=L(e,-1);if("%"===t&&"%"!==n)throw new r("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new r("invalid intrinsic syntax, expected opening `%`");var s=[];return F(e,V,function(e,t,n,o){s[s.length]=n?F(o,H,"$1"):t||e}),s}(e),s=n.length>0?n[0]:"",o=z("%"+s+"%",t),i=o.name,l=o.value,c=!1,d=o.alias;d&&(s=d[0],U(n,D([0,1],d)));for(var u=1,m=!0;u<n.length;u+=1){var p=n[u],h=L(p,0,1),g=L(p,-1);if(('"'===h||"'"===h||"`"===h||'"'===g||"'"===g||"`"===g)&&h!==g)throw new r("property names with quotes must have matching quotes");if(("constructor"===p||!m)&&(c=!0),j(P,i="%"+(s+="."+p)+"%"))l=P[i];else if(null!=l){if(!(p in l)){if(!t)throw new a("base intrinsic for "+e+" exists, but the property is not available.");return}if(_&&u+1>=n.length){var v=_(l,p);l=(m=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:l[p]}else m=j(l,p),l=l[p];m&&!c&&(P[i]=l)}}return l},Gg}function Yv(){if(Zg)return Yg;Zg=1;var e=qv(),t=Kv(),n=t([e("%String.prototype.indexOf%")]);return Yg=function(s,o){var i=e(s,!!o);return"function"==typeof i&&n(s,".prototype.")>-1?t([i]):i}}function Zv(){if(Xg)return Qg;Xg=1;var e=yv()(),t=Yv()("Object.prototype.toString"),n=function(n){return!(e&&n&&"object"==typeof n&&Symbol.toStringTag in n)&&"[object Arguments]"===t(n)},s=function(e){return!!n(e)||null!==e&&"object"==typeof e&&"length"in e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==t(e)&&"callee"in e&&"[object Function]"===t(e.callee)},o=function(){return n(arguments)}();return n.isLegacyArguments=s,Qg=o?n:s}function Qv(){if(sv)return nv;sv=1;var e=Yv(),t=function(){if(tv)return ev;tv=1;var e,t=Yv(),n=yv()(),s=Gv(),o=Uv();if(n){var i=t("RegExp.prototype.exec"),r={},a=function(){throw r},l={toString:a,valueOf:a};"symbol"==typeof Symbol.toPrimitive&&(l[Symbol.toPrimitive]=a),e=function(e){if(!e||"object"!=typeof e)return!1;var t=o(e,"lastIndex");if(!t||!s(t,"value"))return!1;try{i(e,l)}catch(e){return e===r}}}else{var c=t("Object.prototype.toString");e=function(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&"[object RegExp]"===c(e)}}return ev=e}(),n=e("RegExp.prototype.exec"),s=Cv();return nv=function(e){if(!t(e))throw new s("`regex` must be a RegExp");return function(t){return null!==n(e,t)}}}function Xv(){if(iv)return ov;iv=1;const e=function*(){}.constructor;return ov=()=>e}function ef(){if(uv)return dv;uv=1;var e=function(){if(cv)return lv;cv=1;var e,t,n=Function.prototype.toString,s="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof s&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw t}}),t={},s(function(){throw 42},null,e)}catch(e){e!==t&&(s=null)}else s=null;var o=/^\s*class\b/,i=function(e){try{var t=n.call(e);return o.test(t)}catch{return!1}},r=function(e){try{return!i(e)&&(n.call(e),!0)}catch{return!1}},a=Object.prototype.toString,l="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),d=function(){return!1};if("object"==typeof document){var u=document.all;a.call(u)===a.call(document.all)&&(d=function(e){if((c||!e)&&(typeof e>"u"||"object"==typeof e))try{var t=a.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch{}return!1})}return lv=s?function(n){if(d(n))return!0;if(!n||"function"!=typeof n&&"object"!=typeof n)return!1;try{s(n,null,e)}catch(e){if(e!==t)return!1}return!i(n)&&r(n)}:function(e){if(d(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;if(l)return r(e);if(i(e))return!1;var t=a.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&r(e)}}(),t=Object.prototype.toString,n=Object.prototype.hasOwnProperty;return dv=function(s,o,i){if(!e(o))throw new TypeError("iterator must be a function");var r,a;arguments.length>=3&&(r=i),a=s,"[object Array]"===t.call(a)?function(e,t,s){for(var o=0,i=e.length;o<i;o++)n.call(e,o)&&(null==s?t(e[o],o,e):t.call(s,e[o],o,e))}(s,o,r):"string"==typeof s?function(e,t,n){for(var s=0,o=e.length;s<o;s++)null==n?t(e.charAt(s),s,e):t.call(n,e.charAt(s),s,e)}(s,o,r):function(e,t,s){for(var o in e)n.call(e,o)&&(null==s?t(e[o],o,e):t.call(s,e[o],o,e))}(s,o,r)},dv}function tf(){return pv||(pv=1,mv=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]),mv}function nf(){if(gv)return hv;gv=1;var e=tf(),t=typeof globalThis>"u"?P:globalThis;return hv=function(){for(var n=[],s=0;s<e.length;s++)"function"==typeof t[e[s]]&&(n[n.length]=e[s]);return n}}var sf,of,rf,af,lf,cf,df,uf,mf,pf,hf,gf,vf,ff,_f,yf,bf={exports:{}};function wf(){if(of)return sf;of=1;var e=Fv(),t=Sv(),n=Cv(),s=Uv();return sf=function(o,i,r){if(!o||"object"!=typeof o&&"function"!=typeof o)throw new n("`obj` must be an object or a function`");if("string"!=typeof i&&"symbol"!=typeof i)throw new n("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new n("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new n("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new n("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new n("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,d=arguments.length>6&&arguments[6],u=!!s&&s(o,i);if(e)e(o,i,{configurable:null===c&&u?u.configurable:!c,enumerable:null===a&&u?u.enumerable:!a,value:r,writable:null===l&&u?u.writable:!l});else{if(!d&&(a||l||c))throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");o[i]=r}},sf}function Ef(){if(af)return rf;af=1;var e=Fv(),t=function(){return!!e};return t.hasArrayLengthDefineBug=function(){if(!e)return null;try{return 1!==e([],"length",{value:1}).length}catch{return!0}},rf=t}function Af(){if(cf)return lf;cf=1;var e=qv(),t=wf(),n=Ef()(),s=Uv(),o=Cv(),i=e("%Math.floor%");return lf=function(e,r){if("function"!=typeof e)throw new o("`fn` is not a function");if("number"!=typeof r||r<0||r>4294967295||i(r)!==r)throw new o("`length` must be a positive 32-bit integer");var a=arguments.length>2&&!!arguments[2],l=!0,c=!0;if("length"in e&&s){var d=s(e,"length");d&&!d.configurable&&(l=!1),d&&!d.writable&&(c=!1)}return(l||c||!a)&&(n?t(e,"length",r,!0,!0):t(e,"length",r)),e},lf}function xf(){return mf||(mf=1,function(e){var t=Af(),n=Fv(),s=Kv(),o=function(){if(uf)return df;uf=1;var e=Vv(),t=zv(),n=Wv();return df=function(){return n(e,t,arguments)},df}();e.exports=function(e){var n=s(arguments),o=e.length-(arguments.length-1);return t(n,1+(o>0?o:0),!0)},n?n(e.exports,"apply",{value:o}):e.exports.apply=o}(bf)),bf.exports}function Sf(){if(hf)return pf;hf=1;var e=ef(),t=nf(),n=xf(),s=Yv(),o=Uv(),i=Jv(),r=s("Object.prototype.toString"),a=yv()(),l=typeof globalThis>"u"?P:globalThis,c=t(),d=s("String.prototype.slice"),u=s("Array.prototype.indexOf",!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},m={__proto__:null};e(c,a&&o&&i?function(e){var t=new l[e];if(Symbol.toStringTag in t&&i){var s=i(t),r=o(s,Symbol.toStringTag);if(!r&&s){var a=i(s);r=o(a,Symbol.toStringTag)}if(r&&r.get){var c=n(r.get);m["$"+e]=c}}}:function(e){var t=new l[e],s=t.slice||t.set;if(s){var o=n(s);m["$"+e]=o}});return pf=function(t){if(!t||"object"!=typeof t)return!1;if(!a){var n=d(r(t),8,-1);return u(c,n)>-1?n:"Object"===n&&function(t){var n=!1;return e(m,function(e,s){if(!n)try{e(t),n=d(s,1)}catch{}}),n}(t)}return o?function(t){var n=!1;return e(m,function(e,s){if(!n)try{"$"+e(t)===s&&(n=d(s,1))}catch{}}),n}(t):null}}function Cf(){if(vf)return gf;vf=1;var e=Sf();return gf=function(t){return!!e(t)}}function kf(){return ff||(ff=1,function(e){var t=Zv(),n=function(){if(av)return rv;av=1;var e=Yv(),t=Qv()(/^\s*(?:function)?\*/),n=yv()(),s=Jv(),o=e("Object.prototype.toString"),i=e("Function.prototype.toString"),r=Xv();return rv=function(e){if("function"!=typeof e)return!1;if(t(i(e)))return!0;if(!n)return"[object GeneratorFunction]"===o(e);if(!s)return!1;var a=r();return a&&s(e)===a.prototype}}(),s=Sf(),o=Cf();function i(e){return e.call.bind(e)}var r=typeof BigInt<"u",a=typeof Symbol<"u",l=i(Object.prototype.toString),c=i(Number.prototype.valueOf),d=i(String.prototype.valueOf),u=i(Boolean.prototype.valueOf);if(r)var m=i(BigInt.prototype.valueOf);if(a)var p=i(Symbol.prototype.valueOf);function h(e,t){if("object"!=typeof e)return!1;try{return t(e),!0}catch{return!1}}function g(e){return"[object Map]"===l(e)}function v(e){return"[object Set]"===l(e)}function f(e){return"[object WeakMap]"===l(e)}function _(e){return"[object WeakSet]"===l(e)}function y(e){return"[object ArrayBuffer]"===l(e)}function b(e){return!(typeof ArrayBuffer>"u")&&(y.working?y(e):e instanceof ArrayBuffer)}function w(e){return"[object DataView]"===l(e)}function E(e){return!(typeof DataView>"u")&&(w.working?w(e):e instanceof DataView)}e.isArgumentsObject=t,e.isGeneratorFunction=n,e.isTypedArray=o,e.isPromise=function(e){return typeof Promise<"u"&&e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch},e.isArrayBufferView=function(e){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(e):o(e)||E(e)},e.isUint8Array=function(e){return"Uint8Array"===s(e)},e.isUint8ClampedArray=function(e){return"Uint8ClampedArray"===s(e)},e.isUint16Array=function(e){return"Uint16Array"===s(e)},e.isUint32Array=function(e){return"Uint32Array"===s(e)},e.isInt8Array=function(e){return"Int8Array"===s(e)},e.isInt16Array=function(e){return"Int16Array"===s(e)},e.isInt32Array=function(e){return"Int32Array"===s(e)},e.isFloat32Array=function(e){return"Float32Array"===s(e)},e.isFloat64Array=function(e){return"Float64Array"===s(e)},e.isBigInt64Array=function(e){return"BigInt64Array"===s(e)},e.isBigUint64Array=function(e){return"BigUint64Array"===s(e)},g.working=typeof Map<"u"&&g(new Map),e.isMap=function(e){return!(typeof Map>"u")&&(g.working?g(e):e instanceof Map)},v.working=typeof Set<"u"&&v(new Set),e.isSet=function(e){return!(typeof Set>"u")&&(v.working?v(e):e instanceof Set)},f.working=typeof WeakMap<"u"&&f(new WeakMap),e.isWeakMap=function(e){return!(typeof WeakMap>"u")&&(f.working?f(e):e instanceof WeakMap)},_.working=typeof WeakSet<"u"&&_(new WeakSet),e.isWeakSet=function(e){return _(e)},y.working=typeof ArrayBuffer<"u"&&y(new ArrayBuffer),e.isArrayBuffer=b,w.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&w(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=E;var A=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function x(e){return"[object SharedArrayBuffer]"===l(e)}function S(e){return!(typeof A>"u")&&(typeof x.working>"u"&&(x.working=x(new A)),x.working?x(e):e instanceof A)}function C(e){return h(e,c)}function k(e){return h(e,d)}function R(e){return h(e,u)}function I(e){return r&&h(e,m)}function P(e){return a&&h(e,p)}e.isSharedArrayBuffer=S,e.isAsyncFunction=function(e){return"[object AsyncFunction]"===l(e)},e.isMapIterator=function(e){return"[object Map Iterator]"===l(e)},e.isSetIterator=function(e){return"[object Set Iterator]"===l(e)},e.isGeneratorObject=function(e){return"[object Generator]"===l(e)},e.isWebAssemblyCompiledModule=function(e){return"[object WebAssembly.Module]"===l(e)},e.isNumberObject=C,e.isStringObject=k,e.isBooleanObject=R,e.isBigIntObject=I,e.isSymbolObject=P,e.isBoxedPrimitive=function(e){return C(e)||k(e)||R(e)||I(e)||P(e)},e.isAnyArrayBuffer=function(e){return typeof Uint8Array<"u"&&(b(e)||S(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})})}(fv)),fv}var Rf,If,Pf={exports:{}};function Tf(){return If||(If=1,function(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},s=0;s<t.length;s++)n[t[s]]=Object.getOwnPropertyDescriptor(e,t[s]);return n},n=/%[sdj%]/g;e.format=function(e){if(!v(e)){for(var t=[],s=0;s<arguments.length;s++)t.push(r(arguments[s]));return t.join(" ")}s=1;for(var o=arguments,i=o.length,a=String(e).replace(n,function(e){if("%%"===e)return"%";if(s>=i)return e;switch(e){case"%s":return String(o[s++]);case"%d":return Number(o[s++]);case"%j":try{return JSON.stringify(o[s++])}catch{return"[Circular]"}default:return e}}),l=o[s];s<i;l=o[++s])h(l)||!y(l)?a+=" "+l:a+=" "+r(l);return a},e.deprecate=function(t,n){if(typeof A<"u"&&!0===A.noDeprecation)return t;if(typeof A>"u")return function(){return e.deprecate(t,n).apply(this,arguments)};var s=!1;return function(){if(!s){if(A.throwDeprecation)throw new Error(n);A.traceDeprecation?console.trace(n):console.error(n),s=!0}return t.apply(this,arguments)}};var s={},o=/^$/;if(A.env.NODE_DEBUG){var i=A.env.NODE_DEBUG;i=i.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),o=new RegExp("^"+i+"$","i")}function r(t,n){var s={seen:[],stylize:l};return arguments.length>=3&&(s.depth=arguments[2]),arguments.length>=4&&(s.colors=arguments[3]),p(n)?s.showHidden=n:n&&e._extend(s,n),f(s.showHidden)&&(s.showHidden=!1),f(s.depth)&&(s.depth=2),f(s.colors)&&(s.colors=!1),f(s.customInspect)&&(s.customInspect=!0),s.colors&&(s.stylize=a),c(s,t,s.depth)}function a(e,t){var n=r.styles[t];return n?"["+r.colors[n][0]+"m"+e+"["+r.colors[n][1]+"m":e}function l(e,t){return e}function c(t,n,s){if(t.customInspect&&n&&E(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(s,t);return v(o)||(o=c(t,o,s)),o}var i=function(e,t){if(f(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(g(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(t,n);if(i)return i;var r=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(r);if(t.showHidden&&(r=Object.getOwnPropertyNames(n)),w(n)&&(r.indexOf("message")>=0||r.indexOf("description")>=0))return d(n);if(0===r.length){if(E(n)){var l=n.name?": "+n.name:"";return t.stylize("[Function"+l+"]","special")}if(_(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(b(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return d(n)}var y,A="",x=!1,S=["{","}"];(m(n)&&(x=!0,S=["[","]"]),E(n))&&(A=" [Function"+(n.name?": "+n.name:"")+"]");return _(n)&&(A=" "+RegExp.prototype.toString.call(n)),b(n)&&(A=" "+Date.prototype.toUTCString.call(n)),w(n)&&(A=" "+d(n)),0!==r.length||x&&0!=n.length?s<0?_(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),y=x?function(e,t,n,s,o){for(var i=[],r=0,a=t.length;r<a;++r)k(t,String(r))?i.push(u(e,t,n,s,String(r),!0)):i.push("");return o.forEach(function(o){o.match(/^\d+$/)||i.push(u(e,t,n,s,o,!0))}),i}(t,n,s,a,r):r.map(function(e){return u(t,n,s,a,e,x)}),t.seen.pop(),function(e,t,n){var s=e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return s>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(y,A,S)):S[0]+A+S[1]}function d(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,n,s,o,i){var r,a,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),k(s,o)||(r="["+o+"]"),a||(e.seen.indexOf(l.value)<0?(a=h(n)?c(e,l.value,null):c(e,l.value,n-1)).indexOf("\n")>-1&&(a=i?a.split("\n").map(function(e){return" "+e}).join("\n").slice(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),f(r)){if(i&&o.match(/^\d+$/))return a;(r=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.slice(1,-1),r=e.stylize(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=e.stylize(r,"string"))}return r+": "+a}function m(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function h(e){return null===e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function f(e){return void 0===e}function _(e){return y(e)&&"[object RegExp]"===x(e)}function y(e){return"object"==typeof e&&null!==e}function b(e){return y(e)&&"[object Date]"===x(e)}function w(e){return y(e)&&("[object Error]"===x(e)||e instanceof Error)}function E(e){return"function"==typeof e}function x(e){return Object.prototype.toString.call(e)}function S(e){return e<10?"0"+e.toString(10):e.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!s[t])if(o.test(t)){var n=A.pid;s[t]=function(){var s=e.format.apply(e,arguments);console.error("%s %d: %s",t,n,s)}}else s[t]=function(){};return s[t]},e.inspect=r,r.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},r.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=kf(),e.isArray=m,e.isBoolean=p,e.isNull=h,e.isNullOrUndefined=function(e){return null==e},e.isNumber=g,e.isString=v,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=f,e.isRegExp=_,e.types.isRegExp=_,e.isObject=y,e.isDate=b,e.types.isDate=b,e.isError=w,e.types.isNativeError=w,e.isFunction=E,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||typeof e>"u"},e.isBuffer=(yf||(yf=1,_f=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}),_f);var C=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,n;console.log("%s - %s",(n=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),C[t.getMonth()],n].join(" ")),e.format.apply(e,arguments))},e.inherits=(Rf||(Rf=1,"function"==typeof Object.create?Pf.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Pf.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}),Pf.exports),e._extend=function(e,t){if(!t||!y(t))return e;for(var n=Object.keys(t),s=n.length;s--;)e[n[s]]=t[n[s]];return e};var R=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function I(e,t){if(!e){var n=new Error("Promise was rejected with a falsy value");n.reason=e,e=n}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(R&&e[R]){var n;if("function"!=typeof(n=e[R]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(n,R,{value:n,enumerable:!1,writable:!1,configurable:!0}),n}function n(){for(var t,n,s=new Promise(function(e,s){t=e,n=s}),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push(function(e,s){e?n(e):t(s)});try{e.apply(this,o)}catch(e){n(e)}return s}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),R&&Object.defineProperty(n,R,{value:n,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(n,t(e))},e.promisify.custom=R,e.callbackify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function n(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var s=t.pop();if("function"!=typeof s)throw new TypeError("The last argument must be of type Function");var o=this,i=function(){return s.apply(o,arguments)};e.apply(this,t).then(function(e){A.nextTick(i.bind(null,null,e))},function(e){A.nextTick(I.bind(null,e,i))})}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,t(e)),n}}(vv)),vv}var Of,Mf={};var Nf,jf,Df,Uf,Ff,Lf,Bf,Vf,Hf,zf,Wf,Kf,$f,Jf,Gf,qf,Yf,Zf={exports:{}};function Qf(){if(Nf)return Zf.exports;Nf=1;var e,t="object"==typeof Reflect?Reflect:null,n=t&&"function"==typeof t.apply?t.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};e=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}Zf.exports=o,Zf.exports.once=function(e,t){return new Promise(function(n,s){function o(n){e.removeListener(t,i),s(n)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}h(e,t,i,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&h(e,"error",t,n)}(e,o,{once:!0})})},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var i=10;function r(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function a(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,n,s){var o,i,l;if(r(n),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),l=i[t]),void 0===l)l=i[t]=n,++e._eventsCount;else if("function"==typeof l?l=i[t]=s?[n,l]:[l,n]:s?l.unshift(n):l.push(n),(o=a(e))>0&&l.length>o&&!l.warned){l.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+l.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=l.length,function(e){console&&console.warn&&console.warn(e)}(c)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var s={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=c.bind(s);return o.listener=n,s.wrapFn=o,o}function u(e,t,n){var s=e._events;if(void 0===s)return[];var o=s[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):p(o,o.length)}function m(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function p(e,t){for(var n=new Array(t),s=0;s<t;++s)n[s]=e[s];return n}function h(e,t,n,s){if("function"==typeof e.on)s.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function o(i){s.once&&e.removeEventListener(t,o),n(i)})}}return Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),o.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return a(this)},o.prototype.emit=function(e){for(var t=[],s=1;s<arguments.length;s++)t.push(arguments[s]);var o="error"===e,i=this._events;if(void 0!==i)o=o&&void 0===i.error;else if(!o)return!1;if(o){var r;if(t.length>0&&(r=t[0]),r instanceof Error)throw r;var a=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw a.context=r,a}var l=i[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var c=l.length,d=p(l,c);for(s=0;s<c;++s)n(d[s],this,t)}return!0},o.prototype.addListener=function(e,t){return l(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return l(this,e,t,!0)},o.prototype.once=function(e,t){return r(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return r(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,s,o,i,a;if(r(t),void 0===(s=this._events))return this;if(void 0===(n=s[e]))return this;if(n===t||n.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete s[e],s.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length-1;i>=0;i--)if(n[i]===t||n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(s[e]=n[0]),void 0!==s.removeListener&&this.emit("removeListener",e,a||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,s;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,i=Object.keys(n);for(s=0;s<i.length;++s)"removeListener"!==(o=i[s])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(s=t.length-1;s>=0;s--)this.removeListener(e,t[s]);return this},o.prototype.listeners=function(e){return u(this,e,!0)},o.prototype.rawListeners=function(e){return u(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},o.prototype.listenerCount=m,o.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]},Zf.exports}function Xf(){if(Ff)return Uf;Ff=1;var e=Array.prototype,t=e.concat,n=e.slice,s=function(){if(Df)return jf;Df=1;var e=[].indexOf;return jf=function(t,n){if(e)return t.indexOf(n);for(var s=0;s<t.length;++s)if(t[s]===n)return s;return-1}}();return Uf=function(o){var i={},r=t.apply(e,n.call(arguments,1));for(var a in o)-1===s(r,a)&&(i[a]=o[a]);return i},Uf}function e_(){return Bf||(Bf=1,Lf={__locale:"en",days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbreviated_days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],abbreviated_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],am:"AM",pm:"PM"}),Lf}function t_(){if(Wf)return zf;Wf=1;var e=(Hf||(Hf=1,Vf=e_()),Vf);function t(e,t,n){"number"==typeof t&&(n=t,t="0"),null===t&&(t="0"),n=n||2;var s=String(e);if(t)for(;s.length<n;)s=t+s;return s}function n(e){var t=e.getHours();return 0===t?t=12:t>12&&(t-=12),t}function s(e,t){t=t||"sunday";var n=e.getDay();"monday"==t&&(0===n?n=6:n--);var s=new Date(e.getFullYear(),0,1),o=((e-s)/864e5+7-n)/7;return Math.floor(o)}return zf=function o(i,r,a){var l=i.getTime();return a=a||e,r.replace(/%([-_0]?.)/g,function(e,r){var c=null;if(2==r.length){switch(r[0]){case"-":c="";break;case"_":c=" ";break;case"0":c="0";break;default:return e}r=r[1]}switch(r){case"A":return a.days[i.getDay()];case"a":return a.abbreviated_days[i.getDay()];case"B":return a.months[i.getMonth()];case"b":case"h":return a.abbreviated_months[i.getMonth()];case"C":return t(Math.floor(i.getFullYear()/100),c);case"D":return o(i,"%m/%d/%y");case"d":return t(i.getDate(),c);case"e":return i.getDate();case"F":return o(i,"%Y-%m-%d");case"H":return t(i.getHours(),c);case"I":return t(n(i),c);case"j":return t(Math.ceil((i.getTime()-new Date(i.getFullYear(),0,1).getTime())/864e5),3);case"k":return t(i.getHours(),null===c?" ":c);case"L":return t(Math.floor(l%1e3),3);case"l":return t(n(i),null===c?" ":c);case"M":return t(i.getMinutes(),c);case"m":return t(i.getMonth()+1,c);case"n":return"\n";case"o":return String(i.getDate())+function(e){var t=e%10,n=e%100;if(n>=11&&n<=13||0===t||t>=4)return"th";switch(t){case 1:return"st";case 2:return"nd";case 3:return"rd"}}(i.getDate());case"P":return i.getHours()<12?a.am.toLowerCase():a.pm.toLowerCase();case"p":return i.getHours()<12?a.am.toUpperCase():a.pm.toUpperCase();case"R":return o(i,"%H:%M");case"r":return o(i,"%I:%M:%S %p");case"S":return t(i.getSeconds(),c);case"s":return Math.floor(l/1e3);case"T":return o(i,"%H:%M:%S");case"t":return"\t";case"U":return t(s(i,"sunday"),c);case"u":return 0===i.getDay()?7:i.getDay();case"v":return o(i,"%e-%b-%Y");case"W":return t(s(i,"monday"),c);case"w":return i.getDay();case"Y":return i.getFullYear();case"y":var d=String(i.getFullYear());return d.slice(d.length-2);case"Z":var u=i.toString().match(/\((\w+)\)/);return u&&u[1]||"";case"z":var m=i.getTimezoneOffset();return(m>0?"-":"+")+t(Math.round(Math.abs(m/60)),2)+":"+t(m%60,2);default:return r}})},zf}var n_=function(){if(Yf)return qf;Yf=1;var e=function(){if(Mh)return Oh;Mh=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===t.call(e)},i=function(n){if(!n||"[object Object]"!==t.call(n))return!1;var s,o=e.call(n,"constructor"),i=n.constructor&&n.constructor.prototype&&e.call(n.constructor.prototype,"isPrototypeOf");if(n.constructor&&!o&&!i)return!1;for(s in n);return typeof s>"u"||e.call(n,s)},r=function(e,t){n&&"__proto__"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},a=function(t,n){if("__proto__"===n){if(!e.call(t,n))return;if(s)return s(t,n).value}return t[n]};return Oh=function e(){var t,n,s,l,c,d,u=arguments[0],m=1,p=arguments.length,h=!1;for("boolean"==typeof u&&(h=u,u=arguments[1]||{},m=2),(null==u||"object"!=typeof u&&"function"!=typeof u)&&(u={});m<p;++m)if(null!=(t=arguments[m]))for(n in t)s=a(u,n),u!==(l=a(t,n))&&(h&&l&&(i(l)||(c=o(l)))?(c?(c=!1,d=s&&o(s)?s:[]):d=s&&i(s)?s:{},r(u,{name:n,newValue:e(h,d,l)})):typeof l<"u"&&r(u,{name:n,newValue:l}));return u},Oh}(),t=Tf().isArray,n=Tf().isDate,s=(Of||(Of=1,function(e){!function(){var t={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function n(){var e=arguments[0],t=n.cache;return t[e]&&t.hasOwnProperty(e)||(t[e]=n.parse(e)),n.format.call(null,t[e],arguments)}function s(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function o(e,t){return Array(t+1).join(e)}n.format=function(e,i){var r,a,l,c,d,u,m,p=1,h=e.length,g="",v=[],f=!0,_="";for(a=0;a<h;a++)if("string"===(g=s(e[a])))v[v.length]=e[a];else if("array"===g){if((c=e[a])[2])for(r=i[p],l=0;l<c[2].length;l++){if(!r.hasOwnProperty(c[2][l]))throw new Error(n("[sprintf] property '%s' does not exist",c[2][l]));r=r[c[2][l]]}else r=c[1]?i[c[1]]:i[p++];if("function"==s(r)&&(r=r()),t.not_string.test(c[8])&&t.not_json.test(c[8])&&"number"!=s(r)&&isNaN(r))throw new TypeError(n("[sprintf] expecting number but found %s",s(r)));switch(t.number.test(c[8])&&(f=r>=0),c[8]){case"b":r=r.toString(2);break;case"c":r=String.fromCharCode(r);break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,c[6]?parseInt(c[6]):0);break;case"e":r=c[7]?r.toExponential(c[7]):r.toExponential();break;case"f":r=c[7]?parseFloat(r).toFixed(c[7]):parseFloat(r);break;case"g":r=c[7]?parseFloat(r).toPrecision(c[7]):parseFloat(r);break;case"o":r=r.toString(8);break;case"s":r=(r=String(r))&&c[7]?r.substring(0,c[7]):r;break;case"u":r>>>=0;break;case"x":r=r.toString(16);break;case"X":r=r.toString(16).toUpperCase()}t.json.test(c[8])?v[v.length]=r:(!t.number.test(c[8])||f&&!c[3]?_="":(_=f?"+":"-",r=r.toString().replace(t.sign,"")),u=c[4]?"0"===c[4]?"0":c[4].charAt(1):" ",m=c[6]-(_+r).length,d=c[6]&&m>0?o(u,m):"",v[v.length]=c[5]?_+r+d:"0"===u?_+d+r:d+_+r)}return v.join("")},n.cache={},n.parse=function(e){for(var n=e,s=[],o=[],i=0;n;){if(null!==(s=t.text.exec(n)))o[o.length]=s[0];else if(null!==(s=t.modulo.exec(n)))o[o.length]="%";else{if(null===(s=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(s[2]){i|=1;var r=[],a=s[2],l=[];if(null===(l=t.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(r[r.length]=l[1];""!==(a=a.substring(l[0].length));)if(null!==(l=t.key_access.exec(a)))r[r.length]=l[1];else{if(null===(l=t.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");r[r.length]=l[1]}s[2]=r}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");o[o.length]=s}n=n.substring(s[0].length)}return o},e.sprintf=n,e.vsprintf=function(e,t,s){return(s=(t||[]).slice(0)).splice(0,0,e),n.apply(null,s)}}()}(Mf)),Mf).sprintf,o=Qf(),i=Xf(),r=t_(),a="counterpart";function l(e){return"string"==typeof e||"[object String]"===Object.prototype.toString.call(e)}function c(e){return l(e)&&":"===e[0]}function d(e,t){return t.reduce(function(e,t){return function(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}(e)&&function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:null},e)}function u(){o.EventEmitter.apply(this),this._registry={locale:"en",interpolate:!0,fallbackLocales:[],scope:null,translations:{},interpolations:{},normalizedKeys:{},separator:".",keepTrailingDot:!1,keyTransformer:function(e){return e},generateMissingEntry:function(e){return"missing translation: "+e}},this.registerTranslations("en",(Gf||(Gf=1,Jf={counterpart:{names:e_(),pluralize:($f||($f=1,Kf=function(e,t){var n;return 0===t&&"zero"in e&&(n="zero"),e[n=n||(1===t?"one":"other")]}),Kf),formats:{date:{default:"%a, %e %b %Y",long:"%A, %B %o, %Y",short:"%b %e"},time:{default:"%H:%M",long:"%H:%M:%S %z",short:"%H:%M"},datetime:{default:"%a, %e %b %Y %H:%M",long:"%A, %B %o, %Y %H:%M:%S %z",short:"%e %b %H:%M"}}}}),Jf)),this.setMaxListeners(0)}u.prototype=o.EventEmitter.prototype,u.prototype.constructor=o.EventEmitter,u.prototype.getLocale=function(){return this._registry.locale},u.prototype.setLocale=function(e){var t=this._registry.locale;return t!=e&&(this._registry.locale=e,this.emit("localechange",e,t)),t},u.prototype.getFallbackLocale=function(){return this._registry.fallbackLocales},u.prototype.setFallbackLocale=function(e){var t=this._registry.fallbackLocales;return this._registry.fallbackLocales=[].concat(e||[]),t},u.prototype.getAvailableLocales=function(){return this._registry.availableLocales||Object.keys(this._registry.translations)},u.prototype.setAvailableLocales=function(e){var t=this.getAvailableLocales();return this._registry.availableLocales=e,t},u.prototype.getSeparator=function(){return this._registry.separator},u.prototype.setSeparator=function(e){var t=this._registry.separator;return this._registry.separator=e,t},u.prototype.setInterpolate=function(e){var t=this._registry.interpolate;return this._registry.interpolate=e,t},u.prototype.getInterpolate=function(){return this._registry.interpolate},u.prototype.setKeyTransformer=function(e){var t=this._registry.keyTransformer;return this._registry.keyTransformer=e,t},u.prototype.getKeyTransformer=function(){return this._registry.keyTransformer},u.prototype.setMissingEntryGenerator=function(e){var t=this._registry.generateMissingEntry;return this._registry.generateMissingEntry=e,t},u.prototype.getMissingEntryGenerator=function(){return this._registry.generateMissingEntry},u.prototype.registerTranslations=function(t,n){var s={};return s[t]=n,e(!0,this._registry.translations,s),s},u.prototype.registerInterpolations=function(t){return e(!0,this._registry.interpolations,t)},u.prototype.onLocaleChange=u.prototype.addLocaleChangeListener=function(e){this.addListener("localechange",e)},u.prototype.offLocaleChange=u.prototype.removeLocaleChangeListener=function(e){this.removeListener("localechange",e)},u.prototype.onTranslationNotFound=u.prototype.addTranslationNotFoundListener=function(e){this.addListener("translationnotfound",e)},u.prototype.offTranslationNotFound=u.prototype.removeTranslationNotFoundListener=function(e){this.removeListener("translationnotfound",e)},u.prototype.onError=u.prototype.addErrorListener=function(e){this.addListener("error",e)},u.prototype.offError=u.prototype.removeErrorListener=function(e){this.removeListener("error",e)},u.prototype.translate=function(n,s){if(!t(n)&&!l(n)||!n.length)throw new Error("invalid argument: key");c(n)&&(n=n.substr(1)),n=this._registry.keyTransformer(n,s);var o=(s=e(!0,{},s)).locale||this._registry.locale;delete s.locale;var i=s.scope||this._registry.scope;delete s.scope;var r=s.separator||this._registry.separator;delete s.separator;var a=[].concat(s.fallbackLocale||this._registry.fallbackLocales);delete s.fallbackLocale;var u=this._normalizeKeys(o,i,n,r),m=d(this._registry.translations,u);if(null===m&&(this.emit("translationnotfound",o,n,s.fallback,i),s.fallback&&(m=this._fallback(o,i,n,s.fallback,s))),null===m&&a.length>0&&-1===a.indexOf(o))for(var p=0,h=a.length;p<h;p++){var g=a[p],v=this._normalizeKeys(g,i,n,r);if(m=d(this._registry.translations,v)){o=g;break}}return null===m&&(m=this._registry.generateMissingEntry(u.join(r))),m=this._pluralize(o,m,s.count),!1!==this._registry.interpolate&&!1!==s.interpolate&&(m=this._interpolate(m,s)),m},u.prototype.localize=function(t,s){if(!n(t))throw new Error("invalid argument: object must be a date");var o=(s=e(!0,{},s)).locale||this._registry.locale,i=s.scope||a,l=s.type||"datetime",c=s.format||"default";return s={locale:o,scope:i,interpolate:!1},c=this.translate(["formats",l,c],e(!0,{},s)),r(t,c,this.translate("names",s))},u.prototype._pluralize=function(e,t,n){if("object"!=typeof t||null===t||"number"!=typeof n)return t;var s=this.translate("pluralize",{locale:e,scope:a});return"[object Function]"!==Object.prototype.toString.call(s)?s:s(t,n)},u.prototype.withLocale=function(e,t,n){var s=this._registry.locale;this._registry.locale=e;var o=t.call(n);return this._registry.locale=s,o},u.prototype.withScope=function(e,t,n){var s=this._registry.scope;this._registry.scope=e;var o=t.call(n);return this._registry.scope=s,o},u.prototype.withSeparator=function(e,t,n){var s=this.setSeparator(e),o=t.call(n);return this.setSeparator(s),o},u.prototype._normalizeKeys=function(e,t,n,s){var o=[];return o=(o=(o=o.concat(this._normalizeKey(e,s))).concat(this._normalizeKey(t,s))).concat(this._normalizeKey(n,s))},u.prototype._normalizeKey=function(e,n){return this._registry.normalizedKeys[n]=this._registry.normalizedKeys[n]||{},this._registry.normalizedKeys[n][e]=this._registry.normalizedKeys[n][e]||function(e){if(t(e)){var s=e.map(function(e){return this._normalizeKey(e,n)}.bind(this));return[].concat.apply([],s)}if(typeof e>"u"||null===e)return[];for(var o=e.split(n),i=o.length-1;i>=0;i--)""===o[i]&&(o.splice(i,1),!0===this._registry.keepTrailingDot&&i==o.length&&(o[o.length-1]+=""+n));return o}.bind(this)(e),this._registry.normalizedKeys[n][e]},u.prototype._interpolate=function(t,n){if("string"!=typeof t)return t;try{return s(t,e({},this._registry.interpolations,n))}catch(e){if(!(this.listenerCount("error")>0))throw e;return this.emit("error",e,t,n),null}},u.prototype._resolve=function(t,n,s,o,i){if(!1===(i=i||{}).resolve)return o;var r;if(c(o))r=this.translate(o,e({},i,{locale:t,scope:n}));else if(function(e){return"function"==typeof e||"[object Function]"===Object.prototype.toString.call(e)}(o)){var a;i.object?(a=i.object,delete i.object):a=s,r=this._resolve(t,n,s,o(a,i))}else r=o;return/^missing translation:/.test(r)?null:r},u.prototype._fallback=function(e,n,s,o,r){if(r=i(r,"fallback"),t(o)){for(var a=0,l=o.length;a<l;a++){var c=this._resolve(e,n,s,o[a],r);if(c)return c}return null}return this._resolve(e,n,s,o,r)};var m=new u;function p(){return m.translate.apply(m,arguments)}return e(p,m,{Instance:u,Translator:u}),qf=p}();const s_=T(n_),o_="i18n/";s_.setSeparator(Th);function i_(e,t){s_.registerTranslations(e,t)}function r_(){return s_.getLocale()}function a_(e){return s_.setLocale(e)}function l_(e){return e}function c_(e){return"string"==typeof e&&!e.startsWith("missing translation:")}s_.setFallbackLocale("en");function d_(e,t){const n={...t,interpolate:!1};return n&&"object"==typeof n&&Object.keys(n).forEach(e=>{void 0===n[e]&&(console.warn("safeCounterpartTranslate called with undefined interpolation name: "+e),n[e]="undefined"),null===n[e]&&(console.warn("safeCounterpartTranslate called with null interpolation name: "+e),n[e]="null")}),((e,t)=>{const n=s_.translate(e,{...t,fallbackLocale:s_.getLocale()});if(c_(n))return{translated:n};const s=s_.translate(e,{...t,locale:"en"});return c_(s)?{translated:s,isFallback:!0}:{translated:e,isFallback:!0}})(e,n)}const u_=(e,t)=>e;function m_(e,t,n){const{translated:s}=d_(e,t),o=v_(s,t,n);return u_(o)}function p_(e){return d_(e,{}).translated}function h_(e,t,n){const{translated:o,isFallback:i}=d_(e,t),r=v_(o,t,n);return u_(i?s.createElement("span",{lang:"en"},r):r)}function g_(e){return e.replace(/%\(([^)]*)\)/g,"% ($1)")}function v_(e,t,n){let s=e;if(void 0!==t){const e={};for(const n in t)e[`%\\(${n}\\)s`]=t[n];s=f_(s,e)}if(void 0!==n){const e={};for(const t in n)e[`(<${t}>(.*?)<\\/${t}>|<${t}>|<${t}\\s*\\/>)`]=n[t];s=f_(s,e)}return s}function f_(e,t){const n=[e];let o=!1;for(const s in t){const i=new RegExp(s,"g");let r=!1;for(let e=0;e<n.length;e++){const a=n[e];if("string"!=typeof a)continue;let l=i.exec(a);if(!l)continue;r=!0;const c=a.slice(0,l.index),d=[];let u;for(;l;){u=l;const e=l.slice(2);let n,r;if(n=t[s]instanceof Function?t[s](...e):t[s],"object"==typeof n&&(o=!0),("string"!=typeof n||""!==n)&&d.push(n),l=i.exec(a),l){const e=u.index+u[0].length;r=a.slice(e,l.index)}else r=a.slice(u.index+u[0].length);r&&d.push(r)}n.splice(e,1,...d),""!==c&&n.splice(e,0,c)}r||"%\\(count\\)s"!==s&&"%\\(locale\\)s"!==s&&console.log(`Could not find ${i} in ${e}`)}return o?s.createElement("span",null,...n):n.join("")}async function __(){const e=o_+"languages.json",t=await fetch(e,{method:"GET"});if(!t.ok)throw new Error(`Failed to load ${e}, got ${t.status}`);return t.json()}function y_({type:e,children:t,avatar:n,className:o,actions:i,onClose:r,...a}){const l=D(Sh,o),c=(0,s.useMemo)(()=>{switch(e){case"critical":return s.createElement(Eh,{fontSize:24});case"info":default:return s.createElement(xh,{fontSize:24});case"success":return s.createElement(bh,{fontSize:24})}},[e]);return s.createElement("div",{...a,className:l,"data-type":e},s.createElement("div",{className:kh},n??c),s.createElement("div",{className:Ch},t),s.createElement("div",{className:Rh},i,r&&s.createElement(v.$,{kind:"secondary",size:"sm",onClick:r},m_("action|dismiss"))))}const b_=new Map(JSON.parse('[{"number":0,"emoji":"🐶","description":"Dog","unicode":"U+1F436","translated_descriptions":{"ar":"كلب","bg":"Куче","ca":"Gos","cs":"Pes","de":"Hund","eo":"Hundo","es":"Perro","et":"Koer","fa":"سگ","fi":"Koira","fr":"Chien","hr":"pas","hu":"Kutya","id":"Anjing","it":"Cane","ja":"犬","nb_NO":"Hund","nl":"Hond","pt":"Cão","pt_BR":"Cachorro","ru":"Собака","si":"බල්ලා","sk":"Pes","sq":"Qen","sr":"пас","sv":"Hund","szl":null,"tzm":"Aydi","uk":"Пес","vi":"Chó","zh_Hans":"狗","zh_Hant":"狗"}},{"number":1,"emoji":"🐱","description":"Cat","unicode":"U+1F431","translated_descriptions":{"ar":"هِرَّة","bg":"Котка","ca":"Gat","cs":"Kočka","de":"Katze","eo":"Kato","es":"Gato","et":"Kass","fa":"گربه","fi":"Kissa","fr":"Chat","hr":"mačka","hu":"Macska","id":"Kucing","it":"Gatto","ja":"猫","nb_NO":"Katt","nl":"Kat","pt":"Gato","pt_BR":"Gato","ru":"Кошка","si":"පූසා","sk":"Mačka","sq":"Mace","sr":"мачка","sv":"Katt","szl":null,"tzm":"Amuc","uk":"Кіт","vi":"Mèo","zh_Hans":"猫","zh_Hant":"貓"}},{"number":2,"emoji":"🦁","description":"Lion","unicode":"U+1F981","translated_descriptions":{"ar":"أَسَد","bg":"Лъв","ca":"Lleó","cs":"Lev","de":"Löwe","eo":"Leono","es":"León","et":"Lõvi","fa":"شیر","fi":"Leijona","fr":"Lion","hr":"lav","hu":"Oroszlán","id":"Singa","it":"Leone","ja":"ライオン","nb_NO":"Løve","nl":"Leeuw","pt":"Leão","pt_BR":"Leão","ru":"Лев","si":"සිංහයා","sk":"Lev","sq":"Luan","sr":"лав","sv":"Lejon","szl":null,"tzm":"Izem","uk":"Лев","vi":"Sư tử","zh_Hans":"狮子","zh_Hant":"獅子"}},{"number":3,"emoji":"🐎","description":"Horse","unicode":"U+1F40E","translated_descriptions":{"ar":"حِصَان","bg":"Кон","ca":"Cavall","cs":"Kůň","de":"Pferd","eo":"Ĉevalo","es":"Caballo","et":"Hobune","fa":"اسب","fi":"Hevonen","fr":"Cheval","hr":"konj","hu":"Ló","id":"Kuda","it":"Cavallo","ja":"馬","nb_NO":"Hest","nl":"Paard","pt":"Cavalo","pt_BR":"Cavalo","ru":"Лошадь","si":"අශ්වයා","sk":"Kôň","sq":"Kalë","sr":"коњ","sv":"Häst","szl":null,"tzm":"Ayyis","uk":"Кінь","vi":"Ngựa","zh_Hans":"马","zh_Hant":"馬"}},{"number":4,"emoji":"🦄","description":"Unicorn","unicode":"U+1F984","translated_descriptions":{"ar":"حصان وحيد القرن","bg":"Еднорог","ca":"Unicorn","cs":"Jednorožec","de":"Einhorn","eo":"Unukorno","es":"Unicornio","et":"Ükssarvik","fa":"تک شاخ","fi":"Yksisarvinen","fr":"Licorne","hr":"jednorog","hu":"Egyszarvú","id":"Unicorn","it":"Unicorno","ja":"ユニコーン","nb_NO":"Enhjørning","nl":"Eenhoorn","pt":"Unicórnio","pt_BR":"Unicórnio","ru":"Единорог","si":null,"sk":"Jednorožec","sq":"Njëbrirësh","sr":"једнорог","sv":"Enhörning","szl":null,"tzm":null,"uk":"Єдиноріг","vi":"Kỳ lân","zh_Hans":"独角兽","zh_Hant":"獨角獸"}},{"number":5,"emoji":"🐷","description":"Pig","unicode":"U+1F437","translated_descriptions":{"ar":"خِنزِير","bg":"Прасе","ca":"Porc","cs":"Prase","de":"Schwein","eo":"Porko","es":"Cerdo","et":"Siga","fa":"خوک","fi":"Sika","fr":"Cochon","hr":"svinja","hu":"Malac","id":"Babi","it":"Maiale","ja":"ブタ","nb_NO":"Gris","nl":"Varken","pt":"Porco","pt_BR":"Porco","ru":"Свинья","si":null,"sk":"Prasa","sq":"Derr","sr":"прасе","sv":"Gris","szl":null,"tzm":"Ilef","uk":"Свиня","vi":"Heo","zh_Hans":"猪","zh_Hant":"豬"}},{"number":6,"emoji":"🐘","description":"Elephant","unicode":"U+1F418","translated_descriptions":{"ar":"فِيل","bg":"Слон","ca":"Elefant","cs":"Slon","de":"Elefant","eo":"Elefanto","es":"Elefante","et":"Elevant","fa":"فیل","fi":"Norsu","fr":"Éléphant","hr":"slon","hu":"Elefánt","id":"Gajah","it":"Elefante","ja":"ゾウ","nb_NO":"Elefant","nl":"Olifant","pt":"Elefante","pt_BR":"Elefante","ru":"Слон","si":null,"sk":"Slon","sq":"Elefant","sr":"слон","sv":"Elefant","szl":null,"tzm":"Ilu","uk":"Слон","vi":"Voi","zh_Hans":"大象","zh_Hant":"大象"}},{"number":7,"emoji":"🐰","description":"Rabbit","unicode":"U+1F430","translated_descriptions":{"ar":"أَرنَب","bg":"Заек","ca":"Conill","cs":"Králík","de":"Hase","eo":"Kuniklo","es":"Conejo","et":"Jänes","fa":"خرگوش","fi":"Kani","fr":"Lapin","hr":"zec","hu":"Nyúl","id":"Kelinci","it":"Coniglio","ja":"うさぎ","nb_NO":"Kanin","nl":"Konijn","pt":"Coelho","pt_BR":"Coelho","ru":"Кролик","si":null,"sk":"Zajac","sq":"Lepur","sr":"зец","sv":"Kanin","szl":null,"tzm":"Agnin","uk":"Кріль","vi":"Thỏ","zh_Hans":"兔子","zh_Hant":"兔子"}},{"number":8,"emoji":"🐼","description":"Panda","unicode":"U+1F43C","translated_descriptions":{"ar":"باندَا","bg":"Панда","ca":"Panda","cs":"Panda","de":"Panda","eo":"Pando","es":"Panda","et":"Panda","fa":"پاندا","fi":"Panda","fr":"Panda","hr":"panda","hu":"Panda","id":"Panda","it":"Panda","ja":"パンダ","nb_NO":"Panda","nl":"Panda","pt":"Panda","pt_BR":"Panda","ru":"Панда","si":null,"sk":"Panda","sq":"Panda","sr":"панда","sv":"Panda","szl":null,"tzm":null,"uk":"Панда","vi":"Gấu trúc","zh_Hans":"熊猫","zh_Hant":"熊貓"}},{"number":9,"emoji":"🐓","description":"Rooster","unicode":"U+1F413","translated_descriptions":{"ar":"دِيك","bg":"Петел","ca":"Gall","cs":"Kohout","de":"Hahn","eo":"Virkoko","es":"Gallo","et":"Kukk","fa":"خروس","fi":"Kukko","fr":"Coq","hr":"kokot","hu":"Kakas","id":"Ayam","it":"Gallo","ja":"ニワトリ","nb_NO":"Hane","nl":"Haan","pt":"Galo","pt_BR":"Galo","ru":"Петух","si":null,"sk":"Kohút","sq":"Këndes","sr":"петао","sv":"Tupp","szl":null,"tzm":"Ayaẓiḍ","uk":"Когут","vi":"Gà trống","zh_Hans":"公鸡","zh_Hant":"公雞"}},{"number":10,"emoji":"🐧","description":"Penguin","unicode":"U+1F427","translated_descriptions":{"ar":"بطريق","bg":"Пингвин","ca":"Pingüí","cs":"Tučňák","de":"Pinguin","eo":"Pingveno","es":"Pingüino","et":"Pingviin","fa":"پنگوئن","fi":"Pingviini","fr":"Manchot","hr":"pingvin","hu":"Pingvin","id":"Penguin","it":"Pinguino","ja":"ペンギン","nb_NO":"Pingvin","nl":"Pinguïn","pt":"Pinguim","pt_BR":"Pinguim","ru":"Пингвин","si":null,"sk":"Tučniak","sq":"Pinguin","sr":"пингвин","sv":"Pingvin","szl":null,"tzm":null,"uk":"Пінгвін","vi":"Chim cánh cụt","zh_Hans":"企鹅","zh_Hant":"企鵝"}},{"number":11,"emoji":"🐢","description":"Turtle","unicode":"U+1F422","translated_descriptions":{"ar":"سُلحفاة","bg":"Костенурка","ca":"Tortuga","cs":"Želva","de":"Schildkröte","eo":"Testudo","es":"Tortuga","et":"Kilpkonn","fa":"لاکپشت","fi":"Kilpikonna","fr":"Tortue","hr":"kornjača","hu":"Teknős","id":"Kura-Kura","it":"Tartaruga","ja":"亀","nb_NO":"Skilpadde","nl":"Schildpad","pt":"Tartaruga","pt_BR":"Tartaruga","ru":"Черепаха","si":null,"sk":"Korytnačka","sq":"Breshkë","sr":"корњача","sv":"Sköldpadda","szl":null,"tzm":"Ifker","uk":"Черепаха","vi":"Rùa","zh_Hans":"乌龟","zh_Hant":"烏龜"}},{"number":12,"emoji":"🐟","description":"Fish","unicode":"U+1F41F","translated_descriptions":{"ar":"سَمَكة","bg":"Риба","ca":"Peix","cs":"Ryba","de":"Fisch","eo":"Fiŝo","es":"Pez","et":"Kala","fa":"ماهی","fi":"Kala","fr":"Poisson","hr":"riba","hu":"Hal","id":"Ikan","it":"Pesce","ja":"魚","nb_NO":"Fisk","nl":"Vis","pt":"Peixe","pt_BR":"Peixe","ru":"Рыба","si":null,"sk":"Ryba","sq":"Peshk","sr":"риба","sv":"Fisk","szl":null,"tzm":"Aselm","uk":"Риба","vi":"Cá","zh_Hans":"鱼","zh_Hant":"魚"}},{"number":13,"emoji":"🐙","description":"Octopus","unicode":"U+1F419","translated_descriptions":{"ar":"أُخطُبُوط","bg":"Октопод","ca":"Pop","cs":"Chobotnice","de":"Oktopus","eo":"Polpo","es":"Pulpo","et":"Kaheksajalg","fa":"اختاپوس","fi":"Tursas","fr":"Poulpe","hr":"hobotnica","hu":"Polip","id":"Gurita","it":"Polpo","ja":"たこ","nb_NO":"Blekksprut","nl":"Octopus","pt":"Polvo","pt_BR":"Polvo","ru":"Осьминог","si":null,"sk":"Chobotnica","sq":"Oktapod","sr":"октопод","sv":"Bläckfisk","szl":null,"tzm":null,"uk":"Восьминіг","vi":"Bạch tuộc","zh_Hans":"章鱼","zh_Hant":"章魚"}},{"number":14,"emoji":"🦋","description":"Butterfly","unicode":"U+1F98B","translated_descriptions":{"ar":"فَرَاشَة","bg":"Пеперуда","ca":"Papallona","cs":"Motýl","de":"Schmetterling","eo":"Papilio","es":"Mariposa","et":"Liblikas","fa":"پروانه","fi":"Perhonen","fr":"Papillon","hr":"leptir","hu":"Pillangó","id":"Kupu-Kupu","it":"Farfalla","ja":"ちょうちょ","nb_NO":"Sommerfugl","nl":"Vlinder","pt":"Borboleta","pt_BR":"Borboleta","ru":"Бабочка","si":null,"sk":"Motýľ","sq":"Flutur","sr":"лептир","sv":"Fjäril","szl":null,"tzm":null,"uk":"Метелик","vi":"Bướm","zh_Hans":"蝴蝶","zh_Hant":"蝴蝶"}},{"number":15,"emoji":"🌷","description":"Flower","unicode":"U+1F337","translated_descriptions":{"ar":"زَهرَة","bg":"Цвете","ca":"Flor","cs":"Květina","de":"Blume","eo":"Floro","es":"Flor","et":"Lill","fa":"گل","fi":"Kukka","fr":"Fleur","hr":"svijet","hu":"Virág","id":"Bunga","it":"Fiore","ja":"花","nb_NO":"Blomst","nl":"Bloem","pt":"Flor","pt_BR":"Flor","ru":"Цветок","si":null,"sk":"Kvet","sq":"Lule","sr":"цвет","sv":"Blomma","szl":null,"tzm":null,"uk":"Квітка","vi":"Hoa","zh_Hans":"花","zh_Hant":"花"}},{"number":16,"emoji":"🌳","description":"Tree","unicode":"U+1F333","translated_descriptions":{"ar":"شَجَرَة","bg":"Дърво","ca":"Arbre","cs":"Strom","de":"Baum","eo":"Arbo","es":"Árbol","et":"Puu","fa":"درخت","fi":"Puu","fr":"Arbre","hr":"drvo","hu":"Fa","id":"Pohon","it":"Albero","ja":"木","nb_NO":"Tre","nl":"Boom","pt":"Árvore","pt_BR":"Árvore","ru":"Дерево","si":null,"sk":"Strom","sq":"Pemë","sr":"дрво","sv":"Träd","szl":null,"tzm":"Aseklu","uk":"Дерево","vi":"Cây","zh_Hans":"树","zh_Hant":"樹"}},{"number":17,"emoji":"🌵","description":"Cactus","unicode":"U+1F335","translated_descriptions":{"ar":"صبار","bg":"Кактус","ca":"Cactus","cs":"Kaktus","de":"Kaktus","eo":"Kakto","es":"Cactus","et":"Kaktus","fa":"کاکتوس","fi":"Kaktus","fr":"Cactus","hr":"kaktus","hu":"Kaktusz","id":"Kaktus","it":"Cactus","ja":"サボテン","nb_NO":"Kaktus","nl":"Cactus","pt":"Cato","pt_BR":"Cacto","ru":"Кактус","si":null,"sk":"Kaktus","sq":"Kaktus","sr":"кактус","sv":"Kaktus","szl":null,"tzm":null,"uk":"Кактус","vi":"Xương rồng","zh_Hans":"仙人掌","zh_Hant":"仙人掌"}},{"number":18,"emoji":"🍄","description":"Mushroom","unicode":"U+1F344","translated_descriptions":{"ar":"فُطر","bg":"Гъба","ca":"Bolet","cs":"Houba","de":"Pilz","eo":"Fungo","es":"Seta","et":"Seen","fa":"قارچ","fi":"Sieni","fr":"Champignon","hr":"gljiva","hu":"Gomba","id":"Jamur","it":"Fungo","ja":"きのこ","nb_NO":"Sopp","nl":"Paddenstoel","pt":"Cogumelo","pt_BR":"Cogumelo","ru":"Гриб","si":null,"sk":"Huba","sq":"Kërpudhë","sr":"печурка","sv":"Svamp","szl":null,"tzm":"Agursel","uk":"Гриб","vi":"Nấm","zh_Hans":"蘑菇","zh_Hant":"蘑菇"}},{"number":19,"emoji":"🌏","description":"Globe","unicode":"U+1F30F","translated_descriptions":{"ar":"كُرَةٌ أرضِيَّة","bg":"Глобус","ca":"Globus terraqüi","cs":"Zeměkoule","de":"Globus","eo":"Globo","es":"Globo","et":"Maakera","fa":"زمین","fi":"Maapallo","fr":"Globe","hr":"Globus","hu":"Földgömb","id":"Bola Dunia","it":"Globo","ja":"地球","nb_NO":"Globus","nl":"Wereldbol","pt":"Globo","pt_BR":"Globo","ru":"Глобус","si":null,"sk":"Zemeguľa","sq":"Rruzull","sr":"глобус","sv":"Jordklot","szl":null,"tzm":null,"uk":"Глобус","vi":"Địa cầu","zh_Hans":"地球","zh_Hant":"地球"}},{"number":20,"emoji":"🌙","description":"Moon","unicode":"U+1F319","translated_descriptions":{"ar":"قَمَر","bg":"Луна","ca":"Lluna","cs":"Měsíc","de":"Mond","eo":"Luno","es":"Luna","et":"Kuu","fa":"ماه","fi":"Kuu","fr":"Lune","hr":"mjesec","hu":"Hold","id":"Bulan","it":"Luna","ja":"月","nb_NO":"Måne","nl":"Maan","pt":"Lua","pt_BR":"Lua","ru":"Луна","si":null,"sk":"Mesiac","sq":"Hënë","sr":"месец","sv":"Måne","szl":null,"tzm":"Ayyur","uk":"Місяць","vi":"Mặt trăng","zh_Hans":"月亮","zh_Hant":"月亮"}},{"number":21,"emoji":"☁️","description":"Cloud","unicode":"U+2601U+FE0F","translated_descriptions":{"ar":"سَحابَة","bg":"Облак","ca":"Núvol","cs":"Mrak","de":"Wolke","eo":"Nubo","es":"Nube","et":"Pilv","fa":"ابر","fi":"Pilvi","fr":"Nuage","hr":"oblak","hu":"Felhő","id":"Awan","it":"Nuvola","ja":"雲","nb_NO":"Sky","nl":"Wolk","pt":"Nuvem","pt_BR":"Nuvem","ru":"Облако","si":null,"sk":"Oblak","sq":"Re","sr":"облак","sv":"Moln","szl":null,"tzm":null,"uk":"Хмара","vi":"Mây","zh_Hans":"云","zh_Hant":"雲朵"}},{"number":22,"emoji":"🔥","description":"Fire","unicode":"U+1F525","translated_descriptions":{"ar":"نار","bg":"Огън","ca":"Foc","cs":"Oheň","de":"Feuer","eo":"Fajro","es":"Fuego","et":"Tuli","fa":"آتش","fi":"Tuli","fr":"Feu","hr":"vatra","hu":"Tűz","id":"Api","it":"Fuoco","ja":"炎","nb_NO":"Flamme","nl":"Vuur","pt":"Fogo","pt_BR":"Fogo","ru":"Огонь","si":null,"sk":"Oheň","sq":"Zjarr","sr":"ватра","sv":"Eld","szl":null,"tzm":"Timessi","uk":"Вогонь","vi":"Lửa","zh_Hans":"火","zh_Hant":"火"}},{"number":23,"emoji":"🍌","description":"Banana","unicode":"U+1F34C","translated_descriptions":{"ar":"مَوزَة","bg":"Банан","ca":"Plàtan","cs":"Banán","de":"Banane","eo":"Banano","es":"Plátano","et":"Banaan","fa":"موز","fi":"Banaani","fr":"Banane","hr":"banana","hu":"Banán","id":"Pisang","it":"Banana","ja":"バナナ","nb_NO":"Banan","nl":"Banaan","pt":"Banana","pt_BR":"Banana","ru":"Банан","si":null,"sk":"Banán","sq":"Banane","sr":"банана","sv":"Banan","szl":null,"tzm":"Tabanant","uk":"Банан","vi":"Chuối","zh_Hans":"香蕉","zh_Hant":"香蕉"}},{"number":24,"emoji":"🍎","description":"Apple","unicode":"U+1F34E","translated_descriptions":{"ar":"تُفَّاحَة","bg":"Ябълка","ca":"Poma","cs":"Jablko","de":"Apfel","eo":"Pomo","es":"Manzana","et":"Õun","fa":"سیب","fi":"Omena","fr":"Pomme","hr":"jabuka","hu":"Alma","id":"Apel","it":"Mela","ja":"リンゴ","nb_NO":"Eple","nl":"Appel","pt":"Maçã","pt_BR":"Maçã","ru":"Яблоко","si":null,"sk":"Jablko","sq":"Mollë","sr":"јабука","sv":"Äpple","szl":null,"tzm":"Tadeffuyt","uk":"Яблуко","vi":"Táo","zh_Hans":"苹果","zh_Hant":"蘋果"}},{"number":25,"emoji":"🍓","description":"Strawberry","unicode":"U+1F353","translated_descriptions":{"ar":"فَراوِلَة","bg":"Ягода","ca":"Maduixa","cs":"Jahoda","de":"Erdbeere","eo":"Frago","es":"Fresa","et":"Maasikas","fa":"توت فرنگی","fi":"Mansikka","fr":"Fraise","hr":"jagoda","hu":"Eper","id":"Stroberi","it":"Fragola","ja":"いちご","nb_NO":"Jordbær","nl":"Aardbei","pt":"Morango","pt_BR":"Morango","ru":"Клубника","si":null,"sk":"Jahoda","sq":"Luleshtrydhe","sr":"јагода","sv":"Jordgubbe","szl":null,"tzm":null,"uk":"Полуниця","vi":"Dâu tây","zh_Hans":"草莓","zh_Hant":"草莓"}},{"number":26,"emoji":"🌽","description":"Corn","unicode":"U+1F33D","translated_descriptions":{"ar":"ذُرَة","bg":"Царевица","ca":"Blat de moro","cs":"Kukuřice","de":"Mais","eo":"Maizo","es":"Maíz","et":"Mais","fa":"ذرت","fi":"Maissi","fr":"Maïs","hr":"kukuruza","hu":"Kukorica","id":"Jagung","it":"Mais","ja":"とうもろこし","nb_NO":"Mais","nl":"Maïs","pt":"Milho","pt_BR":"Milho","ru":"Кукуруза","si":null,"sk":"Kukurica","sq":"Misër","sr":"кукуруз","sv":"Majs","szl":null,"tzm":null,"uk":"Кукурудза","vi":"Bắp","zh_Hans":"玉米","zh_Hant":"玉米"}},{"number":27,"emoji":"🍕","description":"Pizza","unicode":"U+1F355","translated_descriptions":{"ar":"بِيتزا","bg":"Пица","ca":"Pizza","cs":"Pizza","de":"Pizza","eo":"Pico","es":"Pizza","et":"Pitsa","fa":"پیتزا","fi":"Pizza","fr":"Pizza","hr":"pizza","hu":"Pizza","id":"Pizza","it":"Pizza","ja":"ピザ","nb_NO":"Pizza","nl":"Pizza","pt":"Piza","pt_BR":"Pizza","ru":"Пицца","si":null,"sk":"Pizza","sq":"Picë","sr":"пица","sv":"Pizza","szl":null,"tzm":null,"uk":"Піца","vi":"Pizza","zh_Hans":"披萨","zh_Hant":"披薩"}},{"number":28,"emoji":"🎂","description":"Cake","unicode":"U+1F382","translated_descriptions":{"ar":"كَعكَة","bg":"Торта","ca":"Pastís","cs":"Dort","de":"Kuchen","eo":"Torto","es":"Tarta","et":"Kook","fa":"کیک","fi":"Kakku","fr":"Gâteau","hr":"torta","hu":"Süti","id":"Kue","it":"Torta","ja":"ケーキ","nb_NO":"Kake","nl":"Taart","pt":"Bolo","pt_BR":"Bolo","ru":"Торт","si":null,"sk":"Torta","sq":"Tortë","sr":"торта","sv":"Tårta","szl":null,"tzm":null,"uk":"Пиріг","vi":"Bánh","zh_Hans":"蛋糕","zh_Hant":"蛋糕"}},{"number":29,"emoji":"❤️","description":"Heart","unicode":"U+2764U+FE0F","translated_descriptions":{"ar":"قَلب","bg":"Сърце","ca":"Cor","cs":"Srdce","de":"Herz","eo":"Koro","es":"Corazón","et":"Süda","fa":"قلب","fi":"Sydän","fr":"Cœur","hr":"srca","hu":"Szív","id":"Hati","it":"Cuore","ja":"ハート","nb_NO":"Hjerte","nl":"Hart","pt":"Coração","pt_BR":"Coração","ru":"Сердце","si":null,"sk":"Srdce","sq":"Zemër","sr":"срце","sv":"Hjärta","szl":null,"tzm":"Ul","uk":"Серце","vi":"Tim","zh_Hans":"心","zh_Hant":"愛心"}},{"number":30,"emoji":"😀","description":"Smiley","unicode":"U+1F600","translated_descriptions":{"ar":"اِبتِسَامَة","bg":"Усмивка","ca":"Somrient","cs":"Smajlík","de":"Lächeln","eo":"Rideto","es":"Emoticono","et":"Smaili","fa":"خنده","fi":"Hymynaama","fr":"Sourire","hr":"smajlića","hu":"Mosoly","id":"Senyuman","it":"Faccina sorridente","ja":"スマイル","nb_NO":"Smilefjes","nl":"Smiley","pt":"Sorriso","pt_BR":"Sorriso","ru":"Улыбка","si":null,"sk":"Smajlík","sq":"Emotikon","sr":"смајли","sv":"Smiley","szl":null,"tzm":null,"uk":"Посмішка","vi":"Mặt cười","zh_Hans":"笑脸","zh_Hant":"笑臉"}},{"number":31,"emoji":"🤖","description":"Robot","unicode":"U+1F916","translated_descriptions":{"ar":"رُوبُوت","bg":"Робот","ca":"Robot","cs":"Robot","de":"Roboter","eo":"Roboto","es":"Robot","et":"Robot","fa":"ربات","fi":"Robotti","fr":"Robot","hr":"robot","hu":"Robot","id":"Robot","it":"Robot","ja":"ロボット","nb_NO":"Robot","nl":"Robot","pt":"Robô","pt_BR":"Robô","ru":"Робот","si":null,"sk":"Robot","sq":"Robot","sr":"робот","sv":"Robot","szl":null,"tzm":"Aṛubu","uk":"Робот","vi":"Rô-bô","zh_Hans":"机器人","zh_Hant":"機器人"}},{"number":32,"emoji":"🎩","description":"Hat","unicode":"U+1F3A9","translated_descriptions":{"ar":"قُبَّعَة","bg":"Шапка","ca":"Barret","cs":"Klobouk","de":"Hut","eo":"Ĉapelo","es":"Sombrero","et":"Kübar","fa":"کلاه","fi":"Hattu","fr":"Chapeau","hr":"kapa","hu":"Kalap","id":"Topi","it":"Cappello","ja":"帽子","nb_NO":"Hatt","nl":"Hoed","pt":"Chapéu","pt_BR":"Chapéu","ru":"Шляпа","si":null,"sk":"Klobúk","sq":"Kapë","sr":"шешир","sv":"Hatt","szl":null,"tzm":"Taraza","uk":"Капелюх","vi":"Mũ","zh_Hans":"帽子","zh_Hant":"帽子"}},{"number":33,"emoji":"👓","description":"Glasses","unicode":"U+1F453","translated_descriptions":{"ar":"نَظَّارَة","bg":"Очила","ca":"Ulleres","cs":"Brýle","de":"Brille","eo":"Okulvitroj","es":"Gafas","et":"Prillid","fa":"عینک","fi":"Silmälasit","fr":"Lunettes","hr":"naočale","hu":"Szemüveg","id":"Kacamata","it":"Occhiali","ja":"めがね","nb_NO":"Briller","nl":"Bril","pt":"Óculos","pt_BR":"Óculos","ru":"Очки","si":null,"sk":"Okuliare","sq":"Syze","sr":"наочаре","sv":"Glasögon","szl":null,"tzm":null,"uk":"Окуляри","vi":"Kính mắt","zh_Hans":"眼镜","zh_Hant":"眼鏡"}},{"number":34,"emoji":"🔧","description":"Spanner","unicode":"U+1F527","translated_descriptions":{"ar":"مِفتَاحُ رَبط","bg":"Гаечен ключ","ca":"Clau anglesa","cs":"Klíč","de":"Schraubenschlüssel","eo":"Ŝraŭbŝlosilo","es":"Llave inglesa","et":"Mutrivõti","fa":"آچار","fi":"Kiintoavain","fr":"Clé à molette","hr":"ključ","hu":"Csavarkulcs","id":"Kunci Bengkel","it":"Chiave inglese","ja":"スパナ","nb_NO":"Fastnøkkel","nl":"Moersleutel","pt":"Chave inglesa","pt_BR":"Chave inglesa","ru":"Ключ","si":null,"sk":"Vidlicový kľúč","sq":"Çelës","sr":"кључ","sv":"Skruvnyckel","szl":null,"tzm":null,"uk":"Гайковий ключ","vi":"Cờ-lê","zh_Hans":"扳手","zh_Hant":"扳手"}},{"number":35,"emoji":"🎅","description":"Santa","unicode":"U+1F385","translated_descriptions":{"ar":"سانتا","bg":"Дядо Коледа","ca":"Pare Noél","cs":"Mikuláš","de":"Weihnachtsmann","eo":"Kristnaska viro","es":"Papá Noel","et":"Jõuluvana","fa":"بابا نوئل","fi":"Joulupukki","fr":"Père Noël","hr":"deda Mraz","hu":"Télapó","id":"Santa","it":"Babbo Natale","ja":"サンタ","nb_NO":"Julenisse","nl":"Kerstman","pt":"Pai Natal","pt_BR":"Papai-noel","ru":"Санта","si":null,"sk":"Mikuláš","sq":"Babagjyshi i Vitit të Ri","sr":"деда Мраз","sv":"Tomte","szl":null,"tzm":null,"uk":"Санта Клаус","vi":"ông già Nô-en","zh_Hans":"圣诞老人","zh_Hant":"聖誕老人"}},{"number":36,"emoji":"👍","description":"Thumbs Up","unicode":"U+1F44D","translated_descriptions":{"ar":"رَفعُ إِبهَام","bg":"Палец нагоре","ca":"Polzes amunt","cs":"Palec nahoru","de":"Daumen Hoch","eo":"Dikfingro supren","es":"Pulgar arriba","et":"Pöidlad püsti","fa":"لایک","fi":"Peukalo ylös","fr":"Pouce en l’air","hr":"palac gore","hu":"Hüvelykujj fel","id":"Jempol","it":"Pollice alzato","ja":"いいね","nb_NO":"Tommel Opp","nl":"Duim omhoog","pt":"Polegar para cima","pt_BR":"Joinha","ru":"Большой палец вверх","si":null,"sk":"Palec nahor","sq":null,"sr":"палчић горе","sv":"Tummen upp","szl":null,"tzm":null,"uk":"Великий палець вгору","vi":"Thích","zh_Hans":"赞","zh_Hant":"讚"}},{"number":37,"emoji":"☂️","description":"Umbrella","unicode":"U+2602U+FE0F","translated_descriptions":{"ar":"مِظَلَّة","bg":"Чадър","ca":"Paraigües","cs":"Deštník","de":"Regenschirm","eo":"Ombrelo","es":"Paraguas","et":"Vihmavari","fa":"چتر","fi":"Sateenvarjo","fr":"Parapluie","hr":"kišobran","hu":"Esernyő","id":"Payung","it":"Ombrello","ja":"傘","nb_NO":"Paraply","nl":"Paraplu","pt":"Guarda-chuva","pt_BR":"Guarda-chuva","ru":"Зонт","si":null,"sk":"Dáždnik","sq":"Ombrellë","sr":"кишобран","sv":"Paraply","szl":null,"tzm":null,"uk":"Парасолька","vi":"Cái ô","zh_Hans":"伞","zh_Hant":"雨傘"}},{"number":38,"emoji":"⌛","description":"Hourglass","unicode":"U+231B","translated_descriptions":{"ar":"سَاعَةٌ رَملِيَّة","bg":"Пясъчен часовник","ca":"Rellotge de sorra","cs":"Přesýpací hodiny","de":"Sanduhr","eo":"Sablohorloĝo","es":"Reloj de arena","et":"Liivakell","fa":"ساعت شنی","fi":"Tiimalasi","fr":"Sablier","hr":"pješčani sat","hu":"Homokóra","id":"Jam Pasir","it":"Clessidra","ja":"砂時計","nb_NO":"Timeglass","nl":"Zandloper","pt":"Ampulheta","pt_BR":"Ampulheta","ru":"Песочные часы","si":null,"sk":"Presýpacie hodiny","sq":"Klepsidër","sr":"пешчаник","sv":"Timglas","szl":null,"tzm":null,"uk":"Пісковий годинник","vi":"Đồng hồ cát","zh_Hans":"沙漏","zh_Hant":"沙漏"}},{"number":39,"emoji":"⏰","description":"Clock","unicode":"U+23F0","translated_descriptions":{"ar":"سَاعَة","bg":"Часовник","ca":"Rellotge","cs":"Hodiny","de":"Uhr","eo":"Horloĝo","es":"Reloj","et":"Kell","fa":"ساعت","fi":"Pöytäkello","fr":"Réveil","hr":"sat","hu":"Óra","id":"Jam","it":"Orologio","ja":"時計","nb_NO":"Klokke","nl":"Wekker","pt":"Relógio","pt_BR":"Relógio","ru":"Часы","si":null,"sk":"Budík","sq":"Sahat","sr":"сат","sv":"Klocka","szl":null,"tzm":null,"uk":"Годинник","vi":"Đồng hồ","zh_Hans":"时钟","zh_Hant":"時鐘"}},{"number":40,"emoji":"🎁","description":"Gift","unicode":"U+1F381","translated_descriptions":{"ar":"هَدِيَّة","bg":"Подарък","ca":"Regal","cs":"Dárek","de":"Geschenk","eo":"Donaco","es":"Regalo","et":"Kingitus","fa":"هدیه","fi":"Lahja","fr":"Cadeau","hr":"poklon","hu":"Ajándék","id":"Kado","it":"Regalo","ja":"ギフト","nb_NO":"Gave","nl":"Geschenk","pt":"Presente","pt_BR":"Presente","ru":"Подарок","si":null,"sk":"Darček","sq":"Dhuratë","sr":"поклон","sv":"Present","szl":null,"tzm":null,"uk":"Подарунок","vi":"Quà tặng","zh_Hans":"礼物","zh_Hant":"禮物"}},{"number":41,"emoji":"💡","description":"Light Bulb","unicode":"U+1F4A1","translated_descriptions":{"ar":"مِصبَاح","bg":"Лампа","ca":"Bombeta","cs":"Žárovka","de":"Glühbirne","eo":"Lampo","es":"Bombilla","et":"Lambipirn","fa":"لامپ","fi":"Hehkulamppu","fr":"Ampoule","hr":"žarulja","hu":"Égő","id":"Bohlam Lampu","it":"Lampadina","ja":"電球","nb_NO":"Lyspære","nl":"Gloeilamp","pt":"Lâmpada","pt_BR":"Lâmpada","ru":"Лампочка","si":null,"sk":"Žiarovka","sq":"Llambë","sr":"сијалица","sv":"Lampa","szl":null,"tzm":null,"uk":"Лампочка","vi":"Bóng đèn tròn","zh_Hans":"灯泡","zh_Hant":"燈泡"}},{"number":42,"emoji":"📕","description":"Book","unicode":"U+1F4D5","translated_descriptions":{"ar":"كِتَاب","bg":"Книга","ca":"Llibre","cs":"Kniha","de":"Buch","eo":"Libro","es":"Libro","et":"Raamat","fa":"کتاب","fi":"Kirja","fr":"Livre","hr":"knjiga","hu":"Könyv","id":"Buku","it":"Libro","ja":"本","nb_NO":"Bok","nl":"Boek","pt":"Livro","pt_BR":"Livro","ru":"Книга","si":null,"sk":"Kniha","sq":"Libër","sr":"књига","sv":"Bok","szl":null,"tzm":"Adlis","uk":"Книга","vi":"Sách","zh_Hans":"书","zh_Hant":"書"}},{"number":43,"emoji":"✏️","description":"Pencil","unicode":"U+270FU+FE0F","translated_descriptions":{"ar":"قَلَمُ رَصاص","bg":"Молив","ca":"Llapis","cs":"Tužka","de":"Bleistift","eo":"Krajono","es":"Lápiz","et":"Pliiats","fa":"مداد","fi":"Lyijykynä","fr":"Crayon","hr":"olovka","hu":"Ceruza","id":"Pensil","it":"Matita","ja":"鉛筆","nb_NO":"Blyant","nl":"Potlood","pt":"Lápis","pt_BR":"Lápis","ru":"Карандаш","si":null,"sk":"Ceruzka","sq":"Laps","sr":"оловка","sv":"Penna","szl":null,"tzm":null,"uk":"Олівець","vi":"Viết chì","zh_Hans":"铅笔","zh_Hant":"鉛筆"}},{"number":44,"emoji":"📎","description":"Paperclip","unicode":"U+1F4CE","translated_descriptions":{"ar":"مِشبَكُ وَرَق","bg":"Кламер","ca":"Clip","cs":"Sponka","de":"Büroklammer","eo":"Paperkuntenilo","es":"Clip","et":"Kirjaklamber","fa":"گیره کاغذ","fi":"Paperiliitin","fr":"Trombone","hr":"spajalica","hu":"Gémkapocs","id":"Klip Kertas","it":"Graffetta","ja":"クリップ","nb_NO":"BInders","nl":"Papierklemmetje","pt":"Clipe","pt_BR":"Clipe de papel","ru":"Скрепка","si":null,"sk":"Kancelárska sponka","sq":"Kapëse","sr":"спајалица","sv":"Gem","szl":null,"tzm":null,"uk":"Спиначка","vi":"Kẹp giấy","zh_Hans":"回形针","zh_Hant":"迴紋針"}},{"number":45,"emoji":"✂️","description":"Scissors","unicode":"U+2702U+FE0F","translated_descriptions":{"ar":"مِقَصّ","bg":"Ножици","ca":"Tisores","cs":"Nůžky","de":"Schere","eo":"Tondilo","es":"Tijeras","et":"Käärid","fa":"قیچی","fi":"Sakset","fr":"Ciseaux","hr":"škare","hu":"Olló","id":"Gunting","it":"Forbici","ja":"はさみ","nb_NO":"Saks","nl":"Schaar","pt":"Tesoura","pt_BR":"Tesoura","ru":"Ножницы","si":null,"sk":"Nožnice","sq":"Gërshërë","sr":"маказе","sv":"Sax","szl":null,"tzm":null,"uk":"Ножиці","vi":"Cái kéo","zh_Hans":"剪刀","zh_Hant":"剪刀"}},{"number":46,"emoji":"🔒","description":"Lock","unicode":"U+1F512","translated_descriptions":{"ar":"قُفل","bg":"Катинар","ca":"Cadenat","cs":"Zámek","de":"Schloss","eo":"Seruro","es":"Candado","et":"Lukk","fa":"قفل","fi":"Lukko","fr":"Cadenas","hr":"zaključati","hu":"Lakat","id":"Gembok","it":"Lucchetto","ja":"錠前","nb_NO":"Lås","nl":"Slot","pt":"Cadeado","pt_BR":"Cadeado","ru":"Замок","si":null,"sk":"Zámka","sq":"Dry","sr":"катанац","sv":"Lås","szl":null,"tzm":null,"uk":"Замок","vi":"Ổ khóa","zh_Hans":"锁","zh_Hant":"鎖頭"}},{"number":47,"emoji":"🔑","description":"Key","unicode":"U+1F511","translated_descriptions":{"ar":"مِفتَاح","bg":"Ключ","ca":"Clau","cs":"Klíč ke dveřím","de":"Schlüssel","eo":"Ŝlosilo","es":"Llave","et":"Võti","fa":"کلید","fi":"Avain","fr":"Clé","hr":"ključ","hu":"Kulcs","id":"Kunci","it":"Chiave","ja":"鍵","nb_NO":"Nøkkel","nl":"Sleutel","pt":"Chave","pt_BR":"Chave","ru":"Ключ","si":null,"sk":"Kľúč","sq":"Çelës","sr":"кључ","sv":"Nyckel","szl":null,"tzm":"Tasarut","uk":"Ключ","vi":"Chìa khóa","zh_Hans":"钥匙","zh_Hant":"鑰匙"}},{"number":48,"emoji":"🔨","description":"Hammer","unicode":"U+1F528","translated_descriptions":{"ar":"مِطرَقَة","bg":"Чук","ca":"Martell","cs":"Kladivo","de":"Hammer","eo":"Martelo","es":"Martillo","et":"Haamer","fa":"چکش","fi":"Vasara","fr":"Marteau","hr":"čekić","hu":"Kalapács","id":"Palu","it":"Martello","ja":"金槌","nb_NO":"Hammer","nl":"Hamer","pt":"Martelo","pt_BR":"Martelo","ru":"Молоток","si":null,"sk":"Kladivo","sq":"Çekiç","sr":"чекић","sv":"Hammare","szl":null,"tzm":null,"uk":"Молоток","vi":"Búa","zh_Hans":"锤子","zh_Hant":"鎚子"}},{"number":49,"emoji":"☎️","description":"Telephone","unicode":"U+260EU+FE0F","translated_descriptions":{"ar":"تِلِفُون","bg":"Телефон","ca":"Telèfon","cs":"Telefon","de":"Telefon","eo":"Telefono","es":"Teléfono","et":"Telefon","fa":"تلفن","fi":"Puhelin","fr":"Téléphone","hr":"telefon","hu":"Telefon","id":"Telepon","it":"Telefono","ja":"電話機","nb_NO":"Telefon","nl":"Telefoon","pt":"Telefone","pt_BR":"Telefone","ru":"Телефон","si":null,"sk":"Telefón","sq":"Telefon","sr":"телефон","sv":"Telefon","szl":null,"tzm":"Atilifun","uk":"Телефон","vi":"Điện thoại","zh_Hans":"电话","zh_Hant":"電話"}},{"number":50,"emoji":"🏁","description":"Flag","unicode":"U+1F3C1","translated_descriptions":{"ar":"عَلَم","bg":"Флаг","ca":"Bandera","cs":"Vlajka","de":"Flagge","eo":"Flago","es":"Bandera","et":"Lipp","fa":"پرچم","fi":"Lippu","fr":"Drapeau","hr":"zastava","hu":"Zászló","id":"Bendera","it":"Bandiera","ja":"旗","nb_NO":"Flagg","nl":"Vlag","pt":"Bandeira","pt_BR":"Bandeira","ru":"Флаг","si":null,"sk":"Zástava","sq":"Flamur","sr":"застава","sv":"Flagga","szl":null,"tzm":"Acenyal","uk":"Прапор","vi":"Lá cờ","zh_Hans":"旗帜","zh_Hant":"旗幟"}},{"number":51,"emoji":"🚂","description":"Train","unicode":"U+1F682","translated_descriptions":{"ar":"قِطَار","bg":"Влак","ca":"Tren","cs":"Vlak","de":"Zug","eo":"Vagonaro","es":"Tren","et":"Rong","fa":"قطار","fi":"Juna","fr":"Train","hr":"vlak","hu":"Vonat","id":"Kereta Api","it":"Treno","ja":"電車","nb_NO":"Tog","nl":"Trein","pt":"Comboio","pt_BR":"Trem","ru":"Поезд","si":null,"sk":"Vlak","sq":"Tren","sr":"воз","sv":"Tåg","szl":null,"tzm":null,"uk":"Потяг","vi":"Xe lửa","zh_Hans":"火车","zh_Hant":"火車"}},{"number":52,"emoji":"🚲","description":"Bicycle","unicode":"U+1F6B2","translated_descriptions":{"ar":"دَرّاجَة","bg":"Колело","ca":"Bicicleta","cs":"Kolo","de":"Fahrrad","eo":"Biciklo","es":"Bicicleta","et":"Jalgratas","fa":"دوچرخه","fi":"Polkupyörä","fr":"Vélo","hr":"bicikl","hu":"Kerékpár","id":"Sepeda","it":"Bicicletta","ja":"自転車","nb_NO":"Sykkel","nl":"Fiets","pt":"Bicicleta","pt_BR":"Bicicleta","ru":"Велосипед","si":null,"sk":"Bicykel","sq":"Biçikletë","sr":"бицикл","sv":"Cykel","szl":null,"tzm":null,"uk":"Велосипед","vi":"Xe đạp","zh_Hans":"自行车","zh_Hant":"腳踏車"}},{"number":53,"emoji":"✈️","description":"Aeroplane","unicode":"U+2708U+FE0F","translated_descriptions":{"ar":"طَائِرة","bg":"Самолет","ca":"Avió","cs":"Letadlo","de":"Flugzeug","eo":"Aviadilo","es":"Avión","et":"Lennuk","fa":"هواپیما","fi":"Lentokone","fr":"Avion","hr":"avion","hu":"Repülő","id":"Pesawat","it":"Aeroplano","ja":"飛行機","nb_NO":"Fly","nl":"Vliegtuig","pt":"Avião","pt_BR":"Avião","ru":"Самолет","si":null,"sk":"Lietadlo","sq":"Avion","sr":"авион","sv":"Flygplan","szl":null,"tzm":null,"uk":"Літак","vi":"Máy bay","zh_Hans":"飞机","zh_Hant":"飛機"}},{"number":54,"emoji":"🚀","description":"Rocket","unicode":"U+1F680","translated_descriptions":{"ar":"صَارُوخ","bg":"Ракета","ca":"Coet","cs":"Raketa","de":"Rakete","eo":"Raketo","es":"Cohete","et":"Rakett","fa":"موشک","fi":"Raketti","fr":"Fusée","hr":"raketa","hu":"Rakáta","id":"Roket","it":"Razzo","ja":"ロケット","nb_NO":"Rakett","nl":"Raket","pt":"Foguetão","pt_BR":"Foguete","ru":"Ракета","si":null,"sk":"Raketa","sq":"Raketë","sr":"ракета","sv":"Raket","szl":null,"tzm":null,"uk":"Ракета","vi":"Tên lửa","zh_Hans":"火箭","zh_Hant":"火箭"}},{"number":55,"emoji":"🏆","description":"Trophy","unicode":"U+1F3C6","translated_descriptions":{"ar":"كَأسُ النَّصر","bg":"Трофей","ca":"Trofeu","cs":"Pohár","de":"Pokal","eo":"Trofeo","es":"Trofeo","et":"Auhind","fa":"جام","fi":"Palkinto","fr":"Trophée","hr":"trofej","hu":"Trófea","id":"Piala","it":"Trofeo","ja":"トロフィー","nb_NO":"Pokal","nl":"Trofee","pt":"Troféu","pt_BR":"Troféu","ru":"Кубок","si":null,"sk":"Trofej","sq":"Trofe","sr":"пехар","sv":"Trofé","szl":null,"tzm":null,"uk":"Приз","vi":"Cúp","zh_Hans":"奖杯","zh_Hant":"獎盃"}},{"number":56,"emoji":"⚽","description":"Ball","unicode":"U+26BD","translated_descriptions":{"ar":"كُرَة","bg":"Топка","ca":"Pilota","cs":"Míč","de":"Ball","eo":"Pilko","es":"Bola","et":"Pall","fa":"توپ","fi":"Pallo","fr":"Ballon","hr":"lopta","hu":"Labda","id":"Bola","it":"Palla","ja":"ボール","nb_NO":"Ball","nl":"Bal","pt":"Bola","pt_BR":"Bola","ru":"Мяч","si":null,"sk":"Lopta","sq":"Top","sr":"лопта","sv":"Boll","szl":null,"tzm":"Tcama","uk":"М\'яч","vi":"Banh","zh_Hans":"球","zh_Hant":"足球"}},{"number":57,"emoji":"🎸","description":"Guitar","unicode":"U+1F3B8","translated_descriptions":{"ar":"غيتار","bg":"Китара","ca":"Guitarra","cs":"Kytara","de":"Gitarre","eo":"Gitaro","es":"Guitarra","et":"Kitarr","fa":"گیتار","fi":"Kitara","fr":"Guitare","hr":"gitara","hu":"Gitár","id":"Gitar","it":"Chitarra","ja":"ギター","nb_NO":"Gitar","nl":"Gitaar","pt":"Guitarra","pt_BR":"Guitarra","ru":"Гитара","si":null,"sk":"Gitara","sq":"Kitarë","sr":"гитара","sv":"Gitarr","szl":null,"tzm":"Agiṭaṛ","uk":"Гітара","vi":"Ghi-ta","zh_Hans":"吉他","zh_Hant":"吉他"}},{"number":58,"emoji":"🎺","description":"Trumpet","unicode":"U+1F3BA","translated_descriptions":{"ar":"بُوق","bg":"Тромпет","ca":"Trompeta","cs":"Trumpeta","de":"Trompete","eo":"Trumpeto","es":"Trompeta","et":"Trompet","fa":"شیپور","fi":"Trumpetti","fr":"Trompette","hr":"truba","hu":"Trombita","id":"Terompet","it":"Trombetta","ja":"トランペット","nb_NO":"Trompet","nl":"Trompet","pt":"Trompete","pt_BR":"Trombeta","ru":"Труба","si":null,"sk":"Trúbka","sq":"Trombë","sr":"труба","sv":"Trumpet","szl":null,"tzm":null,"uk":"Труба","vi":"Kèn","zh_Hans":"喇叭","zh_Hant":"喇叭"}},{"number":59,"emoji":"🔔","description":"Bell","unicode":"U+1F514","translated_descriptions":{"ar":"جَرَس","bg":"Звънец","ca":"Campana","cs":"Zvonek","de":"Glocke","eo":"Sonorilo","es":"Campana","et":"Kelluke","fa":"زنگ","fi":"Soittokello","fr":"Cloche","hr":"zvono","hu":"Harang","id":"Lonceng","it":"Campana","ja":"ベル","nb_NO":"Bjelle","nl":"Bel","pt":"Sino","pt_BR":"Sino","ru":"Колокол","si":null,"sk":"Zvonec","sq":"Kambanë","sr":"звоно","sv":"Bjällra","szl":null,"tzm":null,"uk":"Дзвін","vi":"Chuông","zh_Hans":"铃铛","zh_Hant":"鈴鐺"}},{"number":60,"emoji":"⚓","description":"Anchor","unicode":"U+2693","translated_descriptions":{"ar":"مِرسَاة","bg":"Котва","ca":"Àncora","cs":"Kotva","de":"Anker","eo":"Ankro","es":"Ancla","et":"Ankur","fa":"لنگر","fi":"Ankkuri","fr":"Ancre","hr":"sidro","hu":"Horgony","id":"Jangkar","it":"Ancora","ja":"いかり","nb_NO":"Anker","nl":"Anker","pt":"Âncora","pt_BR":"Âncora","ru":"Якорь","si":null,"sk":"Kotva","sq":"Spirancë","sr":"сидро","sv":"Ankare","szl":null,"tzm":null,"uk":"Якір","vi":"Mỏ neo","zh_Hans":"锚","zh_Hant":"船錨"}},{"number":61,"emoji":"🎧","description":"Headphones","unicode":"U+1F3A7","translated_descriptions":{"ar":"سَمّاعَة رَأس","bg":"Слушалки","ca":"Auriculars","cs":"Sluchátka","de":"Kopfhörer","eo":"Kapaŭdilo","es":"Cascos","et":"Kõrvaklapid","fa":"هدفون","fi":"Kuulokkeet","fr":"Casque audio","hr":"slušalice","hu":"Fejhallgató","id":"Headphone","it":"Cuffie","ja":"ヘッドホン","nb_NO":"Hodetelefoner","nl":"Koptelefoon","pt":"Fones","pt_BR":"Fones de ouvido","ru":"Наушники","si":null,"sk":"Slúchadlá","sq":"Kufje","sr":"слушалице","sv":"Hörlurar","szl":null,"tzm":null,"uk":"Навушники","vi":"Tai nghe","zh_Hans":"耳机","zh_Hant":"耳機"}},{"number":62,"emoji":"📁","description":"Folder","unicode":"U+1F4C1","translated_descriptions":{"ar":"مُجَلَّد","bg":"Папка","ca":"Carpeta","cs":"Složka","de":"Ordner","eo":"Dosierujo","es":"Carpeta","et":"Kaust","fa":"پوشه","fi":"Kansio","fr":"Dossier","hr":"mapu","hu":"Mappa","id":"Map","it":"Cartella","ja":"フォルダー","nb_NO":"Mappe","nl":"Map","pt":"Pasta","pt_BR":"Pasta","ru":"Папка","si":null,"sk":"Fascikel","sq":"Dosje","sr":"фасцикла","sv":"Mapp","szl":null,"tzm":"Asdaw","uk":"Тека","vi":"Thư mục","zh_Hans":"文件夹","zh_Hant":"資料夾"}},{"number":63,"emoji":"📌","description":"Pin","unicode":"U+1F4CC","translated_descriptions":{"ar":"دَبُّوس","bg":"Кабърче","ca":"Xinxeta","cs":"Špendlík","de":"Stecknadel","eo":"Pinglo","es":"Alfiler","et":"Nööpnõel","fa":"سنجاق","fi":"Nuppineula","fr":"Punaise","hr":"pribadača","hu":"Rajszeg","id":"Pin","it":"Puntina","ja":"ピン","nb_NO":"Tegnestift","nl":"Duimspijker","pt":"Pionés","pt_BR":"Alfinete","ru":"Булавка","si":null,"sk":"Špendlík","sq":"Karficë","sr":"чиода","sv":"Häftstift","szl":null,"tzm":null,"uk":"Кнопка","vi":"Ghim","zh_Hans":"图钉","zh_Hant":"圖釘"}}]').map(({emoji:e,description:t,translated_descriptions:n})=>[e,[t,Object.keys(n).reduce((e,t)=>{for(const s of Ph(t))e[s]=n[t];return e},{})]]));const w_="_container_1lqqy_8",E_="_segment_1lqqy_15",A_="_emoji_1lqqy_23",x_="_label_1lqqy_29";function S_({emoji:e,className:t}){const{language:n}=oe(),o=e.map((e,t)=>s.createElement("div",{className:E_,key:t},s.createElement("div",{className:A_,"aria-hidden":!0},e),s.createElement("div",{className:x_},function(e,t){const n=b_.get(e);if(!n)throw new Error(`Emoji mapping not found for emoji ${e}`);const[s,o]=n;for(const e of Ph(t))if(o[e])return o[e];return s}(e,n))));return s.createElement("div",{className:D(w_,t)},o)}const C_="_container_sq5fu_8",k_="_title_sq5fu_34",R_="_subtitle_sq5fu_35";function I_({icon:e,title:t,subtitle:n,className:o,children:i,ref:r}){return s.createElement("div",{className:D(C_,o),ref:r},e,s.createElement("div",{className:k_},t),n&&s.createElement("div",{className:R_},n),i)}function P_({vm:e}){const t=I(e);return s.createElement("div",{className:"mx_TextualEvent"},t.content)}function T_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 4.5a1 1 0 0 1 1 1v10.586l4.293-4.293a1 1 0 0 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 1 1 1.414-1.414L11 16.086V5.5a1 1 0 0 1 1-1"})})}T_.displayName="ArrowDownIcon";const O_=(0,s.forwardRef)(T_);function M_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12q0-1.35-.437-2.6A8 8 0 0 0 18.3 7.1L7.1 18.3q1.05.825 2.3 1.262T12 20m-6.3-3.1L16.9 5.7a8 8 0 0 0-2.3-1.263A7.8 7.8 0 0 0 12 4Q8.65 4 6.325 6.325T4 12q0 1.35.438 2.6A8 8 0 0 0 5.7 16.9"})})}M_.displayName="BlockIcon";const N_=(0,s.forwardRef)(M_);function j_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"m1.5 21.25 1.45-4.95a10.2 10.2 0 0 1-.712-2.1A10.2 10.2 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22q-1.125 0-2.2-.238a10.2 10.2 0 0 1-2.1-.712L2.75 22.5a.94.94 0 0 1-1-.25.94.94 0 0 1-.25-1m2.45-1.2 3.2-.95a1 1 0 0 1 .275-.062q.15-.013.275-.013.225 0 .438.038.212.036.412.137a7.4 7.4 0 0 0 1.675.6Q11.1 20 12 20q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12q0 .9.2 1.775t.6 1.675q.176.325.188.688t-.088.712z"})})}j_.displayName="ChatIcon";const D_=(0,s.forwardRef)(j_);function U_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M9.55 17.575q-.2 0-.375-.062a.9.9 0 0 1-.325-.213L4.55 13q-.274-.274-.262-.713.012-.437.287-.712a.95.95 0 0 1 .7-.275q.425 0 .7.275L9.55 15.15l8.475-8.475q.274-.275.713-.275.437 0 .712.275.275.274.275.713 0 .437-.275.712l-9.2 9.2q-.15.15-.325.212a1.1 1.1 0 0 1-.375.063"})})}U_.displayName="CheckIcon";const F_=(0,s.forwardRef)(U_);function L_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 14.95q-.2 0-.375-.062a.9.9 0 0 1-.325-.213l-4.6-4.6a.95.95 0 0 1-.275-.7q0-.425.275-.7a.95.95 0 0 1 .7-.275q.425 0 .7.275l3.9 3.9 3.9-3.9a.95.95 0 0 1 .7-.275q.425 0 .7.275a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7l-4.6 4.6q-.15.15-.325.212a1.1 1.1 0 0 1-.375.063"})})}L_.displayName="ChevronDownIcon";const B_=(0,s.forwardRef)(L_);function V_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M6.293 6.293a1 1 0 0 1 1.414 0L12 10.586l4.293-4.293a1 1 0 1 1 1.414 1.414L13.414 12l4.293 4.293a1 1 0 0 1-1.414 1.414L12 13.414l-4.293 4.293a1 1 0 0 1-1.414-1.414L10.586 12 6.293 7.707a1 1 0 0 1 0-1.414"})})}V_.displayName="CloseIcon";const H_=(0,s.forwardRef)(V_);function z_(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{fillRule:"evenodd",d:"M16.937 2.82a2 2 0 0 1 2.828 0l1.415 1.414a2 2 0 0 1 0 2.829l-7.071 7.07c-.195.196-.42.342-.66.44a1 1 0 0 1-.168.072l-3.993 1.331a1 1 0 0 1-1.265-1.265l1.331-3.992q.03-.09.073-.168m10.338-4.903-6.717 6.718-1.414-1.414 6.717-6.718z",clipRule:"evenodd"}),Z.jsx("path",{d:"M3 5a2 2 0 0 1 2-2h6a1 1 0 1 1 0 2H5v14h14v-6a1 1 0 1 1 2 0v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})]})}z_.displayName="ComposeIcon";const W_=(0,s.forwardRef)(z_);function K_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M7 21q-.824 0-1.412-.587A1.93 1.93 0 0 1 5 19V6a.97.97 0 0 1-.713-.287A.97.97 0 0 1 4 5q0-.424.287-.713A.97.97 0 0 1 5 4h4q0-.424.287-.712A.97.97 0 0 1 10 3h4q.424 0 .713.288Q15 3.575 15 4h4q.424 0 .712.287Q20 4.576 20 5t-.288.713A.97.97 0 0 1 19 6v13q0 .824-.587 1.413A1.93 1.93 0 0 1 17 21zM7 6v13h10V6zm2 10q0 .424.287.712Q9.576 17 10 17t.713-.288A.97.97 0 0 0 11 16V9a.97.97 0 0 0-.287-.713A.97.97 0 0 0 10 8a.97.97 0 0 0-.713.287A.97.97 0 0 0 9 9zm4 0q0 .424.287.712.288.288.713.288.424 0 .713-.288A.97.97 0 0 0 15 16V9a.97.97 0 0 0-.287-.713A.97.97 0 0 0 14 8a.97.97 0 0 0-.713.287A.97.97 0 0 0 13 9z"})})}K_.displayName="DeleteIcon";const $_=(0,s.forwardRef)(K_);function J_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 18.6c-.99 0-1.8.81-1.8 1.8s.81 1.8 1.8 1.8 1.8-.81 1.8-1.8-.81-1.8-1.8-1.8M6.6 2.4c-.99 0-1.8.81-1.8 1.8S5.61 6 6.6 6s1.8-.81 1.8-1.8-.81-1.8-1.8-1.8m0 5.4c-.99 0-1.8.81-1.8 1.8s.81 1.8 1.8 1.8 1.8-.81 1.8-1.8-.81-1.8-1.8-1.8m0 5.4c-.99 0-1.8.81-1.8 1.8s.81 1.8 1.8 1.8 1.8-.81 1.8-1.8-.81-1.8-1.8-1.8M17.4 6c.99 0 1.8-.81 1.8-1.8s-.81-1.8-1.8-1.8-1.8.81-1.8 1.8.81 1.8 1.8 1.8M12 13.2c-.99 0-1.8.81-1.8 1.8s.81 1.8 1.8 1.8 1.8-.81 1.8-1.8-.81-1.8-1.8-1.8m5.4 0c-.99 0-1.8.81-1.8 1.8s.81 1.8 1.8 1.8 1.8-.81 1.8-1.8-.81-1.8-1.8-1.8m0-5.4c-.99 0-1.8.81-1.8 1.8s.81 1.8 1.8 1.8 1.8-.81 1.8-1.8-.81-1.8-1.8-1.8m-5.4 0c-.99 0-1.8.81-1.8 1.8s.81 1.8 1.8 1.8 1.8-.81 1.8-1.8-.81-1.8-1.8-1.8m0-5.4c-.99 0-1.8.81-1.8 1.8S11.01 6 12 6s1.8-.81 1.8-1.8-.81-1.8-1.8-1.8"})})}J_.displayName="DialPadIcon";const G_=(0,s.forwardRef)(J_);function q_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 5.111a1 1 0 0 0 .514.874l7 3.89a1 1 0 0 0 .972 0l7-3.89a1 1 0 1 0-.972-1.748L12 11.856 5.486 8.237A1 1 0 0 0 4 9.111"})})}q_.displayName="EmailSolidIcon";const Y_=(0,s.forwardRef)(q_);function Z_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 13a.97.97 0 0 1-.713-.287A.97.97 0 0 1 11 12q0-.424.287-.713A.97.97 0 0 1 12 11q.424 0 .713.287.287.288.287.713 0 .424-.287.713A.97.97 0 0 1 12 13m0 9a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12t2.325 5.675T12 20m0 0q-3.35 0-5.675-2.325T4 12t2.325-5.675T12 4t5.675 2.325T20 12t-2.325 5.675T12 20m1.675-5.85q.15-.075.275-.2t.2-.275l2.925-6.25q.125-.25-.062-.437-.188-.188-.438-.063l-6.25 2.925q-.15.075-.275.2t-.2.275l-2.925 6.25q-.125.25.063.438.186.186.437.062z"})})}Z_.displayName="ExploreIcon";const Q_=(0,s.forwardRef)(Z_);function X_(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M13.905 9.378 12 5.52l-1.905 3.86-4.259.618 3.082 3.004-.727 4.242L12 15.24l3.81 2.003-.728-4.242 3.082-3.004zM8.767 7.55l2.336-4.733a1 1 0 0 1 1.794 0l2.336 4.733 5.223.76a1 1 0 0 1 .555 1.705L17.23 13.7l.892 5.202a1 1 0 0 1-1.45 1.054L12 17.5l-4.672 2.456a1 1 0 0 1-1.451-1.054l.892-5.202-3.78-3.685a1 1 0 0 1 .555-1.706z"})})}X_.displayName="FavouriteIcon";const ey=(0,s.forwardRef)(X_);function ty(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{d:"M18.93 8A8 8 0 1 1 4 12a1 1 0 1 0-2 0c0 5.523 4.477 10 10 10s10-4.477 10-10a10 10 0 0 0-.832-4A10 10 0 0 0 12 2a9.99 9.99 0 0 0-8 3.999V4a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1h4a1 1 0 0 0 0-2H5.755A7.99 7.99 0 0 1 12 4a8 8 0 0 1 6.93 4"}),Z.jsx("path",{d:"M13 8a1 1 0 1 0-2 0v4a1 1 0 0 0 .293.707l2.83 2.83a1 1 0 0 0 1.414-1.414L13 11.586z"})]})}ty.displayName="HistoryIcon";const ny=(0,s.forwardRef)(ty);function sy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{fillRule:"evenodd",d:"M16 11v8h3V9.177l-7-3.889-7 3.889V19h3v-8zm-6 10H5a2 2 0 0 1-2-2V9.177a2 2 0 0 1 1.029-1.748l7-3.89a2 2 0 0 1 1.942 0l7 3.89A2 2 0 0 1 21 9.177V19a2 2 0 0 1-2 2h-5v-8h-4z",clipRule:"evenodd"})})}sy.displayName="HomeIcon";const oy=(0,s.forwardRef)(sy);function iy(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{d:"M14 13q.424 0 .713-.287A.97.97 0 0 0 15 12a.97.97 0 0 0-.287-.713A.97.97 0 0 0 14 11a.97.97 0 0 0-.713.287A.97.97 0 0 0 13 12q0 .424.287.713.288.287.713.287"}),Z.jsx("path",{d:"M10.385 21.788A1 1 0 0 1 10 21V3a1.003 1.003 0 0 1 1.242-.97l8 2A1 1 0 0 1 20 5v14a1 1 0 0 1-.758.97l-8 2a1 1 0 0 1-.857-.182M18 5.781l-6-1.5v15.438l6-1.5zM9 6H7v12h2v2H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2z"})]})}iy.displayName="LeaveIcon";const ry=(0,s.forwardRef)(iy);function ay(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 19.071q-1.467 1.467-3.536 1.467-2.067 0-3.535-1.467t-1.467-3.535q0-2.07 1.467-3.536L7.05 9.879q.3-.3.707-.3t.707.3.301.707-.3.707l-2.122 2.121a2.9 2.9 0 0 0-.884 2.122q0 1.237.884 2.12.884.885 2.121.885t2.122-.884l2.121-2.121q.3-.3.707-.3t.707.3.3.707q0 .405-.3.707zm-1.414-4.243q-.3.3-.707.301a.97.97 0 0 1-.707-.3q-.3-.3-.301-.708 0-.405.3-.707l4.243-4.242q.3-.3.707-.3t.707.3.3.707-.3.707zm6.364-.707q-.3.3-.707.3a.97.97 0 0 1-.707-.3q-.3-.3-.301-.707 0-.405.3-.707l2.122-2.121q.884-.885.884-2.121 0-1.238-.884-2.122a2.9 2.9 0 0 0-2.121-.884q-1.237 0-2.122.884l-2.121 2.122q-.3.3-.707.3a.97.97 0 0 1-.707-.3q-.3-.3-.3-.708 0-.405.3-.707L12 4.93q1.467-1.467 3.536-1.467t3.535 1.467 1.467 3.536T19.071 12z"})})}ay.displayName="LinkIcon";const ly=(0,s.forwardRef)(ay);function cy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M21.324 9.13c0-.66-.339-1.237-.862-1.558l-7.37-4.318a1.81 1.81 0 0 0-1.851 0L3.87 7.572C3.348 7.892 3 8.47 3 9.13v9.167c0 1.008.825 1.833 1.833 1.833H19.5a1.84 1.84 0 0 0 1.833-1.833zm-10.129 3.978-6.6-4.124 6.646-3.896a1.81 1.81 0 0 1 1.851 0l6.646 3.896-6.6 4.124a1.85 1.85 0 0 1-1.943 0"})})}cy.displayName="MarkAsReadIcon";const dy=(0,s.forwardRef)(cy);function uy(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{d:"M20 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4"}),Z.jsx("path",{fillRule:"evenodd",d:"M17 5H5a2 2 0 0 0-2 2v10.4a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V7.83a3 3 0 0 1-2 0q-.316-.113-.595-.288L12 11.89 5 7.138V7h12.764A3 3 0 0 1 17 5m-4.438 8.927L19 9.555V17.4H5V9.555l6.438 4.372a1 1 0 0 0 1.124 0",clipRule:"evenodd"})]})}uy.displayName="MarkAsUnreadIcon";const my=(0,s.forwardRef)(uy);function py(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M12 4a8 8 0 1 0 0 16 1 1 0 1 1 0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10v1.5a3.5 3.5 0 0 1-6.396 1.966A5 5 0 1 1 17 12v1.5a1.5 1.5 0 0 0 3 0V12a8 8 0 0 0-8-8m3 8a3 3 0 1 0-6 0 3 3 0 0 0 6 0"})})}py.displayName="MentionIcon";const hy=(0,s.forwardRef)(py);function gy(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{d:"m4.917 2.083 17 17a1 1 0 0 1-1.414 1.414L19.006 19H4.414c-.89 0-1.337-1.077-.707-1.707L5 16v-6s0-2.034 1.096-3.91L3.504 3.498a1 1 0 0 1 1.414-1.414M19 13.35 9.136 3.484C9.93 3.181 10.874 3 12 3c7 0 7 7 7 7z"}),Z.jsx("path",{d:"M10 20h4a2 2 0 0 1-4 0"})]})}gy.displayName="NotificationsOffSolidIcon";const vy=(0,s.forwardRef)(gy);function fy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M20.293 17.293c.63.63.184 1.707-.707 1.707H4.414c-.89 0-1.337-1.077-.707-1.707L5 16v-6s0-7 7-7 7 7 7 7v6zM12 22a2 2 0 0 1-2-2h4a2 2 0 0 1-2 2"})})}fy.displayName="NotificationsSolidIcon";const _y=(0,s.forwardRef)(fy);function yy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M6 14q-.824 0-1.412-.588A1.93 1.93 0 0 1 4 12q0-.825.588-1.412A1.93 1.93 0 0 1 6 10q.824 0 1.412.588Q8 11.175 8 12t-.588 1.412A1.93 1.93 0 0 1 6 14m6 0q-.825 0-1.412-.588A1.93 1.93 0 0 1 10 12q0-.825.588-1.412A1.93 1.93 0 0 1 12 10q.825 0 1.412.588Q14 11.175 14 12t-.588 1.412A1.93 1.93 0 0 1 12 14m6 0q-.824 0-1.413-.588A1.93 1.93 0 0 1 16 12q0-.825.587-1.412A1.93 1.93 0 0 1 18 10q.824 0 1.413.588Q20 11.175 20 12t-.587 1.412A1.93 1.93 0 0 1 18 14"})})}yy.displayName="OverflowHorizontalIcon";const by=(0,s.forwardRef)(yy);function wy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{fillRule:"evenodd",d:"M6.5 2h11a4.5 4.5 0 1 1 0 9h-11a4.5 4.5 0 0 1 0-9m0 2h7.258A4.5 4.5 0 0 0 13 6.5c0 .925.28 1.785.758 2.5H6.5a2.5 2.5 0 0 1 0-5M15 6.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0m-13 11A4.5 4.5 0 0 1 6.5 13h11a4.5 4.5 0 1 1 0 9h-11q-.233 0-.46-.023A4.5 4.5 0 0 1 2 17.5m8.242-2.5H17.5a2.5 2.5 0 0 1 0 5h-7.258A4.5 4.5 0 0 0 11 17.5c0-.925-.28-1.785-.758-2.5M6.5 15a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5",clipRule:"evenodd"})})}wy.displayName="PreferencesIcon";const Ey=(0,s.forwardRef)(wy);function Ay(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M18.93 8A8 8 0 1 1 4 12a1 1 0 1 0-2 0c0 5.523 4.477 10 10 10s10-4.477 10-10a10 10 0 0 0-.832-4A10 10 0 0 0 12 2a9.99 9.99 0 0 0-8 3.999V4a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1h4a1 1 0 0 0 0-2H5.755A7.99 7.99 0 0 1 12 4a8 8 0 0 1 6.93 4"})})}Ay.displayName="RestartIcon";const xy=(0,s.forwardRef)(Ay);function Sy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"m8.566 17-.944 4.094q-.086.406-.372.656t-.687.25q-.543 0-.887-.469a1.18 1.18 0 0 1-.2-1.031l.801-3.5H3.158q-.572 0-.916-.484a1.27 1.27 0 0 1-.2-1.078 1.12 1.12 0 0 1 1.116-.938H6.85l1.145-5h-3.12q-.57 0-.915-.484a1.27 1.27 0 0 1-.2-1.078A1.12 1.12 0 0 1 4.875 7h3.691l.945-4.094q.085-.406.372-.656.286-.25.686-.25.544 0 .887.469.345.468.2 1.031l-.8 3.5h4.578l.944-4.094q.085-.406.372-.656.286-.25.687-.25.543 0 .887.469t.2 1.031L17.723 7h3.119q.573 0 .916.484.343.485.2 1.079a1.12 1.12 0 0 1-1.116.937H17.15l-1.145 5h3.12q.57 0 .915.484.343.485.2 1.079a1.12 1.12 0 0 1-1.116.937h-3.691l-.944 4.094q-.087.406-.373.656t-.686.25q-.544 0-.887-.469a1.18 1.18 0 0 1-.2-1.031l.8-3.5zm.573-2.5h4.578l1.144-5h-4.578z"})})}Sy.displayName="RoomIcon";const Cy=(0,s.forwardRef)(Sy);function ky(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M15.05 16.463a7.5 7.5 0 1 1 1.414-1.414l3.243 3.244a1 1 0 0 1-1.414 1.414zM16 10.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0"})})}ky.displayName="SearchIcon";const Ry=(0,s.forwardRef)(ky);function Iy(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{d:"M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0m-2 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0"}),Z.jsx("path",{d:"M11.312 2h1.376A2.31 2.31 0 0 1 15 4.312v.247l.002.003c.01.014.031.033.064.047.03.013.056.013.07.01h.002l.177-.177a2.31 2.31 0 0 1 3.27 0l.973.974a2.31 2.31 0 0 1 0 3.269l-.177.177v.003a.13.13 0 0 0 .01.07.15.15 0 0 0 .047.063l.003.002h.247A2.31 2.31 0 0 1 22 11.312v1.376A2.31 2.31 0 0 1 19.688 15h-.247l-.003.002a.15.15 0 0 0-.047.064.13.13 0 0 0-.01.07v.002l.177.177a2.31 2.31 0 0 1 0 3.27l-.974.973a2.31 2.31 0 0 1-3.269 0l-.177-.177h-.003a.13.13 0 0 0-.07.01.15.15 0 0 0-.063.047l-.002.003v.247A2.31 2.31 0 0 1 12.688 22h-1.376A2.31 2.31 0 0 1 9 19.688v-.247l-.002-.003a.15.15 0 0 0-.064-.047.13.13 0 0 0-.07-.01h-.002l-.177.177a2.31 2.31 0 0 1-3.27 0l-.973-.974a2.31 2.31 0 0 1 0-3.269l.177-.177v-.003a.14.14 0 0 0-.01-.07.15.15 0 0 0-.047-.063L4.559 15h-.247A2.31 2.31 0 0 1 2 12.688v-1.376A2.31 2.31 0 0 1 4.312 9h.247l.003-.002a.15.15 0 0 0 .047-.064.14.14 0 0 0 .01-.07v-.002l-.177-.177a2.31 2.31 0 0 1 0-3.27l.974-.973a2.31 2.31 0 0 1 3.269 0l.177.177h.003a.14.14 0 0 0 .07-.01.15.15 0 0 0 .063-.047L9 4.559v-.247A2.31 2.31 0 0 1 11.312 2M11 4.312v.257c0 .893-.59 1.593-1.299 1.887-.716.297-1.622.21-2.248-.418l-.182-.182a.31.31 0 0 0-.441 0l-.974.974a.31.31 0 0 0 0 .44l.182.183c.627.626.715 1.531.418 2.248C6.162 10.41 5.462 11 4.569 11h-.257a.31.31 0 0 0-.312.312v1.376c0 .172.14.312.312.312h.257c.893 0 1.593.59 1.887 1.299.297.716.21 1.622-.418 2.248l-.182.182a.31.31 0 0 0 0 .441l.974.973a.31.31 0 0 0 .44 0l.183-.181c.626-.627 1.532-.715 2.248-.418.709.294 1.299.994 1.299 1.887v.257c0 .172.14.312.312.312h1.376c.172 0 .312-.14.312-.312v-.257c0-.893.59-1.593 1.299-1.887.716-.297 1.622-.21 2.249.418l.181.181c.122.122.32.122.441 0l.973-.973a.31.31 0 0 0 0-.44l-.181-.183c-.627-.626-.715-1.532-.418-2.248.294-.709.994-1.299 1.887-1.299h.257c.172 0 .312-.14.312-.312v-1.376a.31.31 0 0 0-.312-.312h-.257c-.893 0-1.593-.59-1.887-1.299-.297-.717-.21-1.622.418-2.248l.181-.182a.31.31 0 0 0 0-.441l-.973-.974a.31.31 0 0 0-.44 0l-.183.182c-.626.627-1.532.715-2.248.418C13.59 6.162 13 5.462 13 4.569v-.257A.31.31 0 0 0 12.688 4h-1.376a.31.31 0 0 0-.312.312"})]})}Iy.displayName="SettingsIcon";const Py=(0,s.forwardRef)(Iy);function Ty(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M10 12q-1.65 0-2.825-1.175T6 8t1.175-2.825T10 4t2.825 1.175T14 8t-1.175 2.825T10 12m-8 6v-.8q0-.85.438-1.562.437-.713 1.162-1.088a14.8 14.8 0 0 1 3.15-1.163A13.8 13.8 0 0 1 10 13q1.65 0 3.25.387 1.6.388 3.15 1.163.724.375 1.163 1.087Q18 16.35 18 17.2v.8q0 .824-.587 1.413A1.93 1.93 0 0 1 16 20H4q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18m2 0h12v-.8a.97.97 0 0 0-.5-.85q-1.35-.675-2.725-1.012a11.6 11.6 0 0 0-5.55 0Q5.85 15.675 4.5 16.35a.97.97 0 0 0-.5.85zm6-8q.825 0 1.412-.588Q12 8.826 12 8q0-.824-.588-1.412A1.93 1.93 0 0 0 10 6q-.825 0-1.412.588A1.93 1.93 0 0 0 8 8q0 .825.588 1.412Q9.175 10 10 10m7 1h2v2q0 .424.288.713.287.287.712.287.424 0 .712-.287A.97.97 0 0 0 21 13v-2h2q.424 0 .712-.287A.97.97 0 0 0 24 10a.97.97 0 0 0-.288-.713A.97.97 0 0 0 23 9h-2V7a.97.97 0 0 0-.288-.713A.97.97 0 0 0 20 6a.97.97 0 0 0-.712.287A.97.97 0 0 0 19 7v2h-2a.97.97 0 0 0-.712.287A.97.97 0 0 0 16 10q0 .424.288.713.287.287.712.287"})})}Ty.displayName="UserAddIcon";const Oy=(0,s.forwardRef)(Ty);function My(e,t){return Z.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:[Z.jsx("path",{d:"M12 15q-1.65 0-2.825-1.175T8 11t1.175-2.825T12 7t2.825 1.175T16 11t-1.175 2.825T12 15"}),Z.jsx("path",{d:"M19.528 18.583A9.96 9.96 0 0 0 22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 2.52.933 4.824 2.472 6.583A9.98 9.98 0 0 0 12 22a9.98 9.98 0 0 0 7.528-3.417M8.75 16.388q-1.373.332-2.709.95a8 8 0 1 1 11.918 0 14.7 14.7 0 0 0-2.709-.95A13.8 13.8 0 0 0 12 16q-1.65 0-3.25.387"})]})}My.displayName="UserProfileSolidIcon";const Ny=(0,s.forwardRef)(My);function jy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M6 4h10a2 2 0 0 1 2 2v4.286l3.35-2.871a1 1 0 0 1 1.65.76v7.65a1 1 0 0 1-1.65.76L18 13.715V18a2 2 0 0 1-2 2H6a4 4 0 0 1-4-4V8a4 4 0 0 1 4-4"})})}jy.displayName="VideoCallSolidIcon";const Dy=(0,s.forwardRef)(jy);function Uy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"M2 8a4 4 0 0 1 4-4h10a2 2 0 0 1 2 2v4.286l3.35-2.871a1 1 0 0 1 1.65.76v7.65a1 1 0 0 1-1.65.76L18 13.715V18a2 2 0 0 1-2 2H6a4 4 0 0 1-4-4zm4-2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10V6zm15 7.652v-3.303L19.073 12z"})})}Uy.displayName="VideoCallIcon";const Fy=(0,s.forwardRef)(Uy);function Ly(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"m16.1 13.3-1.45-1.45q.225-1.175-.675-2.2t-2.325-.8L10.2 7.4q.424-.2.863-.3A4.2 4.2 0 0 1 12 7q1.875 0 3.188 1.312Q16.5 9.625 16.5 11.5q0 .5-.1.938t-.3.862m3.2 3.15-1.45-1.4a11 11 0 0 0 1.688-1.588A9 9 0 0 0 20.8 11.5q-1.25-2.524-3.588-4.013Q14.875 6 12 6q-.724 0-1.425.1a10 10 0 0 0-1.375.3L7.65 4.85A11.1 11.1 0 0 1 12 4q3.575 0 6.425 1.887T22.7 10.8a.8.8 0 0 1 .1.313q.025.188.025.387a2 2 0 0 1-.125.7 10.9 10.9 0 0 1-3.4 4.25m-.2 5.45-3.5-3.45q-.874.274-1.762.413Q12.95 19 12 19q-3.575 0-6.425-1.887T1.3 12.2a.8.8 0 0 1-.1-.312 3 3 0 0 1 0-.763.8.8 0 0 1 .1-.3Q1.825 9.7 2.55 8.75A13.3 13.3 0 0 1 4.15 7L2.075 4.9a.93.93 0 0 1-.275-.688q0-.412.3-.712a.95.95 0 0 1 .7-.275q.425 0 .7.275l17 17q.275.275.288.688a.93.93 0 0 1-.288.712.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275M5.55 8.4q-.725.65-1.325 1.425A9 9 0 0 0 3.2 11.5q1.25 2.524 3.588 4.012T12 17q.5 0 .975-.062.475-.063.975-.138l-.9-.95q-.274.075-.525.113A3.5 3.5 0 0 1 12 16q-1.875 0-3.187-1.312Q7.5 13.375 7.5 11.5q0-.274.038-.525.037-.25.112-.525z"})})}Ly.displayName="VisibilityOffIcon";const By=(0,s.forwardRef)(Ly);function Vy(e,t){return Z.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",viewBox:"0 0 24 24",ref:t,...e,children:Z.jsx("path",{d:"m20.958 16.374.039 3.527q0 .427-.33.756-.33.33-.756.33a16 16 0 0 1-6.57-1.105 16.2 16.2 0 0 1-5.563-3.663 16.1 16.1 0 0 1-3.653-5.573 16.3 16.3 0 0 1-1.115-6.56q0-.427.33-.757T4.095 3l3.528.039a1.07 1.07 0 0 1 1.085.93l.543 3.954q.039.271-.039.504a1.1 1.1 0 0 1-.271.426l-1.64 1.64q.505 1.008 1.154 1.909c.433.6 1.444 1.696 1.444 1.696s1.095 1.01 1.696 1.444q.9.65 1.909 1.153l1.64-1.64q.193-.193.426-.27t.504-.04l3.954.543q.406.059.668.359t.262.727"})})}Vy.displayName="VoiceCallSolidIcon";const Hy=(0,s.forwardRef)(Vy),zy="_content_1uqu1_8",Wy="_error_1uqu1_14",Ky="_icon_1uqu1_23";var $y=(e=>(e.MEGOLM_KEY_WITHHELD_FOR_UNVERIFIED_DEVICE="MEGOLM_KEY_WITHHELD_FOR_UNVERIFIED_DEVICE",e.HISTORICAL_MESSAGE_NO_KEY_BACKUP="HISTORICAL_MESSAGE_NO_KEY_BACKUP",e.HISTORICAL_MESSAGE_BACKUP_UNCONFIGURED="HISTORICAL_MESSAGE_BACKUP_UNCONFIGURED",e.HISTORICAL_MESSAGE_USER_NOT_JOINED="HISTORICAL_MESSAGE_USER_NOT_JOINED",e.SENDER_IDENTITY_PREVIOUSLY_VERIFIED="SENDER_IDENTITY_PREVIOUSLY_VERIFIED",e.UNSIGNED_SENDER_DEVICE="UNSIGNED_SENDER_DEVICE",e.UNABLE_TO_DECRYPT="UNABLE_TO_DECRYPT",e))($y||{});function Jy({vm:e,ref:t}){const n=oe(),{decryptionFailureReason:o,isLocalDeviceVerified:i,extraClassNames:r}=I(e),a=D(zy,function(e){switch(e){case"SENDER_IDENTITY_PREVIOUSLY_VERIFIED":case"UNSIGNED_SENDER_DEVICE":return Wy}return null}(o),r);return s.createElement("div",{className:a,ref:t},function(e,t,n){const o=e.translate;switch(t){case"MEGOLM_KEY_WITHHELD_FOR_UNVERIFIED_DEVICE":return o("timeline|decryption_failure|blocked");case"HISTORICAL_MESSAGE_NO_KEY_BACKUP":return o("timeline|decryption_failure|historical_event_no_key_backup");case"HISTORICAL_MESSAGE_BACKUP_UNCONFIGURED":if(!1===n)return o("timeline|decryption_failure|historical_event_unverified_device");break;case"HISTORICAL_MESSAGE_USER_NOT_JOINED":return o("timeline|decryption_failure|historical_event_user_not_joined");case"SENDER_IDENTITY_PREVIOUSLY_VERIFIED":return s.createElement("span",null,s.createElement(N_,{className:Ky,width:"16px",height:"16px"}),o("timeline|decryption_failure|sender_identity_previously_verified"));case"UNSIGNED_SENDER_DEVICE":return s.createElement("span",null,s.createElement(N_,{className:Ky,width:"16px",height:"16px"}),o("timeline|decryption_failure|sender_unsigned_device"))}return o("timeline|decryption_failure|unable_to_decrypt")}(n,o,i))}function Gy({vm:e,children:t}){const{formattedSenders:n,caption:o,tooltipOpen:i}=I(e);return n?s.createElement(g.m,{description:n,caption:o,placement:"right",open:i},t):s.createElement(s.Fragment,null,t)}const qy="_timelineSeparator_yq5ye_8",Yy=({label:e,className:t,children:n})=>s.createElement(B,{className:D(t,qy),role:"separator","aria-label":e,align:"center"},s.createElement("hr",{role:"none"}),n,s.createElement("hr",{role:"none"})),Zy="_pill_1i8jm_8",Qy="_label_1i8jm_14";function Xy({className:e,children:t,label:n,onClick:o,...i}){const r=(0,s.useId)(),{translate:a}=oe();return s.createElement(B,{display:"inline-flex",gap:"var(--cpd-space-1-5x)",align:"center",className:D(Zy,e),...i},t,s.createElement("span",{id:r,className:Qy},n),o&&s.createElement(f.K,{"aria-describedby":r,size:"16px",onClick:o,"aria-label":a("action|delete"),className:"mx_Dialog_nonDialogButton"},s.createElement(H_,null)))}function eb(e,t){if("function"==typeof e)return e(t);e&&(e.current=t)}var tb=parseInt(s.version.split(".")[0],10)>=19?function(e){return t=>{const n=[];for(const s of e){const e=eb(s,t),o="function"==typeof e;n.push(o?e:()=>eb(s,null))}return()=>{for(const e of n)e()}}}:function(e){return t=>{for(const n of e)eb(n,t)}};const nb="_pillInput_1yam9_8",sb="_input_1yam9_16",ob="_largerInput_1yam9_32";function ib({className:e,children:t,onRemoveChildren:n,inputProps:o,...i}){const r=(0,s.useRef)(null),a=uh(o,["onKeyDown","ref"]),l=function(e){return(0,s.useMemo)(()=>tb(e),e)}([r,o?.ref]),c=s.Children.toArray(t).length>0;return s.createElement(B,{...i,gap:"var(--cpd-space-1x)",direction:"column",className:D(nb,e),onClick:e=>{e.preventDefault(),e.stopPropagation(),r.current?.focus()}},c&&s.createElement(B,{gap:"var(--cpd-space-1x)",wrap:"wrap",align:"center"},t),s.createElement("input",{ref:l,autoComplete:"off",className:D(sb,{[ob]:c}),onKeyDown:e=>{const t=e.currentTarget.value.trim();if("Backspace"===e.key&&!t)return e.preventDefault(),void n?.(e);o?.onKeyDown?.(e)},...a}))}const rb="_container_mqidv_1",ab="_description_mqidv_9",lb={ConnectionLost:"ConnectionLost",NeedsConsent:"NeedsConsent",ResourceLimited:"ResourceLimited",UnsentMessages:"UnsentMessages",LocalRoomFailed:"LocalRoomFailed"};function cb({vm:e}){const{translate:t}=oe(),n=I(e),o=(0,s.useId)(),r=(0,s.useCallback)(t=>{t.preventDefault(),e.onDeleteAllClick?.()},[e]),a=(0,s.useCallback)(t=>{t.preventDefault(),e.onResendAllClick?.()},[e]),l=(0,s.useCallback)(t=>{t.preventDefault(),e.onRetryRoomCreationClick?.()},[e]),c=(0,s.useCallback)(()=>{e.onTermsAndConditionsClicked?.()},[e]);if(null===n.state)return null;switch(n.state){case lb.ConnectionLost:return s.createElement(y_,{type:"critical",role:"status","aria-labelledby":o},s.createElement("div",{className:rb},s.createElement(i.E,{id:o,weight:"semibold"},t("room|status_bar|server_connectivity_lost_title")),s.createElement(i.E,{className:ab,size:"sm"},t("room|status_bar|server_connectivity_lost_description"))));case lb.NeedsConsent:return s.createElement(y_,{type:"critical",role:"status","aria-labelledby":o,actions:s.createElement(v.$,{onClick:c,kind:"secondary",size:"sm",as:"a",href:n.consentUri,target:"_blank",rel:"noreferrer noopener"},t("terms|tac_button"))},s.createElement("div",{className:rb},s.createElement(i.E,{id:o,weight:"semibold"},t("room|status_bar|requires_consent_agreement_title"))));case lb.ResourceLimited:return s.createElement(y_,{type:"critical",role:"status","aria-labelledby":o,actions:n.adminContactHref&&s.createElement(v.$,{kind:"secondary",size:"sm",as:"a",href:n.adminContactHref,target:"_blank",rel:"noreferrer noopener"},"Contact admin")},s.createElement("div",{className:rb},s.createElement(i.E,{id:o,weight:"semibold"},{monthly_active_user:t("room|status_bar|monthly_user_limit_reached_title"),hs_disabled:t("room|status_bar|homeserver_blocked_title")}[n.resourceLimit]||t("room|status_bar|exceeded_resource_limit_title")),s.createElement(i.E,{className:ab,size:"sm"},t("room|status_bar|exceeded_resource_limit_description"))));case lb.LocalRoomFailed:return s.createElement(y_,{role:"status",type:"critical","aria-labelledby":o,actions:s.createElement(v.$,{size:"sm",kind:"secondary",className:rb,Icon:xy,onClick:l},t("action|retry"))},s.createElement(i.E,{id:o,weight:"semibold",className:rb},t("room|status_bar|failed_to_create_room_title")));case lb.UnsentMessages:return s.createElement(y_,{role:"status",type:"critical",actions:n.isResending?s.createElement(_.Z,null):s.createElement(s.Fragment,null,e.onDeleteAllClick&&s.createElement(v.$,{size:"sm",kind:"destructive",Icon:$_,disabled:n.isResending,onClick:r},t("room|status_bar|delete_all")),e.onResendAllClick&&s.createElement(v.$,{size:"sm",kind:"secondary",Icon:xy,disabled:n.isResending,onClick:a,className:rb},t("room|status_bar|retry_all"))),"aria-labelledby":o},s.createElement("div",{className:rb},s.createElement(i.E,{id:o,weight:"semibold"},t("room|status_bar|some_messages_not_sent")),s.createElement(i.E,{className:ab,size:"sm"},t("room|status_bar|select_messages_to_retry"))));default:return null}}const db="_disambiguatedProfile_oa3at_8",ub="_disambiguatedProfile_displayName_oa3at_14",mb="_disambiguatedProfile_mxid_oa3at_22";function pb({vm:e}){const{displayName:t,colorClass:n,displayIdentifier:o,title:i,emphasizeDisplayName:r,className:a}=I(e),l=D(n,{[ub]:r,mx_DisambiguatedProfile_displayName:r}),c=e.onClick?t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),e.onClick?.(t))}:void 0;return s.createElement("div",{className:D(a,db),title:i,onClick:e.onClick,onKeyDown:c,role:e.onClick?"button":void 0,tabIndex:e.onClick?0:void 0},s.createElement("span",{className:l,dir:"auto"},t),o&&s.createElement("span",{className:D("mx_DisambiguatedProfile_mxid",mb)},o))}function hb({historyVisibility:e}){const t={color:"var(--cpd-color-icon-info-primary)",width:"1rem",height:"1rem"};switch(e){case"invited":case"joined":return s.createElement(o.E,{kind:"blue"},s.createElement(By,{...t}),m_("room|history_visibility_badge|private"));case"shared":return s.createElement(o.E,{kind:"blue"},s.createElement(ny,{...t}),m_("room|history_visibility_badge|shared"));case"world_readable":return s.createElement(o.E,{kind:"blue"},s.createElement(Ny,{...t}),m_("room|history_visibility_badge|world_readable"));default:return null}}const gb="_richItem_1c0uo_8",vb="_avatar_1c0uo_36",fb="_title_1c0uo_41",_b="_description_1c0uo_47",yb="_timestamp_1c0uo_51",bb="_checkmark_1c0uo_69",wb=(0,s.memo)(function({avatar:e,title:t,description:n,timestamp:o,selected:i,...r}){const a=oe();return s.createElement("li",{className:gb,role:"option",tabIndex:-1,"aria-selected":i,"aria-label":t,...r},i?s.createElement(Eb,null):s.createElement(B,{className:vb},e),s.createElement("span",{className:fb},t),s.createElement("span",{className:_b},n),o&&s.createElement("span",{role:"timer",className:yb},a.humanizeTime(o)))});function Eb(){return s.createElement(B,{align:"center",justify:"center","aria-hidden":"true",className:bb},s.createElement(F_,{width:"24px",height:"24px",color:"var(--cpd-color-icon-on-solid-primary)"}))}const Ab="_richList_1mcas_8",xb="_title_1mcas_12",Sb="_content_1mcas_18",Cb="_empty_1mcas_26";function kb({children:e,title:t,className:n,titleAttributes:o,isEmpty:i=!1,...r}){const a=(0,s.useId)(),{listRef:l,onKeyDown:c,onFocus:d}=function(){const e=(0,s.useRef)(null),t=(0,s.useCallback)(t=>{if(e.current&&t.target===e.current){let t=e.current?.firstElementChild;for(const n of e.current.children)if("true"===n.getAttribute("aria-selected")){t=n;break}t?.focus()}},[]),n=(0,s.useCallback)(t=>{const{key:n}=t;let s=!1;switch(n){case"Enter":case" ":s=!0,document.activeElement.click();break;case"ArrowDown":{s=!0;const t=document.activeElement;e.current?.contains(t)&&t&&t.nextElementSibling?.focus();break}case"ArrowUp":{s=!0;const t=document.activeElement;e.current?.contains(t)&&t&&t.previousElementSibling?.focus();break}case"Home":s=!0,e.current?.firstElementChild?.focus();break;case"End":s=!0,e.current?.lastElementChild?.focus()}s&&t.preventDefault()},[]);return{listRef:e,onKeyDown:n,onFocus:t}}();return s.createElement(B,{className:D(Ab,n),direction:"column",...r},s.createElement("span",{id:a,className:xb,...o},t),i?s.createElement("span",{className:Cb},e):s.createElement("ul",{ref:l,role:"listbox",className:Sb,"aria-labelledby":a,tabIndex:0,onKeyDown:c,onFocus:d},e))}const Rb="_title_1qyi3_8";function Ib({vm:e}){const{translate:t}=oe(),[n,o]=(0,s.useState)(!1),{activeSortOption:i,isMessagePreviewEnabled:r}=I(e);return s.createElement(l.W,{open:n,onOpenChange:o,title:t("room_list|room_options"),showTitle:!1,align:"start",trigger:s.createElement(f.K,{tooltip:t("room_list|room_options"),"aria-label":t("room_list|room_options"),size:"28px",style:{padding:"4px"}},s.createElement(by,null))},s.createElement(d.e,{title:t("room_list|sort"),className:Rb}),s.createElement(u.E,{label:t("room_list|sort_type|activity"),checked:"recent"===i,onSelect:()=>e.sort("recent")}),s.createElement(u.E,{label:t("room_list|sort_type|unread_first"),checked:"unread-first"===i,onSelect:()=>e.sort("unread-first")}),s.createElement(u.E,{label:t("room_list|sort_type|atoz"),checked:"alphabetical"===i,onSelect:()=>e.sort("alphabetical")}),s.createElement(d.e,{title:t("room_list|appearance")}),s.createElement(h.C,{label:t("room_list|show_message_previews"),onSelect:e.toggleMessagePreview,checked:r}))}const Pb="_button_1veqf_8";function Tb({vm:e}){const{translate:t}=oe(),{canInviteInSpace:n,canAccessSpaceSettings:o,title:i}=I(e),[r,a]=(0,s.useState)(!1);return s.createElement(l.W,{open:r,onOpenChange:a,title:i,align:"start",trigger:s.createElement(f.K,{className:Pb,"aria-label":t("room_list|open_space_menu"),size:"24px",style:{padding:"2px"}},s.createElement(B_,null))},s.createElement(c.D,{Icon:oy,label:t("room_list|space_menu|home"),onSelect:e.openSpaceHome,hideChevron:!0}),n&&s.createElement(c.D,{Icon:Oy,label:t("action|invite"),onSelect:e.inviteInSpace,hideChevron:!0}),s.createElement(c.D,{Icon:Ey,label:t("common|preferences"),onSelect:e.openSpacePreferences,hideChevron:!0}),o&&s.createElement(c.D,{Icon:Py,label:t("room_list|space_menu|space_settings"),onSelect:e.openSpaceSettings,hideChevron:!0}))}function Ob({vm:e}){const{translate:t}=oe(),[n,o]=(0,s.useState)(!1),{canCreateRoom:i,canCreateVideoRoom:r}=I(e);return s.createElement(l.W,{open:n,onOpenChange:o,showTitle:!1,title:t("action|open_menu"),align:"start",trigger:s.createElement(f.K,{size:"28px",style:{padding:"4px"},tooltip:t("action|new_conversation")},s.createElement(W_,{"aria-hidden":!0}))},s.createElement(c.D,{Icon:D_,label:t("action|start_chat"),onSelect:e.createChatRoom,hideChevron:!0}),i&&s.createElement(c.D,{Icon:Cy,label:t("action|new_room"),onSelect:e.createRoom,hideChevron:!0}),r&&s.createElement(c.D,{Icon:Fy,label:t("action|new_video_room"),onSelect:e.createVideoRoom,hideChevron:!0}))}const Mb="_header_kjlxt_8",Nb="_container_kjlxt_13",jb="_title_kjlxt_18";function Db({vm:e}){const{translate:t}=oe(),{title:n,displaySpaceMenu:o,displayComposeMenu:i}=I(e);return s.createElement(B,{as:"header",className:Mb,"aria-label":t("room|context_menu|title"),align:"end","data-testid":"room-list-header"},s.createElement(B,{className:Nb,justify:"space-between",align:"center",gap:"var(--cpd-space-3x)"},s.createElement(B,{className:jb,align:"center",gap:"var(--cpd-space-1x)"},s.createElement(a.H1,{size:"sm",title:n},n),o&&s.createElement(Tb,{vm:e})),s.createElement(B,{align:"center",gap:"var(--cpd-space-2x)"},s.createElement(Ib,{vm:e}),i?s.createElement(Ob,{vm:e}):s.createElement(f.K,{size:"28px",style:{padding:"4px"},onClick:t=>e.createChatRoom(t.nativeEvent),tooltip:t("action|new_conversation")},s.createElement(W_,{color:"var(--cpd-color-icon-secondary)","aria-hidden":!0})))))}const Ub="_view_z7ks9_8",Fb="_search_z7ks9_16",Lb="_search_container_z7ks9_29",Bb="_search_text_z7ks9_41";function Vb({vm:e}){const{translate:t}=oe(),{displayExploreButton:n,displayDialButton:o,searchShortcut:i}=I(e);return s.createElement(B,{"data-testid":"room-list-search",className:Ub,role:"search",gap:"var(--cpd-space-2x)",align:"center"},s.createElement(v.$,{id:"room-list-search-button",className:Fb,kind:"secondary",size:"sm",Icon:Ry,onClick:e.onSearchClick},s.createElement(B,{className:Lb,as:"span",justify:"space-between"},s.createElement("span",{className:Bb},t("action|search")),s.createElement("kbd",null,i))),o&&s.createElement(v.$,{kind:"secondary",size:"sm",Icon:G_,iconOnly:!0,"aria-label":t("left_panel|open_dial_pad"),onClick:e.onDialPadClick}),n&&s.createElement(v.$,{kind:"secondary",size:"sm",Icon:Q_,iconOnly:!0,"aria-label":t("action|explore_rooms"),onClick:e.onExploreClick}))}const Hb="_roomListPrimaryFilters_1dmi7_8",zb="_list_1dmi7_17",Wb="_iconButton_1dmi7_26",Kb=({filterIds:e,activeFilterId:t,onToggleFilter:n})=>{const o=(0,s.useId)(),[i,r]=(0,s.useState)(!1),{ref:a,isWrapping:l,wrappingIndex:c}=function(e,t){const n=(0,s.useRef)(null),[o,i]=(0,s.useState)(!1),[r,a]=(0,s.useState)(-1);return(0,s.useEffect)(()=>{if(!n.current)return;const s=n=>{let s=!1;Array.from(n.children).forEach((n,o)=>{const i=n;if(i.setAttribute("aria-hidden","false"),i.classList.remove(t),e)return;const r=i.previousElementSibling;r&&i.offsetLeft<=r.offsetLeft&&(s||a(o),s=!0),i.classList.toggle(t,s),i.setAttribute("aria-hidden",s.toString())}),s||a(-1),i(e||s)};s(n.current);const o=new ResizeObserver(e=>e.forEach(e=>s(e.target)));return o.observe(n.current),()=>{o.disconnect()}},[e,t]),{ref:n,isWrapping:o,wrappingIndex:r}}(i,"wrapping"),d=function(e,t,n){const[o,i]=(0,s.useState)(e);return(0,s.useEffect)(()=>{(t?e.indexOf(t):-1)>=n&&-1!==n?i(e.slice().sort((e,n)=>e===t&&n!==t?-1:e!==t&&n===t?1:0)):i(e)},[e,t,n]),o}(e,t,c);return s.createElement(B,{className:Hb,"data-testid":"primary-filters",gap:"var(--cpd-space-3x)",direction:"row-reverse",justify:"space-between"},l&&s.createElement(f.K,{kind:"secondary","aria-expanded":i,"aria-controls":o,className:Wb,"aria-label":m_(i?"room_list|collapse_filters":"room_list|expand_filters"),size:"28px",onClick:()=>r(e=>!e)},s.createElement(B_,null)),s.createElement(B,{id:o,as:"div",role:"listbox","aria-label":m_("room_list|primary_filters"),align:"center",gap:"var(--cpd-space-2x)",wrap:"wrap",className:zb,ref:a},d.map((e,o)=>s.createElement(y.T,{key:`${e}-${o}`,role:"option",selected:e===t,onClick:()=>n(e)},(e=>{switch(e){case"unread":return m_("room_list|filters|unread");case"people":return m_("room_list|filters|people");case"rooms":return m_("room_list|filters|rooms");case"favourite":return m_("room_list|filters|favourite");case"mentions":return m_("room_list|filters|mentions");case"invites":return m_("room_list|filters|invites");case"low_priority":return m_("room_list|filters|low_priority")}})(e)))))},$b="_skeleton_1h0mx_8",Jb=()=>s.createElement("div",{className:$b}),Gb="_genericPlaceholder_1sxid_8",qb="_title_1sxid_16",Yb="_description_1sxid_21",Zb="_defaultPlaceholder_1sxid_27",Qb=({vm:e})=>{const t=I(e);if(!t.activeFilterId)return s.createElement(Xb,{title:m_("room_list|empty|no_chats"),description:t.canCreateRoom?m_("room_list|empty|no_chats_description"):m_("room_list|empty|no_chats_description_no_room_rights")},s.createElement(B,{className:Zb,align:"center",justify:"center",direction:"column",gap:"var(--cpd-space-4x)"},s.createElement(v.$,{size:"sm",kind:"secondary",Icon:D_,onClick:e.createChatRoom},m_("action|start_chat")),t.canCreateRoom&&s.createElement(v.$,{size:"sm",kind:"secondary",Icon:Cy,onClick:e.createRoom},m_("action|new_room"))));switch(t.activeFilterId){case"favourite":return s.createElement(Xb,{title:m_("room_list|empty|no_favourites"),description:m_("room_list|empty|no_favourites_description")});case"people":return s.createElement(Xb,{title:m_("room_list|empty|no_people"),description:m_("room_list|empty|no_people_description")});case"rooms":return s.createElement(Xb,{title:m_("room_list|empty|no_rooms"),description:m_("room_list|empty|no_rooms_description")});case"unread":return s.createElement(ew,{title:m_("room_list|empty|no_unread"),action:m_("room_list|empty|show_chats"),onAction:()=>e.onToggleFilter(t.activeFilterId)});case"invites":return s.createElement(ew,{title:m_("room_list|empty|no_invites"),action:m_("room_list|empty|show_activity"),onAction:()=>e.onToggleFilter(t.activeFilterId)});case"mentions":return s.createElement(ew,{title:m_("room_list|empty|no_mentions"),action:m_("room_list|empty|show_activity"),onAction:()=>e.onToggleFilter(t.activeFilterId)});case"low_priority":return s.createElement(ew,{title:m_("room_list|empty|no_lowpriority"),action:m_("room_list|empty|show_activity"),onAction:()=>e.onToggleFilter(t.activeFilterId)});default:return s.createElement(Xb,{title:m_("room_list|empty|no_chats"),description:m_("room_list|empty|no_chats_description")})}};function Xb({title:e,description:t,children:n}){return s.createElement(B,{"data-testid":"empty-room-list",className:Gb,direction:"column",align:"stretch",justify:"center",gap:"var(--cpd-space-2x)"},s.createElement("span",{className:qb},e),t&&s.createElement("span",{className:Yb},t),n)}function ew({title:e,action:t,onAction:n}){return s.createElement(Xb,{title:e},n&&s.createElement(v.$,{kind:"tertiary",onClick:n},t))}const tw=({hasAnyNotificationOrActivity:e,muted:t,callType:n,isUnsentMessage:o,invited:i,isMention:r,isNotification:a,isActivityNotification:l,count:c})=>e||t||n?s.createElement(B,{align:"center",justify:"center",gap:"var(--cpd-space-1x)","data-testid":"notification-decoration"},o&&s.createElement(Eh,{width:"20px",height:"20px",fill:"var(--cpd-color-icon-critical-primary)"}),"video"===n&&s.createElement(Dy,{width:"20px",height:"20px",fill:"var(--cpd-color-icon-accent-primary)"}),"voice"===n&&s.createElement(Hy,{width:"20px",height:"20px",fill:"var(--cpd-color-icon-accent-primary)"}),i&&s.createElement(Y_,{width:"20px",height:"20px",fill:"var(--cpd-color-icon-accent-primary)"}),r&&s.createElement(hy,{width:"20px",height:"20px",fill:"var(--cpd-color-icon-accent-primary)"}),(r||a)&&s.createElement(b.A,{count:c||null}),l&&s.createElement(w.I,null),t&&s.createElement(vy,{width:"20px",height:"20px",fill:"var(--cpd-color-icon-tertiary)"})):null;function nw({vm:e}){const[t,n]=(0,s.useState)(!1);return s.createElement(l.W,{open:t,onOpenChange:n,title:m_("room_list|room|more_options"),showTitle:!1,align:"start",trigger:s.createElement(f.K,{tooltip:m_("room_list|room|more_options"),"aria-label":m_("room_list|room|more_options"),size:"24px",style:{padding:"2px"}},s.createElement(by,null))},s.createElement(sw,{vm:e}))}function sw({vm:e}){const t=I(e);return s.createElement("div",{onKeyDown:e=>e.stopPropagation()},t.canMarkAsRead&&s.createElement(c.D,{Icon:dy,label:m_("room_list|more_options|mark_read"),onSelect:e.onMarkAsRead,onClick:e=>e.stopPropagation(),hideChevron:!0}),t.canMarkAsUnread&&s.createElement(c.D,{Icon:my,label:m_("room_list|more_options|mark_unread"),onSelect:e.onMarkAsUnread,onClick:e=>e.stopPropagation(),hideChevron:!0}),s.createElement(p.X,{checked:t.isFavourite,Icon:ey,label:m_("room_list|more_options|favourited"),onSelect:e.onToggleFavorite,onClick:e=>e.stopPropagation()}),s.createElement(p.X,{checked:t.isLowPriority,Icon:O_,label:m_("room_list|more_options|low_priority"),onSelect:e.onToggleLowPriority,onClick:e=>e.stopPropagation()}),t.canInvite&&s.createElement(c.D,{Icon:Oy,label:m_("action|invite"),onSelect:e.onInvite,onClick:e=>e.stopPropagation(),hideChevron:!0}),t.canCopyRoomLink&&s.createElement(c.D,{Icon:ly,label:m_("room_list|more_options|copy_link"),onSelect:e.onCopyRoomLink,onClick:e=>e.stopPropagation(),hideChevron:!0}),s.createElement(m.w,null),s.createElement(c.D,{kind:"critical",Icon:ry,label:m_("room_list|more_options|leave_room"),onSelect:e.onLeaveRoom,onClick:e=>e.stopPropagation(),hideChevron:!0}))}var ow=(e=>(e.AllMessages="all_messages",e.AllMessagesLoud="all_messages_loud",e.MentionsOnly="mentions_only",e.Mute="mute",e))(ow||{});function iw({vm:e}){const t=I(e),[n,o]=(0,s.useState)(!1),i=t.roomNotifState===ow.Mute,r=s.createElement(F_,{width:"24px",height:"24px",color:"var(--cpd-color-icon-primary)"});return s.createElement(l.W,{open:n,onOpenChange:o,title:m_("room_list|notification_options"),showTitle:!1,align:"start",trigger:s.createElement(f.K,{size:"24px",style:{padding:"2px"},tooltip:m_("room_list|notification_options"),"aria-label":m_("room_list|notification_options")},i?s.createElement(vy,null):s.createElement(_y,null))},s.createElement("div",{onKeyDown:e=>e.stopPropagation()},s.createElement(c.D,{"aria-selected":t.roomNotifState===ow.AllMessages,hideChevron:!0,label:m_("notifications|default_settings"),onSelect:()=>e.onSetRoomNotifState(ow.AllMessages),onClick:e=>e.stopPropagation()},t.roomNotifState===ow.AllMessages&&r),s.createElement(c.D,{"aria-selected":t.roomNotifState===ow.AllMessagesLoud,hideChevron:!0,label:m_("notifications|all_messages"),onSelect:()=>e.onSetRoomNotifState(ow.AllMessagesLoud),onClick:e=>e.stopPropagation()},t.roomNotifState===ow.AllMessagesLoud&&r),s.createElement(c.D,{"aria-selected":t.roomNotifState===ow.MentionsOnly,hideChevron:!0,label:m_("notifications|mentions_keywords"),onSelect:()=>e.onSetRoomNotifState(ow.MentionsOnly),onClick:e=>e.stopPropagation()},t.roomNotifState===ow.MentionsOnly&&r),s.createElement(c.D,{"aria-selected":t.roomNotifState===ow.Mute,hideChevron:!0,label:m_("notifications|mute_room"),onSelect:()=>e.onSetRoomNotifState(ow.Mute),onClick:e=>e.stopPropagation()},t.roomNotifState===ow.Mute&&r)))}const rw="_roomListItem_1srqj_8",aw="_hoverMenu_1srqj_28",lw="_container_1srqj_42",cw="_selected_1srqj_47",dw="_notificationDecoration_1srqj_56",uw="_content_1srqj_70",mw="_ellipsis_1srqj_79",pw="_roomName_1srqj_80",hw="_bold_1srqj_107",gw=({showMoreOptionsMenu:e,showNotificationMenu:t,vm:n})=>s.createElement(B,{className:aw,align:"center",gap:"var(--cpd-space-1x)"},e&&s.createElement(nw,{vm:n}),t&&s.createElement(iw,{vm:n})),vw=({vm:e,children:t})=>s.createElement(r.t,{title:m_("room_list|room|more_options"),showTitle:!1,hasAccessibleAlternative:!0,trigger:t},s.createElement(sw,{vm:e}));const fw=(0,s.memo)(function({vm:e,isSelected:t,isFocused:n,onFocus:o,roomIndex:r,roomCount:a,renderAvatar:l,...c}){const d=(0,s.useRef)(null),u=I(e);(0,s.useEffect)(()=>{n&&d.current?.focus({preventScroll:!0,focusVisible:!0})},[n]);const m=function(e,t){return t.isUnsentMessage?m_("room_list|a11y|unsent_message",{roomName:e}):t.invited?m_("room_list|a11y|invitation",{roomName:e}):t.isMention&&t.count?m_("room_list|a11y|mention",{roomName:e,count:t.count}):t.hasUnreadCount&&t.count?m_("room_list|a11y|unread",{roomName:e,count:t.count}):m_("room_list|a11y|default",{roomName:e})}(u.name,u.notification),p=s.createElement(B,{as:"button",ref:d,className:D(rw,"mx_RoomListItemView",{[cw]:t,[hw]:u.isBold,mx_RoomListItemView_selected:t}),gap:"var(--cpd-space-3x)",align:"center",type:"button",role:"option","aria-posinset":r+1,"aria-setsize":a,"aria-selected":t,"aria-label":m,onClick:e.onOpenRoom,onFocus:e=>o(u.id,e),tabIndex:n?0:-1,...c},s.createElement(B,{className:lw,gap:"var(--cpd-space-3x)",align:"center"},l(u.room),s.createElement(B,{className:uw,gap:"var(--cpd-space-2x)",align:"center",justify:"space-between"},s.createElement("div",{className:mw},s.createElement("div",{className:pw,title:u.name,"data-testid":"room-name"},u.name),u.messagePreview&&s.createElement(i.E,{as:"div",size:"sm",className:mw,title:u.messagePreview},u.messagePreview)),(u.showMoreOptionsMenu||u.showNotificationMenu)&&s.createElement(gw,{showMoreOptionsMenu:u.showMoreOptionsMenu,showNotificationMenu:u.showNotificationMenu,vm:e}),s.createElement("div",{className:dw,"aria-hidden":!0},s.createElement(tw,{...u.notification})))));return s.createElement(vw,{vm:e},p)}),_w="ArrowUp",yw="ArrowDown",bw="Home",ww="End",Ew="PageUp",Aw="PageDown";function xw(e){const{items:t,getItemComponent:n,isItemFocusable:o,getItemKey:i,context:r,onKeyDown:a,totalCount:l,rangeChanged:c,...d}=e,u=(0,s.useRef)(null),m=(0,s.useRef)(null),[p,h]=(0,s.useState)(e.items[0]?i(e.items[0]):void 0),[g,v]=(0,s.useState)(void 0),[f,_]=(0,s.useState)(new Map),y=(0,s.useRef)(!1),[b,w]=(0,s.useState)(!1);(0,s.useEffect)(()=>{const e=new Map;t.forEach((t,n)=>{const s=i(t);e.set(s,n)}),_(e)},[t,i]),(0,s.useEffect)(()=>{t.length&&(!p||void 0===f.get(p))&&h(i(t[0]))},[t,i,p,f]);const A=(0,s.useCallback)((e,n)=>{const s=Math.max(0,Math.min(e,t.length-1));if(!y.current&&t[s]){const e=i(t[s]);y.current=!0,u.current?.scrollIntoView({index:s,align:n,behavior:"auto",done:()=>{h(e),y.current=!1}})}},[t,i]),x=(0,s.useCallback)((e,n,s)=>{const i=t.length;let r;for(let s=e;n?s<i:s>=0;s+=n?1:-1)if(o(t[s])){r=s;break}void 0!==r&&A(r,s)},[A,t,o]),S=(0,s.useCallback)(e=>{const n=p?f.get(p):void 0;let s=!1;if(e&&!function(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}(e)){if(e.code===_w&&void 0!==n)x(n-1,!1),s=!0;else if(e.code===yw&&void 0!==n)x(n+1,!0),s=!0;else if(e.code===bw)A(0),s=!0;else if(e.code===ww)A(t.length-1),s=!0;else if(e.code===Aw&&g&&void 0!==n){const e=g.endIndex-g.startIndex;x(Math.min(n+e,t.length-1),!0,"start"),s=!0}else if(e.code===Ew&&g&&void 0!==n){const e=g.endIndex-g.startIndex;x(Math.max(n-e,0),!1,"start"),s=!0}s?(e.stopPropagation(),e.preventDefault()):a?.(e)}else a?.(e)},[A,x,p,f,g,t,a]),C=(0,s.useCallback)(e=>{m.current=e},[]),k=(0,s.useCallback)((e,t)=>{const n=i(e);w(!0),h(n),t.stopPropagation()},[i]),R=(0,s.useCallback)((e,t,s)=>n(e,t,s,k),[n,k]),I=(0,s.useCallback)(e=>{if(e?.currentTarget!==m.current||"string"!=typeof p)return;w(!0);const t=f.get(p);void 0!==t&&g&&(t<g.startIndex||t>g.endIndex)&&A(t),e?.stopPropagation(),e?.preventDefault()},[f,g,A,p]),P=(0,s.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||w(!1)},[]),T=(0,s.useMemo)(()=>({tabIndexKey:p,focused:b,context:e.context||{}}),[p,b,e.context]),O=(0,s.useCallback)(e=>{v(e),c?.(e)},[c]);return s.createElement(E.aY,{ref:u,scrollerRef:C,onKeyDown:S,context:T,rangeChanged:O,overscan:e.overscan||0,data:e.items,totalCount:l,onFocus:I,onBlur:P,itemContent:R,...d})}function Sw({vm:e,renderAvatar:t,onKeyDown:n}){const o=I(e),{roomListState:i,roomIds:r}=o,a=i.activeRoomIndex,l=(0,s.useRef)(void 0),c=(0,s.useRef)(void 0),d=r.length,u=(0,s.useCallback)(t=>{e.updateVisibleRooms(t.startIndex,t.endIndex)},[e]),m=(0,s.useCallback)((n,o,i,r)=>{const l=a===n,c=e.getRoomItemViewModel(o),u=i.focused&&i.tabIndexKey===o;return s.createElement(fw,{key:o,vm:c,renderAvatar:t,isSelected:l,isFocused:u,onFocus:r,roomIndex:n,roomCount:d})},[a,d,t,e]),p=(0,s.useCallback)(e=>e,[]),h=(0,s.useMemo)(()=>({spaceId:i.spaceId||"",filterKeys:i.filterKeys}),[i.spaceId,i.filterKeys]),g=(0,s.useCallback)(e=>{const{spaceId:t,filterKeys:n}=e.context.context,s=l.current!==t||!function(e,t){return nh(e,t)}(c.current,n);return c.current=n,l.current=t,!!s&&{align:"start",index:a||0,behavior:"auto"}},[a]);return s.createElement(xw,{context:h,scrollIntoViewOnChange:g,initialTopMostItemIndex:a,"data-testid":"room-list",role:"listbox","aria-label":m_("room_list|list_title"),fixedItemHeight:52,items:r,getItemComponent:m,getItemKey:p,isItemFocusable:()=>!0,rangeChanged:u,onKeyDown:n,increaseViewportBy:{bottom:1300,top:1300}})}const Cw=({vm:e,renderAvatar:t,onKeyDown:n})=>{const o=I(e);let i;return i=o.isLoadingRooms?s.createElement(Jb,null):o.isRoomListEmpty?s.createElement(Qb,{vm:e}):s.createElement(Sw,{vm:e,renderAvatar:t,onKeyDown:n}),s.createElement(s.Fragment,null,s.createElement("div",null,s.createElement(Kb,{filterIds:o.filterIds,activeFilterId:o.activeFilterId,onToggleFilter:e.onToggleFilter})),i)},kw="_box-flex_1odfs_9",Rw="_box-shrink_1odfs_13",Iw="_box-grow_1odfs_17";function Pw({as:e="div",flex:t=null,shrink:n=null,grow:o=null,className:i,children:r,...a}){const l=(0,s.useMemo)(()=>{const e={};return t&&(e["--mx-box-flex"]=t),n&&(e["--mx-box-shrink"]=n),o&&(e["--mx-box-grow"]=o),e},[t,o,n]);return s.createElement(e,{...a,className:D(i,{[kw]:!!t,[Rw]:!!n,[Iw]:!!o}),style:l},r)}const Tw=({vm:e})=>{const{translate:t}=oe(),{showStreamAudioStreamButton:n,showEditButton:o,showSnapshotButton:i,showDeleteButton:r,showRevokeButton:a,showMoveButtons:d,isMenuOpened:u,userWidget:m,trigger:p}=I(e);let h,g,v,_,y;n&&(h=s.createElement(c.D,{onSelect:e.onStreamAudioClick,label:t("widget|context_menu|start_audio_stream")})),o&&(g=s.createElement(c.D,{onSelect:e.onEditClick,label:t("action|edit")})),i&&(v=s.createElement(c.D,{onSelect:e.onSnapshotClick,label:t("widget|context_menu|screenshot")})),r&&(_=s.createElement(c.D,{onSelect:e.onDeleteClick,label:t(m?"action|remove":"widget|context_menu|remove")})),a&&(y=s.createElement(c.D,{onSelect:e.onRevokeClick,label:t("widget|context_menu|revoke")}));const[b,w]=d;let E,A;b&&(E=s.createElement(c.D,{onSelect:()=>e.onMoveButton(-1),label:t("widget|context_menu|move_left")})),w&&(A=s.createElement(c.D,{onSelect:()=>e.onMoveButton(1),label:t("widget|context_menu|move_right")}));const x=s.isValidElement(p)?p:s.createElement(f.K,{size:"24px","aria-label":"context menu trigger button",inert:!0,tabIndex:-1},s.createElement(by,null));return s.createElement(l.W,{title:"Widget context menu",open:u,showTitle:!1,side:"right",align:"start",trigger:x,onOpenChange:e.onFinished},u?s.createElement(s.Fragment,null,h,g,y,_,v,E,A):null)};function Ow(e,t){let n=Date.now()-e;const s=Math.abs(Math.ceil(n/6e4)),o=Math.ceil(s/60),i=Math.ceil(o/24),r=t?.translate??m_;return n>=0?n<=15e3?r("time|few_seconds_ago"):n<=75e3?r("time|about_minute_ago"):s<=45?r("time|n_minutes_ago",{num:s}):s<=75?r("time|about_hour_ago"):o<=23?r("time|n_hours_ago",{num:o}):o<=26?r("time|about_day_ago"):r("time|n_days_ago",{num:i}):(n=Math.abs(n),n<=15e3?r("time|in_few_seconds"):n<=75e3?r("time|in_about_minute"):s<=45?r("time|in_n_minutes",{num:s}):s<=75?r("time|in_about_hour"):o<=23?r("time|in_n_hours",{num:o}):o<=26?r("time|in_about_day"):r("time|in_n_days",{num:i}))}function Mw(e,t){return Number.isFinite(e)?Number(e):t}function Nw(e,t,n){return Math.min(Math.max(e,t),n)}function jw(...e){return[...e].reduce((e,t)=>t+e,0)}function Dw(e,t,n){return e*(n-t)+t}function Uw(e,t,n){const s=(e-t)/(n-t);return Number.isNaN(s)?0:s}class Fw{get language(){return r_()}register(e){const t={};for(const n in e)for(const s in e[n])t[s]=t[s]||{},t[s][n]=e[n][s];for(const e in t)i_(e,t[e])}translate(e,t){return m_(e,t)}humanizeTime(e){return Ow(e,this)}}}}]); 2 //# sourceMappingURL=init.js.map